aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS2
-rw-r--r--Makefile.common3
-rw-r--r--NEWS10
-rw-r--r--audio/audiostream.cpp4
-rw-r--r--audio/audiostream.h4
-rw-r--r--audio/decoders/adpcm.cpp76
-rw-r--r--audio/decoders/adpcm.h6
-rw-r--r--audio/decoders/adpcm_intern.h31
-rw-r--r--audio/decoders/aiff.cpp4
-rw-r--r--audio/decoders/aiff.h4
-rw-r--r--audio/decoders/flac.cpp1
-rw-r--r--audio/decoders/flac.h3
-rw-r--r--audio/decoders/iff_sound.cpp1
-rw-r--r--audio/decoders/iff_sound.h2
-rw-r--r--audio/decoders/mac_snd.cpp3
-rw-r--r--audio/decoders/mac_snd.h4
-rw-r--r--audio/decoders/mp3.cpp1
-rw-r--r--audio/decoders/mp3.h3
-rw-r--r--audio/decoders/raw.cpp3
-rw-r--r--audio/decoders/raw.h6
-rw-r--r--audio/decoders/vag.h3
-rw-r--r--audio/decoders/voc.cpp2
-rw-r--r--audio/decoders/voc.h6
-rw-r--r--audio/decoders/vorbis.cpp6
-rw-r--r--audio/decoders/vorbis.h3
-rw-r--r--audio/decoders/wave.cpp3
-rw-r--r--audio/decoders/wave.h4
-rw-r--r--audio/fmopl.cpp1
-rw-r--r--audio/mididrv.cpp4
-rw-r--r--audio/mididrv.h7
-rw-r--r--audio/midiparser.cpp1
-rw-r--r--audio/midiparser.h1
-rw-r--r--audio/midiparser_smf.cpp2
-rw-r--r--audio/midiparser_xmidi.cpp2
-rw-r--r--audio/mixer.cpp57
-rw-r--r--audio/mixer.h23
-rw-r--r--audio/mixer_intern.h12
-rw-r--r--audio/mods/infogrames.cpp1
-rw-r--r--audio/mods/infogrames.h5
-rw-r--r--audio/mods/maxtrax.cpp2
-rw-r--r--audio/mods/module.cpp2
-rw-r--r--audio/mods/module.h6
-rw-r--r--audio/mods/protracker.cpp2
-rw-r--r--audio/mods/protracker.h4
-rw-r--r--audio/mods/rjp1.cpp4
-rw-r--r--audio/mods/rjp1.h4
-rw-r--r--audio/mods/soundfx.cpp3
-rw-r--r--audio/mods/soundfx.h4
-rw-r--r--audio/mods/tfmx.cpp2
-rw-r--r--audio/mpu401.h2
-rw-r--r--audio/musicplugin.h4
-rw-r--r--audio/null.cpp1
-rw-r--r--audio/rate.cpp1
-rw-r--r--audio/rate.h6
-rw-r--r--audio/rate_arm.cpp3
-rw-r--r--audio/softsynth/adlib.cpp5
-rw-r--r--audio/softsynth/eas.cpp3
-rw-r--r--audio/softsynth/fluidsynth.cpp3
-rw-r--r--audio/softsynth/fmtowns_pc98/towns_audio.cpp1
-rw-r--r--audio/softsynth/fmtowns_pc98/towns_euphony.cpp13
-rw-r--r--audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp1
-rw-r--r--audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp2
-rw-r--r--audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h2
-rw-r--r--audio/softsynth/mt32.cpp5
-rw-r--r--audio/softsynth/mt32/part.h1
-rw-r--r--audio/softsynth/mt32/synth.cpp2
-rw-r--r--audio/softsynth/mt32/synth.h1
-rw-r--r--audio/softsynth/opl/dosbox.cpp1
-rw-r--r--audio/softsynth/opl/mame.cpp3
-rw-r--r--audio/softsynth/opl/mame.h1
-rw-r--r--audio/softsynth/pcspk.h1
-rw-r--r--audio/softsynth/sid.cpp1
-rw-r--r--audio/softsynth/ym2612.cpp4
-rw-r--r--backends/audiocd/sdl/sdl-audiocd.cpp1
-rw-r--r--backends/events/default/default-events.h4
-rw-r--r--backends/events/sdl/sdl-events.cpp1
-rw-r--r--backends/events/webossdl/webossdl-events.cpp1
-rw-r--r--backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp1
-rw-r--r--backends/graphics/gph/gph-graphics.cpp1
-rw-r--r--backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp1
-rw-r--r--backends/graphics/opengl/gltexture.h3
-rw-r--r--backends/graphics/opengl/opengl-graphics.cpp1
-rw-r--r--backends/graphics/opengl/opengl-graphics.h2
-rw-r--r--backends/graphics/openglsdl/openglsdl-graphics.cpp1
-rw-r--r--backends/graphics/openpandora/op-graphics.cpp1
-rw-r--r--backends/graphics/sdl/sdl-graphics.cpp1
-rw-r--r--backends/graphics/sdl/sdl-graphics.h1
-rw-r--r--backends/graphics/wincesdl/wincesdl-graphics.cpp1
-rw-r--r--backends/keymapper/hardware-key.h1
-rw-r--r--backends/keymapper/remap-dialog.cpp1
-rw-r--r--backends/keymapper/remap-dialog.h6
-rw-r--r--backends/midi/alsa.cpp2
-rw-r--r--backends/midi/camd.cpp6
-rw-r--r--backends/midi/coreaudio.cpp2
-rw-r--r--backends/midi/coremidi.cpp2
-rw-r--r--backends/midi/seq.cpp2
-rw-r--r--backends/midi/timidity.cpp4
-rw-r--r--backends/midi/windows.cpp2
-rw-r--r--backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp2
-rw-r--r--backends/mixer/sdl/sdl-mixer.cpp2
-rw-r--r--backends/mixer/wincesdl/wincesdl-mixer.cpp5
-rw-r--r--backends/modular-backend.cpp10
-rw-r--r--backends/module.mk5
-rw-r--r--backends/platform/android/android.cpp1
-rw-r--r--backends/platform/android/android.h1
-rw-r--r--backends/platform/android/asset-archive.cpp1
-rw-r--r--backends/platform/android/jni.cpp2
-rw-r--r--backends/platform/dc/Makefile2
-rw-r--r--backends/platform/dc/dc.h18
-rw-r--r--backends/platform/dc/dcmain.cpp3
-rw-r--r--backends/platform/dc/dreamcast.mk4
-rw-r--r--backends/platform/dc/module.mk2
-rw-r--r--backends/platform/dc/plugins.cpp (renamed from backends/plugins/dc/dc-provider.cpp)47
-rw-r--r--backends/platform/ds/arm9/source/osystem_ds.h1
-rw-r--r--backends/platform/gph/gph-backend.cpp22
-rw-r--r--backends/platform/gph/gph-sdl.h1
-rw-r--r--backends/platform/iphone/osys_main.h1
-rw-r--r--backends/platform/n64/osys_n64.h1
-rw-r--r--backends/platform/openpandora/op-backend.cpp17
-rw-r--r--backends/platform/openpandora/op-sdl.h1
-rw-r--r--backends/platform/ps2/Gs2dScreen.h2
-rw-r--r--backends/platform/ps2/ps2input.h4
-rw-r--r--backends/platform/ps2/systemps2.h5
-rw-r--r--backends/platform/psp/README.PSP2
-rw-r--r--backends/platform/psp/mp3.cpp1
-rw-r--r--backends/platform/psp/mp3.h2
-rw-r--r--backends/platform/psp/osys_psp.h1
-rw-r--r--backends/platform/sdl/sdl.cpp15
-rw-r--r--backends/platform/sdl/win32/win32.cpp2
-rw-r--r--backends/platform/symbian/AdaptAllMMPs.pl5
-rw-r--r--backends/platform/symbian/BuildPackageUpload_LocalSettings.pl9
-rw-r--r--backends/platform/symbian/mmp/scummvm_base.mmp.in4
-rw-r--r--backends/platform/symbian/mmp/scummvm_tsage.mmp.in64
-rw-r--r--backends/platform/symbian/src/portdefs.h5
-rw-r--r--backends/platform/symbian/src/vsnprintf.h805
-rw-r--r--backends/platform/webos/webos.mk79
-rw-r--r--backends/platform/wii/osystem.cpp1
-rw-r--r--backends/platform/wii/osystem.h1
-rw-r--r--backends/platform/wince/wince-sdl.cpp1
-rw-r--r--backends/plugins/dynamic-plugin.h1
-rw-r--r--backends/plugins/elf/memory-manager.cpp1
-rw-r--r--backends/saves/default/default-saves.cpp8
-rw-r--r--backends/saves/posix/posix-saves.cpp1
-rw-r--r--backends/saves/savefile.cpp4
-rw-r--r--backends/timer/default/default-timer.h2
-rw-r--r--backends/timer/sdl/sdl-timer.cpp2
-rw-r--r--backends/vkeybd/image-map.cpp2
-rw-r--r--backends/vkeybd/virtual-keyboard.cpp1
-rw-r--r--base/commandLine.cpp32
-rw-r--r--base/commandLine.h12
-rw-r--r--base/internal_revision.h.in6
-rw-r--r--base/internal_version.h8
-rw-r--r--base/internal_version.h.in6
-rw-r--r--base/main.cpp37
-rw-r--r--base/plugins.h10
-rw-r--r--common/EventRecorder.cpp1
-rw-r--r--common/archive.cpp2
-rw-r--r--common/archive.h1
-rw-r--r--common/bufferedstream.h1
-rw-r--r--common/config-file.cpp2
-rw-r--r--common/config-file.h6
-rw-r--r--common/config-manager.cpp3
-rw-r--r--common/dcl.cpp4
-rw-r--r--common/debug.cpp2
-rw-r--r--common/error.cpp89
-rw-r--r--common/error.h58
-rw-r--r--common/file.cpp3
-rw-r--r--common/file.h2
-rw-r--r--common/fs.cpp2
-rw-r--r--common/fs.h2
-rw-r--r--common/hashmap.h2
-rw-r--r--common/iff_container.h2
-rw-r--r--common/macresman.cpp7
-rw-r--r--common/macresman.h5
-rw-r--r--common/md5.cpp4
-rw-r--r--common/md5.h2
-rw-r--r--common/memstream.h1
-rw-r--r--common/stream.cpp3
-rw-r--r--common/stream.h4
-rw-r--r--common/substream.h3
-rw-r--r--common/system.cpp1
-rw-r--r--common/system.h26
-rw-r--r--common/textconsole.cpp1
-rw-r--r--common/translation.cpp2
-rw-r--r--common/translation.h4
-rw-r--r--common/unarj.cpp2
-rw-r--r--common/unarj.h3
-rw-r--r--common/unzip.cpp36
-rw-r--r--common/unzip.h3
-rw-r--r--common/util.cpp2
-rw-r--r--common/util.h1
-rw-r--r--common/winexe.h3
-rw-r--r--common/winexe_ne.h5
-rw-r--r--common/winexe_pe.cpp5
-rw-r--r--common/winexe_pe.h5
-rw-r--r--common/xmlparser.cpp1
-rw-r--r--common/xmlparser.h2
-rwxr-xr-xconfigure115
-rw-r--r--devtools/create_drascula/staticdata.h2
-rw-r--r--devtools/create_project/codeblocks.cpp47
-rw-r--r--devtools/create_project/codeblocks/create_project.cbp1
-rw-r--r--devtools/create_project/config.h (renamed from backends/plugins/dc/dc-provider.h)28
-rw-r--r--devtools/create_project/create_project.cpp149
-rw-r--r--devtools/create_project/create_project.h38
-rw-r--r--devtools/create_project/msbuild.cpp227
-rw-r--r--devtools/create_project/msbuild.h5
-rw-r--r--devtools/create_project/msvc.cpp30
-rw-r--r--devtools/create_project/msvc.h3
-rw-r--r--devtools/create_project/msvc10/create_project.vcxproj1
-rw-r--r--devtools/create_project/msvc10/create_project.vcxproj.filters3
-rw-r--r--devtools/create_project/msvc8/create_project.vcproj4
-rw-r--r--devtools/create_project/msvc9/create_project.vcproj4
-rw-r--r--devtools/create_project/scripts/postbuild.cmd14
-rw-r--r--devtools/create_project/scripts/prebuild.cmd16
-rw-r--r--devtools/create_project/scripts/revision.vbs69
-rw-r--r--devtools/create_project/visualstudio.cpp125
-rw-r--r--devtools/create_project/visualstudio.h6
-rwxr-xr-xdevtools/credits.pl4
-rw-r--r--dists/android/AndroidManifest.xml2
-rw-r--r--dists/android/plugin-manifest.xml2
-rw-r--r--dists/engine-data/drascula.datbin218799 -> 218771 bytes
-rw-r--r--dists/iphone/Info.plist4
-rw-r--r--dists/irix/scummvm.spec2
-rw-r--r--dists/macosx/Info.plist6
-rw-r--r--dists/redhat/scummvm-tools.spec2
-rw-r--r--dists/redhat/scummvm.spec2
-rw-r--r--dists/scummvm.rc8
-rwxr-xr-xdists/slackware/scummvm.SlackBuild2
-rw-r--r--dists/webos/mojo/appinfo.json6
-rw-r--r--dists/wii/meta.xml2
-rw-r--r--dists/win32/ScummVM.iss82
-rw-r--r--engines/advancedDetector.cpp3
-rw-r--r--engines/advancedDetector.h12
-rw-r--r--engines/agi/agi.cpp1
-rw-r--r--engines/agi/agi.h10
-rw-r--r--engines/agi/detection.cpp1
-rw-r--r--engines/agi/graphics.cpp3
-rw-r--r--engines/agi/inv.cpp2
-rw-r--r--engines/agi/keyboard.cpp4
-rw-r--r--engines/agi/loader_v2.cpp2
-rw-r--r--engines/agi/loader_v3.cpp1
-rw-r--r--engines/agi/lzw.cpp2
-rw-r--r--engines/agi/objects.cpp2
-rw-r--r--engines/agi/op_cmd.cpp1
-rw-r--r--engines/agi/picture.cpp2
-rw-r--r--engines/agi/preagi.cpp1
-rw-r--r--engines/agi/preagi_mickey.cpp1
-rw-r--r--engines/agi/preagi_troll.cpp1
-rw-r--r--engines/agi/preagi_winnie.cpp1
-rw-r--r--engines/agi/predictive.cpp1
-rw-r--r--engines/agi/saveload.cpp1
-rw-r--r--engines/agi/sound.cpp2
-rw-r--r--engines/agi/sound_2gs.cpp1
-rw-r--r--engines/agi/sound_midi.cpp1
-rw-r--r--engines/agi/sound_sarien.cpp4
-rw-r--r--engines/agi/wagparser.cpp1
-rw-r--r--engines/agi/words.cpp2
-rw-r--r--engines/agos/agos.cpp4
-rw-r--r--engines/agos/agos.h3
-rw-r--r--engines/agos/animation.cpp2
-rw-r--r--engines/agos/charset-fontdata.cpp1
-rw-r--r--engines/agos/debug.cpp1
-rw-r--r--engines/agos/detection.cpp1
-rw-r--r--engines/agos/draw.cpp1
-rw-r--r--engines/agos/event.cpp1
-rw-r--r--engines/agos/gfx.cpp1
-rw-r--r--engines/agos/icons.cpp4
-rw-r--r--engines/agos/items.cpp1
-rw-r--r--engines/agos/menus.cpp1
-rw-r--r--engines/agos/midi.cpp1
-rw-r--r--engines/agos/midi.h2
-rw-r--r--engines/agos/midiparser_s1d.cpp1
-rw-r--r--engines/agos/res.cpp1
-rw-r--r--engines/agos/res_snd.cpp1
-rw-r--r--engines/agos/rooms.cpp1
-rw-r--r--engines/agos/saveload.cpp1
-rw-r--r--engines/agos/script.cpp1
-rw-r--r--engines/agos/script_pn.cpp2
-rw-r--r--engines/agos/script_s1.cpp2
-rw-r--r--engines/agos/script_s2.cpp2
-rw-r--r--engines/agos/sound.cpp1
-rw-r--r--engines/agos/string.cpp1
-rw-r--r--engines/agos/string_pn.cpp2
-rw-r--r--engines/agos/subroutine.cpp1
-rw-r--r--engines/agos/vga.cpp1
-rw-r--r--engines/agos/vga_e2.cpp1
-rw-r--r--engines/agos/vga_ww.cpp1
-rw-r--r--engines/agos/window.cpp1
-rw-r--r--engines/cine/anim.cpp1
-rw-r--r--engines/cine/bg.cpp1
-rw-r--r--engines/cine/cine.cpp4
-rw-r--r--engines/cine/detection.cpp1
-rw-r--r--engines/cine/gfx.cpp3
-rw-r--r--engines/cine/msg.cpp1
-rw-r--r--engines/cine/pal.cpp3
-rw-r--r--engines/cine/part.cpp1
-rw-r--r--engines/cine/saveload.cpp1
-rw-r--r--engines/cine/script_fw.cpp1
-rw-r--r--engines/cine/script_os.cpp1
-rw-r--r--engines/cine/sound.cpp2
-rw-r--r--engines/cine/sound.h2
-rw-r--r--engines/cine/texte.cpp4
-rw-r--r--engines/cine/various.cpp1
-rw-r--r--engines/cruise/actor.cpp2
-rw-r--r--engines/cruise/background.cpp2
-rw-r--r--engines/cruise/cruise.cpp5
-rw-r--r--engines/cruise/cruise.h1
-rw-r--r--engines/cruise/cruise_main.cpp1
-rw-r--r--engines/cruise/dataLoader.cpp1
-rw-r--r--engines/cruise/detection.cpp1
-rw-r--r--engines/cruise/function.cpp2
-rw-r--r--engines/cruise/gfxModule.cpp2
-rw-r--r--engines/cruise/menu.cpp1
-rw-r--r--engines/cruise/object.cpp2
-rw-r--r--engines/cruise/overlay.cpp1
-rw-r--r--engines/cruise/saveload.cpp1
-rw-r--r--engines/cruise/script.cpp1
-rw-r--r--engines/cruise/sound.cpp2
-rw-r--r--engines/dialogs.cpp12
-rw-r--r--engines/dialogs.h8
-rw-r--r--engines/draci/animation.cpp1
-rw-r--r--engines/draci/game.h2
-rw-r--r--engines/draci/mouse.cpp2
-rw-r--r--engines/draci/music.cpp1
-rw-r--r--engines/draci/screen.cpp2
-rw-r--r--engines/draci/script.h2
-rw-r--r--engines/draci/sound.cpp10
-rw-r--r--engines/draci/surface.h1
-rw-r--r--engines/drascula/converse.cpp2
-rw-r--r--engines/drascula/drascula.cpp1
-rw-r--r--engines/drascula/graphics.cpp3
-rw-r--r--engines/drascula/objects.cpp2
-rw-r--r--engines/drascula/palette.cpp2
-rw-r--r--engines/drascula/rooms.cpp4
-rw-r--r--engines/drascula/saveload.cpp2
-rw-r--r--engines/drascula/sound.cpp1
-rw-r--r--engines/engine.cpp25
-rw-r--r--engines/engine.h14
-rw-r--r--engines/game.cpp1
-rw-r--r--engines/game.h2
-rw-r--r--engines/gob/databases.cpp1
-rw-r--r--engines/gob/dataio.h2
-rw-r--r--engines/gob/gob.cpp3
-rw-r--r--engines/gob/gob.h4
-rw-r--r--engines/gob/inter_v1.cpp2
-rw-r--r--engines/gob/inter_v4.cpp2
-rw-r--r--engines/gob/inter_v5.cpp3
-rw-r--r--engines/gob/inter_v6.cpp2
-rw-r--r--engines/gob/resources.h2
-rw-r--r--engines/gob/save/savefile.cpp2
-rw-r--r--engines/gob/save/saveload.cpp3
-rw-r--r--engines/gob/sound/adlib.cpp2
-rw-r--r--engines/gob/sound/bgatmosphere.cpp2
-rw-r--r--engines/gob/sound/cdrom.cpp1
-rw-r--r--engines/gob/sound/infogrames.cpp2
-rw-r--r--engines/gob/sound/sounddesc.cpp2
-rw-r--r--engines/gob/sound/soundmixer.cpp2
-rw-r--r--engines/gob/surface.cpp2
-rw-r--r--engines/gob/surface.h2
-rw-r--r--engines/gob/totfile.h2
-rw-r--r--engines/gob/util.cpp2
-rw-r--r--engines/gob/video.cpp1
-rw-r--r--engines/groovie/cursor.cpp3
-rw-r--r--engines/groovie/cursor.h2
-rw-r--r--engines/groovie/debug.cpp2
-rw-r--r--engines/groovie/font.cpp4
-rw-r--r--engines/groovie/graphics.cpp4
-rw-r--r--engines/groovie/groovie.cpp2
-rw-r--r--engines/groovie/groovie.h2
-rw-r--r--engines/groovie/music.cpp3
-rw-r--r--engines/groovie/player.cpp2
-rw-r--r--engines/groovie/resource.cpp3
-rw-r--r--engines/groovie/resource.h2
-rw-r--r--engines/groovie/roq.cpp4
-rw-r--r--engines/groovie/script.cpp10
-rw-r--r--engines/groovie/vdx.cpp3
-rw-r--r--engines/groovie/vdx.h2
-rw-r--r--engines/hugo/detection.cpp1
-rw-r--r--engines/hugo/dialogs.cpp3
-rw-r--r--engines/hugo/display.cpp6
-rw-r--r--engines/hugo/file.cpp12
-rw-r--r--engines/hugo/file_v1d.cpp2
-rw-r--r--engines/hugo/file_v1w.cpp2
-rw-r--r--engines/hugo/file_v2d.cpp10
-rw-r--r--engines/hugo/file_v3d.cpp2
-rw-r--r--engines/hugo/hugo.cpp16
-rw-r--r--engines/hugo/hugo.h4
-rw-r--r--engines/hugo/intro.cpp1
-rw-r--r--engines/hugo/inventory.cpp1
-rw-r--r--engines/hugo/mouse.cpp2
-rw-r--r--engines/hugo/object.cpp3
-rw-r--r--engines/hugo/object_v1d.cpp1
-rw-r--r--engines/hugo/object_v1w.cpp1
-rw-r--r--engines/hugo/object_v2d.cpp1
-rw-r--r--engines/hugo/object_v3d.cpp1
-rw-r--r--engines/hugo/parser.cpp11
-rw-r--r--engines/hugo/parser.h5
-rw-r--r--engines/hugo/parser_v1d.cpp1
-rw-r--r--engines/hugo/parser_v1w.cpp3
-rw-r--r--engines/hugo/parser_v2d.cpp3
-rw-r--r--engines/hugo/parser_v3d.cpp3
-rw-r--r--engines/hugo/route.cpp1
-rw-r--r--engines/hugo/schedule.cpp6
-rw-r--r--engines/hugo/sound.cpp2
-rw-r--r--engines/kyra/animator_hof.cpp2
-rw-r--r--engines/kyra/animator_lok.cpp5
-rw-r--r--engines/kyra/animator_mr.cpp2
-rw-r--r--engines/kyra/animator_tim.cpp5
-rw-r--r--engines/kyra/animator_v2.cpp3
-rw-r--r--engines/kyra/debugger.cpp7
-rw-r--r--engines/kyra/detection.cpp6
-rw-r--r--engines/kyra/gui.cpp2
-rw-r--r--engines/kyra/gui_hof.cpp8
-rw-r--r--engines/kyra/gui_lok.cpp9
-rw-r--r--engines/kyra/gui_lok.h1
-rw-r--r--engines/kyra/gui_lol.cpp4
-rw-r--r--engines/kyra/gui_mr.cpp5
-rw-r--r--engines/kyra/gui_v2.cpp2
-rw-r--r--engines/kyra/items_hof.cpp2
-rw-r--r--engines/kyra/items_lok.cpp8
-rw-r--r--engines/kyra/items_mr.cpp2
-rw-r--r--engines/kyra/kyra_hof.cpp7
-rw-r--r--engines/kyra/kyra_lok.cpp21
-rw-r--r--engines/kyra/kyra_lok.h4
-rw-r--r--engines/kyra/kyra_mr.cpp5
-rw-r--r--engines/kyra/kyra_v1.cpp15
-rw-r--r--engines/kyra/kyra_v1.h9
-rw-r--r--engines/kyra/kyra_v2.cpp7
-rw-r--r--engines/kyra/lol.cpp14
-rw-r--r--engines/kyra/lol.h5
-rw-r--r--engines/kyra/resource.cpp4
-rw-r--r--engines/kyra/saveload.cpp12
-rw-r--r--engines/kyra/saveload_hof.cpp12
-rw-r--r--engines/kyra/saveload_lok.cpp7
-rw-r--r--engines/kyra/saveload_lol.cpp3
-rw-r--r--engines/kyra/scene_hof.cpp4
-rw-r--r--engines/kyra/scene_lok.cpp6
-rw-r--r--engines/kyra/scene_lol.cpp2
-rw-r--r--engines/kyra/scene_mr.cpp3
-rw-r--r--engines/kyra/scene_v1.cpp1
-rw-r--r--engines/kyra/scene_v2.cpp3
-rw-r--r--engines/kyra/screen.cpp8
-rw-r--r--engines/kyra/screen_hof.cpp4
-rw-r--r--engines/kyra/screen_lok.cpp6
-rw-r--r--engines/kyra/screen_lol.cpp5
-rw-r--r--engines/kyra/screen_mr.cpp1
-rw-r--r--engines/kyra/script.cpp10
-rw-r--r--engines/kyra/script_hof.cpp7
-rw-r--r--engines/kyra/script_lok.cpp7
-rw-r--r--engines/kyra/script_lol.cpp3
-rw-r--r--engines/kyra/script_mr.cpp6
-rw-r--r--engines/kyra/script_tim.cpp4
-rw-r--r--engines/kyra/script_tim.h1
-rw-r--r--engines/kyra/script_v1.cpp2
-rw-r--r--engines/kyra/script_v2.cpp2
-rw-r--r--engines/kyra/seqplayer.cpp11
-rw-r--r--engines/kyra/sequences_hof.cpp6
-rw-r--r--engines/kyra/sequences_lok.cpp4
-rw-r--r--engines/kyra/sequences_lol.cpp3
-rw-r--r--engines/kyra/sequences_v2.cpp2
-rw-r--r--engines/kyra/sound.cpp7
-rw-r--r--engines/kyra/sound_adlib.cpp5
-rw-r--r--engines/kyra/sound_amiga.cpp5
-rw-r--r--engines/kyra/sound_lok.cpp4
-rw-r--r--engines/kyra/sound_lol.cpp4
-rw-r--r--engines/kyra/sound_towns.cpp9
-rw-r--r--engines/kyra/sprites.cpp12
-rw-r--r--engines/kyra/staticres.cpp9
-rw-r--r--engines/kyra/text.cpp6
-rw-r--r--engines/kyra/text_hof.cpp4
-rw-r--r--engines/kyra/text_lok.cpp5
-rw-r--r--engines/kyra/text_lol.cpp5
-rw-r--r--engines/kyra/text_lol.h4
-rw-r--r--engines/kyra/text_mr.cpp3
-rw-r--r--engines/kyra/timer.cpp4
-rw-r--r--engines/kyra/timer_lok.cpp4
-rw-r--r--engines/kyra/timer_lol.cpp3
-rw-r--r--engines/kyra/timer_mr.cpp2
-rw-r--r--engines/kyra/vqa.cpp6
-rw-r--r--engines/kyra/wsamovie.cpp11
-rw-r--r--engines/kyra/wsamovie.h4
-rw-r--r--engines/lastexpress/data/animation.cpp3
-rw-r--r--engines/lastexpress/data/archive.h3
-rw-r--r--engines/lastexpress/data/background.cpp1
-rw-r--r--engines/lastexpress/data/font.cpp2
-rw-r--r--engines/lastexpress/data/font.h2
-rw-r--r--engines/lastexpress/data/scene.cpp1
-rw-r--r--engines/lastexpress/data/scene.h6
-rw-r--r--engines/lastexpress/data/sequence.cpp1
-rw-r--r--engines/lastexpress/data/sequence.h2
-rw-r--r--engines/lastexpress/data/snd.cpp40
-rw-r--r--engines/lastexpress/data/snd.h4
-rw-r--r--engines/lastexpress/data/subtitle.cpp2
-rw-r--r--engines/lastexpress/entities/entity.h1
-rw-r--r--engines/lastexpress/game/state.h2
-rw-r--r--engines/lastexpress/graphics.cpp2
-rw-r--r--engines/lastexpress/resource.cpp1
-rw-r--r--engines/lure/disk.h2
-rw-r--r--engines/lure/lure.h2
-rw-r--r--engines/lure/memory.cpp1
-rw-r--r--engines/lure/menu.cpp2
-rw-r--r--engines/lure/res_struct.h2
-rw-r--r--engines/lure/screen.cpp2
-rw-r--r--engines/lure/sound.h1
-rw-r--r--engines/m4/actor.cpp1
-rw-r--r--engines/m4/animation.cpp2
-rw-r--r--engines/m4/compression.cpp1
-rw-r--r--engines/m4/console.cpp2
-rw-r--r--engines/m4/converse.cpp1
-rw-r--r--engines/m4/dialogs.cpp1
-rw-r--r--engines/m4/globals.cpp2
-rw-r--r--engines/m4/graphics.cpp5
-rw-r--r--engines/m4/gui.cpp1
-rw-r--r--engines/m4/m4.cpp7
-rw-r--r--engines/m4/m4_menus.cpp1
-rw-r--r--engines/m4/m4_scene.cpp1
-rw-r--r--engines/m4/m4_views.cpp2
-rw-r--r--engines/m4/mads_anim.cpp2
-rw-r--r--engines/m4/mads_logic.cpp2
-rw-r--r--engines/m4/mads_menus.cpp2
-rw-r--r--engines/m4/mads_scene.cpp1
-rw-r--r--engines/m4/mads_views.cpp1
-rw-r--r--engines/m4/midi.cpp1
-rw-r--r--engines/m4/resource.cpp1
-rw-r--r--engines/m4/script.cpp1
-rw-r--r--engines/m4/sound.cpp1
-rw-r--r--engines/m4/sprite.cpp1
-rw-r--r--engines/m4/woodscript.cpp1
-rw-r--r--engines/made/database.cpp1
-rw-r--r--engines/made/graphics.cpp2
-rw-r--r--engines/made/made.cpp2
-rw-r--r--engines/made/music.cpp2
-rw-r--r--engines/made/redreader.cpp1
-rw-r--r--engines/made/resource.cpp1
-rw-r--r--engines/made/resource.h1
-rw-r--r--engines/made/screen.cpp2
-rw-r--r--engines/made/script.h1
-rw-r--r--engines/made/scriptfuncs.cpp2
-rw-r--r--engines/made/scriptfuncs.h2
-rw-r--r--engines/metaengine.h4
-rw-r--r--engines/mohawk/bitmap.cpp8
-rw-r--r--engines/mohawk/console.cpp3
-rw-r--r--engines/mohawk/cstime.cpp5
-rw-r--r--engines/mohawk/cstime_cases.cpp2
-rw-r--r--engines/mohawk/cstime_game.cpp2
-rw-r--r--engines/mohawk/cstime_ui.cpp2
-rw-r--r--engines/mohawk/cstime_view.cpp2
-rw-r--r--engines/mohawk/cursors.h10
-rw-r--r--engines/mohawk/detection.cpp5
-rw-r--r--engines/mohawk/detection_tables.h82
-rw-r--r--engines/mohawk/dialogs.cpp4
-rw-r--r--engines/mohawk/graphics.cpp3
-rw-r--r--engines/mohawk/graphics.h2
-rw-r--r--engines/mohawk/installer_archive.cpp2
-rw-r--r--engines/mohawk/installer_archive.h2
-rw-r--r--engines/mohawk/livingbooks.cpp8
-rw-r--r--engines/mohawk/livingbooks_code.cpp3
-rw-r--r--engines/mohawk/mohawk.cpp10
-rw-r--r--engines/mohawk/mohawk.h2
-rw-r--r--engines/mohawk/myst.cpp2
-rw-r--r--engines/mohawk/myst_areas.cpp4
-rw-r--r--engines/mohawk/myst_scripts.cpp2
-rw-r--r--engines/mohawk/myst_stacks/channelwood.cpp4
-rw-r--r--engines/mohawk/myst_stacks/credits.cpp1
-rw-r--r--engines/mohawk/myst_stacks/dni.cpp2
-rw-r--r--engines/mohawk/myst_stacks/mechanical.cpp3
-rw-r--r--engines/mohawk/myst_stacks/myst.cpp2
-rw-r--r--engines/mohawk/myst_stacks/preview.cpp1
-rw-r--r--engines/mohawk/myst_stacks/selenitic.cpp7
-rw-r--r--engines/mohawk/myst_stacks/slides.cpp1
-rw-r--r--engines/mohawk/myst_stacks/stoneship.cpp4
-rw-r--r--engines/mohawk/myst_state.cpp2
-rw-r--r--engines/mohawk/myst_state.h2
-rw-r--r--engines/mohawk/resource.cpp1
-rw-r--r--engines/mohawk/riven.h1
-rw-r--r--engines/mohawk/riven_external.cpp1
-rw-r--r--engines/mohawk/riven_scripts.cpp1
-rw-r--r--engines/mohawk/riven_scripts.h1
-rw-r--r--engines/mohawk/sound.cpp3
-rw-r--r--engines/mohawk/video.cpp7
-rw-r--r--engines/mohawk/view.cpp2
-rw-r--r--engines/parallaction/callables_br.cpp2
-rw-r--r--engines/parallaction/detection.cpp1
-rw-r--r--engines/parallaction/dialogue.cpp1
-rw-r--r--engines/parallaction/disk.cpp3
-rw-r--r--engines/parallaction/disk.h10
-rw-r--r--engines/parallaction/disk_br.cpp1
-rw-r--r--engines/parallaction/disk_ns.cpp1
-rw-r--r--engines/parallaction/exec_br.cpp2
-rw-r--r--engines/parallaction/exec_ns.cpp1
-rw-r--r--engines/parallaction/font.cpp1
-rw-r--r--engines/parallaction/gfxbase.cpp1
-rw-r--r--engines/parallaction/graphics.cpp2
-rw-r--r--engines/parallaction/gui.cpp2
-rw-r--r--engines/parallaction/gui_br.cpp1
-rw-r--r--engines/parallaction/gui_ns.cpp1
-rw-r--r--engines/parallaction/input.cpp1
-rw-r--r--engines/parallaction/inventory.cpp2
-rw-r--r--engines/parallaction/objects.cpp2
-rw-r--r--engines/parallaction/parallaction.cpp5
-rw-r--r--engines/parallaction/parallaction.h3
-rw-r--r--engines/parallaction/parallaction_br.cpp1
-rw-r--r--engines/parallaction/parallaction_ns.cpp1
-rw-r--r--engines/parallaction/parser.cpp2
-rw-r--r--engines/parallaction/parser_br.cpp1
-rw-r--r--engines/parallaction/parser_ns.cpp2
-rw-r--r--engines/parallaction/saveload.cpp3
-rw-r--r--engines/parallaction/sound_br.cpp1
-rw-r--r--engines/parallaction/sound_ns.cpp2
-rw-r--r--engines/queen/command.cpp2
-rw-r--r--engines/queen/cutaway.cpp1
-rw-r--r--engines/queen/display.cpp1
-rw-r--r--engines/queen/display.h3
-rw-r--r--engines/queen/graphics.cpp3
-rw-r--r--engines/queen/input.cpp1
-rw-r--r--engines/queen/journal.cpp1
-rw-r--r--engines/queen/logic.cpp3
-rw-r--r--engines/queen/midiadlib.cpp1
-rw-r--r--engines/queen/queen.cpp1
-rw-r--r--engines/queen/queen.h2
-rw-r--r--engines/queen/resource.cpp1
-rw-r--r--engines/queen/sound.cpp1
-rw-r--r--engines/queen/sound.h2
-rw-r--r--engines/queen/talk.cpp3
-rw-r--r--engines/queen/walk.cpp1
-rw-r--r--engines/saga/gfx.cpp1
-rw-r--r--engines/saga/gfx.h1
-rw-r--r--engines/saga/interface.cpp4
-rw-r--r--engines/saga/introproc_saga2.cpp5
-rw-r--r--engines/saga/saga.h1
-rw-r--r--engines/saga/saveload.cpp2
-rw-r--r--engines/saga/shorten.cpp3
-rw-r--r--engines/savestate.cpp1
-rw-r--r--engines/savestate.h2
-rw-r--r--engines/sci/console.cpp2
-rw-r--r--engines/sci/decompressor.cpp3
-rw-r--r--engines/sci/decompressor.h4
-rw-r--r--engines/sci/engine/kfile.cpp1
-rw-r--r--engines/sci/engine/kmovement.cpp2
-rw-r--r--engines/sci/engine/ksound.cpp1
-rw-r--r--engines/sci/engine/kvideo.cpp9
-rw-r--r--engines/sci/engine/object.h1
-rw-r--r--engines/sci/engine/script.cpp2
-rw-r--r--engines/sci/engine/script_patches.cpp41
-rw-r--r--engines/sci/engine/state.h4
-rw-r--r--engines/sci/engine/vm.cpp2
-rw-r--r--engines/sci/engine/workarounds.cpp6
-rw-r--r--engines/sci/graphics/fontsjis.h2
-rw-r--r--engines/sci/graphics/frameout.cpp12
-rw-r--r--engines/sci/graphics/maciconbar.h2
-rw-r--r--engines/sci/graphics/paint.cpp2
-rw-r--r--engines/sci/graphics/paint16.cpp14
-rw-r--r--engines/sci/graphics/paint32.cpp5
-rw-r--r--engines/sci/graphics/palette.cpp2
-rw-r--r--engines/sci/graphics/portrait.cpp4
-rw-r--r--engines/sci/graphics/transitions.cpp3
-rw-r--r--engines/sci/parser/grammar.cpp1
-rw-r--r--engines/sci/resource.cpp5
-rw-r--r--engines/sci/resource_audio.cpp1
-rw-r--r--engines/sci/resource_intern.h2
-rw-r--r--engines/sci/sound/drivers/adlib.cpp2
-rw-r--r--engines/sci/sound/drivers/amigamac.cpp2
-rw-r--r--engines/sci/sound/drivers/cms.cpp2
-rw-r--r--engines/sci/sound/drivers/fb01.cpp1
-rw-r--r--engines/sci/sound/drivers/midi.cpp4
-rw-r--r--engines/sci/sound/drivers/pcjr.cpp3
-rw-r--r--engines/sci/sound/soundcmd.cpp28
-rw-r--r--engines/sci/video/robot_decoder.cpp3
-rw-r--r--engines/sci/video/robot_decoder.h1
-rw-r--r--engines/sci/video/seq_decoder.cpp4
-rw-r--r--engines/sci/video/seq_decoder.h10
-rw-r--r--engines/scumm/costume.cpp5
-rw-r--r--engines/scumm/debugger.cpp1
-rw-r--r--engines/scumm/detection.cpp2
-rw-r--r--engines/scumm/detection_tables.h4
-rw-r--r--engines/scumm/dialogs.h4
-rw-r--r--engines/scumm/file_nes.cpp1
-rw-r--r--engines/scumm/gfx.cpp6
-rw-r--r--engines/scumm/gfxARM.s8
-rw-r--r--engines/scumm/he/cup_player_he.cpp1
-rw-r--r--engines/scumm/he/logic_he.cpp416
-rw-r--r--engines/scumm/he/logic_he.h42
-rw-r--r--engines/scumm/he/palette_he.cpp1
-rw-r--r--engines/scumm/imuse/imuse_part.cpp2
-rw-r--r--engines/scumm/imuse/sysex_scumm.cpp1
-rw-r--r--engines/scumm/imuse_digi/dimuse.h2
-rw-r--r--engines/scumm/midiparser_ro.cpp1
-rw-r--r--engines/scumm/palette.cpp3
-rw-r--r--engines/scumm/player_mod.h2
-rw-r--r--engines/scumm/player_nes.h2
-rw-r--r--engines/scumm/player_pce.h1
-rw-r--r--engines/scumm/player_v4a.h1
-rw-r--r--engines/scumm/proc3ARM.s64
-rw-r--r--engines/scumm/saveload.h4
-rw-r--r--engines/scumm/scumm.cpp6
-rw-r--r--engines/scumm/scumm.h11
-rw-r--r--engines/scumm/smush/channel.cpp2
-rw-r--r--engines/scumm/smush/channel.h2
-rw-r--r--engines/scumm/smush/codec37.cpp1
-rw-r--r--engines/scumm/smush/codec47.cpp3
-rw-r--r--engines/scumm/smush/saud_channel.cpp1
-rw-r--r--engines/scumm/smush/smush_mixer.h2
-rw-r--r--engines/scumm/smush/smush_player.cpp1
-rw-r--r--engines/scumm/util.cpp1
-rw-r--r--engines/sky/autoroute.cpp1
-rw-r--r--engines/sky/compact.cpp3
-rw-r--r--engines/sky/compact.h2
-rw-r--r--engines/sky/control.cpp3
-rw-r--r--engines/sky/control.h2
-rw-r--r--engines/sky/debug.cpp2
-rw-r--r--engines/sky/detection.cpp1
-rw-r--r--engines/sky/disk.cpp4
-rw-r--r--engines/sky/disk.h3
-rw-r--r--engines/sky/intro.cpp1
-rw-r--r--engines/sky/logic.cpp3
-rw-r--r--engines/sky/mouse.cpp1
-rw-r--r--engines/sky/music/adlibchannel.cpp1
-rw-r--r--engines/sky/music/gmchannel.cpp1
-rw-r--r--engines/sky/music/gmmusic.cpp1
-rw-r--r--engines/sky/music/mt32music.cpp1
-rw-r--r--engines/sky/music/musicbase.cpp1
-rw-r--r--engines/sky/screen.cpp3
-rw-r--r--engines/sky/screen.h3
-rw-r--r--engines/sky/sky.cpp1
-rw-r--r--engines/sky/sky.h6
-rw-r--r--engines/sky/sound.cpp2
-rw-r--r--engines/sky/text.cpp2
-rw-r--r--engines/sword1/animation.cpp7
-rw-r--r--engines/sword1/control.cpp2
-rw-r--r--engines/sword1/control.h2
-rw-r--r--engines/sword1/detection.cpp2
-rw-r--r--engines/sword1/eventman.cpp1
-rw-r--r--engines/sword1/logic.cpp3
-rw-r--r--engines/sword1/memman.cpp1
-rw-r--r--engines/sword1/mouse.h1
-rw-r--r--engines/sword1/music.cpp3
-rw-r--r--engines/sword1/objectman.cpp1
-rw-r--r--engines/sword1/resman.cpp9
-rw-r--r--engines/sword1/router.cpp1
-rw-r--r--engines/sword1/screen.cpp3
-rw-r--r--engines/sword1/sound.cpp3
-rw-r--r--engines/sword1/sound.h2
-rw-r--r--engines/sword1/sword1.cpp1
-rw-r--r--engines/sword1/sword1.h6
-rw-r--r--engines/sword1/text.cpp3
-rw-r--r--engines/sword2/animation.cpp2
-rw-r--r--engines/sword2/controls.cpp2
-rw-r--r--engines/sword2/events.cpp1
-rw-r--r--engines/sword2/function.cpp1
-rw-r--r--engines/sword2/interpreter.cpp1
-rw-r--r--engines/sword2/layers.cpp1
-rw-r--r--engines/sword2/logic.cpp1
-rw-r--r--engines/sword2/maketext.cpp1
-rw-r--r--engines/sword2/memory.cpp1
-rw-r--r--engines/sword2/mouse.cpp1
-rw-r--r--engines/sword2/music.cpp1
-rw-r--r--engines/sword2/palette.cpp3
-rw-r--r--engines/sword2/resman.cpp1
-rw-r--r--engines/sword2/resman.h2
-rw-r--r--engines/sword2/router.cpp1
-rw-r--r--engines/sword2/saveload.cpp1
-rw-r--r--engines/sword2/screen.cpp1
-rw-r--r--engines/sword2/sound.cpp1
-rw-r--r--engines/sword2/sound.h1
-rw-r--r--engines/sword2/speech.cpp1
-rw-r--r--engines/sword2/startup.cpp1
-rw-r--r--engines/sword2/sword2.cpp1
-rw-r--r--engines/sword2/sync.cpp1
-rw-r--r--engines/sword25/detection.cpp2
-rw-r--r--engines/sword25/fmv/movieplayer.cpp6
-rw-r--r--engines/sword25/fmv/theora_decoder.cpp1
-rw-r--r--engines/sword25/fmv/theora_decoder.h3
-rw-r--r--engines/sword25/gfx/screenshot.cpp1
-rw-r--r--engines/sword25/kernel/filesystemutil.cpp3
-rw-r--r--engines/sword25/kernel/inputpersistenceblock.cpp2
-rw-r--r--engines/sword25/kernel/kernel.h1
-rw-r--r--engines/sword25/kernel/objectregistry.h1
-rw-r--r--engines/sword25/script/luacallback.cpp2
-rw-r--r--engines/sword25/sfx/soundengine.cpp2
-rw-r--r--engines/sword25/sword25.cpp16
-rw-r--r--engines/sword25/sword25.h10
-rw-r--r--engines/teenagent/actor.cpp1
-rw-r--r--engines/teenagent/animation.cpp1
-rw-r--r--engines/teenagent/callbacks.cpp2
-rw-r--r--engines/teenagent/console.h4
-rw-r--r--engines/teenagent/font.cpp4
-rw-r--r--engines/teenagent/font.h1
-rw-r--r--engines/teenagent/inventory.cpp1
-rw-r--r--engines/teenagent/music.cpp2
-rw-r--r--engines/teenagent/resources.cpp1
-rw-r--r--engines/teenagent/scene.cpp3
-rw-r--r--engines/teenagent/scene.h4
-rw-r--r--engines/teenagent/segment.cpp1
-rw-r--r--engines/teenagent/surface.h6
-rw-r--r--engines/teenagent/teenagent.cpp2
-rw-r--r--engines/testbed/detection.cpp2
-rw-r--r--engines/testbed/events.cpp7
-rw-r--r--engines/testbed/graphics.cpp1
-rw-r--r--engines/testbed/savegame.cpp6
-rw-r--r--engines/testbed/sound.cpp2
-rw-r--r--engines/testbed/testbed.cpp7
-rw-r--r--engines/testbed/testbed.h4
-rw-r--r--engines/testbed/testsuite.h5
-rw-r--r--engines/tinsel/actors.cpp1
-rw-r--r--engines/tinsel/adpcm.cpp7
-rw-r--r--engines/tinsel/anim.cpp1
-rw-r--r--engines/tinsel/bg.cpp1
-rw-r--r--engines/tinsel/bmv.cpp2
-rw-r--r--engines/tinsel/dialogs.cpp2
-rw-r--r--engines/tinsel/dialogs.h2
-rw-r--r--engines/tinsel/drives.cpp4
-rw-r--r--engines/tinsel/graphics.cpp2
-rw-r--r--engines/tinsel/handle.cpp1
-rw-r--r--engines/tinsel/mareels.cpp1
-rw-r--r--engines/tinsel/object.cpp2
-rw-r--r--engines/tinsel/palette.cpp2
-rw-r--r--engines/tinsel/pcode.cpp1
-rw-r--r--engines/tinsel/pcode.h2
-rw-r--r--engines/tinsel/pdisplay.cpp2
-rw-r--r--engines/tinsel/polygons.cpp1
-rw-r--r--engines/tinsel/rince.cpp1
-rw-r--r--engines/tinsel/saveload.cpp1
-rw-r--r--engines/tinsel/savescn.cpp2
-rw-r--r--engines/tinsel/scene.cpp1
-rw-r--r--engines/tinsel/sched.cpp1
-rw-r--r--engines/tinsel/scn.cpp3
-rw-r--r--engines/tinsel/sound.cpp18
-rw-r--r--engines/tinsel/strres.cpp1
-rw-r--r--engines/tinsel/sysvar.cpp2
-rw-r--r--engines/tinsel/timers.cpp2
-rw-r--r--engines/tinsel/timers.h2
-rw-r--r--engines/tinsel/tinlib.cpp1
-rw-r--r--engines/tinsel/tinsel.cpp10
-rw-r--r--engines/toon/anim.cpp3
-rw-r--r--engines/toon/audio.cpp2
-rw-r--r--engines/toon/character.cpp8
-rw-r--r--engines/toon/drew.cpp2
-rw-r--r--engines/toon/flux.cpp2
-rw-r--r--engines/toon/font.cpp10
-rw-r--r--engines/toon/hotspot.cpp2
-rw-r--r--engines/toon/movie.cpp9
-rw-r--r--engines/toon/path.cpp8
-rw-r--r--engines/toon/picture.cpp3
-rw-r--r--engines/toon/resource.cpp1
-rw-r--r--engines/toon/script.cpp3
-rw-r--r--engines/toon/script_func.cpp3
-rw-r--r--engines/toon/state.cpp2
-rw-r--r--engines/toon/text.cpp2
-rw-r--r--engines/toon/tools.cpp2
-rw-r--r--engines/toon/toon.cpp12
-rw-r--r--engines/toon/toon.h1
-rw-r--r--engines/touche/menu.cpp4
-rw-r--r--engines/touche/midi.h2
-rw-r--r--engines/touche/resource.cpp1
-rw-r--r--engines/touche/saveload.cpp1
-rw-r--r--engines/touche/touche.cpp9
-rw-r--r--engines/tsage/converse.cpp46
-rw-r--r--engines/tsage/converse.h2
-rw-r--r--engines/tsage/core.cpp468
-rw-r--r--engines/tsage/core.h86
-rw-r--r--engines/tsage/debugger.cpp80
-rw-r--r--engines/tsage/detection.cpp12
-rw-r--r--engines/tsage/detection_tables.h32
-rw-r--r--engines/tsage/dialogs.cpp86
-rw-r--r--engines/tsage/dialogs.h8
-rw-r--r--engines/tsage/events.cpp69
-rw-r--r--engines/tsage/events.h3
-rw-r--r--engines/tsage/globals.cpp33
-rw-r--r--engines/tsage/globals.h8
-rw-r--r--engines/tsage/graphics.cpp15
-rw-r--r--engines/tsage/module.mk1
-rw-r--r--engines/tsage/resources.cpp119
-rw-r--r--engines/tsage/resources.h29
-rw-r--r--engines/tsage/ringworld_demo.cpp58
-rw-r--r--engines/tsage/ringworld_demo.h52
-rw-r--r--engines/tsage/ringworld_logic.cpp357
-rw-r--r--engines/tsage/ringworld_logic.h71
-rw-r--r--engines/tsage/ringworld_scenes1.cpp298
-rw-r--r--engines/tsage/ringworld_scenes1.h24
-rw-r--r--engines/tsage/ringworld_scenes10.cpp202
-rw-r--r--engines/tsage/ringworld_scenes2.cpp36
-rw-r--r--engines/tsage/ringworld_scenes3.cpp346
-rw-r--r--engines/tsage/ringworld_scenes3.h19
-rw-r--r--engines/tsage/ringworld_scenes5.cpp925
-rw-r--r--engines/tsage/ringworld_scenes5.h53
-rw-r--r--engines/tsage/ringworld_scenes6.cpp168
-rw-r--r--engines/tsage/ringworld_scenes6.h4
-rw-r--r--engines/tsage/ringworld_scenes8.cpp282
-rw-r--r--engines/tsage/ringworld_scenes8.h3
-rw-r--r--engines/tsage/saveload.cpp40
-rw-r--r--engines/tsage/saveload.h8
-rw-r--r--engines/tsage/scenes.cpp24
-rw-r--r--engines/tsage/scenes.h3
-rw-r--r--engines/tsage/sound.cpp2
-rw-r--r--engines/tsage/staticres.cpp3
-rw-r--r--engines/tsage/staticres.h4
-rw-r--r--engines/tsage/tsage.cpp26
-rw-r--r--engines/tsage/tsage.h6
-rw-r--r--engines/tucker/locations.cpp1
-rw-r--r--engines/tucker/resource.cpp1
-rw-r--r--engines/tucker/saveload.cpp1
-rw-r--r--engines/tucker/sequences.cpp3
-rw-r--r--engines/tucker/tucker.cpp7
-rw-r--r--graphics/VectorRenderer.cpp7
-rw-r--r--graphics/VectorRenderer.h7
-rw-r--r--graphics/VectorRendererSpec.cpp1
-rw-r--r--graphics/conversion.cpp1
-rw-r--r--graphics/conversion.h3
-rw-r--r--graphics/font.cpp4
-rw-r--r--graphics/font.h5
-rw-r--r--graphics/fontman.cpp1
-rw-r--r--graphics/fontman.h3
-rw-r--r--graphics/fonts/scummfont.cpp1
-rw-r--r--graphics/fonts/winfont.cpp3
-rw-r--r--graphics/fonts/winfont.h4
-rw-r--r--graphics/iff.cpp4
-rw-r--r--graphics/iff.h2
-rw-r--r--graphics/imagedec.cpp1
-rw-r--r--graphics/imagedec.h3
-rw-r--r--graphics/jpeg.cpp3
-rw-r--r--graphics/palette.h1
-rw-r--r--graphics/pict.cpp5
-rw-r--r--graphics/pict.h2
-rw-r--r--graphics/png.cpp25
-rw-r--r--graphics/png.h19
-rw-r--r--graphics/scaler/scale2x.cpp1
-rw-r--r--graphics/scaler/scale3x.cpp1
-rw-r--r--graphics/scaler/scalebit.cpp1
-rw-r--r--graphics/scaler/thumbnail_intern.cpp1
-rw-r--r--graphics/sjis.cpp1
-rw-r--r--graphics/surface.cpp3
-rw-r--r--graphics/surface.h5
-rw-r--r--graphics/thumbnail.cpp1
-rw-r--r--graphics/wincursor.cpp5
-rw-r--r--graphics/wincursor.h6
-rw-r--r--gui/ThemeEngine.cpp10
-rw-r--r--gui/ThemeEngine.h16
-rw-r--r--gui/ThemeEval.cpp2
-rw-r--r--gui/ThemeEval.h2
-rw-r--r--gui/ThemeLayout.cpp6
-rw-r--r--gui/ThemeLayout.h5
-rw-r--r--gui/ThemeParser.cpp2
-rw-r--r--gui/Tooltip.cpp1
-rw-r--r--gui/Tooltip.h5
-rw-r--r--gui/about.cpp2
-rw-r--r--gui/about.h3
-rw-r--r--gui/browser.cpp1
-rw-r--r--gui/browser.h2
-rw-r--r--gui/chooser.cpp3
-rw-r--r--gui/chooser.h2
-rw-r--r--gui/console.cpp2
-rw-r--r--gui/credits.h2
-rw-r--r--gui/debugger.cpp1
-rw-r--r--gui/dialog.cpp5
-rw-r--r--gui/dialog.h6
-rw-r--r--gui/error.cpp4
-rw-r--r--gui/error.h2
-rw-r--r--gui/gui-manager.cpp4
-rw-r--r--gui/gui-manager.h7
-rw-r--r--gui/launcher.cpp4
-rw-r--r--gui/launcher.h5
-rw-r--r--gui/massadd.cpp5
-rw-r--r--gui/massadd.h1
-rw-r--r--gui/message.cpp1
-rw-r--r--gui/message.h2
-rw-r--r--gui/object.cpp3
-rw-r--r--gui/object.h4
-rw-r--r--gui/options.cpp16
-rw-r--r--gui/options.h14
-rw-r--r--gui/saveload.h4
-rw-r--r--gui/themebrowser.h2
-rw-r--r--gui/themes/scummmodern.zipbin198479 -> 198479 bytes
-rw-r--r--gui/themes/scummmodern/scummmodern_layout.stx2
-rw-r--r--gui/themes/translations.datbin189132 -> 198996 bytes
-rw-r--r--gui/widget.cpp8
-rw-r--r--gui/widget.h5
-rw-r--r--gui/widgets/editable.cpp4
-rw-r--r--gui/widgets/editable.h8
-rw-r--r--gui/widgets/edittext.cpp1
-rw-r--r--gui/widgets/list.cpp1
-rw-r--r--gui/widgets/popup.cpp2
-rw-r--r--gui/widgets/scrollbar.cpp7
-rw-r--r--gui/widgets/tab.cpp1
-rw-r--r--po/POTFILES1
-rw-r--r--po/ca_ES.po322
-rw-r--r--po/cs_CZ.po364
-rw-r--r--po/da_DA.po322
-rwxr-xr-x[-rw-r--r--]po/de_DE.po330
-rw-r--r--po/es_ES.po611
-rw-r--r--po/fr_FR.po324
-rw-r--r--po/hu_HU.po324
-rw-r--r--po/it_IT.po619
-rw-r--r--po/nb_NO.po324
-rw-r--r--po/nn_NO.po353
-rw-r--r--po/pl_PL.po322
-rw-r--r--po/pt_BR.po322
-rw-r--r--po/ru_RU.po322
-rw-r--r--po/scummvm.pot311
-rw-r--r--po/se_SE.po322
-rw-r--r--po/uk_UA.po323
-rw-r--r--ports.mk29
-rw-r--r--video/avi_decoder.cpp7
-rw-r--r--video/avi_decoder.h25
-rw-r--r--video/codecs/cdtoons.cpp4
-rw-r--r--video/codecs/cinepak.cpp6
-rw-r--r--video/codecs/cinepak.h10
-rw-r--r--video/codecs/indeo3.cpp4
-rw-r--r--video/codecs/mjpeg.cpp8
-rw-r--r--video/codecs/mjpeg.h12
-rw-r--r--video/codecs/msrle.cpp1
-rw-r--r--video/codecs/msvideo1.cpp1
-rw-r--r--video/codecs/qdm2.cpp3
-rw-r--r--video/codecs/qdm2.h4
-rw-r--r--video/codecs/qtrle.cpp2
-rw-r--r--video/codecs/rpza.cpp2
-rw-r--r--video/codecs/smc.cpp1
-rw-r--r--video/codecs/truemotion1.cpp2
-rw-r--r--video/coktel_decoder.cpp7
-rw-r--r--video/coktel_decoder.h15
-rw-r--r--video/dxa_decoder.cpp5
-rw-r--r--video/dxa_decoder.h10
-rw-r--r--video/flic_decoder.cpp5
-rw-r--r--video/flic_decoder.h7
-rw-r--r--video/mpeg_player.h2
-rw-r--r--video/qt_decoder.cpp14
-rw-r--r--video/qt_decoder.h20
-rw-r--r--video/smk_decoder.cpp2
-rw-r--r--video/smk_decoder.h9
-rw-r--r--video/video_decoder.cpp3
-rw-r--r--video/video_decoder.h15
1030 files changed, 9552 insertions, 6581 deletions
diff --git a/AUTHORS b/AUTHORS
index 0b9d41559b..ca6342d836 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -421,7 +421,7 @@ Other contributions
David Jensen - SVG logo conversion
Jean Marc Gimenez - ScummVM logo
Raina - ScummVM forum buttons
- William Claydon - Skins for doxygen and wiki
+ William Claydon - Skins for doxygen, buildbot and wiki
Code contributions
------------------
diff --git a/Makefile.common b/Makefile.common
index 6646af8e8d..e96774fe4e 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -154,8 +154,7 @@ endif
# Get the current version information
######################################################################
-# AmigaOS4's grep has a problem with "./" in pathnames, so use cat.
-VERSION = $(shell cat "${srcdir}/base/internal_version.h" | grep SCUMMVM_VERSION | cut -d\" -f2)
+VERSION = $(shell grep SCUMMVM_VERSION "${srcdir}/base/internal_version.h" | cut -d\" -f2)
VER_MAJOR = $(shell echo $(VERSION) | cut -d. -f 1)
VER_MINOR = $(shell echo $(VERSION) | cut -d. -f 2)
VER_PATCH = $(shell echo $(VERSION) | cut -d. -f 3 | cut -c1)
diff --git a/NEWS b/NEWS
index 3d2fa44eb2..b1f836c4c3 100644
--- a/NEWS
+++ b/NEWS
@@ -10,11 +10,13 @@ For a more comprehensive changelog of the latest experimental code, see:
- Added support for Toonstruck.
- Added support for Living Books v1 and v2 games.
- Added support for Hugo's House of Horrors, Hugo 2: Whodunit?
- and Hugo 3: Jungle of Doom
+ and Hugo 3: Jungle of Doom.
+ - Added support for Amiga SCI games (except Conquests of the Longbow).
+ - Added support for Macintosh SCI1 games.
General
- Added support for loadable modules on platforms without a dynamic
- loader. (GSoC Task)
+ loader (GSoC Task).
- Added Danish translation.
- Added Norwegian Bokmaal translation.
- Added Norwegian Nynorsk translation.
@@ -93,7 +95,7 @@ For a more comprehensive changelog of the latest experimental code, see:
- Improved support for FM-TOWNS versions of games.
Sky:
- - Fixed crashes on sequences for several ports (Android, OpenGL, ...)
+ - Fixed crashes on sequences for several ports (Android, OpenGL, ...).
Teenagent:
- Closed memory leaks.
@@ -110,7 +112,7 @@ For a more comprehensive changelog of the latest experimental code, see:
- Added workarounds for several issues present in the original game.
SDL ports:
- - Added support for OpenGL. (GSoC Task)
+ - Added support for OpenGL (GSoC Task).
- Closed memory leaks in Mouse Surfaces.
Android port:
diff --git a/audio/audiostream.cpp b/audio/audiostream.cpp
index 0c41a38254..776f904e77 100644
--- a/audio/audiostream.cpp
+++ b/audio/audiostream.cpp
@@ -24,14 +24,14 @@
*/
#include "common/debug.h"
-#include "common/endian.h"
#include "common/file.h"
+#include "common/mutex.h"
+#include "common/textconsole.h"
#include "common/queue.h"
#include "common/util.h"
#include "audio/audiostream.h"
#include "audio/decoders/flac.h"
-#include "audio/mixer.h"
#include "audio/decoders/mp3.h"
#include "audio/decoders/raw.h"
#include "audio/decoders/vorbis.h"
diff --git a/audio/audiostream.h b/audio/audiostream.h
index cd6456cc70..22de21cb34 100644
--- a/audio/audiostream.h
+++ b/audio/audiostream.h
@@ -26,16 +26,14 @@
#ifndef SOUND_AUDIOSTREAM_H
#define SOUND_AUDIOSTREAM_H
-#include "common/util.h"
#include "common/scummsys.h"
+#include "common/str.h"
#include "common/types.h"
#include "audio/timestamp.h"
namespace Audio {
-class SeekableAudioStream;
-
/**
* Generic audio input stream. Subclasses of this are used to feed arbitrary
* sampled audio data into ScummVM's audio mixer.
diff --git a/audio/decoders/adpcm.cpp b/audio/decoders/adpcm.cpp
index ac18b244c5..a9284973d5 100644
--- a/audio/decoders/adpcm.cpp
+++ b/audio/decoders/adpcm.cpp
@@ -23,11 +23,12 @@
*
*/
-#include "common/endian.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
+#include "common/util.h"
#include "audio/decoders/adpcm.h"
#include "audio/decoders/adpcm_intern.h"
-#include "audio/audiostream.h"
namespace Audio {
@@ -201,60 +202,49 @@ int Apple_ADPCMStream::readBuffer(int16 *buffer, const int numSamples) {
return samples[0] + samples[1];
}
+
#pragma mark -
-int MSIma_ADPCMStream::readBufferMSIMA1(int16 *buffer, const int numSamples) {
- int samples = 0;
- byte data;
+int MSIma_ADPCMStream::readBuffer(int16 *buffer, const int numSamples) {
+ // Need to write at least one sample per channel
+ assert((numSamples % _channels) == 0);
- assert(numSamples % 2 == 0);
+ int samples = 0;
while (samples < numSamples && !_stream->eos() && _stream->pos() < _endpos) {
if (_blockPos[0] == _blockAlign) {
- // read block header
- _status.ima_ch[0].last = _stream->readSint16LE();
- _status.ima_ch[0].stepIndex = _stream->readSint16LE();
- _blockPos[0] = 4;
- }
+ for (int i = 0; i < _channels; i++) {
+ // read block header
+ _status.ima_ch[i].last = _stream->readSint16LE();
+ _status.ima_ch[i].stepIndex = _stream->readSint16LE();
+ }
- for (; samples < numSamples && _blockPos[0] < _blockAlign && !_stream->eos() && _stream->pos() < _endpos; samples += 2) {
- data = _stream->readByte();
- _blockPos[0]++;
- buffer[samples] = decodeIMA(_invertSamples ? (data >> 4) & 0x0f : data & 0x0f);
- buffer[samples + 1] = decodeIMA(_invertSamples ? data & 0x0f : (data >> 4) & 0x0f);
+ _blockPos[0] = _channels * 4;
}
- }
- return samples;
-}
+ // Decode a set of samples
+ for (int i = 0; i < _channels; i++) {
+ // The stream encodes four bytes per channel at a time
+ for (int j = 0; j < 4; j++) {
+ byte data = _stream->readByte();
+ _blockPos[0]++;
+ _buffer[i][j * 2] = decodeIMA(data & 0x0f, i);
+ _buffer[i][j * 2 + 1] = decodeIMA((data >> 4) & 0x0f, i);
+ _samplesLeft[i] += 2;
+ }
+ }
-// Microsoft as usual tries to implement it differently. This method
-// is used for stereo data.
-int MSIma_ADPCMStream::readBufferMSIMA2(int16 *buffer, const int numSamples) {
- int samples;
- uint32 data;
- int nibble;
- byte k;
-
- // TODO: Currently this implementation only supports
- // reading a multiple of 16 samples at once. We might
- // consider changing that so it could read an arbitrary
- // sample pair count.
- assert(numSamples % 16 == 0);
-
- for (samples = 0; samples < numSamples && !_stream->eos() && _stream->pos() < _endpos;) {
- for (int channel = 0; channel < 2; channel++) {
- data = _stream->readUint32LE();
-
- for (nibble = 0; nibble < 8; nibble++) {
- k = ((data & 0xf0000000) >> 28);
- buffer[samples + channel + nibble * 2] = decodeIMA(k);
- data <<= 4;
+ while (samples < numSamples && _samplesLeft[0] != 0) {
+ for (int i = 0; i < _channels; i++) {
+ buffer[samples] = _buffer[i][8 - _samplesLeft[i]];
+ _samplesLeft[i]--;
}
+
+ samples += _channels;
}
- samples += 16;
}
+
return samples;
}
@@ -449,8 +439,6 @@ RewindableAudioStream *makeADPCMStream(Common::SeekableReadStream *stream, Dispo
return new Oki_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign);
case kADPCMMSIma:
return new MSIma_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign);
- case kADPCMMSImaLastExpress:
- return new MSIma_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign, true);
case kADPCMMS:
return new MS_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign);
case kADPCMDVI:
diff --git a/audio/decoders/adpcm.h b/audio/decoders/adpcm.h
index 7202d6bc9c..10344101e2 100644
--- a/audio/decoders/adpcm.h
+++ b/audio/decoders/adpcm.h
@@ -40,12 +40,13 @@
#include "common/scummsys.h"
#include "common/types.h"
-namespace Common { class SeekableReadStream; }
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
-class AudioStream;
class RewindableAudioStream;
// There are several types of ADPCM encoding, only some are supported here
@@ -56,7 +57,6 @@ class RewindableAudioStream;
enum typesADPCM {
kADPCMOki, // Dialogic/Oki ADPCM (aka VOX)
kADPCMMSIma, // Microsoft IMA ADPCM
- kADPCMMSImaLastExpress, // Microsoft IMA ADPCM (with inverted samples)
kADPCMMS, // Microsoft ADPCM
kADPCMDVI, // Intel DVI IMA ADPCM
kADPCMApple, // Apple QuickTime IMA ADPCM
diff --git a/audio/decoders/adpcm_intern.h b/audio/decoders/adpcm_intern.h
index ea20b40338..f875bd88c7 100644
--- a/audio/decoders/adpcm_intern.h
+++ b/audio/decoders/adpcm_intern.h
@@ -37,6 +37,7 @@
#include "audio/audiostream.h"
#include "common/endian.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Audio {
@@ -148,24 +149,30 @@ public:
class MSIma_ADPCMStream : public Ima_ADPCMStream {
public:
- MSIma_ADPCMStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, uint32 size, int rate, int channels, uint32 blockAlign, bool invertSamples = false)
- : Ima_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign), _invertSamples(invertSamples) {
+ MSIma_ADPCMStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, uint32 size, int rate, int channels, uint32 blockAlign)
+ : Ima_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign) {
+
if (blockAlign == 0)
- error("ADPCMStream(): blockAlign isn't specified for MS IMA ADPCM");
- }
+ error("MSIma_ADPCMStream(): blockAlign isn't specified");
- virtual int readBuffer(int16 *buffer, const int numSamples) {
- if (_channels == 1)
- return readBufferMSIMA1(buffer, numSamples);
- else
- return readBufferMSIMA2(buffer, numSamples);
+ if (blockAlign % (_channels * 4))
+ error("MSIma_ADPCMStream(): invalid blockAlign");
+
+ _samplesLeft[0] = 0;
+ _samplesLeft[1] = 0;
}
- int readBufferMSIMA1(int16 *buffer, const int numSamples);
- int readBufferMSIMA2(int16 *buffer, const int numSamples);
+ virtual int readBuffer(int16 *buffer, const int numSamples);
+
+ void reset() {
+ Ima_ADPCMStream::reset();
+ _samplesLeft[0] = 0;
+ _samplesLeft[1] = 0;
+ }
private:
- bool _invertSamples; // Some implementations invert the way samples are decoded
+ int16 _buffer[2][8];
+ int _samplesLeft[2];
};
class MS_ADPCMStream : public ADPCMStream {
diff --git a/audio/decoders/aiff.cpp b/audio/decoders/aiff.cpp
index 0f947752f6..957fb13638 100644
--- a/audio/decoders/aiff.cpp
+++ b/audio/decoders/aiff.cpp
@@ -32,12 +32,10 @@
*/
#include "common/endian.h"
-#include "common/util.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "audio/decoders/aiff.h"
-#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "audio/decoders/raw.h"
namespace Audio {
diff --git a/audio/decoders/aiff.h b/audio/decoders/aiff.h
index 06c56ecd38..dddbffb520 100644
--- a/audio/decoders/aiff.h
+++ b/audio/decoders/aiff.h
@@ -37,7 +37,9 @@
#include "common/scummsys.h"
#include "common/types.h"
-namespace Common { class SeekableReadStream; }
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/decoders/flac.cpp b/audio/decoders/flac.cpp
index 76b6d35419..fe15877ac6 100644
--- a/audio/decoders/flac.cpp
+++ b/audio/decoders/flac.cpp
@@ -32,6 +32,7 @@
#include "common/debug.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/audiostream.h"
diff --git a/audio/decoders/flac.h b/audio/decoders/flac.h
index 17f95ec1fb..69222f22a1 100644
--- a/audio/decoders/flac.h
+++ b/audio/decoders/flac.h
@@ -49,12 +49,11 @@
#ifdef USE_FLAC
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
-class AudioStream;
class SeekableAudioStream;
/**
diff --git a/audio/decoders/iff_sound.cpp b/audio/decoders/iff_sound.cpp
index 2ec189c586..8efe017e75 100644
--- a/audio/decoders/iff_sound.cpp
+++ b/audio/decoders/iff_sound.cpp
@@ -25,7 +25,6 @@
#include "audio/decoders/iff_sound.h"
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "audio/decoders/raw.h"
#include "common/iff_container.h"
#include "common/func.h"
diff --git a/audio/decoders/iff_sound.h b/audio/decoders/iff_sound.h
index 4e53059380..4d26b32e71 100644
--- a/audio/decoders/iff_sound.h
+++ b/audio/decoders/iff_sound.h
@@ -33,7 +33,7 @@
#define SOUND_IFF_H
namespace Common {
- class ReadStream;
+class ReadStream;
}
namespace Audio {
diff --git a/audio/decoders/mac_snd.cpp b/audio/decoders/mac_snd.cpp
index 7c1a2f75f0..fc69988860 100644
--- a/audio/decoders/mac_snd.cpp
+++ b/audio/decoders/mac_snd.cpp
@@ -30,11 +30,10 @@
* We implement both type 1 and type 2 snd resources, but only those that are sampled
*/
-#include "common/util.h"
+#include "common/textconsole.h"
#include "common/stream.h"
#include "audio/decoders/mac_snd.h"
-#include "audio/audiostream.h"
#include "audio/decoders/raw.h"
namespace Audio {
diff --git a/audio/decoders/mac_snd.h b/audio/decoders/mac_snd.h
index 198a61333e..bf6331a265 100644
--- a/audio/decoders/mac_snd.h
+++ b/audio/decoders/mac_snd.h
@@ -35,7 +35,9 @@
#include "common/scummsys.h"
#include "common/types.h"
-namespace Common { class SeekableReadStream; }
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/decoders/mp3.cpp b/audio/decoders/mp3.cpp
index 53d68fa9db..91bd49873a 100644
--- a/audio/decoders/mp3.cpp
+++ b/audio/decoders/mp3.cpp
@@ -29,6 +29,7 @@
#include "common/debug.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/audiostream.h"
diff --git a/audio/decoders/mp3.h b/audio/decoders/mp3.h
index 72bc6e1b3e..d3a5b70d45 100644
--- a/audio/decoders/mp3.h
+++ b/audio/decoders/mp3.h
@@ -50,12 +50,11 @@
#ifdef USE_MAD
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
-class AudioStream;
class SeekableAudioStream;
/**
diff --git a/audio/decoders/raw.cpp b/audio/decoders/raw.cpp
index 8b833c7838..cf787f9b12 100644
--- a/audio/decoders/raw.cpp
+++ b/audio/decoders/raw.cpp
@@ -25,9 +25,10 @@
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
+#include "common/util.h"
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "audio/decoders/raw.h"
namespace Audio {
diff --git a/audio/decoders/raw.h b/audio/decoders/raw.h
index 3e9426012c..23ed02182d 100644
--- a/audio/decoders/raw.h
+++ b/audio/decoders/raw.h
@@ -32,12 +32,12 @@
#include "common/list.h"
-namespace Common { class SeekableReadStream; }
-
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
-class AudioStream;
class SeekableAudioStream;
/**
diff --git a/audio/decoders/vag.h b/audio/decoders/vag.h
index cdf91a8ea1..4adc1d3dde 100644
--- a/audio/decoders/vag.h
+++ b/audio/decoders/vag.h
@@ -35,12 +35,11 @@
#define SOUND_VAG_H
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
-class AudioStream;
class RewindableAudioStream;
/**
diff --git a/audio/decoders/voc.cpp b/audio/decoders/voc.cpp
index b811a640ec..9c2dc4f337 100644
--- a/audio/decoders/voc.cpp
+++ b/audio/decoders/voc.cpp
@@ -27,9 +27,9 @@
#include "common/endian.h"
#include "common/util.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "audio/decoders/raw.h"
#include "audio/decoders/voc.h"
diff --git a/audio/decoders/voc.h b/audio/decoders/voc.h
index 82cc261f2c..38250dcf7a 100644
--- a/audio/decoders/voc.h
+++ b/audio/decoders/voc.h
@@ -41,8 +41,10 @@
#include "common/scummsys.h"
#include "common/types.h"
-namespace Common { class ReadStream; }
-namespace Common { class SeekableReadStream; }
+namespace Common {
+class ReadStream;
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/decoders/vorbis.cpp b/audio/decoders/vorbis.cpp
index dc37e852d3..63f7ba8207 100644
--- a/audio/decoders/vorbis.cpp
+++ b/audio/decoders/vorbis.cpp
@@ -32,15 +32,15 @@
#ifdef USE_VORBIS
-#include "common/debug.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/audiostream.h"
#ifdef USE_TREMOR
-#if defined(__GP32__) // custom libtremor locations
-#include <ivorbisfile.h>
+#ifdef USE_TREMOLO
+#include <tremolo/ivorbisfile.h>
#else
#include <tremor/ivorbisfile.h>
#endif
diff --git a/audio/decoders/vorbis.h b/audio/decoders/vorbis.h
index 7cc395cccb..51d0b82d5f 100644
--- a/audio/decoders/vorbis.h
+++ b/audio/decoders/vorbis.h
@@ -49,12 +49,11 @@
#ifdef USE_VORBIS
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
-class AudioStream;
class SeekableAudioStream;
/**
diff --git a/audio/decoders/wave.cpp b/audio/decoders/wave.cpp
index 1f0ddd8ceb..a64874887a 100644
--- a/audio/decoders/wave.cpp
+++ b/audio/decoders/wave.cpp
@@ -24,11 +24,10 @@
*/
#include "common/debug.h"
-#include "common/util.h"
+#include "common/textconsole.h"
#include "common/stream.h"
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "audio/decoders/wave.h"
#include "audio/decoders/adpcm.h"
#include "audio/decoders/raw.h"
diff --git a/audio/decoders/wave.h b/audio/decoders/wave.h
index 2bdbe8f0b6..33c3e798a0 100644
--- a/audio/decoders/wave.h
+++ b/audio/decoders/wave.h
@@ -43,7 +43,9 @@
#include "common/scummsys.h"
#include "common/types.h"
-namespace Common { class SeekableReadStream; }
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/fmopl.cpp b/audio/fmopl.cpp
index 1f61e16101..5952a987a7 100644
--- a/audio/fmopl.cpp
+++ b/audio/fmopl.cpp
@@ -28,6 +28,7 @@
#include "audio/softsynth/opl/mame.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "common/translation.h"
namespace OPL {
diff --git a/audio/mididrv.cpp b/audio/mididrv.cpp
index a1487ff69d..6cc3366847 100644
--- a/audio/mididrv.cpp
+++ b/audio/mididrv.cpp
@@ -23,14 +23,14 @@
*
*/
-#include "engines/engine.h"
#include "common/config-manager.h"
+#include "common/error.h"
#include "common/str.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/mididrv.h"
#include "audio/musicplugin.h"
-#include "common/translation.h"
const byte MidiDriver::_mt32ToGm[128] = {
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
diff --git a/audio/mididrv.h b/audio/mididrv.h
index 8d6f942455..c6c5179051 100644
--- a/audio/mididrv.h
+++ b/audio/mididrv.h
@@ -27,15 +27,10 @@
#define SOUND_MIDIDRV_H
#include "common/scummsys.h"
+#include "common/str.h"
#include "common/timer.h"
class MidiChannel;
-class MusicDevice;
-
-namespace Audio {
- class Mixer;
-}
-namespace Common { class String; }
/**
* Music types that music drivers can implement and engines can rely on.
diff --git a/audio/midiparser.cpp b/audio/midiparser.cpp
index a6df6024cd..a1399d0c30 100644
--- a/audio/midiparser.cpp
+++ b/audio/midiparser.cpp
@@ -25,6 +25,7 @@
#include "audio/midiparser.h"
#include "audio/mididrv.h"
+#include "common/textconsole.h"
#include "common/util.h"
//////////////////////////////////////////////////
diff --git a/audio/midiparser.h b/audio/midiparser.h
index eeeee981e4..24f2ba7963 100644
--- a/audio/midiparser.h
+++ b/audio/midiparser.h
@@ -31,7 +31,6 @@
#include "common/scummsys.h"
#include "common/endian.h"
-class MidiParser;
class MidiDriver_BASE;
diff --git a/audio/midiparser_smf.cpp b/audio/midiparser_smf.cpp
index 9e4e8ed293..8ead95de4c 100644
--- a/audio/midiparser_smf.cpp
+++ b/audio/midiparser_smf.cpp
@@ -24,7 +24,7 @@
*/
#include "audio/midiparser.h"
-#include "audio/mididrv.h"
+#include "common/textconsole.h"
#include "common/util.h"
/**
diff --git a/audio/midiparser_xmidi.cpp b/audio/midiparser_xmidi.cpp
index edc7c7a943..1146084cde 100644
--- a/audio/midiparser_xmidi.cpp
+++ b/audio/midiparser_xmidi.cpp
@@ -24,7 +24,7 @@
*/
#include "audio/midiparser.h"
-#include "audio/mididrv.h"
+#include "common/textconsole.h"
#include "common/util.h"
/**
diff --git a/audio/mixer.cpp b/audio/mixer.cpp
index dc0287e3fb..4d23487e71 100644
--- a/audio/mixer.cpp
+++ b/audio/mixer.cpp
@@ -25,6 +25,7 @@
#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/mixer_intern.h"
#include "audio/rate.h"
@@ -162,16 +163,11 @@ private:
MixerImpl::MixerImpl(OSystem *system, uint sampleRate)
- : _syst(system), _sampleRate(sampleRate), _mixerReady(false), _handleSeed(0) {
+ : _syst(system), _mutex(), _sampleRate(sampleRate), _mixerReady(false), _handleSeed(0), _soundTypeSettings() {
assert(sampleRate > 0);
- int i;
-
- for (i = 0; i < ARRAYSIZE(_volumeForSoundType); i++)
- _volumeForSoundType[i] = kMaxMixerVolume;
-
- for (i = 0; i != NUM_CHANNELS; i++)
+ for (int i = 0; i != NUM_CHANNELS; i++)
_channels[i] = 0;
}
@@ -322,6 +318,21 @@ void MixerImpl::stopHandle(SoundHandle handle) {
_channels[index] = 0;
}
+void MixerImpl::muteSoundType(SoundType type, bool mute) {
+ assert(0 <= type && type < ARRAYSIZE(_soundTypeSettings));
+ _soundTypeSettings[type].mute = mute;
+
+ for (int i = 0; i != NUM_CHANNELS; ++i) {
+ if (_channels[i] && _channels[i]->getType() == type)
+ _channels[i]->notifyGlobalVolChange();
+ }
+}
+
+bool MixerImpl::isSoundTypeMuted(SoundType type) const {
+ assert(0 <= type && type < ARRAYSIZE(_soundTypeSettings));
+ return _soundTypeSettings[type].mute;
+}
+
void MixerImpl::setChannelVolume(SoundHandle handle, byte volume) {
Common::StackLock lock(_mutex);
@@ -417,7 +428,7 @@ bool MixerImpl::hasActiveChannelOfType(SoundType type) {
}
void MixerImpl::setVolumeForSoundType(SoundType type, int volume) {
- assert(0 <= type && type < ARRAYSIZE(_volumeForSoundType));
+ assert(0 <= type && type < ARRAYSIZE(_soundTypeSettings));
// Check range
if (volume > kMaxMixerVolume)
@@ -429,7 +440,7 @@ void MixerImpl::setVolumeForSoundType(SoundType type, int volume) {
// scaling? See also Player_V2::setMasterVolume
Common::StackLock lock(_mutex);
- _volumeForSoundType[type] = volume;
+ _soundTypeSettings[type].volume = volume;
for (int i = 0; i != NUM_CHANNELS; ++i) {
if (_channels[i] && _channels[i]->getType() == type)
@@ -438,9 +449,9 @@ void MixerImpl::setVolumeForSoundType(SoundType type, int volume) {
}
int MixerImpl::getVolumeForSoundType(SoundType type) const {
- assert(0 <= type && type < ARRAYSIZE(_volumeForSoundType));
+ assert(0 <= type && type < ARRAYSIZE(_soundTypeSettings));
- return _volumeForSoundType[type];
+ return _soundTypeSettings[type].volume;
}
@@ -486,17 +497,21 @@ void Channel::updateChannelVolumes() {
// volume is in the range 0 - kMaxMixerVolume.
// Hence, the vol_l/vol_r values will be in that range, too
- int vol = _mixer->getVolumeForSoundType(_type) * _volume;
-
- if (_balance == 0) {
- _volL = vol / Mixer::kMaxChannelVolume;
- _volR = vol / Mixer::kMaxChannelVolume;
- } else if (_balance < 0) {
- _volL = vol / Mixer::kMaxChannelVolume;
- _volR = ((127 + _balance) * vol) / (Mixer::kMaxChannelVolume * 127);
+ if (!_mixer->isSoundTypeMuted(_type)) {
+ int vol = _mixer->getVolumeForSoundType(_type) * _volume;
+
+ if (_balance == 0) {
+ _volL = vol / Mixer::kMaxChannelVolume;
+ _volR = vol / Mixer::kMaxChannelVolume;
+ } else if (_balance < 0) {
+ _volL = vol / Mixer::kMaxChannelVolume;
+ _volR = ((127 + _balance) * vol) / (Mixer::kMaxChannelVolume * 127);
+ } else {
+ _volL = ((127 - _balance) * vol) / (Mixer::kMaxChannelVolume * 127);
+ _volR = vol / Mixer::kMaxChannelVolume;
+ }
} else {
- _volL = ((127 - _balance) * vol) / (Mixer::kMaxChannelVolume * 127);
- _volR = vol / Mixer::kMaxChannelVolume;
+ _volL = _volR = 0;
}
}
diff --git a/audio/mixer.h b/audio/mixer.h
index a048124ca3..5802abdd6b 100644
--- a/audio/mixer.h
+++ b/audio/mixer.h
@@ -27,20 +27,13 @@
#define SOUND_MIXER_H
#include "common/types.h"
-#include "common/mutex.h"
#include "common/noncopyable.h"
-#include "audio/timestamp.h"
-
-class OSystem;
-
-
namespace Audio {
class AudioStream;
class Channel;
-class Mixer;
-class MixerImpl;
+class Timestamp;
/**
* A SoundHandle instances corresponds to a specific sound
@@ -197,6 +190,20 @@ public:
virtual bool isSoundHandleActive(SoundHandle handle) = 0;
+ /**
+ * Set the mute state for a given sound type.
+ *
+ * @param type the sound type
+ * @param mute Whether to mute (= true) or not (= false).
+ */
+ virtual void muteSoundType(SoundType type, bool mute) = 0;
+
+ /**
+ * Query the mute state for a given sound type.
+ *
+ * @param type the sound type
+ */
+ virtual bool isSoundTypeMuted(SoundType type) const = 0;
/**
* Set the channel volume for the given handle.
diff --git a/audio/mixer_intern.h b/audio/mixer_intern.h
index dd2746e9ea..d7764e50d9 100644
--- a/audio/mixer_intern.h
+++ b/audio/mixer_intern.h
@@ -64,7 +64,14 @@ private:
bool _mixerReady;
uint32 _handleSeed;
- int _volumeForSoundType[4];
+ struct SoundTypeSettings {
+ SoundTypeSettings() : mute(false), volume(kMaxMixerVolume) {}
+
+ bool mute;
+ int volume;
+ };
+
+ SoundTypeSettings _soundTypeSettings[4];
Channel *_channels[NUM_CHANNELS];
@@ -97,6 +104,9 @@ public:
virtual bool isSoundHandleActive(SoundHandle handle);
+ virtual void muteSoundType(SoundType type, bool mute);
+ virtual bool isSoundTypeMuted(SoundType type) const;
+
virtual void setChannelVolume(SoundHandle handle, byte volume);
virtual void setChannelBalance(SoundHandle handle, int8 balance);
diff --git a/audio/mods/infogrames.cpp b/audio/mods/infogrames.cpp
index 27e42c637b..8bfffeacb6 100644
--- a/audio/mods/infogrames.cpp
+++ b/audio/mods/infogrames.cpp
@@ -27,6 +27,7 @@
#include "common/endian.h"
#include "common/file.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace Audio {
diff --git a/audio/mods/infogrames.h b/audio/mods/infogrames.h
index c7abebf24e..9787210e82 100644
--- a/audio/mods/infogrames.h
+++ b/audio/mods/infogrames.h
@@ -33,7 +33,10 @@
#define SOUND_MODS_INFOGRAMES_H
#include "audio/mods/paula.h"
-#include "common/stream.h"
+
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/mods/maxtrax.cpp b/audio/mods/maxtrax.cpp
index a577c72eed..0738966dab 100644
--- a/audio/mods/maxtrax.cpp
+++ b/audio/mods/maxtrax.cpp
@@ -24,10 +24,10 @@
*/
#include "common/scummsys.h"
-#include "common/endian.h"
#include "common/stream.h"
#include "common/util.h"
#include "common/debug.h"
+#include "common/textconsole.h"
#include "audio/mods/maxtrax.h"
diff --git a/audio/mods/module.cpp b/audio/mods/module.cpp
index 3dad3794f9..987b17bc8d 100644
--- a/audio/mods/module.cpp
+++ b/audio/mods/module.cpp
@@ -27,6 +27,8 @@
#include "common/util.h"
#include "common/endian.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
namespace Modules {
diff --git a/audio/mods/module.h b/audio/mods/module.h
index 550b63617e..c9b72bd2d6 100644
--- a/audio/mods/module.h
+++ b/audio/mods/module.h
@@ -26,7 +26,11 @@
#ifndef SOUND_MODS_MODULE_H
#define SOUND_MODS_MODULE_H
-#include "common/stream.h"
+#include "common/scummsys.h"
+
+namespace Common {
+class SeekableReadStream;
+}
namespace Modules {
diff --git a/audio/mods/protracker.cpp b/audio/mods/protracker.cpp
index 6051338900..f781920505 100644
--- a/audio/mods/protracker.cpp
+++ b/audio/mods/protracker.cpp
@@ -29,6 +29,8 @@
#include "audio/audiostream.h"
+#include "common/textconsole.h"
+
namespace Modules {
class ProtrackerStream : public ::Audio::Paula {
diff --git a/audio/mods/protracker.h b/audio/mods/protracker.h
index af722637c7..fa9895b81f 100644
--- a/audio/mods/protracker.h
+++ b/audio/mods/protracker.h
@@ -33,7 +33,9 @@
#ifndef SOUND_MODS_PROTRACKER_H
#define SOUND_MODS_PROTRACKER_H
-#include "common/stream.h"
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/mods/rjp1.cpp b/audio/mods/rjp1.cpp
index 957bbb933a..eaa99e6928 100644
--- a/audio/mods/rjp1.cpp
+++ b/audio/mods/rjp1.cpp
@@ -25,10 +25,12 @@
#include "common/debug.h"
#include "common/endian.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
+#include "common/util.h"
#include "audio/mods/paula.h"
#include "audio/mods/rjp1.h"
-#include "audio/audiostream.h"
namespace Audio {
diff --git a/audio/mods/rjp1.h b/audio/mods/rjp1.h
index e1960921b2..e3cb0b853d 100644
--- a/audio/mods/rjp1.h
+++ b/audio/mods/rjp1.h
@@ -32,7 +32,9 @@
#ifndef SOUND_MODS_RJP1_H
#define SOUND_MODS_RJP1_H
-#include "common/stream.h"
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/mods/soundfx.cpp b/audio/mods/soundfx.cpp
index 06a1e29514..44fdd65986 100644
--- a/audio/mods/soundfx.cpp
+++ b/audio/mods/soundfx.cpp
@@ -24,10 +24,11 @@
*/
#include "common/endian.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
#include "audio/mods/paula.h"
#include "audio/mods/soundfx.h"
-#include "audio/audiostream.h"
namespace Audio {
diff --git a/audio/mods/soundfx.h b/audio/mods/soundfx.h
index 089c19d292..9dd5240160 100644
--- a/audio/mods/soundfx.h
+++ b/audio/mods/soundfx.h
@@ -32,7 +32,9 @@
#ifndef SOUND_MODS_SOUNDFX_H
#define SOUND_MODS_SOUNDFX_H
-#include "common/stream.h"
+namespace Common {
+class SeekableReadStream;
+}
namespace Audio {
diff --git a/audio/mods/tfmx.cpp b/audio/mods/tfmx.cpp
index 8c69a75ebd..f7cfc50c10 100644
--- a/audio/mods/tfmx.cpp
+++ b/audio/mods/tfmx.cpp
@@ -26,8 +26,8 @@
#include "common/scummsys.h"
#include "common/endian.h"
#include "common/stream.h"
-#include "common/util.h"
#include "common/debug.h"
+#include "common/textconsole.h"
#include "audio/mods/tfmx.h"
diff --git a/audio/mpu401.h b/audio/mpu401.h
index 07e2817381..5f1a5108ac 100644
--- a/audio/mpu401.h
+++ b/audio/mpu401.h
@@ -34,8 +34,6 @@
//
////////////////////////////////////////
-class MidiDriver_MPU401;
-
class MidiChannel_MPU401 : public MidiChannel {
private:
diff --git a/audio/musicplugin.h b/audio/musicplugin.h
index da0e0ff816..53a2ae426d 100644
--- a/audio/musicplugin.h
+++ b/audio/musicplugin.h
@@ -29,6 +29,10 @@
#include "audio/mididrv.h"
#include "common/list.h"
+namespace Common {
+class Error;
+}
+
class MusicPluginObject;
/**
diff --git a/audio/null.cpp b/audio/null.cpp
index 152f5da03e..2066a6d048 100644
--- a/audio/null.cpp
+++ b/audio/null.cpp
@@ -22,6 +22,7 @@
* $Id$
*/
+#include "common/error.h"
#include "audio/null.h"
Common::Error NullMusicPlugin::createInstance(MidiDriver **mididriver, MidiDriver::DeviceHandle) const {
diff --git a/audio/rate.cpp b/audio/rate.cpp
index 1fcf0ade2e..fd52503b8c 100644
--- a/audio/rate.cpp
+++ b/audio/rate.cpp
@@ -35,6 +35,7 @@
#include "audio/rate.h"
#include "audio/mixer.h"
#include "common/frac.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Audio {
diff --git a/audio/rate.h b/audio/rate.h
index fb231e4c4a..af37994d02 100644
--- a/audio/rate.h
+++ b/audio/rate.h
@@ -27,13 +27,11 @@
#define SOUND_RATE_H
#include "common/scummsys.h"
-#include "engines/engine.h"
-
-class AudioStream;
-
namespace Audio {
+class AudioStream;
+
typedef int16 st_sample_t;
typedef uint16 st_volume_t;
typedef uint32 st_size_t;
diff --git a/audio/rate_arm.cpp b/audio/rate_arm.cpp
index 43172f64c8..1eb55d0dc3 100644
--- a/audio/rate_arm.cpp
+++ b/audio/rate_arm.cpp
@@ -48,6 +48,7 @@
#include "audio/rate.h"
#include "audio/mixer.h"
#include "common/util.h"
+#include "common/textconsole.h"
//#define DEBUG_RATECONV
@@ -129,13 +130,11 @@ SimpleRateConverter<stereo, reverseStereo>::SimpleRateConverter(st_rate_t inrate
sr.inLen = 0;
}
-extern "C" {
#ifndef IPHONE
#define ARM_SimpleRate_M _ARM_SimpleRate_M
#define ARM_SimpleRate_S _ARM_SimpleRate_S
#define ARM_SimpleRate_R _ARM_SimpleRate_R
#endif
-}
extern "C" st_sample_t *ARM_SimpleRate_M(
AudioStream &input,
diff --git a/audio/softsynth/adlib.cpp b/audio/softsynth/adlib.cpp
index 9e863471f0..0b5215e5d6 100644
--- a/audio/softsynth/adlib.cpp
+++ b/audio/softsynth/adlib.cpp
@@ -24,6 +24,11 @@
#include "audio/softsynth/emumidi.h"
#include "common/debug.h"
+#include "common/error.h"
+#include "common/scummsys.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "common/types.h"
#include "common/util.h"
#include "audio/fmopl.h"
#include "audio/musicplugin.h"
diff --git a/audio/softsynth/eas.cpp b/audio/softsynth/eas.cpp
index 0339492f5d..7d17655d20 100644
--- a/audio/softsynth/eas.cpp
+++ b/audio/softsynth/eas.cpp
@@ -30,8 +30,11 @@
#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
+#include "common/error.h"
#include "common/file.h"
#include "common/config-manager.h"
+#include "common/system.h"
#include "audio/audiostream.h"
#include "audio/mpu401.h"
#include "audio/musicplugin.h"
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
index f6f66ce5e8..a4877a4ec1 100644
--- a/audio/softsynth/fluidsynth.cpp
+++ b/audio/softsynth/fluidsynth.cpp
@@ -27,6 +27,9 @@
#ifdef USE_FLUIDSYNTH
#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
#include "audio/softsynth/emumidi.h"
diff --git a/audio/softsynth/fmtowns_pc98/towns_audio.cpp b/audio/softsynth/fmtowns_pc98/towns_audio.cpp
index e019aa2481..7b6658ab3a 100644
--- a/audio/softsynth/fmtowns_pc98/towns_audio.cpp
+++ b/audio/softsynth/fmtowns_pc98/towns_audio.cpp
@@ -25,6 +25,7 @@
#include "audio/softsynth/fmtowns_pc98/towns_audio.h"
#include "common/endian.h"
+#include "common/util.h"
#include "backends/audiocd/audiocd.h"
diff --git a/audio/softsynth/fmtowns_pc98/towns_euphony.cpp b/audio/softsynth/fmtowns_pc98/towns_euphony.cpp
index 7c071c43fb..cd3a348b85 100644
--- a/audio/softsynth/fmtowns_pc98/towns_euphony.cpp
+++ b/audio/softsynth/fmtowns_pc98/towns_euphony.cpp
@@ -25,6 +25,8 @@
#include "audio/softsynth/fmtowns_pc98/towns_euphony.h"
#include "common/endian.h"
+#include "common/util.h"
+#include "common/textconsole.h"
TownsEuphonyDriver::TownsEuphonyDriver(Audio::Mixer *mixer) : _activeChannels(0), _sustainChannels(0),
_assignedChannels(0), _paraCount(0), _command(0), _tEnable(0), _tMode(0), _tOrdr(0), _tLevel(0),
@@ -40,6 +42,7 @@ TownsEuphonyDriver::~TownsEuphonyDriver() {
delete[] _activeChannels;
delete[] _sustainChannels;
delete[] _assignedChannels;
+ delete[] _eventBuffer;
delete[] _tEnable;
delete[] _tMode;
delete[] _tOrdr;
@@ -51,6 +54,16 @@ bool TownsEuphonyDriver::init() {
if (!_intf->init())
return false;
+ delete[] _activeChannels;
+ delete[] _sustainChannels;
+ delete[] _assignedChannels;
+ delete[] _eventBuffer;
+ delete[] _tEnable;
+ delete[] _tMode;
+ delete[] _tOrdr;
+ delete[] _tLevel;
+ delete[] _tTranspose;
+
_activeChannels = new int8[16];
_sustainChannels = new int8[16];
_assignedChannels = new ActiveChannel[128];
diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
index 79fd95ea0d..a551276ab1 100644
--- a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
+++ b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
@@ -25,6 +25,7 @@
#include "audio/softsynth/fmtowns_pc98/towns_pc98_driver.h"
#include "common/endian.h"
+#include "common/textconsole.h"
class TownsPC98_MusicChannel {
public:
diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
index 67de8fa026..9d3751a0cc 100644
--- a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
+++ b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
@@ -25,6 +25,8 @@
#include "audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h"
#include "common/endian.h"
+#include "common/textconsole.h"
+#include "common/util.h"
class TownsPC98_FmSynthOperator {
public:
diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h
index 18cca56e29..2b916b2cdc 100644
--- a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h
+++ b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h
@@ -28,7 +28,7 @@
#include "audio/audiostream.h"
#include "audio/mixer.h"
-#include "common/list.h"
+#include "common/mutex.h"
#ifdef __DS__
/* This disables the rhythm channel when emulating the PC-98 type 86 sound card.
diff --git a/audio/softsynth/mt32.cpp b/audio/softsynth/mt32.cpp
index dd2c7e2121..0b84a5623b 100644
--- a/audio/softsynth/mt32.cpp
+++ b/audio/softsynth/mt32.cpp
@@ -34,15 +34,20 @@
#include "common/config-manager.h"
#include "common/debug.h"
+#include "common/error.h"
#include "common/events.h"
#include "common/file.h"
#include "common/system.h"
#include "common/util.h"
#include "common/archive.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#include "graphics/fontman.h"
#include "graphics/surface.h"
+#include "graphics/pixelformat.h"
+#include "graphics/palette.h"
+#include "graphics/font.h"
class MidiChannel_MT32 : public MidiChannel_MPU401 {
void effectLevel(byte value) { }
diff --git a/audio/softsynth/mt32/part.h b/audio/softsynth/mt32/part.h
index 54c4999653..967298258c 100644
--- a/audio/softsynth/mt32/part.h
+++ b/audio/softsynth/mt32/part.h
@@ -24,7 +24,6 @@
namespace MT32Emu {
-class PartialManager;
class Synth;
class Part {
diff --git a/audio/softsynth/mt32/synth.cpp b/audio/softsynth/mt32/synth.cpp
index 16460795a5..4d1c612942 100644
--- a/audio/softsynth/mt32/synth.cpp
+++ b/audio/softsynth/mt32/synth.cpp
@@ -25,8 +25,6 @@
#include "mt32emu.h"
-#include "common/str.h"
-
#if defined(MACOSX) || defined(SOLARIS) || defined(__MINGW32__)
// Older versions of Mac OS X didn't supply a powf function, so using it
// will cause a binary incompatibility when trying to run a binary built
diff --git a/audio/softsynth/mt32/synth.h b/audio/softsynth/mt32/synth.h
index 3fc303d322..edda446287 100644
--- a/audio/softsynth/mt32/synth.h
+++ b/audio/softsynth/mt32/synth.h
@@ -29,7 +29,6 @@ class revmodel;
namespace MT32Emu {
class File;
-class TableInitialiser;
class Partial;
class PartialManager;
class Part;
diff --git a/audio/softsynth/opl/dosbox.cpp b/audio/softsynth/opl/dosbox.cpp
index 29993ce3d8..7a494d70ec 100644
--- a/audio/softsynth/opl/dosbox.cpp
+++ b/audio/softsynth/opl/dosbox.cpp
@@ -36,6 +36,7 @@
#include "common/system.h"
#include "common/scummsys.h"
+#include "common/util.h"
#include <math.h>
#include <string.h>
diff --git a/audio/softsynth/opl/mame.cpp b/audio/softsynth/opl/mame.cpp
index b4bbcb5ab3..5d790f924f 100644
--- a/audio/softsynth/opl/mame.cpp
+++ b/audio/softsynth/opl/mame.cpp
@@ -33,6 +33,9 @@
#include "mame.h"
+#include "common/textconsole.h"
+#include "common/util.h"
+
#if defined (_WIN32_WCE) || defined (__SYMBIAN32__) || defined(__GP32__) || defined(GP2X) || defined (__MAEMO__) || defined(__DS__) || defined (__MINT__) || defined(__N64__)
#include "common/config-manager.h"
#endif
diff --git a/audio/softsynth/opl/mame.h b/audio/softsynth/opl/mame.h
index 58ef5f18dc..4314aa6dba 100644
--- a/audio/softsynth/opl/mame.h
+++ b/audio/softsynth/opl/mame.h
@@ -30,7 +30,6 @@
#define SOUND_SOFTSYNTH_OPL_MAME_H
#include "common/scummsys.h"
-#include "common/util.h"
#include "common/random.h"
#include "audio/fmopl.h"
diff --git a/audio/softsynth/pcspk.h b/audio/softsynth/pcspk.h
index c0d85bbceb..8f01fa852b 100644
--- a/audio/softsynth/pcspk.h
+++ b/audio/softsynth/pcspk.h
@@ -26,7 +26,6 @@
#define SOUND_SOFTSYNTH_PCSPK_H
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "common/mutex.h"
namespace Audio {
diff --git a/audio/softsynth/sid.cpp b/audio/softsynth/sid.cpp
index 241766fa0a..de8f0eeac5 100644
--- a/audio/softsynth/sid.cpp
+++ b/audio/softsynth/sid.cpp
@@ -32,7 +32,6 @@
#include "sid.h"
#include "audio/null.h"
-#include <math.h>
namespace Resid {
diff --git a/audio/softsynth/ym2612.cpp b/audio/softsynth/ym2612.cpp
index 6b3c2aab73..162c92f05a 100644
--- a/audio/softsynth/ym2612.cpp
+++ b/audio/softsynth/ym2612.cpp
@@ -27,7 +27,11 @@
#include "audio/softsynth/ym2612.h"
#include "common/util.h"
#include "audio/musicplugin.h"
+#include "common/error.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "common/translation.h"
+#include "common/types.h"
////////////////////////////////////////
//
diff --git a/backends/audiocd/sdl/sdl-audiocd.cpp b/backends/audiocd/sdl/sdl-audiocd.cpp
index 4136c34403..82c9549a57 100644
--- a/backends/audiocd/sdl/sdl-audiocd.cpp
+++ b/backends/audiocd/sdl/sdl-audiocd.cpp
@@ -27,6 +27,7 @@
#if defined(SDL_BACKEND)
+#include "common/textconsole.h"
#include "backends/audiocd/sdl/sdl-audiocd.h"
SdlAudioCDManager::SdlAudioCDManager()
diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h
index 06db1dc027..73dc60695b 100644
--- a/backends/events/default/default-events.h
+++ b/backends/events/default/default-events.h
@@ -31,10 +31,10 @@
namespace Common {
#ifdef ENABLE_KEYMAPPER
- class Keymapper;
+class Keymapper;
#endif
#ifdef ENABLE_VKEYBD
- class VirtualKeyboard;
+class VirtualKeyboard;
#endif
}
diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp
index ce846a0836..26df03802c 100644
--- a/backends/events/sdl/sdl-events.cpp
+++ b/backends/events/sdl/sdl-events.cpp
@@ -31,6 +31,7 @@
#include "backends/platform/sdl/sdl.h"
#include "backends/graphics/graphics.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
// FIXME move joystick defines out and replace with confile file options
// we should really allow users to map any key to a joystick button
diff --git a/backends/events/webossdl/webossdl-events.cpp b/backends/events/webossdl/webossdl-events.cpp
index fd9628995d..045d077af2 100644
--- a/backends/events/webossdl/webossdl-events.cpp
+++ b/backends/events/webossdl/webossdl-events.cpp
@@ -26,6 +26,7 @@
#ifdef WEBOS
#include "common/scummsys.h"
+#include "common/system.h"
#include "sys/time.h"
#include "time.h"
diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
index 3c043ca986..b50c3a75be 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
@@ -31,6 +31,7 @@
#include "backends/events/dinguxsdl/dinguxsdl-events.h"
#include "graphics/scaler/aspect.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
{"1x", "Standard", GFX_NORMAL},
diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp
index 4f2185ef4b..6d23777903 100644
--- a/backends/graphics/gph/gph-graphics.cpp
+++ b/backends/graphics/gph/gph-graphics.cpp
@@ -28,6 +28,7 @@
#include "backends/events/gph/gph-events.h"
#include "graphics/scaler/aspect.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
{"1x", "Standard", GFX_NORMAL},
diff --git a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp
index c2dcb7f587..ebfd4714d8 100644
--- a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp
+++ b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp
@@ -30,6 +30,7 @@
#include "backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h"
#include "backends/events/linuxmotosdl/linuxmotosdl-events.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
#include "graphics/font.h"
#include "graphics/fontman.h"
#include "graphics/scaler.h"
diff --git a/backends/graphics/opengl/gltexture.h b/backends/graphics/opengl/gltexture.h
index e7951a0c96..238b035425 100644
--- a/backends/graphics/opengl/gltexture.h
+++ b/backends/graphics/opengl/gltexture.h
@@ -42,9 +42,6 @@
#include "graphics/surface.h"
-#include "common/rect.h"
-#include "common/array.h"
-
/**
* OpenGL texture manager class
*/
diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp
index 6641c0d69a..b85cac809e 100644
--- a/backends/graphics/opengl/opengl-graphics.cpp
+++ b/backends/graphics/opengl/opengl-graphics.cpp
@@ -32,6 +32,7 @@
#include "common/config-manager.h"
#include "common/file.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#ifdef USE_OSD
#include "common/tokenizer.h"
diff --git a/backends/graphics/opengl/opengl-graphics.h b/backends/graphics/opengl/opengl-graphics.h
index 374f1c196e..1725817730 100644
--- a/backends/graphics/opengl/opengl-graphics.h
+++ b/backends/graphics/opengl/opengl-graphics.h
@@ -28,7 +28,9 @@
#include "backends/graphics/opengl/gltexture.h"
#include "backends/graphics/graphics.h"
+#include "common/array.h"
#include "common/events.h"
+#include "graphics/pixelformat.h"
// Uncomment this to enable the 'on screen display' code.
#define USE_OSD 1
diff --git a/backends/graphics/openglsdl/openglsdl-graphics.cpp b/backends/graphics/openglsdl/openglsdl-graphics.cpp
index b9022af120..d5ba6ee1e8 100644
--- a/backends/graphics/openglsdl/openglsdl-graphics.cpp
+++ b/backends/graphics/openglsdl/openglsdl-graphics.cpp
@@ -30,6 +30,7 @@
#include "backends/graphics/openglsdl/openglsdl-graphics.h"
#include "backends/platform/sdl/sdl.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
OpenGLSdlGraphicsManager::OpenGLSdlGraphicsManager()
:
diff --git a/backends/graphics/openpandora/op-graphics.cpp b/backends/graphics/openpandora/op-graphics.cpp
index ab6974ba5f..20ee5dfc36 100644
--- a/backends/graphics/openpandora/op-graphics.cpp
+++ b/backends/graphics/openpandora/op-graphics.cpp
@@ -28,7 +28,6 @@
#include "backends/events/openpandora/op-events.h"
#include "backends/platform/openpandora/op-sdl.h"
#include "common/mutex.h"
-#include "common/translation.h"
#include "common/util.h"
#include "graphics/scaler/aspect.h"
diff --git a/backends/graphics/sdl/sdl-graphics.cpp b/backends/graphics/sdl/sdl-graphics.cpp
index 6b20c2f9c2..b3e1138e77 100644
--- a/backends/graphics/sdl/sdl-graphics.cpp
+++ b/backends/graphics/sdl/sdl-graphics.cpp
@@ -32,6 +32,7 @@
#include "backends/platform/sdl/sdl.h"
#include "common/config-manager.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#include "common/util.h"
#ifdef USE_RGB_COLOR
diff --git a/backends/graphics/sdl/sdl-graphics.h b/backends/graphics/sdl/sdl-graphics.h
index f467c38d5f..4895b240b0 100644
--- a/backends/graphics/sdl/sdl-graphics.h
+++ b/backends/graphics/sdl/sdl-graphics.h
@@ -27,6 +27,7 @@
#define BACKENDS_GRAPHICS_SDL_H
#include "backends/graphics/graphics.h"
+#include "graphics/pixelformat.h"
#include "graphics/scaler.h"
#include "common/events.h"
#include "common/system.h"
diff --git a/backends/graphics/wincesdl/wincesdl-graphics.cpp b/backends/graphics/wincesdl/wincesdl-graphics.cpp
index 37c6624560..b15f86e8fe 100644
--- a/backends/graphics/wincesdl/wincesdl-graphics.cpp
+++ b/backends/graphics/wincesdl/wincesdl-graphics.cpp
@@ -28,6 +28,7 @@
#ifdef _WIN32_WCE
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#include "common/mutex.h"
diff --git a/backends/keymapper/hardware-key.h b/backends/keymapper/hardware-key.h
index 7c608a53fc..b6d9dbf042 100644
--- a/backends/keymapper/hardware-key.h
+++ b/backends/keymapper/hardware-key.h
@@ -31,6 +31,7 @@
#ifdef ENABLE_KEYMAPPER
#include "backends/keymapper/types.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp
index 2f913055fc..8edc26a526 100644
--- a/backends/keymapper/remap-dialog.cpp
+++ b/backends/keymapper/remap-dialog.cpp
@@ -26,6 +26,7 @@
#ifdef ENABLE_KEYMAPPER
+#include "common/system.h"
#include "gui/gui-manager.h"
#include "gui/widgets/popup.h"
#include "gui/widgets/scrollbar.h"
diff --git a/backends/keymapper/remap-dialog.h b/backends/keymapper/remap-dialog.h
index 2c0e79a79d..5721d368a4 100644
--- a/backends/keymapper/remap-dialog.h
+++ b/backends/keymapper/remap-dialog.h
@@ -33,8 +33,10 @@
#include "gui/dialog.h"
namespace GUI {
- class PopupWidget;
- class ScrollBarWidget;
+class ButtonWidget;
+class PopUpWidget;
+class ScrollBarWidget;
+class StaticTextWidget;
}
namespace Common {
diff --git a/backends/midi/alsa.cpp b/backends/midi/alsa.cpp
index 2257f60e27..5110734a18 100644
--- a/backends/midi/alsa.cpp
+++ b/backends/midi/alsa.cpp
@@ -30,6 +30,8 @@
#if defined(USE_ALSA)
#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
diff --git a/backends/midi/camd.cpp b/backends/midi/camd.cpp
index ee3baaadd2..cc791cf7c0 100644
--- a/backends/midi/camd.cpp
+++ b/backends/midi/camd.cpp
@@ -29,6 +29,8 @@
#if defined(__amigaos4__)
+#include "common/textconsole.h"
+#include "common/error.h"
#include "common/endian.h"
#include "common/util.h"
#include "audio/musicplugin.h"
@@ -135,8 +137,8 @@ void MidiDriver_CAMD::sysEx(const byte *msg, uint16 length) {
char *MidiDriver_CAMD::getDevice() {
char *retname = NULL;
- APTR key;
- if (key = _ICamd->LockCAMD(CD_Linkages)) {
+ APTR key = _ICamd->LockCAMD(CD_Linkages);
+ if (key != NULL) {
struct MidiCluster *cluster = _ICamd->NextCluster(NULL);
while (cluster && !retname) {
diff --git a/backends/midi/coreaudio.cpp b/backends/midi/coreaudio.cpp
index 0158cc4a1d..52d32cb5e3 100644
--- a/backends/midi/coreaudio.cpp
+++ b/backends/midi/coreaudio.cpp
@@ -41,6 +41,8 @@
#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
diff --git a/backends/midi/coremidi.cpp b/backends/midi/coremidi.cpp
index 9123c9bc8c..87cd6307ba 100644
--- a/backends/midi/coremidi.cpp
+++ b/backends/midi/coremidi.cpp
@@ -30,6 +30,8 @@
#ifdef MACOSX
#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
diff --git a/backends/midi/seq.cpp b/backends/midi/seq.cpp
index 7cd7f0a38e..b90a9b19e0 100644
--- a/backends/midi/seq.cpp
+++ b/backends/midi/seq.cpp
@@ -35,6 +35,8 @@
#if defined(USE_SEQ_MIDI)
+#include "common/error.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
diff --git a/backends/midi/timidity.cpp b/backends/midi/timidity.cpp
index c01b9bbef7..dd76196ae0 100644
--- a/backends/midi/timidity.cpp
+++ b/backends/midi/timidity.cpp
@@ -41,13 +41,13 @@
#if defined(USE_TIMIDITY)
-#include "common/util.h"
#include "common/endian.h"
+#include "common/error.h"
#include "common/str.h"
+#include "common/textconsole.h"
#include "audio/musicplugin.h"
#include "audio/mpu401.h"
-#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
diff --git a/backends/midi/windows.cpp b/backends/midi/windows.cpp
index aad7f48d94..292bbea79e 100644
--- a/backends/midi/windows.cpp
+++ b/backends/midi/windows.cpp
@@ -38,6 +38,8 @@
#include "audio/mpu401.h"
#include "common/config-manager.h"
#include "common/translation.h"
+#include "common/textconsole.h"
+#include "common/error.h"
#include <mmsystem.h>
diff --git a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp
index 6b0074862e..93c779ea5f 100644
--- a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp
+++ b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp
@@ -23,7 +23,7 @@
*
*/
-#if defined(MACOSX) || defined(GP2X)
+#if defined(MACOSX) || defined(GP2X) || defined(CAANOO) || defined(GP2XWIZ)
#include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h"
diff --git a/backends/mixer/sdl/sdl-mixer.cpp b/backends/mixer/sdl/sdl-mixer.cpp
index fa2bf3e232..90629954c5 100644
--- a/backends/mixer/sdl/sdl-mixer.cpp
+++ b/backends/mixer/sdl/sdl-mixer.cpp
@@ -26,8 +26,10 @@
#if defined(SDL_BACKEND)
#include "backends/mixer/sdl/sdl-mixer.h"
+#include "common/debug.h"
#include "common/system.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#ifdef GP2X
#define SAMPLES_PER_SEC 11025
diff --git a/backends/mixer/wincesdl/wincesdl-mixer.cpp b/backends/mixer/wincesdl/wincesdl-mixer.cpp
index fb8a7d10c7..17cf0ced49 100644
--- a/backends/mixer/wincesdl/wincesdl-mixer.cpp
+++ b/backends/mixer/wincesdl/wincesdl-mixer.cpp
@@ -32,14 +32,19 @@
#include "backends/platform/wince/wince-sdl.h"
#include "backends/mixer/wincesdl/wincesdl-mixer.h"
#include "common/system.h"
+#include "common/textconsole.h"
#ifdef USE_VORBIS
#ifndef USE_TREMOR
#include <vorbis/vorbisfile.h>
#else
+#ifdef USE_TREMOLO
+#include <tremolo/ivorbisfile.h>
+#else
#include <tremor/ivorbisfile.h>
#endif
#endif
+#endif
#define SAMPLES_PER_SEC_OLD 11025
#define SAMPLES_PER_SEC_NEW 22050
diff --git a/backends/modular-backend.cpp b/backends/modular-backend.cpp
index 19cba89af3..b691250289 100644
--- a/backends/modular-backend.cpp
+++ b/backends/modular-backend.cpp
@@ -26,12 +26,14 @@
#include "backends/modular-backend.h"
#include "backends/fs/fs-factory.h"
-#include "backends/events/default/default-events.h"
-#include "backends/audiocd/default/default-audiocd.h"
-#include "backends/mutex/null/null-mutex.h"
-#include "backends/graphics/null/null-graphics.h"
+#include "backends/audiocd/audiocd.h"
+#include "backends/graphics/graphics.h"
+#include "backends/mutex/mutex.h"
+#include "audio/mixer.h"
+#include "common/events.h"
#include "gui/message.h"
+#include "graphics/pixelformat.h"
ModularBackend::ModularBackend()
:
diff --git a/backends/module.mk b/backends/module.mk
index 426409ab73..cd0e2a56de 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -75,11 +75,6 @@ MODULE_OBJS := \
vkeybd/virtual-keyboard-gui.o \
vkeybd/virtual-keyboard-parser.o
-ifeq ($(BACKEND),dc)
-MODULE_OBJS += \
- plugins/dc/dc-provider.o
-endif
-
ifeq ($(BACKEND),ds)
MODULE_OBJS += \
fs/ds/ds-fs-factory.o \
diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp
index bbfdb06b8d..c7f62f523b 100644
--- a/backends/platform/android/android.cpp
+++ b/backends/platform/android/android.cpp
@@ -32,6 +32,7 @@
#include <unistd.h>
#include "common/util.h"
+#include "common/textconsole.h"
#include "common/rect.h"
#include "common/queue.h"
#include "common/mutex.h"
diff --git a/backends/platform/android/android.h b/backends/platform/android/android.h
index 6eebdb97d9..109d252a99 100644
--- a/backends/platform/android/android.h
+++ b/backends/platform/android/android.h
@@ -31,6 +31,7 @@
#include "common/fs.h"
#include "common/archive.h"
#include "audio/mixer_intern.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "backends/base-backend.h"
#include "backends/plugins/posix/posix-provider.h"
diff --git a/backends/platform/android/asset-archive.cpp b/backends/platform/android/asset-archive.cpp
index 8e95029894..7c21b35281 100644
--- a/backends/platform/android/asset-archive.cpp
+++ b/backends/platform/android/asset-archive.cpp
@@ -35,6 +35,7 @@
#include "common/util.h"
#include "common/archive.h"
#include "common/debug.h"
+#include "common/textconsole.h"
#include "backends/platform/android/jni.h"
#include "backends/platform/android/asset-archive.h"
diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp
index 08a1491998..f23d71b2a4 100644
--- a/backends/platform/android/jni.cpp
+++ b/backends/platform/android/jni.cpp
@@ -28,6 +28,8 @@
#include "base/main.h"
#include "base/version.h"
#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/textconsole.h"
#include "engines/engine.h"
#include "backends/platform/android/android.h"
diff --git a/backends/platform/dc/Makefile b/backends/platform/dc/Makefile
index 637f474b4b..11d9421a0a 100644
--- a/backends/platform/dc/Makefile
+++ b/backends/platform/dc/Makefile
@@ -65,7 +65,7 @@ ENABLE_TOUCHE = $(ENABLED)
ENABLE_TUCKER = $(ENABLED)
OBJS := dcmain.o time.o display.o audio.o input.o selector.o icon.o \
- label.o vmsave.o softkbd.o dcloader.o cache.o dc-fs.o
+ label.o vmsave.o softkbd.o dcloader.o cache.o dc-fs.o plugins.o
MODULE_DIRS += ./
diff --git a/backends/platform/dc/dc.h b/backends/platform/dc/dc.h
index 76c4b8cfd2..060eff2b48 100644
--- a/backends/platform/dc/dc.h
+++ b/backends/platform/dc/dc.h
@@ -26,11 +26,15 @@
#include "backends/base-backend.h"
#include <graphics/surface.h>
#include <graphics/colormasks.h>
+#include <graphics/palette.h>
#include <ronin/soundcommon.h>
#include "backends/timer/default/default-timer.h"
#include "backends/audiocd/default/default-audiocd.h"
#include "backends/fs/fs-factory.h"
#include "audio/mixer_intern.h"
+#ifdef DYNAMIC_MODULES
+#include "backends/plugins/dynamic-plugin.h"
+#endif
#define NUM_BUFFERS 4
#define SOUND_BUFFER_SHIFT 3
@@ -69,7 +73,11 @@ class DCCDManager : public DefaultAudioCDManager {
void updateCD();
};
-class OSystem_Dreamcast : private DCHardware, public BaseBackend, public PaletteManager, public FilesystemFactory {
+class OSystem_Dreamcast : private DCHardware, public BaseBackend, public PaletteManager, public FilesystemFactory
+#ifdef DYNAMIC_MODULES
+ , public FilePluginProvider
+#endif
+ {
public:
OSystem_Dreamcast();
@@ -250,6 +258,14 @@ public:
void logMessage(LogMessageType::Type type, const char *message);
Common::String getSystemLanguage() const;
+
+#ifdef DYNAMIC_MODULES
+ class DCPlugin;
+
+ protected:
+ Plugin* createPlugin(const Common::FSNode &node) const;
+ bool isPluginFilename(const Common::FSNode &node) const;
+#endif
};
diff --git a/backends/platform/dc/dcmain.cpp b/backends/platform/dc/dcmain.cpp
index bbd4f994f7..f9640130d3 100644
--- a/backends/platform/dc/dcmain.cpp
+++ b/backends/platform/dc/dcmain.cpp
@@ -33,7 +33,6 @@
#include <common/config-manager.h>
#include <common/memstream.h>
-#include "backends/plugins/dc/dc-provider.h"
#include "audio/mixer_intern.h"
@@ -336,7 +335,7 @@ int main()
g_system = &osys_dc;
#ifdef DYNAMIC_MODULES
- PluginManager::instance().addPluginProvider(new DCPluginProvider());
+ PluginManager::instance().addPluginProvider(&osys_dc);
#endif
scummvm_main(argc, argv);
diff --git a/backends/platform/dc/dreamcast.mk b/backends/platform/dc/dreamcast.mk
index 8651a2936c..666e03eece 100644
--- a/backends/platform/dc/dreamcast.mk
+++ b/backends/platform/dc/dreamcast.mk
@@ -35,3 +35,7 @@ ip.txt : $(srcdir)/backends/platform/dc/ip.txt.in
ver="V$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)"; fi; \
sed -e 's/[@]VERSION[@]/'"$$ver"/ -e 's/[@]DATE[@]/$(shell date '+%Y%m%d')/' < $< > $@
+
+dcdist : dist
+ mkdir -p dcdist/scummvm
+ cp scummvm.elf SCUMMVM.BIN IP.BIN *.PLG dcdist/scummvm/
diff --git a/backends/platform/dc/module.mk b/backends/platform/dc/module.mk
index c52ca1a474..9ab287c080 100644
--- a/backends/platform/dc/module.mk
+++ b/backends/platform/dc/module.mk
@@ -1,7 +1,7 @@
MODULE := backends/platform/dc
MODULE_OBJS := dcmain.o time.o display.o audio.o input.o selector.o icon.o \
- label.o vmsave.o softkbd.o dcloader.o cache.o dc-fs.o
+ label.o vmsave.o softkbd.o dcloader.o cache.o dc-fs.o plugins.o
# We don't use rules.mk but rather manually update OBJS and MODULE_DIRS.
MODULE_OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS))
diff --git a/backends/plugins/dc/dc-provider.cpp b/backends/platform/dc/plugins.cpp
index 86ef68828c..44b8960513 100644
--- a/backends/plugins/dc/dc-provider.cpp
+++ b/backends/platform/dc/plugins.cpp
@@ -25,16 +25,50 @@
#include "common/scummsys.h"
-#if defined(DYNAMIC_MODULES) && defined(__DC__)
+#if defined(DYNAMIC_MODULES)
-#include "backends/plugins/dc/dc-provider.h"
#include "backends/plugins/dynamic-plugin.h"
#include "common/fs.h"
#include "dcloader.h"
+extern void draw_solid_quad(float x1, float y1, float x2, float y2,
+ int c0, int c1, int c2, int c3);
+
+static void drawPluginProgress(const Common::String &filename)
+{
+ ta_sync();
+ void *mark = ta_txmark();
+ const char *fn = filename.c_str();
+ Label lab1, lab2, lab3;
+ char buf[32];
+ unsigned memleft = 0x8cf00000-((unsigned)sbrk(0));
+ float ffree = memleft*(1.0/(16<<20));
+ int fcol = (memleft < (1<<20)? 0xffff0000:
+ (memleft < (4<<20)? 0xffffff00: 0xff00ff00));
+ snprintf(buf, sizeof(buf), "%dK free memory", memleft>>10);
+ if (fn[0] == '/') fn++;
+ lab1.create_texture("Loading plugins, please wait...");
+ lab2.create_texture(fn);
+ lab3.create_texture(buf);
+ ta_begin_frame();
+ draw_solid_quad(80.0, 270.0, 560.0, 300.0,
+ 0xff808080, 0xff808080, 0xff808080, 0xff808080);
+ draw_solid_quad(85.0, 275.0, 555.0, 295.0,
+ 0xff202020, 0xff202020, 0xff202020, 0xff202020);
+ draw_solid_quad(85.0, 275.0, 85.0+470.0*ffree, 295.0,
+ fcol, fcol, fcol, fcol);
+ ta_commit_end();
+ lab1.draw(100.0, 150.0, 0xffffffff);
+ lab2.draw(100.0, 190.0, 0xffaaffaa);
+ lab3.draw(100.0, 230.0, 0xffffffff);
+ ta_commit_frame();
+ ta_sync();
+ ta_txrelease(mark);
+}
+
-class DCPlugin : public DynamicPlugin {
+class OSystem_Dreamcast::DCPlugin : public DynamicPlugin {
protected:
void *_dlHandle;
@@ -59,6 +93,7 @@ public:
bool loadPlugin() {
assert(!_dlHandle);
+ drawPluginProgress(_filename);
_dlHandle = dlopen(_filename.c_str(), RTLD_LAZY);
if (!_dlHandle) {
@@ -85,11 +120,11 @@ public:
};
-Plugin* DCPluginProvider::createPlugin(const Common::FSNode &node) const {
+Plugin* OSystem_Dreamcast::createPlugin(const Common::FSNode &node) const {
return new DCPlugin(node.getPath());
}
-bool DCPluginProvider::isPluginFilename(const Common::FSNode &node) const {
+bool OSystem_Dreamcast::isPluginFilename(const Common::FSNode &node) const {
// Check the plugin suffix
Common::String filename = node.getName();
if (!filename.hasSuffix(".PLG"))
@@ -98,4 +133,4 @@ bool DCPluginProvider::isPluginFilename(const Common::FSNode &node) const {
return true;
}
-#endif // defined(DYNAMIC_MODULES) && defined(__DC__)
+#endif // defined(DYNAMIC_MODULES)
diff --git a/backends/platform/ds/arm9/source/osystem_ds.h b/backends/platform/ds/arm9/source/osystem_ds.h
index 5e179d1337..b745b4dc6e 100644
--- a/backends/platform/ds/arm9/source/osystem_ds.h
+++ b/backends/platform/ds/arm9/source/osystem_ds.h
@@ -36,6 +36,7 @@
#include "audio/mixer_intern.h"
#include "graphics/surface.h"
#include "graphics/colormasks.h"
+#include "graphics/palette.h"
class OSystem_DS : public BaseBackend, public PaletteManager {
protected:
diff --git a/backends/platform/gph/gph-backend.cpp b/backends/platform/gph/gph-backend.cpp
index 0432974246..375ee37378 100644
--- a/backends/platform/gph/gph-backend.cpp
+++ b/backends/platform/gph/gph-backend.cpp
@@ -26,23 +26,23 @@
#include "backends/platform/sdl/sdl-sys.h"
// #include "backends/platform/gph/gph-options.h"
-#include "backends/platform/gph/gph-sdl.h"
+#include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h"
#include "backends/platform/gph/gph-hw.h"
+#include "backends/platform/gph/gph-sdl.h"
#include "backends/plugins/posix/posix-provider.h"
+#include "backends/saves/default/default-saves.h"
+#include "backends/timer/default/default-timer.h"
+
#include "base/main.h"
#include "common/archive.h"
#include "common/config-manager.h"
#include "common/debug.h"
#include "common/events.h"
-#include "common/util.h"
-
#include "common/file.h"
-#include "base/main.h"
-
-#include "backends/saves/default/default-saves.h"
+#include "common/textconsole.h"
+#include "common/util.h"
-#include "backends/timer/default/default-timer.h"
#include "audio/mixer_intern.h"
#include <stdio.h>
@@ -67,6 +67,14 @@ void OSystem_GPH::initBackend() {
_graphicsManager = new GPHGraphicsManager(_eventSource);
}
+ // Create the mixer manager
+ if (_mixer == 0) {
+ _mixerManager = new DoubleBufferSDLMixerManager();
+
+ // Setup and start mixer
+ _mixerManager->init();
+ }
+
/* Setup default save path to be workingdir/saves */
char savePath[PATH_MAX+1];
diff --git a/backends/platform/gph/gph-sdl.h b/backends/platform/gph/gph-sdl.h
index 51c609d29e..68a641eed7 100644
--- a/backends/platform/gph/gph-sdl.h
+++ b/backends/platform/gph/gph-sdl.h
@@ -32,7 +32,6 @@
#include "backends/events/gph/gph-events.h"
#define __GP2XWIZ__
-#define MIXER_DOUBLE_BUFFERING 1
#ifndef PATH_MAX
#define PATH_MAX 255
diff --git a/backends/platform/iphone/osys_main.h b/backends/platform/iphone/osys_main.h
index 25c3c40cf9..79f596632f 100644
--- a/backends/platform/iphone/osys_main.h
+++ b/backends/platform/iphone/osys_main.h
@@ -30,6 +30,7 @@
#include "audio/mixer_intern.h"
#include "backends/fs/posix/posix-fs-factory.h"
#include "graphics/colormasks.h"
+#include "graphics/palette.h"
#include <AudioToolbox/AudioQueue.h>
diff --git a/backends/platform/n64/osys_n64.h b/backends/platform/n64/osys_n64.h
index 2daa41a9f6..7a84de0449 100644
--- a/backends/platform/n64/osys_n64.h
+++ b/backends/platform/n64/osys_n64.h
@@ -37,6 +37,7 @@
#include "graphics/surface.h"
#include "graphics/colormasks.h"
+#include "graphics/palette.h"
#include "graphics/pixelformat.h"
#include "audio/mixer_intern.h"
diff --git a/backends/platform/openpandora/op-backend.cpp b/backends/platform/openpandora/op-backend.cpp
index 5b333929c9..4c29636e40 100644
--- a/backends/platform/openpandora/op-backend.cpp
+++ b/backends/platform/openpandora/op-backend.cpp
@@ -26,20 +26,17 @@
#include "backends/platform/openpandora/op-sdl.h"
#include "base/main.h"
+#include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h"
#include "backends/saves/default/default-saves.h"
+#include "backends/timer/default/default-timer.h"
#include "common/archive.h"
#include "common/config-manager.h"
#include "common/debug.h"
#include "common/events.h"
-#include "common/util.h"
-
#include "common/file.h"
-#include "base/main.h"
-
-#include "backends/saves/default/default-saves.h"
+#include "common/util.h"
-#include "backends/timer/default/default-timer.h"
#include "audio/mixer_intern.h"
#include <stdio.h>
@@ -78,6 +75,14 @@ void OSystem_OP::initBackend() {
// }
//
+ // Create the mixer manager
+ if (_mixer == 0) {
+ _mixerManager = new DoubleBufferSDLMixerManager();
+
+ // Setup and start mixer
+ _mixerManager->init();
+ }
+
/* Setup default save path to be workingdir/saves */
char savePath[PATH_MAX+1];
diff --git a/backends/platform/openpandora/op-sdl.h b/backends/platform/openpandora/op-sdl.h
index 93c82ca397..9d92472b17 100644
--- a/backends/platform/openpandora/op-sdl.h
+++ b/backends/platform/openpandora/op-sdl.h
@@ -32,7 +32,6 @@
#include "backends/graphics/openpandora/op-graphics.h"
#define __OPENPANDORA__
-#define MIXER_DOUBLE_BUFFERING 1
#ifndef PATH_MAX
#define PATH_MAX 255
diff --git a/backends/platform/ps2/Gs2dScreen.h b/backends/platform/ps2/Gs2dScreen.h
index 358e717cbe..6e842b3f55 100644
--- a/backends/platform/ps2/Gs2dScreen.h
+++ b/backends/platform/ps2/Gs2dScreen.h
@@ -46,7 +46,7 @@ enum GsInterlace {
namespace Graphics {
- struct Surface;
+struct Surface;
}
class Gs2dScreen {
diff --git a/backends/platform/ps2/ps2input.h b/backends/platform/ps2/ps2input.h
index 266f408809..eca5950113 100644
--- a/backends/platform/ps2/ps2input.h
+++ b/backends/platform/ps2/ps2input.h
@@ -32,6 +32,10 @@
class OSystem_PS2;
class Ps2Pad;
+namespace Common {
+struct Event;
+}
+
class Ps2Input {
public:
Ps2Input(OSystem_PS2 *system, bool mouseLoaded, bool kbdLoaded);
diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h
index 37575f399f..54e6f05798 100644
--- a/backends/platform/ps2/systemps2.h
+++ b/backends/platform/ps2/systemps2.h
@@ -28,6 +28,7 @@
#include "common/system.h"
#include "backends/base-backend.h"
+#include "graphics/palette.h"
class DefaultTimerManager;
class DefaultSaveFileManager;
@@ -47,11 +48,11 @@ struct Ps2Mutex {
};
namespace Common {
- class TimerManager;
+class TimerManager;
};
namespace Audio {
- class MixerImpl;
+class MixerImpl;
};
class OSystem_PS2 : public BaseBackend, public PaletteManager {
diff --git a/backends/platform/psp/README.PSP b/backends/platform/psp/README.PSP
index b520022033..dcfa30898c 100644
--- a/backends/platform/psp/README.PSP
+++ b/backends/platform/psp/README.PSP
@@ -1,4 +1,4 @@
-ScummVM-PSP 1.3.0git README
+ScummVM-PSP 1.4.0git README
==============================================================================
Installation
diff --git a/backends/platform/psp/mp3.cpp b/backends/platform/psp/mp3.cpp
index 54476dabfd..0faeacb2f2 100644
--- a/backends/platform/psp/mp3.cpp
+++ b/backends/platform/psp/mp3.cpp
@@ -29,6 +29,7 @@
#include "common/util.h"
#include "common/singleton.h"
#include "common/mutex.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
diff --git a/backends/platform/psp/mp3.h b/backends/platform/psp/mp3.h
index 1d2fe5ec2f..95491d5788 100644
--- a/backends/platform/psp/mp3.h
+++ b/backends/platform/psp/mp3.h
@@ -30,7 +30,7 @@
#include "common/scummsys.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
diff --git a/backends/platform/psp/osys_psp.h b/backends/platform/psp/osys_psp.h
index 051449d4a0..1e4aea70d3 100644
--- a/backends/platform/psp/osys_psp.h
+++ b/backends/platform/psp/osys_psp.h
@@ -29,6 +29,7 @@
#include "common/scummsys.h"
#include "graphics/surface.h"
#include "graphics/colormasks.h"
+#include "graphics/palette.h"
#include "audio/mixer_intern.h"
#include "backends/base-backend.h"
#include "backends/fs/psp/psp-fs-factory.h"
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index d6e79248f9..4694a061a3 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -32,6 +32,7 @@
#include "backends/platform/sdl/sdl.h"
#include "common/config-manager.h"
#include "common/EventRecorder.h"
+#include "common/textconsole.h"
#include "backends/saves/default/default-saves.h"
#include "backends/audiocd/sdl/sdl-audiocd.h"
@@ -378,7 +379,11 @@ void OSystem_SDL::setupIcon() {
unsigned int rgba[256];
unsigned int *icon;
- sscanf(scummvm_icon[0], "%d %d %d %d", &w, &h, &ncols, &nbytes);
+ if (sscanf(scummvm_icon[0], "%d %d %d %d", &w, &h, &ncols, &nbytes) != 4) {
+ warning("Wrong format of scummvm_icon[0] (%s)", scummvm_icon[0]);
+
+ return;
+ }
if ((w > 512) || (h > 512) || (ncols > 255) || (nbytes > 1)) {
warning("Could not load the built-in icon (%d %d %d %d)", w, h, ncols, nbytes);
return;
@@ -393,13 +398,17 @@ void OSystem_SDL::setupIcon() {
unsigned char code;
char color[32];
unsigned int col;
- sscanf(scummvm_icon[1 + i], "%c c %s", &code, color);
+ if (sscanf(scummvm_icon[1 + i], "%c c %s", &code, color) != 2) {
+ warning("Wrong format of scummvm_icon[%d] (%s)", 1 + i, scummvm_icon[1 + i]);
+ }
if (!strcmp(color, "None"))
col = 0x00000000;
else if (!strcmp(color, "black"))
col = 0xFF000000;
else if (color[0] == '#') {
- sscanf(color + 1, "%06x", &col);
+ if (sscanf(color + 1, "%06x", &col) != 1) {
+ warning("Wrong format of color (%s)", color + 1);
+ }
col |= 0xFF000000;
} else {
warning("Could not load the built-in icon (%d %s - %s) ", code, color, scummvm_icon[1 + i]);
diff --git a/backends/platform/sdl/win32/win32.cpp b/backends/platform/sdl/win32/win32.cpp
index 9459263ae2..fffc3a2a75 100644
--- a/backends/platform/sdl/win32/win32.cpp
+++ b/backends/platform/sdl/win32/win32.cpp
@@ -27,6 +27,8 @@
#define FORBIDDEN_SYMBOL_ALLOW_ALL
#include "common/scummsys.h"
+#include "common/error.h"
+#include "common/textconsole.h"
#ifdef WIN32
diff --git a/backends/platform/symbian/AdaptAllMMPs.pl b/backends/platform/symbian/AdaptAllMMPs.pl
index 921f384c65..dbced3126a 100644
--- a/backends/platform/symbian/AdaptAllMMPs.pl
+++ b/backends/platform/symbian/AdaptAllMMPs.pl
@@ -36,6 +36,7 @@ chdir("../../../");
"mmp/scummvm_hugo.mmp",
"mmp/scummvm_toon.mmp",
"mmp/scummvm_lastexpress.mmp",
+ "mmp/scummvm_tsage.mmp",
# Target Platform Project Files
"S60/ScummVM_S60.mmp",
"S60v3/ScummVM_S60v3.mmp",
@@ -111,7 +112,8 @@ ParseModule("_base", "base", \@section_empty); # now in ./TRG/ScummVM_TRG.mmp,
ParseModule("_base", "common", \@section_empty);
ParseModule("_base", "gui", \@section_empty, \@excludes_gui);
ParseModule("_base", "graphics", \@section_empty, \@excludes_graphics);
-ParseModule("_base", "sound", \@section_empty, \@excludes_snd);
+ParseModule("_base", "audio", \@section_empty, \@excludes_snd);
+ParseModule("_base", "video", \@section_empty);
chdir("engines/");
ParseModule("_scumm", "scumm", \@sections_scumm, \@excludes_scumm );
@@ -142,6 +144,7 @@ ParseModule("_mohawk" ,"mohawk", \@section_empty);
ParseModule("_hugo" ,"hugo", \@section_empty);
ParseModule("_toon" ,"toon", \@section_empty);
ParseModule("_lastexpress","lastexpress", \@section_empty);
+ParseModule("_tsage","tsage", \@section_empty);
print "
=======================================================================================
Done. Enjoy :P
diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
index 5c127afaa0..cb1c508fa1 100644
--- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
+++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
@@ -4,7 +4,7 @@
@WorkingEngines = qw(
scumm agos sky queen gob groovie saga drascula
kyra lure agi touche parallaction cine
- cruise made m4 tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon lastexpress
+ cruise made m4 tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon lastexpress tsage
);
@WorkingEngines_1st = qw(
@@ -14,9 +14,10 @@
);
@WorkingEngines_2nd = qw(
- agos sky gob
- kyra lure agi tinsel
- sword1 sword2 draci sci teenagent hugo toon
+ agos sky gob kyra lure
+ agi tinsel sword1 sword2
+ draci sci teenagent hugo toon
+ tsage
);
@TestingEngines = qw(
diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in
index b3bfbab530..2b74bca42b 100644
--- a/backends/platform/symbian/mmp/scummvm_base.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in
@@ -96,11 +96,11 @@ SOURCEPATH ..\..\..\..\gui
//SOURCE Actions.cpp
SOURCEPATH ..\..\..\..\audio
-//START_AUTO_OBJECTS_SOUND_//
+//START_AUTO_OBJECTS_AUDIO_//
// empty base file, will be updated by Perl build scripts
-//STOP_AUTO_OBJECTS_SOUND_//
+//STOP_AUTO_OBJECTS_AUDIO_//
SOURCE softsynth\fmtowns_pc98\towns_pc98_fmsynth.cpp // Included since its excluded by filter
#if defined (WINS)
diff --git a/backends/platform/symbian/mmp/scummvm_tsage.mmp.in b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in
new file mode 100644
index 0000000000..8265d9e772
--- /dev/null
+++ b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in
@@ -0,0 +1,64 @@
+/* ScummVM - Graphic Adventure Engine
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005-2011 The ScummVM project
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+TARGET scummvm_tsage.lib
+TARGETTYPE lib
+OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
+OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
+ALWAYS_BUILD_AS_ARM
+
+//START_AUTO_MACROS_SLAVE//
+
+ // empty base file, will be updated by Perl build scripts
+
+//STOP_AUTO_MACROS_SLAVE//
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..\..\engines\tsage
+
+//START_AUTO_OBJECTS_TSAGE_//
+
+ // empty base file, will be updated by Perl build scripts
+
+//STOP_AUTO_OBJECTS_TSAGE_//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\..\engines
+USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h
index 1c5de2d43c..e8a620475e 100644
--- a/backends/platform/symbian/src/portdefs.h
+++ b/backends/platform/symbian/src/portdefs.h
@@ -35,6 +35,11 @@
#include <e32std.h>
#include <math.h>
+/* define pi */
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif /* M_PI */
+
#define DISABLE_COMMAND_LINE
#if defined(USE_TREMOR) && !defined(USE_VORBIS)
diff --git a/backends/platform/symbian/src/vsnprintf.h b/backends/platform/symbian/src/vsnprintf.h
index 5a9c836ea3..6e75719d55 100644
--- a/backends/platform/symbian/src/vsnprintf.h
+++ b/backends/platform/symbian/src/vsnprintf.h
@@ -1,8 +1,11 @@
/*
- * This is the vsnprintf for scummvm/symbian implementation from the original snprintf.c,
- * all support functions has been removed and vsnprintf renamed to symbian_vsnprintf
+ * This is the vsnprintf for scummvm/symbian implementation from the original
+ * snprintf.c, all support functions has been removed and vsnprintf renamed to
+ * symbian_vsnprintf
+ * According to the homepage this function may be licensed under either the
+ * Frontier Artistic License or the GPL.
+ *
* snprintf.c - a portable implementation of snprintf
- * According to the homepage this function could be licensed as either Frontier Aritistic or GPL.
*
* AUTHOR
* Mark Martinec <mark.martinec@ijs.si>, April 1999.
@@ -244,13 +247,14 @@ int symbian_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap) {
/* if (str_l < str_m) str[str_l++] = *p++; -- this would be sufficient */
/* but the following code achieves better performance for cases
* where format string is long and contains few conversions */
- const char *q = strchr(p+1,'%');
- size_t n = !q ? strlen(p) : (q-p);
+ const char *q = strchr(p + 1, '%');
+ size_t n = !q ? strlen(p) : (q - p);
if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memcpy(str+str_l, p, (n>avail?avail:n));
+ size_t avail = str_m - str_l;
+ fast_memcpy(str + str_l, p, (n > avail ? avail : n));
}
- p += n; str_l += n;
+ p += n;
+ str_l += n;
} else {
const char *starting_p;
size_t min_field_width = 0, precision = 0;
@@ -262,398 +266,453 @@ int symbian_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap) {
char tmp[32];/* temporary buffer for simple numeric->string conversion */
const char *str_arg; /* string address in case of string argument */
- size_t str_arg_l; /* natural field width of arg without padding
+ size_t str_arg_l; /* natural field width of arg without padding
and sign */
- unsigned char uchar_arg;
- /* unsigned char argument value - only defined for c conversion.
- N.B. standard explicitly states the char argument for
- the c conversion is unsigned */
+ unsigned char uchar_arg;
+ /* unsigned char argument value - only defined for c conversion.
+ N.B. standard explicitly states the char argument for
+ the c conversion is unsigned */
- size_t number_of_zeros_to_pad = 0;
- /* number of zeros to be inserted for numeric conversions
- as required by the precision or minimal field width */
+ size_t number_of_zeros_to_pad = 0;
+ /* number of zeros to be inserted for numeric conversions
+ as required by the precision or minimal field width */
- size_t zero_padding_insertion_ind = 0;
- /* index into tmp where zero padding is to be inserted */
+ size_t zero_padding_insertion_ind = 0;
+ /* index into tmp where zero padding is to be inserted */
- char fmt_spec = '\0';
- /* current conversion specifier character */
+ char fmt_spec = '\0';
+ /* current conversion specifier character */
- str_arg = credits;/* just to make compiler happy (defined but not used)*/
- str_arg = NULL;
- starting_p = p; p++; /* skip '%' */
- /* parse flags */
- while (*p == '0' || *p == '-' || *p == '+' ||
- *p == ' ' || *p == '#' || *p == '\'') {
- switch (*p) {
- case '0': zero_padding = 1; break;
- case '-': justify_left = 1; break;
- case '+': force_sign = 1; space_for_positive = 0; break;
- case ' ': force_sign = 1;
- /* If both the ' ' and '+' flags appear, the ' ' flag should be ignored */
- break;
- case '#': alternate_form = 1; break;
- case '\'': break;
- }
- p++;
- }
- /* If the '0' and '-' flags both appear, the '0' flag should be ignored. */
+ str_arg = credits;/* just to make compiler happy (defined but not used)*/
+ str_arg = NULL;
+ starting_p = p;
+ p++; /* skip '%' */
+ /* parse flags */
+ while (*p == '0' || *p == '-' || *p == '+' ||
+ *p == ' ' || *p == '#' || *p == '\'') {
+ switch (*p) {
+ case '0':
+ zero_padding = 1;
+ break;
+ case '-':
+ justify_left = 1;
+ break;
+ case '+':
+ force_sign = 1;
+ space_for_positive = 0;
+ break;
+ case ' ':
+ force_sign = 1;
+ /* If both the ' ' and '+' flags appear, the ' ' flag should be ignored */
+ break;
+ case '#':
+ alternate_form = 1;
+ break;
+ case '\'':
+ break;
+ }
+ p++;
+ }
+ /* If the '0' and '-' flags both appear, the '0' flag should be ignored. */
- /* parse field width */
- if (*p == '*') {
- int j;
- p++; j = va_arg(ap, int);
- if (j >= 0) min_field_width = j;
- else { min_field_width = -j; justify_left = 1; }
- } else if (isdigit((int)(*p))) {
- /* size_t could be wider than unsigned int;
- make sure we treat argument like common implementations do */
- unsigned int uj = *p++ - '0';
- while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
- min_field_width = uj;
- }
- /* parse precision */
- if (*p == '.') {
- p++; precision_specified = 1;
- if (*p == '*') {
- int j = va_arg(ap, int);
- p++;
- if (j >= 0) precision = j;
- else {
- precision_specified = 0; precision = 0;
- /* NOTE:
- * Solaris 2.6 man page claims that in this case the precision
- * should be set to 0. Digital Unix 4.0, HPUX 10 and BSD man page
- * claim that this case should be treated as unspecified precision,
- * which is what we do here.
- */
- }
- } else if (isdigit((int)(*p))) {
- /* size_t could be wider than unsigned int;
- make sure we treat argument like common implementations do */
- unsigned int uj = *p++ - '0';
- while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
- precision = uj;
- }
- }
- /* parse 'h', 'l' and 'll' length modifiers */
- if (*p == 'h' || *p == 'l') {
- length_modifier = *p; p++;
- if (length_modifier == 'l' && *p == 'l') { /* double l = long long */
+ /* parse field width */
+ if (*p == '*') {
+ int j;
+ p++;
+ j = va_arg(ap, int);
+ if (j >= 0) min_field_width = j;
+ else { min_field_width = -j; justify_left = 1; }
+ } else if (isdigit((int)(*p))) {
+ /* size_t could be wider than unsigned int;
+ make sure we treat argument like common implementations do */
+ unsigned int uj = *p++ - '0';
+ while (isdigit((int)(*p))) uj = 10 * uj + (unsigned int)(*p++ - '0');
+ min_field_width = uj;
+ }
+ /* parse precision */
+ if (*p == '.') {
+ p++;
+ precision_specified = 1;
+ if (*p == '*') {
+ int j = va_arg(ap, int);
+ p++;
+ if (j >= 0) precision = j;
+ else {
+ precision_specified = 0;
+ precision = 0;
+ /* NOTE:
+ * Solaris 2.6 man page claims that in this case the precision
+ * should be set to 0. Digital Unix 4.0, HPUX 10 and BSD man page
+ * claim that this case should be treated as unspecified precision,
+ * which is what we do here.
+ */
+ }
+ } else if (isdigit((int)(*p))) {
+ /* size_t could be wider than unsigned int;
+ make sure we treat argument like common implementations do */
+ unsigned int uj = *p++ - '0';
+ while (isdigit((int)(*p))) uj = 10 * uj + (unsigned int)(*p++ - '0');
+ precision = uj;
+ }
+ }
+ /* parse 'h', 'l' and 'll' length modifiers */
+ if (*p == 'h' || *p == 'l') {
+ length_modifier = *p;
+ p++;
+ if (length_modifier == 'l' && *p == 'l') { /* double l = long long */
#ifdef SNPRINTF_LONGLONG_SUPPORT
- length_modifier = '2'; /* double l encoded as '2' */
+ length_modifier = '2'; /* double l encoded as '2' */
#else
- length_modifier = 'l'; /* treat it as a single 'l' */
+ length_modifier = 'l'; /* treat it as a single 'l' */
#endif
- p++;
- }
- }
- fmt_spec = *p;
- /* common synonyms: */
- switch (fmt_spec) {
- case 'i': fmt_spec = 'd'; break;
- case 'D': fmt_spec = 'd'; length_modifier = 'l'; break;
- case 'U': fmt_spec = 'u'; length_modifier = 'l'; break;
- case 'O': fmt_spec = 'o'; length_modifier = 'l'; break;
- default: break;
- }
- /* get parameter value, do initial processing */
- switch (fmt_spec) {
- case '%': /* % behaves similar to 's' regarding flags and field widths */
- case 'c': /* c behaves similar to 's' regarding flags and field widths */
- case 's':
- length_modifier = '\0'; /* wint_t and wchar_t not supported */
- /* the result of zero padding flag with non-numeric conversion specifier*/
- /* is undefined. Solaris and HPUX 10 does zero padding in this case, */
- /* Digital Unix and Linux does not. */
- zero_padding = 0; /* turn zero padding off for string conversions */
- str_arg_l = 1;
- switch (fmt_spec) {
- case '%':
- str_arg = p; break;
- case 'c': {
- int j = va_arg(ap, int);
- uchar_arg = (unsigned char) j; /* standard demands unsigned char */
- str_arg = (const char *) &uchar_arg;
- break;
- }
- case 's':
- str_arg = va_arg(ap, const char *);
- if (!str_arg) str_arg_l = 0;
- /* make sure not to address string beyond the specified precision !!! */
- else if (!precision_specified) str_arg_l = strlen(str_arg);
- /* truncate string if necessary as requested by precision */
- else if (precision == 0) str_arg_l = 0;
- else {
- /* memchr on HP does not like n > 2^31 !!! */
- const char *q = (const char*) memchr(str_arg, '\0',
- precision <= 0x7fffffff ? precision : 0x7fffffff);
- str_arg_l = !q ? precision : (q-str_arg);
- }
- break;
- default: break;
- }
- break;
- case 'd': case 'u': case 'o': case 'x': case 'X': case 'p': {
- /* NOTE: the u, o, x, X and p conversion specifiers imply
- the value is unsigned; d implies a signed value */
+ p++;
+ }
+ }
+ fmt_spec = *p;
+ /* common synonyms: */
+ switch (fmt_spec) {
+ case 'i':
+ fmt_spec = 'd';
+ break;
+ case 'D':
+ fmt_spec = 'd';
+ length_modifier = 'l';
+ break;
+ case 'U':
+ fmt_spec = 'u';
+ length_modifier = 'l';
+ break;
+ case 'O':
+ fmt_spec = 'o';
+ length_modifier = 'l';
+ break;
+ default:
+ break;
+ }
+ /* get parameter value, do initial processing */
+ switch (fmt_spec) {
+ case '%': /* % behaves similar to 's' regarding flags and field widths */
+ case 'c': /* c behaves similar to 's' regarding flags and field widths */
+ case 's':
+ length_modifier = '\0'; /* wint_t and wchar_t not supported */
+ /* the result of zero padding flag with non-numeric conversion specifier*/
+ /* is undefined. Solaris and HPUX 10 does zero padding in this case, */
+ /* Digital Unix and Linux does not. */
+ zero_padding = 0; /* turn zero padding off for string conversions */
+ str_arg_l = 1;
+ switch (fmt_spec) {
+ case '%':
+ str_arg = p;
+ break;
+ case 'c': {
+ int j = va_arg(ap, int);
+ uchar_arg = (unsigned char) j; /* standard demands unsigned char */
+ str_arg = (const char *) & uchar_arg;
+ break;
+ }
+ case 's':
+ str_arg = va_arg(ap, const char *);
+ if (!str_arg) str_arg_l = 0;
+ /* make sure not to address string beyond the specified precision !!! */
+ else if (!precision_specified) str_arg_l = strlen(str_arg);
+ /* truncate string if necessary as requested by precision */
+ else if (precision == 0) str_arg_l = 0;
+ else {
+ /* memchr on HP does not like n > 2^31 !!! */
+ const char *q = (const char*) memchr(str_arg, '\0',
+ precision <= 0x7fffffff ? precision : 0x7fffffff);
+ str_arg_l = !q ? precision : (q - str_arg);
+ }
+ break;
+ default:
+ break;
+ }
+ break;
+ case 'd':
+ case 'u':
+ case 'o':
+ case 'x':
+ case 'X':
+ case 'p': {
+ /* NOTE: the u, o, x, X and p conversion specifiers imply
+ the value is unsigned; d implies a signed value */
- int arg_sign = 0;
- /* 0 if numeric argument is zero (or if pointer is NULL for 'p'),
- +1 if greater than zero (or nonzero for unsigned arguments),
- -1 if negative (unsigned argument is never negative) */
+ int arg_sign = 0;
+ /* 0 if numeric argument is zero (or if pointer is NULL for 'p'),
+ +1 if greater than zero (or nonzero for unsigned arguments),
+ -1 if negative (unsigned argument is never negative) */
- int int_arg = 0; unsigned int uint_arg = 0;
- /* only defined for length modifier h, or for no length modifiers */
+ int int_arg = 0;
+ unsigned int uint_arg = 0;
+ /* only defined for length modifier h, or for no length modifiers */
- long int long_arg = 0; unsigned long int ulong_arg = 0;
- /* only defined for length modifier l */
+ long int long_arg = 0;
+ unsigned long int ulong_arg = 0;
+ /* only defined for length modifier l */
- void *ptr_arg = NULL;
- /* pointer argument value -only defined for p conversion */
+ void *ptr_arg = NULL;
+ /* pointer argument value -only defined for p conversion */
#ifdef SNPRINTF_LONGLONG_SUPPORT
- long long int long_long_arg = 0;
- unsigned long long int ulong_long_arg = 0;
- /* only defined for length modifier ll */
+ long long int long_long_arg = 0;
+ unsigned long long int ulong_long_arg = 0;
+ /* only defined for length modifier ll */
#endif
- if (fmt_spec == 'p') {
- /* HPUX 10: An l, h, ll or L before any other conversion character
- * (other than d, i, u, o, x, or X) is ignored.
- * Digital Unix:
- * not specified, but seems to behave as HPUX does.
- * Solaris: If an h, l, or L appears before any other conversion
- * specifier (other than d, i, u, o, x, or X), the behavior
- * is undefined. (Actually %hp converts only 16-bits of address
- * and %llp treats address as 64-bit data which is incompatible
- * with (void *) argument on a 32-bit system).
- */
- length_modifier = '\0';
- ptr_arg = va_arg(ap, void *);
- if (ptr_arg != NULL) arg_sign = 1;
- } else if (fmt_spec == 'd') { /* signed */
- switch (length_modifier) {
- case '\0':
- case 'h':
- /* It is non-portable to specify a second argument of char or short
- * to va_arg, because arguments seen by the called function
- * are not char or short. C converts char and short arguments
- * to int before passing them to a function.
- */
- int_arg = va_arg(ap, int);
- if (int_arg > 0) arg_sign = 1;
- else if (int_arg < 0) arg_sign = -1;
- break;
- case 'l':
- long_arg = va_arg(ap, long int);
- if (long_arg > 0) arg_sign = 1;
- else if (long_arg < 0) arg_sign = -1;
- break;
+ if (fmt_spec == 'p') {
+ /* HPUX 10: An l, h, ll or L before any other conversion character
+ * (other than d, i, u, o, x, or X) is ignored.
+ * Digital Unix:
+ * not specified, but seems to behave as HPUX does.
+ * Solaris: If an h, l, or L appears before any other conversion
+ * specifier (other than d, i, u, o, x, or X), the behavior
+ * is undefined. (Actually %hp converts only 16-bits of address
+ * and %llp treats address as 64-bit data which is incompatible
+ * with (void *) argument on a 32-bit system).
+ */
+ length_modifier = '\0';
+ ptr_arg = va_arg(ap, void *);
+ if (ptr_arg != NULL) arg_sign = 1;
+ } else if (fmt_spec == 'd') { /* signed */
+ switch (length_modifier) {
+ case '\0':
+ case 'h':
+ /* It is non-portable to specify a second argument of char or short
+ * to va_arg, because arguments seen by the called function
+ * are not char or short. C converts char and short arguments
+ * to int before passing them to a function.
+ */
+ int_arg = va_arg(ap, int);
+ if (int_arg > 0) arg_sign = 1;
+ else if (int_arg < 0) arg_sign = -1;
+ break;
+ case 'l':
+ long_arg = va_arg(ap, long int);
+ if (long_arg > 0) arg_sign = 1;
+ else if (long_arg < 0) arg_sign = -1;
+ break;
#ifdef SNPRINTF_LONGLONG_SUPPORT
- case '2':
- long_long_arg = va_arg(ap, long long int);
- if (long_long_arg > 0) arg_sign = 1;
- else if (long_long_arg < 0) arg_sign = -1;
- break;
+ case '2':
+ long_long_arg = va_arg(ap, long long int);
+ if (long_long_arg > 0) arg_sign = 1;
+ else if (long_long_arg < 0) arg_sign = -1;
+ break;
#endif
- }
- } else { /* unsigned */
- switch (length_modifier) {
- case '\0':
- case 'h':
- uint_arg = va_arg(ap, unsigned int);
- if (uint_arg) arg_sign = 1;
- break;
- case 'l':
- ulong_arg = va_arg(ap, unsigned long int);
- if (ulong_arg) arg_sign = 1;
- break;
+ }
+ } else { /* unsigned */
+ switch (length_modifier) {
+ case '\0':
+ case 'h':
+ uint_arg = va_arg(ap, unsigned int);
+ if (uint_arg) arg_sign = 1;
+ break;
+ case 'l':
+ ulong_arg = va_arg(ap, unsigned long int);
+ if (ulong_arg) arg_sign = 1;
+ break;
#ifdef SNPRINTF_LONGLONG_SUPPORT
- case '2':
- ulong_long_arg = va_arg(ap, unsigned long long int);
- if (ulong_long_arg) arg_sign = 1;
- break;
+ case '2':
+ ulong_long_arg = va_arg(ap, unsigned long long int);
+ if (ulong_long_arg) arg_sign = 1;
+ break;
#endif
- }
- }
- str_arg = tmp; str_arg_l = 0;
- /* NOTE:
- * For d, i, u, o, x, and X conversions, if precision is specified,
- * the '0' flag should be ignored. This is so with Solaris 2.6,
- * Digital UNIX 4.0, HPUX 10, Linux, FreeBSD, NetBSD; but not with Perl.
- */
- if (precision_specified) zero_padding = 0;
- if (fmt_spec == 'd') {
- if (force_sign && arg_sign >= 0)
- tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
- /* leave negative numbers for sprintf to handle,
- to avoid handling tricky cases like (short int)(-32768) */
- } else if (alternate_form) {
- if (arg_sign != 0 && (fmt_spec == 'x' || fmt_spec == 'X') )
- { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = fmt_spec; }
- /* alternate form should have no effect for p conversion, but ... */
- }
- zero_padding_insertion_ind = str_arg_l;
- if (!precision_specified) precision = 1; /* default precision is 1 */
- if (precision == 0 && arg_sign == 0
- ) {
- /* converted to null string */
- /* When zero value is formatted with an explicit precision 0,
- the resulting formatted string is empty (d, i, u, o, x, X, p). */
- } else {
- char f[5]; int f_l = 0;
- f[f_l++] = '%'; /* construct a simple format string for sprintf */
- if (!length_modifier) { }
- else if (length_modifier=='2') { f[f_l++] = 'l'; f[f_l++] = 'l'; }
- else f[f_l++] = length_modifier;
- f[f_l++] = fmt_spec; f[f_l++] = '\0';
- if (fmt_spec == 'p') str_arg_l += sprintf(tmp+str_arg_l, f, ptr_arg);
- else if (fmt_spec == 'd') { /* signed */
- switch (length_modifier) {
- case '\0':
- case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, int_arg); break;
- case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, long_arg); break;
+ }
+ }
+ str_arg = tmp;
+ str_arg_l = 0;
+ /* NOTE:
+ * For d, i, u, o, x, and X conversions, if precision is specified,
+ * the '0' flag should be ignored. This is so with Solaris 2.6,
+ * Digital UNIX 4.0, HPUX 10, Linux, FreeBSD, NetBSD; but not with Perl.
+ */
+ if (precision_specified) zero_padding = 0;
+ if (fmt_spec == 'd') {
+ if (force_sign && arg_sign >= 0)
+ tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
+ /* leave negative numbers for sprintf to handle,
+ to avoid handling tricky cases like (short int)(-32768) */
+ } else if (alternate_form) {
+ if (arg_sign != 0 && (fmt_spec == 'x' || fmt_spec == 'X'))
+ { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = fmt_spec; }
+ /* alternate form should have no effect for p conversion, but ... */
+ }
+ zero_padding_insertion_ind = str_arg_l;
+ if (!precision_specified) precision = 1; /* default precision is 1 */
+ if (precision == 0 && arg_sign == 0
+ ) {
+ /* converted to null string */
+ /* When zero value is formatted with an explicit precision 0,
+ the resulting formatted string is empty (d, i, u, o, x, X, p). */
+ } else {
+ char f[5];
+ int f_l = 0;
+ f[f_l++] = '%'; /* construct a simple format string for sprintf */
+ if (!length_modifier) { } else if (length_modifier == '2') { f[f_l++] = 'l'; f[f_l++] = 'l'; } else f[f_l++] = length_modifier;
+ f[f_l++] = fmt_spec;
+ f[f_l++] = '\0';
+ if (fmt_spec == 'p') str_arg_l += sprintf(tmp + str_arg_l, f, ptr_arg);
+ else if (fmt_spec == 'd') { /* signed */
+ switch (length_modifier) {
+ case '\0':
+ case 'h':
+ str_arg_l += sprintf(tmp + str_arg_l, f, int_arg);
+ break;
+ case 'l':
+ str_arg_l += sprintf(tmp + str_arg_l, f, long_arg);
+ break;
#ifdef SNPRINTF_LONGLONG_SUPPORT
- case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,long_long_arg); break;
+ case '2':
+ str_arg_l += sprintf(tmp + str_arg_l, f, long_long_arg);
+ break;
#endif
- }
- } else { /* unsigned */
- switch (length_modifier) {
- case '\0':
- case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, uint_arg); break;
- case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, ulong_arg); break;
+ }
+ } else { /* unsigned */
+ switch (length_modifier) {
+ case '\0':
+ case 'h':
+ str_arg_l += sprintf(tmp + str_arg_l, f, uint_arg);
+ break;
+ case 'l':
+ str_arg_l += sprintf(tmp + str_arg_l, f, ulong_arg);
+ break;
#ifdef SNPRINTF_LONGLONG_SUPPORT
- case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,ulong_long_arg);break;
+ case '2':
+ str_arg_l += sprintf(tmp + str_arg_l, f, ulong_long_arg);
+ break;
#endif
- }
- }
- /* include the optional minus sign and possible "0x"
- in the region before the zero padding insertion point */
- if (zero_padding_insertion_ind < str_arg_l &&
- tmp[zero_padding_insertion_ind] == '-') {
- zero_padding_insertion_ind++;
- }
- if (zero_padding_insertion_ind+1 < str_arg_l &&
- tmp[zero_padding_insertion_ind] == '0' &&
- (tmp[zero_padding_insertion_ind+1] == 'x' ||
- tmp[zero_padding_insertion_ind+1] == 'X') ) {
- zero_padding_insertion_ind += 2;
- }
- }
- { size_t num_of_digits = str_arg_l - zero_padding_insertion_ind;
- if (alternate_form && fmt_spec == 'o'
- /* unless zero is already the first character */
- && !(zero_padding_insertion_ind < str_arg_l
- && tmp[zero_padding_insertion_ind] == '0')
- ) { /* assure leading zero for alternate-form octal numbers */
- if (!precision_specified || precision < num_of_digits+1) {
- /* precision is increased to force the first character to be zero,
- except if a zero value is formatted with an explicit precision
- of zero */
- precision = num_of_digits+1; precision_specified = 1;
- }
- }
- /* zero padding to specified precision? */
- if (num_of_digits < precision)
- number_of_zeros_to_pad = precision - num_of_digits;
- }
- /* zero padding to specified minimal field width? */
- if (!justify_left && zero_padding) {
- int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
- if (n > 0) number_of_zeros_to_pad += n;
- }
- break;
- }
- default: /* unrecognized conversion specifier, keep format string as-is*/
- zero_padding = 0; /* turn zero padding off for non-numeric convers. */
- justify_left = 1; min_field_width = 0; /* reset flags */
- /* discard the unrecognized conversion, just keep *
- * the unrecognized conversion character */
- str_arg = p; str_arg_l = 0;
- if (*p) str_arg_l++; /* include invalid conversion specifier unchanged
+ }
+ }
+ /* include the optional minus sign and possible "0x"
+ in the region before the zero padding insertion point */
+ if (zero_padding_insertion_ind < str_arg_l &&
+ tmp[zero_padding_insertion_ind] == '-') {
+ zero_padding_insertion_ind++;
+ }
+ if (zero_padding_insertion_ind + 1 < str_arg_l &&
+ tmp[zero_padding_insertion_ind] == '0' &&
+ (tmp[zero_padding_insertion_ind+1] == 'x' ||
+ tmp[zero_padding_insertion_ind+1] == 'X')) {
+ zero_padding_insertion_ind += 2;
+ }
+ }
+ {
+ size_t num_of_digits = str_arg_l - zero_padding_insertion_ind;
+ if (alternate_form && fmt_spec == 'o'
+ /* unless zero is already the first character */
+ && !(zero_padding_insertion_ind < str_arg_l
+ && tmp[zero_padding_insertion_ind] == '0')
+ ) { /* assure leading zero for alternate-form octal numbers */
+ if (!precision_specified || precision < num_of_digits + 1) {
+ /* precision is increased to force the first character to be zero,
+ except if a zero value is formatted with an explicit precision
+ of zero */
+ precision = num_of_digits + 1;
+ precision_specified = 1;
+ }
+ }
+ /* zero padding to specified precision? */
+ if (num_of_digits < precision)
+ number_of_zeros_to_pad = precision - num_of_digits;
+ }
+ /* zero padding to specified minimal field width? */
+ if (!justify_left && zero_padding) {
+ int n = min_field_width - (str_arg_l + number_of_zeros_to_pad);
+ if (n > 0) number_of_zeros_to_pad += n;
+ }
+ break;
+ }
+ default: /* unrecognized conversion specifier, keep format string as-is*/
+ zero_padding = 0; /* turn zero padding off for non-numeric convers. */
+ justify_left = 1;
+ min_field_width = 0; /* reset flags */
+ /* discard the unrecognized conversion, just keep *
+ * the unrecognized conversion character */
+ str_arg = p;
+ str_arg_l = 0;
+ if (*p) str_arg_l++; /* include invalid conversion specifier unchanged
if not at end-of-string */
- break;
- }
- if (*p) p++; /* step over the just processed conversion specifier */
- /* insert padding to the left as requested by min_field_width;
- this does not include the zero padding in case of numerical conversions*/
- if (!justify_left) { /* left padding with blank or zero */
- int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
- if (n > 0) {
- if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memset(str+str_l, (zero_padding?'0':' '), (n>avail?avail:n));
- }
- str_l += n;
- }
- }
- /* zero padding as requested by the precision or by the minimal field width
- * for numeric conversions required? */
- if (number_of_zeros_to_pad <= 0) {
- /* will not copy first part of numeric right now, *
- * force it to be copied later in its entirety */
- zero_padding_insertion_ind = 0;
- } else {
- /* insert first part of numerics (sign or '0x') before zero padding */
- int n = zero_padding_insertion_ind;
- if (n > 0) {
- if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memcpy(str+str_l, str_arg, (n>avail?avail:n));
- }
- str_l += n;
- }
- /* insert zero padding as requested by the precision or min field width */
- n = number_of_zeros_to_pad;
- if (n > 0) {
- if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memset(str+str_l, '0', (n>avail?avail:n));
- }
- str_l += n;
- }
- }
- /* insert formatted string
- * (or as-is conversion specifier for unknown conversions) */
- { int n = str_arg_l - zero_padding_insertion_ind;
- if (n > 0) {
- if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memcpy(str+str_l, str_arg+zero_padding_insertion_ind,
- (n>avail?avail:n));
- }
- str_l += n;
- }
- }
- /* insert right padding */
- if (justify_left) { /* right blank padding to the field width */
- int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
- if (n > 0) {
- if (str_l < str_m) {
- size_t avail = str_m-str_l;
- fast_memset(str+str_l, ' ', (n>avail?avail:n));
- }
- str_l += n;
- }
- }
- }
- }
- if (str_m > 0) { /* make sure the string is null-terminated
+ break;
+ }
+ if (*p) p++; /* step over the just processed conversion specifier */
+ /* insert padding to the left as requested by min_field_width;
+ this does not include the zero padding in case of numerical conversions*/
+ if (!justify_left) { /* left padding with blank or zero */
+ int n = min_field_width - (str_arg_l + number_of_zeros_to_pad);
+ if (n > 0) {
+ if (str_l < str_m) {
+ size_t avail = str_m - str_l;
+ fast_memset(str + str_l, (zero_padding ? '0' : ' '), (n > avail ? avail : n));
+ }
+ str_l += n;
+ }
+ }
+ /* zero padding as requested by the precision or by the minimal field width
+ * for numeric conversions required? */
+ if (number_of_zeros_to_pad <= 0) {
+ /* will not copy first part of numeric right now, *
+ * force it to be copied later in its entirety */
+ zero_padding_insertion_ind = 0;
+ } else {
+ /* insert first part of numerics (sign or '0x') before zero padding */
+ int n = zero_padding_insertion_ind;
+ if (n > 0) {
+ if (str_l < str_m) {
+ size_t avail = str_m - str_l;
+ fast_memcpy(str + str_l, str_arg, (n > avail ? avail : n));
+ }
+ str_l += n;
+ }
+ /* insert zero padding as requested by the precision or min field width */
+ n = number_of_zeros_to_pad;
+ if (n > 0) {
+ if (str_l < str_m) {
+ size_t avail = str_m - str_l;
+ fast_memset(str + str_l, '0', (n > avail ? avail : n));
+ }
+ str_l += n;
+ }
+ }
+ /* insert formatted string
+ * (or as-is conversion specifier for unknown conversions) */
+ {
+ int n = str_arg_l - zero_padding_insertion_ind;
+ if (n > 0) {
+ if (str_l < str_m) {
+ size_t avail = str_m - str_l;
+ fast_memcpy(str + str_l, str_arg + zero_padding_insertion_ind,
+ (n > avail ? avail : n));
+ }
+ str_l += n;
+ }
+ }
+ /* insert right padding */
+ if (justify_left) { /* right blank padding to the field width */
+ int n = min_field_width - (str_arg_l + number_of_zeros_to_pad);
+ if (n > 0) {
+ if (str_l < str_m) {
+ size_t avail = str_m - str_l;
+ fast_memset(str + str_l, ' ', (n > avail ? avail : n));
+ }
+ str_l += n;
+ }
+ }
+ }
+ }
+ if (str_m > 0) { /* make sure the string is null-terminated
even at the expense of overwriting the last character
(shouldn't happen, but just in case) */
- str[str_l <= str_m-1 ? str_l : str_m-1] = '\0';
- }
- /* Return the number of characters formatted (excluding trailing null
- * character), that is, the number of characters that would have been
- * written to the buffer if it were large enough.
- *
- * The value of str_l should be returned, but str_l is of unsigned type
- * size_t, and snprintf is int, possibly leading to an undetected
- * integer overflow, resulting in a negative return value, which is illegal.
- * Both XSH5 and ISO C99 (at least the draft) are silent on this issue.
- * Should errno be set to EOVERFLOW and EOF returned in this case???
- */
- return (int) str_l;
+ str[str_l <= str_m-1 ? str_l : str_m-1] = '\0';
+ }
+ /* Return the number of characters formatted (excluding trailing null
+ * character), that is, the number of characters that would have been
+ * written to the buffer if it were large enough.
+ *
+ * The value of str_l should be returned, but str_l is of unsigned type
+ * size_t, and snprintf is int, possibly leading to an undetected
+ * integer overflow, resulting in a negative return value, which is illegal.
+ * Both XSH5 and ISO C99 (at least the draft) are silent on this issue.
+ * Should errno be set to EOVERFLOW and EOF returned in this case???
+ */
+ return (int) str_l;
}
int symbian_snprintf(char *text, size_t maxlen, const char *fmt, ...) {
diff --git a/backends/platform/webos/webos.mk b/backends/platform/webos/webos.mk
index 885c9eb90e..22df5622ee 100644
--- a/backends/platform/webos/webos.mk
+++ b/backends/platform/webos/webos.mk
@@ -1,23 +1,70 @@
# WebOS specific build targets
+# ============================================================================
+#
+# Run "make webosrelease" to create a release package to be uploaded to the
+# Palm app catalog.
+#
+# Run "make webosbeta" to create a beta package to be uploaded to the Palm
+# Beta app catalog.
+#
+# Before calling these targets the ScummVM source must be configured for a
+# WebOS build. See
+# http://wiki.scummvm.org/index.php/Compiling_ScummVM/WebOS for details.
+#
+# VER_PACKAGE must be set to a number which is higher than the currently
+# used package version in the app catalog. So when creating an updated
+# package for ScummVM 1.3.9 and the current ScummVM package in the app
+# catalog is version 1.3.0902 then you must specify VER_PACKAGE=3 to create
+# the ScummVM package with version 1.3.0903. Yeah, I know that's ugly but
+# WebOS package version numbers are restricted to three numeric components.
+#
+# As long as Palm doesn't support Team-maintained apps the uploaded packages
+# MUST NOT be packaged with the default "org.scummvm" base id. Instead apps
+# must be uploaded with a user-specific base id. A good practice is using
+# the github user as base id: com.github.<username>. It is also necessary
+# to use a user-specific app name when submitting the created package to the
+# Palm app catalog. Use "ScummVM (<username>)" instead of "ScummVM" and
+# "ScummVM Beta (<username>)" instead of "ScummVM Beta".
PATH_DIST = $(srcdir)/dists/webos
PATH_MOJO = $(PATH_DIST)/mojo
+BASE_APP_ID = org.scummvm
+APP_ID = $(BASE_APP_ID).scummvm
+BETA_APP_ID = $(APP_ID)-beta
+APP_VERSION = $(shell printf "%d.%d.%02d%02d" $(VER_MAJOR) $(VER_MINOR) $(VER_PATCH) $(VER_PACKAGE))
+STAGING_DIR=STAGING/$(APP_ID)
-STAGING_DIR=STAGING/org.scummvm.scummvm
+webosprepare: all
+ $(QUIET)if [ "$(VER_PACKAGE)" = "" ]; \
+ then \
+ echo "ERROR: VER_PACKAGE is not set"; \
+ echo "Example: export VER_PACKAGE=1"; \
+ exit 1; \
+ fi
+ $(QUIET)$(RM_REC) $(STAGING_DIR)
+ $(QUIET)$(MKDIR) $(STAGING_DIR)
+ $(QUIET)$(MKDIR) $(STAGING_DIR)/bin
+ $(QUIET)$(MKDIR) $(STAGING_DIR)/lib
+ $(QUIET)$(MKDIR) $(STAGING_DIR)/share/scummvm
+ $(QUIET)$(CP) $(PATH_MOJO)/* $(STAGING_DIR)
+ $(QUIET)$(CP) gui/themes/translations.dat $(STAGING_DIR)/share/scummvm
+ $(QUIET)$(CP) gui/themes/scummmodern.zip $(STAGING_DIR)/share/scummvm
+ $(QUIET)$(CP) scummvm $(STAGING_DIR)/bin
+ $(QUIET)$(STRIP) $(STAGING_DIR)/bin/scummvm
+ $(QUIET)sed -i s/'APP_VERSION'/'$(APP_VERSION)'/ $(STAGING_DIR)/appinfo.json
-webosrelease:
- rm -rf $(STAGING_DIR)
- rm -f *.ipk
- mkdir -p $(STAGING_DIR)
- mkdir -p $(STAGING_DIR)/bin
- mkdir -p $(STAGING_DIR)/lib
- mkdir -p $(STAGING_DIR)/share/scummvm
- cp -f $(PATH_MOJO)/* $(STAGING_DIR)
- cp -f gui/themes/translations.dat $(STAGING_DIR)/share/scummvm
- cp -f gui/themes/scummmodern.zip $(STAGING_DIR)/share/scummvm
- cp -f scummvm $(STAGING_DIR)/bin
- $(STRIP) $(STAGING_DIR)/bin/scummvm
- $(WEBOS_SDK)/bin/palm-package $(STAGING_DIR)
- rm -rf STAGING
+webosrelease: webosprepare
+ $(QUIET)$(RM) $(APP_ID)_*.ipk
+ $(QUIET)sed -i s/'APP_ID'/'$(APP_ID)'/ $(STAGING_DIR)/appinfo.json
+ $(QUIET)sed -i s/'APP_TITLE'/'ScummVM'/ $(STAGING_DIR)/appinfo.json
+ $(QUIET)$(WEBOS_SDK)/bin/palm-package --use-v1-format $(STAGING_DIR)
+ $(QUIET)$(RM_REC) STAGING
-.PHONY: webosrelease
+webosbeta: webosprepare
+ $(QUIET)$(RM) $(BETA_APP_ID)_*.ipk
+ $(QUIET)sed -i s/'APP_ID'/'$(BETA_APP_ID)'/ $(STAGING_DIR)/appinfo.json
+ $(QUIET)sed -i s/'APP_TITLE'/'ScummVM Beta'/ $(STAGING_DIR)/appinfo.json
+ $(QUIET)$(WEBOS_SDK)/bin/palm-package --use-v1-format $(STAGING_DIR)
+ $(QUIET)$(RM_REC) STAGING
+
+.PHONY: webosrelease webosbeta
diff --git a/backends/platform/wii/osystem.cpp b/backends/platform/wii/osystem.cpp
index 2aefe48f0c..54da27126c 100644
--- a/backends/platform/wii/osystem.cpp
+++ b/backends/platform/wii/osystem.cpp
@@ -26,6 +26,7 @@
#include <ogc/lwp_watchdog.h>
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "backends/fs/wii/wii-fs-factory.h"
#include "osystem.h"
diff --git a/backends/platform/wii/osystem.h b/backends/platform/wii/osystem.h
index 3c992b8bdc..d1ea8e07ae 100644
--- a/backends/platform/wii/osystem.h
+++ b/backends/platform/wii/osystem.h
@@ -36,6 +36,7 @@
#include "backends/saves/default/default-saves.h"
#include "backends/timer/default/default-timer.h"
#include "graphics/colormasks.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "audio/mixer_intern.h"
diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp
index b829686cb0..b54aebe6bd 100644
--- a/backends/platform/wince/wince-sdl.cpp
+++ b/backends/platform/wince/wince-sdl.cpp
@@ -33,6 +33,7 @@
#include "common/debug.h"
#include "common/events.h"
#include "common/util.h"
+#include "common/textconsole.h"
#include "common/timer.h"
#include "common/translation.h"
diff --git a/backends/plugins/dynamic-plugin.h b/backends/plugins/dynamic-plugin.h
index 32d411656c..775e887105 100644
--- a/backends/plugins/dynamic-plugin.h
+++ b/backends/plugins/dynamic-plugin.h
@@ -27,6 +27,7 @@
#define BACKENDS_PLUGINS_DYNAMICPLUGIN_H
#include "base/plugins.h"
+#include "common/textconsole.h"
class DynamicPlugin : public Plugin {
diff --git a/backends/plugins/elf/memory-manager.cpp b/backends/plugins/elf/memory-manager.cpp
index b2ac497771..d32ac2da28 100644
--- a/backends/plugins/elf/memory-manager.cpp
+++ b/backends/plugins/elf/memory-manager.cpp
@@ -28,6 +28,7 @@
#if defined(DYNAMIC_MODULES) && defined(USE_ELF_LOADER)
#include "backends/plugins/elf/memory-manager.h"
+#include "common/debug.h"
#include "common/util.h"
#include <malloc.h>
diff --git a/backends/saves/default/default-saves.cpp b/backends/saves/default/default-saves.cpp
index 0e16f165b3..75e10cf810 100644
--- a/backends/saves/default/default-saves.cpp
+++ b/backends/saves/default/default-saves.cpp
@@ -60,7 +60,7 @@ void DefaultSaveFileManager::checkPath(const Common::FSNode &dir) {
Common::StringArray DefaultSaveFileManager::listSavefiles(const Common::String &pattern) {
Common::String savePathName = getSavePath();
checkPath(Common::FSNode(savePathName));
- if (getError() != Common::kNoError)
+ if (getError().getCode() != Common::kNoError)
return Common::StringArray();
// recreate FSNode since checkPath may have changed/created the directory
@@ -84,7 +84,7 @@ Common::InSaveFile *DefaultSaveFileManager::openForLoading(const Common::String
// Ensure that the savepath is valid. If not, generate an appropriate error.
Common::String savePathName = getSavePath();
checkPath(Common::FSNode(savePathName));
- if (getError() != Common::kNoError)
+ if (getError().getCode() != Common::kNoError)
return 0;
// recreate FSNode since checkPath may have changed/created the directory
@@ -104,7 +104,7 @@ Common::OutSaveFile *DefaultSaveFileManager::openForSaving(const Common::String
// Ensure that the savepath is valid. If not, generate an appropriate error.
Common::String savePathName = getSavePath();
checkPath(Common::FSNode(savePathName));
- if (getError() != Common::kNoError)
+ if (getError().getCode() != Common::kNoError)
return 0;
// recreate FSNode since checkPath may have changed/created the directory
@@ -121,7 +121,7 @@ Common::OutSaveFile *DefaultSaveFileManager::openForSaving(const Common::String
bool DefaultSaveFileManager::removeSavefile(const Common::String &filename) {
Common::String savePathName = getSavePath();
checkPath(Common::FSNode(savePathName));
- if (getError() != Common::kNoError)
+ if (getError().getCode() != Common::kNoError)
return false;
// recreate FSNode since checkPath may have changed/created the directory
diff --git a/backends/saves/posix/posix-saves.cpp b/backends/saves/posix/posix-saves.cpp
index 866cd912e5..be870abb6e 100644
--- a/backends/saves/posix/posix-saves.cpp
+++ b/backends/saves/posix/posix-saves.cpp
@@ -31,6 +31,7 @@
#include "common/config-manager.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include <stdio.h>
#include <string.h>
diff --git a/backends/saves/savefile.cpp b/backends/saves/savefile.cpp
index 7b7d6b0c0c..9888146049 100644
--- a/backends/saves/savefile.cpp
+++ b/backends/saves/savefile.cpp
@@ -25,9 +25,7 @@
#include "common/util.h"
#include "common/savefile.h"
-
-#include <stdio.h>
-#include <string.h>
+#include "common/str.h"
namespace Common {
diff --git a/backends/timer/default/default-timer.h b/backends/timer/default/default-timer.h
index a4c7385ef9..9a353f58c3 100644
--- a/backends/timer/default/default-timer.h
+++ b/backends/timer/default/default-timer.h
@@ -28,8 +28,6 @@
#include "common/timer.h"
#include "common/mutex.h"
-class OSystem;
-
struct TimerSlot;
class DefaultTimerManager : public Common::TimerManager {
diff --git a/backends/timer/sdl/sdl-timer.cpp b/backends/timer/sdl/sdl-timer.cpp
index 0a4cd428de..647ddba2d3 100644
--- a/backends/timer/sdl/sdl-timer.cpp
+++ b/backends/timer/sdl/sdl-timer.cpp
@@ -30,6 +30,8 @@
#include "backends/timer/sdl/sdl-timer.h"
+#include "common/textconsole.h"
+
static Uint32 timer_handler(Uint32 interval, void *param) {
((DefaultTimerManager *)param)->handler();
return interval;
diff --git a/backends/vkeybd/image-map.cpp b/backends/vkeybd/image-map.cpp
index b0a77b5220..f4b4541d7e 100644
--- a/backends/vkeybd/image-map.cpp
+++ b/backends/vkeybd/image-map.cpp
@@ -27,6 +27,8 @@
#ifdef ENABLE_VKEYBD
+#include "common/textconsole.h"
+
#include "backends/vkeybd/image-map.h"
#include "backends/vkeybd/polygon.h"
diff --git a/backends/vkeybd/virtual-keyboard.cpp b/backends/vkeybd/virtual-keyboard.cpp
index 5add387717..2971c8d528 100644
--- a/backends/vkeybd/virtual-keyboard.cpp
+++ b/backends/vkeybd/virtual-keyboard.cpp
@@ -33,6 +33,7 @@
#include "backends/vkeybd/virtual-keyboard-parser.h"
#include "backends/vkeybd/keycode-descriptions.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "common/unzip.h"
#define KEY_START_CHAR ('[')
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index f920dd0170..b74370df4c 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -30,6 +30,7 @@
#include "common/config-manager.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/fs.h"
#include "gui/ThemeEngine.h"
@@ -262,7 +263,7 @@ void registerDefaults() {
#define DO_OPTION_INT(shortCmd, longCmd) \
DO_OPTION(shortCmd, longCmd) \
char *endptr = 0; \
- int intValue; intValue = (int)strtol(option, &endptr, 0); \
+ strtol(option, &endptr, 0); \
if (endptr == NULL || *endptr != 0) usage("--%s: Invalid number '%s'", longCmd, option);
// Use this for boolean options; this distinguishes between "-x" and "-X",
@@ -641,29 +642,30 @@ static Common::Error listSaves(const char *target) {
GameDescriptor game = EngineMan.findGame(gameid, &plugin);
if (!plugin) {
- warning("Could not find any plugin to handle target '%s' (gameid '%s')", target, gameid.c_str());
- return Common::kPluginNotFound;
+ return Common::Error(Common::kEnginePluginNotFound,
+ Common::String::format("target '%s', gameid '%s", target, gameid.c_str()));
}
if (!(*plugin)->hasFeature(MetaEngine::kSupportsListSaves)) {
// TODO: Include more info about the target (desc, engine name, ...) ???
- printf("ScummVM does not support listing save states for target '%s' (gameid '%s') .\n", target, gameid.c_str());
- result = Common::kPluginNotSupportSaves;
+ return Common::Error(Common::kEnginePluginNotSupportSaves,
+ Common::String::format("target '%s', gameid '%s", target, gameid.c_str()));
} else {
// Query the plugin for a list of savegames
SaveStateList saveList = (*plugin)->listSaves(target);
- // TODO: Include more info about the target (desc, engine name, ...) ???
- printf("Saves for target '%s' (gameid '%s'):\n", target, gameid.c_str());
- printf(" Slot Description \n"
- " ---- ------------------------------------------------------\n");
-
- if (saveList.size() == 0)
- result = Common::kNoSavesError;
+ if (saveList.size() > 0) {
+ // TODO: Include more info about the target (desc, engine name, ...) ???
+ printf("Save states for target '%s' (gameid '%s'):\n", target, gameid.c_str());
+ printf(" Slot Description \n"
+ " ---- ------------------------------------------------------\n");
- for (SaveStateList::const_iterator x = saveList.begin(); x != saveList.end(); ++x) {
- printf(" %-4s %s\n", x->save_slot().c_str(), x->description().c_str());
- // TODO: Could also iterate over the full hashmap, printing all key-value pairs
+ for (SaveStateList::const_iterator x = saveList.begin(); x != saveList.end(); ++x) {
+ printf(" %-4s %s\n", x->save_slot().c_str(), x->description().c_str());
+ // TODO: Could also iterate over the full hashmap, printing all key-value pairs
+ }
+ } else {
+ printf("There are no save states for target '%s' (gameid '%s'):\n", target, gameid.c_str());
}
}
diff --git a/base/commandLine.h b/base/commandLine.h
index c7e8d8b0d0..6205c914e0 100644
--- a/base/commandLine.h
+++ b/base/commandLine.h
@@ -23,11 +23,15 @@
*
*/
-#ifndef BASE_OPTIONS_H
-#define BASE_OPTIONS_H
+#ifndef COMMON_COMMAND_LINE_H
+#define COMMON_COMMAND_LINE_H
-#include "common/str.h"
-#include "common/config-manager.h"
+#include "common/hash-str.h"
+
+namespace Common {
+class Error;
+class String;
+}
namespace Base {
diff --git a/base/internal_revision.h.in b/base/internal_revision.h.in
new file mode 100644
index 0000000000..63f58a4b77
--- /dev/null
+++ b/base/internal_revision.h.in
@@ -0,0 +1,6 @@
+#ifndef SCUMMVM_INTERNAL_REVISION_H
+#define SCUMMVM_INTERNAL_REVISION_H
+
+#define SCUMMVM_REVISION "@REVISION@"
+
+#endif
diff --git a/base/internal_version.h b/base/internal_version.h
index fc7b5350f5..bb25bce4e4 100644
--- a/base/internal_version.h
+++ b/base/internal_version.h
@@ -2,6 +2,12 @@
#error This file may only be included by base/version.cpp
#endif
+// Reads revision number from file
+// (this is used when building with Visual Studio)
+#ifdef SCUMMVM_INTERNAL_REVISION
+#include "internal_revision.h"
+#endif
+
#ifdef RELEASE_BUILD
#undef SCUMMVM_REVISION
#endif
@@ -10,4 +16,4 @@
#define SCUMMVM_REVISION
#endif
-#define SCUMMVM_VERSION "1.3.0git" SCUMMVM_REVISION
+#define SCUMMVM_VERSION "1.4.0git" SCUMMVM_REVISION
diff --git a/base/internal_version.h.in b/base/internal_version.h.in
index 5eb3c904ee..e2b46f54ce 100644
--- a/base/internal_version.h.in
+++ b/base/internal_version.h.in
@@ -2,6 +2,12 @@
#error This file may only be included by base/version.cpp
#endif
+// Reads revision number from file
+// (this is used when building with Visual Studio)
+#ifdef SCUMMVM_INTERNAL_REVISION
+#include "internal_revision.h"
+#endif
+
#ifdef RELEASE_BUILD
#undef SCUMMVM_REVISION
#endif
diff --git a/base/main.cpp b/base/main.cpp
index 65aa0ab43f..7a77d6af7a 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -43,14 +43,13 @@
#include "common/debug-channels.h" /* for debug manager */
#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/file.h"
#include "common/fs.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/tokenizer.h"
#include "common/translation.h"
#include "gui/gui-manager.h"
-#include "gui/message.h"
#include "gui/error.h"
#include "audio/mididrv.h"
@@ -111,13 +110,12 @@ static const EnginePlugin *detectPlugin() {
if (plugin == 0) {
printf("failed\n");
warning("%s is an invalid gameid. Use the --list-games option to list supported gameid", gameid.c_str());
- return 0;
} else {
printf("%s\n", plugin->getName());
- }
- // FIXME: Do we really need this one?
- printf(" Starting '%s'\n", game.description().c_str());
+ // FIXME: Do we really need this one?
+ printf(" Starting '%s'\n", game.description().c_str());
+ }
return plugin;
}
@@ -131,24 +129,20 @@ static Common::Error runGame(const EnginePlugin *plugin, OSystem &system, const
// Verify that the game path refers to an actual directory
if (!(dir.exists() && dir.isDirectory()))
- err = Common::kInvalidPathError;
+ err = Common::kPathNotDirectory;
// Create the game engine
- if (err == Common::kNoError)
+ if (err.getCode() == Common::kNoError)
err = (*plugin)->createInstance(&system, &engine);
// Check for errors
- if (!engine || err != Common::kNoError) {
-
- // TODO: An errorDialog for this and engine related errors is displayed already in the scummvm_main function
- // Is a separate dialog here still required?
-
- //GUI::displayErrorDialog("ScummVM could not find any game in the specified directory!");
- const char *errMsg = _(Common::errorToString(err));
+ if (!engine || err.getCode() != Common::kNoError) {
+ // Print a warning; note that scummvm_main will also
+ // display an error dialog, so we don't have to do this here.
warning("%s failed to instantiate engine: %s (target '%s', path '%s')",
plugin->getName(),
- errMsg,
+ err.getDesc().c_str(),
ConfMan.getActiveDomainName().c_str(),
dir.getPath().c_str()
);
@@ -355,8 +349,11 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
Common::Error res;
// TODO: deal with settings that require plugins to be loaded
- if ((res = Base::processSettings(command, settings)) != Common::kArgumentNotProcessed)
- return res;
+ res = Base::processSettings(command, settings);
+ if (res.getCode() != Common::kArgumentNotProcessed) {
+ warning("%s", res.getDesc().c_str());
+ return res.getCode();
+ }
// Init the backend. Must take place after all config data (including
// the command line params) was read.
@@ -430,14 +427,14 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
#endif
// Did an error occur ?
- if (result != Common::kNoError) {
+ if (result.getCode() != Common::kNoError) {
// Shows an informative error dialog if starting the selected game failed.
GUI::displayErrorDialog(result, _("Error running game:"));
}
// Quit unless an error occurred, or Return to launcher was requested
#ifndef FORCE_RTL
- if (result == 0 && !g_system->getEventManager()->shouldRTL())
+ if (result.getCode() == Common::kNoError && !g_system->getEventManager()->shouldRTL())
break;
#endif
// Reset RTL flag in case we want to load another engine
diff --git a/base/plugins.h b/base/plugins.h
index 976e606a8b..d8f1cb96ee 100644
--- a/base/plugins.h
+++ b/base/plugins.h
@@ -27,16 +27,10 @@
#define BASE_PLUGINS_H
#include "common/array.h"
-#include "common/error.h"
-#include "common/singleton.h"
-#include "common/util.h"
+#include "common/fs.h"
+#include "common/str.h"
#include "backends/plugins/elf/version.h"
-namespace Common {
- class FSList;
- class FSNode;
-}
-
/**
* @page pagePlugins An overview of the ScummVM plugin system
diff --git a/common/EventRecorder.cpp b/common/EventRecorder.cpp
index 1dedbb5059..d2ad4bc475 100644
--- a/common/EventRecorder.cpp
+++ b/common/EventRecorder.cpp
@@ -28,6 +28,7 @@
#include "common/config-manager.h"
#include "common/random.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
DECLARE_SINGLETON(Common::EventRecorder);
diff --git a/common/archive.cpp b/common/archive.cpp
index c65408b56e..c2c9c8e702 100644
--- a/common/archive.cpp
+++ b/common/archive.cpp
@@ -25,8 +25,8 @@
#include "common/archive.h"
#include "common/fs.h"
-#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/common/archive.h b/common/archive.h
index c12ca79be0..375136fa15 100644
--- a/common/archive.h
+++ b/common/archive.h
@@ -27,7 +27,6 @@
#define COMMON_ARCHIVE_H
#include "common/str.h"
-#include "common/hash-str.h"
#include "common/list.h"
#include "common/ptr.h"
#include "common/singleton.h"
diff --git a/common/bufferedstream.h b/common/bufferedstream.h
index dc074422bb..bb09e77d1d 100644
--- a/common/bufferedstream.h
+++ b/common/bufferedstream.h
@@ -27,6 +27,7 @@
#define COMMON_BUFFEREDSTREAM_H
#include "common/stream.h"
+#include "common/types.h"
namespace Common {
diff --git a/common/config-file.cpp b/common/config-file.cpp
index 878d29301f..cd8f0989fc 100644
--- a/common/config-file.cpp
+++ b/common/config-file.cpp
@@ -27,7 +27,7 @@
#include "common/file.h"
#include "common/savefile.h"
#include "common/system.h"
-#include "common/util.h"
+#include "common/textconsole.h"
#define MAXLINELEN 256
diff --git a/common/config-file.h b/common/config-file.h
index 2f7d9cb650..231162fb3c 100644
--- a/common/config-file.h
+++ b/common/config-file.h
@@ -26,13 +26,15 @@
#ifndef COMMON_CONFIG_FILE_H
#define COMMON_CONFIG_FILE_H
-#include "common/config-manager.h"
+#include "common/hash-str.h"
#include "common/list.h"
#include "common/str.h"
-#include "common/stream.h"
namespace Common {
+class SeekableReadStream;
+class WriteStream;
+
/**
* This class allows reading/writing INI style config files.
* It is used by the ConfigManager for storage, but can also
diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index 77c918dcae..5f5c14f8de 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -24,10 +24,11 @@
*/
#include "common/config-manager.h"
+#include "common/debug.h"
#include "common/file.h"
#include "common/fs.h"
-#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
DECLARE_SINGLETON(Common::ConfigManager);
diff --git a/common/dcl.cpp b/common/dcl.cpp
index ef45bc92ba..efe1de0415 100644
--- a/common/dcl.cpp
+++ b/common/dcl.cpp
@@ -25,11 +25,9 @@
#include "common/dcl.h"
#include "common/debug.h"
-#include "common/debug-channels.h"
-#include "common/endian.h"
#include "common/memstream.h"
#include "common/stream.h"
-#include "common/util.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/common/debug.cpp b/common/debug.cpp
index c87d195b76..a8711055fd 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -24,8 +24,8 @@
#include "common/debug.h"
#include "common/debug-channels.h"
-#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include <stdarg.h> // For va_list etc.
diff --git a/common/error.cpp b/common/error.cpp
index 6d1e349287..b07e5ebd74 100644
--- a/common/error.cpp
+++ b/common/error.cpp
@@ -24,51 +24,68 @@
*/
#include "common/error.h"
-#include "common/util.h"
#include "common/translation.h"
namespace Common {
/**
- * Error Table: Maps error codes to their default descriptions
+ * Maps an error code to equivalent string description.
+ *
+ * @param errorCode error code to be converted
+ * @return a pointer to string description of the error
*/
-
-struct ErrorMessage {
- Error error;
- const char *errMsg;
-};
-
-static const ErrorMessage _errMsgTable[] = {
- { kInvalidPathError, _s("Invalid Path") },
- { kNoGameDataFoundError, _s("Game Data not found") },
- { kUnsupportedGameidError, _s("Game Id not supported") },
- { kUnsupportedColorMode, _s("Unsupported Color Mode") },
-
- { kReadPermissionDenied, _s("Read permission denied") },
- { kWritePermissionDenied, _s("Write permission denied") },
-
- // The following three overlap a bit with kInvalidPathError and each other. Which to keep?
- { kPathDoesNotExist, _s("Path not exists") },
- { kPathNotDirectory, _s("Path not a directory") },
- { kPathNotFile, _s("Path not a file") },
-
- { kCreatingFileFailed, _s("Cannot create file") },
- { kReadingFailed, _s("Reading failed") },
- { kWritingFailed, _s("Writing data failed") },
-
- { kUnknownError, _s("Unknown Error") }
-};
-
-const char *errorToString(Error error) {
-
- for (int i = 0; i < ARRAYSIZE(_errMsgTable); i++) {
- if (error == _errMsgTable[i].error) {
- return _errMsgTable[i].errMsg;
- }
+static String errorToString(ErrorCode errorCode) {
+ switch (errorCode) {
+ case kNoError:
+ return _s("No error");
+ case kNoGameDataFoundError:
+ return _s("Game data not found");
+ case kUnsupportedGameidError:
+ return _s("Game id not supported");
+ case kUnsupportedColorMode:
+ return _s("Unsupported color mode");
+
+ case kReadPermissionDenied:
+ return _s("Read permission denied");
+ case kWritePermissionDenied:
+ return _s("Write permission denied");
+
+ case kPathDoesNotExist:
+ return _s("Path does not exist");
+ case kPathNotDirectory:
+ return _s("Path not a directory");
+ case kPathNotFile:
+ return _s("Path not a file");
+
+ case kCreatingFileFailed:
+ return _s("Cannot create file");
+ case kReadingFailed:
+ return _s("Reading data failed");
+ case kWritingFailed:
+ return _s("Writing data failed");
+
+ case kEnginePluginNotFound:
+ return _s("Could not find suitable engine plugin");
+ case kEnginePluginNotSupportSaves:
+ return _s("Engine plugin does not support save states");
+
+ case kArgumentNotProcessed:
+ return _s("Command line argument not processed");
+
+ case kUnknownError:
+ default:
+ return _s("Unknown error");
}
+}
- return _("Unknown Error");
+Error::Error(ErrorCode code)
+ : _code(code), _desc(errorToString(code)) {
}
+Error::Error(ErrorCode code, const String &desc)
+ : _code(code), _desc(errorToString(code) + " (" + desc + ")") {
+}
+
+
} // End of namespace Common
diff --git a/common/error.h b/common/error.h
index 58343114a2..1ffbba723a 100644
--- a/common/error.h
+++ b/common/error.h
@@ -26,6 +26,8 @@
#ifndef COMMON_ERROR_H
#define COMMON_ERROR_H
+#include "common/str.h"
+
namespace Common {
/**
@@ -37,15 +39,13 @@ namespace Common {
/**
* Error codes which may be reported by plugins under various circumstances.
*
- * @todo Clarify the names; add more codes, resp. verify all existing ones are acutally useful.
- * Also, try to avoid overlap.
- * @todo Maybe introduce a naming convention? E.g. k-NOUN/ACTION-CONDITION-Error, so
- * kPathInvalidError would be correct, but these would not be: kInvalidPath,
- * kPathInvalid, kPathIsInvalid, kInvalidPathError
+ * @note Error names should follow the pattern k-NOUN/ACTION-CONDITION-Error.
+ * So kPathInvalidError would be correct, but these would not be:
+ * kInvalidPath, kPathInvalid, kPathIsInvalid, kInvalidPathError.
+ * @todo Adjust all error codes to comply with these conventions.
*/
-enum Error {
+enum ErrorCode {
kNoError = 0, ///< No error occurred
- kInvalidPathError, ///< Engine initialization: Invalid game path was passed
kNoGameDataFoundError, ///< Engine initialization: No game data was found in the specified location
kUnsupportedGameidError, ///< Engine initialization: Gameid not supported by this (Meta)Engine
kUnsupportedColorMode, ///< Engine initialization: Engine does not support backend's color mode
@@ -54,7 +54,6 @@ enum Error {
kReadPermissionDenied, ///< Unable to read data due to missing read permission
kWritePermissionDenied, ///< Unable to write data due to missing write permission
- // The following three overlap a bit with kInvalidPathError and each other. Which to keep?
kPathDoesNotExist, ///< The specified path does not exist
kPathNotDirectory, ///< The specified path does not point to a directory
kPathNotFile, ///< The specified path does not point to a file
@@ -64,21 +63,48 @@ enum Error {
kWritingFailed, ///< Failure to write data -- disk full?
// The following are used by --list-saves
- kPluginNotFound, ///< Failed to find plugin to handle tager
- kPluginNotSupportSaves, ///< Failed if plugin does not support saves
- kNoSavesError, ///< There are no saves to show
+ kEnginePluginNotFound, ///< Failed to find plugin to handle target
+ kEnginePluginNotSupportSaves, ///< Failed if plugin does not support listing save states
kArgumentNotProcessed, ///< Used in command line parsing
+
kUnknownError ///< Catch-all error, used if no other error code matches
};
/**
- * Maps an error code to equivalent string description.
- *
- * @param error error code to be converted
- * @return a pointer to string description of the error
+ * An Error instance pairs an error code with string description providing more
+ * details about the error. For every error code, a default description is
+ * provided, but it is possible to optionally augment that description with
+ * extra information when creating a new Error instance.
*/
-const char *errorToString(Error error);
+class Error {
+protected:
+ ErrorCode _code;
+ String _desc;
+public:
+ /**
+ * Construct a new Error with the specified error code and the default
+ * error message.
+ */
+ Error(ErrorCode code = kUnknownError);
+
+ /**
+ * Construct a new Error with the specified error code and an augmented
+ * error message. Specifically, the provided extra text is suitably
+ * appended to the default message.
+ */
+ Error(ErrorCode code, const String &extra);
+
+ /**
+ * Get the description of this error.
+ */
+ const String &getDesc() const { return _desc; }
+
+ /**
+ * Get the error code of this error.
+ */
+ ErrorCode getCode() const { return _code; }
+};
} // End of namespace Common
diff --git a/common/file.cpp b/common/file.cpp
index dec0f2a953..485255bbdb 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -27,8 +27,7 @@
#include "common/debug.h"
#include "common/file.h"
#include "common/fs.h"
-#include "common/util.h"
-#include "common/system.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/common/file.h b/common/file.h
index d28cd9c308..c3805baed7 100644
--- a/common/file.h
+++ b/common/file.h
@@ -27,6 +27,7 @@
#define COMMON_FILE_H
#include "common/scummsys.h"
+#include "common/fs.h"
#include "common/noncopyable.h"
#include "common/str.h"
#include "common/stream.h"
@@ -34,7 +35,6 @@
namespace Common {
class Archive;
-class FSNode;
/**
* TODO: vital to document this core class properly!!! For both users and implementors
diff --git a/common/fs.cpp b/common/fs.cpp
index 87067df2cc..d3cdc0697f 100644
--- a/common/fs.cpp
+++ b/common/fs.cpp
@@ -22,8 +22,8 @@
* $Id$
*/
-#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "backends/fs/abstract-fs.h"
#include "backends/fs/fs-factory.h"
diff --git a/common/fs.h b/common/fs.h
index 6b20a05013..f93c11159e 100644
--- a/common/fs.h
+++ b/common/fs.h
@@ -27,6 +27,8 @@
#include "common/array.h"
#include "common/archive.h"
+#include "common/hash-str.h"
+#include "common/hashmap.h"
#include "common/ptr.h"
#include "common/str.h"
diff --git a/common/hashmap.h b/common/hashmap.h
index 233d7f5b16..907a107163 100644
--- a/common/hashmap.h
+++ b/common/hashmap.h
@@ -47,8 +47,6 @@
#include "common/func.h"
-#include "common/str.h"
-#include "common/util.h"
#ifdef DEBUG_HASH_COLLISIONS
#include "common/debug.h"
diff --git a/common/iff_container.h b/common/iff_container.h
index 01fc8017a9..43a551a239 100644
--- a/common/iff_container.h
+++ b/common/iff_container.h
@@ -29,7 +29,7 @@
#include "common/endian.h"
#include "common/func.h"
#include "common/stream.h"
-#include "common/util.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/common/macresman.cpp b/common/macresman.cpp
index e7d4a30789..489f8f93ce 100644
--- a/common/macresman.cpp
+++ b/common/macresman.cpp
@@ -31,7 +31,7 @@
#include "common/macresman.h"
#include "common/md5.h"
#include "common/substream.h"
-#include "common/memstream.h"
+#include "common/textconsole.h"
#ifdef MACOSX
#include "common/config-manager.h"
@@ -623,6 +623,11 @@ void MacResManager::convertCrsrCursor(SeekableReadStream *data, byte **cursor, i
// Pixel data for cursor
int iconDataSize = iconRowBytes * (iconBounds[3] - iconBounds[1]);
byte *iconData = new byte[iconDataSize];
+
+ if (!iconData) {
+ error("Cannot allocate iconData in macresman.cpp");
+ }
+
data->read(iconData, iconDataSize);
// Color table
diff --git a/common/macresman.h b/common/macresman.h
index 2ad0b608a1..fdb3ce491d 100644
--- a/common/macresman.h
+++ b/common/macresman.h
@@ -33,15 +33,14 @@
*/
#include "common/array.h"
-#include "common/file.h"
+#include "common/fs.h"
+#include "common/str.h"
#ifndef COMMON_MACRESMAN_H
#define COMMON_MACRESMAN_H
namespace Common {
-class FSNode;
-
typedef Array<uint16> MacResIDArray;
typedef Array<uint32> MacResTagArray;
diff --git a/common/md5.cpp b/common/md5.cpp
index e4736e85ca..bea9ca0dc5 100644
--- a/common/md5.cpp
+++ b/common/md5.cpp
@@ -28,10 +28,10 @@
* this program is licensed under the GPL.
*/
-#include "common/file.h"
-#include "common/fs.h"
#include "common/md5.h"
#include "common/endian.h"
+#include "common/str.h"
+#include "common/stream.h"
namespace Common {
diff --git a/common/md5.h b/common/md5.h
index 29f3aeeb4c..e613028a5e 100644
--- a/common/md5.h
+++ b/common/md5.h
@@ -26,11 +26,11 @@
#define COMMON_MD5_H
#include "common/scummsys.h"
-#include "common/str.h"
namespace Common {
class ReadStream;
+class String;
/**
* Compute the MD5 checksum of the content of the given ReadStream.
diff --git a/common/memstream.h b/common/memstream.h
index 13b8e26e8a..ac42e1bad9 100644
--- a/common/memstream.h
+++ b/common/memstream.h
@@ -27,6 +27,7 @@
#define COMMON_MEMSTREAM_H
#include "common/stream.h"
+#include "common/types.h"
namespace Common {
diff --git a/common/stream.cpp b/common/stream.cpp
index c0783b2352..e870e68b2d 100644
--- a/common/stream.cpp
+++ b/common/stream.cpp
@@ -26,9 +26,7 @@
#include "common/stream.h"
#include "common/memstream.h"
#include "common/substream.h"
-#include "common/bufferedstream.h"
#include "common/str.h"
-#include "common/util.h"
namespace Common {
@@ -205,7 +203,6 @@ uint32 SubReadStream::read(void *dataPtr, uint32 dataSize) {
}
dataSize = _parentStream->read(dataPtr, dataSize);
- _eos |= _parentStream->eos();
_pos += dataSize;
return dataSize;
diff --git a/common/stream.h b/common/stream.h
index 65b4971a72..530b50e431 100644
--- a/common/stream.h
+++ b/common/stream.h
@@ -26,12 +26,12 @@
#ifndef COMMON_STREAM_H
#define COMMON_STREAM_H
-#include "common/types.h"
#include "common/endian.h"
+#include "common/scummsys.h"
+#include "common/str.h"
namespace Common {
-class String;
class SeekableReadStream;
/**
diff --git a/common/substream.h b/common/substream.h
index dc49ce9ecf..ecf11c54c9 100644
--- a/common/substream.h
+++ b/common/substream.h
@@ -27,6 +27,7 @@
#define COMMON_SUBSTREAM_H
#include "common/stream.h"
+#include "common/types.h"
namespace Common {
@@ -59,7 +60,7 @@ public:
delete _parentStream;
}
- virtual bool eos() const { return _eos; }
+ virtual bool eos() const { return _eos | _parentStream->eos(); }
virtual bool err() const { return _parentStream->err(); }
virtual void clearErr() { _eos = false; _parentStream->clearErr(); }
virtual uint32 read(void *dataPtr, uint32 dataSize);
diff --git a/common/system.cpp b/common/system.cpp
index 1ec7c14617..4e902bcb14 100644
--- a/common/system.cpp
+++ b/common/system.cpp
@@ -28,6 +28,7 @@
#define FORBIDDEN_SYMBOL_ALLOW_ALL
#include "common/system.h"
+#include "common/str.h"
#ifdef __PLAYSTATION2__
// for those replaced fopen/fread/etc functions
diff --git a/common/system.h b/common/system.h
index c487e727a8..540ffde5a5 100644
--- a/common/system.h
+++ b/common/system.h
@@ -28,29 +28,27 @@
#include "common/scummsys.h"
#include "common/noncopyable.h"
-#include "common/rect.h"
#include "common/list.h" // For OSystem::getSupportedFormats()
-
-#include "graphics/palette.h" // for PaletteManager
#include "graphics/pixelformat.h"
namespace Audio {
- class Mixer;
+class Mixer;
}
namespace Graphics {
- struct Surface;
+struct Surface;
}
namespace Common {
- struct Event;
- class EventManager;
- class SaveFileManager;
- class SearchSet;
- class TimerManager;
- class SeekableReadStream;
- class WriteStream;
- class HardwareKeySet;
+class EventManager;
+struct Rect;
+class SaveFileManager;
+class SearchSet;
+class String;
+class TimerManager;
+class SeekableReadStream;
+class WriteStream;
+class HardwareKeySet;
}
class AudioCDManager;
@@ -363,7 +361,7 @@ public:
/**
* Determine which graphics mode is currently active.
- * @return the active graphics mode
+ * @return the ID of the active graphics mode
*/
virtual int getGraphicsMode() const = 0;
diff --git a/common/textconsole.cpp b/common/textconsole.cpp
index 9c72699914..8d62cd4cb2 100644
--- a/common/textconsole.cpp
+++ b/common/textconsole.cpp
@@ -24,6 +24,7 @@
#include "common/textconsole.h"
#include "common/system.h"
+#include "common/str.h"
namespace Common {
diff --git a/common/translation.cpp b/common/translation.cpp
index 407da2c883..5494849f4c 100644
--- a/common/translation.cpp
+++ b/common/translation.cpp
@@ -32,11 +32,11 @@
#define TRANSLATIONS_DAT_VER 2
#include "common/translation.h"
-#include "common/archive.h"
#include "common/config-manager.h"
#include "common/file.h"
#include "common/fs.h"
#include "common/system.h"
+#include "common/textconsole.h"
#ifdef USE_TRANSLATION
diff --git a/common/translation.h b/common/translation.h
index 523f2f4de7..f8183b6350 100644
--- a/common/translation.h
+++ b/common/translation.h
@@ -25,6 +25,9 @@
#ifndef COMMON_TRANSLATION_H
#define COMMON_TRANSLATION_H
+#include "common/array.h"
+#include "common/fs.h"
+#include "common/str.h"
#include "common/singleton.h"
#include "common/str-array.h"
@@ -33,7 +36,6 @@
namespace Common {
class File;
-class FSNode;
enum TranslationIDs {
kTranslationAutodetectId = 0,
diff --git a/common/unarj.cpp b/common/unarj.cpp
index 2c4225f393..4bda7ac753 100644
--- a/common/unarj.cpp
+++ b/common/unarj.cpp
@@ -30,12 +30,12 @@
#include "common/scummsys.h"
#include "common/archive.h"
#include "common/debug.h"
-#include "common/util.h"
#include "common/unarj.h"
#include "common/file.h"
#include "common/hash-str.h"
#include "common/memstream.h"
#include "common/bufferedstream.h"
+#include "common/textconsole.h"
namespace Common {
diff --git a/common/unarj.h b/common/unarj.h
index fa7d388542..fe23ba5694 100644
--- a/common/unarj.h
+++ b/common/unarj.h
@@ -32,10 +32,11 @@
#ifndef COMMON_UNARJ_H
#define COMMON_UNARJ_H
+#include "common/str.h"
+
namespace Common {
class Archive;
-class String;
/**
* This factory method creates an Archive instance corresponding to the content
diff --git a/common/unzip.cpp b/common/unzip.cpp
index cd5d37f4bd..a55dfd1cad 100644
--- a/common/unzip.cpp
+++ b/common/unzip.cpp
@@ -105,7 +105,6 @@ typedef struct {
#include "common/fs.h"
#include "common/unzip.h"
-#include "common/file.h"
#include "common/memstream.h"
#include "common/hashmap.h"
@@ -1470,11 +1469,13 @@ int ZipArchive::listMembers(Common::ArchiveMemberList &list) {
while (err == UNZ_OK) {
char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
- unzGetCurrentFileInfo(_zipFile, NULL,
- szCurrentFileName, sizeof(szCurrentFileName)-1,
- NULL, 0, NULL, 0);
- list.push_back(ArchiveMemberList::value_type(new GenericArchiveMember(szCurrentFileName, this)));
- matches++;
+ if (unzGetCurrentFileInfo(_zipFile, NULL,
+ szCurrentFileName, sizeof(szCurrentFileName)-1,
+ NULL, 0, NULL, 0) == UNZ_OK) {
+ list.push_back(ArchiveMemberList::value_type(new GenericArchiveMember(szCurrentFileName, this)));
+ matches++;
+ }
+
err = unzGoToNextFile(_zipFile);
}
@@ -1493,18 +1494,31 @@ Common::SeekableReadStream *ZipArchive::createReadStreamForMember(const Common::
return 0;
unz_file_info fileInfo;
- unzOpenCurrentFile(_zipFile);
- unzGetCurrentFileInfo(_zipFile, &fileInfo, NULL, 0, NULL, 0, NULL, 0);
+ if (unzOpenCurrentFile(_zipFile) != UNZ_OK)
+ return 0;
+
+ if (unzGetCurrentFileInfo(_zipFile, &fileInfo, NULL, 0, NULL, 0, NULL, 0) != UNZ_OK)
+ return 0;
+
byte *buffer = (byte *)malloc(fileInfo.uncompressed_size);
assert(buffer);
- unzReadCurrentFile(_zipFile, buffer, fileInfo.uncompressed_size);
- unzCloseCurrentFile(_zipFile);
+
+ if (unzReadCurrentFile(_zipFile, buffer, fileInfo.uncompressed_size) != (int)fileInfo.uncompressed_size) {
+ free(buffer);
+ return 0;
+ }
+
+ if (unzCloseCurrentFile(_zipFile) != UNZ_OK) {
+ free(buffer);
+ return 0;
+ }
+
return new Common::MemoryReadStream(buffer, fileInfo.uncompressed_size, DisposeAfterUse::YES);
// FIXME: instead of reading all into a memory stream, we could
// instead create a new ZipStream class. But then we have to be
// careful to handle the case where the client code opens multiple
- // files in the archive and tries to use them indepenendtly.
+ // files in the archive and tries to use them independently.
}
Archive *makeZipArchive(const String &name) {
diff --git a/common/unzip.h b/common/unzip.h
index c460840f12..fe7acdcc54 100644
--- a/common/unzip.h
+++ b/common/unzip.h
@@ -25,12 +25,13 @@
#ifndef COMMON_UNZIP_H
#define COMMON_UNZIP_H
+#include "common/str.h"
+
namespace Common {
class Archive;
class FSNode;
class SeekableReadStream;
-class String;
/**
* This factory method creates an Archive instance corresponding to the content
diff --git a/common/util.cpp b/common/util.cpp
index cba921a142..7ffd5e45b1 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -23,9 +23,9 @@
*/
#include "common/util.h"
-#include "common/system.h"
#include "common/translation.h"
#include "common/config-manager.h"
+#include "common/debug.h"
namespace Common {
diff --git a/common/util.h b/common/util.h
index b3dd6a4f64..4493455a8c 100644
--- a/common/util.h
+++ b/common/util.h
@@ -26,7 +26,6 @@
#define COMMON_UTIL_H
#include "common/scummsys.h"
-#include "common/textconsole.h"
#include "common/str.h"
diff --git a/common/winexe.h b/common/winexe.h
index af0d70c555..ce2f19cb81 100644
--- a/common/winexe.h
+++ b/common/winexe.h
@@ -27,11 +27,10 @@
#define COMMON_WINEXE_H
#include "common/hash-str.h"
+#include "common/str.h"
namespace Common {
-class String;
-
class WinResourceID {
public:
WinResourceID() { _idType = kIDTypeNull; }
diff --git a/common/winexe_ne.h b/common/winexe_ne.h
index c1d04080ba..2988132040 100644
--- a/common/winexe_ne.h
+++ b/common/winexe_ne.h
@@ -26,15 +26,14 @@
#ifndef COMMON_WINEXE_NE_H
#define COMMON_WINEXE_NE_H
-#include "common/array.h"
#include "common/list.h"
+#include "common/str.h"
#include "common/winexe.h"
namespace Common {
-class MemoryReadStream;
+template<class T> class Array;
class SeekableReadStream;
-class String;
/** The default Windows resources. */
enum NEResourceType {
diff --git a/common/winexe_pe.cpp b/common/winexe_pe.cpp
index 17db004bfc..6bb831b9c6 100644
--- a/common/winexe_pe.cpp
+++ b/common/winexe_pe.cpp
@@ -23,9 +23,10 @@
*
*/
+#include "common/array.h"
#include "common/debug.h"
+#include "common/endian.h"
#include "common/file.h"
-#include "common/memstream.h"
#include "common/str.h"
#include "common/stream.h"
#include "common/winexe_pe.h"
@@ -123,7 +124,7 @@ void PEResources::parseResourceLevel(Section &section, uint32 offset, int level)
uint16 namedEntryCount = _exe->readUint16LE();
uint16 intEntryCount = _exe->readUint16LE();
- for (uint32 i = 0; i < namedEntryCount + intEntryCount; i++) {
+ for (uint32 i = 0; i < (uint32)(namedEntryCount + intEntryCount); i++) {
uint32 value = _exe->readUint32LE();
WinResourceID id;
diff --git a/common/winexe_pe.h b/common/winexe_pe.h
index 5298e993ad..60c4adb916 100644
--- a/common/winexe_pe.h
+++ b/common/winexe_pe.h
@@ -26,14 +26,15 @@
#ifndef COMMON_WINEXE_PE_H
#define COMMON_WINEXE_PE_H
-#include "common/array.h"
+#include "common/hash-str.h"
#include "common/hashmap.h"
+#include "common/str.h"
#include "common/winexe.h"
namespace Common {
+template<class T> class Array;
class SeekableReadStream;
-class String;
/** The default Windows PE resources. */
enum PEResourceType {
diff --git a/common/xmlparser.cpp b/common/xmlparser.cpp
index b53a9a33c2..7a6e794e11 100644
--- a/common/xmlparser.cpp
+++ b/common/xmlparser.cpp
@@ -24,7 +24,6 @@
*/
#include "common/xmlparser.h"
-#include "common/util.h"
#include "common/archive.h"
#include "common/fs.h"
#include "common/memstream.h"
diff --git a/common/xmlparser.h b/common/xmlparser.h
index ec8f371681..c456fd0826 100644
--- a/common/xmlparser.h
+++ b/common/xmlparser.h
@@ -29,6 +29,7 @@
#include "common/scummsys.h"
#include "common/types.h"
+#include "common/fs.h"
#include "common/list.h"
#include "common/hashmap.h"
#include "common/hash-str.h"
@@ -37,7 +38,6 @@
namespace Common {
-class FSNode;
class SeekableReadStream;
#define MAX_XML_DEPTH 8
diff --git a/configure b/configure
index a70b89e975..6077d86b42 100755
--- a/configure
+++ b/configure
@@ -88,7 +88,7 @@ add_engine drascula "Drascula: The Vampire Strikes Back" yes
add_engine gob "Gobli*ns" yes
add_engine groovie "Groovie" yes "groovie2"
add_engine groovie2 "Groovie 2 games" no
-add_engine hugo "Hugo Trilogy" no
+add_engine hugo "Hugo Trilogy" yes
add_engine kyra "Legend of Kyrandia" yes "lol"
add_engine lol "Lands of Lore" no
add_engine lastexpress "The Last Express" no
@@ -125,6 +125,7 @@ add_engine tucker "Bud Tucker in Double Trouble" yes
# Default lib behaviour yes/no/auto
_vorbis=auto
_tremor=auto
+_tremolo=no
_flac=auto
_mad=auto
_alsa=auto
@@ -146,6 +147,7 @@ _text_console=no
_mt32emu=yes
_build_scalers=yes
_build_hq_scalers=yes
+_arm_asm=no
_indeo3=auto
_enable_prof=no
_unix=no
@@ -250,12 +252,7 @@ EOF
}
gcc_get_define() {
- # Note: The AmigaOS compiler doesn't like the "-" input file, so a real file
- # is used instead
- rm -f $TMPC
- touch $TMPC
- $CXX -dM -E $TMPC | fgrep "$1" | head -n1 | cut -d ' ' -f 3-
- rm -f $TMPC
+ echo "" | $CXX -dM -E - | fgrep "$1" | head -n1 | cut -d ' ' -f 3-
}
#
@@ -1517,8 +1514,7 @@ echo_n "Checking hosttype... "
echo $_host_os
case $_host_os in
amigaos*)
- CXXFLAGS="$CXXFLAGS -mcrt=newlib -mstrict-align -mcpu=750 -mtune=7400"
- LDFLAGS="$LDFLAGS -mcrt=newlib -use-dynld -L/sdk/local/newlib/lib"
+ LDFLAGS="$LDFLAGS -use-dynld -L/sdk/local/newlib/lib"
# We have to use 'long' for our 4 byte typedef because AmigaOS already typedefs (u)int32
# as (unsigned) long, and consequently we'd get a compiler error otherwise.
type_4_byte='long'
@@ -1670,6 +1666,8 @@ case $_host_os in
_unix=yes
;;
webos)
+ CXXFLAGS="$CXXFLAGS -I$WEBOS_PDK/include -I$WEBOS_PDK/include/SDL -I$WEBOS_PDK/device/usr/include"
+ CXXFLAGS="$CXXFLAGS -mcpu=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp"
LDFLAGS="$LDFLAGS -L$WEBOS_PDK/device/lib -L$WEBOS_PDK/device/usr/lib"
LDFLAGS="$LDFLAGS -Wl,--allow-shlib-undefined"
LDFLAGS="$LDFLAGS --sysroot=$WEBOS_PDK/arm-gcc/sysroot"
@@ -1712,13 +1710,9 @@ if test -n "$_host"; then
LDFLAGS="$LDFLAGS -shared -Wl,-Bsymbolic,--no-undefined"
HOSTEXEPRE=lib
HOSTEXEEXT=.so
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
_backend="android"
_port_mk="backends/platform/android/android.mk"
+ _arm_asm=yes
_build_scalers=no
_seq_midi=no
_mt32emu=no
@@ -1727,11 +1721,7 @@ if test -n "$_host"; then
arm-linux|arm*-linux-gnueabi|arm-*-linux)
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
;;
arm-riscos|linupy)
DEFINES="$DEFINES -DLINUPY"
@@ -1755,11 +1745,7 @@ if test -n "$_host"; then
ASFLAGS="$ASFLAGS"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="gph"
_build_hq_scalers=no
_vkeybd=yes
@@ -1807,11 +1793,7 @@ if test -n "$_host"; then
DEFINES="$DEFINES -DDISABLE_DOSBOX_OPL -DDISABLE_SID -DDISABLE_NES_APU"
DEFINES="$DEFINES -DDISABLE_COMMAND_LINE"
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
add_line_to_config_h '#define DISABLE_TEXT_CONSOLE'
_backend="ds"
_build_scalers=no
@@ -1845,11 +1827,7 @@ if test -n "$_host"; then
LDFLAGS="$LDFLAGS -static"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="gph"
_build_hq_scalers=no
_vkeybd=yes
@@ -1869,11 +1847,7 @@ if test -n "$_host"; then
ASFLAGS="$ASFLAGS -mfloat-abi=soft"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="gph"
_build_hq_scalers=no
_vkeybd=yes
@@ -1886,8 +1860,7 @@ if test -n "$_host"; then
DEFINES="$DEFINES -DIPHONE"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
+ _arm_asm=yes
_backend="iphone"
_build_hq_scalers=no
_seq_midi=no
@@ -1918,11 +1891,7 @@ if test -n "$_host"; then
ASFLAGS="$ASFLAGS -mfpu=vfp"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="linuxmoto"
_build_hq_scalers=no
_mt32emu=no
@@ -1935,11 +1904,7 @@ if test -n "$_host"; then
ASFLAGS="$ASFLAGS -mfpu=vfp"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="linuxmoto"
_build_hq_scalers=no
_mt32emu=no
@@ -1990,11 +1955,7 @@ if test -n "$_host"; then
ASFLAGS="$ASFLAGS -mfloat-abi=soft"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="openpandora"
_build_hq_scalers=yes
_vkeybd=no
@@ -2004,6 +1965,7 @@ if test -n "$_host"; then
;;
ppc-amigaos)
_endian=big
+ # AmigaOS exec allocates memory always in an aligned way
_need_memalign=yes
;;
ps2)
@@ -2049,11 +2011,7 @@ if test -n "$_host"; then
HOSTEXEEXT=".so"
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="samsungtv"
_mt32emu=no
_vkeybd=yes
@@ -2061,11 +2019,7 @@ if test -n "$_host"; then
webos)
_unix=yes
_need_memalign=yes
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
_backend="webos"
_port_mk="backends/platform/webos/webos.mk"
_build_scalers=no
@@ -2093,12 +2047,8 @@ if test -n "$_host"; then
wince)
LDFLAGS="$LDFLAGS -Wl,-Map,scummvm.exe.map -Wl,--stack,65536"
_need_memalign=yes
- add_line_to_config_mk 'USE_TREMOLO = 1'
- add_line_to_config_mk 'USE_ARM_SOUND_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SMUSH_ASM = 1'
- add_line_to_config_mk 'USE_ARM_GFX_ASM = 1'
- add_line_to_config_mk 'USE_ARM_COSTUME_ASM = 1'
- add_line_to_config_mk 'USE_ARM_SCALER_ASM = 1'
+ _arm_asm=yes
+ _tremolo=yes
_backend="wince"
_mt32emu=no
_port_mk="backends/platform/wince/wince.mk"
@@ -2428,6 +2378,15 @@ define_in_config_if_yes "$_build_scalers" 'USE_SCALERS'
define_in_config_if_yes "$_build_hq_scalers" 'USE_HQ_SCALERS'
#
+# Check whether to use optimized ARM asm
+#
+define_in_config_if_yes "$_arm_asm" 'USE_ARM_SCALER_ASM'
+define_in_config_if_yes "$_arm_asm" 'USE_ARM_SOUND_ASM'
+define_in_config_if_yes "$_arm_asm" 'USE_ARM_SMUSH_ASM'
+define_in_config_if_yes "$_arm_asm" 'USE_ARM_GFX_ASM'
+define_in_config_if_yes "$_arm_asm" 'USE_ARM_COSTUME_ASM'
+
+#
# Check whether to compile the Indeo3 decoder
#
if test "$_indeo3" = auto ; then
@@ -2472,6 +2431,10 @@ echo "$_vorbis"
# Check for Tremor
#
echocheck "Tremor"
+if test "$_tremolo" = yes ; then
+ _tremor=yes
+fi
+
if test "$_tremor" = auto ; then
_tremor=no
cat > $TMPC << EOF
@@ -2484,7 +2447,12 @@ fi
if test "$_tremor" = yes && test "$_vorbis" = no; then
add_line_to_config_h '#define USE_TREMOR'
add_line_to_config_h '#define USE_VORBIS'
- LIBS="$LIBS $TREMOR_LIBS -lvorbisidec"
+ if test "$_tremolo" = yes ; then
+ add_line_to_config_h '#define USE_TREMOLO'
+ LIBS="$LIBS $TREMOR_LIBS -ltremolo"
+ else
+ LIBS="$LIBS $TREMOR_LIBS -lvorbisidec"
+ fi
INCLUDES="$INCLUDES $TREMOR_CFLAGS"
else
if test "$_vorbis" = yes; then
@@ -3138,7 +3106,6 @@ case $_backend in
DEFINES="$DEFINES -DSDL_BACKEND"
;;
webos)
- INCLUDES="$INCLUDES -I$WEBOS_PDK/include -I$WEBOS_PDK/include/SDL -I$WEBOS_PDK/device/usr/include"
LIBS="$LIBS -lSDL -lpdl"
DEFINES="$DEFINES -DSDL_BACKEND -DWEBOS"
MODULES="$MODULES backends/platform/sdl"
diff --git a/devtools/create_drascula/staticdata.h b/devtools/create_drascula/staticdata.h
index 51ed995884..f45af487b1 100644
--- a/devtools/create_drascula/staticdata.h
+++ b/devtools/create_drascula/staticdata.h
@@ -6041,7 +6041,7 @@ const char *_texthis[NUM_LANGS][NUM_TEXTHIS] = {
},
{
"",
- "Vor einer langen Zeit scheint Drascula Von Brauns Frau getoetet zu haben und als Von Braun sich dann den Grafen vorknoepfen wollte, begann er damit, alles, was er ueber Vampire finden konnte, in Erfahrung zu bringen.",
+ "Vor langer Zeit scheint Drascula Von Brauns Frau getoetet zu haben. Um sich den Grafen vorzuknoepfen, fing Von Braun an, alles, was er ueber Vampire finden konnte, in Erfahrung zu bringen.",
"Als er glaubte, er sei bereit, ging er hoch zum Schloss und hatte eine aeusserst gewaltsame Auseinandersetzung mit Drascula.",
"Niemand weiss, was genau dort passierte. Obwohl Von Braun verlor, konnte Drascula ihn nicht toeten.",
"Von Braun fuehlte sich durch seine Niederlage gedemuetigt. Er rannte vom Schloss fort und wagte es nie wieder, Drascula gegenueberzutreten."
diff --git a/devtools/create_project/codeblocks.cpp b/devtools/create_project/codeblocks.cpp
index d803fb0a37..8ca139e515 100644
--- a/devtools/create_project/codeblocks.cpp
+++ b/devtools/create_project/codeblocks.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "config.h"
#include "codeblocks.h"
#include <fstream>
@@ -34,20 +35,20 @@ CodeBlocksProvider::CodeBlocksProvider(StringList &global_warnings, std::map<std
}
void CodeBlocksProvider::createWorkspace(const BuildSetup &setup) {
- std::ofstream workspace((setup.outputDir + '/' + "scummvm.workspace").c_str());
+ std::ofstream workspace((setup.outputDir + '/' + PROJECT_NAME + ".workspace").c_str());
if (!workspace)
- error("Could not open \"" + setup.outputDir + '/' + "scummvm.workspace\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_NAME + ".workspace\" for writing");
workspace << "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n"
"<CodeBlocks_workspace_file>\n";
- workspace << "\t<Workspace title=\"ScummVM\">\n";
+ workspace << "\t<Workspace title=\"" << PROJECT_DESCRIPTION << "\">\n";
writeReferences(workspace);
// Note we assume that the UUID map only includes UUIDs for enabled engines!
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
workspace << "\t\t<Project filename=\"" << i->first << ".cbp\" />\n";
@@ -59,7 +60,7 @@ void CodeBlocksProvider::createWorkspace(const BuildSetup &setup) {
// HACK We need to pre-process library names
// since the MSVC and mingw precompiled
-// librarie have different names :(
+// libraries have different names :(
std::string processLibraryName(std::string name) {
// Remove "_static" in lib name
size_t pos = name.find("_static");
@@ -90,16 +91,16 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s
"\t\t<Option compiler=\"gcc\" />\n"
"\t\t<Build>\n";
- if (name == "scummvm") {
+ if (name == PROJECT_NAME) {
std::string libraries;
for (StringList::const_iterator i = setup.libraries.begin(); i != setup.libraries.end(); ++i)
libraries += processLibraryName(*i) + ".a;";
project << "\t\t\t<Target title=\"default\">\n"
- "\t\t\t\t<Option output=\"scummvm\\scummvm\" prefix_auto=\"1\" extension_auto=\"1\" />\n"
- "\t\t\t\t<Option object_output=\"scummvm\" />\n"
- "\t\t\t\t<Option external_deps=\"" << libraries /* + list of engines scummvm\engines\name\name.a */ << "\" />\n"
+ "\t\t\t\t<Option output=\"" << PROJECT_NAME << "\\" << PROJECT_NAME << "\" prefix_auto=\"1\" extension_auto=\"1\" />\n"
+ "\t\t\t\t<Option object_output=\"" << PROJECT_NAME << "\" />\n"
+ "\t\t\t\t<Option external_deps=\"" << libraries /* + list of engines engines\name\name.a */ << "\" />\n"
"\t\t\t\t<Option type=\"1\" />\n"
"\t\t\t\t<Option compiler=\"gcc\" />\n"
"\t\t\t\t<Option parameters=\"-d 8 --debugflags=parser\" />\n"
@@ -112,8 +113,8 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s
writeWarnings(name, project);
writeDefines(setup.defines, project);
- project << "\t\t\t\t\t<Add directory=\"$(SCUMMVM_LIBS)include\" />\n"
- "\t\t\t\t\t<Add directory=\"$(SCUMMVM_LIBS)include\\SDL\" />\n"
+ project << "\t\t\t\t\t<Add directory=\"$(" << LIBS_DEFINE << ")include\" />\n"
+ "\t\t\t\t\t<Add directory=\"$(" << LIBS_DEFINE << ")include\\SDL\" />\n"
"\t\t\t\t\t<Add directory=\"..\\..\\engines\" />\n"
"\t\t\t\t\t<Add directory=\"..\\..\\common\" />\n"
"\t\t\t\t\t<Add directory=\"..\\..\" />\n"
@@ -127,21 +128,21 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s
project << "\t\t\t\t\t<Add library=\"" << processLibraryName(*i) << "\" />\n";
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
- project << "\t\t\t\t\t<Add library=\"scummvm\\engines\\" << i->first << "\\lib" << i->first << ".a\" />\n";
+ project << "\t\t\t\t\t<Add library=\"" << PROJECT_NAME << "\\engines\\" << i->first << "\\lib" << i->first << ".a\" />\n";
}
- project << "\t\t\t\t\t<Add directory=\"$(SCUMMVM_LIBS)lib\\mingw\" />\n"
- "\t\t\t\t\t<Add directory=\"$(SCUMMVM_LIBS)lib\" />\n"
+ project << "\t\t\t\t\t<Add directory=\"$(" << LIBS_DEFINE << ")lib\\mingw\" />\n"
+ "\t\t\t\t\t<Add directory=\"$(" << LIBS_DEFINE << ")lib\" />\n"
"\t\t\t\t</Linker>\n";
//////////////////////////////////////////////////////////////////////////
// Resource compiler
project << "\t\t\t\t<ResourceCompiler>\n"
"\t\t\t\t\t<Add directory=\"..\\..\\dists\" />\n"
- "\t\t\t\t\t<Add directory=\"..\\..\\..\\scummvm\" />\n"
+ "\t\t\t\t\t<Add directory=\"..\\..\\..\\" << PROJECT_NAME << "\" />\n"
"\t\t\t\t</ResourceCompiler>\n"
"\t\t\t</Target>\n"
"\t\t</Build>\n";
@@ -150,9 +151,9 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s
} else {
project << "\t\t\t<Target title=\"default\">\n"
- "\t\t\t\t<Option output=\"scummvm\\engines\\" << name << "\\lib" << name << "\" prefix_auto=\"1\" extension_auto=\"1\" />\n"
+ "\t\t\t\t<Option output=\"" << PROJECT_NAME << "\\engines\\" << name << "\\lib" << name << "\" prefix_auto=\"1\" extension_auto=\"1\" />\n"
"\t\t\t\t<Option working_dir=\"\" />\n"
- "\t\t\t\t<Option object_output=\"scummvm\" />\n"
+ "\t\t\t\t<Option object_output=\"" << PROJECT_NAME << "\" />\n"
"\t\t\t\t<Option type=\"2\" />\n"
"\t\t\t\t<Option compiler=\"gcc\" />\n"
"\t\t\t\t<Option createDefFile=\"1\" />\n"
@@ -163,11 +164,11 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s
project << "\t\t\t\t\t<Add option=\"-g\" />\n"
"\t\t\t\t\t<Add directory=\"..\\..\\engines\" />\n"
- "\t\t\t\t\t<Add directory=\"..\\..\\..\\scummvm\" />\n";
+ "\t\t\t\t\t<Add directory=\"..\\..\\..\\" << PROJECT_NAME << "\" />\n";
// Sword2.5 engine needs theora and vorbis includes
if (name == "sword25")
- project << "\t\t\t\t\t<Add directory=\"$(SCUMMVM_LIBS)include\" />\n";
+ project << "\t\t\t\t\t<Add directory=\"$(" << LIBS_DEFINE << ")include\" />\n";
project << "\t\t\t\t</Compiler>\n"
"\t\t\t</Target>\n"
@@ -233,7 +234,7 @@ void CodeBlocksProvider::writeFileListToProject(const FileNode &dir, std::ofstre
"\t\t</Unit>\n";
} else if (ext == "asm") {
projectFile << "\t\t<Unit filename=\"" << convertPathToWin(filePrefix + node->name) << "\">\n"
- "\t\t\t<Option compiler=\"gcc\" use=\"1\" buildCommand=\"$(SCUMMVM_LIBS)bin/nasm.exe -f win32 -g $file -o $object\" />"
+ "\t\t\t<Option compiler=\"gcc\" use=\"1\" buildCommand=\"$(" << LIBS_DEFINE << ")bin/nasm.exe -f win32 -g $file -o $object\" />"
"\t\t</Unit>\n";
} else {
projectFile << "\t\t<Unit filename=\"" << convertPathToWin(filePrefix + node->name) << "\" />\n";
@@ -243,10 +244,10 @@ void CodeBlocksProvider::writeFileListToProject(const FileNode &dir, std::ofstre
}
void CodeBlocksProvider::writeReferences(std::ofstream &output) {
- output << "\t\t<Project filename=\"scummvm.cbp\" active=\"1\">\n";
+ output << "\t\t<Project filename=\"" << PROJECT_NAME << ".cbp\" active=\"1\">\n";
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == " << PROJECT_NAME << ")
continue;
output << "\t\t\t<Depends filename=\"" << i->first << ".cbp\" />\n";
diff --git a/devtools/create_project/codeblocks/create_project.cbp b/devtools/create_project/codeblocks/create_project.cbp
index 9078ddcd51..25b12d8cc2 100644
--- a/devtools/create_project/codeblocks/create_project.cbp
+++ b/devtools/create_project/codeblocks/create_project.cbp
@@ -36,6 +36,7 @@
<Add option="-Wall" />
<Add option="-fexceptions" />
</Compiler>
+ <Unit filename="..\config.h" />
<Unit filename="..\codeblocks.cpp" />
<Unit filename="..\codeblocks.h" />
<Unit filename="..\create_project.cpp" />
diff --git a/backends/plugins/dc/dc-provider.h b/devtools/create_project/config.h
index 55413ade5a..1609e9e99a 100644
--- a/backends/plugins/dc/dc-provider.h
+++ b/devtools/create_project/config.h
@@ -8,12 +8,12 @@
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
-
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -23,20 +23,16 @@
*
*/
-#ifndef BACKENDS_PLUGINS_DC_H
-#define BACKENDS_PLUGINS_DC_H
-
-#include "base/plugins.h"
-
-#if defined(DYNAMIC_MODULES) && defined(__DC__)
-
-class DCPluginProvider : public FilePluginProvider {
-protected:
- Plugin* createPlugin(const Common::FSNode &node) const;
+#ifndef TOOLS_CREATE_PROJECT_CONFIG_H
+#define TOOLS_CREATE_PROJECT_CONFIG_H
- bool isPluginFilename(const Common::FSNode &node) const;
-};
+#define PROJECT_DESCRIPTION "ScummVM" // Used in console output and build configuration
+#define PROJECT_NAME "scummvm" // Used for folders, icons, resources and project/solution name
+#define LIBS_DEFINE "SCUMMVM_LIBS" // Name of the include environment variable
+#define REVISION_DEFINE "SCUMMVM_INTERNAL_REVISION"
-#endif // defined(DYNAMIC_MODULES) && defined(__DC__)
+#define HAS_VIDEO_FOLDER 1
+//#define ADDITIONAL_LIBRARY ""
+#define NEEDS_RTTI 0
-#endif
+#endif // TOOLS_CREATE_PROJECT_CONFIG_H
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index b896e85131..35f68a12c0 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -29,6 +29,7 @@
#undef main
#endif // main
+#include "config.h"
#include "create_project.h"
#include "codeblocks.h"
@@ -150,7 +151,7 @@ int main(int argc, char *argv[]) {
using std::cout;
for (int i = 2; i < argc; ++i) {
if (!std::strcmp(argv[i], "--list-engines")) {
- cout << " The following enables are available in the ScummVM source distribution\n"
+ cout << " The following enables are available in the " PROJECT_DESCRIPTION " source distribution\n"
" located at \"" << srcDir << "\":\n";
cout << " state | name | description\n\n";
@@ -289,20 +290,17 @@ int main(int argc, char *argv[]) {
setup.libraries.push_back("sdl");
setup.libraries.push_back("winmm");
-// Initialize global & project-specific warnings
-#define SET_GLOBAL_WARNINGS(...) \
- { \
- std::string global[PP_NARG(__VA_ARGS__)] = { __VA_ARGS__ }; \
- globalWarnings.assign(global, global + (sizeof(global) / sizeof(global[0]))); \
- }
-
-#define SET_WARNINGS(name, ...) \
- { \
- std::string project[PP_NARG(__VA_ARGS__)] = { __VA_ARGS__ }; \
- projectWarnings[name].assign(project, project + (sizeof(project) / sizeof(project[0]))); \
- }
+ // Add additional project-specific library
+#ifdef ADDITIONAL_LIBRARY
+ setup.libraries.push_back(ADDITIONAL_LIBRARY);
+#endif
// List of global warnings and map of project-specific warnings
+ // FIXME: As shown below these two structures have different behavior for
+ // Code::Blocks and MSVC. In Code::Blocks this is used to enable *and*
+ // disable certain warnings (and some other not warning related flags
+ // actually...). While in MSVC this is solely for disabling warnings.
+ // That is really not nice. We should consider a nicer way of doing this.
StringList globalWarnings;
std::map<std::string, StringList> projectWarnings;
@@ -336,9 +334,23 @@ int main(int argc, char *argv[]) {
//
////////////////////////////////////////////////////////////////////////////
- SET_GLOBAL_WARNINGS("-Wall", "-Wno-long-long", "-Wno-multichar", "-Wno-unknown-pragmas", "-Wno-reorder",
- "-Wpointer-arith", "-Wcast-qual", "-Wcast-align", "-Wshadow", "-Wimplicit",
- "-Wnon-virtual-dtor", "-Wwrite-strings", "-fno-rtti", "-fno-exceptions", "-fcheck-new");
+ globalWarnings.push_back("-Wall");
+ globalWarnings.push_back("-Wno-long-long");
+ globalWarnings.push_back("-Wno-multichar");
+ globalWarnings.push_back("-Wno-unknown-pragmas");
+ globalWarnings.push_back("-Wno-reorder");
+ globalWarnings.push_back("-Wpointer-arith");
+ globalWarnings.push_back("-Wcast-qual");
+ globalWarnings.push_back("-Wcast-align");
+ globalWarnings.push_back("-Wshadow");
+ globalWarnings.push_back("-Wimplicit");
+ globalWarnings.push_back("-Wnon-virtual-dtor");
+ globalWarnings.push_back("-Wwrite-strings");
+ // The following are not warnings at all... We should consider adding them to
+ // a different list of parameters.
+ globalWarnings.push_back("-fno-rtti");
+ globalWarnings.push_back("-fno-exceptions");
+ globalWarnings.push_back("-fcheck-new");
provider = new CreateProjectTool::CodeBlocksProvider(globalWarnings, projectWarnings);
@@ -415,12 +427,35 @@ int main(int argc, char *argv[]) {
//
////////////////////////////////////////////////////////////////////////////
- SET_GLOBAL_WARNINGS("4068", "4100", "4103", "4127", "4244", "4250", "4310", "4351", "4512", "4702", "4706", "4800", "4996", "6204", "6211", "6385", "6386");
- SET_WARNINGS("agi", "4510", "4610");
- SET_WARNINGS("agos", "4511");
- SET_WARNINGS("lure", "4189", "4355");
- SET_WARNINGS("kyra", "4355");
- SET_WARNINGS("m4", "4355");
+ globalWarnings.push_back("4068");
+ globalWarnings.push_back("4100");
+ globalWarnings.push_back("4103");
+ globalWarnings.push_back("4127");
+ globalWarnings.push_back("4244");
+ globalWarnings.push_back("4250");
+ globalWarnings.push_back("4310");
+ globalWarnings.push_back("4351");
+ globalWarnings.push_back("4512");
+ globalWarnings.push_back("4702");
+ globalWarnings.push_back("4706");
+ globalWarnings.push_back("4800");
+ globalWarnings.push_back("4996");
+ globalWarnings.push_back("6204");
+ globalWarnings.push_back("6211");
+ globalWarnings.push_back("6385");
+ globalWarnings.push_back("6386");
+
+ projectWarnings["agi"].push_back("4510");
+ projectWarnings["agi"].push_back("4610");
+
+ projectWarnings["agos"].push_back("4511");
+
+ projectWarnings["lure"].push_back("4189");
+ projectWarnings["lure"].push_back("4355");
+
+ projectWarnings["kyra"].push_back("4355");
+
+ projectWarnings["m4"].push_back("4355");
if (msvcVersion == 8 || msvcVersion == 9)
provider = new CreateProjectTool::VisualStudioProvider(globalWarnings, projectWarnings, msvcVersion);
@@ -456,7 +491,7 @@ void displayHelp(const char *exe) {
cout << "Usage:\n"
<< exe << " path\\to\\source [optional options]\n"
<< "\n"
- << " Creates project files for the ScummVM source located at \"path\\to\\source\".\n"
+ << " Creates project files for the " PROJECT_DESCRIPTION " source located at \"path\\to\\source\".\n"
" The project files will be created in the directory where tool is run from and\n"
" will include \"path\\to\\source\" for relative file paths, thus be sure that you\n"
" pass a relative file path like \"..\\..\\trunk\".\n"
@@ -482,14 +517,14 @@ void displayHelp(const char *exe) {
" --build-events Run custom build events as part of the build\n"
" (default: false)\n"
"\n"
- "ScummVM engine settings:\n"
+ "Engines settings:\n"
" --list-engines list all available engines and their default state\n"
" --enable-engine enable building of the engine with the name \"engine\"\n"
" --disable-engine disable building of the engine with the name \"engine\"\n"
" --enable-all-engines enable building of all engines\n"
" --disable-all-engines disable building of all engines\n"
"\n"
- "ScummVM optional feature settings:\n"
+ "Optional features settings:\n"
" --enable-name enable inclusion of the feature \"name\"\n"
" --disable-name disable inclusion of the feature \"name\"\n"
"\n"
@@ -686,25 +721,26 @@ TokenList tokenize(const std::string &input) {
namespace {
const Feature s_features[] = {
// Libraries
- { "libz", "USE_ZLIB", "zlib", true, "zlib (compression) support" },
- { "mad", "USE_MAD", "libmad", true, "libmad (MP3) support" },
+ { "libz", "USE_ZLIB", "zlib", true, "zlib (compression) support" },
+ { "mad", "USE_MAD", "libmad", true, "libmad (MP3) support" },
{ "vorbis", "USE_VORBIS", "libvorbisfile_static libvorbis_static libogg_static", true, "Ogg Vorbis support" },
- { "flac", "USE_FLAC", "libFLAC_static", true, "FLAC support" },
- { "png", "USE_PNG", "libpng", true, "libpng support" },
- { "theora", "USE_THEORADEC", "libtheora_static", true, "Theora decoding support" },
- { "mpeg2", "USE_MPEG2", "libmpeg2", false, "mpeg2 codec for cutscenes" },
-
- // ScummVM feature flags
- { "scalers", "USE_SCALERS", "", true, "Scalers" },
- { "hqscalers", "USE_HQ_SCALERS", "", true, "HQ scalers" },
- { "16bit", "USE_RGB_COLOR", "", true, "16bit color support" },
- { "mt32emu", "USE_MT32EMU", "", true, "integrated MT-32 emulator" },
- { "nasm", "USE_NASM", "", true, "IA-32 assembly support" }, // This feature is special in the regard, that it needs additional handling.
+ { "flac", "USE_FLAC", "libFLAC_static", true, "FLAC support" },
+ { "png", "USE_PNG", "libpng", true, "libpng support" },
+ { "theora", "USE_THEORADEC", "libtheora_static", true, "Theora decoding support" },
+ { "mpeg2", "USE_MPEG2", "libmpeg2", false, "mpeg2 codec for cutscenes" },
+
+ // Feature flags
+ { "scalers", "USE_SCALERS", "", true, "Scalers" },
+ { "hqscalers", "USE_HQ_SCALERS", "", true, "HQ scalers" },
+ { "16bit", "USE_RGB_COLOR", "", true, "16bit color support" },
+ { "mt32emu", "USE_MT32EMU", "", true, "integrated MT-32 emulator" },
+ { "nasm", "USE_NASM", "", true, "IA-32 assembly support" }, // This feature is special in the regard, that it needs additional handling.
{ "opengl", "USE_OPENGL", "opengl32", true, "OpenGL support" },
- { "indeo3", "USE_INDEO3", "", true, "Indeo3 codec support"},
- { "translation", "USE_TRANSLATION", "", true, "Translation support" },
- { "langdetect", "USE_DETECTLANG", "", true, "System language detection support" } // This feature actually depends on "translation", there
- // is just no current way of properly detecting this...
+ { "indeo3", "USE_INDEO3", "", true, "Indeo3 codec support"},
+ { "translation", "USE_TRANSLATION", "", true, "Translation support" },
+ { "vkeybd", "ENABLE_VKEYBD", "", false, "Virtual keyboard support"},
+ { "langdetect", "USE_DETECTLANG", "", true, "System language detection support" } // This feature actually depends on "translation", there
+ // is just no current way of properly detecting this...
};
} // End of anonymous namespace
@@ -791,9 +827,10 @@ bool producesObjectFile(const std::string &fileName) {
* Checks whether the give file in the specified directory is present in the given
* file list.
*
- * This function does as special match against the file list. It will not take file
- * extensions into consideration, when the extension of a file in the specified
- * directory is one of "h", "cpp", "c" or "asm".
+ * This function does as special match against the file list. Object files (.o) are
+ * excluded by default and it will not take file extensions into consideration,
+ * when the extension of a file in the specified directory is one of "h", "cpp",
+ * "c" or "asm".
*
* @param dir Parent directory of the file.
* @param fileName File name to match.
@@ -823,7 +860,9 @@ bool isInList(const std::string &dir, const std::string &fileName, const StringL
}
const std::string lastPathComponent = getLastPathComponent(*i);
- if (!producesObjectFile(fileName) && extensionName != "h") {
+ if (extensionName == "o") {
+ return false;
+ } else if (!producesObjectFile(fileName) && extensionName != "h") {
if (fileName == lastPathComponent)
return true;
} else {
@@ -977,7 +1016,7 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
_uuidMap = createUUIDMap(setup);
// We also need to add the UUID of the main project file.
- const std::string svmUUID = _uuidMap["scummvm"] = createUUID();
+ const std::string svmUUID = _uuidMap[PROJECT_NAME] = createUUID();
// Create Solution/Workspace file
createWorkspace(setup);
@@ -986,7 +1025,7 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
// Create engine project files
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
in.clear(); ex.clear();
@@ -996,10 +1035,10 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
createProjectFile(i->first, i->second, setup, moduleDir, in, ex);
}
- // Last but not least create the main ScummVM project file.
+ // Last but not least create the main project file.
in.clear(); ex.clear();
- // File list for the ScummVM project file
+ // File list for the Project file
createModuleList(setup.srcDir + "/backends", setup.defines, in, ex);
createModuleList(setup.srcDir + "/backends/platform/sdl", setup.defines, in, ex);
createModuleList(setup.srcDir + "/base", setup.defines, in, ex);
@@ -1009,11 +1048,13 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
createModuleList(setup.srcDir + "/gui", setup.defines, in, ex);
createModuleList(setup.srcDir + "/audio", setup.defines, in, ex);
createModuleList(setup.srcDir + "/audio/softsynth/mt32", setup.defines, in, ex);
+#if HAS_VIDEO_FOLDER
createModuleList(setup.srcDir + "/video", setup.defines, in, ex);
+#endif
// Resource files
- in.push_back(setup.srcDir + "/icons/scummvm.ico");
- in.push_back(setup.srcDir + "/dists/scummvm.rc");
+ in.push_back(setup.srcDir + "/icons/" + PROJECT_NAME + ".ico");
+ in.push_back(setup.srcDir + "/dists/" + PROJECT_NAME + ".rc");
// Various text files
in.push_back(setup.srcDir + "/AUTHORS");
@@ -1024,8 +1065,8 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
in.push_back(setup.srcDir + "/README");
in.push_back(setup.srcDir + "/TODO");
- // Create the scummvm project file.
- createProjectFile("scummvm", svmUUID, setup, setup.srcDir, in, ex);
+ // Create the main project file.
+ createProjectFile(PROJECT_NAME, svmUUID, setup, setup.srcDir, in, ex);
// Create other misc. build files
createOtherBuildFiles(setup);
diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h
index 8c4b8c7d23..f4d2a0a66a 100644
--- a/devtools/create_project/create_project.h
+++ b/devtools/create_project/create_project.h
@@ -32,34 +32,6 @@
#include <cassert>
-// The PP_NARG macro returns the number of arguments that have been passed to it.
-#define PP_NARG(...) \
- PP_NARG_(__VA_ARGS__,PP_RSEQ_N())
-#define PP_NARG_(...) \
- PP_ARG_N(__VA_ARGS__)
-#define PP_ARG_N( \
- _1, _2, _3, _4, _5, _6, _7, _8, _9,_10, \
- _11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \
- _21,_22,_23,_24,_25,_26,_27,_28,_29,_30, \
- _31,_32,_33,_34,_35,_36,_37,_38,_39,_40, \
- _41,_42,_43,_44,_45,_46,_47,_48,_49,_50, \
- _51,_52,_53,_54,_55,_56,_57,_58,_59,_60, \
- _61,_62,_63,N,...) N
-#define PP_RSEQ_N() \
- 63,62,61,60, \
- 59,58,57,56,55,54,53,52,51,50, \
- 49,48,47,46,45,44,43,42,41,40, \
- 39,38,37,36,35,34,33,32,31,30, \
- 29,28,27,26,25,24,23,22,21,20, \
- 19,18,17,16,15,14,13,12,11,10, \
- 9,8,7,6,5,4,3,2,1,0
-
-#define SET_VALUES(list, ...) \
- { \
- std::string values[PP_NARG(__VA_ARGS__)] = { __VA_ARGS__ }; \
- list.assign(values, values + (sizeof(values) / sizeof(values[0]))); \
- }
-
typedef std::list<std::string> StringList;
/**
@@ -105,13 +77,13 @@ struct EngineDesc {
typedef std::list<EngineDesc> EngineDescList;
/**
- * This function parses the ScummVM configure file and creates a list
+ * This function parses the project configure file and creates a list
* of available engines.
*
* It will also automatically setup the default build state (enabled
* or disabled) to the state specified in the "configure" file.
*
- * @param srcDir Path to the root of the ScummVM source.
+ * @param srcDir Path to the root of the project source.
* @return List of available engines.
*/
EngineDescList parseConfigure(const std::string &srcDir);
@@ -206,11 +178,11 @@ bool setFeatureBuildState(const std::string &name, FeatureList &features, bool e
* Structure to describe a build setup.
*
* This includes various information about which engines to
- * enable, which features should be built into ScummVM.
- * It also contains the path to the ScummVM souce root.
+ * enable, which features should be built into the main executable.
+ * It also contains the path to the project source root.
*/
struct BuildSetup {
- std::string srcDir; ///< Path to the ScummVM sources.
+ std::string srcDir; ///< Path to the sources.
std::string filePrefix; ///< Prefix for the relative path arguments in the project files.
std::string outputDir; ///< Path where to put the MSVC project files.
diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp
index 73511218b4..06425dd4aa 100644
--- a/devtools/create_project/msbuild.cpp
+++ b/devtools/create_project/msbuild.cpp
@@ -23,10 +23,10 @@
*
*/
+#include "config.h"
#include "msbuild.h"
#include <fstream>
-
#include <algorithm>
namespace CreateProjectTool {
@@ -52,22 +52,29 @@ int MSBuildProvider::getVisualStudioVersion() {
return 2010;
}
-#define OUTPUT_CONFIGURATION_MSBUILD(config, platform) \
- (project << "\t\t<ProjectConfiguration Include=\"" << config << "|" << platform << "\">\n" \
- "\t\t\t<Configuration>" << config << "</Configuration>\n" \
- "\t\t\t<Platform>" << platform << "</Platform>\n" \
- "\t\t</ProjectConfiguration>\n")
+namespace {
+
+inline void outputConfiguration(std::ostream &project, const std::string &config, const std::string &platform) {
+ project << "\t\t<ProjectConfiguration Include=\"" << config << "|" << platform << "\">\n"
+ "\t\t\t<Configuration>" << config << "</Configuration>\n"
+ "\t\t\t<Platform>" << platform << "</Platform>\n"
+ "\t\t</ProjectConfiguration>\n";
+}
+
+inline void outputConfigurationType(std::ostream &project, const std::string &name, const std::string &config) {
+ project << "\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='" << config << "'\" Label=\"Configuration\">\n"
+ "\t\t<ConfigurationType>" << (name == PROJECT_NAME ? "Application" : "StaticLibrary") << "</ConfigurationType>\n"
+ "\t</PropertyGroup>\n";
+}
-#define OUTPUT_CONFIGURATION_TYPE_MSBUILD(config) \
- (project << "\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='" << config << "'\" Label=\"Configuration\">\n" \
- "\t\t<ConfigurationType>" << (name == "scummvm" ? "Application" : "StaticLibrary") << "</ConfigurationType>\n" \
- "\t</PropertyGroup>\n")
+inline void outputProperties(std::ostream &project, const std::string &config, const std::string &properties) {
+ project << "\t<ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='" << config << "'\" Label=\"PropertySheets\">\n"
+ "\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n"
+ "\t\t<Import Project=\"" << properties << "\" />\n"
+ "\t</ImportGroup>\n";
+}
-#define OUTPUT_PROPERTIES_MSBUILD(config, properties) \
- (project << "\t<ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='" << config << "'\" Label=\"PropertySheets\">\n" \
- "\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n" \
- "\t\t<Import Project=\"" << properties << "\" />\n" \
- "\t</ImportGroup>\n")
+} // End of anonymous namespace
void MSBuildProvider::createProjectFile(const std::string &name, const std::string &uuid, const BuildSetup &setup, const std::string &moduleDir,
const StringList &includeList, const StringList &excludeList) {
@@ -80,12 +87,12 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri
"<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
"\t<ItemGroup Label=\"ProjectConfigurations\">\n";
- OUTPUT_CONFIGURATION_MSBUILD("Debug", "Win32");
- OUTPUT_CONFIGURATION_MSBUILD("Debug", "x64");
- OUTPUT_CONFIGURATION_MSBUILD("Analysis", "Win32");
- OUTPUT_CONFIGURATION_MSBUILD("Analysis", "x64");
- OUTPUT_CONFIGURATION_MSBUILD("Release", "Win32");
- OUTPUT_CONFIGURATION_MSBUILD("Release", "x64");
+ outputConfiguration(project, "Debug", "Win32");
+ outputConfiguration(project, "Debug", "x64");
+ outputConfiguration(project, "Analysis", "Win32");
+ outputConfiguration(project, "Analysis", "x64");
+ outputConfiguration(project, "Release", "Win32");
+ outputConfiguration(project, "Release", "x64");
project << "\t</ItemGroup>\n";
@@ -99,23 +106,23 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri
// Shared configuration
project << "\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n";
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Release|Win32");
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Analysis|Win32");
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Debug|Win32");
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Release|x64");
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Analysis|x64");
- OUTPUT_CONFIGURATION_TYPE_MSBUILD("Debug|x64");
+ outputConfigurationType(project, name, "Release|Win32");
+ outputConfigurationType(project, name, "Analysis|Win32");
+ outputConfigurationType(project, name, "Debug|Win32");
+ outputConfigurationType(project, name, "Release|x64");
+ outputConfigurationType(project, name, "Analysis|x64");
+ outputConfigurationType(project, name, "Debug|x64");
project << "\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n"
"\t<ImportGroup Label=\"ExtensionSettings\">\n"
"\t</ImportGroup>\n";
- OUTPUT_PROPERTIES_MSBUILD("Release|Win32", "ScummVM_Release.props");
- OUTPUT_PROPERTIES_MSBUILD("Analysis|Win32", "ScummVM_Analysis.props");
- OUTPUT_PROPERTIES_MSBUILD("Debug|Win32", "ScummVM_Debug.props");
- OUTPUT_PROPERTIES_MSBUILD("Release|x64", "ScummVM_Release64.props");
- OUTPUT_PROPERTIES_MSBUILD("Analysis|x64", "ScummVM_Analysis64.props");
- OUTPUT_PROPERTIES_MSBUILD("Debug|x64", "ScummVM_Debug64.props");
+ outputProperties(project, "Release|Win32", PROJECT_DESCRIPTION "_Release.props");
+ outputProperties(project, "Analysis|Win32", PROJECT_DESCRIPTION "_Analysis.props");
+ outputProperties(project, "Debug|Win32", PROJECT_DESCRIPTION "_Debug.props");
+ outputProperties(project, "Release|x64", PROJECT_DESCRIPTION "_Release64.props");
+ outputProperties(project, "Analysis|x64", PROJECT_DESCRIPTION "_Analysis64.props");
+ outputProperties(project, "Debug|x64", PROJECT_DESCRIPTION "_Debug64.props");
project << "\t<PropertyGroup Label=\"UserMacros\" />\n";
@@ -140,8 +147,8 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri
else
addFilesToProject(moduleDir, project, includeList, excludeList, setup.filePrefix);
- // Output references for scummvm project
- if (name == "scummvm")
+ // Output references for the main project
+ if (name == PROJECT_NAME)
writeReferences(project);
project << "\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n"
@@ -153,21 +160,6 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri
createFiltersFile(setup, name);
}
-#define OUTPUT_FILTER_MSBUILD(files, action) \
- if (!files.empty()) { \
- filters << "\t<ItemGroup>\n"; \
- for (std::list<FileEntry>::const_iterator entry = files.begin(); entry != files.end(); ++entry) { \
- if ((*entry).filter != "") { \
- filters << "\t\t<" action " Include=\"" << (*entry).path << "\">\n" \
- "\t\t\t<Filter>" << (*entry).filter << "</Filter>\n" \
- "\t\t</" action ">\n"; \
- } else { \
- filters << "\t\t<" action " Include=\"" << (*entry).path << "\" />\n"; \
- } \
- } \
- filters << "\t</ItemGroup>\n"; \
- }
-
void MSBuildProvider::createFiltersFile(const BuildSetup &setup, const std::string &name) {
// No filters => no need to create a filter file
if (_filters.empty())
@@ -199,20 +191,36 @@ void MSBuildProvider::createFiltersFile(const BuildSetup &setup, const std::stri
filters << "\t</ItemGroup>\n";
// Output files
- OUTPUT_FILTER_MSBUILD(_compileFiles, "ClCompile")
- OUTPUT_FILTER_MSBUILD(_includeFiles, "ClInclude")
- OUTPUT_FILTER_MSBUILD(_otherFiles, "None")
- OUTPUT_FILTER_MSBUILD(_resourceFiles, "ResourceCompile")
- OUTPUT_FILTER_MSBUILD(_asmFiles, "CustomBuild")
+ outputFilter(filters, _compileFiles, "ClCompile");
+ outputFilter(filters, _includeFiles, "ClInclude");
+ outputFilter(filters, _otherFiles, "None");
+ outputFilter(filters, _resourceFiles, "ResourceCompile");
+ outputFilter(filters, _asmFiles, "CustomBuild");
filters << "</Project>";
}
+void MSBuildProvider::outputFilter(std::ostream &filters, const FileEntries &files, const std::string &action) {
+ if (!files.empty()) {
+ filters << "\t<ItemGroup>\n";
+ for (FileEntries::const_iterator entry = files.begin(), end = files.end(); entry != end; ++entry) {
+ if ((*entry).filter != "") {
+ filters << "\t\t<" << action << " Include=\"" << (*entry).path << "\">\n"
+ "\t\t\t<Filter>" << (*entry).filter << "</Filter>\n"
+ "\t\t</" << action << ">\n";
+ } else {
+ filters << "\t\t<" << action << " Include=\"" << (*entry).path << "\" />\n";
+ }
+ }
+ filters << "\t</ItemGroup>\n";
+ }
+}
+
void MSBuildProvider::writeReferences(std::ofstream &output) {
output << "\t<ItemGroup>\n";
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
output << "\t<ProjectReference Include=\"" << i->first << ".vcxproj\">\n"
@@ -230,7 +238,7 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s
std::map<std::string, StringList>::iterator warningsIterator = _projectWarnings.find(name);
// Nothing to add here, move along!
- if (name != "scummvm" && name != "sword25" && name != "tinsel" && warningsIterator == _projectWarnings.end())
+ if (name != PROJECT_NAME && name != "sword25" && name != "tinsel" && name != "grim" && warningsIterator == _projectWarnings.end())
return;
std::string warnings = "";
@@ -242,7 +250,7 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s
"\t\t<ClCompile>\n";
// Compile configuration
- if (name == "scummvm" || name == "sword25") {
+ if (name == PROJECT_NAME || name == "sword25" || name == "grim") {
project << "\t\t\t<DisableLanguageExtensions>false</DisableLanguageExtensions>\n";
} else {
if (name == "tinsel" && !isRelease)
@@ -254,26 +262,23 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s
project << "\t\t</ClCompile>\n";
- // Link configuration for scummvm project
- if (name == "scummvm") {
+ // Link configuration for main project
+ if (name == PROJECT_NAME) {
std::string libraries;
for (StringList::const_iterator i = setup.libraries.begin(); i != setup.libraries.end(); ++i)
libraries += *i + ".lib;";
project << "\t\t<Link>\n"
- "\t\t\t<OutputFile>$(OutDir)scummvm.exe</OutputFile>\n"
+ "\t\t\t<OutputFile>$(OutDir)" << PROJECT_NAME << ".exe</OutputFile>\n"
"\t\t\t<AdditionalDependencies>" << libraries << "%(AdditionalDependencies)</AdditionalDependencies>\n"
"\t\t</Link>\n";
if (setup.runBuildEvents) {
- // Only generate revision number in debug builds
- if (!isRelease) {
- project << "\t\t<PreBuildEvent>\n"
- "\t\t\t<Message>Generate internal_version.h</Message>\n"
- "\t\t\t<Command>" << getPreBuildEvent() << "</Command>\n"
- "\t\t</PreBuildEvent>\n";
- }
+ project << "\t\t<PreBuildEvent>\n"
+ "\t\t\t<Message>Generate revision</Message>\n"
+ "\t\t\t<Command>" << getPreBuildEvent() << "</Command>\n"
+ "\t\t</PreBuildEvent>\n";
// Copy data files to the build folder
project << "\t\t<PostBuildEvent>\n"
@@ -286,7 +291,7 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s
project << "\t</ItemDefinitionGroup>\n";
}
-void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix) {
+void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix, bool runBuildEvents) {
std::string warnings;
for (StringList::const_iterator i = _globalWarnings.begin(); i != _globalWarnings.end(); ++i)
@@ -296,14 +301,18 @@ void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits,
for (StringList::const_iterator i = defines.begin(); i != defines.end(); ++i)
definesList += *i + ';';
+ // Add define to include revision header
+ if (runBuildEvents)
+ definesList += REVISION_DEFINE ";";
+
properties << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
"\t<PropertyGroup>\n"
- "\t\t<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\n"
- "\t\t<_PropertySheetDisplayName>ScummVM_Global</_PropertySheetDisplayName>\n"
- "\t\t<ExecutablePath>$(SCUMMVM_LIBS)\\bin;$(ExecutablePath)</ExecutablePath>\n"
- "\t\t<LibraryPath>$(SCUMMVM_LIBS)\\lib\\" << (bits == 32 ? "x86" : "x64") << ";$(LibraryPath)</LibraryPath>\n"
- "\t\t<IncludePath>$(SCUMMVM_LIBS)\\include;$(IncludePath)</IncludePath>\n"
+ "\t\t<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n"
+ "\t\t<_PropertySheetDisplayName>" << PROJECT_DESCRIPTION << "_Global</_PropertySheetDisplayName>\n"
+ "\t\t<ExecutablePath>$(" << LIBS_DEFINE << ")\\bin;$(ExecutablePath)</ExecutablePath>\n"
+ "\t\t<LibraryPath>$(" << LIBS_DEFINE << ")\\lib\\" << (bits == 32 ? "x86" : "x64") << ";$(LibraryPath)</LibraryPath>\n"
+ "\t\t<IncludePath>$(" << LIBS_DEFINE << ")\\include;$(IncludePath)</IncludePath>\n"
"\t\t<OutDir>$(Configuration)" << bits << "\\</OutDir>\n"
"\t\t<IntDir>$(Configuration)" << bits << "/$(ProjectName)\\</IntDir>\n"
"\t</PropertyGroup>\n"
@@ -311,11 +320,17 @@ void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits,
"\t\t<ClCompile>\n"
"\t\t\t<DisableLanguageExtensions>true</DisableLanguageExtensions>\n"
"\t\t\t<DisableSpecificWarnings>" << warnings << ";%(DisableSpecificWarnings)</DisableSpecificWarnings>\n"
- "\t\t\t<AdditionalIncludeDirectories>$(SCUMMVM_LIBS)\\include;" << prefix << ";" << prefix << "\\engines;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
+ "\t\t\t<AdditionalIncludeDirectories>$(" << LIBS_DEFINE << ")\\include;" << prefix << ";" << prefix << "\\engines;$(TargetDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
"\t\t\t<PreprocessorDefinitions>" << definesList << "%(PreprocessorDefinitions)</PreprocessorDefinitions>\n"
- "\t\t\t<ExceptionHandling></ExceptionHandling>\n"
- "\t\t\t<RuntimeTypeInfo>false</RuntimeTypeInfo>\n"
- "\t\t\t<WarningLevel>Level4</WarningLevel>\n"
+ "\t\t\t<ExceptionHandling></ExceptionHandling>\n";
+
+#if NEEDS_RTTI
+ properties << "\t\t\t<RuntimeTypeInfo>true</RuntimeTypeInfo>\n";
+#else
+ properties << "\t\t\t<RuntimeTypeInfo>false</RuntimeTypeInfo>\n";
+#endif
+
+ properties << "\t\t\t<WarningLevel>Level4</WarningLevel>\n"
"\t\t\t<TreatWarningAsError>false</TreatWarningAsError>\n"
"\t\t\t<CompileAs>Default</CompileAs>\n"
"\t\t</ClCompile>\n"
@@ -338,18 +353,18 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b
const std::string outputType = (enableAnalysis ? "Analysis" : (isRelease ? "Release" : "Debug"));
const std::string outputBitness = (isWin32 ? "32" : "64");
- std::ofstream properties((setup.outputDir + '/' + "ScummVM_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension()).c_str());
+ std::ofstream properties((setup.outputDir + '/' + PROJECT_DESCRIPTION "_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension()).c_str());
if (!properties)
- error("Could not open \"" + setup.outputDir + '/' + "ScummVM_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension() + "\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_DESCRIPTION "_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension() + "\" for writing");
properties << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
"\t<ImportGroup Label=\"PropertySheets\">\n"
- "\t\t<Import Project=\"ScummVM_Global" << (isWin32 ? "" : "64") << ".props\" />\n"
+ "\t\t<Import Project=\"" << PROJECT_DESCRIPTION << "_Global" << (isWin32 ? "" : "64") << ".props\" />\n"
"\t</ImportGroup>\n"
"\t<PropertyGroup>\n"
- "\t\t<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\n"
- "\t\t<_PropertySheetDisplayName>ScummVM_" << outputType << outputBitness << "</_PropertySheetDisplayName>\n"
+ "\t\t<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n"
+ "\t\t<_PropertySheetDisplayName>" << PROJECT_DESCRIPTION << "_" << outputType << outputBitness << "</_PropertySheetDisplayName>\n"
"\t\t<LinkIncremental>" << (isRelease ? "false" : "true") << "</LinkIncremental>\n"
"\t</PropertyGroup>\n"
"\t<ItemDefinitionGroup>\n"
@@ -391,19 +406,6 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b
properties.close();
}
-#define OUTPUT_NASM_COMMAND_MSBUILD(config) \
- projectFile << "\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='" << config << "|Win32'\">nasm.exe -f win32 -g -o \"$(IntDir)" << (isDuplicate ? (*entry).prefix : "") << "%(Filename).obj\" \"%(FullPath)\"</Command>\n" \
- "\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='" << config << "|Win32'\">$(IntDir)" << (isDuplicate ? (*entry).prefix : "") << "%(Filename).obj;%(Outputs)</Outputs>\n";
-
-#define OUPUT_FILES_MSBUILD(files, action) \
- if (!files.empty()) { \
- projectFile << "\t<ItemGroup>\n"; \
- for (std::list<FileEntry>::const_iterator entry = files.begin(); entry != files.end(); ++entry) { \
- projectFile << "\t\t<" action " Include=\"" << (*entry).path << "\" />\n"; \
- } \
- projectFile << "\t</ItemGroup>\n"; \
- }
-
bool hasEnding(std::string const &fullString, std::string const &ending) {
if (fullString.length() > ending.length()) {
return (0 == fullString.compare (fullString.length() - ending.length(), ending.length(), ending));
@@ -412,6 +414,14 @@ bool hasEnding(std::string const &fullString, std::string const &ending) {
}
}
+namespace {
+
+inline void outputNasmCommand(std::ostream &projectFile, const std::string &config, const std::string &prefix) {
+ projectFile << "\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='" << config << "|Win32'\">nasm.exe -f win32 -g -o \"$(IntDir)" << prefix << "%(Filename).obj\" \"%(FullPath)\"</Command>\n"
+ "\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='" << config << "|Win32'\">$(IntDir)" << prefix << "%(Filename).obj;%(Outputs)</Outputs>\n";
+}
+
+} // End of anonymous namespace
void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream &projectFile, const int, const StringList &duplicate,
const std::string &objPrefix, const std::string &filePrefix) {
@@ -439,9 +449,6 @@ void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream
projectFile << "\t\t<ClCompile Include=\"" << (*entry).path << "\">\n"
"\t\t\t<ObjectFileName>$(IntDir)" << (*entry).prefix << "%(Filename).obj</ObjectFileName>\n";
- if (hasEnding((*entry).path, "base\\version.cpp"))
- projectFile << "\t\t\t<PreprocessorDefinitions Condition=\"'$(Configuration)'=='Debug'\">SCUMMVM_REVISION#&quot; $(SCUMMVM_REVISION_STRING)&quot;;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n";
-
projectFile << "\t\t</ClCompile>\n";
} else {
projectFile << "\t\t<ClCompile Include=\"" << (*entry).path << "\" />\n";
@@ -451,9 +458,9 @@ void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream
}
// Output include, other and resource files
- OUPUT_FILES_MSBUILD(_includeFiles, "ClInclude")
- OUPUT_FILES_MSBUILD(_otherFiles, "None")
- OUPUT_FILES_MSBUILD(_resourceFiles, "ResourceCompile")
+ outputFiles(projectFile, _includeFiles, "ClInclude");
+ outputFiles(projectFile, _otherFiles, "None");
+ outputFiles(projectFile, _resourceFiles, "ResourceCompile");
// Output asm files
if (!_asmFiles.empty()) {
@@ -465,9 +472,9 @@ void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream
projectFile << "\t\t<CustomBuild Include=\"" << (*entry).path << "\">\n"
"\t\t\t<FileType>Document</FileType>\n";
- OUTPUT_NASM_COMMAND_MSBUILD("Debug")
- OUTPUT_NASM_COMMAND_MSBUILD("Analysis")
- OUTPUT_NASM_COMMAND_MSBUILD("Release")
+ outputNasmCommand(projectFile, "Debug", (isDuplicate ? (*entry).prefix : ""));
+ outputNasmCommand(projectFile, "Analysis", (isDuplicate ? (*entry).prefix : ""));
+ outputNasmCommand(projectFile, "Release", (isDuplicate ? (*entry).prefix : ""));
projectFile << "\t\t</CustomBuild>\n";
}
@@ -475,6 +482,16 @@ void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream
}
}
+void MSBuildProvider::outputFiles(std::ostream &projectFile, const FileEntries &files, const std::string &action) {
+ if (!files.empty()) {
+ projectFile << "\t<ItemGroup>\n";
+ for (FileEntries::const_iterator entry = files.begin(), end = files.end(); entry != end; ++entry) {
+ projectFile << "\t\t<" << action << " Include=\"" << (*entry).path << "\" />\n";
+ }
+ projectFile << "\t</ItemGroup>\n";
+ }
+}
+
void MSBuildProvider::computeFileList(const FileNode &dir, const StringList &duplicate, const std::string &objPrefix, const std::string &filePrefix) {
for (FileNode::NodeList::const_iterator i = dir.children.begin(); i != dir.children.end(); ++i) {
const FileNode *node = *i;
diff --git a/devtools/create_project/msbuild.h b/devtools/create_project/msbuild.h
index fa5311734b..98bb65e19b 100644
--- a/devtools/create_project/msbuild.h
+++ b/devtools/create_project/msbuild.h
@@ -45,7 +45,7 @@ protected:
void writeReferences(std::ofstream &output);
- void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix);
+ void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix, bool runBuildEvents);
void createBuildProp(const BuildSetup &setup, bool isRelease, bool isWin32, bool enableAnalysis);
@@ -75,6 +75,9 @@ private:
void computeFileList(const FileNode &dir, const StringList &duplicate, const std::string &objPrefix, const std::string &filePrefix);
void createFiltersFile(const BuildSetup &setup, const std::string &name);
+
+ void outputFilter(std::ostream &filters, const FileEntries &files, const std::string &action);
+ void outputFiles(std::ostream &projectFile, const FileEntries &files, const std::string &action);
};
} // End of CreateProjectTool namespace
diff --git a/devtools/create_project/msvc.cpp b/devtools/create_project/msvc.cpp
index e2fff59c46..49998cd738 100644
--- a/devtools/create_project/msvc.cpp
+++ b/devtools/create_project/msvc.cpp
@@ -23,10 +23,10 @@
*
*/
+#include "config.h"
#include "msvc.h"
#include <fstream>
-
#include <algorithm>
namespace CreateProjectTool {
@@ -39,23 +39,23 @@ MSVCProvider::MSVCProvider(StringList &global_warnings, std::map<std::string, St
}
void MSVCProvider::createWorkspace(const BuildSetup &setup) {
- UUIDMap::const_iterator svmUUID = _uuidMap.find("scummvm");
+ UUIDMap::const_iterator svmUUID = _uuidMap.find(PROJECT_NAME);
if (svmUUID == _uuidMap.end())
- error("No UUID for \"scummvm\" project created");
+ error("No UUID for \"" PROJECT_NAME "\" project created");
const std::string svmProjectUUID = svmUUID->second;
assert(!svmProjectUUID.empty());
std::string solutionUUID = createUUID();
- std::ofstream solution((setup.outputDir + '/' + "scummvm.sln").c_str());
+ std::ofstream solution((setup.outputDir + '/' + PROJECT_NAME ".sln").c_str());
if (!solution)
- error("Could not open \"" + setup.outputDir + '/' + "scummvm.sln\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_NAME ".sln\" for writing");
solution << "Microsoft Visual Studio Solution File, Format Version " << _version + 1 << ".00\n";
solution << "# Visual Studio " << getVisualStudioVersion() << "\n";
- solution << "Project(\"{" << solutionUUID << "}\") = \"scummvm\", \"scummvm" << getProjectExtension() << "\", \"{" << svmProjectUUID << "}\"\n";
+ solution << "Project(\"{" << solutionUUID << "}\") = \"" << PROJECT_NAME << "\", \"" << PROJECT_NAME << getProjectExtension() << "\", \"{" << svmProjectUUID << "}\"\n";
// Project dependencies are moved to vcxproj files in Visual Studio 2010
if (_version < 10)
@@ -65,7 +65,7 @@ void MSVCProvider::createWorkspace(const BuildSetup &setup) {
// Note we assume that the UUID map only includes UUIDs for enabled engines!
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
solution << "Project(\"{" << solutionUUID << "}\") = \"" << i->first << "\", \"" << i->first << getProjectExtension() << "\", \"{" << i->second << "}\"\n"
@@ -120,16 +120,16 @@ void MSVCProvider::createOtherBuildFiles(const BuildSetup &setup) {
}
void MSVCProvider::createGlobalProp(const BuildSetup &setup) {
- std::ofstream properties((setup.outputDir + '/' + "ScummVM_Global" + getPropertiesExtension()).c_str());
+ std::ofstream properties((setup.outputDir + '/' + PROJECT_DESCRIPTION "_Global" + getPropertiesExtension()).c_str());
if (!properties)
- error("Could not open \"" + setup.outputDir + '/' + "ScummVM_Global" + getPropertiesExtension() + "\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_DESCRIPTION "_Global" + getPropertiesExtension() + "\" for writing");
- outputGlobalPropFile(properties, 32, setup.defines, convertPathToWin(setup.filePrefix));
+ outputGlobalPropFile(properties, 32, setup.defines, convertPathToWin(setup.filePrefix), setup.runBuildEvents);
properties.close();
- properties.open((setup.outputDir + '/' + "ScummVM_Global64" + getPropertiesExtension()).c_str());
+ properties.open((setup.outputDir + '/' + PROJECT_DESCRIPTION "_Global64" + getPropertiesExtension()).c_str());
if (!properties)
- error("Could not open \"" + setup.outputDir + '/' + "ScummVM_Global64" + getPropertiesExtension() + "\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_DESCRIPTION "_Global64" + getPropertiesExtension() + "\" for writing");
// HACK: We must disable the "nasm" feature for x64. To achieve that we must duplicate the feature list and
// recreate a define list.
@@ -143,7 +143,7 @@ void MSVCProvider::createGlobalProp(const BuildSetup &setup) {
x64Defines.push_back("WIN32");
x64Defines.push_back("SDL_BACKEND");
- outputGlobalPropFile(properties, 64, x64Defines, convertPathToWin(setup.filePrefix));
+ outputGlobalPropFile(properties, 64, x64Defines, convertPathToWin(setup.filePrefix), setup.runBuildEvents);
}
std::string MSVCProvider::getPreBuildEvent() const {
@@ -152,7 +152,7 @@ std::string MSVCProvider::getPreBuildEvent() const {
cmdLine = "@echo off\n"
"echo Executing Pre-Build script...\n"
"echo.\n"
- "@call &quot;$(SolutionDir)../../devtools/create_project/scripts/prebuild.cmd&quot; &quot;$(SolutionDir)/../..&quot;\n"
+ "@call &quot;$(SolutionDir)../../devtools/create_project/scripts/prebuild.cmd&quot; &quot;$(SolutionDir)/../..&quot; &quot;$(TargetDir)&quot;\n"
"EXIT /B0";
return cmdLine;
@@ -168,6 +168,8 @@ std::string MSVCProvider::getPostBuildEvent(bool isWin32) const {
cmdLine += (isWin32) ? "x86" : "x64";
+ cmdLine += " %SCUMMVM_LIBS%";
+
cmdLine += "\n"
"EXIT /B0";
diff --git a/devtools/create_project/msvc.h b/devtools/create_project/msvc.h
index f41ecc3aba..b2f2a5d33f 100644
--- a/devtools/create_project/msvc.h
+++ b/devtools/create_project/msvc.h
@@ -59,8 +59,9 @@ protected:
* @param bits Number of bits the platform supports.
* @param defines Defines the platform needs to have set.
* @param prefix File prefix, used to add additional include paths.
+ * @param runBuildEvents true if generating a revision number, false otherwise
*/
- virtual void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix) = 0;
+ virtual void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix, bool runBuildEvents) = 0;
/**
* Generates the project properties for debug and release settings.
diff --git a/devtools/create_project/msvc10/create_project.vcxproj b/devtools/create_project/msvc10/create_project.vcxproj
index 532d6dba29..15ce217bfc 100644
--- a/devtools/create_project/msvc10/create_project.vcxproj
+++ b/devtools/create_project/msvc10/create_project.vcxproj
@@ -101,6 +101,7 @@ xcopy /Y $(TargetPath) $(SolutionDir)\..\..\..\dists\codeblocks\</Command>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\codeblocks.h" />
+ <ClInclude Include="..\config.h" />
<ClInclude Include="..\create_project.h" />
<ClInclude Include="..\msbuild.h" />
<ClInclude Include="..\msvc.h" />
diff --git a/devtools/create_project/msvc10/create_project.vcxproj.filters b/devtools/create_project/msvc10/create_project.vcxproj.filters
index 7922e1e6f7..42db5aa97e 100644
--- a/devtools/create_project/msvc10/create_project.vcxproj.filters
+++ b/devtools/create_project/msvc10/create_project.vcxproj.filters
@@ -27,6 +27,9 @@
<ClInclude Include="..\visualstudio.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="..\config.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\codeblocks.cpp">
diff --git a/devtools/create_project/msvc8/create_project.vcproj b/devtools/create_project/msvc8/create_project.vcproj
index bc3b2437ac..9cd833ea23 100644
--- a/devtools/create_project/msvc8/create_project.vcproj
+++ b/devtools/create_project/msvc8/create_project.vcproj
@@ -199,6 +199,10 @@
>
</File>
<File
+ RelativePath="..\config.h"
+ >
+ </File>
+ <File
RelativePath="..\msvc.h"
>
</File>
diff --git a/devtools/create_project/msvc9/create_project.vcproj b/devtools/create_project/msvc9/create_project.vcproj
index c89b88a1c9..4e0375c35e 100644
--- a/devtools/create_project/msvc9/create_project.vcproj
+++ b/devtools/create_project/msvc9/create_project.vcproj
@@ -200,6 +200,10 @@
>
</File>
<File
+ RelativePath="..\config.h"
+ >
+ </File>
+ <File
RelativePath="..\msvc.h"
>
</File>
diff --git a/devtools/create_project/scripts/postbuild.cmd b/devtools/create_project/scripts/postbuild.cmd
index 5c2bd8a1ad..e5f29058b9 100644
--- a/devtools/create_project/scripts/postbuild.cmd
+++ b/devtools/create_project/scripts/postbuild.cmd
@@ -11,10 +11,12 @@ REM Expected parameters
REM Root folder
REM Output folder
REM Architecture
+REM Libs folder
-if "%~1"=="" goto error_input
+if "%~1"=="" goto error_root
if "%~2"=="" goto error_output
if "%~3"=="" goto error_arch
+if "%~4"=="" goto error_libs
echo Copying data files
echo.
@@ -26,10 +28,12 @@ xcopy /F /Y "%~1/dists/engine-data/*.cpt" %~2 > NUL 2>&1
xcopy /F /Y "%~1/dists/engine-data/README" %~2 > NUL 2>&1
xcopy /F /Y "%~1/gui/themes/*.zip" %~2 > NUL 2>&1
xcopy /F /Y "%~1/gui/themes/translations.dat" %~2 > NUL 2>&1
-xcopy /F /Y "%SCUMMVM_LIBS%/lib/%~3/SDL.dll" %~2 > NUL 2>&1
+xcopy /F /Y "%~4/lib/%~3/SDL.dll" %~2 > NUL 2>&1
+
+xcopy /F /Y "%~1/backends/vkeybd/packs/vkeybd_default.zip" %~2 > NUL 2>&1
goto done
-:error_output
+:error_root
echo Invalid root folder (%~1)!
goto done
@@ -41,5 +45,9 @@ goto done
echo Invalid arch parameter (was: %~3, allowed: x86, x64)!
goto done
+:error_libs
+echo Invalid libs folder (%~4)!
+goto done
+
:done
exit /B0
diff --git a/devtools/create_project/scripts/prebuild.cmd b/devtools/create_project/scripts/prebuild.cmd
index b824f0d5a0..dd4d12a851 100644
--- a/devtools/create_project/scripts/prebuild.cmd
+++ b/devtools/create_project/scripts/prebuild.cmd
@@ -4,22 +4,28 @@ REM ---------------------------------------------------------------
REM -- Pre-Build Script
REM ---------------------------------------------------------------
REM
-REM Generate file with proper revision number
+REM Generate file with revision number
REM
REM Expected parameters
-REM Root folder
+REM Root folder (the source root folder)
+REM Target folder (the build output folder, will be used to copy internal_revision.h)
-if "%~1"=="" goto error_input
+if "%~1"=="" goto error_root
+if "%~2"=="" goto error_target
REM Run the revision script
-@call cscript "%~1/devtools/create_project/scripts/revision.vbs" %~1 1>NUL
+@call cscript "%~1/devtools/create_project/scripts/revision.vbs" %~1 %~2 1>NUL
if not %errorlevel% == 0 goto error_script
goto done
-:error_output
+:error_root
echo Invalid root folder (%~1)!
goto done
+:error_target
+echo Invalid target folder (%~2)!
+goto done
+
:error_script:
echo An error occured while running the revision script!
diff --git a/devtools/create_project/scripts/revision.vbs b/devtools/create_project/scripts/revision.vbs
index 851185371b..9c29a88f2d 100644
--- a/devtools/create_project/scripts/revision.vbs
+++ b/devtools/create_project/scripts/revision.vbs
@@ -35,6 +35,7 @@ Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
' Folders
Dim rootFolder : rootFolder = ""
+Dim targetFolder : targetFolder = ""
' Info variables
Dim tool : tool = ""
@@ -85,23 +86,25 @@ Sub DetermineRevision()
Wscript.StdErr.WriteLine "Found revision " & revision & " on branch " & branch & vbCrLf
' Setup our revision string
- Dim revisionString : revisionString = "r" & revision
+ Dim revisionString : revisionString = revision
If (modified) Then
- revisionString = revisionString & " M"
+ revisionString = revisionString & "-dirty"
End If
' If we are not on trunk, add the branch name to the revision string
- If (branch <> "trunk" And branch <> "") Then
- revisionString = revisionString & " (" & branch & ")"
+ If (branch <> "trunk" And branch <> "master" And branch <> "") Then
+ revisionString = revisionString & "(" & branch & ")"
End If
- ' Add the DVCS name at the end
- revisionString = revisionString & " - " & tool
+ ' Add the DVCS name at the end (when not git)
+ If (tool <> "git") Then
+ revisionString = revisionString & "-" & tool
+ End If
- ' Setup an environment variable with the revision string
- Dim Env: Set Env = WshShell.Environment("User")
- Env.item("SCUMMVM_REVISION_STRING") = revisionString
+ ' Output revision header file
+ FSO.CopyFile rootFolder & "\\base\\internal_revision.h.in", targetFolder & "\\internal_revision.h"
+ FindReplaceInFile targetFolder & "\\internal_revision.h", "@REVISION@", revisionString
End Sub
Function DetermineTortoiseSVNVersion()
@@ -283,29 +286,9 @@ Function DetermineGitVersion()
End If
End If
- ' Check for svn clones
- Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1 " & rootFolder)
- if Err.Number = 0 Then
- revision = Mid(oExec.StdOut.ReadLine(), 7)
- revision = Mid(revision, 1, InStr(revision, ")") - 1)
- tool = "svn-git"
- End If
-
- ' No revision? Maybe it is a custom git-svn clone
- If revision = "" Then
- Err.Clear
- Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1 " & rootFolder)
- If Err.Number = 0 Then
- revision = oExec.StdOut.ReadLine()
- revision = Mid(revision, InStr(revision, "@") + 1)
- revision = Mid(revision, 1, InStr(revision, " ") - 1)
- tool = "svn-git"
- End If
- End If
-
' Fallback to abbreviated revision number
If revision = "" Then
- revision = Mid(hash, 1, 8)
+ revision = Mid(hash, 1, 7)
End If
DetermineGitVersion = True
@@ -385,8 +368,8 @@ End Function
Function ParseCommandLine()
ParseCommandLine = True
- If Wscript.Arguments.Count <> 1 Then
- Wscript.StdErr.WriteLine "[Error] Invalid number of arguments (was: " & Wscript.Arguments.Count & ", expected: 1)"
+ If Wscript.Arguments.Count <> 2 Then
+ Wscript.StdErr.WriteLine "[Error] Invalid number of arguments (was: " & Wscript.Arguments.Count & ", expected: 2)"
ParseCommandLine = False
Exit Function
@@ -394,6 +377,7 @@ Function ParseCommandLine()
' Get our arguments
rootFolder = Wscript.Arguments.Item(0)
+ targetFolder = Wscript.Arguments.Item(1)
' Check that the folders are valid
If Not FSO.FolderExists(rootFolder) Then
@@ -403,8 +387,16 @@ Function ParseCommandLine()
Exit Function
End If
- ' Set absolute path
+ If Not FSO.FolderExists(targetFolder) Then
+ Wscript.StdErr.WriteLine "[Error] Invalid target folder (" & targetFolder & ")"
+
+ ParseCommandLine = False
+ Exit Function
+ End If
+
+ ' Set absolute paths
rootFolder = FSO.GetAbsolutePathName(rootFolder)
+ targetFolder = FSO.GetAbsolutePathName(targetFolder)
End Function
Function ReadRegistryKey(shive, subkey, valuename, architecture)
@@ -443,3 +435,14 @@ Function ReadRegistryKey(shive, subkey, valuename, architecture)
ReadRegistryKey = Outparams.SValue
End Function
+
+Sub FindReplaceInFile(filename, to_find, replacement)
+ Dim file, data
+ Set file = FSO.OpenTextFile(filename, 1, 0, 0)
+ data = file.ReadAll
+ file.Close
+ data = Replace(data, to_find, replacement)
+ Set file = FSO.CreateTextFile(filename, -1, 0)
+ file.Write data
+ file.Close
+End Sub
diff --git a/devtools/create_project/visualstudio.cpp b/devtools/create_project/visualstudio.cpp
index 2b7c8908cb..77af8aeca1 100644
--- a/devtools/create_project/visualstudio.cpp
+++ b/devtools/create_project/visualstudio.cpp
@@ -23,10 +23,10 @@
*
*/
+#include "config.h"
#include "visualstudio.h"
#include <fstream>
-
#include <algorithm>
namespace CreateProjectTool {
@@ -54,39 +54,7 @@ int VisualStudioProvider::getVisualStudioVersion() {
if (_version == 8)
return 2005;
- error("Unsupported version passed to createScummVMSolution");
-}
-
-#define OUTPUT_CONFIGURATION_SCUMMVM(config, platform, props) { \
- project << "\t\t<Configuration Name=\"" << config << "|" << platform << "\" ConfigurationType=\"1\" InheritedPropertySheets=\".\\ScummVM_" << config << props << ".vsprops\">\n" \
- "\t\t\t<Tool\tName=\"VCCLCompilerTool\" DisableLanguageExtensions=\"false\" />\n" \
- "\t\t\t<Tool\tName=\"VCLinkerTool\" OutputFile=\"$(OutDir)/scummvm.exe\"\n" \
- "\t\t\t\tAdditionalDependencies=\"" << libraries << "\"\n" \
- "\t\t\t/>\n" \
- "\t\t</Configuration>\n"; \
-}
-
-#define OUTPUT_CONFIGURATION_SCUMMVM_DEBUG(config, platform, props, isWin32) { \
- project << "\t\t<Configuration Name=\"" << config << "|" << platform << "\" ConfigurationType=\"1\" InheritedPropertySheets=\".\\ScummVM_" << config << props << ".vsprops\">\n" \
- "\t\t\t<Tool\tName=\"VCCLCompilerTool\" DisableLanguageExtensions=\"false\" />\n" \
- "\t\t\t<Tool\tName=\"VCLinkerTool\" OutputFile=\"$(OutDir)/scummvm.exe\"\n" \
- "\t\t\t\tAdditionalDependencies=\"" << libraries << "\"\n" \
- "\t\t\t/>\n"; \
- if (setup.runBuildEvents) { \
- project << "\t\t\t<Tool\tName=\"VCPreBuildEventTool\"\n" \
- "\t\t\t\tCommandLine=\"" << getPreBuildEvent() << "\"\n" \
- "\t\t\t/>\n" \
- "\t\t\t<Tool\tName=\"VCPostBuildEventTool\"\n" \
- "\t\t\t\tCommandLine=\"" << getPostBuildEvent(isWin32) << "\"\n" \
- "\t\t\t/>\n"; \
- } \
- project << "\t\t</Configuration>\n"; \
-}
-
-#define OUTPUT_CONFIGURATION(config, platform, props) { \
- project << "\t\t<Configuration Name=\"" << config << "|" << platform << "\" ConfigurationType=\"4\" InheritedPropertySheets=\".\\ScummVM_" << config << props << ".vsprops\">\n" \
- "\t\t\t<Tool Name=\"VCCLCompilerTool\" "<< toolConfig << "/>\n" \
- "\t\t</Configuration>\n"; \
+ error("Unsupported version passed to getVisualStudioVersion");
}
void VisualStudioProvider::createProjectFile(const std::string &name, const std::string &uuid, const BuildSetup &setup, const std::string &moduleDir,
@@ -118,24 +86,24 @@ void VisualStudioProvider::createProjectFile(const std::string &name, const std:
// Check for project-specific warnings:
std::map< std::string, std::list<std::string> >::iterator warningsIterator = _projectWarnings.find(name);
- if (name == "scummvm") {
+ if (name == PROJECT_NAME) {
std::string libraries;
for (StringList::const_iterator i = setup.libraries.begin(); i != setup.libraries.end(); ++i)
libraries += ' ' + *i + ".lib";
// Win32
- OUTPUT_CONFIGURATION_SCUMMVM_DEBUG("Debug", "Win32", "", true);
- OUTPUT_CONFIGURATION_SCUMMVM_DEBUG("Analysis", "Win32", "", true);
- OUTPUT_CONFIGURATION_SCUMMVM("Release", "Win32", "");
+ outputConfiguration(project, setup, libraries, "Debug", "Win32", "", true);
+ outputConfiguration(project, setup, libraries, "Analysis", "Win32", "", true);
+ outputConfiguration(project, setup, libraries, "Release", "Win32", "", true);
// x64
// For 'x64' we must disable NASM support. Usually we would need to disable the "nasm" feature for that and
// re-create the library list, BUT since NASM doesn't link any additional libraries, we can just use the
// libraries list created for IA-32. If that changes in the future, we need to adjust this part!
- OUTPUT_CONFIGURATION_SCUMMVM_DEBUG("Debug", "x64", "64", true);
- OUTPUT_CONFIGURATION_SCUMMVM_DEBUG("Analysis", "x64", "64", true);
- OUTPUT_CONFIGURATION_SCUMMVM("Release", "x64", "64");
+ outputConfiguration(project, setup, libraries, "Debug", "x64", "64", false);
+ outputConfiguration(project, setup, libraries, "Analysis", "x64", "64", false);
+ outputConfiguration(project, setup, libraries, "Release", "x64", "64", false);
} else {
std::string warnings = "";
@@ -147,14 +115,15 @@ void VisualStudioProvider::createProjectFile(const std::string &name, const std:
toolConfig = (!warnings.empty() ? "DisableSpecificWarnings=\"" + warnings + "\"" : "");
toolConfig += (name == "tinsel" ? "DebugInformationFormat=\"3\" " : "");
toolConfig += (name == "sword25" ? "DisableLanguageExtensions=\"false\" " : "");
+ toolConfig += (name == "grim" ? "DisableLanguageExtensions=\"false\" " : "");
// Win32
- OUTPUT_CONFIGURATION("Debug", "Win32", "");
- OUTPUT_CONFIGURATION("Analysis", "Win32", "");
- OUTPUT_CONFIGURATION("Release", "Win32", "");
- OUTPUT_CONFIGURATION("Debug", "x64", "64");
- OUTPUT_CONFIGURATION("Analysis", "x64", "64");
- OUTPUT_CONFIGURATION("Release", "x64", "64");
+ outputConfiguration(project, toolConfig, "Debug", "Win32", "");
+ outputConfiguration(project, toolConfig, "Analysis", "Win32", "");
+ outputConfiguration(project, toolConfig, "Release", "Win32", "");
+ outputConfiguration(project, toolConfig, "Debug", "x64", "64");
+ outputConfiguration(project, toolConfig, "Analysis", "x64", "64");
+ outputConfiguration(project, toolConfig, "Release", "x64", "64");
}
project << "\t</Configurations>\n"
@@ -176,11 +145,38 @@ void VisualStudioProvider::createProjectFile(const std::string &name, const std:
"</VisualStudioProject>\n";
}
+void VisualStudioProvider::outputConfiguration(std::ostream &project, const BuildSetup &setup, const std::string &libraries, const std::string &config, const std::string &platform, const std::string &props, const bool isWin32) {
+ project << "\t\t<Configuration Name=\"" << config << "|" << platform << "\" ConfigurationType=\"1\" InheritedPropertySheets=\".\\" << PROJECT_DESCRIPTION << "_" << config << props << ".vsprops\">\n"
+ "\t\t\t<Tool\tName=\"VCCLCompilerTool\" DisableLanguageExtensions=\"false\" />\n"
+ "\t\t\t<Tool\tName=\"VCLinkerTool\" OutputFile=\"$(OutDir)/" << PROJECT_NAME << "\"\n"
+ "\t\t\t\tAdditionalDependencies=\"" << libraries << "\"\n"
+ "\t\t\t/>\n";
+ outputBuildEvents(project, setup, isWin32);
+ project << "\t\t</Configuration>\n";
+}
+
+void VisualStudioProvider::outputConfiguration(std::ostream &project, const std::string &toolConfig, const std::string &config, const std::string &platform, const std::string &props) {
+ project << "\t\t<Configuration Name=\"" << config << "|" << platform << "\" ConfigurationType=\"4\" InheritedPropertySheets=\".\\" << PROJECT_DESCRIPTION << "_" << config << props << ".vsprops\">\n"
+ "\t\t\t<Tool Name=\"VCCLCompilerTool\" "<< toolConfig << "/>\n"
+ "\t\t</Configuration>\n";
+}
+
+void VisualStudioProvider::outputBuildEvents(std::ostream &project, const BuildSetup &setup, const bool isWin32) {
+ if (setup.runBuildEvents) {
+ project << "\t\t\t<Tool\tName=\"VCPreBuildEventTool\"\n"
+ "\t\t\t\tCommandLine=\"" << getPreBuildEvent() << "\"\n"
+ "\t\t\t/>\n"
+ "\t\t\t<Tool\tName=\"VCPostBuildEventTool\"\n"
+ "\t\t\t\tCommandLine=\"" << getPostBuildEvent(isWin32) << "\"\n"
+ "\t\t\t/>\n";
+ }
+}
+
void VisualStudioProvider::writeReferences(std::ofstream &output) {
output << "\tProjectSection(ProjectDependencies) = postProject\n";
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
- if (i->first == "scummvm")
+ if (i->first == PROJECT_NAME)
continue;
output << "\t\t{" << i->second << "} = {" << i->second << "}\n";
@@ -189,7 +185,7 @@ void VisualStudioProvider::writeReferences(std::ofstream &output) {
output << "\tEndProjectSection\n";
}
-void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix) {
+void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix, bool runBuildEvents) {
std::string warnings;
for (StringList::const_iterator i = _globalWarnings.begin(); i != _globalWarnings.end(); ++i)
warnings += *i + ';';
@@ -201,11 +197,15 @@ void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int b
definesList += *i;
}
+ // Add define to include revision header
+ if (runBuildEvents)
+ definesList += REVISION_DEFINE ";";
+
properties << "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n"
"<VisualStudioPropertySheet\n"
"\tProjectType=\"Visual C++\"\n"
"\tVersion=\"8.00\"\n"
- "\tName=\"ScummVM_Global\"\n"
+ "\tName=\"" << PROJECT_DESCRIPTION << "_Global\"\n"
"\tOutputDirectory=\"$(ConfigurationName)" << bits << "\"\n"
"\tIntermediateDirectory=\"$(ConfigurationName)" << bits << "/$(ProjectName)\"\n"
"\t>\n"
@@ -213,10 +213,17 @@ void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int b
"\t\tName=\"VCCLCompilerTool\"\n"
"\t\tDisableLanguageExtensions=\"true\"\n"
"\t\tDisableSpecificWarnings=\"" << warnings << "\"\n"
- "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines;$(SCUMMVM_LIBS)\\include\"\n"
+ "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines;$(" << LIBS_DEFINE << ")\\include;$(TargetDir)\"\n"
"\t\tPreprocessorDefinitions=\"" << definesList << "\"\n"
- "\t\tExceptionHandling=\"0\"\n"
- "\t\tRuntimeTypeInfo=\"false\"\n"
+ "\t\tExceptionHandling=\"0\"\n";
+
+#if NEEDS_RTTI
+ properties << "\t\tRuntimeTypeInfo=\"true\"\n";
+#else
+ properties << "\t\tRuntimeTypeInfo=\"false\"\n";
+#endif
+
+ properties << "\t\tRuntimeTypeInfo=\"false\"\n"
"\t\tWarningLevel=\"4\"\n"
"\t\tWarnAsError=\"false\"\n"
"\t\tCompileAs=\"0\"\n"
@@ -230,7 +237,7 @@ void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int b
"\t\tIgnoreDefaultLibraryNames=\"\"\n"
"\t\tSubSystem=\"1\"\n"
"\t\tEntryPointSymbol=\"WinMainCRTStartup\"\n"
- "\t\tAdditionalLibraryDirectories=\"$(SCUMMVM_LIBS)\\lib\\" << ((bits == 32) ? "x86" : "x64") << "\"\n"
+ "\t\tAdditionalLibraryDirectories=\"$(" << LIBS_DEFINE << ")\\lib\\" << ((bits == 32) ? "x86" : "x64") << "\"\n"
"\t/>\n"
"\t<Tool\n"
"\t\tName=\"VCResourceCompilerTool\"\n"
@@ -246,16 +253,16 @@ void VisualStudioProvider::createBuildProp(const BuildSetup &setup, bool isRelea
const std::string outputType = (enableAnalysis ? "Analysis" : (isRelease ? "Release" : "Debug"));
const std::string outputBitness = (isWin32 ? "32" : "64");
- std::ofstream properties((setup.outputDir + '/' + "ScummVM_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension()).c_str());
+ std::ofstream properties((setup.outputDir + '/' + PROJECT_DESCRIPTION "_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension()).c_str());
if (!properties)
- error("Could not open \"" + setup.outputDir + '/' + "ScummVM_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension() + "\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_DESCRIPTION "_" + outputType + (isWin32 ? "" : "64") + getPropertiesExtension() + "\" for writing");
properties << "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n"
"<VisualStudioPropertySheet\n"
"\tProjectType=\"Visual C++\"\n"
"\tVersion=\"8.00\"\n"
- "\tName=\"ScummVM_" << outputType << outputBitness << "\"\n"
- "\tInheritedPropertySheets=\".\\ScummVM_Global" << (isWin32 ? "" : "64") << ".vsprops\"\n"
+ "\tName=\"" << PROJECT_DESCRIPTION << "_" << outputType << outputBitness << "\"\n"
+ "\tInheritedPropertySheets=\".\\" << PROJECT_DESCRIPTION << "_Global" << (isWin32 ? "" : "64") << ".vsprops\"\n"
"\t>\n"
"\t<Tool\n"
"\t\tName=\"VCCLCompilerTool\"\n";
@@ -282,7 +289,7 @@ void VisualStudioProvider::createBuildProp(const BuildSetup &setup, bool isRelea
"\t\tRuntimeLibrary=\"1\"\n"
"\t\tEnableFunctionLevelLinking=\"true\"\n"
"\t\tWarnAsError=\"false\"\n"
- "\t\tDebugInformationFormat=\"" << (isWin32 ? "4" : "3") << "\"\n" // For x64 format "4" (Edit and continue) is not supported, thus we default to "3"
+ "\t\tDebugInformationFormat=\"" << (isWin32 ? "4" : "3") << "\"\n" // For x64 format "4" (Edit and continue) is not supported, thus we default to "3"
"\t\tAdditionalOption=\"" << (enableAnalysis ? "/analyze" : "") << "\"\n"
"\t/>\n"
"\t<Tool\n"
diff --git a/devtools/create_project/visualstudio.h b/devtools/create_project/visualstudio.h
index 0cf572429b..0e4b441e63 100644
--- a/devtools/create_project/visualstudio.h
+++ b/devtools/create_project/visualstudio.h
@@ -43,13 +43,17 @@ protected:
void writeReferences(std::ofstream &output);
- void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix);
+ void outputGlobalPropFile(std::ofstream &properties, int bits, const StringList &defines, const std::string &prefix, bool runBuildEvents);
void createBuildProp(const BuildSetup &setup, bool isRelease, bool isWin32, bool enableAnalysis);
const char *getProjectExtension();
const char *getPropertiesExtension();
int getVisualStudioVersion();
+
+ void outputConfiguration(std::ostream &project, const BuildSetup &setup, const std::string &libraries, const std::string &config, const std::string &platform, const std::string &props, const bool isWin32);
+ void outputConfiguration(std::ostream &project, const std::string &toolConfig, const std::string &config, const std::string &platform, const std::string &props);
+ void outputBuildEvents(std::ostream &project, const BuildSetup &setup, const bool isWin32);
};
} // End of CreateProjectTool namespace
diff --git a/devtools/credits.pl b/devtools/credits.pl
index fc10f50bfb..c45f16eec9 100755
--- a/devtools/credits.pl
+++ b/devtools/credits.pl
@@ -960,7 +960,7 @@ begin_credits("Credits");
add_person("Eugene Sandulenko", "sev", "");
end_section();
begin_section("Spanish");
- add_person("Tom&aacute;s Maidagan", "Truido", "");
+ add_person("Tom&aacute;s Maidagan", "", "");
end_section();
begin_section("Swedish");
add_person("Hampus Flink", "", "");
@@ -977,7 +977,7 @@ begin_credits("Credits");
add_person("David Jensen", "Tyst", "SVG logo conversion");
add_person("Jean Marc Gimenez", "", "ScummVM logo");
add_person("", "Raina", "ScummVM forum buttons");
- add_person("William Claydon", "billwashere", "Skins for doxygen and wiki");
+ add_person("William Claydon", "billwashere", "Skins for doxygen, buildbot and wiki");
end_persons();
end_section();
diff --git a/dists/android/AndroidManifest.xml b/dists/android/AndroidManifest.xml
index cae1f369e7..1bc784cc4c 100644
--- a/dists/android/AndroidManifest.xml
+++ b/dists/android/AndroidManifest.xml
@@ -4,7 +4,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.inodes.gus.scummvm"
android:versionCode="@ANDROID_VERSIONCODE@"
- android:versionName="1.3.0git"
+ android:versionName="1.4.0git"
android:installLocation="preferExternal">
<!-- This version works on Android 1.5 (SDK 3) and newer, but we
diff --git a/dists/android/plugin-manifest.xml b/dists/android/plugin-manifest.xml
index 2442d3f32a..3fd9e393d0 100644
--- a/dists/android/plugin-manifest.xml
+++ b/dists/android/plugin-manifest.xml
@@ -3,7 +3,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.inodes.gus.scummvm.plugin.@PLUGIN_NAME@"
android:versionCode="@PLUGIN_VERSION_CODE@"
- android:versionName="1.3.0git"
+ android:versionName="1.4.0git"
android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" />
diff --git a/dists/engine-data/drascula.dat b/dists/engine-data/drascula.dat
index feecda80a2..0938ef4a9a 100644
--- a/dists/engine-data/drascula.dat
+++ b/dists/engine-data/drascula.dat
Binary files differ
diff --git a/dists/iphone/Info.plist b/dists/iphone/Info.plist
index f18cc61ede..e57989a7c3 100644
--- a/dists/iphone/Info.plist
+++ b/dists/iphone/Info.plist
@@ -15,11 +15,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.3.0git</string>
+ <string>1.4.0git</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>1.3.0git</string>
+ <string>1.4.0git</string>
<key>CFBundleIconFile</key>
<string>icon.png</string>
<key>CFBundleIconFiles</key>
diff --git a/dists/irix/scummvm.spec b/dists/irix/scummvm.spec
index b6b1524a42..141d37070f 100644
--- a/dists/irix/scummvm.spec
+++ b/dists/irix/scummvm.spec
@@ -1,5 +1,5 @@
product scummvm
- id "ScummVM 1.3.0git"
+ id "ScummVM 1.4.0git"
image sw
id "software"
version 18
diff --git a/dists/macosx/Info.plist b/dists/macosx/Info.plist
index 9e19926f3f..20081ccc80 100644
--- a/dists/macosx/Info.plist
+++ b/dists/macosx/Info.plist
@@ -9,7 +9,7 @@
<key>CFBundleExecutable</key>
<string>scummvm</string>
<key>CFBundleGetInfoString</key>
- <string>1.3.0git, Copyright 2001-2011 The ScummVM team</string>
+ <string>1.4.0git, Copyright 2001-2011 The ScummVM team</string>
<key>CFBundleIconFile</key>
<string>scummvm.icns</string>
<key>CFBundleIdentifier</key>
@@ -21,9 +21,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.3.0git</string>
+ <string>1.4.0git</string>
<key>CFBundleVersion</key>
- <string>1.3.0git</string>
+ <string>1.4.0git</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHumanReadableCopyright</key>
diff --git a/dists/redhat/scummvm-tools.spec b/dists/redhat/scummvm-tools.spec
index b034e4479e..72b1ac701f 100644
--- a/dists/redhat/scummvm-tools.spec
+++ b/dists/redhat/scummvm-tools.spec
@@ -7,7 +7,7 @@
# Prologue information
#------------------------------------------------------------------------------
Name : scummvm-tools
-Version : 1.3.0git
+Version : 1.4.0git
Release : 1
Summary : ScummVM-related tools
Group : Interpreters
diff --git a/dists/redhat/scummvm.spec b/dists/redhat/scummvm.spec
index d0d273fc66..777e0afc8a 100644
--- a/dists/redhat/scummvm.spec
+++ b/dists/redhat/scummvm.spec
@@ -7,7 +7,7 @@
# Prologue information
#------------------------------------------------------------------------------
Name : scummvm
-Version : 1.3.0git
+Version : 1.4.0git
Release : 1
Summary : Graphic adventure game interpreter
Group : Interpreters
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index 61981b30c5..15dd04c0d9 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "../../icons/scummvm.ico"
#endif
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,3,0,0
- PRODUCTVERSION 1,3,0,0
+ FILEVERSION 1,4,0,0
+ PRODUCTVERSION 1,4,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -25,13 +25,13 @@ BEGIN
BEGIN
VALUE "Comments", "Look! A three headed monkey (TM)! .. Nice use of the TM!\0"
VALUE "FileDescription", "http://www.scummvm.org/\0"
- VALUE "FileVersion", "1.3.0git\0"
+ VALUE "FileVersion", "1.4.0git\0"
VALUE "InternalName", "scummvm\0"
VALUE "LegalCopyright", "Copyright Љ 2001-2011 The ScummVM Team\0"
VALUE "LegalTrademarks", "'SCUMM', and all SCUMM games are a TM of LucasArts. Simon The Sorcerer is a TM of AdventureSoft. Beneath a Steel Sky and Broken Sword are a TM of Revolution. Flight of the Amazon Queen is a TM of John Passfield and Steve Stamatiadis. \0"
VALUE "OriginalFilename", "scummvm.exe\0"
VALUE "ProductName", "ScummVM\0"
- VALUE "ProductVersion", "1.3.0git\0"
+ VALUE "ProductVersion", "1.4.0git\0"
END
END
diff --git a/dists/slackware/scummvm.SlackBuild b/dists/slackware/scummvm.SlackBuild
index 0e5436b85e..71f4818e7e 100755
--- a/dists/slackware/scummvm.SlackBuild
+++ b/dists/slackware/scummvm.SlackBuild
@@ -9,7 +9,7 @@ if [ "$TMP" = "" ]; then
fi
PKG=$TMP/package-scummvm
-VERSION=1.3.0git
+VERSION=1.4.0git
ARCH=i486
BUILD=1
diff --git a/dists/webos/mojo/appinfo.json b/dists/webos/mojo/appinfo.json
index 00762c9410..b3163a4e95 100644
--- a/dists/webos/mojo/appinfo.json
+++ b/dists/webos/mojo/appinfo.json
@@ -1,10 +1,10 @@
{
- "id": "org.scummvm.scummvm",
- "version": "1.3.0001",
+ "id": "APP_ID",
+ "version": "APP_VERSION",
"vendor": "ScummVM Team",
"type": "pdk",
"main": "start",
- "title": "ScummVM",
+ "title": "APP_TITLE",
"icon": "icon.png",
"requiredMemory": 64
}
diff --git a/dists/wii/meta.xml b/dists/wii/meta.xml
index 562d0982f5..68460c4721 100644
--- a/dists/wii/meta.xml
+++ b/dists/wii/meta.xml
@@ -2,7 +2,7 @@
<app version="1">
<name>ScummVM</name>
<coder>The ScummVM Team</coder>
- <version>1.3.0git@REVISION@</version>
+ <version>1.4.0git@REVISION@</version>
<release_date>@TIMESTAMP@</release_date>
<short_description>Point &amp; Click Adventures</short_description>
<long_description>ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
diff --git a/dists/win32/ScummVM.iss b/dists/win32/ScummVM.iss
new file mode 100644
index 0000000000..00f4868e60
--- /dev/null
+++ b/dists/win32/ScummVM.iss
@@ -0,0 +1,82 @@
+[Setup]
+DefaultDirName={pf}\ScummVM
+AppCopyright=2011
+AppName=ScummVM
+AppVerName=ScummVM Git
+DefaultGroupName=ScummVM
+AllowNoIcons=true
+AlwaysUsePersonalGroup=false
+EnableDirDoesntExistWarning=false
+Compression=lzma
+OutputDir=C:\ScummVM
+OutputBaseFilename=scummvm-win32
+DisableStartupPrompt=true
+AppendDefaultDirName=false
+SolidCompression=true
+DirExistsWarning=no
+SetupIconFile=scummvm.ico
+ShowLanguageDialog=yes
+LanguageDetectionMethod=uilanguage
+
+[Languages]
+Name: en; MessagesFile: compiler:Default.isl
+Name: eu; MessagesFile: compiler:Languages\Basque.isl
+Name: br; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
+Name: ca; MessagesFile: compiler:Languages\Catalan.isl
+Name: cz; MessagesFile: compiler:Languages\Czech.isl
+Name: da; MessagesFile: compiler:Languages\Danish.isl
+Name: nl; MessagesFile: compiler:Languages\Dutch.isl
+Name: fi; MessagesFile: compiler:Languages\Finnish.isl
+Name: fr; MessagesFile: compiler:Languages\French.isl
+Name: de; MessagesFile: compiler:Languages\German.isl
+Name: he; MessagesFile: compiler:Languages\Hebrew.isl
+Name: hu; MessagesFile: compiler:Languages\Hungarian.isl
+Name: it; MessagesFile: compiler:Languages\Italian.isl
+Name: ja; MessagesFile: compiler:Languages\Japanese.isl
+Name: nb; MessagesFile: compiler:Languages\Norwegian.isl
+Name: pl; MessagesFile: compiler:Languages\Polish.isl
+Name: pt; MessagesFile: compiler:Languages\Portuguese.isl
+Name: ru; MessagesFile: compiler:Languages\Russian.isl
+Name: sk; MessagesFile: compiler:Languages\Slovak.isl
+Name: sl; MessagesFile: compiler:Languages\Slovenian.isl
+Name: es; MessagesFile: compiler:Languages\Spanish.isl
+
+[Icons]
+Name: {group}\{cm:UninstallProgram, ScummVM}; Filename: {uninstallexe}
+Name: {group}\ScummVM; Filename: {app}\scummvm.exe; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0
+Name: {group}\Authors; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists
+Name: {group}\Copying; Filename: {app}\COPYING.txt; WorkingDir: {app}; Comment: COPYING; Flags: createonlyiffileexists
+Name: {group}\Copying.LGPL; Filename: {app}\COPYING.LGPL.txt; WorkingDir: {app}; Comment: COPYING.LGPL; Flags: createonlyiffileexists
+Name: {group}\Copyright; Filename: {app}\COPYRIGHT.txt; WorkingDir: {app}; Comment: COPYRIGHT; Flags: createonlyiffileexists
+Name: {group}\Readme; Filename: {app}\README.txt; WorkingDir: {app}; Comment: README; Flags: createonlyiffileexists
+Name: {group}\News; Filename: {app}\NEWS.txt; WorkingDir: {app}; Comment: NEWS; Flags: createonlyiffileexists
+
+[Run]
+Filename: {app}\scummvm.exe; Flags: nowait skipifdoesntexist postinstall skipifsilent; Description: Launch ScummVM
+
+[UninstallDelete]
+Type: files; Name: {app}\ISTool.url
+
+[Files]
+Source: AUTHORS.txt; DestDir: {app}; Flags: ignoreversion
+Source: COPYING.txt; DestDir: {app}; Flags: ignoreversion
+Source: COPYING.LGPL.txt; DestDir: {app}; Flags: ignoreversion
+Source: COPYRIGHT.txt; DestDir: {app}; Flags: ignoreversion
+Source: NEWS.txt; DestDir: {app}; Flags: ignoreversion
+Source: README.txt; DestDir: {app}; Flags: ignoreversion isreadme
+Source: README-SDL.txt; DestDir: {app}; Flags: ignoreversion
+Source: scummvm.exe; DestDir: {app}; Flags: ignoreversion
+Source: SDL.dll; DestDir: {app}
+Source: scummclassic.zip; DestDir: {app}; Flags: ignoreversion
+Source: scummmodern.zip; DestDir: {app}; Flags: ignoreversion
+Source: drascula.dat; DestDir: {app}; Flags: ignoreversion
+Source: hugo.dat; DestDir: {app}; Flags: ignoreversion
+Source: kyra.dat; DestDir: {app}; Flags: ignoreversion
+Source: lure.dat; DestDir: {app}; Flags: ignoreversion
+Source: m4.dat; DestDir: {app}; Flags: ignoreversion
+Source: pred.dic; DestDir: {app}; Flags: ignoreversion
+Source: queen.tbl; DestDir: {app}; Flags: ignoreversion
+Source: sky.cpt; DestDir: {app}; Flags: ignoreversion
+Source: teenagent.dat; DestDir: {app}; Flags: ignoreversion
+Source: toon.dat; DestDir: {app}; Flags: ignoreversion
+Source: translations.dat; DestDir: {app}; Flags: ignoreversion
diff --git a/engines/advancedDetector.cpp b/engines/advancedDetector.cpp
index bf152ce90a..d6f743640b 100644
--- a/engines/advancedDetector.cpp
+++ b/engines/advancedDetector.cpp
@@ -23,8 +23,6 @@
*
*/
-#include "base/plugins.h"
-
#include "common/debug.h"
#include "common/util.h"
#include "common/hash-str.h"
@@ -32,6 +30,7 @@
#include "common/macresman.h"
#include "common/md5.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "engines/advancedDetector.h"
diff --git a/engines/advancedDetector.h b/engines/advancedDetector.h
index 515127b23d..757fb12f33 100644
--- a/engines/advancedDetector.h
+++ b/engines/advancedDetector.h
@@ -25,11 +25,13 @@
#ifndef ENGINES_ADVANCED_DETECTOR_H
#define ENGINES_ADVANCED_DETECTOR_H
-#include "common/fs.h"
-#include "common/error.h"
-
#include "engines/metaengine.h"
+namespace Common {
+class Error;
+class FSList;
+}
+
struct ADGameFileDescription {
const char *fileName;
@@ -62,8 +64,8 @@ struct ADGameDescription {
Common::Platform platform;
/**
- * A bitmask of extra flags. The top 8 bits are reserved for generic flags
- * defined in the ADGameFlags. This leaves 24 flags to be used by client
+ * A bitmask of extra flags. The top 16 bits are reserved for generic flags
+ * defined in the ADGameFlags. This leaves 16 bits to be used by client
* code.
*/
uint32 flags;
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 632587f7f7..a69d19f06c 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -32,6 +32,7 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
#include "common/random.h"
+#include "common/textconsole.h"
#include "engines/util.h"
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index 1bee78e765..c71a0ebf64 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -27,9 +27,10 @@
#define AGI_H
#include "common/scummsys.h"
-#include "common/endian.h"
+#include "common/error.h"
#include "common/util.h"
#include "common/file.h"
+#include "common/rect.h"
#include "common/stack.h"
#include "common/system.h"
@@ -45,7 +46,9 @@
#include "agi/sound.h"
-namespace Common { class RandomSource; }
+namespace Common {
+class RandomSource;
+}
/**
* This is the namespace of the AGI engine.
@@ -693,7 +696,6 @@ public:
class GfxMgr;
class SpritesMgr;
class Menu;
-class SearchTree;
// Image stack support
struct ImageStackElement {
@@ -727,7 +729,7 @@ protected:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 0a53f0c4f4..5192505c79 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -29,6 +29,7 @@
#include "common/config-manager.h"
#include "common/file.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "graphics/thumbnail.h"
#include "graphics/surface.h"
diff --git a/engines/agi/graphics.cpp b/engines/agi/graphics.cpp
index d0bc83d4c4..f0d38761d0 100644
--- a/engines/agi/graphics.cpp
+++ b/engines/agi/graphics.cpp
@@ -24,9 +24,10 @@
*/
#include "common/file.h"
-
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "agi/agi.h"
#include "agi/graphics.h"
diff --git a/engines/agi/inv.cpp b/engines/agi/inv.cpp
index 46dfcb2b43..f1d9523887 100644
--- a/engines/agi/inv.cpp
+++ b/engines/agi/inv.cpp
@@ -66,7 +66,7 @@ namespace Agi {
#define SELECT_MSG_RU "ENTER - \xa2\xeb\xa1\xe0\xa0\xe2\xec, ESC - \xae\xe2\xac\xa5\xad\xa8\xe2\xec."
void AgiEngine::printItem(int n, int fg, int bg) {
- printText(objectName(_intobj[n]), 0, n % 2 ? 39 - strlen(objectName(_intobj[n])) : 1,
+ printText(objectName(_intobj[n]), 0, ((n % 2) ? 39 - strlen(objectName(_intobj[n])) : 1),
(n / 2) + 2, 40, fg, bg);
}
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index 344654128d..95211f8e3c 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -279,7 +279,7 @@ void AgiEngine::handleGetstring(int key) {
void AgiEngine::handleKeys(int key) {
uint8 *p = NULL;
int c = 0;
- static uint8 formattedEntry[256];
+ static uint8 formattedEntry[40];
int l = _game.lineUserInput;
int fg = _game.colorFg, bg = _game.colorBg;
int promptLength = strlen(agiSprintf(_game.strings[0]));
@@ -298,7 +298,7 @@ void AgiEngine::handleKeys(int key) {
;
// Copy to internal buffer
- for (; *p; p++) {
+ for (; *p && c < 40-1; p++) {
// Squash spaces
if (*p == 0x20 && *(p + 1) == 0x20) {
p++;
diff --git a/engines/agi/loader_v2.cpp b/engines/agi/loader_v2.cpp
index 8780e1dab8..0141a61065 100644
--- a/engines/agi/loader_v2.cpp
+++ b/engines/agi/loader_v2.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "agi/agi.h"
namespace Agi {
diff --git a/engines/agi/loader_v3.cpp b/engines/agi/loader_v3.cpp
index 18ea4cae7d..025e755c8b 100644
--- a/engines/agi/loader_v3.cpp
+++ b/engines/agi/loader_v3.cpp
@@ -28,6 +28,7 @@
#include "common/config-manager.h"
#include "common/fs.h"
+#include "common/textconsole.h"
namespace Agi {
diff --git a/engines/agi/lzw.cpp b/engines/agi/lzw.cpp
index f645cb16d3..495d6458da 100644
--- a/engines/agi/lzw.cpp
+++ b/engines/agi/lzw.cpp
@@ -36,6 +36,8 @@
#include "agi/agi.h"
#include "agi/lzw.h"
+#include "common/textconsole.h"
+
namespace Agi {
diff --git a/engines/agi/objects.cpp b/engines/agi/objects.cpp
index d942a2b538..bea53d7fa4 100644
--- a/engines/agi/objects.cpp
+++ b/engines/agi/objects.cpp
@@ -25,6 +25,8 @@
#include "agi/agi.h"
+#include "common/textconsole.h"
+
namespace Agi {
int AgiEngine::allocObjects(int n) {
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index 2ea53e57ad..e1f99456e8 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -32,6 +32,7 @@
#include "agi/menu.h"
#include "common/random.h"
+#include "common/textconsole.h"
namespace Agi {
diff --git a/engines/agi/picture.cpp b/engines/agi/picture.cpp
index d17fe1d497..8951fc81df 100644
--- a/engines/agi/picture.cpp
+++ b/engines/agi/picture.cpp
@@ -26,6 +26,8 @@
#include "agi/agi.h"
#include "agi/graphics.h"
+#include "common/textconsole.h"
+
namespace Agi {
PictureMgr::PictureMgr(AgiBase *agi, GfxMgr *gfx) {
diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp
index 7457a317c2..c51c53e76e 100644
--- a/engines/agi/preagi.cpp
+++ b/engines/agi/preagi.cpp
@@ -26,6 +26,7 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
#include "common/random.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
diff --git a/engines/agi/preagi_mickey.cpp b/engines/agi/preagi_mickey.cpp
index 10ca797587..64fc4e9ae5 100644
--- a/engines/agi/preagi_mickey.cpp
+++ b/engines/agi/preagi_mickey.cpp
@@ -25,6 +25,7 @@
#include "common/events.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
diff --git a/engines/agi/preagi_troll.cpp b/engines/agi/preagi_troll.cpp
index 4e87c8063c..76849949c7 100644
--- a/engines/agi/preagi_troll.cpp
+++ b/engines/agi/preagi_troll.cpp
@@ -28,6 +28,7 @@
#include "agi/graphics.h"
#include "common/events.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp
index e97c144872..c92434c15f 100644
--- a/engines/agi/preagi_winnie.cpp
+++ b/engines/agi/preagi_winnie.cpp
@@ -32,6 +32,7 @@
#include "common/events.h"
#include "common/memstream.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
namespace Agi {
diff --git a/engines/agi/predictive.cpp b/engines/agi/predictive.cpp
index 0230b9bd74..96ad78ace5 100644
--- a/engines/agi/predictive.cpp
+++ b/engines/agi/predictive.cpp
@@ -28,6 +28,7 @@
#include "agi/keyboard.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#ifdef __DS__
#include "wordcompletion.h"
diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp
index 13e7215180..c8df726fc7 100644
--- a/engines/agi/saveload.cpp
+++ b/engines/agi/saveload.cpp
@@ -31,6 +31,7 @@
#include "common/file.h"
#include "common/config-manager.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "graphics/thumbnail.h"
#include "graphics/surface.h"
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index b215822917..b40cef67ef 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -31,6 +31,8 @@
#include "agi/sound_sarien.h"
#include "agi/sound_pcjr.h"
+#include "common/textconsole.h"
+
namespace Agi {
//
diff --git a/engines/agi/sound_2gs.cpp b/engines/agi/sound_2gs.cpp
index 11bf5a9034..f5758ed140 100644
--- a/engines/agi/sound_2gs.cpp
+++ b/engines/agi/sound_2gs.cpp
@@ -28,6 +28,7 @@
#include "common/md5.h"
#include "common/memstream.h"
#include "common/str-array.h"
+#include "common/textconsole.h"
#include "agi/agi.h"
#include "agi/sound_2gs.h"
diff --git a/engines/agi/sound_midi.cpp b/engines/agi/sound_midi.cpp
index 986715721f..997c1edd6b 100644
--- a/engines/agi/sound_midi.cpp
+++ b/engines/agi/sound_midi.cpp
@@ -49,6 +49,7 @@
#include "common/file.h"
#include "common/memstream.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "agi/agi.h"
diff --git a/engines/agi/sound_sarien.cpp b/engines/agi/sound_sarien.cpp
index 4ed7f8d029..6f2f3c5ad3 100644
--- a/engines/agi/sound_sarien.cpp
+++ b/engines/agi/sound_sarien.cpp
@@ -23,11 +23,7 @@
*
*/
-#include "common/md5.h"
-#include "common/config-manager.h"
-#include "common/fs.h"
#include "common/random.h"
-#include "common/str-array.h"
#include "audio/mididrv.h"
diff --git a/engines/agi/wagparser.cpp b/engines/agi/wagparser.cpp
index 22de66712d..fab3b5cf50 100644
--- a/engines/agi/wagparser.cpp
+++ b/engines/agi/wagparser.cpp
@@ -27,6 +27,7 @@
#include "common/util.h"
#include "common/fs.h"
#include "common/debug.h"
+#include "common/textconsole.h"
#include "agi/wagparser.h"
diff --git a/engines/agi/words.cpp b/engines/agi/words.cpp
index c48ed90ad8..d8596dec97 100644
--- a/engines/agi/words.cpp
+++ b/engines/agi/words.cpp
@@ -29,6 +29,8 @@
#include "agi/agi.h"
+#include "common/textconsole.h"
+
namespace Agi {
static uint8 *words; // words in the game
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 30c67093ba..56501b5294 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -25,9 +25,9 @@
#include "common/config-manager.h"
#include "common/EventRecorder.h"
-#include "common/events.h"
#include "common/file.h"
#include "common/fs.h"
+#include "common/textconsole.h"
#include "common/system.h"
#include "engines/util.h"
@@ -35,14 +35,12 @@
#include "agos/debugger.h"
#include "agos/intern.h"
#include "agos/agos.h"
-#include "agos/vga.h"
#include "backends/audiocd/audiocd.h"
#include "graphics/surface.h"
#include "audio/mididrv.h"
-#include "audio/mods/protracker.h"
namespace AGOS {
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index 1d9602f639..aecf2437a7 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -29,6 +29,7 @@
#include "engines/engine.h"
#include "common/array.h"
+#include "common/error.h"
#include "common/keyboard.h"
#include "common/random.h"
#include "common/rect.h"
@@ -186,7 +187,7 @@ class AGOSEngine : public Engine {
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp
index acdc0084c4..ee47f62a58 100644
--- a/engines/agos/animation.cpp
+++ b/engines/agos/animation.cpp
@@ -31,8 +31,10 @@
#include "common/events.h"
#include "common/file.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "agos/animation.h"
diff --git a/engines/agos/charset-fontdata.cpp b/engines/agos/charset-fontdata.cpp
index a477b3dedc..a131bb841b 100644
--- a/engines/agos/charset-fontdata.cpp
+++ b/engines/agos/charset-fontdata.cpp
@@ -26,6 +26,7 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "agos/agos.h"
#include "agos/intern.h"
diff --git a/engines/agos/debug.cpp b/engines/agos/debug.cpp
index d0dc8cc42e..bb27557a6b 100644
--- a/engines/agos/debug.cpp
+++ b/engines/agos/debug.cpp
@@ -27,6 +27,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "agos/debug.h"
#include "agos/agos.h"
diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp
index 646e63dacf..c8c70c0ecc 100644
--- a/engines/agos/detection.cpp
+++ b/engines/agos/detection.cpp
@@ -29,6 +29,7 @@
#include "common/config-manager.h"
#include "common/savefile.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "agos/intern.h"
#include "agos/agos.h"
diff --git a/engines/agos/draw.cpp b/engines/agos/draw.cpp
index 317c68d31a..6b9f65ee2b 100644
--- a/engines/agos/draw.cpp
+++ b/engines/agos/draw.cpp
@@ -28,6 +28,7 @@
#include "common/system.h"
#include "graphics/surface.h"
+#include "graphics/palette.h"
#include "agos/agos.h"
#include "agos/intern.h"
diff --git a/engines/agos/event.cpp b/engines/agos/event.cpp
index fc0b4f96cd..8799dbaa28 100644
--- a/engines/agos/event.cpp
+++ b/engines/agos/event.cpp
@@ -32,6 +32,7 @@
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "backends/audiocd/audiocd.h"
diff --git a/engines/agos/gfx.cpp b/engines/agos/gfx.cpp
index 710c9ddd7e..4c998dfa5f 100644
--- a/engines/agos/gfx.cpp
+++ b/engines/agos/gfx.cpp
@@ -26,6 +26,7 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp
index ca603db1fa..39a7705c54 100644
--- a/engines/agos/icons.cpp
+++ b/engines/agos/icons.cpp
@@ -25,9 +25,9 @@
-#include "common/system.h"
-
#include "common/file.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/agos/items.cpp b/engines/agos/items.cpp
index 81da5264ba..5d1523bbd5 100644
--- a/engines/agos/items.cpp
+++ b/engines/agos/items.cpp
@@ -26,6 +26,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "agos/intern.h"
#include "agos/agos.h"
diff --git a/engines/agos/menus.cpp b/engines/agos/menus.cpp
index 5629a1dca6..2b103a75cb 100644
--- a/engines/agos/menus.cpp
+++ b/engines/agos/menus.cpp
@@ -27,6 +27,7 @@
#include "common/file.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index a37c96a787..26e2f2c736 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -28,6 +28,7 @@
#include "common/config-manager.h"
#include "common/file.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "agos/agos.h"
diff --git a/engines/agos/midi.h b/engines/agos/midi.h
index ad69a3ddde..40f54dbaf0 100644
--- a/engines/agos/midi.h
+++ b/engines/agos/midi.h
@@ -31,7 +31,7 @@
#include "common/mutex.h"
namespace Common {
- class File;
+class File;
}
namespace AGOS {
diff --git a/engines/agos/midiparser_s1d.cpp b/engines/agos/midiparser_s1d.cpp
index 156dc6ecaa..f96518b5e9 100644
--- a/engines/agos/midiparser_s1d.cpp
+++ b/engines/agos/midiparser_s1d.cpp
@@ -25,6 +25,7 @@
#include "common/debug.h"
#include "common/util.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
#include "audio/midiparser.h"
diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp
index b8409669ee..0e818963e2 100644
--- a/engines/agos/res.cpp
+++ b/engines/agos/res.cpp
@@ -28,6 +28,7 @@
#include "common/file.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "agos/agos.h"
diff --git a/engines/agos/res_snd.cpp b/engines/agos/res_snd.cpp
index fe09e746ff..34deff37ab 100644
--- a/engines/agos/res_snd.cpp
+++ b/engines/agos/res_snd.cpp
@@ -26,6 +26,7 @@
#include "common/config-manager.h"
#include "common/file.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "agos/intern.h"
#include "agos/agos.h"
diff --git a/engines/agos/rooms.cpp b/engines/agos/rooms.cpp
index a2eff06fcc..0993197594 100644
--- a/engines/agos/rooms.cpp
+++ b/engines/agos/rooms.cpp
@@ -26,6 +26,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "agos/agos.h"
#include "agos/intern.h"
diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp
index eefa2460ec..d6f25814bb 100644
--- a/engines/agos/saveload.cpp
+++ b/engines/agos/saveload.cpp
@@ -26,6 +26,7 @@
#include "common/file.h"
#include "common/savefile.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#include "gui/about.h"
diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp
index 90992b52fe..94a3f371cc 100644
--- a/engines/agos/script.cpp
+++ b/engines/agos/script.cpp
@@ -28,6 +28,7 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "agos/animation.h"
#include "agos/agos.h"
diff --git a/engines/agos/script_pn.cpp b/engines/agos/script_pn.cpp
index 909c051362..b8ba7fb015 100644
--- a/engines/agos/script_pn.cpp
+++ b/engines/agos/script_pn.cpp
@@ -26,6 +26,8 @@
#include "agos/agos.h"
#include "agos/vga.h"
+#include "common/textconsole.h"
+
namespace AGOS {
enum {
diff --git a/engines/agos/script_s1.cpp b/engines/agos/script_s1.cpp
index 05a725cb50..dab0302631 100644
--- a/engines/agos/script_s1.cpp
+++ b/engines/agos/script_s1.cpp
@@ -26,6 +26,8 @@
#include "common/system.h"
+#include "graphics/palette.h"
+
#include "agos/agos.h"
#ifdef _WIN32_WCE
diff --git a/engines/agos/script_s2.cpp b/engines/agos/script_s2.cpp
index dd525163c7..a0b14525f2 100644
--- a/engines/agos/script_s2.cpp
+++ b/engines/agos/script_s2.cpp
@@ -27,6 +27,8 @@
#include "agos/agos.h"
+#include "common/textconsole.h"
+
namespace AGOS {
#define OPCODE(x) _OPCODE(AGOSEngine_Simon2, x)
diff --git a/engines/agos/sound.cpp b/engines/agos/sound.cpp
index 35301793bf..25d861acb5 100644
--- a/engines/agos/sound.cpp
+++ b/engines/agos/sound.cpp
@@ -25,6 +25,7 @@
#include "common/file.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "agos/agos.h"
diff --git a/engines/agos/string.cpp b/engines/agos/string.cpp
index bda605a84a..1152d6ed04 100644
--- a/engines/agos/string.cpp
+++ b/engines/agos/string.cpp
@@ -26,6 +26,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "gui/about.h"
#include "gui/message.h"
diff --git a/engines/agos/string_pn.cpp b/engines/agos/string_pn.cpp
index a4e40d8306..92d85ab96c 100644
--- a/engines/agos/string_pn.cpp
+++ b/engines/agos/string_pn.cpp
@@ -26,6 +26,8 @@
#include "agos/agos.h"
#include "agos/intern.h"
+#include "common/textconsole.h"
+
namespace AGOS {
uint32 AGOSEngine_PN::ftext(uint32 base, int n) {
diff --git a/engines/agos/subroutine.cpp b/engines/agos/subroutine.cpp
index 733d40e52d..bd07596a46 100644
--- a/engines/agos/subroutine.cpp
+++ b/engines/agos/subroutine.cpp
@@ -26,6 +26,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "agos/agos.h"
#include "agos/intern.h"
diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp
index 83ee05036c..6c07db13c1 100644
--- a/engines/agos/vga.cpp
+++ b/engines/agos/vga.cpp
@@ -31,6 +31,7 @@
#include "agos/vga.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/agos/vga_e2.cpp b/engines/agos/vga_e2.cpp
index b0431db801..9e163ba91f 100644
--- a/engines/agos/vga_e2.cpp
+++ b/engines/agos/vga_e2.cpp
@@ -32,6 +32,7 @@
#include "common/system.h"
#include "graphics/surface.h"
+#include "graphics/palette.h"
namespace AGOS {
diff --git a/engines/agos/vga_ww.cpp b/engines/agos/vga_ww.cpp
index 8aecd3448a..08b2cee303 100644
--- a/engines/agos/vga_ww.cpp
+++ b/engines/agos/vga_ww.cpp
@@ -32,6 +32,7 @@
#include "common/system.h"
#include "graphics/surface.h"
+#include "graphics/palette.h"
namespace AGOS {
diff --git a/engines/agos/window.cpp b/engines/agos/window.cpp
index a03c7e178a..08680c9e45 100644
--- a/engines/agos/window.cpp
+++ b/engines/agos/window.cpp
@@ -26,6 +26,7 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/cine/anim.cpp b/engines/cine/anim.cpp
index 14b8de9e39..6b4b29dcfe 100644
--- a/engines/cine/anim.cpp
+++ b/engines/cine/anim.cpp
@@ -29,6 +29,7 @@
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/anim.h"
diff --git a/engines/cine/bg.cpp b/engines/cine/bg.cpp
index b3171de918..22fd28a99c 100644
--- a/engines/cine/bg.cpp
+++ b/engines/cine/bg.cpp
@@ -26,6 +26,7 @@
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/various.h"
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp
index 54d113d69c..8104ad38cd 100644
--- a/engines/cine/cine.cpp
+++ b/engines/cine/cine.cpp
@@ -23,13 +23,9 @@
*
*/
-#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/file.h"
-#include "common/savefile.h"
#include "common/config-manager.h"
#include "common/debug-channels.h"
-#include "common/system.h"
#include "engines/util.h"
diff --git a/engines/cine/detection.cpp b/engines/cine/detection.cpp
index 9dfa2f71ea..058c1a1140 100644
--- a/engines/cine/detection.cpp
+++ b/engines/cine/detection.cpp
@@ -27,6 +27,7 @@
#include "engines/advancedDetector.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/various.h"
diff --git a/engines/cine/gfx.cpp b/engines/cine/gfx.cpp
index 3970d88117..18feacd08b 100644
--- a/engines/cine/gfx.cpp
+++ b/engines/cine/gfx.cpp
@@ -30,8 +30,9 @@
#include "cine/pal.h"
#include "common/endian.h"
-#include "common/system.h"
#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
diff --git a/engines/cine/msg.cpp b/engines/cine/msg.cpp
index a01afd147b..3d58d6ddcd 100644
--- a/engines/cine/msg.cpp
+++ b/engines/cine/msg.cpp
@@ -25,6 +25,7 @@
#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "cine/msg.h"
#include "cine/various.h"
diff --git a/engines/cine/pal.cpp b/engines/cine/pal.cpp
index 3c8ffc295b..0f52600db5 100644
--- a/engines/cine/pal.cpp
+++ b/engines/cine/pal.cpp
@@ -27,6 +27,9 @@
#include "cine/various.h"
#include "cine/pal.h"
#include "common/system.h" // For g_system->getPaletteManager()->setPalette
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
namespace Cine {
diff --git a/engines/cine/part.cpp b/engines/cine/part.cpp
index f5c9402388..17ef01948c 100644
--- a/engines/cine/part.cpp
+++ b/engines/cine/part.cpp
@@ -25,6 +25,7 @@
#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/unpack.h"
diff --git a/engines/cine/saveload.cpp b/engines/cine/saveload.cpp
index 4911f78da9..1fc2a8b2fd 100644
--- a/engines/cine/saveload.cpp
+++ b/engines/cine/saveload.cpp
@@ -25,6 +25,7 @@
#include "common/debug.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/bg_list.h"
diff --git a/engines/cine/script_fw.cpp b/engines/cine/script_fw.cpp
index ffbee3d389..674bf4dd86 100644
--- a/engines/cine/script_fw.cpp
+++ b/engines/cine/script_fw.cpp
@@ -28,6 +28,7 @@
*/
#include "common/endian.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/bg_list.h"
diff --git a/engines/cine/script_os.cpp b/engines/cine/script_os.cpp
index 9ee3a892a9..aa2c8c33ac 100644
--- a/engines/cine/script_os.cpp
+++ b/engines/cine/script_os.cpp
@@ -28,6 +28,7 @@
*/
#include "common/endian.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/bg_list.h"
diff --git a/engines/cine/sound.cpp b/engines/cine/sound.cpp
index f0c0668e33..414761159b 100644
--- a/engines/cine/sound.cpp
+++ b/engines/cine/sound.cpp
@@ -26,6 +26,8 @@
#include "common/endian.h"
#include "common/file.h"
#include "common/memstream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "cine/cine.h"
#include "cine/sound.h"
diff --git a/engines/cine/sound.h b/engines/cine/sound.h
index e9a797989e..7b506ab5f3 100644
--- a/engines/cine/sound.h
+++ b/engines/cine/sound.h
@@ -30,7 +30,7 @@
#include "audio/mixer.h"
namespace Audio {
- class AudioStream;
+class AudioStream;
}
namespace Cine {
diff --git a/engines/cine/texte.cpp b/engines/cine/texte.cpp
index 9dbfa315d9..fb6818d690 100644
--- a/engines/cine/texte.cpp
+++ b/engines/cine/texte.cpp
@@ -23,8 +23,10 @@
*
*/
-#include "cine/cine.h"
#include "common/file.h"
+#include "common/textconsole.h"
+
+#include "cine/cine.h"
#include "cine/various.h"
namespace Cine {
diff --git a/engines/cine/various.cpp b/engines/cine/various.cpp
index 5b8663606e..fdc7a28867 100644
--- a/engines/cine/various.cpp
+++ b/engines/cine/various.cpp
@@ -26,6 +26,7 @@
#include "common/endian.h"
#include "common/events.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
diff --git a/engines/cruise/actor.cpp b/engines/cruise/actor.cpp
index 9cbc3dd9ae..2c83aff743 100644
--- a/engines/cruise/actor.cpp
+++ b/engines/cruise/actor.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "cruise/cruise.h"
#include "cruise/staticres.h"
diff --git a/engines/cruise/background.cpp b/engines/cruise/background.cpp
index edd52d3b4a..7c63c155d3 100644
--- a/engines/cruise/background.cpp
+++ b/engines/cruise/background.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "cruise/cruise_main.h"
namespace Cruise {
diff --git a/engines/cruise/cruise.cpp b/engines/cruise/cruise.cpp
index 2c5659c4d9..9712bd9439 100644
--- a/engines/cruise/cruise.cpp
+++ b/engines/cruise/cruise.cpp
@@ -23,13 +23,10 @@
*
*/
-#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/file.h"
-#include "common/savefile.h"
-#include "common/config-manager.h"
#include "common/debug-channels.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "engines/util.h"
diff --git a/engines/cruise/cruise.h b/engines/cruise/cruise.h
index ad3bb20ca1..8d03d47327 100644
--- a/engines/cruise/cruise.h
+++ b/engines/cruise/cruise.h
@@ -31,7 +31,6 @@
#include "common/random.h"
#include "engines/engine.h"
-#include "engines/game.h"
#include "cruise/cruise_main.h"
#include "cruise/debugger.h"
diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp
index b1d7a594fe..e2f2d7468e 100644
--- a/engines/cruise/cruise_main.cpp
+++ b/engines/cruise/cruise_main.cpp
@@ -27,6 +27,7 @@
#include "common/endian.h"
#include "common/events.h"
#include "common/system.h" // for g_system->getEventManager()
+#include "common/textconsole.h"
#include "cruise/cruise.h"
#include "cruise/cruise_main.h"
diff --git a/engines/cruise/dataLoader.cpp b/engines/cruise/dataLoader.cpp
index b9e4ca8bc9..3ccd1689b8 100644
--- a/engines/cruise/dataLoader.cpp
+++ b/engines/cruise/dataLoader.cpp
@@ -26,6 +26,7 @@
#include "cruise/cruise_main.h"
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace Cruise {
diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp
index 66018fac2e..63d7328e78 100644
--- a/engines/cruise/detection.cpp
+++ b/engines/cruise/detection.cpp
@@ -27,6 +27,7 @@
#include "base/plugins.h"
#include "common/savefile.h"
+#include "common/system.h"
#include "engines/advancedDetector.h"
#include "cruise/cruise.h"
diff --git a/engines/cruise/function.cpp b/engines/cruise/function.cpp
index 0b25ee59c1..75b90f7ec8 100644
--- a/engines/cruise/function.cpp
+++ b/engines/cruise/function.cpp
@@ -28,6 +28,8 @@
#include "cruise/cell.h"
#include "cruise/sound.h"
#include "cruise/staticres.h"
+
+#include "common/textconsole.h"
#include "common/util.h"
namespace Cruise {
diff --git a/engines/cruise/gfxModule.cpp b/engines/cruise/gfxModule.cpp
index 1b6f3942de..4d48c2c466 100644
--- a/engines/cruise/gfxModule.cpp
+++ b/engines/cruise/gfxModule.cpp
@@ -29,6 +29,8 @@
#include "common/list.h"
#include "common/rect.h"
+#include "graphics/palette.h"
+
#include "cruise/cruise.h"
#include "cruise/cruise_main.h"
diff --git a/engines/cruise/menu.cpp b/engines/cruise/menu.cpp
index a722b947ff..36689ca0e3 100644
--- a/engines/cruise/menu.cpp
+++ b/engines/cruise/menu.cpp
@@ -29,6 +29,7 @@
#include "engines/metaengine.h"
#include "gui/saveload.h"
+#include "common/system.h"
#include "common/translation.h"
namespace Cruise {
diff --git a/engines/cruise/object.cpp b/engines/cruise/object.cpp
index 864491605f..8e2be0cf13 100644
--- a/engines/cruise/object.cpp
+++ b/engines/cruise/object.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "cruise/cruise_main.h"
namespace Cruise {
diff --git a/engines/cruise/overlay.cpp b/engines/cruise/overlay.cpp
index 9a77891deb..b7a0293f33 100644
--- a/engines/cruise/overlay.cpp
+++ b/engines/cruise/overlay.cpp
@@ -24,6 +24,7 @@
*/
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "cruise/cruise.h"
#include "cruise/cruise_main.h"
diff --git a/engines/cruise/saveload.cpp b/engines/cruise/saveload.cpp
index a1a306705e..6e75088d45 100644
--- a/engines/cruise/saveload.cpp
+++ b/engines/cruise/saveload.cpp
@@ -30,6 +30,7 @@
#include "common/serializer.h"
#include "common/savefile.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/scaler.h"
#include "graphics/thumbnail.h"
diff --git a/engines/cruise/script.cpp b/engines/cruise/script.cpp
index aae4dba475..d6ff784644 100644
--- a/engines/cruise/script.cpp
+++ b/engines/cruise/script.cpp
@@ -26,6 +26,7 @@
#include "cruise/cruise.h"
#include "cruise/cruise_main.h"
#include "common/endian.h"
+#include "common/textconsole.h"
namespace Cruise {
diff --git a/engines/cruise/sound.cpp b/engines/cruise/sound.cpp
index 2826a34351..322f808439 100644
--- a/engines/cruise/sound.cpp
+++ b/engines/cruise/sound.cpp
@@ -24,6 +24,8 @@
*/
#include "common/endian.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "cruise/cruise.h"
#include "cruise/cruise_main.h"
diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp
index 18c184e568..7e1f29271e 100644
--- a/engines/dialogs.cpp
+++ b/engines/dialogs.cpp
@@ -25,21 +25,21 @@
#include "base/version.h"
#include "common/config-manager.h"
-#include "common/savefile.h"
-#include "common/system.h"
#include "common/events.h"
+#include "common/str.h"
+#include "common/system.h"
#include "common/translation.h"
-#include "graphics/scaler.h"
-
#include "gui/about.h"
#include "gui/gui-manager.h"
-#include "gui/launcher.h"
-#include "gui/widgets/list.h"
#include "gui/message.h"
#include "gui/options.h"
#include "gui/saveload.h"
+#include "gui/ThemeEngine.h"
#include "gui/ThemeEval.h"
+#include "gui/widget.h"
+
+#include "graphics/font.h"
#include "engines/dialogs.h"
#include "engines/engine.h"
diff --git a/engines/dialogs.h b/engines/dialogs.h
index 6e5338b317..587e91a2bb 100644
--- a/engines/dialogs.h
+++ b/engines/dialogs.h
@@ -25,15 +25,15 @@
#ifndef GLOBAL_DIALOGS_H
#define GLOBAL_DIALOGS_H
-#include "common/str.h"
#include "gui/dialog.h"
class Engine;
namespace GUI {
- class ButtonWidget;
- class GraphicsWidget;
- class SaveLoadChooser;
+class ButtonWidget;
+class CommandSender;
+class GraphicsWidget;
+class SaveLoadChooser;
}
class MainMenuDialog : public GUI::Dialog {
diff --git a/engines/draci/animation.cpp b/engines/draci/animation.cpp
index bc38e84d72..f2f1727fdd 100644
--- a/engines/draci/animation.cpp
+++ b/engines/draci/animation.cpp
@@ -32,6 +32,7 @@
#include "draci/surface.h"
#include "common/memstream.h"
+#include "common/system.h"
namespace Draci {
diff --git a/engines/draci/game.h b/engines/draci/game.h
index 0ecbcf68f0..0b5b3a03cc 100644
--- a/engines/draci/game.h
+++ b/engines/draci/game.h
@@ -31,7 +31,7 @@
#include "draci/walking.h"
namespace Common {
- class Serializer;
+class Serializer;
}
namespace Draci {
diff --git a/engines/draci/mouse.cpp b/engines/draci/mouse.cpp
index d493fe192f..5853d15d21 100644
--- a/engines/draci/mouse.cpp
+++ b/engines/draci/mouse.cpp
@@ -113,7 +113,7 @@ void Mouse::setCursorType(CursorType cur) {
void Mouse::loadItemCursor(const GameItem *item, bool highlighted) {
const int itemID = item->_absNum;
- const int archiveIndex = 2 * itemID + highlighted;
+ const int archiveIndex = 2 * itemID + (highlighted ? 1 : 0);
CursorType newCursor = static_cast<CursorType> (kItemCursor + archiveIndex);
if (newCursor == getCursorType()) {
return;
diff --git a/engines/draci/music.cpp b/engines/draci/music.cpp
index 750410b329..1d725ebb15 100644
--- a/engines/draci/music.cpp
+++ b/engines/draci/music.cpp
@@ -29,6 +29,7 @@
#include "audio/mididrv.h"
#include "audio/midiparser.h"
#include "common/config-manager.h"
+#include "common/debug.h"
#include "common/file.h"
#include "draci/draci.h"
diff --git a/engines/draci/screen.cpp b/engines/draci/screen.cpp
index c04f0668bb..ab9c49c63a 100644
--- a/engines/draci/screen.cpp
+++ b/engines/draci/screen.cpp
@@ -26,6 +26,8 @@
#include "common/memstream.h"
#include "common/system.h"
+#include "graphics/palette.h"
+
#include "draci/draci.h"
#include "draci/screen.h"
#include "draci/surface.h"
diff --git a/engines/draci/script.h b/engines/draci/script.h
index e81691204e..a75f6bcbc3 100644
--- a/engines/draci/script.h
+++ b/engines/draci/script.h
@@ -30,7 +30,7 @@
#include "common/stream.h"
namespace Common {
- class ReadStream;
+class ReadStream;
}
namespace Draci {
diff --git a/engines/draci/sound.cpp b/engines/draci/sound.cpp
index c8646fff67..ab2479f811 100644
--- a/engines/draci/sound.cpp
+++ b/engines/draci/sound.cpp
@@ -29,6 +29,7 @@
#include "common/file.h"
#include "common/str.h"
#include "common/substream.h"
+#include "common/textconsole.h"
#include "common/memstream.h"
#include "common/unzip.h"
@@ -417,15 +418,16 @@ void Sound::setVolume() {
} else {
_muteSound = _muteVoice = true;
}
+
if (ConfMan.getBool("mute")) {
_muteSound = _muteVoice = true;
}
- const int soundVolume = _muteSound ? 0: ConfMan.getInt("sfx_volume");
- const int speechVolume = _muteVoice ? 0 : ConfMan.getInt("speech_volume");
+ _mixer->muteSoundType(Audio::Mixer::kSFXSoundType, _muteSound);
+ _mixer->muteSoundType(Audio::Mixer::kSpeechSoundType, _muteVoice);
- _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolume);
- _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, speechVolume);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume"));
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume"));
}
} // End of namespace Draci
diff --git a/engines/draci/surface.h b/engines/draci/surface.h
index b00abcd943..cb15ecebe4 100644
--- a/engines/draci/surface.h
+++ b/engines/draci/surface.h
@@ -27,6 +27,7 @@
#define DRACI_SURFACE_H
#include "common/list.h"
+#include "common/rect.h"
#include "graphics/surface.h"
namespace Draci {
diff --git a/engines/drascula/converse.cpp b/engines/drascula/converse.cpp
index d0906fdf55..dcd93d84d7 100644
--- a/engines/drascula/converse.cpp
+++ b/engines/drascula/converse.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "drascula/drascula.h"
namespace Drascula {
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 19395dcd3f..470f28ccff 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -29,6 +29,7 @@
#include "common/file.h"
#include "common/savefile.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "backends/audiocd/audiocd.h"
diff --git a/engines/drascula/graphics.cpp b/engines/drascula/graphics.cpp
index 9c5f3dc12a..4cd91e48a0 100644
--- a/engines/drascula/graphics.cpp
+++ b/engines/drascula/graphics.cpp
@@ -25,8 +25,9 @@
#include "drascula/drascula.h"
#include "graphics/surface.h"
-#include "common/stream.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
namespace Drascula {
diff --git a/engines/drascula/objects.cpp b/engines/drascula/objects.cpp
index 6b507abc65..630eb08d3c 100644
--- a/engines/drascula/objects.cpp
+++ b/engines/drascula/objects.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "drascula/drascula.h"
namespace Drascula {
diff --git a/engines/drascula/palette.cpp b/engines/drascula/palette.cpp
index b521c0313b..a75e72e249 100644
--- a/engines/drascula/palette.cpp
+++ b/engines/drascula/palette.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "graphics/palette.h"
+
#include "drascula/drascula.h"
namespace Drascula {
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index 7744374518..35d4eedb5d 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -24,6 +24,7 @@
*/
#include "common/array.h"
+#include "common/textconsole.h"
#include "drascula/drascula.h"
@@ -140,6 +141,9 @@ void DrasculaEngine::setupRoomsTable() {
}
void DrasculaEngine::freeRoomsTable() {
+ if (_roomHandlers == 0)
+ return;
+
for (uint32 i = 0; i < _roomHandlers->roomParsers.size(); i++)
delete _roomHandlers->roomParsers[i];
_roomHandlers->roomParsers.clear();
diff --git a/engines/drascula/saveload.cpp b/engines/drascula/saveload.cpp
index db67409890..eacbe6756d 100644
--- a/engines/drascula/saveload.cpp
+++ b/engines/drascula/saveload.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "drascula/drascula.h"
namespace Drascula {
diff --git a/engines/drascula/sound.cpp b/engines/drascula/sound.cpp
index 48e7492b11..5cb1c4486a 100644
--- a/engines/drascula/sound.cpp
+++ b/engines/drascula/sound.cpp
@@ -29,6 +29,7 @@
#include "audio/decoders/voc.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "backends/audiocd/audiocd.h"
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 0e5e58bc72..217740d9d5 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -32,25 +32,26 @@
#include "engines/engine.h"
#include "engines/dialogs.h"
-#include "engines/metaengine.h"
-#include "engines/util.h"
#include "common/config-manager.h"
-#include "common/debug.h"
#include "common/events.h"
#include "common/file.h"
-#include "common/timer.h"
-#include "common/savefile.h"
#include "common/system.h"
#include "common/str.h"
+#include "common/error.h"
+#include "common/list.h"
+#include "common/list_intern.h"
+#include "common/scummsys.h"
+#include "common/textconsole.h"
#include "gui/debugger.h"
+#include "gui/dialog.h"
#include "gui/message.h"
-#include "gui/gui-manager.h"
#include "audio/mixer.h"
#include "graphics/cursorman.h"
+#include "graphics/pixelformat.h"
#ifdef _WIN32_WCE
extern bool isSmartphone();
@@ -439,10 +440,14 @@ void Engine::syncSoundSettings() {
if (ConfMan.hasKey("mute"))
mute = ConfMan.getBool("mute");
- _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, (mute ? 0 : Audio::Mixer::kMaxMixerVolume));
- _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, (mute ? 0 : soundVolumeMusic));
- _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, (mute ? 0 : soundVolumeSFX));
- _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, (mute ? 0 : soundVolumeSpeech));
+ _mixer->muteSoundType(Audio::Mixer::kPlainSoundType, mute);
+ _mixer->muteSoundType(Audio::Mixer::kMusicSoundType, mute);
+ _mixer->muteSoundType(Audio::Mixer::kSFXSoundType, mute);
+ _mixer->muteSoundType(Audio::Mixer::kSpeechSoundType, mute);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, Audio::Mixer::kMaxMixerVolume);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolumeSFX);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, soundVolumeSpeech);
}
void Engine::flipMute() {
diff --git a/engines/engine.h b/engines/engine.h
index 168a1dc2a0..b7afc0f09d 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -26,22 +26,22 @@
#define ENGINES_ENGINE_H
#include "common/scummsys.h"
-#include "common/error.h"
#include "common/str.h"
class OSystem;
namespace Audio {
- class Mixer;
+class Mixer;
}
namespace Common {
- class EventManager;
- class SaveFileManager;
- class TimerManager;
+class Error;
+class EventManager;
+class SaveFileManager;
+class TimerManager;
}
namespace GUI {
- class Debugger;
- class Dialog;
+class Debugger;
+class Dialog;
}
/**
diff --git a/engines/game.cpp b/engines/game.cpp
index dea6d37485..a27080cbf8 100644
--- a/engines/game.cpp
+++ b/engines/game.cpp
@@ -24,7 +24,6 @@
*/
#include "engines/game.h"
-#include "base/plugins.h"
const PlainGameDescriptor *findPlainGameDescriptor(const char *gameid, const PlainGameDescriptor *list) {
diff --git a/engines/game.h b/engines/game.h
index 3e5d7f262c..c9a3b25853 100644
--- a/engines/game.h
+++ b/engines/game.h
@@ -28,6 +28,8 @@
#include "common/array.h"
#include "common/hash-str.h"
+#include "common/str.h"
+#include "common/util.h"
/**
* A simple structure used to map gameids (like "monkey", "sword1", ...) to
diff --git a/engines/gob/databases.cpp b/engines/gob/databases.cpp
index 66a711e46e..94f641db4e 100644
--- a/engines/gob/databases.cpp
+++ b/engines/gob/databases.cpp
@@ -24,6 +24,7 @@
*/
#include "common/file.h"
+#include "common/textconsole.h"
#include "gob/databases.h"
diff --git a/engines/gob/dataio.h b/engines/gob/dataio.h
index 6e12d15af8..f2b39aed09 100644
--- a/engines/gob/dataio.h
+++ b/engines/gob/dataio.h
@@ -33,7 +33,7 @@
#include "common/file.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Gob {
diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp
index 12914163c2..3d697d3693 100644
--- a/engines/gob/gob.cpp
+++ b/engines/gob/gob.cpp
@@ -24,14 +24,11 @@
*/
#include "common/debug-channels.h"
-#include "common/endian.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
#include "backends/audiocd/audiocd.h"
#include "base/plugins.h"
#include "common/config-manager.h"
-#include "common/md5.h"
#include "audio/mididrv.h"
#include "gui/gui-manager.h"
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 9bdbed45cf..4a928747b0 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -30,12 +30,14 @@
#include "common/system.h"
#include "common/savefile.h"
+#include "graphics/pixelformat.h"
+
#include "engines/engine.h"
#include "gob/console.h"
namespace GUI {
- class StaticTextWidget;
+class StaticTextWidget;
}
/**
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index 262fdc8045..8f1ff4c73f 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -23,9 +23,7 @@
*
*/
-#include "common/endian.h"
#include "common/str.h"
-#include "common/file.h"
#include "gob/gob.h"
#include "gob/inter.h"
diff --git a/engines/gob/inter_v4.cpp b/engines/gob/inter_v4.cpp
index 778387e52d..1da92b3766 100644
--- a/engines/gob/inter_v4.cpp
+++ b/engines/gob/inter_v4.cpp
@@ -23,9 +23,7 @@
*
*/
-#include "common/endian.h"
#include "common/str.h"
-#include "common/file.h"
#include "gob/gob.h"
#include "gob/inter.h"
diff --git a/engines/gob/inter_v5.cpp b/engines/gob/inter_v5.cpp
index 85b213ae66..f5e87bb936 100644
--- a/engines/gob/inter_v5.cpp
+++ b/engines/gob/inter_v5.cpp
@@ -23,9 +23,6 @@
*
*/
-#include "common/endian.h"
-#include "common/file.h"
-
#include "gui/message.h"
#include "gob/gob.h"
diff --git a/engines/gob/inter_v6.cpp b/engines/gob/inter_v6.cpp
index 06a06f4fb6..53ebfe7513 100644
--- a/engines/gob/inter_v6.cpp
+++ b/engines/gob/inter_v6.cpp
@@ -23,9 +23,7 @@
*
*/
-#include "common/endian.h"
#include "common/str.h"
-#include "common/file.h"
#include "graphics/dither.h"
#include "gob/gob.h"
diff --git a/engines/gob/resources.h b/engines/gob/resources.h
index 9921dc6e76..dec64f6b7c 100644
--- a/engines/gob/resources.h
+++ b/engines/gob/resources.h
@@ -29,7 +29,7 @@
#include "common/str.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Gob {
diff --git a/engines/gob/save/savefile.cpp b/engines/gob/save/savefile.cpp
index d472ef600b..45cd2a2b7d 100644
--- a/engines/gob/save/savefile.cpp
+++ b/engines/gob/save/savefile.cpp
@@ -336,7 +336,7 @@ bool SavePartSprite::read(Common::ReadStream &stream) {
// If it's in the current format, the true color flag has to be the same too
if (!_oldFormat)
- if (stream.readByte() != _trueColor)
+ if ((stream.readByte() != 0) != _trueColor)
return false;
// Sprite data
diff --git a/engines/gob/save/saveload.cpp b/engines/gob/save/saveload.cpp
index 3508e58f16..e490509914 100644
--- a/engines/gob/save/saveload.cpp
+++ b/engines/gob/save/saveload.cpp
@@ -23,9 +23,6 @@
*
*/
-#include "common/endian.h"
-#include "common/savefile.h"
-
#include "gob/gob.h"
#include "gob/save/saveload.h"
#include "gob/global.h"
diff --git a/engines/gob/sound/adlib.cpp b/engines/gob/sound/adlib.cpp
index f070bf14fa..4244df68e5 100644
--- a/engines/gob/sound/adlib.cpp
+++ b/engines/gob/sound/adlib.cpp
@@ -23,8 +23,10 @@
*
*/
+#include "common/debug.h"
#include "common/file.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "gob/gob.h"
#include "gob/sound/adlib.h"
diff --git a/engines/gob/sound/bgatmosphere.cpp b/engines/gob/sound/bgatmosphere.cpp
index 8850a727d3..b351d92275 100644
--- a/engines/gob/sound/bgatmosphere.cpp
+++ b/engines/gob/sound/bgatmosphere.cpp
@@ -23,8 +23,6 @@
*
*/
-#include "common/system.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
#include "gob/sound/bgatmosphere.h"
diff --git a/engines/gob/sound/cdrom.cpp b/engines/gob/sound/cdrom.cpp
index 4f3d783046..217aa9c18e 100644
--- a/engines/gob/sound/cdrom.cpp
+++ b/engines/gob/sound/cdrom.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
#include "common/str.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "backends/audiocd/audiocd.h"
diff --git a/engines/gob/sound/infogrames.cpp b/engines/gob/sound/infogrames.cpp
index 6377b4e798..9fb7410740 100644
--- a/engines/gob/sound/infogrames.cpp
+++ b/engines/gob/sound/infogrames.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "gob/sound/infogrames.h"
namespace Gob {
diff --git a/engines/gob/sound/sounddesc.cpp b/engines/gob/sound/sounddesc.cpp
index d33ea89147..cc1c6b1f6b 100644
--- a/engines/gob/sound/sounddesc.cpp
+++ b/engines/gob/sound/sounddesc.cpp
@@ -25,6 +25,8 @@
#include "common/util.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
+
#include "audio/mixer.h"
#include "audio/decoders/raw.h"
#include "audio/decoders/wave.h"
diff --git a/engines/gob/sound/soundmixer.cpp b/engines/gob/sound/soundmixer.cpp
index b6082c577c..3b6b2e5d52 100644
--- a/engines/gob/sound/soundmixer.cpp
+++ b/engines/gob/sound/soundmixer.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/util.h"
+
#include "gob/sound/soundmixer.h"
#include "gob/sound/sounddesc.h"
diff --git a/engines/gob/surface.cpp b/engines/gob/surface.cpp
index c3e8cd9ff5..7bd8aae597 100644
--- a/engines/gob/surface.cpp
+++ b/engines/gob/surface.cpp
@@ -31,6 +31,8 @@
#include "common/frac.h"
#include "graphics/primitives.h"
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
namespace Gob {
diff --git a/engines/gob/surface.h b/engines/gob/surface.h
index 3dea18e36e..b84927af70 100644
--- a/engines/gob/surface.h
+++ b/engines/gob/surface.h
@@ -34,7 +34,7 @@
#include "graphics/iff.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Gob {
diff --git a/engines/gob/totfile.h b/engines/gob/totfile.h
index 211232f870..ce467425e2 100644
--- a/engines/gob/totfile.h
+++ b/engines/gob/totfile.h
@@ -29,7 +29,7 @@
#include "common/str.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Gob {
diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp
index 4d51b3d61f..787f85175a 100644
--- a/engines/gob/util.cpp
+++ b/engines/gob/util.cpp
@@ -36,6 +36,8 @@
#include "common/events.h"
+#include "graphics/palette.h"
+
namespace Gob {
Util::Util(GobEngine *vm) : _vm(vm) {
diff --git a/engines/gob/video.cpp b/engines/gob/video.cpp
index 444ff8ed9e..1d74a07bfc 100644
--- a/engines/gob/video.cpp
+++ b/engines/gob/video.cpp
@@ -29,6 +29,7 @@
#include "graphics/cursorman.h"
#include "graphics/fontman.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "gob/gob.h"
diff --git a/engines/groovie/cursor.cpp b/engines/groovie/cursor.cpp
index db4134ccb0..8b62b829e1 100644
--- a/engines/groovie/cursor.cpp
+++ b/engines/groovie/cursor.cpp
@@ -26,8 +26,11 @@
#include "groovie/cursor.h"
#include "groovie/groovie.h"
+#include "common/debug.h"
#include "common/archive.h"
+#include "common/file.h"
#include "common/macresman.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
namespace Groovie {
diff --git a/engines/groovie/cursor.h b/engines/groovie/cursor.h
index 7a1f3ccc0e..e40dc0c486 100644
--- a/engines/groovie/cursor.h
+++ b/engines/groovie/cursor.h
@@ -30,7 +30,7 @@
#include "common/system.h"
namespace Common {
- class MacResManager;
+class MacResManager;
}
namespace Groovie {
diff --git a/engines/groovie/debug.cpp b/engines/groovie/debug.cpp
index bd4b671e11..0b70e4f83a 100644
--- a/engines/groovie/debug.cpp
+++ b/engines/groovie/debug.cpp
@@ -31,6 +31,8 @@
#include "common/debug-channels.h"
#include "common/system.h"
+#include "graphics/palette.h"
+
namespace Groovie {
Debugger::Debugger(GroovieEngine *vm) :
diff --git a/engines/groovie/font.cpp b/engines/groovie/font.cpp
index 92ebcce298..13d0df0005 100644
--- a/engines/groovie/font.cpp
+++ b/engines/groovie/font.cpp
@@ -23,6 +23,10 @@
*
*/
+#include "common/array.h"
+#include "common/textconsole.h"
+#include "graphics/surface.h"
+
#include "groovie/font.h"
namespace Groovie {
diff --git a/engines/groovie/graphics.cpp b/engines/groovie/graphics.cpp
index 7f205a1dc0..71ee231b80 100644
--- a/engines/groovie/graphics.cpp
+++ b/engines/groovie/graphics.cpp
@@ -25,8 +25,12 @@
#include "groovie/graphics.h"
#include "groovie/groovie.h"
+
+#include "common/rect.h"
#include "common/system.h"
+#include "graphics/palette.h"
+
namespace Groovie {
GraphicsMan::GraphicsMan(GroovieEngine *vm) :
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp
index 67c8f3dbc7..795cd6feb9 100644
--- a/engines/groovie/groovie.cpp
+++ b/engines/groovie/groovie.cpp
@@ -35,7 +35,9 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
#include "common/events.h"
+#include "common/file.h"
#include "common/macresman.h"
+#include "common/textconsole.h"
#include "backends/audiocd/audiocd.h"
#include "engines/util.h"
diff --git a/engines/groovie/groovie.h b/engines/groovie/groovie.h
index f8fad8d91f..9335ffb7e4 100644
--- a/engines/groovie/groovie.h
+++ b/engines/groovie/groovie.h
@@ -33,7 +33,7 @@
#include "graphics/pixelformat.h"
namespace Common {
- class MacResManager;
+class MacResManager;
}
/**
diff --git a/engines/groovie/music.cpp b/engines/groovie/music.cpp
index 45f9800211..b7078f4c9e 100644
--- a/engines/groovie/music.cpp
+++ b/engines/groovie/music.cpp
@@ -29,8 +29,11 @@
#include "backends/audiocd/audiocd.h"
#include "common/config-manager.h"
+#include "common/debug.h"
+#include "common/file.h"
#include "common/macresman.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "audio/midiparser.h"
namespace Groovie {
diff --git a/engines/groovie/player.cpp b/engines/groovie/player.cpp
index 8badd90012..3fee87d7bb 100644
--- a/engines/groovie/player.cpp
+++ b/engines/groovie/player.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "groovie/player.h"
#include "groovie/groovie.h"
diff --git a/engines/groovie/resource.cpp b/engines/groovie/resource.cpp
index 9c4e6fb2fa..7670ab4315 100644
--- a/engines/groovie/resource.cpp
+++ b/engines/groovie/resource.cpp
@@ -24,8 +24,11 @@
*/
#include "common/archive.h"
+#include "common/debug.h"
+#include "common/file.h"
#include "common/macresman.h"
#include "common/substream.h"
+#include "common/textconsole.h"
#include "groovie/resource.h"
#include "groovie/groovie.h"
diff --git a/engines/groovie/resource.h b/engines/groovie/resource.h
index 37fa50f2ea..9c306beecb 100644
--- a/engines/groovie/resource.h
+++ b/engines/groovie/resource.h
@@ -27,7 +27,7 @@
#define GROOVIE_RESOURCE_H
namespace Common {
- class MacResManager;
+class MacResManager;
}
namespace Groovie {
diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp
index b671cbd0a8..be9c4f6921 100644
--- a/engines/groovie/roq.cpp
+++ b/engines/groovie/roq.cpp
@@ -30,7 +30,11 @@
#include "groovie/graphics.h"
#include "groovie/groovie.h"
+#include "common/debug.h"
+#include "common/textconsole.h"
+
#include "graphics/jpeg.h"
+#include "graphics/palette.h"
#ifdef USE_RGB_COLOR
// Required for the YUV to RGB conversion
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index 9b58f8bd5a..fabb70cca0 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -37,8 +37,11 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
#include "common/EventRecorder.h"
+#include "common/file.h"
#include "common/macresman.h"
+#include "gui/message.h"
+
#define NUM_OPCODES 90
namespace Groovie {
@@ -411,6 +414,13 @@ void Script::savegame(uint slot) {
char newchar;
Common::OutSaveFile *file = SaveLoad::openForSaving(ConfMan.getActiveDomainName(), slot);
+ if (!file) {
+ debugC(9, kGroovieDebugScript, "Save file pointer is null");
+ GUI::MessageDialog dialog("Failed to save game", "OK");
+ dialog.runModal();
+ return;
+ }
+
// Saving the variables. It is endian safe because they're byte variables
file->write(_variables, 0x400);
delete file;
diff --git a/engines/groovie/vdx.cpp b/engines/groovie/vdx.cpp
index 6643177328..432b17802c 100644
--- a/engines/groovie/vdx.cpp
+++ b/engines/groovie/vdx.cpp
@@ -28,9 +28,12 @@
#include "groovie/groovie.h"
#include "groovie/lzss.h"
+#include "common/debug.h"
#include "common/debug-channels.h"
+#include "common/textconsole.h"
#include "audio/mixer.h"
#include "audio/decoders/raw.h"
+#include "graphics/palette.h"
#define TILE_SIZE 4 // Size of each tile on the image: only ever seen 4 so far
#define VDX_IDENT 0x9267 // 37479
diff --git a/engines/groovie/vdx.h b/engines/groovie/vdx.h
index 38dd030bcb..31c7606cb7 100644
--- a/engines/groovie/vdx.h
+++ b/engines/groovie/vdx.h
@@ -29,7 +29,7 @@
#include "groovie/player.h"
namespace Common {
- class ReadStream;
+class ReadStream;
}
namespace Groovie {
diff --git a/engines/hugo/detection.cpp b/engines/hugo/detection.cpp
index e862e339ce..95302c9235 100644
--- a/engines/hugo/detection.cpp
+++ b/engines/hugo/detection.cpp
@@ -26,6 +26,7 @@
#include "engines/advancedDetector.h"
#include "common/system.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "graphics/thumbnail.h"
#include "graphics/surface.h"
diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp
index 178ec12726..f0dc84eae8 100644
--- a/engines/hugo/dialogs.cpp
+++ b/engines/hugo/dialogs.cpp
@@ -165,7 +165,8 @@ void TopMenu::handleCommand(GUI::CommandSender *sender, uint32 command, uint32 d
switch (command) {
case kCmdWhat:
close();
- _vm->_file->instructions();
+ _vm->getGameStatus().helpFl = true;
+
break;
case kCmdMusic:
_vm->_sound->toggleMusic();
diff --git a/engines/hugo/display.cpp b/engines/hugo/display.cpp
index 333eb59707..af4d094ceb 100644
--- a/engines/hugo/display.cpp
+++ b/engines/hugo/display.cpp
@@ -32,8 +32,11 @@
// Display.c - DIB related code for HUGOWIN
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "hugo/hugo.h"
#include "hugo/display.h"
@@ -507,6 +510,9 @@ void Screen::drawStatusText() {
sdx = stringLength(_vm->_scoreLine);
posY = 0;
+
+ //Display a black behind the score line
+ _vm->_screen->drawRectangle(true, 0, 0, kXPix, 8, _TBLACK);
writeStr(posX, posY, _vm->_scoreLine, _TCYAN);
displayList(kDisplayAdd, posX, posY, sdx, sdy);
}
diff --git a/engines/hugo/file.cpp b/engines/hugo/file.cpp
index a0e3ff05ce..ba4e420111 100644
--- a/engines/hugo/file.cpp
+++ b/engines/hugo/file.cpp
@@ -30,8 +30,10 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "common/config-manager.h"
#include "graphics/thumbnail.h"
#include "gui/saveload.h"
@@ -298,7 +300,11 @@ sound_pt FileManager::getSound(const int16 sound, uint16 *size) {
}
if (!has_read_header) {
- if (fp.read(s_hdr, sizeof(s_hdr)) != sizeof(s_hdr))
+ for (int i = 0; i < kMaxSounds; i++) {
+ s_hdr[i].size = fp.readUint16LE();
+ s_hdr[i].offset = fp.readUint32LE();
+ }
+ if (fp.err())
error("Wrong sound file format");
has_read_header = true;
}
@@ -400,7 +406,7 @@ bool FileManager::saveGame(const int16 slot, const Common::String &descrip) {
out->writeByte((gameStatus.gameOverFl) ? 1 : 0);
// Save screen states
- for (int i = 0; i < _vm->_numScreens; i++)
+ for (int i = 0; i < _vm->_numStates; i++)
out->writeByte(_vm->_screenStates[i]);
_vm->_scheduler->saveSchedulerData(out);
@@ -497,7 +503,7 @@ bool FileManager::restoreGame(const int16 slot) {
gameStatus.storyModeFl = (in->readByte() == 1);
_vm->_mouse->setJumpExitFl(in->readByte() == 1);
gameStatus.gameOverFl = (in->readByte() == 1);
- for (int i = 0; i < _vm->_numScreens; i++)
+ for (int i = 0; i < _vm->_numStates; i++)
_vm->_screenStates[i] = in->readByte();
_vm->_scheduler->restoreSchedulerData(in);
diff --git a/engines/hugo/file_v1d.cpp b/engines/hugo/file_v1d.cpp
index 48f274e88a..021969f306 100644
--- a/engines/hugo/file_v1d.cpp
+++ b/engines/hugo/file_v1d.cpp
@@ -30,7 +30,9 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/file.h"
diff --git a/engines/hugo/file_v1w.cpp b/engines/hugo/file_v1w.cpp
index dbb093752a..4f327b3095 100644
--- a/engines/hugo/file_v1w.cpp
+++ b/engines/hugo/file_v1w.cpp
@@ -30,7 +30,9 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/file.h"
diff --git a/engines/hugo/file_v2d.cpp b/engines/hugo/file_v2d.cpp
index ffadd17481..0ad89e987e 100644
--- a/engines/hugo/file_v2d.cpp
+++ b/engines/hugo/file_v2d.cpp
@@ -30,7 +30,9 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/file.h"
@@ -167,10 +169,10 @@ const char *FileManager_v2d::fetchString(const int index) {
// Get offset to string[index] (and next for length calculation)
_stringArchive.seek((uint32)index * sizeof(uint32), SEEK_SET);
- uint32 off1, off2;
- if (_stringArchive.read((char *)&off1, sizeof(uint32)) == 0)
- error("An error has occurred: bad String offset");
- if (_stringArchive.read((char *)&off2, sizeof(uint32)) == 0)
+
+ uint32 off1 = _stringArchive.readUint32LE();
+ uint32 off2 = _stringArchive.readUint32LE();
+ if (!off1 || !off2)
error("An error has occurred: bad String offset");
// Check size of string
diff --git a/engines/hugo/file_v3d.cpp b/engines/hugo/file_v3d.cpp
index 2f3e5af3f0..6370fffa4d 100644
--- a/engines/hugo/file_v3d.cpp
+++ b/engines/hugo/file_v3d.cpp
@@ -30,7 +30,9 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/file.h"
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index ba87f58150..a872a97bae 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -25,13 +25,14 @@
#include "common/system.h"
#include "common/random.h"
+#include "common/error.h"
#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/debug-channels.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
-#include "hugo/game.h"
#include "hugo/file.h"
#include "hugo/schedule.h"
#include "hugo/display.h"
@@ -53,7 +54,7 @@ HugoEngine *HugoEngine::s_Engine = 0;
HugoEngine::HugoEngine(OSystem *syst, const HugoGameDescription *gd) : Engine(syst), _gameDescription(gd),
_hero(0), _heroImage(0), _defltTunes(0), _numScreens(0), _tunesNbr(0), _soundSilence(0), _soundTest(0),
- _screenStates(0), _score(0), _maxscore(0), _lastTime(0), _curTime(0), _episode(0)
+ _screenStates(0), _numStates(0), _score(0), _maxscore(0), _lastTime(0), _curTime(0), _episode(0)
{
_system = syst;
DebugMan.addDebugChannel(kDebugSchedule, "Schedule", "Script Schedule debug level");
@@ -298,6 +299,10 @@ Common::Error HugoEngine::run() {
break;
}
}
+ if (_status.helpFl) {
+ _status.helpFl = false;
+ _file->instructions();
+ }
_mouse->mouseHandler(); // Mouse activity - adds to display list
_screen->displayList(kDisplayDisplay); // Blit the display list to screen
@@ -323,9 +328,6 @@ void HugoEngine::initMachine() {
*/
void HugoEngine::runMachine() {
status_t &gameStatus = getGameStatus();
- // Don't process if we're in a textbox
- if (gameStatus.textBoxFl)
- return;
// Don't process if gameover
if (gameStatus.gameOverFl)
@@ -463,6 +465,7 @@ bool HugoEngine::loadHugoDat() {
for (int varnt = 0; varnt < _numVariant; varnt++) {
numElem = in.readUint16BE();
if (varnt == _gameVariant) {
+ _numStates = numElem;
_screenStates = (byte *)malloc(sizeof(byte) * numElem);
memset(_screenStates, 0, sizeof(_screenStates));
}
@@ -530,13 +533,13 @@ void HugoEngine::initStatus() {
debugC(1, kDebugEngine, "initStatus");
_status.storyModeFl = false; // Not in story mode
_status.gameOverFl = false; // Hero not knobbled yet
- _status.textBoxFl = false; // Not processing a text box
_status.lookFl = false; // Toolbar "look" button
_status.recallFl = false; // Toolbar "recall" button
_status.newScreenFl = false; // Screen not just loaded
_status.godModeFl = false; // No special cheats allowed
_status.doQuitFl = false;
_status.skipIntroFl = false;
+ _status.helpFl = false;
// Initialize every start of new game
_status.tick = 0; // Tick count
@@ -553,6 +556,7 @@ void HugoEngine::initStatus() {
// _status.screenWidth = 0; // Desktop screen width
// _status.saveTick = 0; // Time of last save
// _status.saveSlot = 0; // Slot to save/restore game
+// _status.textBoxFl = false; // Not processing a text box
}
/**
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index ed021f5cd6..b2d241f241 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -176,13 +176,13 @@ struct HugoGameDescription;
struct status_t { // Game status (not saved)
bool storyModeFl; // Game is telling story - no commands
bool gameOverFl; // Game is over - hero knobbled
- bool textBoxFl; // Game is (halted) in text box
bool lookFl; // Toolbar "look" button pressed
bool recallFl; // Toolbar "recall" button pressed
bool newScreenFl; // New screen just loaded in dib_a
bool godModeFl; // Allow DEBUG features in live version
bool doQuitFl;
bool skipIntroFl;
+ bool helpFl;
uint32 tick; // Current time in ticks
vstate_t viewState; // View state machine
int16 song; // Current song
@@ -194,6 +194,7 @@ struct status_t { // Game status (not saved)
// bool helpFl; // Calling WinHelp (don't disable music)
// bool mmtimeFl; // Multimedia timer supported
// bool demoFl; // Game is in demo mode
+// bool textBoxFl; // Game is (halted) in text box
// int16 screenWidth; // Desktop screen width
// int16 saveSlot; // Current slot to save/restore game
// int16 cx, cy; // Cursor position (dib coords)
@@ -238,6 +239,7 @@ public:
int8 _soundTest;
int8 _tunesNbr;
uint16 _numScreens;
+ uint16 _numStates;
int8 _normalTPS; // Number of ticks (frames) per second.
// 8 for Win versions, 9 for DOS versions
object_t *_hero;
diff --git a/engines/hugo/intro.cpp b/engines/hugo/intro.cpp
index c1c84d1e32..c31d76abd0 100644
--- a/engines/hugo/intro.cpp
+++ b/engines/hugo/intro.cpp
@@ -31,6 +31,7 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/intro.h"
diff --git a/engines/hugo/inventory.cpp b/engines/hugo/inventory.cpp
index ab58e386ba..45893f6965 100644
--- a/engines/hugo/inventory.cpp
+++ b/engines/hugo/inventory.cpp
@@ -30,6 +30,7 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
diff --git a/engines/hugo/mouse.cpp b/engines/hugo/mouse.cpp
index 1b2dd588b8..c02908e579 100644
--- a/engines/hugo/mouse.cpp
+++ b/engines/hugo/mouse.cpp
@@ -32,6 +32,7 @@
// mouse.cpp : Handle all mouse activity
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
@@ -363,6 +364,7 @@ void MouseHandler::readHotspot(Common::ReadStream &in, hotspot_t &hotspot) {
void MouseHandler::loadHotspots(Common::ReadStream &in) {
hotspot_t *wrkHotspots = 0;
hotspot_t tmp;
+ memset(&tmp, 0, sizeof(tmp));
for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
int numRows = in.readUint16BE();
if (varnt == _vm->_gameVariant)
diff --git a/engines/hugo/object.cpp b/engines/hugo/object.cpp
index 0a52a0f62d..acf9f6e50c 100644
--- a/engines/hugo/object.cpp
+++ b/engines/hugo/object.cpp
@@ -30,8 +30,7 @@
*
*/
-#include "common/system.h"
-#include "common/random.h"
+#include "common/debug.h"
#include "hugo/hugo.h"
#include "hugo/game.h"
diff --git a/engines/hugo/object_v1d.cpp b/engines/hugo/object_v1d.cpp
index a8edb45746..95bedf4fa2 100644
--- a/engines/hugo/object_v1d.cpp
+++ b/engines/hugo/object_v1d.cpp
@@ -30,6 +30,7 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "common/random.h"
diff --git a/engines/hugo/object_v1w.cpp b/engines/hugo/object_v1w.cpp
index f3ba793a3b..54becd8234 100644
--- a/engines/hugo/object_v1w.cpp
+++ b/engines/hugo/object_v1w.cpp
@@ -30,6 +30,7 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "common/random.h"
diff --git a/engines/hugo/object_v2d.cpp b/engines/hugo/object_v2d.cpp
index b3c49262ad..7c47bf4f92 100644
--- a/engines/hugo/object_v2d.cpp
+++ b/engines/hugo/object_v2d.cpp
@@ -30,6 +30,7 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "common/random.h"
diff --git a/engines/hugo/object_v3d.cpp b/engines/hugo/object_v3d.cpp
index 2c6fc5d99d..3ff6c56ad3 100644
--- a/engines/hugo/object_v3d.cpp
+++ b/engines/hugo/object_v3d.cpp
@@ -30,6 +30,7 @@
*
*/
+#include "common/debug.h"
#include "common/system.h"
#include "common/random.h"
diff --git a/engines/hugo/parser.cpp b/engines/hugo/parser.cpp
index feee4cbadd..29a1d5efa3 100644
--- a/engines/hugo/parser.cpp
+++ b/engines/hugo/parser.cpp
@@ -30,12 +30,8 @@
*
*/
-#include "common/system.h"
#include "common/events.h"
-
-#include "common/random.h"
-#include "common/EventRecorder.h"
-#include "common/debug-channels.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/display.h"
@@ -87,6 +83,7 @@ void Parser::readCmd(Common::ReadStream &in, cmd &curCmd) {
*/
void Parser::loadCmdList(Common::ReadStream &in) {
cmd tmpCmd;
+ memset(&tmpCmd, 0, sizeof(tmpCmd));
for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
uint16 numElem = in.readUint16BE();
if (varnt == _vm->_gameVariant) {
@@ -119,6 +116,7 @@ void Parser::readBG(Common::ReadStream &in, background_t &curBG) {
*/
void Parser::loadBackgroundObjects(Common::ReadStream &in) {
background_t tmpBG;
+ memset(&tmpBG, 0, sizeof(tmpBG));
for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
uint16 numElem = in.readUint16BE();
@@ -145,6 +143,7 @@ void Parser::loadBackgroundObjects(Common::ReadStream &in) {
void Parser::loadCatchallList(Common::ReadStream &in) {
background_t *wrkCatchallList = 0;
background_t tmpBG;
+ memset(&tmpBG, 0, sizeof(tmpBG));
for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
uint16 numElem = in.readUint16BE();
@@ -337,7 +336,7 @@ void Parser::keyHandler(Common::Event event) {
break;
case Common::KEYCODE_F1: // User Help (DOS)
if (_checkDoubleF1Fl)
- _vm->_file->instructions();
+ gameStatus.helpFl = true;
else
_vm->_screen->userHelp();
_checkDoubleF1Fl = !_checkDoubleF1Fl;
diff --git a/engines/hugo/parser.h b/engines/hugo/parser.h
index dd9244ba93..b00b8d5c43 100644
--- a/engines/hugo/parser.h
+++ b/engines/hugo/parser.h
@@ -32,6 +32,11 @@
#ifndef HUGO_PARSER_H
#define HUGO_PARSER_H
+
+namespace Common {
+struct Event;
+}
+
namespace Hugo {
enum seqTextParser {
diff --git a/engines/hugo/parser_v1d.cpp b/engines/hugo/parser_v1d.cpp
index de18427d93..b2e515fd42 100644
--- a/engines/hugo/parser_v1d.cpp
+++ b/engines/hugo/parser_v1d.cpp
@@ -32,6 +32,7 @@
// parser.c - handles all keyboard/command input
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
diff --git a/engines/hugo/parser_v1w.cpp b/engines/hugo/parser_v1w.cpp
index 305fb995e1..a39063357b 100644
--- a/engines/hugo/parser_v1w.cpp
+++ b/engines/hugo/parser_v1w.cpp
@@ -32,8 +32,7 @@
// parser.c - handles all keyboard/command input
-#include "common/system.h"
-#include "common/events.h"
+#include "common/debug.h"
#include "hugo/hugo.h"
#include "hugo/parser.h"
diff --git a/engines/hugo/parser_v2d.cpp b/engines/hugo/parser_v2d.cpp
index d6f2adfedc..6233f11c29 100644
--- a/engines/hugo/parser_v2d.cpp
+++ b/engines/hugo/parser_v2d.cpp
@@ -32,6 +32,7 @@
// parser.c - handles all keyboard/command input
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
@@ -121,7 +122,6 @@ void Parser_v2d::lineHandler() {
// SAVE/RESTORE
if (!strcmp("save", _vm->_line)) {
- _vm->_config.soundFl = false;
if (gameStatus.gameOverFl)
_vm->gameOverMsg();
else
@@ -130,7 +130,6 @@ void Parser_v2d::lineHandler() {
}
if (!strcmp("restore", _vm->_line)) {
- _vm->_config.soundFl = false;
_vm->_file->restoreGame(-1);
return;
}
diff --git a/engines/hugo/parser_v3d.cpp b/engines/hugo/parser_v3d.cpp
index f08d472240..8c4946c534 100644
--- a/engines/hugo/parser_v3d.cpp
+++ b/engines/hugo/parser_v3d.cpp
@@ -32,6 +32,7 @@
// parser.c - handles all keyboard/command input
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
@@ -123,7 +124,6 @@ void Parser_v3d::lineHandler() {
// SAVE/RESTORE
if (!strcmp("save", _vm->_line)) {
- _vm->_config.soundFl = false;
if (gameStatus.gameOverFl)
_vm->gameOverMsg();
else
@@ -132,7 +132,6 @@ void Parser_v3d::lineHandler() {
}
if (!strcmp("restore", _vm->_line)) {
- _vm->_config.soundFl = false;
_vm->_file->restoreGame(-1);
return;
}
diff --git a/engines/hugo/route.cpp b/engines/hugo/route.cpp
index 76ec583857..68b659cd3f 100644
--- a/engines/hugo/route.cpp
+++ b/engines/hugo/route.cpp
@@ -32,6 +32,7 @@
// Find shortest route from hero to destination
+#include "common/debug.h"
#include "common/system.h"
#include "hugo/hugo.h"
diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp
index ca1583921e..0e91124a7e 100644
--- a/engines/hugo/schedule.cpp
+++ b/engines/hugo/schedule.cpp
@@ -32,7 +32,9 @@
// This module contains all the scheduling and timing stuff
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "hugo/hugo.h"
#include "hugo/schedule.h"
@@ -1143,6 +1145,10 @@ void Scheduler::insertAction(act *action) {
case AGSCHEDULE:
curEvent->localActionFl = false; // Lasts over a new screen
break;
+ // Workaround: When dying, switch to storyMode in order to block the keyboard.
+ case GAMEOVER:
+ _vm->getGameStatus().storyModeFl = true;
+ // No break on purpose
default:
curEvent->localActionFl = true; // Rest are for current screen only
break;
diff --git a/engines/hugo/sound.cpp b/engines/hugo/sound.cpp
index 24359a2c54..d657eb96a6 100644
--- a/engines/hugo/sound.cpp
+++ b/engines/hugo/sound.cpp
@@ -32,7 +32,9 @@
// sound.c - sound effects and music support
+#include "common/debug.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/config-manager.h"
#include "audio/decoders/raw.h"
diff --git a/engines/kyra/animator_hof.cpp b/engines/kyra/animator_hof.cpp
index e1471239da..a563bc2b4f 100644
--- a/engines/kyra/animator_hof.cpp
+++ b/engines/kyra/animator_hof.cpp
@@ -26,7 +26,7 @@
#include "kyra/kyra_hof.h"
#include "kyra/wsamovie.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/animator_lok.cpp b/engines/kyra/animator_lok.cpp
index b906d3a724..452d5e8062 100644
--- a/engines/kyra/animator_lok.cpp
+++ b/engines/kyra/animator_lok.cpp
@@ -23,16 +23,13 @@
*
*/
-#include "common/endian.h"
-
#include "kyra/kyra_lok.h"
#include "kyra/screen.h"
#include "kyra/animator_lok.h"
#include "kyra/sprites.h"
-#include "common/system.h"
-
namespace Kyra {
+
Animator_LoK::Animator_LoK(KyraEngine_LoK *vm, OSystem *system) {
_vm = vm;
_screen = vm->screen();
diff --git a/engines/kyra/animator_mr.cpp b/engines/kyra/animator_mr.cpp
index e6daba7aeb..47c0e3b03a 100644
--- a/engines/kyra/animator_mr.cpp
+++ b/engines/kyra/animator_mr.cpp
@@ -27,6 +27,8 @@
#include "kyra/resource.h"
#include "kyra/wsamovie.h"
+#include "common/system.h"
+
namespace Kyra {
void KyraEngine_MR::restorePage3() {
diff --git a/engines/kyra/animator_tim.cpp b/engines/kyra/animator_tim.cpp
index 0290b2aa7f..fa42042bef 100644
--- a/engines/kyra/animator_tim.cpp
+++ b/engines/kyra/animator_tim.cpp
@@ -23,9 +23,6 @@
*
*/
-#include "common/endian.h"
-#include "common/system.h"
-
#include "kyra/script_tim.h"
#include "kyra/wsamovie.h"
#include "kyra/screen_lol.h"
@@ -36,6 +33,8 @@
#include "kyra/screen_v2.h"
#endif
+#include "common/system.h"
+
namespace Kyra {
#ifdef ENABLE_LOL
diff --git a/engines/kyra/animator_v2.cpp b/engines/kyra/animator_v2.cpp
index b06dffd36f..07ff4456e5 100644
--- a/engines/kyra/animator_v2.cpp
+++ b/engines/kyra/animator_v2.cpp
@@ -25,9 +25,6 @@
#include "kyra/kyra_v2.h"
#include "kyra/screen_v2.h"
-#include "kyra/wsamovie.h"
-
-#include "common/endian.h"
namespace Kyra {
diff --git a/engines/kyra/debugger.cpp b/engines/kyra/debugger.cpp
index 301271ad3c..066648b96f 100644
--- a/engines/kyra/debugger.cpp
+++ b/engines/kyra/debugger.cpp
@@ -23,18 +23,15 @@
*
*/
-
-#include "common/config-manager.h"
-#include "common/system.h"
#include "kyra/debugger.h"
#include "kyra/kyra_lok.h"
-#include "kyra/kyra_v2.h"
#include "kyra/kyra_hof.h"
-#include "kyra/screen.h"
#include "kyra/timer.h"
#include "kyra/resource.h"
#include "kyra/lol.h"
+#include "common/system.h"
+
namespace Kyra {
Debugger::Debugger(KyraEngine_v1 *vm)
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index 6c111a6601..87cda9f3b6 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -22,17 +22,17 @@
* $Id$
*/
-#include "kyra/kyra_v1.h"
#include "kyra/kyra_lok.h"
#include "kyra/lol.h"
#include "kyra/kyra_hof.h"
#include "kyra/kyra_mr.h"
-
#include "common/config-manager.h"
-#include "engines/advancedDetector.h"
+#include "common/system.h"
#include "common/savefile.h"
+#include "engines/advancedDetector.h"
+
#include "base/plugins.h"
struct KYRAGameDescription {
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp
index ff7bf233d2..849b65a24b 100644
--- a/engines/kyra/gui.cpp
+++ b/engines/kyra/gui.cpp
@@ -25,11 +25,11 @@
#include "kyra/gui.h"
-#include "kyra/screen.h"
#include "kyra/text.h"
#include "kyra/wsamovie.h"
#include "common/savefile.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/gui_hof.cpp b/engines/kyra/gui_hof.cpp
index 56971e563c..26e0d8f18a 100644
--- a/engines/kyra/gui_hof.cpp
+++ b/engines/kyra/gui_hof.cpp
@@ -23,15 +23,13 @@
*
*/
-#include "kyra/kyra_v1.h"
+#include "kyra/gui_hof.h"
#include "kyra/kyra_hof.h"
-#include "kyra/screen.h"
-#include "kyra/wsamovie.h"
#include "kyra/timer.h"
-#include "kyra/sound.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
-#include "common/savefile.h"
+#include "common/system.h"
#include "graphics/scaler.h"
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp
index 3560478a1b..c31cbe3db2 100644
--- a/engines/kyra/gui_lok.cpp
+++ b/engines/kyra/gui_lok.cpp
@@ -23,18 +23,13 @@
*
*/
+#include "kyra/gui_lok.h"
#include "kyra/kyra_lok.h"
-#include "kyra/screen.h"
-#include "kyra/script.h"
-#include "kyra/text.h"
#include "kyra/animator_lok.h"
-#include "kyra/sound.h"
-#include "kyra/gui_lok.h"
+#include "kyra/text.h"
#include "kyra/timer.h"
#include "kyra/util.h"
-#include "kyra/item.h"
-#include "common/config-manager.h"
#include "common/savefile.h"
#include "common/system.h"
diff --git a/engines/kyra/gui_lok.h b/engines/kyra/gui_lok.h
index e846933741..084a798de4 100644
--- a/engines/kyra/gui_lok.h
+++ b/engines/kyra/gui_lok.h
@@ -27,6 +27,7 @@
#define KYRA_GUI_LOK_H
#include "kyra/gui.h"
+#include "kyra/screen_lok.h"
namespace Kyra {
diff --git a/engines/kyra/gui_lol.cpp b/engines/kyra/gui_lol.cpp
index 07fbf1664d..2625347d50 100644
--- a/engines/kyra/gui_lol.cpp
+++ b/engines/kyra/gui_lol.cpp
@@ -25,13 +25,15 @@
#ifdef ENABLE_LOL
+#include "kyra/gui_lol.h"
#include "kyra/lol.h"
#include "kyra/screen_lol.h"
-#include "kyra/gui_lol.h"
#include "kyra/resource.h"
#include "kyra/util.h"
+#include "kyra/sound.h"
#include "common/savefile.h"
+#include "common/system.h"
#include "common/config-manager.h"
#include "graphics/scaler.h"
diff --git a/engines/kyra/gui_mr.cpp b/engines/kyra/gui_mr.cpp
index 6bdecfc3b8..6eca24fd46 100644
--- a/engines/kyra/gui_mr.cpp
+++ b/engines/kyra/gui_mr.cpp
@@ -26,12 +26,11 @@
#include "kyra/gui_mr.h"
#include "kyra/kyra_mr.h"
#include "kyra/text_mr.h"
-#include "kyra/wsamovie.h"
#include "kyra/resource.h"
-#include "kyra/sound.h"
#include "kyra/timer.h"
+#include "kyra/sound.h"
-#include "common/savefile.h"
+#include "common/system.h"
#include "graphics/scaler.h"
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp
index 2247a0ca2e..01922de7cf 100644
--- a/engines/kyra/gui_v2.cpp
+++ b/engines/kyra/gui_v2.cpp
@@ -24,12 +24,12 @@
*/
#include "kyra/gui_v2.h"
-#include "kyra/kyra_v2.h"
#include "kyra/screen_v2.h"
#include "kyra/text.h"
#include "kyra/util.h"
#include "common/savefile.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/items_hof.cpp b/engines/kyra/items_hof.cpp
index 6a78a77c23..d460698272 100644
--- a/engines/kyra/items_hof.cpp
+++ b/engines/kyra/items_hof.cpp
@@ -25,6 +25,8 @@
#include "kyra/kyra_hof.h"
+#include "common/system.h"
+
namespace Kyra {
int KyraEngine_HoF::checkItemCollision(int x, int y) {
diff --git a/engines/kyra/items_lok.cpp b/engines/kyra/items_lok.cpp
index 322314e3ad..ed1299d239 100644
--- a/engines/kyra/items_lok.cpp
+++ b/engines/kyra/items_lok.cpp
@@ -24,17 +24,9 @@
*/
#include "kyra/kyra_lok.h"
-#include "kyra/seqplayer.h"
-#include "kyra/screen.h"
-#include "kyra/resource.h"
-#include "kyra/sound.h"
-#include "kyra/sprites.h"
-#include "kyra/wsamovie.h"
#include "kyra/animator_lok.h"
-#include "kyra/text.h"
#include "common/system.h"
-#include "common/savefile.h"
namespace Kyra {
diff --git a/engines/kyra/items_mr.cpp b/engines/kyra/items_mr.cpp
index 2bc268ace3..5659876307 100644
--- a/engines/kyra/items_mr.cpp
+++ b/engines/kyra/items_mr.cpp
@@ -26,6 +26,8 @@
#include "kyra/kyra_mr.h"
#include "kyra/timer.h"
+#include "common/system.h"
+
namespace Kyra {
void KyraEngine_MR::removeTrashItems() {
diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp
index c73792ef8e..de6aa55b08 100644
--- a/engines/kyra/kyra_hof.cpp
+++ b/engines/kyra/kyra_hof.cpp
@@ -23,18 +23,13 @@
*
*/
-#include "kyra/kyra_v1.h"
#include "kyra/kyra_hof.h"
-#include "kyra/screen.h"
#include "kyra/resource.h"
-#include "kyra/wsamovie.h"
-#include "kyra/sound.h"
-#include "kyra/script.h"
-#include "kyra/script_tim.h"
#include "kyra/text_hof.h"
#include "kyra/timer.h"
#include "kyra/debugger.h"
#include "kyra/util.h"
+#include "kyra/sound.h"
#include "common/system.h"
#include "common/config-manager.h"
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp
index d7ec6ada71..a04c28cad8 100644
--- a/engines/kyra/kyra_lok.cpp
+++ b/engines/kyra/kyra_lok.cpp
@@ -24,26 +24,19 @@
*/
#include "kyra/kyra_lok.h"
-
-#include "common/file.h"
-#include "common/system.h"
-#include "common/savefile.h"
-#include "common/config-manager.h"
-#include "common/debug-channels.h"
-
-#include "gui/message.h"
-
#include "kyra/resource.h"
-#include "kyra/screen.h"
-#include "kyra/script.h"
#include "kyra/seqplayer.h"
-#include "kyra/sound.h"
#include "kyra/sprites.h"
-#include "kyra/wsamovie.h"
#include "kyra/animator_lok.h"
-#include "kyra/text.h"
#include "kyra/debugger.h"
#include "kyra/timer.h"
+#include "kyra/sound.h"
+
+#include "common/system.h"
+#include "common/config-manager.h"
+#include "common/debug-channels.h"
+
+#include "gui/message.h"
namespace Kyra {
diff --git a/engines/kyra/kyra_lok.h b/engines/kyra/kyra_lok.h
index d1ff24ad85..cfa231e2d0 100644
--- a/engines/kyra/kyra_lok.h
+++ b/engines/kyra/kyra_lok.h
@@ -32,6 +32,10 @@
#include "kyra/gui_lok.h"
#include "kyra/item.h"
+namespace Graphics {
+struct Surface;
+}
+
namespace Kyra {
class Movie;
diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp
index 65e78448a5..570ebe0bab 100644
--- a/engines/kyra/kyra_mr.cpp
+++ b/engines/kyra/kyra_mr.cpp
@@ -23,18 +23,15 @@
*
*/
-#include "kyra/kyra_v1.h"
#include "kyra/kyra_mr.h"
-#include "kyra/screen_mr.h"
#include "kyra/wsamovie.h"
-#include "kyra/sound.h"
#include "kyra/text_mr.h"
#include "kyra/vqa.h"
-#include "kyra/gui.h"
#include "kyra/timer.h"
#include "kyra/debugger.h"
#include "kyra/gui_mr.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
#include "common/system.h"
#include "common/config-manager.h"
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp
index 3a5d21196b..fb56e4a62a 100644
--- a/engines/kyra/kyra_v1.cpp
+++ b/engines/kyra/kyra_v1.cpp
@@ -23,22 +23,17 @@
*
*/
-#include "common/config-manager.h"
-#include "common/debug-channels.h"
-#include "common/EventRecorder.h"
-
-#include "audio/mididrv.h"
-#include "audio/mixer.h"
-
#include "kyra/kyra_v1.h"
#include "kyra/sound_intern.h"
#include "kyra/resource.h"
-#include "kyra/screen.h"
-#include "kyra/text.h"
#include "kyra/timer.h"
-#include "kyra/script.h"
#include "kyra/debugger.h"
+#include "common/error.h"
+#include "common/config-manager.h"
+#include "common/debug-channels.h"
+#include "common/EventRecorder.h"
+
namespace Kyra {
KyraEngine_v1::KyraEngine_v1(OSystem *system, const GameFlags &flags)
diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h
index cf51774b0f..08dc831dd9 100644
--- a/engines/kyra/kyra_v1.h
+++ b/engines/kyra/kyra_v1.h
@@ -29,10 +29,10 @@
#include "engines/engine.h"
#include "common/array.h"
+#include "common/error.h"
#include "common/events.h"
#include "common/random.h"
#include "common/hashmap.h"
-#include "common/system.h"
#include "audio/mixer.h"
@@ -44,6 +44,10 @@ class SeekableReadStream;
class WriteStream;
} // End of namespace Common
+namespace Graphics {
+struct Surface;
+}
+
class KyraMetaEngine;
/**
@@ -166,7 +170,6 @@ enum MusicDataID {
class Screen;
class Resource;
class Sound;
-class Movie;
class TextDisplayer;
class StaticResource;
class TimerManager;
@@ -247,7 +250,7 @@ protected:
Common::Error err;
registerDefaultSettings();
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index 804097c81d..16b5ffa4e8 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -23,11 +23,12 @@
*
*/
-#include "common/config-manager.h"
-
#include "kyra/kyra_v2.h"
#include "kyra/screen_v2.h"
-#include "kyra/debugger.h"
+
+#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 5928c40f92..ce73bffc89 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -28,17 +28,15 @@
#include "kyra/lol.h"
#include "kyra/screen_lol.h"
#include "kyra/resource.h"
-
-#include "kyra/sound.h"
#include "kyra/timer.h"
#include "kyra/util.h"
#include "kyra/debugger.h"
+#include "kyra/sound.h"
-#include "audio/decoders/voc.h"
#include "audio/audiostream.h"
#include "common/config-manager.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
@@ -591,7 +589,9 @@ Common::Error LoLEngine::go() {
if (action == 0) {
startupNew();
} else if (_gameToLoad != -1) {
- if (loadGameState(_gameToLoad) != Common::kNoError)
+ // FIXME: Instead of throwing away the error returned by
+ // loadGameState, we should use it / augment it.
+ if (loadGameState(_gameToLoad).getCode() != Common::kNoError)
error("Couldn't load game slot %d on startup", _gameToLoad);
_gameToLoad = -1;
}
@@ -918,7 +918,9 @@ void LoLEngine::runLoop() {
while (!shouldQuit() && _runFlag) {
if (_gameToLoad != -1) {
- if (loadGameState(_gameToLoad) != Common::kNoError)
+ // FIXME: Instead of throwing away the error returned by
+ // loadGameState, we should use it / augment it.
+ if (loadGameState(_gameToLoad).getCode() != Common::kNoError)
error("Couldn't load game slot %d", _gameToLoad);
_gameToLoad = -1;
}
diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h
index d24f3b427f..a3170c2193 100644
--- a/engines/kyra/lol.h
+++ b/engines/kyra/lol.h
@@ -31,12 +31,15 @@
#include "kyra/kyra_v1.h"
#include "kyra/script_tim.h"
#include "kyra/script.h"
-#include "kyra/sound.h"
#include "kyra/gui_lol.h"
#include "kyra/text_lol.h"
#include "common/list.h"
+namespace Audio {
+class SeekableAudioStream;
+} // End of namespace Audio
+
namespace Kyra {
class Screen_LoL;
diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp
index 63b8072654..22786c1c7e 100644
--- a/engines/kyra/resource.cpp
+++ b/engines/kyra/resource.cpp
@@ -27,11 +27,7 @@
#include "kyra/resource_intern.h"
#include "common/config-manager.h"
-#include "common/endian.h"
-#include "common/file.h"
#include "common/fs.h"
-#include "common/func.h"
-#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp
index 44579c3377..81b3ec15ae 100644
--- a/engines/kyra/saveload.cpp
+++ b/engines/kyra/saveload.cpp
@@ -23,15 +23,15 @@
*
*/
-#include "common/endian.h"
+#include "kyra/kyra_v1.h"
+#include "kyra/util.h"
+
#include "common/savefile.h"
#include "common/system.h"
+
#include "graphics/thumbnail.h"
#include "graphics/surface.h"
-#include "kyra/kyra_v1.h"
-#include "kyra/util.h"
-
#define CURRENT_SAVE_VERSION 16
#define GF_FLOPPY (1 << 0)
@@ -257,7 +257,9 @@ void KyraEngine_v1::checkAutosave() {
}
void KyraEngine_v1::loadGameStateCheck(int slot) {
- if (loadGameState(slot) != Common::kNoError) {
+ // FIXME: Instead of throwing away the error returned by
+ // loadGameState, we should use it / augment it.
+ if (loadGameState(slot).getCode() != Common::kNoError) {
const char *filename = getSavegameFilename(slot);
Common::String errorMessage = "Could not load savegame: '";
errorMessage += filename;
diff --git a/engines/kyra/saveload_hof.cpp b/engines/kyra/saveload_hof.cpp
index 7a487dcf7b..1fd6c0f3c8 100644
--- a/engines/kyra/saveload_hof.cpp
+++ b/engines/kyra/saveload_hof.cpp
@@ -23,17 +23,15 @@
*
*/
-#include "common/endian.h"
-#include "common/savefile.h"
-#include "common/substream.h"
-#include "common/system.h"
-
-#include "kyra/kyra_v2.h"
+#include "kyra/kyra_hof.h"
#include "kyra/screen_v2.h"
-#include "kyra/resource.h"
#include "kyra/sound.h"
#include "kyra/timer.h"
+#include "common/savefile.h"
+#include "common/substream.h"
+#include "common/system.h"
+
namespace Kyra {
Common::Error KyraEngine_HoF::saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumb) {
diff --git a/engines/kyra/saveload_lok.cpp b/engines/kyra/saveload_lok.cpp
index 012ff138b5..5af4f1d8ca 100644
--- a/engines/kyra/saveload_lok.cpp
+++ b/engines/kyra/saveload_lok.cpp
@@ -23,17 +23,14 @@
*
*/
-#include "common/endian.h"
-#include "common/savefile.h"
-#include "common/system.h"
-
#include "kyra/kyra_lok.h"
#include "kyra/animator_lok.h"
-#include "kyra/screen.h"
#include "kyra/resource.h"
#include "kyra/sound.h"
#include "kyra/timer.h"
+#include "common/savefile.h"
+
namespace Kyra {
Common::Error KyraEngine_LoK::loadGameState(int slot) {
diff --git a/engines/kyra/saveload_lol.cpp b/engines/kyra/saveload_lol.cpp
index b6c0693a16..c5240e2624 100644
--- a/engines/kyra/saveload_lol.cpp
+++ b/engines/kyra/saveload_lol.cpp
@@ -27,12 +27,9 @@
#include "kyra/lol.h"
#include "kyra/screen_lol.h"
-#include "kyra/resource.h"
-#include "common/endian.h"
#include "common/savefile.h"
#include "common/substream.h"
-#include "common/system.h"
#include "graphics/scaler.h"
diff --git a/engines/kyra/scene_hof.cpp b/engines/kyra/scene_hof.cpp
index 79827361a3..b44c88a0b4 100644
--- a/engines/kyra/scene_hof.cpp
+++ b/engines/kyra/scene_hof.cpp
@@ -24,12 +24,10 @@
*/
#include "kyra/kyra_hof.h"
-#include "kyra/screen_v2.h"
#include "kyra/sound.h"
-#include "kyra/wsamovie.h"
#include "kyra/resource.h"
-#include "common/func.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/scene_lok.cpp b/engines/kyra/scene_lok.cpp
index 3abfe03fff..6200e2ab1e 100644
--- a/engines/kyra/scene_lok.cpp
+++ b/engines/kyra/scene_lok.cpp
@@ -24,19 +24,13 @@
*/
#include "kyra/kyra_lok.h"
-#include "kyra/seqplayer.h"
-#include "kyra/screen.h"
#include "kyra/resource.h"
#include "kyra/sound.h"
#include "kyra/sprites.h"
-#include "kyra/wsamovie.h"
#include "kyra/animator_lok.h"
-#include "kyra/text.h"
-#include "kyra/script.h"
#include "kyra/timer.h"
#include "common/system.h"
-#include "common/savefile.h"
namespace Kyra {
diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp
index e070b91a44..ab9f89456b 100644
--- a/engines/kyra/scene_lol.cpp
+++ b/engines/kyra/scene_lol.cpp
@@ -29,9 +29,9 @@
#include "kyra/screen_lol.h"
#include "kyra/resource.h"
#include "kyra/timer.h"
-#include "kyra/sound.h"
#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/scene_mr.cpp b/engines/kyra/scene_mr.cpp
index acb0710616..4eac4889b6 100644
--- a/engines/kyra/scene_mr.cpp
+++ b/engines/kyra/scene_mr.cpp
@@ -25,10 +25,11 @@
#include "kyra/kyra_mr.h"
#include "kyra/screen_mr.h"
-#include "kyra/wsamovie.h"
#include "kyra/sound.h"
#include "kyra/resource.h"
+#include "common/system.h"
+
namespace Kyra {
void KyraEngine_MR::enterNewScene(uint16 sceneId, int facing, int unk1, int unk2, int unk3) {
diff --git a/engines/kyra/scene_v1.cpp b/engines/kyra/scene_v1.cpp
index 848735b4a5..bc88377892 100644
--- a/engines/kyra/scene_v1.cpp
+++ b/engines/kyra/scene_v1.cpp
@@ -24,7 +24,6 @@
*/
#include "kyra/kyra_v1.h"
-#include "kyra/screen.h"
namespace Kyra {
diff --git a/engines/kyra/scene_v2.cpp b/engines/kyra/scene_v2.cpp
index fdfbceb521..897f2e937f 100644
--- a/engines/kyra/scene_v2.cpp
+++ b/engines/kyra/scene_v2.cpp
@@ -24,7 +24,8 @@
*/
#include "kyra/kyra_v2.h"
-#include "kyra/screen.h"
+
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 58d8e7f3d4..20a1022b26 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "kyra/screen.h"
+#include "kyra/kyra_v1.h"
+#include "kyra/resource.h"
#include "common/endian.h"
#include "common/memstream.h"
@@ -31,12 +34,9 @@
#include "engines/util.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "graphics/sjis.h"
-#include "kyra/screen.h"
-#include "kyra/kyra_v1.h"
-#include "kyra/resource.h"
-
namespace Kyra {
Screen::Screen(KyraEngine_v1 *vm, OSystem *system)
diff --git a/engines/kyra/screen_hof.cpp b/engines/kyra/screen_hof.cpp
index a180c28442..f0af53f024 100644
--- a/engines/kyra/screen_hof.cpp
+++ b/engines/kyra/screen_hof.cpp
@@ -23,10 +23,8 @@
*
*/
-#include "common/endian.h"
-
-#include "kyra/kyra_hof.h"
#include "kyra/screen_hof.h"
+#include "kyra/kyra_hof.h"
namespace Kyra {
diff --git a/engines/kyra/screen_lok.cpp b/engines/kyra/screen_lok.cpp
index 227349754f..2431cde20b 100644
--- a/engines/kyra/screen_lok.cpp
+++ b/engines/kyra/screen_lok.cpp
@@ -23,10 +23,12 @@
*
*/
-#include "kyra/kyra_lok.h"
#include "kyra/screen_lok.h"
+#include "kyra/kyra_lok.h"
+
+#include "common/system.h"
-#include "graphics/cursorman.h"
+#include "graphics/palette.h"
namespace Kyra {
diff --git a/engines/kyra/screen_lol.cpp b/engines/kyra/screen_lol.cpp
index ff35facbb5..20756e1fae 100644
--- a/engines/kyra/screen_lol.cpp
+++ b/engines/kyra/screen_lol.cpp
@@ -27,7 +27,10 @@
#include "kyra/screen_lol.h"
#include "kyra/lol.h"
-#include "kyra/resource.h"
+
+#include "common/system.h"
+
+#include "graphics/palette.h"
namespace Kyra {
diff --git a/engines/kyra/screen_mr.cpp b/engines/kyra/screen_mr.cpp
index 33bfc517f7..4ae52b924d 100644
--- a/engines/kyra/screen_mr.cpp
+++ b/engines/kyra/screen_mr.cpp
@@ -24,7 +24,6 @@
*/
#include "kyra/screen_mr.h"
-
#include "kyra/kyra_mr.h"
namespace Kyra {
diff --git a/engines/kyra/script.cpp b/engines/kyra/script.cpp
index 956bf39b5a..21dfe0bd31 100644
--- a/engines/kyra/script.cpp
+++ b/engines/kyra/script.cpp
@@ -23,15 +23,11 @@
*
*/
-
-#include "common/endian.h"
-#include "common/stream.h"
-#include "common/util.h"
-#include "common/system.h"
-
+#include "kyra/script.h"
#include "kyra/kyra_v1.h"
#include "kyra/resource.h"
-#include "kyra/script.h"
+
+#include "common/endian.h"
namespace Kyra {
EMCInterpreter::EMCInterpreter(KyraEngine_v1 *vm) : _vm(vm), _scriptData(0), _filename(0) {
diff --git a/engines/kyra/script_hof.cpp b/engines/kyra/script_hof.cpp
index d57bb7efc5..056319e6d4 100644
--- a/engines/kyra/script_hof.cpp
+++ b/engines/kyra/script_hof.cpp
@@ -24,14 +24,11 @@
*/
#include "kyra/kyra_hof.h"
-#include "kyra/text_hof.h"
-#include "kyra/wsamovie.h"
-#include "kyra/sound.h"
#include "kyra/timer.h"
-#include "kyra/script_tim.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/script_lok.cpp b/engines/kyra/script_lok.cpp
index a2bad8035e..30f1138360 100644
--- a/engines/kyra/script_lok.cpp
+++ b/engines/kyra/script_lok.cpp
@@ -23,12 +23,7 @@
*
*/
-#include "common/endian.h"
-#include "common/system.h"
-
#include "kyra/kyra_lok.h"
-#include "kyra/script.h"
-#include "kyra/screen.h"
#include "kyra/sprites.h"
#include "kyra/wsamovie.h"
#include "kyra/animator_lok.h"
@@ -36,6 +31,8 @@
#include "kyra/timer.h"
#include "kyra/sound.h"
+#include "common/system.h"
+
namespace Kyra {
int KyraEngine_LoK::o1_magicInMouseItem(EMCState *script) {
diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp
index c9fb8df1fb..3185032218 100644
--- a/engines/kyra/script_lol.cpp
+++ b/engines/kyra/script_lol.cpp
@@ -29,8 +29,9 @@
#include "kyra/screen_lol.h"
#include "kyra/timer.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/script_mr.cpp b/engines/kyra/script_mr.cpp
index 18878b6543..b3943e1aef 100644
--- a/engines/kyra/script_mr.cpp
+++ b/engines/kyra/script_mr.cpp
@@ -24,14 +24,10 @@
*/
#include "kyra/kyra_mr.h"
-#include "kyra/script.h"
-#include "kyra/screen_mr.h"
#include "kyra/text_mr.h"
-#include "kyra/wsamovie.h"
-#include "kyra/timer.h"
#include "kyra/resource.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp
index 1e978caf15..004ceb97bb 100644
--- a/engines/kyra/script_tim.cpp
+++ b/engines/kyra/script_tim.cpp
@@ -24,10 +24,8 @@
*/
#include "kyra/script_tim.h"
-#include "kyra/script.h"
#include "kyra/resource.h"
#include "kyra/sound.h"
-#include "kyra/wsamovie.h"
#ifdef ENABLE_LOL
#include "kyra/lol.h"
@@ -35,7 +33,7 @@
#endif // ENABLE_LOL
#include "common/iff_container.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/script_tim.h b/engines/kyra/script_tim.h
index 91f2e8589e..7cf7d0a7dd 100644
--- a/engines/kyra/script_tim.h
+++ b/engines/kyra/script_tim.h
@@ -36,6 +36,7 @@ namespace Kyra {
class WSAMovie_v2;
class Screen_v2;
+class Movie;
class LoLEngine;
class TimAnimator {
diff --git a/engines/kyra/script_v1.cpp b/engines/kyra/script_v1.cpp
index 12f26ec5f6..13fdcb7d97 100644
--- a/engines/kyra/script_v1.cpp
+++ b/engines/kyra/script_v1.cpp
@@ -26,6 +26,8 @@
#include "kyra/kyra_v1.h"
#include "kyra/screen.h"
+#include "common/system.h"
+
namespace Kyra {
int KyraEngine_v1::o1_queryGameFlag(EMCState *script) {
diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp
index 17e882398e..081f9dd517 100644
--- a/engines/kyra/script_v2.cpp
+++ b/engines/kyra/script_v2.cpp
@@ -27,7 +27,7 @@
#include "kyra/screen_v2.h"
#include "kyra/timer.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/seqplayer.cpp b/engines/kyra/seqplayer.cpp
index 5160224591..16e89de146 100644
--- a/engines/kyra/seqplayer.cpp
+++ b/engines/kyra/seqplayer.cpp
@@ -23,18 +23,11 @@
*
*/
-
-#include "common/system.h"
-
-#include "engines/engine.h"
-
+#include "kyra/seqplayer.h"
#include "kyra/resource.h"
-#include "kyra/screen.h"
#include "kyra/sound.h"
-#include "kyra/wsamovie.h"
-#include "kyra/text.h"
-#include "kyra/seqplayer.h"
+#include "common/system.h"
#define SEQOP(n, x) { n, &SeqPlayer::x, #x }
diff --git a/engines/kyra/sequences_hof.cpp b/engines/kyra/sequences_hof.cpp
index c55153b802..b268f13fc1 100644
--- a/engines/kyra/sequences_hof.cpp
+++ b/engines/kyra/sequences_hof.cpp
@@ -23,14 +23,10 @@
*
*/
-#include "kyra/kyra_v1.h"
#include "kyra/kyra_hof.h"
-#include "kyra/screen.h"
-#include "kyra/wsamovie.h"
-#include "kyra/sound.h"
-#include "kyra/text_hof.h"
#include "kyra/timer.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
#include "common/system.h"
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index 23af24064d..0b39201f85 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -25,14 +25,12 @@
#include "kyra/kyra_lok.h"
#include "kyra/seqplayer.h"
-#include "kyra/screen_lok.h"
#include "kyra/resource.h"
-#include "kyra/sound.h"
#include "kyra/sprites.h"
#include "kyra/wsamovie.h"
#include "kyra/animator_lok.h"
-#include "kyra/text.h"
#include "kyra/timer.h"
+#include "kyra/sound.h"
#include "common/system.h"
#include "common/savefile.h"
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp
index e8ea7a9dcb..da1245d7e6 100644
--- a/engines/kyra/sequences_lol.cpp
+++ b/engines/kyra/sequences_lol.cpp
@@ -28,9 +28,12 @@
#include "kyra/lol.h"
#include "kyra/screen_lol.h"
#include "kyra/resource.h"
+#include "kyra/sound.h"
#include "base/version.h"
+#include "common/system.h"
+
namespace Kyra {
#pragma mark - Intro
diff --git a/engines/kyra/sequences_v2.cpp b/engines/kyra/sequences_v2.cpp
index 3824676213..4d9cdf0d5d 100644
--- a/engines/kyra/sequences_v2.cpp
+++ b/engines/kyra/sequences_v2.cpp
@@ -26,6 +26,8 @@
#include "kyra/kyra_v2.h"
#include "kyra/resource.h"
+#include "common/system.h"
+
namespace Kyra {
void KyraEngine_v2::runAnimationScript(const char *filename, int allowSkip, int resetChar, int newShapes, int shapeUnload) {
diff --git a/engines/kyra/sound.cpp b/engines/kyra/sound.cpp
index 9dd046e50b..1392824235 100644
--- a/engines/kyra/sound.cpp
+++ b/engines/kyra/sound.cpp
@@ -24,19 +24,16 @@
*/
-#include "common/system.h"
-#include "common/config-manager.h"
-
-#include "kyra/resource.h"
#include "kyra/sound.h"
+#include "kyra/resource.h"
#include "audio/mixer.h"
-#include "audio/decoders/voc.h"
#include "audio/audiostream.h"
#include "audio/decoders/flac.h"
#include "audio/decoders/mp3.h"
#include "audio/decoders/raw.h"
+#include "audio/decoders/voc.h"
#include "audio/decoders/vorbis.h"
namespace Kyra {
diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp
index e2654afe12..16f6ca3eaa 100644
--- a/engines/kyra/sound_adlib.cpp
+++ b/engines/kyra/sound_adlib.cpp
@@ -40,10 +40,11 @@
*/
+#include "kyra/sound_intern.h"
+#include "kyra/resource.h"
+
#include "common/system.h"
#include "common/mutex.h"
-#include "kyra/resource.h"
-#include "kyra/sound_intern.h"
#include "audio/mixer.h"
#include "audio/fmopl.h"
diff --git a/engines/kyra/sound_amiga.cpp b/engines/kyra/sound_amiga.cpp
index c5e9f6171d..fed21eba84 100644
--- a/engines/kyra/sound_amiga.cpp
+++ b/engines/kyra/sound_amiga.cpp
@@ -23,14 +23,11 @@
*
*/
-#include "common/system.h"
-#include "common/mutex.h"
-#include "kyra/resource.h"
#include "kyra/sound_intern.h"
+#include "kyra/resource.h"
#include "audio/mixer.h"
#include "audio/mods/maxtrax.h"
-#include "audio/audiostream.h"
namespace Kyra {
diff --git a/engines/kyra/sound_lok.cpp b/engines/kyra/sound_lok.cpp
index 40daa0b5bd..83566372bf 100644
--- a/engines/kyra/sound_lok.cpp
+++ b/engines/kyra/sound_lok.cpp
@@ -23,8 +23,10 @@
*
*/
-#include "kyra/sound.h"
#include "kyra/kyra_lok.h"
+#include "kyra/sound.h"
+
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/sound_lol.cpp b/engines/kyra/sound_lol.cpp
index 87679f5bfb..10d35e03d5 100644
--- a/engines/kyra/sound_lol.cpp
+++ b/engines/kyra/sound_lol.cpp
@@ -25,10 +25,12 @@
#ifdef ENABLE_LOL
-#include "kyra/sound.h"
#include "kyra/lol.h"
+#include "kyra/sound.h"
#include "kyra/resource.h"
+#include "common/system.h"
+
#include "audio/audiostream.h"
namespace Kyra {
diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp
index 084bae5aab..6b30824a2f 100644
--- a/engines/kyra/sound_towns.cpp
+++ b/engines/kyra/sound_towns.cpp
@@ -23,20 +23,17 @@
*
*/
+#include "kyra/sound_intern.h"
+#include "kyra/resource.h"
+
#include "common/config-manager.h"
#include "common/system.h"
-#include "kyra/resource.h"
-#include "kyra/sound_intern.h"
-#include "kyra/screen.h"
-
#include "backends/audiocd/audiocd.h"
#include "audio/audiostream.h"
#include "audio/decoders/raw.h"
-#include "common/util.h"
-
namespace Kyra {
SoundTowns::SoundTowns(KyraEngine_v1 *vm, Audio::Mixer *mixer)
diff --git a/engines/kyra/sprites.cpp b/engines/kyra/sprites.cpp
index 52689869c6..23775d2946 100644
--- a/engines/kyra/sprites.cpp
+++ b/engines/kyra/sprites.cpp
@@ -23,19 +23,13 @@
*
*/
-
-#include "common/endian.h"
-#include "common/stream.h"
-#include "common/util.h"
-#include "common/system.h"
-#include "common/EventRecorder.h"
-
-#include "kyra/screen.h"
-#include "kyra/kyra_lok.h"
#include "kyra/sprites.h"
#include "kyra/resource.h"
#include "kyra/animator_lok.h"
+#include "common/system.h"
+#include "common/EventRecorder.h"
+
namespace Kyra {
Sprites::Sprites(KyraEngine_LoK *vm, OSystem *system) {
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index fe4bd2ad71..f83546e0dd 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -23,23 +23,22 @@
*
*/
-#include "common/endian.h"
-#include "common/md5.h"
-#include "kyra/kyra_v1.h"
+#include "kyra/resource.h"
#include "kyra/kyra_lok.h"
-#include "kyra/kyra_v2.h"
#include "kyra/kyra_hof.h"
#include "kyra/kyra_mr.h"
#include "kyra/screen.h"
#include "kyra/screen_lok.h"
#include "kyra/screen_hof.h"
#include "kyra/screen_mr.h"
-#include "kyra/resource.h"
#include "kyra/gui_lok.h"
#include "kyra/gui_hof.h"
#include "kyra/gui_mr.h"
#include "kyra/sound_intern.h"
+#include "common/endian.h"
+#include "common/md5.h"
+
namespace Kyra {
#define RESFILE_VERSION 73
diff --git a/engines/kyra/text.cpp b/engines/kyra/text.cpp
index 09f952f67e..e0114cda29 100644
--- a/engines/kyra/text.cpp
+++ b/engines/kyra/text.cpp
@@ -23,12 +23,8 @@
*
*/
-#include "kyra/kyra_v1.h"
-#include "kyra/screen.h"
#include "kyra/text.h"
-
-#include "common/system.h"
-#include "common/endian.h"
+#include "kyra/kyra_v1.h"
namespace Kyra {
diff --git a/engines/kyra/text_hof.cpp b/engines/kyra/text_hof.cpp
index 4c292b70db..c961d2bf49 100644
--- a/engines/kyra/text_hof.cpp
+++ b/engines/kyra/text_hof.cpp
@@ -24,11 +24,9 @@
*/
#include "kyra/text_hof.h"
-#include "kyra/kyra_hof.h"
-#include "kyra/script_tim.h"
#include "kyra/resource.h"
-#include "common/endian.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/text_lok.cpp b/engines/kyra/text_lok.cpp
index 40f2217a2b..cca8e5aaf5 100644
--- a/engines/kyra/text_lok.cpp
+++ b/engines/kyra/text_lok.cpp
@@ -23,13 +23,14 @@
*
*/
-#include "kyra/kyra_lok.h"
-#include "kyra/screen_lok.h"
#include "kyra/text.h"
+#include "kyra/kyra_lok.h"
#include "kyra/animator_lok.h"
#include "kyra/sprites.h"
#include "kyra/timer.h"
+#include "common/system.h"
+
namespace Kyra {
void KyraEngine_LoK::waitForChatToFinish(int vocFile, int16 chatDuration, const char *chatStr, uint8 charNum, const bool printText) {
diff --git a/engines/kyra/text_lol.cpp b/engines/kyra/text_lol.cpp
index 9f98586303..c9a77be1b2 100644
--- a/engines/kyra/text_lol.cpp
+++ b/engines/kyra/text_lol.cpp
@@ -25,10 +25,13 @@
#ifdef ENABLE_LOL
+#include "kyra/text_lol.h"
#include "kyra/lol.h"
#include "kyra/screen_lol.h"
#include "kyra/timer.h"
-#include "kyra/util.h"
+#include "kyra/sound.h"
+
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/text_lol.h b/engines/kyra/text_lol.h
index 1e5bc8884e..edac131106 100644
--- a/engines/kyra/text_lol.h
+++ b/engines/kyra/text_lol.h
@@ -28,9 +28,11 @@
#ifndef KYRA_TEXT_LOL_H
#define KYRA_TEXT_LOL_H
+#include "common/scummsys.h"
+
namespace Kyra {
-class Screen_v2;
+class Screen_LoL;
class LoLEngine;
struct EMCState;
diff --git a/engines/kyra/text_mr.cpp b/engines/kyra/text_mr.cpp
index 001faab016..5679dc1ee6 100644
--- a/engines/kyra/text_mr.cpp
+++ b/engines/kyra/text_mr.cpp
@@ -24,9 +24,10 @@
*/
#include "kyra/text_mr.h"
-#include "kyra/screen_mr.h"
#include "kyra/resource.h"
+#include "common/system.h"
+
namespace Kyra {
TextDisplayer_MR::TextDisplayer_MR(KyraEngine_MR *vm, Screen_MR *screen)
diff --git a/engines/kyra/timer.cpp b/engines/kyra/timer.cpp
index 66b78d3c03..475f17cadc 100644
--- a/engines/kyra/timer.cpp
+++ b/engines/kyra/timer.cpp
@@ -23,11 +23,9 @@
*
*/
-#include "kyra/kyra_v1.h"
#include "kyra/timer.h"
-#include "common/func.h"
-#include "common/stream.h"
+#include "common/system.h"
namespace Kyra {
diff --git a/engines/kyra/timer_lok.cpp b/engines/kyra/timer_lok.cpp
index 85b98be724..3a312c22c6 100644
--- a/engines/kyra/timer_lok.cpp
+++ b/engines/kyra/timer_lok.cpp
@@ -23,14 +23,10 @@
*
*/
-#include "kyra/kyra_v1.h"
#include "kyra/kyra_lok.h"
-#include "kyra/screen.h"
#include "kyra/animator_lok.h"
#include "kyra/timer.h"
-#include "common/system.h"
-
namespace Kyra {
#define TimerV1(x) new Common::Functor1Mem<int, void, KyraEngine_LoK>(this, &KyraEngine_LoK::x)
diff --git a/engines/kyra/timer_lol.cpp b/engines/kyra/timer_lol.cpp
index 90cfc1af78..a3dab365c7 100644
--- a/engines/kyra/timer_lol.cpp
+++ b/engines/kyra/timer_lol.cpp
@@ -26,9 +26,10 @@
#ifdef ENABLE_LOL
#include "kyra/lol.h"
-#include "kyra/screen_lol.h"
#include "kyra/timer.h"
+#include "common/system.h"
+
namespace Kyra {
#define TimerV2(x) new Common::Functor1Mem<int, void, LoLEngine>(this, &LoLEngine::x)
diff --git a/engines/kyra/timer_mr.cpp b/engines/kyra/timer_mr.cpp
index 0d89decf5a..97ce7c166d 100644
--- a/engines/kyra/timer_mr.cpp
+++ b/engines/kyra/timer_mr.cpp
@@ -26,6 +26,8 @@
#include "kyra/kyra_mr.h"
#include "kyra/timer.h"
+#include "common/system.h"
+
namespace Kyra {
#define TimerV3(x) new Common::Functor1Mem<int, void, KyraEngine_MR>(this, &KyraEngine_MR::x)
diff --git a/engines/kyra/vqa.cpp b/engines/kyra/vqa.cpp
index b3371793de..28071bc171 100644
--- a/engines/kyra/vqa.cpp
+++ b/engines/kyra/vqa.cpp
@@ -33,16 +33,14 @@
#include "kyra/vqa.h"
+#include "kyra/resource.h"
#include "common/system.h"
+
#include "audio/audiostream.h"
#include "audio/mixer.h"
#include "audio/decoders/raw.h"
-#include "kyra/sound.h"
-#include "kyra/screen.h"
-#include "kyra/resource.h"
-
namespace Kyra {
VQAMovie::VQAMovie(KyraEngine_v1 *vm, OSystem *system) {
diff --git a/engines/kyra/wsamovie.cpp b/engines/kyra/wsamovie.cpp
index c9536484a3..db324d48d4 100644
--- a/engines/kyra/wsamovie.cpp
+++ b/engines/kyra/wsamovie.cpp
@@ -23,18 +23,13 @@
*
*/
-
-#include "common/endian.h"
-#include "common/system.h"
-
-#include "kyra/kyra_v1.h"
-#include "kyra/kyra_v2.h"
-#include "kyra/screen.h"
-#include "kyra/screen_v2.h"
#include "kyra/wsamovie.h"
#include "kyra/resource.h"
+#include "common/endian.h"
+
namespace Kyra {
+
WSAMovie_v1::WSAMovie_v1(KyraEngine_v1 *vm)
: Movie(vm), _frameData(0), _frameOffsTable(0), _offscreenBuffer(0), _deltaBuffer(0) {
}
diff --git a/engines/kyra/wsamovie.h b/engines/kyra/wsamovie.h
index d2c041742a..f755cdd557 100644
--- a/engines/kyra/wsamovie.h
+++ b/engines/kyra/wsamovie.h
@@ -26,10 +26,10 @@
#ifndef KYRA_WSAMOVIE_H
#define KYRA_WSAMOVIE_H
+#include "kyra/kyra_v1.h"
+
namespace Kyra {
-class KyraEngine_v1;
-class Screen_v2;
class Palette;
class Movie {
diff --git a/engines/lastexpress/data/animation.cpp b/engines/lastexpress/data/animation.cpp
index 11e4b4d290..2bf9bd4999 100644
--- a/engines/lastexpress/data/animation.cpp
+++ b/engines/lastexpress/data/animation.cpp
@@ -35,7 +35,10 @@
#include "common/events.h"
#include "common/rational.h"
+#include "common/rect.h"
#include "common/stream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "engines/engine.h"
diff --git a/engines/lastexpress/data/archive.h b/engines/lastexpress/data/archive.h
index 3860245bc5..17b1d661fa 100644
--- a/engines/lastexpress/data/archive.h
+++ b/engines/lastexpress/data/archive.h
@@ -39,6 +39,9 @@
*/
#include "common/archive.h"
+#include "common/hash-str.h"
+#include "common/hashmap.h"
+#include "common/str.h"
namespace LastExpress {
diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp
index 8b0d338f64..e8236bca86 100644
--- a/engines/lastexpress/data/background.cpp
+++ b/engines/lastexpress/data/background.cpp
@@ -31,6 +31,7 @@
#include "lastexpress/debug.h"
+#include "common/rect.h"
#include "common/stream.h"
namespace LastExpress {
diff --git a/engines/lastexpress/data/font.cpp b/engines/lastexpress/data/font.cpp
index 99239606ab..d9acbb8382 100644
--- a/engines/lastexpress/data/font.cpp
+++ b/engines/lastexpress/data/font.cpp
@@ -25,8 +25,10 @@
#include "lastexpress/data/font.h"
+#include "common/rect.h"
#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/data/font.h b/engines/lastexpress/data/font.h
index d49db35ba5..7bcf03ed7d 100644
--- a/engines/lastexpress/data/font.h
+++ b/engines/lastexpress/data/font.h
@@ -39,10 +39,12 @@
byte {x} - Unknown data (probably just garbage)
*/
+#include "common/str.h"
#include "graphics/surface.h"
namespace Common {
class SeekableReadStream;
+struct Rect;
}
namespace LastExpress {
diff --git a/engines/lastexpress/data/scene.cpp b/engines/lastexpress/data/scene.cpp
index 5a943982c4..e893d641a5 100644
--- a/engines/lastexpress/data/scene.cpp
+++ b/engines/lastexpress/data/scene.cpp
@@ -31,6 +31,7 @@
#include "lastexpress/lastexpress.h"
#include "lastexpress/resource.h"
+#include "common/textconsole.h"
#include "common/stream.h"
namespace LastExpress {
diff --git a/engines/lastexpress/data/scene.h b/engines/lastexpress/data/scene.h
index 7fc9425f28..9ec1899402 100644
--- a/engines/lastexpress/data/scene.h
+++ b/engines/lastexpress/data/scene.h
@@ -72,9 +72,15 @@
#include "lastexpress/shared.h"
#include "common/array.h"
+#include "common/rect.h"
namespace Common {
class SeekableReadStream;
+class String;
+}
+
+namespace Graphics {
+struct Surface;
}
namespace LastExpress {
diff --git a/engines/lastexpress/data/sequence.cpp b/engines/lastexpress/data/sequence.cpp
index fe694187a4..b986a33d5c 100644
--- a/engines/lastexpress/data/sequence.cpp
+++ b/engines/lastexpress/data/sequence.cpp
@@ -30,6 +30,7 @@
#include "lastexpress/debug.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/data/sequence.h b/engines/lastexpress/data/sequence.h
index 7ad0a57254..cd16f26ab2 100644
--- a/engines/lastexpress/data/sequence.h
+++ b/engines/lastexpress/data/sequence.h
@@ -77,6 +77,8 @@
#include "lastexpress/shared.h"
#include "common/array.h"
+#include "common/rect.h"
+#include "common/str.h"
namespace Common {
class SeekableReadStream;
diff --git a/engines/lastexpress/data/snd.cpp b/engines/lastexpress/data/snd.cpp
index bd2320726a..a50fa7be08 100644
--- a/engines/lastexpress/data/snd.cpp
+++ b/engines/lastexpress/data/snd.cpp
@@ -30,12 +30,48 @@
#include "lastexpress/debug.h"
-#include "audio/decoders/adpcm.h"
+#include "audio/decoders/adpcm_intern.h"
#include "audio/audiostream.h"
+#include "common/debug.h"
#include "common/memstream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
namespace LastExpress {
+// Last Express ADPCM is similar to MS IMA mono, but inverts its nibbles
+// and does not have the 4 byte per channel requirement
+
+class LastExpress_ADPCMStream : public Audio::Ima_ADPCMStream {
+public:
+ LastExpress_ADPCMStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, uint32 size, uint32 blockSize) :
+ Audio::Ima_ADPCMStream(stream, disposeAfterUse, size, 44100, 1, blockSize) {}
+
+ int readBuffer(int16 *buffer, const int numSamples) {
+ int samples = 0;
+
+ assert(numSamples % 2 == 0);
+
+ while (samples < numSamples && !_stream->eos() && _stream->pos() < _endpos) {
+ if (_blockPos[0] == _blockAlign) {
+ // read block header
+ _status.ima_ch[0].last = _stream->readSint16LE();
+ _status.ima_ch[0].stepIndex = _stream->readSint16LE();
+ _blockPos[0] = 4;
+ }
+
+ for (; samples < numSamples && _blockPos[0] < _blockAlign && !_stream->eos() && _stream->pos() < _endpos; samples += 2) {
+ byte data = _stream->readByte();
+ _blockPos[0]++;
+ buffer[samples] = decodeIMA((data >> 4) & 0x0f);
+ buffer[samples + 1] = decodeIMA(data & 0x0f);
+ }
+ }
+
+ return samples;
+ }
+};
+
//////////////////////////////////////////////////////////////////////////
// Sound
//////////////////////////////////////////////////////////////////////////
@@ -60,7 +96,7 @@ void SimpleSound::loadHeader(Common::SeekableReadStream *in) {
}
Audio::AudioStream *SimpleSound::makeDecoder(Common::SeekableReadStream *in, uint32 size) const {
- return Audio::makeADPCMStream(in, DisposeAfterUse::YES, size, Audio::kADPCMMSImaLastExpress, 44100, 1, _blockSize);
+ return new LastExpress_ADPCMStream(in, DisposeAfterUse::YES, size, _blockSize);
}
void SimpleSound::play(Audio::AudioStream *as) {
diff --git a/engines/lastexpress/data/snd.h b/engines/lastexpress/data/snd.h
index 2d28404f42..61d1c0951a 100644
--- a/engines/lastexpress/data/snd.h
+++ b/engines/lastexpress/data/snd.h
@@ -42,8 +42,8 @@
#include "audio/mixer.h"
namespace Audio {
- class AudioStream;
- class QueuingAudioStream;
+class AudioStream;
+class QueuingAudioStream;
}
namespace Common {
diff --git a/engines/lastexpress/data/subtitle.cpp b/engines/lastexpress/data/subtitle.cpp
index 953edd1d1a..2bc5d3c5ad 100644
--- a/engines/lastexpress/data/subtitle.cpp
+++ b/engines/lastexpress/data/subtitle.cpp
@@ -33,7 +33,9 @@
#include "lastexpress/debug.h"
#include "common/debug.h"
+#include "common/rect.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index ccef312cd6..8c6cc2bafc 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -35,6 +35,7 @@
#include "common/array.h"
#include "common/func.h"
#include "common/serializer.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/game/state.h b/engines/lastexpress/game/state.h
index d97ebc1b55..4196bfe06a 100644
--- a/engines/lastexpress/game/state.h
+++ b/engines/lastexpress/game/state.h
@@ -28,8 +28,10 @@
#include "lastexpress/shared.h"
+#include "common/rect.h"
#include "common/serializer.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/graphics.cpp b/engines/lastexpress/graphics.cpp
index 6c862ebc1e..c45baba808 100644
--- a/engines/lastexpress/graphics.cpp
+++ b/engines/lastexpress/graphics.cpp
@@ -25,7 +25,9 @@
#include "lastexpress/graphics.h"
+#include "common/rect.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lastexpress/resource.cpp b/engines/lastexpress/resource.cpp
index 5a77b23602..dff686a503 100644
--- a/engines/lastexpress/resource.cpp
+++ b/engines/lastexpress/resource.cpp
@@ -34,6 +34,7 @@
#include "common/debug.h"
#include "common/file.h"
+#include "common/textconsole.h"
namespace LastExpress {
diff --git a/engines/lure/disk.h b/engines/lure/disk.h
index d2848cc587..79aaf80bbc 100644
--- a/engines/lure/disk.h
+++ b/engines/lure/disk.h
@@ -33,7 +33,7 @@
#include "lure/res_struct.h"
namespace Common {
- class File;
+class File;
}
namespace Lure {
diff --git a/engines/lure/lure.h b/engines/lure/lure.h
index 99e9e3d93e..52b785a09a 100644
--- a/engines/lure/lure.h
+++ b/engines/lure/lure.h
@@ -98,7 +98,7 @@ public:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/lure/memory.cpp b/engines/lure/memory.cpp
index f96b5015bc..d3d5067cce 100644
--- a/engines/lure/memory.cpp
+++ b/engines/lure/memory.cpp
@@ -25,6 +25,7 @@
#include "lure/memory.h"
#include "common/file.h"
+#include "common/textconsole.h"
namespace Lure {
diff --git a/engines/lure/menu.cpp b/engines/lure/menu.cpp
index c4654c3e93..f9a78d8fc8 100644
--- a/engines/lure/menu.cpp
+++ b/engines/lure/menu.cpp
@@ -34,7 +34,7 @@
#include "lure/events.h"
#include "lure/lure.h"
-#if defined(_WIN32_WCE) || defined(__SYMBIAN32__)
+#if defined(_WIN32_WCE) || defined(__SYMBIAN32__) || defined(WEBOS)
#define LURE_CLICKABLE_MENUS
#endif
diff --git a/engines/lure/res_struct.h b/engines/lure/res_struct.h
index 6e2c11cb24..58ee3f4c02 100644
--- a/engines/lure/res_struct.h
+++ b/engines/lure/res_struct.h
@@ -27,9 +27,11 @@
#define LURE_RESSTRUCT_H
#include "lure/luredefs.h"
+#include "common/rect.h"
#include "common/list.h"
#include "common/file.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
namespace Lure {
diff --git a/engines/lure/screen.cpp b/engines/lure/screen.cpp
index b64ef6393b..e02f492ef2 100644
--- a/engines/lure/screen.cpp
+++ b/engines/lure/screen.cpp
@@ -30,6 +30,8 @@
#include "lure/decode.h"
#include "lure/events.h"
+#include "graphics/palette.h"
+
namespace Lure {
static Screen *int_disk = NULL;
diff --git a/engines/lure/sound.h b/engines/lure/sound.h
index dd5538085c..7a894d814d 100644
--- a/engines/lure/sound.h
+++ b/engines/lure/sound.h
@@ -30,6 +30,7 @@
#include "lure/disk.h"
#include "lure/memory.h"
+#include "common/mutex.h"
#include "common/singleton.h"
#include "common/ptr.h"
#include "audio/mididrv.h"
diff --git a/engines/m4/actor.cpp b/engines/m4/actor.cpp
index ce8574a134..c61c6fe7d8 100644
--- a/engines/m4/actor.cpp
+++ b/engines/m4/actor.cpp
@@ -25,6 +25,7 @@
#include "common/system.h"
#include "common/array.h"
+#include "common/textconsole.h"
#include "m4/actor.h"
#include "m4/m4_views.h"
#include "m4/assets.h"
diff --git a/engines/m4/animation.cpp b/engines/m4/animation.cpp
index 26de121611..3fe050e604 100644
--- a/engines/m4/animation.cpp
+++ b/engines/m4/animation.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/assets.h"
#include "m4/animation.h"
#include "m4/compression.h"
diff --git a/engines/m4/compression.cpp b/engines/m4/compression.cpp
index 9b1416945c..8fe4fbf1eb 100644
--- a/engines/m4/compression.cpp
+++ b/engines/m4/compression.cpp
@@ -27,6 +27,7 @@
#include "m4/m4.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace M4 {
diff --git a/engines/m4/console.cpp b/engines/m4/console.cpp
index 88b4240901..cbcaa04669 100644
--- a/engines/m4/console.cpp
+++ b/engines/m4/console.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/m4.h"
#include "m4/console.h"
#include "m4/dialogs.h"
diff --git a/engines/m4/converse.cpp b/engines/m4/converse.cpp
index f67291f0a6..46c4b35b79 100644
--- a/engines/m4/converse.cpp
+++ b/engines/m4/converse.cpp
@@ -26,6 +26,7 @@
#include "common/array.h"
#include "common/hashmap.h"
#include "common/substream.h"
+#include "common/textconsole.h"
#include "m4/converse.h"
#include "m4/resource.h"
diff --git a/engines/m4/dialogs.cpp b/engines/m4/dialogs.cpp
index 0359be01ec..bc6228658d 100644
--- a/engines/m4/dialogs.cpp
+++ b/engines/m4/dialogs.cpp
@@ -25,6 +25,7 @@
#include "m4/dialogs.h"
#include "common/file.h"
+#include "common/textconsole.h"
namespace M4 {
diff --git a/engines/m4/globals.cpp b/engines/m4/globals.cpp
index d982ecad0e..3db9934cec 100644
--- a/engines/m4/globals.cpp
+++ b/engines/m4/globals.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/m4.h"
#include "m4/globals.h"
#include "m4/graphics.h"
diff --git a/engines/m4/graphics.cpp b/engines/m4/graphics.cpp
index 7b20d57bb8..689a6ab8b4 100644
--- a/engines/m4/graphics.cpp
+++ b/engines/m4/graphics.cpp
@@ -23,11 +23,12 @@
*
*/
-#include "common/file.h"
-#include "common/endian.h"
#include "common/system.h"
#include "common/util.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
#include "m4/globals.h"
#include "m4/graphics.h"
diff --git a/engines/m4/gui.cpp b/engines/m4/gui.cpp
index 6619b37707..56cf96b589 100644
--- a/engines/m4/gui.cpp
+++ b/engines/m4/gui.cpp
@@ -25,6 +25,7 @@
#include "common/events.h"
#include "common/keyboard.h"
+#include "common/textconsole.h"
#include "m4/globals.h"
#include "m4/events.h"
diff --git a/engines/m4/m4.cpp b/engines/m4/m4.cpp
index d9a1bf940f..1a484322fd 100644
--- a/engines/m4/m4.cpp
+++ b/engines/m4/m4.cpp
@@ -30,7 +30,6 @@
#include "m4/burger_data.h"
#include "m4/m4.h"
#include "m4/resource.h"
-#include "m4/sprite.h"
#include "m4/hotspot.h"
#include "m4/font.h"
#include "m4/rails.h"
@@ -50,17 +49,15 @@
#include "m4/mads_anim.h"
#include "m4/mads_menus.h"
+#include "common/error.h"
#include "common/file.h"
#include "common/fs.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/endian.h"
#include "common/system.h"
#include "common/config-manager.h"
#include "common/debug-channels.h"
+#include "common/textconsole.h"
#include "engines/util.h"
-#include "graphics/surface.h"
-#include "audio/mididrv.h"
namespace M4 {
diff --git a/engines/m4/m4_menus.cpp b/engines/m4/m4_menus.cpp
index 118b09f50b..a20bb2660b 100644
--- a/engines/m4/m4_menus.cpp
+++ b/engines/m4/m4_menus.cpp
@@ -24,6 +24,7 @@
*/
#include "common/algorithm.h" // for find()
+#include "common/textconsole.h"
#include "gui/dialog.h"
#include "gui/message.h"
diff --git a/engines/m4/m4_scene.cpp b/engines/m4/m4_scene.cpp
index 0ace40bfc5..a0d8a503ab 100644
--- a/engines/m4/m4_scene.cpp
+++ b/engines/m4/m4_scene.cpp
@@ -24,6 +24,7 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "m4/m4_scene.h"
#include "m4/dialogs.h"
diff --git a/engines/m4/m4_views.cpp b/engines/m4/m4_views.cpp
index f4345787df..83f23edd3d 100644
--- a/engines/m4/m4_views.cpp
+++ b/engines/m4/m4_views.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/m4_views.h"
#include "m4/events.h"
#include "m4/font.h"
diff --git a/engines/m4/mads_anim.cpp b/engines/m4/mads_anim.cpp
index 571a6fa899..e7ca9cb14d 100644
--- a/engines/m4/mads_anim.cpp
+++ b/engines/m4/mads_anim.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/mads_anim.h"
#include "m4/m4.h"
#include "m4/compression.h"
diff --git a/engines/m4/mads_logic.cpp b/engines/m4/mads_logic.cpp
index 878e86c573..98a0d06412 100644
--- a/engines/m4/mads_logic.cpp
+++ b/engines/m4/mads_logic.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/m4.h"
#include "m4/dialogs.h"
#include "m4/mads_logic.h"
diff --git a/engines/m4/mads_menus.cpp b/engines/m4/mads_menus.cpp
index 4ca8154793..437e9d2a6b 100644
--- a/engines/m4/mads_menus.cpp
+++ b/engines/m4/mads_menus.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "m4/mads_menus.h"
#include "m4/m4.h"
diff --git a/engines/m4/mads_scene.cpp b/engines/m4/mads_scene.cpp
index fd972cc6ea..7b82480ee2 100644
--- a/engines/m4/mads_scene.cpp
+++ b/engines/m4/mads_scene.cpp
@@ -24,6 +24,7 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "m4/mads_scene.h"
#include "m4/dialogs.h"
diff --git a/engines/m4/mads_views.cpp b/engines/m4/mads_views.cpp
index b4385dbead..33c679c9bd 100644
--- a/engines/m4/mads_views.cpp
+++ b/engines/m4/mads_views.cpp
@@ -34,6 +34,7 @@
#include "m4/staticres.h"
#include "common/algorithm.h"
+#include "common/textconsole.h"
namespace M4 {
diff --git a/engines/m4/midi.cpp b/engines/m4/midi.cpp
index e49dbfa2e7..24ac60c22e 100644
--- a/engines/m4/midi.cpp
+++ b/engines/m4/midi.cpp
@@ -31,6 +31,7 @@
#include "audio/midiparser.h"
#include "common/config-manager.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace M4 {
diff --git a/engines/m4/resource.cpp b/engines/m4/resource.cpp
index 192cab0c83..1946797f75 100644
--- a/engines/m4/resource.cpp
+++ b/engines/m4/resource.cpp
@@ -28,6 +28,7 @@
#include "m4/events.h"
#include "common/substream.h"
+#include "common/textconsole.h"
namespace M4 {
diff --git a/engines/m4/script.cpp b/engines/m4/script.cpp
index 42d55c6dc7..cc60ec310d 100644
--- a/engines/m4/script.cpp
+++ b/engines/m4/script.cpp
@@ -24,6 +24,7 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "m4/m4.h"
#include "m4/script.h"
diff --git a/engines/m4/sound.cpp b/engines/m4/sound.cpp
index 14c60c1c58..fb90cea5cc 100644
--- a/engines/m4/sound.cpp
+++ b/engines/m4/sound.cpp
@@ -28,6 +28,7 @@
#include "m4/compression.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
diff --git a/engines/m4/sprite.cpp b/engines/m4/sprite.cpp
index 77528ec8a6..cef9917381 100644
--- a/engines/m4/sprite.cpp
+++ b/engines/m4/sprite.cpp
@@ -24,6 +24,7 @@
*/
#include "common/rect.h"
+#include "common/textconsole.h"
#include "m4/globals.h"
#include "m4/graphics.h"
diff --git a/engines/m4/woodscript.cpp b/engines/m4/woodscript.cpp
index 1b9d9859ef..dc24548f84 100644
--- a/engines/m4/woodscript.cpp
+++ b/engines/m4/woodscript.cpp
@@ -26,6 +26,7 @@
#include "m4/woodscript.h"
#include "common/memstream.h"
+#include "graphics/palette.h"
namespace M4 {
diff --git a/engines/made/database.cpp b/engines/made/database.cpp
index 8d06aa0085..4e7a0467b1 100644
--- a/engines/made/database.cpp
+++ b/engines/made/database.cpp
@@ -27,6 +27,7 @@
#include "common/endian.h"
#include "common/util.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "made/database.h"
diff --git a/engines/made/graphics.cpp b/engines/made/graphics.cpp
index 7e8330d3f4..388ff60aa8 100644
--- a/engines/made/graphics.cpp
+++ b/engines/made/graphics.cpp
@@ -23,7 +23,9 @@
*
*/
+#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "made/graphics.h"
diff --git a/engines/made/made.cpp b/engines/made/made.cpp
index c81fa3db25..c791b657e7 100644
--- a/engines/made/made.cpp
+++ b/engines/made/made.cpp
@@ -26,8 +26,6 @@
#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/keyboard.h"
-#include "common/file.h"
-#include "common/savefile.h"
#include "common/config-manager.h"
#include "common/stream.h"
diff --git a/engines/made/music.cpp b/engines/made/music.cpp
index 2e06871e13..e5bbbc3b42 100644
--- a/engines/made/music.cpp
+++ b/engines/made/music.cpp
@@ -30,8 +30,6 @@
#include "audio/audiostream.h"
#include "audio/mididrv.h"
#include "audio/midiparser.h"
-#include "common/config-manager.h"
-#include "common/file.h"
#include "made/music.h"
diff --git a/engines/made/redreader.cpp b/engines/made/redreader.cpp
index 3d36b69a28..2fcd7f43da 100644
--- a/engines/made/redreader.cpp
+++ b/engines/made/redreader.cpp
@@ -25,6 +25,7 @@
#include "made/redreader.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace Made {
diff --git a/engines/made/resource.cpp b/engines/made/resource.cpp
index 777f0cb443..403520bec3 100644
--- a/engines/made/resource.cpp
+++ b/engines/made/resource.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/debug.h"
#include "common/endian.h"
#include "common/memstream.h"
#include "audio/mixer.h"
diff --git a/engines/made/resource.h b/engines/made/resource.h
index ade6a23029..f1aeb7a87c 100644
--- a/engines/made/resource.h
+++ b/engines/made/resource.h
@@ -30,6 +30,7 @@
#include "common/file.h"
#include "common/stream.h"
#include "common/hashmap.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
#include "audio/audiostream.h"
diff --git a/engines/made/screen.cpp b/engines/made/screen.cpp
index fe2bf64b82..4a73ba8e38 100644
--- a/engines/made/screen.cpp
+++ b/engines/made/screen.cpp
@@ -28,6 +28,8 @@
#include "made/resource.h"
#include "made/database.h"
+#include "graphics/palette.h"
+
namespace Made {
Screen::Screen(MadeEngine *vm) : _vm(vm) {
diff --git a/engines/made/script.h b/engines/made/script.h
index 16c5ad604f..be719eba5f 100644
--- a/engines/made/script.h
+++ b/engines/made/script.h
@@ -29,6 +29,7 @@
#include "common/util.h"
#include "common/file.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Made {
diff --git a/engines/made/scriptfuncs.cpp b/engines/made/scriptfuncs.cpp
index 4f1937c057..c0a723438e 100644
--- a/engines/made/scriptfuncs.cpp
+++ b/engines/made/scriptfuncs.cpp
@@ -23,9 +23,7 @@
*
*/
-#include "common/endian.h"
#include "common/util.h"
-#include "common/events.h"
#include "backends/audiocd/audiocd.h"
#include "graphics/cursorman.h"
diff --git a/engines/made/scriptfuncs.h b/engines/made/scriptfuncs.h
index 3bed27c5c8..b8b2a87d19 100644
--- a/engines/made/scriptfuncs.h
+++ b/engines/made/scriptfuncs.h
@@ -34,7 +34,7 @@
#include "made/resource.h"
namespace Audio {
- class PCSpeaker;
+class PCSpeaker;
}
namespace Made {
diff --git a/engines/metaengine.h b/engines/metaengine.h
index 2afed0703b..ef34506991 100644
--- a/engines/metaengine.h
+++ b/engines/metaengine.h
@@ -37,8 +37,8 @@ class Engine;
class OSystem;
namespace Common {
- class FSList;
- class String;
+class FSList;
+class String;
}
/**
diff --git a/engines/mohawk/bitmap.cpp b/engines/mohawk/bitmap.cpp
index 0e14947133..02548d58fc 100644
--- a/engines/mohawk/bitmap.cpp
+++ b/engines/mohawk/bitmap.cpp
@@ -31,6 +31,7 @@
#include "common/memstream.h"
#include "common/substream.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace Mohawk {
@@ -612,13 +613,12 @@ void MohawkBitmap::drawRLE8(Graphics::Surface *surface, bool isLE) {
if (code & 0x80) {
byte val = _data->readByte();
- for (uint16 j = 0; j < runLen; j++)
- *dst++ = val;
+ memset(dst, val, runLen);
} else {
- for (uint16 j = 0; j < runLen; j++)
- *dst++ = _data->readByte();
+ _data->read(dst, runLen);
}
+ dst += runLen;
remaining -= runLen;
}
diff --git a/engines/mohawk/console.cpp b/engines/mohawk/console.cpp
index ee67c9f23c..93cbe87e55 100644
--- a/engines/mohawk/console.cpp
+++ b/engines/mohawk/console.cpp
@@ -29,6 +29,9 @@
#include "mohawk/sound.h"
#include "mohawk/video.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+
#ifdef ENABLE_CSTIME
#include "mohawk/cstime.h"
#endif
diff --git a/engines/mohawk/cstime.cpp b/engines/mohawk/cstime.cpp
index 955e0e5af6..46faae08f5 100644
--- a/engines/mohawk/cstime.cpp
+++ b/engines/mohawk/cstime.cpp
@@ -30,15 +30,14 @@
#include "mohawk/cstime_view.h"
#include "mohawk/resource.h"
#include "mohawk/cursors.h"
-#include "mohawk/sound.h"
#include "mohawk/video.h"
#include "common/config-manager.h"
+#include "common/error.h"
#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/fs.h"
-
-#include "engines/util.h"
+#include "common/textconsole.h"
namespace Mohawk {
diff --git a/engines/mohawk/cstime_cases.cpp b/engines/mohawk/cstime_cases.cpp
index 408f1c9d9a..c4801f822c 100644
--- a/engines/mohawk/cstime_cases.cpp
+++ b/engines/mohawk/cstime_cases.cpp
@@ -26,6 +26,8 @@
#include "mohawk/cstime_cases.h"
#include "mohawk/cstime_ui.h"
+#include "common/textconsole.h"
+
namespace Mohawk {
CSTimeCase1::CSTimeCase1(MohawkEngine_CSTime *vm) : CSTimeCase(vm, 1) {
diff --git a/engines/mohawk/cstime_game.cpp b/engines/mohawk/cstime_game.cpp
index 14e5d99e51..66dce1da92 100644
--- a/engines/mohawk/cstime_game.cpp
+++ b/engines/mohawk/cstime_game.cpp
@@ -29,6 +29,8 @@
#include "mohawk/resource.h"
#include "mohawk/sound.h"
#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
namespace Mohawk {
diff --git a/engines/mohawk/cstime_ui.cpp b/engines/mohawk/cstime_ui.cpp
index 935b0321da..106f7ea319 100644
--- a/engines/mohawk/cstime_ui.cpp
+++ b/engines/mohawk/cstime_ui.cpp
@@ -29,6 +29,8 @@
#include "mohawk/resource.h"
#include "common/algorithm.h" // find
#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/fontman.h"
namespace Mohawk {
diff --git a/engines/mohawk/cstime_view.cpp b/engines/mohawk/cstime_view.cpp
index 115b363b6e..12d641a9ff 100644
--- a/engines/mohawk/cstime_view.cpp
+++ b/engines/mohawk/cstime_view.cpp
@@ -30,6 +30,8 @@
#include "mohawk/cursors.h"
#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
namespace Mohawk {
diff --git a/engines/mohawk/cursors.h b/engines/mohawk/cursors.h
index f8a9429689..1fb8b35714 100644
--- a/engines/mohawk/cursors.h
+++ b/engines/mohawk/cursors.h
@@ -29,11 +29,11 @@
#include "common/scummsys.h"
namespace Common {
- class MacResManager;
- class NEResources;
- class PEResources;
- class SeekableReadStream;
- class String;
+class MacResManager;
+class NEResources;
+class PEResources;
+class SeekableReadStream;
+class String;
}
#include "mohawk/resource.h"
diff --git a/engines/mohawk/detection.cpp b/engines/mohawk/detection.cpp
index cad24b55f1..c14d3327d0 100644
--- a/engines/mohawk/detection.cpp
+++ b/engines/mohawk/detection.cpp
@@ -26,9 +26,9 @@
#include "base/plugins.h"
#include "engines/advancedDetector.h"
-#include "common/config-manager.h"
-#include "common/file.h"
#include "common/savefile.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "mohawk/livingbooks.h"
@@ -141,6 +141,7 @@ static const PlainGameDescriptor mohawkGames[] = {
{"rugrats", "Rugrats Adventure Game"},
{"lbsampler", "Living Books Sampler"},
{"bearfight", "The Berenstain Bears Get in a Fight"},
+ {"beardark", "The Berenstain Bears In The Dark"},
{"arthurcomp", "Arthur's Computer Adventure"},
{"harryhh","Harry and the Haunted House"},
{"stellaluna", "Stellaluna"},
diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index a8f9ee557b..ae9d8ee616 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -1023,6 +1023,23 @@ static const MohawkGameDescription gameDescriptions[] = {
0
},
+ // Just Grandma and Me 1.0
+ // From scoriae
+ {
+ {
+ "grandma",
+ "v1.0",
+ AD_ENTRY1("PAGES.512", "e694ac10f957dd2e20611350bf968da3"),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV1,
+ GF_LB_10,
+ "GRANDMA.EXE"
+ },
+
{
{
"grandma",
@@ -1254,6 +1271,22 @@ static const MohawkGameDescription gameDescriptions[] = {
0
},
+ // From zerep in bug #3287894
+ {
+ {
+ "arthurbday",
+ "",
+ AD_ENTRY1("BIRTHDAY.512", "874f80ff363214d63593864e58c4a130"),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV1,
+ 0,
+ "BIRTHDAY.EXE"
+ },
+
{
{
"arthurbday",
@@ -1545,6 +1578,55 @@ static const MohawkGameDescription gameDescriptions[] = {
"Bears Get in a Fight"
},
+ // From bkennimer in bug #3284930
+ {
+ {
+ "beardark",
+ "",
+ AD_ENTRY1("DARK.LB", "81d1e6eaf88d54bd29836a133935c0d4"),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV3,
+ 0,
+ 0
+ },
+
+ // From bkennimer in bug #3284930
+ // 32-bit version of the previous entry
+ {
+ {
+ "beardark",
+ "",
+ AD_ENTRY1("DARK32.LB", "28abbf5498aeb29e78e5e0dec969ebe2"),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV3,
+ 0,
+ 0
+ },
+
+ // From bkennimer in bug #3284930
+ {
+ {
+ "beardark",
+ "",
+ AD_ENTRY1("BookOutline", "95b2e43778ca9cfaee37bdde843e7681"),
+ Common::EN_ANY,
+ Common::kPlatformMacintosh,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV3,
+ 0,
+ 0
+ },
+
{
{
"arthurcomp",
diff --git a/engines/mohawk/dialogs.cpp b/engines/mohawk/dialogs.cpp
index c5a0c7e86d..4c7e52f02f 100644
--- a/engines/mohawk/dialogs.cpp
+++ b/engines/mohawk/dialogs.cpp
@@ -27,7 +27,9 @@
#include "mohawk/dialogs.h"
#include "gui/gui-manager.h"
-#include "common/savefile.h"
+#include "gui/ThemeEngine.h"
+#include "gui/widget.h"
+#include "common/system.h"
#include "common/translation.h"
#ifdef ENABLE_MYST
diff --git a/engines/mohawk/graphics.cpp b/engines/mohawk/graphics.cpp
index 2da7cc3e94..a1bcb55f7b 100644
--- a/engines/mohawk/graphics.cpp
+++ b/engines/mohawk/graphics.cpp
@@ -28,7 +28,10 @@
#include "mohawk/livingbooks.h"
#include "common/substream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "engines/util.h"
+#include "graphics/palette.h"
#include "graphics/primitives.h"
#include "gui/message.h"
diff --git a/engines/mohawk/graphics.h b/engines/mohawk/graphics.h
index 5cac68c510..c7e9b98d49 100644
--- a/engines/mohawk/graphics.h
+++ b/engines/mohawk/graphics.h
@@ -33,7 +33,7 @@
#include "graphics/pict.h"
namespace Graphics {
- class JPEG;
+class JPEG;
}
namespace Mohawk {
diff --git a/engines/mohawk/installer_archive.cpp b/engines/mohawk/installer_archive.cpp
index 4ea742dff6..5079375896 100644
--- a/engines/mohawk/installer_archive.cpp
+++ b/engines/mohawk/installer_archive.cpp
@@ -27,8 +27,6 @@
#include "common/dcl.h"
#include "common/debug.h"
-#include "common/substream.h"
-#include "common/util.h"
namespace Mohawk {
diff --git a/engines/mohawk/installer_archive.h b/engines/mohawk/installer_archive.h
index 565b363be3..d33fbe5bcd 100644
--- a/engines/mohawk/installer_archive.h
+++ b/engines/mohawk/installer_archive.h
@@ -27,6 +27,8 @@
#include "common/scummsys.h"
#include "common/endian.h"
#include "common/file.h"
+#include "common/hash-str.h"
+#include "common/hashmap.h"
#include "common/str.h"
#ifndef MOHAWK_INSTALLER_ARCHIVE_H
diff --git a/engines/mohawk/livingbooks.cpp b/engines/mohawk/livingbooks.cpp
index 7f6c3cc43a..2475965812 100644
--- a/engines/mohawk/livingbooks.cpp
+++ b/engines/mohawk/livingbooks.cpp
@@ -26,13 +26,17 @@
#include "mohawk/livingbooks.h"
#include "mohawk/resource.h"
#include "mohawk/cursors.h"
-#include "mohawk/sound.h"
#include "mohawk/video.h"
+#include "common/config-manager.h"
+#include "common/error.h"
#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/fs.h"
#include "common/archive.h"
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
#include "engines/util.h"
@@ -2004,7 +2008,7 @@ LBScriptEntry *LBItem::parseScriptEntry(uint16 type, uint16 &size, Common::Seeka
size -= target.size() + 1;
}
- if (size % 2 != oldAlign) {
+ if ((uint)(size % 2) != oldAlign) {
stream->skip(1);
size--;
}
diff --git a/engines/mohawk/livingbooks_code.cpp b/engines/mohawk/livingbooks_code.cpp
index 84f69af2ac..4237c712d9 100644
--- a/engines/mohawk/livingbooks_code.cpp
+++ b/engines/mohawk/livingbooks_code.cpp
@@ -26,6 +26,9 @@
#include "mohawk/livingbooks.h"
#include "mohawk/resource.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+
namespace Mohawk {
bool LBValue::operator==(const LBValue &x) const {
diff --git a/engines/mohawk/mohawk.cpp b/engines/mohawk/mohawk.cpp
index 015cbffb26..f63645f1ac 100644
--- a/engines/mohawk/mohawk.cpp
+++ b/engines/mohawk/mohawk.cpp
@@ -24,13 +24,9 @@
*/
#include "common/scummsys.h"
-#include "common/config-manager.h"
-#include "common/file.h"
-#include "common/events.h"
-#include "common/keyboard.h"
-
-#include "base/plugins.h"
-#include "base/version.h"
+#include "common/error.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "mohawk/mohawk.h"
#include "mohawk/cursors.h"
diff --git a/engines/mohawk/mohawk.h b/engines/mohawk/mohawk.h
index 1bad8a08ce..8a853d151e 100644
--- a/engines/mohawk/mohawk.h
+++ b/engines/mohawk/mohawk.h
@@ -34,7 +34,7 @@
class OSystem;
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
/**
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 1aba820fed..655a38b578 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -25,7 +25,9 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
+#include "common/system.h"
#include "common/translation.h"
+#include "common/textconsole.h"
#include "mohawk/cursors.h"
#include "mohawk/graphics.h"
diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp
index 21f6627f60..dc00bff923 100644
--- a/engines/mohawk/myst_areas.cpp
+++ b/engines/mohawk/myst_areas.cpp
@@ -29,6 +29,10 @@
#include "mohawk/sound.h"
#include "mohawk/video.h"
+#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+
namespace Mohawk {
MystResource::MystResource(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) {
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index 17a2c66091..71c408ed37 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -31,6 +31,8 @@
#include "mohawk/sound.h"
#include "mohawk/video.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "gui/message.h"
namespace Mohawk {
diff --git a/engines/mohawk/myst_stacks/channelwood.cpp b/engines/mohawk/myst_stacks/channelwood.cpp
index 26267cfbda..cba2583a50 100644
--- a/engines/mohawk/myst_stacks/channelwood.cpp
+++ b/engines/mohawk/myst_stacks/channelwood.cpp
@@ -32,7 +32,9 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/channelwood.h"
-#include "gui/message.h"
+#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
namespace Mohawk {
namespace MystStacks {
diff --git a/engines/mohawk/myst_stacks/credits.cpp b/engines/mohawk/myst_stacks/credits.cpp
index 61772eda4d..bb8397fd09 100644
--- a/engines/mohawk/myst_stacks/credits.cpp
+++ b/engines/mohawk/myst_stacks/credits.cpp
@@ -30,6 +30,7 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/credits.h"
+#include "common/system.h"
#include "gui/message.h"
namespace Mohawk {
diff --git a/engines/mohawk/myst_stacks/dni.cpp b/engines/mohawk/myst_stacks/dni.cpp
index ffbf9c991f..e2a11eb94f 100644
--- a/engines/mohawk/myst_stacks/dni.cpp
+++ b/engines/mohawk/myst_stacks/dni.cpp
@@ -31,6 +31,8 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/dni.h"
+#include "common/system.h"
+
namespace Mohawk {
namespace MystStacks {
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index 3dab2f7939..c5c11026f5 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -32,7 +32,8 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/mechanical.h"
-#include "gui/message.h"
+#include "common/events.h"
+#include "common/system.h"
namespace Mohawk {
namespace MystStacks {
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index 5d070322ca..2b8ef94442 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -33,6 +33,8 @@
#include "mohawk/myst_stacks/myst.h"
#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "gui/message.h"
diff --git a/engines/mohawk/myst_stacks/preview.cpp b/engines/mohawk/myst_stacks/preview.cpp
index dc491c7573..fddf6290fb 100644
--- a/engines/mohawk/myst_stacks/preview.cpp
+++ b/engines/mohawk/myst_stacks/preview.cpp
@@ -30,6 +30,7 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/preview.h"
+#include "common/system.h"
#include "gui/message.h"
namespace Mohawk {
diff --git a/engines/mohawk/myst_stacks/selenitic.cpp b/engines/mohawk/myst_stacks/selenitic.cpp
index f485bab2f9..c670cb6a48 100644
--- a/engines/mohawk/myst_stacks/selenitic.cpp
+++ b/engines/mohawk/myst_stacks/selenitic.cpp
@@ -32,6 +32,8 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/selenitic.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "gui/message.h"
namespace Mohawk {
@@ -816,7 +818,7 @@ void Selenitic::o_soundLockEndMove(uint16 op, uint16 var, uint16 argc, uint16 *a
debugC(kDebugScript, "Opcode %d: Sound lock end move", op);
MystResourceType10 *slider = soundLockSliderFromVar(var);
- uint16 *value = 0;
+ uint16 *value = &_state.soundLockSliderPositions[0];
switch (var) {
case 20: // Sound lock sliders
@@ -834,6 +836,9 @@ void Selenitic::o_soundLockEndMove(uint16 op, uint16 var, uint16 argc, uint16 *a
case 24:
value = &_state.soundLockSliderPositions[4];
break;
+ default:
+ error("Incorrect var value for Selenitic opcode 114");
+ break;
}
uint16 stepped = 12 * (*value / 12) + 6;
diff --git a/engines/mohawk/myst_stacks/slides.cpp b/engines/mohawk/myst_stacks/slides.cpp
index e664081c96..4057edd9c9 100644
--- a/engines/mohawk/myst_stacks/slides.cpp
+++ b/engines/mohawk/myst_stacks/slides.cpp
@@ -30,6 +30,7 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/slides.h"
+#include "common/system.h"
#include "gui/message.h"
namespace Mohawk {
diff --git a/engines/mohawk/myst_stacks/stoneship.cpp b/engines/mohawk/myst_stacks/stoneship.cpp
index b5b403dad8..07701c273e 100644
--- a/engines/mohawk/myst_stacks/stoneship.cpp
+++ b/engines/mohawk/myst_stacks/stoneship.cpp
@@ -32,7 +32,9 @@
#include "mohawk/video.h"
#include "mohawk/myst_stacks/stoneship.h"
-#include "gui/message.h"
+#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
namespace Mohawk {
namespace MystStacks {
diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp
index 968bb422be..de71dcf382 100644
--- a/engines/mohawk/myst_state.cpp
+++ b/engines/mohawk/myst_state.cpp
@@ -27,7 +27,9 @@
#include "mohawk/myst.h"
#include "mohawk/myst_state.h"
+#include "common/debug.h"
#include "common/serializer.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Mohawk {
diff --git a/engines/mohawk/myst_state.h b/engines/mohawk/myst_state.h
index a543cb1c4f..074c3e5f10 100644
--- a/engines/mohawk/myst_state.h
+++ b/engines/mohawk/myst_state.h
@@ -31,7 +31,7 @@
#include "common/str.h"
namespace Common {
- class Serializer;
+class Serializer;
}
namespace Mohawk {
diff --git a/engines/mohawk/resource.cpp b/engines/mohawk/resource.cpp
index de1513b237..62250b75f2 100644
--- a/engines/mohawk/resource.cpp
+++ b/engines/mohawk/resource.cpp
@@ -28,6 +28,7 @@
#include "common/debug.h"
#include "common/substream.h"
#include "common/util.h"
+#include "common/textconsole.h"
namespace Mohawk {
diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h
index 88927884a2..3aba5643db 100644
--- a/engines/mohawk/riven.h
+++ b/engines/mohawk/riven.h
@@ -35,6 +35,7 @@
#include "common/hashmap.h"
#include "common/hash-str.h"
#include "common/random.h"
+#include "common/rect.h"
namespace Mohawk {
diff --git a/engines/mohawk/riven_external.cpp b/engines/mohawk/riven_external.cpp
index 7c453dec48..dc0d66f19b 100644
--- a/engines/mohawk/riven_external.cpp
+++ b/engines/mohawk/riven_external.cpp
@@ -32,6 +32,7 @@
#include "gui/message.h"
#include "common/events.h"
+#include "common/system.h"
namespace Mohawk {
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp
index 35f38c4069..b8f86f993a 100644
--- a/engines/mohawk/riven_scripts.cpp
+++ b/engines/mohawk/riven_scripts.cpp
@@ -33,6 +33,7 @@
#include "common/memstream.h"
#include "common/stream.h"
+#include "common/system.h"
namespace Mohawk {
diff --git a/engines/mohawk/riven_scripts.h b/engines/mohawk/riven_scripts.h
index 46cd965f40..2ac805c366 100644
--- a/engines/mohawk/riven_scripts.h
+++ b/engines/mohawk/riven_scripts.h
@@ -28,6 +28,7 @@
#include "common/str-array.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
class MohawkEngine_Riven;
diff --git a/engines/mohawk/sound.cpp b/engines/mohawk/sound.cpp
index 9759f14699..fba87808d2 100644
--- a/engines/mohawk/sound.cpp
+++ b/engines/mohawk/sound.cpp
@@ -25,7 +25,10 @@
#include "mohawk/sound.h"
+#include "common/debug.h"
+#include "common/system.h"
#include "common/util.h"
+#include "common/textconsole.h"
#include "audio/musicplugin.h"
#include "audio/audiostream.h"
diff --git a/engines/mohawk/video.cpp b/engines/mohawk/video.cpp
index 3188619d9c..8f57d61cc4 100644
--- a/engines/mohawk/video.cpp
+++ b/engines/mohawk/video.cpp
@@ -27,9 +27,16 @@
#include "mohawk/resource.h"
#include "mohawk/video.h"
+#include "common/debug.h"
#include "common/events.h"
+#include "common/textconsole.h"
+#include "common/system.h"
+
+#include "graphics/surface.h"
+
#include "video/qt_decoder.h"
+
namespace Mohawk {
void VideoEntry::clear() {
diff --git a/engines/mohawk/view.cpp b/engines/mohawk/view.cpp
index 837d386b58..e5a44122ea 100644
--- a/engines/mohawk/view.cpp
+++ b/engines/mohawk/view.cpp
@@ -28,6 +28,8 @@
#include "mohawk/graphics.h"
#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
+#include "graphics/palette.h"
namespace Mohawk {
diff --git a/engines/parallaction/callables_br.cpp b/engines/parallaction/callables_br.cpp
index 21703dc1dd..0bc6f6762c 100644
--- a/engines/parallaction/callables_br.cpp
+++ b/engines/parallaction/callables_br.cpp
@@ -25,6 +25,8 @@
#include "parallaction/parallaction.h"
+#include "common/textconsole.h"
+
namespace Parallaction {
void Parallaction_br::_c_null(void*) {
diff --git a/engines/parallaction/detection.cpp b/engines/parallaction/detection.cpp
index f67a77aa21..8e3c2cbeb8 100644
--- a/engines/parallaction/detection.cpp
+++ b/engines/parallaction/detection.cpp
@@ -28,6 +28,7 @@
#include "common/config-manager.h"
#include "engines/advancedDetector.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp
index e3d02bac62..944d9f4b55 100644
--- a/engines/parallaction/dialogue.cpp
+++ b/engines/parallaction/dialogue.cpp
@@ -25,6 +25,7 @@
#include "common/events.h"
#include "common/debug-channels.h"
+#include "common/textconsole.h"
#include "parallaction/exec.h"
#include "parallaction/input.h"
#include "parallaction/parallaction.h"
diff --git a/engines/parallaction/disk.cpp b/engines/parallaction/disk.cpp
index 98c581ca8b..d996b72e90 100644
--- a/engines/parallaction/disk.cpp
+++ b/engines/parallaction/disk.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "common/iff_container.h"
+#include "common/textconsole.h"
+
#include "parallaction/disk.h"
#include "parallaction/graphics.h"
diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h
index 8ff0efd3c6..9af189af68 100644
--- a/engines/parallaction/disk.h
+++ b/engines/parallaction/disk.h
@@ -29,14 +29,20 @@
#define PATH_LEN 200
#include "common/archive.h"
+#include "common/str.h"
-#include "graphics/surface.h"
#include "graphics/iff.h"
namespace Common {
- class FSDirectory;
+class FSDirectory;
+class ReadStream;
+class SeekableReadStream;
+struct IFFChunk;
}
+namespace Graphics {
+struct Surface;
+}
namespace Parallaction {
diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp
index 3b09a89f54..cea4091ee9 100644
--- a/engines/parallaction/disk_br.cpp
+++ b/engines/parallaction/disk_br.cpp
@@ -27,6 +27,7 @@
#include "common/config-manager.h"
#include "common/fs.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
#include "parallaction/parser.h"
diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp
index c2d44ab002..e695fa8798 100644
--- a/engines/parallaction/disk_ns.cpp
+++ b/engines/parallaction/disk_ns.cpp
@@ -27,6 +27,7 @@
#include "common/fs.h"
#include "common/memstream.h"
#include "common/substream.h"
+#include "common/textconsole.h"
#include "parallaction/parser.h"
#include "parallaction/parallaction.h"
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index 99aa27b30f..c879745f65 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -27,6 +27,8 @@
#include "parallaction/input.h"
#include "parallaction/parallaction.h"
+#include "common/textconsole.h"
+
namespace Parallaction {
#define INST_ON 1
diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp
index c8a5ee1548..ee357576d2 100644
--- a/engines/parallaction/exec_ns.cpp
+++ b/engines/parallaction/exec_ns.cpp
@@ -28,6 +28,7 @@
#include "parallaction/parallaction.h"
#include "parallaction/sound.h"
+#include "common/textconsole.h"
namespace Parallaction {
diff --git a/engines/parallaction/font.cpp b/engines/parallaction/font.cpp
index 18f469f0a2..a459e6a600 100644
--- a/engines/parallaction/font.cpp
+++ b/engines/parallaction/font.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
diff --git a/engines/parallaction/gfxbase.cpp b/engines/parallaction/gfxbase.cpp
index 6c39b2e696..ca99624ecd 100644
--- a/engines/parallaction/gfxbase.cpp
+++ b/engines/parallaction/gfxbase.cpp
@@ -28,6 +28,7 @@
#include "disk.h"
#include "common/algorithm.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
namespace Parallaction {
diff --git a/engines/parallaction/graphics.cpp b/engines/parallaction/graphics.cpp
index 93bc492b73..d33e733677 100644
--- a/engines/parallaction/graphics.cpp
+++ b/engines/parallaction/graphics.cpp
@@ -26,6 +26,8 @@
#include "common/system.h"
#include "common/file.h"
+#include "common/textconsole.h"
+#include "graphics/palette.h"
#include "graphics/primitives.h"
#include "engines/util.h"
diff --git a/engines/parallaction/gui.cpp b/engines/parallaction/gui.cpp
index c4a36e5362..db70ebb432 100644
--- a/engines/parallaction/gui.cpp
+++ b/engines/parallaction/gui.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "parallaction/gui.h"
namespace Parallaction {
diff --git a/engines/parallaction/gui_br.cpp b/engines/parallaction/gui_br.cpp
index db1c9d1676..41e3082464 100644
--- a/engines/parallaction/gui_br.cpp
+++ b/engines/parallaction/gui_br.cpp
@@ -24,6 +24,7 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "parallaction/gui.h"
#include "parallaction/input.h"
diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp
index 07b25c9585..6b863cc808 100644
--- a/engines/parallaction/gui_ns.cpp
+++ b/engines/parallaction/gui_ns.cpp
@@ -25,6 +25,7 @@
#include "common/system.h"
#include "common/hashmap.h"
+#include "common/textconsole.h"
#include "parallaction/gui.h"
#include "parallaction/input.h"
diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index 410099e932..3a47b14deb 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -25,6 +25,7 @@
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
#include "parallaction/exec.h"
diff --git a/engines/parallaction/inventory.cpp b/engines/parallaction/inventory.cpp
index 6ceca27a4f..2412cc6445 100644
--- a/engines/parallaction/inventory.cpp
+++ b/engines/parallaction/inventory.cpp
@@ -26,7 +26,7 @@
#include "parallaction/input.h"
#include "parallaction/parallaction.h"
-
+#include "common/textconsole.h"
namespace Parallaction {
diff --git a/engines/parallaction/objects.cpp b/engines/parallaction/objects.cpp
index c345b92ffb..e1306dc956 100644
--- a/engines/parallaction/objects.cpp
+++ b/engines/parallaction/objects.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "parallaction/parallaction.h"
#include "parallaction/objects.h"
#include "parallaction/parser.h"
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index 3055439e47..516d465671 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -23,13 +23,10 @@
*
*/
-#include "common/config-manager.h"
#include "common/debug-channels.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/file.h"
-#include "common/util.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "parallaction/exec.h"
#include "parallaction/input.h"
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index a8a57ed2d8..b0b1145d2e 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -32,6 +32,7 @@
#include "common/func.h"
#include "common/random.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "engines/engine.h"
@@ -268,7 +269,7 @@ public:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index 619a4f7559..ca344792cf 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -25,6 +25,7 @@
#include "common/system.h"
#include "common/util.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
#include "parallaction/exec.h"
diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp
index ffac22e118..ffc0412b1d 100644
--- a/engines/parallaction/parallaction_ns.cpp
+++ b/engines/parallaction/parallaction_ns.cpp
@@ -25,6 +25,7 @@
#include "common/system.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
#include "parallaction/exec.h"
diff --git a/engines/parallaction/parser.cpp b/engines/parallaction/parser.cpp
index c964b74512..a7b926e485 100644
--- a/engines/parallaction/parser.cpp
+++ b/engines/parallaction/parser.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "parallaction/parallaction.h"
#include "parallaction/parser.h"
diff --git a/engines/parallaction/parser_br.cpp b/engines/parallaction/parser_br.cpp
index 9748be0526..f8818def9a 100644
--- a/engines/parallaction/parser_br.cpp
+++ b/engines/parallaction/parser_br.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/textconsole.h"
#include "parallaction/parallaction.h"
#include "parallaction/parser.h"
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index 5053a3d7a5..6c9afe3d85 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "parallaction/parallaction.h"
#include "parallaction/parser.h"
#include "parallaction/sound.h"
diff --git a/engines/parallaction/saveload.cpp b/engines/parallaction/saveload.cpp
index b8116d6bc7..4c77aa3e02 100644
--- a/engines/parallaction/saveload.cpp
+++ b/engines/parallaction/saveload.cpp
@@ -25,6 +25,7 @@
#include "common/savefile.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "gui/dialog.h"
#include "gui/saveload.h"
@@ -313,7 +314,7 @@ void SaveLoad_ns::renameOldSavefiles() {
if (_saveFileMan->renameSavefile(oldName, newName)) {
success++;
} else {
- warning("Error %i (%s) occurred while renaming %s to %s", _saveFileMan->getError(),
+ warning("Error %i (%s) occurred while renaming %s to %s", _saveFileMan->getError().getCode(),
_saveFileMan->getErrorDesc().c_str(), oldName.c_str(), newName.c_str());
}
}
diff --git a/engines/parallaction/sound_br.cpp b/engines/parallaction/sound_br.cpp
index ee53f9641e..abfaa4bf5d 100644
--- a/engines/parallaction/sound_br.cpp
+++ b/engines/parallaction/sound_br.cpp
@@ -24,6 +24,7 @@
*/
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "audio/mixer.h"
diff --git a/engines/parallaction/sound_ns.cpp b/engines/parallaction/sound_ns.cpp
index ba81314da6..5123695ebc 100644
--- a/engines/parallaction/sound_ns.cpp
+++ b/engines/parallaction/sound_ns.cpp
@@ -24,8 +24,8 @@
*/
#include "common/file.h"
-
#include "common/stream.h"
+#include "common/textconsole.h"
#include "audio/mixer.h"
#include "audio/midiparser.h"
diff --git a/engines/queen/command.cpp b/engines/queen/command.cpp
index 356856e940..87b24735a8 100644
--- a/engines/queen/command.cpp
+++ b/engines/queen/command.cpp
@@ -24,8 +24,6 @@
*/
-#include "common/events.h"
-#include "common/system.h"
#include "queen/command.h"
#include "queen/display.h"
diff --git a/engines/queen/cutaway.cpp b/engines/queen/cutaway.cpp
index 11a8704d60..6fb48c7fb0 100644
--- a/engines/queen/cutaway.cpp
+++ b/engines/queen/cutaway.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/textconsole.h"
#include "queen/cutaway.h"
diff --git a/engines/queen/display.cpp b/engines/queen/display.cpp
index b130b27a89..c78fd8ebcc 100644
--- a/engines/queen/display.cpp
+++ b/engines/queen/display.cpp
@@ -29,6 +29,7 @@
#include "common/events.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "queen/display.h"
#include "queen/input.h"
diff --git a/engines/queen/display.h b/engines/queen/display.h
index d3391fc4d3..e7a2ecd4a1 100644
--- a/engines/queen/display.h
+++ b/engines/queen/display.h
@@ -32,8 +32,9 @@
#include "queen/defs.h"
class OSystem;
+
namespace Common {
- struct Rect;
+struct Rect;
}
namespace Queen {
diff --git a/engines/queen/graphics.cpp b/engines/queen/graphics.cpp
index 17e36b1d90..c86f679765 100644
--- a/engines/queen/graphics.cpp
+++ b/engines/queen/graphics.cpp
@@ -34,6 +34,9 @@
#include "queen/resource.h"
#include "queen/sound.h"
+#include "common/debug.h"
+#include "common/textconsole.h"
+
namespace Queen {
void BobSlot::curPos(int16 xx, int16 yy) {
diff --git a/engines/queen/input.cpp b/engines/queen/input.cpp
index 9518388b26..eac855a0cd 100644
--- a/engines/queen/input.cpp
+++ b/engines/queen/input.cpp
@@ -26,6 +26,7 @@
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "queen/queen.h"
#include "queen/input.h"
diff --git a/engines/queen/journal.cpp b/engines/queen/journal.cpp
index aff24be22e..4200168f07 100644
--- a/engines/queen/journal.cpp
+++ b/engines/queen/journal.cpp
@@ -24,6 +24,7 @@
*/
+#include "common/error.h"
#include "common/events.h"
#include "common/system.h"
#include "queen/journal.h"
diff --git a/engines/queen/logic.cpp b/engines/queen/logic.cpp
index de254300b6..e99a739726 100644
--- a/engines/queen/logic.cpp
+++ b/engines/queen/logic.cpp
@@ -25,8 +25,7 @@
#include "common/config-manager.h"
-#include "common/events.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "queen/logic.h"
diff --git a/engines/queen/midiadlib.cpp b/engines/queen/midiadlib.cpp
index b03c90f653..af52f7ed2b 100644
--- a/engines/queen/midiadlib.cpp
+++ b/engines/queen/midiadlib.cpp
@@ -24,6 +24,7 @@
*/
#include "common/endian.h"
+#include "common/textconsole.h"
#include "audio/fmopl.h"
#include "audio/softsynth/emumidi.h"
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index 519f028cda..0dde5c7b42 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -32,6 +32,7 @@
#include "common/system.h"
#include "common/events.h"
#include "common/EventRecorder.h"
+#include "common/textconsole.h"
#include "engines/util.h"
diff --git a/engines/queen/queen.h b/engines/queen/queen.h
index 93d705b182..6098a9f5c2 100644
--- a/engines/queen/queen.h
+++ b/engines/queen/queen.h
@@ -30,7 +30,7 @@
#include "common/random.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
#if defined(_WIN32_WCE) && (_WIN32_WCE <= 300)
diff --git a/engines/queen/resource.cpp b/engines/queen/resource.cpp
index e8519ee68b..62b13e290c 100644
--- a/engines/queen/resource.cpp
+++ b/engines/queen/resource.cpp
@@ -27,6 +27,7 @@
#include "common/endian.h"
#include "common/config-manager.h"
#include "common/substream.h"
+#include "common/textconsole.h"
#include "queen/resource.h"
namespace Queen {
diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp
index a34af99ec3..afb77f3969 100644
--- a/engines/queen/sound.cpp
+++ b/engines/queen/sound.cpp
@@ -27,6 +27,7 @@
#include "common/config-manager.h"
#include "common/endian.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "queen/sound.h"
#include "queen/input.h"
diff --git a/engines/queen/sound.h b/engines/queen/sound.h
index cee0463ed1..a89e345791 100644
--- a/engines/queen/sound.h
+++ b/engines/queen/sound.h
@@ -32,7 +32,7 @@
#include "queen/defs.h"
namespace Common {
- class File;
+class File;
}
namespace Queen {
diff --git a/engines/queen/talk.cpp b/engines/queen/talk.cpp
index 106b0d6123..18c712b799 100644
--- a/engines/queen/talk.cpp
+++ b/engines/queen/talk.cpp
@@ -24,9 +24,8 @@
*/
-#include "common/events.h"
-#include "common/system.h"
#include "common/rect.h"
+#include "common/textconsole.h"
#include "queen/talk.h"
diff --git a/engines/queen/walk.cpp b/engines/queen/walk.cpp
index 7765828bd7..a778ea5b05 100644
--- a/engines/queen/walk.cpp
+++ b/engines/queen/walk.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/textconsole.h"
#include "queen/walk.h"
diff --git a/engines/saga/gfx.cpp b/engines/saga/gfx.cpp
index 29d6544b7b..4930718b67 100644
--- a/engines/saga/gfx.cpp
+++ b/engines/saga/gfx.cpp
@@ -34,6 +34,7 @@
#include "common/system.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "engines/util.h"
namespace Saga {
diff --git a/engines/saga/gfx.h b/engines/saga/gfx.h
index 33fac10c63..56d9104371 100644
--- a/engines/saga/gfx.h
+++ b/engines/saga/gfx.h
@@ -28,6 +28,7 @@
#ifndef SAGA_GFX_H
#define SAGA_GFX_H
+#include "common/rect.h"
#include "graphics/surface.h"
namespace Saga {
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index 0f84b09547..c3773b2cb2 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -2798,7 +2798,7 @@ void Interface::keyBoss() {
Rect rect;
ByteArray image;
int imageWidth, imageHeight;
- const byte *pal;
+ //const byte *pal;
PalEntry cPal[PAL_ENTRIES];
_vm->_gfx->showCursor(false);
@@ -2818,7 +2818,7 @@ void Interface::keyBoss() {
rect.setHeight(imageHeight);
_vm->_gfx->getCurrentPal(_mapSavedPal);
- pal = _vm->getImagePal(resourceData);
+ //pal = _vm->getImagePal(resourceData);
cPal[0].red = 0;
cPal[0].green = 0;
diff --git a/engines/saga/introproc_saga2.cpp b/engines/saga/introproc_saga2.cpp
index 5ae80b14c9..7f04474c61 100644
--- a/engines/saga/introproc_saga2.cpp
+++ b/engines/saga/introproc_saga2.cpp
@@ -31,7 +31,10 @@
#include "saga/scene.h"
#include "saga/gfx.h"
-#include "audio/mixer.h"
+#include "common/events.h"
+#include "common/keyboard.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
#include "video/smk_decoder.h"
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index 52c4b824e7..4df44a2e18 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -31,6 +31,7 @@
#include "common/array.h"
#include "common/random.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
#include "saga/gfx.h"
diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp
index 6a6992fb5f..27300377e9 100644
--- a/engines/saga/saveload.cpp
+++ b/engines/saga/saveload.cpp
@@ -23,10 +23,8 @@
*
*/
-#include "common/config-manager.h"
#include "common/savefile.h"
#include "common/system.h"
-#include "common/file.h"
#include "graphics/thumbnail.h"
#include "saga/saga.h"
diff --git a/engines/saga/shorten.cpp b/engines/saga/shorten.cpp
index 685cb26aa7..8f0baa9d53 100644
--- a/engines/saga/shorten.cpp
+++ b/engines/saga/shorten.cpp
@@ -24,6 +24,7 @@
*/
#include "common/scummsys.h"
+#include "common/textconsole.h"
#include "saga/shorten.h"
@@ -34,10 +35,8 @@
// FIXME: This doesn't work yet correctly
-#include "common/endian.h"
#include "common/util.h"
-#include "audio/mixer.h"
#include "audio/decoders/raw.h"
namespace Saga {
diff --git a/engines/savestate.cpp b/engines/savestate.cpp
index 368f59ef51..bed19ba3e5 100644
--- a/engines/savestate.cpp
+++ b/engines/savestate.cpp
@@ -25,6 +25,7 @@
#include "engines/savestate.h"
#include "graphics/surface.h"
+#include "common/textconsole.h"
void SaveStateDescriptor::setThumbnail(Graphics::Surface *t) {
if (_thumbnail.get() == t)
diff --git a/engines/savestate.h b/engines/savestate.h
index 37f2b9bdd4..9b64a96aee 100644
--- a/engines/savestate.h
+++ b/engines/savestate.h
@@ -32,7 +32,7 @@
namespace Graphics {
- struct Surface;
+struct Surface;
}
/**
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index 7c351c6220..60bd129efc 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -442,7 +442,7 @@ ResourceType parseResourceType(const char *resid) {
}
bool Console::cmdGetVersion(int argc, const char **argv) {
- const char *viewTypeDesc[] = { "Unknown", "EGA", "VGA", "VGA SCI1.1", "Amiga" };
+ const char *viewTypeDesc[] = { "Unknown", "EGA", "Amiga ECS 32 colors", "Amiga AGA 64 colors", "VGA", "VGA SCI1.1" };
bool hasVocab997 = g_sci->getResMan()->testResource(ResourceId(kResourceTypeVocab, VOCAB_RESOURCE_SELECTORS)) ? true : false;
Common::String gameVersion = "N/A";
diff --git a/engines/sci/decompressor.cpp b/engines/sci/decompressor.cpp
index 73d4ed4198..c122fceeb0 100644
--- a/engines/sci/decompressor.cpp
+++ b/engines/sci/decompressor.cpp
@@ -28,9 +28,8 @@
#include "common/dcl.h"
#include "common/util.h"
#include "common/endian.h"
-#include "common/debug.h"
-#include "common/debug-channels.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "sci/decompressor.h"
#include "sci/sci.h"
diff --git a/engines/sci/decompressor.h b/engines/sci/decompressor.h
index 88e24fcc47..8b6f955ddb 100644
--- a/engines/sci/decompressor.h
+++ b/engines/sci/decompressor.h
@@ -28,7 +28,9 @@
#include "common/scummsys.h"
-namespace Common { class ReadStream; }
+namespace Common {
+class ReadStream;
+}
namespace Sci {
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index 82522a6e77..0e2f64257a 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -28,6 +28,7 @@
#include "common/file.h"
#include "common/str.h"
#include "common/savefile.h"
+#include "common/system.h"
#include "common/translation.h"
#include "gui/saveload.h"
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp
index f93a6716b9..f4392df8f2 100644
--- a/engines/sci/engine/kmovement.cpp
+++ b/engines/sci/engine/kmovement.cpp
@@ -128,7 +128,7 @@ reg_t kSetJump(EngineState *s, int argc, reg_t *argv) {
debugC(kDebugLevelBresen, "c: %d, tmp: %d", c, tmp);
// Compute x step
- if (tmp != 0)
+ if (tmp != 0 && dx != 0)
vx = (int16)((float)(dx * sqrt(gy / (2.0 * tmp))));
else
vx = 0;
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp
index 911713d0bd..7fb6ac296e 100644
--- a/engines/sci/engine/ksound.cpp
+++ b/engines/sci/engine/ksound.cpp
@@ -32,6 +32,7 @@
#include "sci/sound/soundcmd.h"
#include "audio/mixer.h"
+#include "common/system.h"
namespace Sci {
diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp
index 6a411d8e23..a8d4437148 100644
--- a/engines/sci/engine/kvideo.cpp
+++ b/engines/sci/engine/kvideo.cpp
@@ -29,7 +29,14 @@
#include "sci/graphics/cursor.h"
#include "sci/graphics/palette.h"
#include "sci/graphics/screen.h"
-#include "graphics/cursorman.h"
+#include "common/events.h"
+#include "common/keyboard.h"
+#include "common/str.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
+#include "video/video_decoder.h"
#include "video/avi_decoder.h"
#include "video/qt_decoder.h"
#include "sci/video/seq_decoder.h"
diff --git a/engines/sci/engine/object.h b/engines/sci/engine/object.h
index 81d5b2c983..8ae06f2707 100644
--- a/engines/sci/engine/object.h
+++ b/engines/sci/engine/object.h
@@ -28,6 +28,7 @@
#include "common/array.h"
#include "common/serializer.h"
+#include "common/textconsole.h"
#include "sci/sci.h" // for the SCI versions
#include "sci/engine/vm_types.h" // for reg_t
diff --git a/engines/sci/engine/script.cpp b/engines/sci/engine/script.cpp
index fb96518f19..25bf91c3ad 100644
--- a/engines/sci/engine/script.cpp
+++ b/engines/sci/engine/script.cpp
@@ -611,7 +611,7 @@ void Script::initialiseObjectsSci0(SegManager *segMan, SegmentId segmentId) {
// #3150767.
// Same happens with script 764, it seems to
// contain junk towards its end.
- _objects.erase(addr.toUint16() + (getSciVersion() < SCI_VERSION_1_1) ? 8 : 0);
+ _objects.erase(addr.toUint16() - SCRIPT_OBJECT_MAGIC_OFFSET);
} else {
error("Failed to locate base object for object at %04X:%04X", PRINT_REG(addr));
}
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 54ae88a17e..06540e6f43 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -874,9 +874,50 @@ const uint16 qfg3PatchDialogCrash[] = {
PATCH_END
};
+// Part of script 47 that handles the barter icon checks for the wrong local.
+// The local is supposed to contain the value returned by a previous kDisplay
+// call, but since the wrong one is checked, it contains junk instead. We
+// remove that check here (this doesn't affect the game at all). This occurs
+// when attempting to purchase something from a vendor and the barter button is
+// available (e.g. when buying the robe or meat from the associated vendors).
+// Fixes bug #3292251.
+const byte qfg3BarterCrash[] = {
+ 22,
+ 0x83, 0x10, // lal 10 ---> BUG! Wrong local
+ 0x30, 0x11, 0x00, // bnt 0011 ---> the accumulator will now contain garbage, so this check fails
+ 0x35, 0x00, // ldi 00
+ 0xa5, 0x00, // sat 00
+ 0x39, 0x03, // pushi 03
+ 0x5b, 0x04, 0x00, // lea 04 00
+ 0x36, // push
+ 0x39, 0x6c, // pushi 6c
+ 0x8b, 0x10, // lsl 10 ---> local 10 contains garbage, so the call below will fail
+ 0x43, 0x1b, 0x06 // callk Display[1b] 06
+};
+
+// Same as above, but for local 0x11
+const byte qfg3BarterCrash2[] = {
+ 18,
+ 0x83, 0x11, // lal 11 ---> BUG! Wrong local
+ 0x30, 0x0d, 0x00, // bnt 000d ---> the accumulator will now contain garbage, so this check fails
+ 0x39, 0x03, // pushi 03
+ 0x5b, 0x04, 0x00, // lea 04 00
+ 0x36, // push
+ 0x39, 0x6c, // pushi 6c
+ 0x8b, 0x11, // lsl 11 ---> local 11 contains garbage, so the call below will fail
+ 0x43, 0x1b, 0x06 // callk Display[1b] 06
+};
+
+const uint16 qfg3PatchBarterCrash[] = {
+ 0x35, 0x00, // ldi 00 ---> the accumulator will always be zero, so the problematic code won't run
+ PATCH_END
+};
+
// script, description, magic DWORD, adjust
const SciScriptSignature qfg3Signatures[] = {
{ 23, "dialog crash", 1, PATCH_MAGICDWORD(0xe7, 0x03, 0x22, 0x33), -1, qfg3DialogCrash, qfg3PatchDialogCrash },
+ { 47, "barter crash", 1, PATCH_MAGICDWORD(0x83, 0x10, 0x30, 0x11), 0, qfg3BarterCrash, qfg3PatchBarterCrash },
+ { 47, "barter crash 2", 1, PATCH_MAGICDWORD(0x83, 0x11, 0x30, 0x0d), 0, qfg3BarterCrash2, qfg3PatchBarterCrash },
{ 944, "import dialog continuous calls", 1, PATCH_MAGICDWORD(0x2a, 0x31, 0x0b, 0x7a), -1, qfg3SignatureImportDialog, qfg3PatchImportDialog },
SCI_SIGNATUREENTRY_TERMINATOR
};
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index d91118ec1e..cd6d56500a 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -32,8 +32,8 @@
#include "common/str-array.h"
namespace Common {
- class SeekableReadStream;
- class WriteStream;
+class SeekableReadStream;
+class WriteStream;
}
#include "sci/sci.h"
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index d209a0ca5b..b441815014 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -25,8 +25,6 @@
#include "common/debug.h"
#include "common/debug-channels.h"
-#include "common/stack.h"
-#include "common/config-manager.h"
#include "sci/sci.h"
#include "sci/console.h"
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 0fba7a59e3..20d6cd0dd0 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -74,6 +74,11 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
{ GID_HOYLE4, -1, 0, 0, NULL, "open", -1, -1, { WORKAROUND_FAKE, 0 } }, // when selecting "Control" from the menu (temp vars 0-3) - bug #3039294
{ GID_HOYLE4, 910, 18, 0, NULL, "init", -1, 0, { WORKAROUND_FAKE, 0 } }, // during tutorial - bug #3042756
{ GID_HOYLE4, 910, 910, 0, NULL, "setup", -1, 3, { WORKAROUND_FAKE, 0 } }, // when selecting "Tutorial" from the main menu - bug #3039294
+ { GID_HOYLE4, 700, 718, 0, "compete_tree", "doit", -1, 75, { WORKAROUND_FAKE, 0 } }, // when placing a bid in bridge - bug #3292332
+ { GID_HOYLE4, 700, 716, 0, "other1_tree", "doit", -1, 46, { WORKAROUND_FAKE, 0 } }, // sometimes when placing a bid in bridge
+ { GID_HOYLE4, 700, 700, 1, "BridgeHand", "calcQTS", -1, 3, { WORKAROUND_FAKE, 0 } }, // sometimes when placing a bid in bridge
+ { GID_HOYLE4, 300, 300, 0, "", "export 2", 0x1d4d, 0, { WORKAROUND_FAKE, 0 } }, // after passing around cards in hearts
+ { GID_HOYLE4, 400, 400, 1, "GinHand", "calcRuns", -1, 4, { WORKAROUND_FAKE, 0 } }, // sometimes while playing Gin Rummy (e.g. when knocking and placing a card) - bug #3292334
{ GID_ISLANDBRAIN, 100, 937, 0, "IconBar", "dispatchEvent", -1, 58, { WORKAROUND_FAKE, 0 } }, // when using ENTER at the startup menu - bug #3045225
{ GID_ISLANDBRAIN, 140, 140, 0, "piece", "init", -1, 3, { WORKAROUND_FAKE, 1 } }, // first puzzle right at the start, some initialization variable. bnt is done on it, and it should be non-0
{ GID_ISLANDBRAIN, 200, 268, 0, "anElement", "select", -1, 0, { WORKAROUND_FAKE, 0 } }, // elements puzzle, gets used before super TextIcon
@@ -251,6 +256,7 @@ const SciWorkaroundEntry kGetAngle_workarounds[] = {
// gameID, room,script,lvl, object-name, method-name, call,index, workaround
const SciWorkaroundEntry kFindKey_workarounds[] = {
{ GID_ECOQUEST2, 100, 999, 0, "myList", "contains", -1, 0, { WORKAROUND_FAKE, 0 } }, // When Noah Greene gives Adam the Ecorder, and just before the game gives a demonstration, a null reference to a list is passed - bug #3035186
+ { GID_HOYLE4, 300, 999, 0, "Piles", "contains", -1, 0, { WORKAROUND_FAKE, 0 } }, // When passing the three cards in Hearts, a null reference to a list is passed - bug #3292333
SCI_WORKAROUNDENTRY_TERMINATOR
};
diff --git a/engines/sci/graphics/fontsjis.h b/engines/sci/graphics/fontsjis.h
index 684e6cac5e..5538b5c2c5 100644
--- a/engines/sci/graphics/fontsjis.h
+++ b/engines/sci/graphics/fontsjis.h
@@ -29,7 +29,7 @@
#include "sci/graphics/helpers.h"
namespace Graphics {
- class FontSJIS;
+class FontSJIS;
}
namespace Sci {
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index dd55b3b060..7fafe843fd 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -23,9 +23,15 @@
*
*/
-#include "common/util.h"
-#include "common/stack.h"
-#include "graphics/primitives.h"
+#include "common/algorithm.h"
+#include "common/events.h"
+#include "common/keyboard.h"
+#include "common/list_intern.h"
+#include "common/str.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "engines/engine.h"
+#include "graphics/surface.h"
#include "sci/sci.h"
#include "sci/engine/kernel.h"
diff --git a/engines/sci/graphics/maciconbar.h b/engines/sci/graphics/maciconbar.h
index 3ac5475147..72609d19ab 100644
--- a/engines/sci/graphics/maciconbar.h
+++ b/engines/sci/graphics/maciconbar.h
@@ -31,7 +31,7 @@
#include "sci/engine/vm.h"
namespace Graphics {
- struct Surface;
+struct Surface;
}
namespace Sci {
diff --git a/engines/sci/graphics/paint.cpp b/engines/sci/graphics/paint.cpp
index c347da3c0f..27a0bdfc44 100644
--- a/engines/sci/graphics/paint.cpp
+++ b/engines/sci/graphics/paint.cpp
@@ -23,8 +23,6 @@
*
*/
-#include "common/util.h"
-#include "common/stack.h"
#include "graphics/primitives.h"
#include "sci/sci.h"
diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp
index ff738fc3b9..5172f7cdc0 100644
--- a/engines/sci/graphics/paint16.cpp
+++ b/engines/sci/graphics/paint16.cpp
@@ -23,11 +23,6 @@
*
*/
-#include "common/util.h"
-#include "common/stack.h"
-#include "common/system.h"
-#include "graphics/primitives.h"
-
#include "sci/sci.h"
#include "sci/engine/features.h"
#include "sci/engine/state.h"
@@ -302,6 +297,11 @@ void GfxPaint16::bitsShow(const Common::Rect &rect) {
return;
_ports->offsetRect(workerRect);
+
+ // We adjust the left/right coordinates to even coordinates
+ workerRect.left &= 0xFFFE; // round down
+ workerRect.right = (workerRect.right + 1) & 0xFFFE; // round up
+
_screen->copyRectToScreen(workerRect);
}
@@ -472,6 +472,7 @@ void GfxPaint16::kernelGraphRedrawBox(Common::Rect rect) {
#define SCI_DISPLAY_RESTOREUNDER 108
#define SCI_DISPLAY_DUMMY1 114 // used in longbow demo/qfg1 ega demo, not supported in sierra sci - no parameters
#define SCI_DISPLAY_DUMMY2 115 // used in longbow demo, not supported in sierra sci - has 1 parameter
+#define SCI_DISPLAY_DUMMY3 117 // used in qfg1 ega demo, not supported in sierra sci - no parameters
#define SCI_DISPLAY_DONTSHOWBITS 121
reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
@@ -542,9 +543,10 @@ reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
break;
// 2 Dummy functions, longbow-demo is using those several times but sierra sci doesn't support them at all
- // The Quest for Glory 1 EGA demo also calls kDisplay(114)
+ // The Quest for Glory 1 EGA demo also calls kDisplay(114) and kDisplay(117)
case SCI_DISPLAY_DUMMY1:
case SCI_DISPLAY_DUMMY2:
+ case SCI_DISPLAY_DUMMY3:
if (!g_sci->isDemo() || (g_sci->getGameId() != GID_LONGBOW && g_sci->getGameId() != GID_QFG1))
error("Unknown kDisplay argument %d", displayArg.offset);
if (displayArg.offset == SCI_DISPLAY_DUMMY2) {
diff --git a/engines/sci/graphics/paint32.cpp b/engines/sci/graphics/paint32.cpp
index 69a278eb8b..f277436631 100644
--- a/engines/sci/graphics/paint32.cpp
+++ b/engines/sci/graphics/paint32.cpp
@@ -23,11 +23,6 @@
*
*/
-#include "common/util.h"
-#include "common/stack.h"
-
-#include "graphics/primitives.h"
-
#include "sci/sci.h"
#include "sci/engine/state.h"
#include "sci/engine/selector.h"
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp
index 0433479a09..42551e9369 100644
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@ -28,6 +28,8 @@
#include "common/util.h"
#include "common/system.h"
+#include "graphics/palette.h"
+
#include "sci/sci.h"
#include "sci/engine/state.h"
#include "sci/graphics/cache.h"
diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp
index 6e9df2f019..3f9ebaa07a 100644
--- a/engines/sci/graphics/portrait.cpp
+++ b/engines/sci/graphics/portrait.cpp
@@ -24,9 +24,7 @@
*/
#include "common/archive.h"
-#include "common/util.h"
-#include "common/stack.h"
-#include "graphics/primitives.h"
+#include "common/system.h"
#include "sci/sci.h"
#include "sci/event.h"
diff --git a/engines/sci/graphics/transitions.cpp b/engines/sci/graphics/transitions.cpp
index fb124055d6..dde1be13ab 100644
--- a/engines/sci/graphics/transitions.cpp
+++ b/engines/sci/graphics/transitions.cpp
@@ -24,9 +24,8 @@
*/
#include "common/events.h"
-#include "common/util.h"
-#include "common/stack.h"
#include "common/system.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "sci/sci.h"
diff --git a/engines/sci/parser/grammar.cpp b/engines/sci/parser/grammar.cpp
index 77db56adba..b330a432e3 100644
--- a/engines/sci/parser/grammar.cpp
+++ b/engines/sci/parser/grammar.cpp
@@ -31,6 +31,7 @@
#include "sci/parser/vocabulary.h"
#include "sci/console.h"
#include "common/array.h"
+#include "common/textconsole.h"
namespace Sci {
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 4caa77b0ae..a48ae0fad7 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -28,6 +28,7 @@
#include "common/file.h"
#include "common/fs.h"
#include "common/macresman.h"
+#include "common/textconsole.h"
#include "sci/resource.h"
#include "sci/resource_intern.h"
@@ -1275,7 +1276,7 @@ ResVersion ResourceManager::detectVolVersion() {
// SCI32 volume format: {bResType wResNumber dwPacked dwUnpacked wCompression} = 13 bytes
// Try to parse volume with SCI0 scheme to see if it make sense
// Checking 1MB of data should be enough to determine the version
- uint16 resId, wCompression;
+ uint16 wCompression;
uint32 dwPacked, dwUnpacked;
ResVersion curVersion = kResVersionSci0Sci1Early;
bool failed = false;
@@ -1285,7 +1286,7 @@ ResVersion ResourceManager::detectVolVersion() {
while (!fileStream->eos() && fileStream->pos() < 0x100000) {
if (curVersion > kResVersionSci0Sci1Early)
fileStream->readByte();
- resId = fileStream->readUint16LE();
+ fileStream->skip(2); // resId
dwPacked = (curVersion < kResVersionSci2) ? fileStream->readUint16LE() : fileStream->readUint32LE();
dwUnpacked = (curVersion < kResVersionSci2) ? fileStream->readUint16LE() : fileStream->readUint32LE();
diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp
index 6e74553f56..1e0b9c0ddf 100644
--- a/engines/sci/resource_audio.cpp
+++ b/engines/sci/resource_audio.cpp
@@ -27,6 +27,7 @@
#include "common/archive.h"
#include "common/file.h"
+#include "common/textconsole.h"
#include "sci/resource.h"
#include "sci/resource_intern.h"
diff --git a/engines/sci/resource_intern.h b/engines/sci/resource_intern.h
index 98cca6283c..969e250e62 100644
--- a/engines/sci/resource_intern.h
+++ b/engines/sci/resource_intern.h
@@ -29,7 +29,7 @@
#include "sci/resource.h"
namespace Common {
- class MacResManager;
+class MacResManager;
}
namespace Sci {
diff --git a/engines/sci/sound/drivers/adlib.cpp b/engines/sci/sound/drivers/adlib.cpp
index 65a8e2e3da..f00c99d5b5 100644
--- a/engines/sci/sound/drivers/adlib.cpp
+++ b/engines/sci/sound/drivers/adlib.cpp
@@ -26,6 +26,8 @@
#include "sci/sci.h"
#include "common/file.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/fmopl.h"
#include "audio/softsynth/emumidi.h"
diff --git a/engines/sci/sound/drivers/amigamac.cpp b/engines/sci/sound/drivers/amigamac.cpp
index 030b095cc9..7ee8d21f86 100644
--- a/engines/sci/sound/drivers/amigamac.cpp
+++ b/engines/sci/sound/drivers/amigamac.cpp
@@ -30,6 +30,8 @@
#include "common/file.h"
#include "common/frac.h"
#include "common/memstream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Sci {
diff --git a/engines/sci/sound/drivers/cms.cpp b/engines/sci/sound/drivers/cms.cpp
index 051fa7f1fd..47c59a1e3d 100644
--- a/engines/sci/sound/drivers/cms.cpp
+++ b/engines/sci/sound/drivers/cms.cpp
@@ -29,6 +29,8 @@
#include "audio/softsynth/cms.h"
#include "audio/mixer.h"
+#include "common/system.h"
+
#include "sci/resource.h"
namespace Sci {
diff --git a/engines/sci/sound/drivers/fb01.cpp b/engines/sci/sound/drivers/fb01.cpp
index 971c2ff92d..f217738bb2 100644
--- a/engines/sci/sound/drivers/fb01.cpp
+++ b/engines/sci/sound/drivers/fb01.cpp
@@ -30,6 +30,7 @@
#include "common/file.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace Sci {
diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp
index 9eef867aeb..f36aac3a2a 100644
--- a/engines/sci/sound/drivers/midi.cpp
+++ b/engines/sci/sound/drivers/midi.cpp
@@ -745,7 +745,7 @@ uint8 MidiPlayer_Midi::getGmInstrument(const Mt32ToGmMap &Mt32Ins) {
void MidiPlayer_Midi::mapMt32ToGm(byte *data, size_t size) {
// FIXME: Clean this up
int memtimbres, patches;
- uint8 group, number, keyshift, finetune, bender_range;
+ uint8 group, number, keyshift, /*finetune,*/ bender_range;
uint8 *patchpointer;
uint32 pos;
int i;
@@ -784,7 +784,7 @@ void MidiPlayer_Midi::mapMt32ToGm(byte *data, size_t size) {
group = *patchpointer;
number = *(patchpointer + 1);
keyshift = *(patchpointer + 2);
- finetune = *(patchpointer + 3);
+ //finetune = *(patchpointer + 3);
bender_range = *(patchpointer + 4);
debugCN(kDebugLevelSound, " [%03d] ", i);
diff --git a/engines/sci/sound/drivers/pcjr.cpp b/engines/sci/sound/drivers/pcjr.cpp
index 063332577e..4b1efb3c87 100644
--- a/engines/sci/sound/drivers/pcjr.cpp
+++ b/engines/sci/sound/drivers/pcjr.cpp
@@ -27,6 +27,9 @@
#include "audio/softsynth/emumidi.h"
+#include "common/debug.h"
+#include "common/system.h"
+
namespace Sci {
#define VOLUME_SHIFT 3
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 9ad964b67e..a2b09eab4c 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -325,14 +325,6 @@ reg_t SoundCommandParser::kDoSoundFade(int argc, reg_t *argv, reg_t acc) {
return acc;
}
- // If the current volume of the slot is the same as the target volume,
- // return without performing any fading. This fixes the music in room
- // 406 in KQ6 (bug #3267956), where the game scripts ask for the background
- // music to be played, and then faded to volume 127 (but the music is
- // already at volume 127) and subsequently stopped.
- if (argc >= 4 && musicSlot->volume == CLIP<uint16>(argv[1].toUint16(), 0, MUSIC_VOLUME_MAX))
- return acc;
-
switch (argc) {
case 1: // SCI0
// SCI0 fades out all the time and when fadeout is done it will also
@@ -353,7 +345,25 @@ reg_t SoundCommandParser::kDoSoundFade(int argc, reg_t *argv, reg_t acc) {
musicSlot->fadeStep = volume > musicSlot->fadeTo ? -5 : 5;
musicSlot->fadeTickerStep = argv[2].toUint16() * 16667 / _music->soundGetTempo();
musicSlot->fadeTicker = 0;
- musicSlot->stopAfterFading = (argc == 5) ? (argv[4].toUint16() != 0) : false;
+
+ if (argc == 5) {
+ // TODO: We currently treat this argument as a boolean, but may
+ // have to handle different non-zero values differently. (e.g.,
+ // some KQ6 scripts pass 3 here)
+ musicSlot->stopAfterFading = (argv[4].toUint16() != 0);
+ } else {
+ musicSlot->stopAfterFading = false;
+ }
+
+ // WORKAROUND/HACK: In the labyrinth in KQ6, when falling in the pit and
+ // lighting the lantern, the game scripts perform a fade in of the game
+ // music, but set it to stop after fading. Remove that flag here. This is
+ // marked as both a workaround and a hack because this issue could be a
+ // problem with our fading code and an incorrect handling of that
+ // parameter, or a script bug in that scene. Fixes bug #3267956.
+ if (g_sci->getGameId() == GID_KQ6 && g_sci->getEngineState()->currentRoomNumber() == 406 &&
+ musicSlot->resourceId == 400)
+ musicSlot->stopAfterFading = false;
break;
default:
diff --git a/engines/sci/video/robot_decoder.cpp b/engines/sci/video/robot_decoder.cpp
index 25c43b56df..debc75dffd 100644
--- a/engines/sci/video/robot_decoder.cpp
+++ b/engines/sci/video/robot_decoder.cpp
@@ -23,11 +23,10 @@
*
*/
-#include "common/debug.h"
-#include "common/endian.h"
#include "common/archive.h"
#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "graphics/surface.h"
diff --git a/engines/sci/video/robot_decoder.h b/engines/sci/video/robot_decoder.h
index 52bf0bad07..aeb638e019 100644
--- a/engines/sci/video/robot_decoder.h
+++ b/engines/sci/video/robot_decoder.h
@@ -32,6 +32,7 @@
#include "common/substream.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
+#include "graphics/pixelformat.h"
#include "video/video_decoder.h"
namespace Sci {
diff --git a/engines/sci/video/seq_decoder.cpp b/engines/sci/video/seq_decoder.cpp
index 962884b494..7168496893 100644
--- a/engines/sci/video/seq_decoder.cpp
+++ b/engines/sci/video/seq_decoder.cpp
@@ -23,12 +23,10 @@
*
*/
-#include "common/debug.h"
#include "common/endian.h"
-#include "common/archive.h"
#include "common/stream.h"
#include "common/system.h"
-#include "common/util.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/engines/sci/video/seq_decoder.h b/engines/sci/video/seq_decoder.h
index 70aaa661ae..70d3985ec5 100644
--- a/engines/sci/video/seq_decoder.h
+++ b/engines/sci/video/seq_decoder.h
@@ -26,8 +26,18 @@
#ifndef SCI_VIDEO_SEQ_DECODER_H
#define SCI_VIDEO_SEQ_DECODER_H
+#include "common/rational.h"
+#include "graphics/pixelformat.h"
#include "video/video_decoder.h"
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+struct Surface;
+}
+
namespace Sci {
/**
diff --git a/engines/scumm/costume.cpp b/engines/scumm/costume.cpp
index cd366fcfd4..d0a3ec6e11 100644
--- a/engines/scumm/costume.cpp
+++ b/engines/scumm/costume.cpp
@@ -419,6 +419,11 @@ void ClassicCostumeRenderer::procC64(Codec1 &v1, int actor) {
#undef MASK_AT
#ifdef USE_ARM_COSTUME_ASM
+
+#ifndef IPHONE
+#define ClassicProc3RendererShadowARM _ClassicProc3RendererShadowARM
+#endif
+
extern "C" int ClassicProc3RendererShadowARM(int _scaleY,
ClassicCostumeRenderer::Codec1 *v1,
Graphics::Surface *_out,
diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp
index 63188c1d7a..4c1942b865 100644
--- a/engines/scumm/debugger.cpp
+++ b/engines/scumm/debugger.cpp
@@ -23,7 +23,6 @@
*
*/
-#include "common/config-manager.h"
#include "common/debug-channels.h"
#include "common/file.h"
#include "common/str.h"
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index 87ec7b85a4..6db3ea740a 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -994,7 +994,7 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) co
Common::FSList fslist;
Common::FSNode dir(ConfMan.get("path"));
if (!dir.isDirectory())
- return Common::kInvalidPathError;
+ return Common::kPathNotDirectory;
if (!dir.getChildren(fslist, Common::FSNode::kListFilesOnly))
return Common::kNoGameDataFoundError;
diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index a5542ca868..d66798cbf1 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -372,7 +372,7 @@ static const GameSettings gameVariantsTable[] = {
{"arttime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"baseball2001", 0, 0, GID_BASEBALL2001, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"readtime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
- {"SoccerMLS", 0, 0, GID_SOCCER, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+ {"SoccerMLS", 0, 0, GID_SOCCERMLS, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"spyozon", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"freddicove", "", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
@@ -386,7 +386,7 @@ static const GameSettings gameVariantsTable[] = {
{"Baseball2003", 0, 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"basketball", 0, 0, GID_BASKETBALL, 6, 100, MDT_NONE, GF_USE_KEY| GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"football2002", 0, 0, GID_FOOTBALL, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
- {"Soccer2004", 0, 0, GID_SOCCER, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+ {"Soccer2004", 0, 0, GID_SOCCER2004, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
// U32 code required, for testing only
{"moonbase", 0, 0, GID_MOONBASE, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h
index 0e6e18905f..40e549471b 100644
--- a/engines/scumm/dialogs.h
+++ b/engines/scumm/dialogs.h
@@ -33,8 +33,8 @@
#include "scumm/detection.h"
namespace GUI {
- class ListWidget;
- class CommandSender;
+class ListWidget;
+class CommandSender;
}
diff --git a/engines/scumm/file_nes.cpp b/engines/scumm/file_nes.cpp
index d9d84f04ff..47704d6eaf 100644
--- a/engines/scumm/file_nes.cpp
+++ b/engines/scumm/file_nes.cpp
@@ -28,6 +28,7 @@
#include "common/endian.h"
#include "common/md5.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
namespace Scumm {
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index b509bb9676..e7abd5610e 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -36,6 +36,12 @@
#include "scumm/util.h"
#ifdef USE_ARM_GFX_ASM
+
+#ifndef IPHONE
+#define asmDrawStripToScreen _asmDrawStripToScreen
+#define asmCopy8Col _asmCopy8Col
+#endif
+
extern "C" void asmDrawStripToScreen(int height, int width, void const* text, void const* src, byte* dst,
int vsPitch, int vmScreenWidth, int textSurfacePitch);
extern "C" void asmCopy8Col(byte* dst, int dstPitch, const byte* src, int height, uint8 bitDepth);
diff --git a/engines/scumm/gfxARM.s b/engines/scumm/gfxARM.s
index 34de954a17..9f7c2949b3 100644
--- a/engines/scumm/gfxARM.s
+++ b/engines/scumm/gfxARM.s
@@ -25,8 +25,8 @@
.text
- .global asmDrawStripToScreen
- .global asmCopy8Col
+ .global _asmDrawStripToScreen
+ .global _asmCopy8Col
@ ARM implementation of asmDrawStripToScreen.
@
@@ -44,7 +44,7 @@
@ In addition, we assume that text, src and dst are all word (4 byte)
@ aligned. This is the same assumption that the old 'inline' version
@ made.
-asmDrawStripToScreen:
+_asmDrawStripToScreen:
@ r0 = height
@ r1 = width
@ r2 = text
@@ -125,7 +125,7 @@ end:
@ In addition, we assume that src and dst are both word (4 byte)
@ aligned. This is the same assumption that the old 'inline' version
@ made.
-asmCopy8Col:
+_asmCopy8Col:
@ r0 = dst
@ r1 = dstPitch
@ r2 = src
diff --git a/engines/scumm/he/cup_player_he.cpp b/engines/scumm/he/cup_player_he.cpp
index a16af73135..5cd75a5c62 100644
--- a/engines/scumm/he/cup_player_he.cpp
+++ b/engines/scumm/he/cup_player_he.cpp
@@ -30,6 +30,7 @@
#include "audio/audiostream.h"
#include "audio/mixer.h"
#include "audio/decoders/raw.h"
+#include "graphics/palette.h"
#include "scumm/scumm.h"
#include "scumm/util.h"
#include "scumm/he/intern_he.h"
diff --git a/engines/scumm/he/logic_he.cpp b/engines/scumm/he/logic_he.cpp
index c088fd6e22..297c2992db 100644
--- a/engines/scumm/he/logic_he.cpp
+++ b/engines/scumm/he/logic_he.cpp
@@ -823,8 +823,18 @@ int LogicHEsoccer::versionID() {
}
LogicHEsoccer::LogicHEsoccer(ScummEngine_v90he *vm) : LogicHE(vm) {
- // Originally it used 0x1b0d bytes
_userDataD = (double *)calloc(1732, sizeof(double));
+ _intArray1 = 0;
+ _intArray2 = 0;
+ _intArraysAllocated = false;
+ _array1013 = 0;
+ _array1013Allocated = false;
+}
+
+LogicHEsoccer::~LogicHEsoccer() {
+ free(_userDataD);
+ op_1020(); // clear int arrays
+ delete[] _array1013;
}
int32 LogicHEsoccer::dispatch(int op, int numArgs, int32 *args) {
@@ -843,6 +853,37 @@ int32 LogicHEsoccer::dispatch(int op, int numArgs, int32 *args) {
res = op_1004(args);
break;
+ case 1006:
+ res = op_1006(args[0], args[1], args[2], args[3]);
+ break;
+
+ case 1011:
+ // args[4] is ignored!
+ // soccer passes the argument, but then ends up not using it
+ // Makes sense that they removed it for soccermls
+ res = op_1011(args[0], args[1], args[2], args[3], args[5]);
+ break;
+
+ case 1012:
+ res = op_1012(args);
+ break;
+
+ case 1013:
+ res = op_1013(args[0], args[1], args[2]);
+ break;
+
+ case 1019:
+ res = op_1019(args);
+ break;
+
+ case 1020:
+ res = op_1020();
+ break;
+
+ case 1021:
+ res = op_1021(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+ break;
+
case 8221968:
// Someone had a fun and used his birthday as opcode number
res = getFromArray(args[0], args[1], args[2]);
@@ -856,6 +897,32 @@ int32 LogicHEsoccer::dispatch(int op, int numArgs, int32 *args) {
return res;
}
+void LogicHEsoccer::beforeBootScript() {
+ if (_intArraysAllocated)
+ op_1020();
+
+ _userDataD[530] = 0;
+}
+
+void LogicHEsoccer::initOnce() {
+ // The original sets some paths here that we don't need to worry about
+ _array1013Allocated = false;
+ _userDataD[530] = 0;
+}
+
+int LogicHEsoccer::startOfFrame() {
+ // This variable is some sort of flag that activates this mode
+ int res = (int)_userDataD[530];
+
+ // _userDataD[535] is not used!
+ // soccer passes the argument, but then ends up not using it
+ // Makes sense that they removed it for soccermls
+ if (res)
+ res = op_1011((int)_userDataD[531], (int)_userDataD[532], (int)_userDataD[533], (int)_userDataD[534], (int)_userDataD[536]);
+
+ return res;
+}
+
int LogicHEsoccer::op_1001(int32 *args) {
return (int)(args[0] * sin((float)args[1]));
}
@@ -901,16 +968,16 @@ int LogicHEsoccer::op_1004(int32 *args) {
return 1;
}
-int LogicHEsoccer::op_1006(int32 *args) {
- double a1 = args[1] * 0.01;
- double a2 = args[2] * 0.01;
- double a3 = args[3] * 0.01;
+int LogicHEsoccer::op_1006(int32 a1, int32 a2, int32 a3, int32 a4) {
+ double v1 = a1 * 0.01;
+ double v2 = a2 * 0.01;
+ double v3 = a3 * 0.01;
double var108, var109;
- _userDataD[529] = args[4];
+ _userDataD[529] = a4;
- var108 = atan2(a1, a3) * _userDataD[523] - args[4];
- var109 = _userDataD[526] - _userDataD[528] + (_userDataD[521] - atan2(_userDataD[524] - a2, a3)) * _userDataD[522];
+ var108 = atan2(v1, v3) * _userDataD[523] - a4;
+ var109 = _userDataD[526] - _userDataD[528] + (_userDataD[521] - atan2(_userDataD[524] - v2, v3)) * _userDataD[522];
writeScummVar(108, (int32)var108);
writeScummVar(109, (int32)var109);
@@ -919,37 +986,358 @@ int LogicHEsoccer::op_1006(int32 *args) {
}
int LogicHEsoccer::op_1007(int32 *args) {
- // TODO: Used when the HE logo is shown
+ // Used when the HE logo is shown
+ // This initializes the _userDataD fields that are used in op_1006/op_1011
+
+ _intArraysAllocated = false;
+ double v14 = (double)args[0] * 0.01;
+ double v13 = (double)args[2] * 0.01;
+ _userDataD[524] = v14;
+ double v12 = atan2(v13, v14);
+ _userDataD[520] = v12;
+ double v15 = atan2(v13 - (double)args[4] * 0.01, (double)args[3] * 0.01);
+ double v19 = v15 * 2.0;
+ double v17 = atan2(v13 - (double)args[4] * 0.01, v14);
+ _userDataD[519] = v19;
+ _userDataD[521] = v17;
+ _userDataD[525] = (v17 - v12) * 2.0;
+ _userDataD[527] = (double)args[5];
+ _userDataD[526] = (double)args[6];
+ _userDataD[528] = (double)args[7];
+ _userDataD[522] = _userDataD[526] / _userDataD[525];
+ _userDataD[523] = _userDataD[527] / _userDataD[519];
+ _userDataD[518] = v13;
+
+ // Clear both byte arrays
+ memset(_byteArray1, 0, 4096);
+ memset(_byteArray2, 0, 585);
+
+ if (_array1013Allocated == 0 )
+ op_1013(4, args[8], args[9]);
return 1;
}
+// Returns the square root of the sum of the squares of the arguments
+static inline double sqrtSquare(double a1, double a2, double a3) {
+ return sqrt(a1 * a1 + a2 * a2 + a3 * a3);
+}
+
int LogicHEsoccer::op_1008(int32 *args) {
// TODO: Used during a match (kicking?)
return 1;
}
+int LogicHEsoccer::op_1011(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5) {
+ // This is called on each frame by startOfFrame() if activated by op_1012.
+ // This seems to do player placement!
+
+ float v28 = 0.0;
+
+ for (int i = 0; i < 18; i++) {
+ // These seem to be some sort of percent? of angles?
+ int v32 = getFromArray(a1, i, 0);
+ int v6 = getFromArray(a1, i, 1);
+ int v30 = getFromArray(a1, i, 2);
+
+ float v29 = (double)v32 / 100.0;
+ v28 = (double)v6 / 100.0;
+ float v31 = (double)v30 / 100.0;
+
+ if (i < 13) {
+ int v25 = ((v32 + 2760) / 500 >= 0) ? ((v32 + 2750) / 500) : 0;
+ int v24 = 10;
+
+ if (v25 <= 10) {
+ int v23 = 0;
+ if ((v32 + 2750) / 500 >= 0)
+ v23 = (v32 + 2750) / 500;
+
+ v24 = v23;
+ }
+
+ int v22 = 0;
+ if ((9219 - v30) / 500 >= 0)
+ v22 = (9219 - v30) / 500;
+
+ int v21 = 6;
+ if (v22 <= 6) {
+ int v20 = 0;
+ if ((9219 - v30) / 500 >= 0)
+ v20 = (9219 - v30) / 500;
+ v21 = v20;
+ }
+
+ if (a5)
+ putInArray(a5, 0, i, v24 + 11 * v21);
+ }
+
+ float v7 = atan2(_userDataD[524] - v28, (double)v31);
+ int v8 = (int)(_userDataD[526] - (_userDataD[521] - v7) * _userDataD[522] + 300.0);
+
+ double v9 = atan2(_userDataD[523], (double)v31);
+ // x/y position?
+ putInArray(a2, i, 0, (int32)(v29 * v9 + 640.0));
+ putInArray(a2, i, 1, v8);
+
+ double v10 = atan2(_userDataD[524], (double)v31);
+ int v12 = (int)(_userDataD[526] - (_userDataD[521] - (float)v10) * _userDataD[522] + 300.0);
+ double v13 = _userDataD[523];
+
+ v29 = atan2(v29, v31);
+ // x/y position?
+ putInArray(a2, i + 22, 0, (int32)(v29 * v13 + 640.0));
+ putInArray(a2, i + 22, 1, v12);
+ }
+
+ // soccer only uses one array here
+ // soccermls/soccer2004 use four
+ int start = (_vm->_game.id == GID_SOCCER) ? 19 : 18;
+ int end = (_vm->_game.id == GID_SOCCER) ? 19 : 21;
+
+ for (int i = start; i <= end; i++) {
+ int v14 = getFromArray(a2, i, 0);
+ int v15 = getFromArray(a2, i, 1);
+
+ // This retains v28 from (i == 17)?
+ float v16 = _userDataD[524] - v28;
+ float v17 = v16 / tan((_userDataD[528] + v15 - _userDataD[526]) / (_userDataD[522] + _userDataD[521]));
+ double v18 = tan((double)(v14 - 640) / _userDataD[523]) * v17;
+ putInArray(a1, i, 0, (int)(v18 * 100.0));
+ putInArray(a1, i, 2, (int)(v17 * 100.0));
+ }
+
+ op_1011_sub(a1, a3, a4, a4);
+
+ return 1;
+}
+
+static inline int distance(int a1, int a2, int a3, int a4) {
+ return (int)sqrt((double)((a4 - a3) * (a4 - a3) + (a2 - a1) * (a2 - a1)));
+}
+
+void LogicHEsoccer::op_1011_sub(int32 a1, int32 a2, int32 a3, int32 a4) {
+ // As you can guess, this is called from op_1011
+ // This seems to be checking distances between the players and the ball
+ // and which distance is the shortest.
+
+ int v6[13];
+ int v7[13];
+ int v8[13];
+ int v18[195];
+
+ for (int i = 0; i < 13; i++) {
+ v6[i] = 0;
+ v7[i] = getFromArray(a1, i, 0);
+ v8[i] = getFromArray(a1, i, 2);
+ }
+
+ // 12 here, 13 up there
+ // Probably 12 for players, 13 for players+ball
+ for (int i = 0; i < 12; i++) {
+ int v22 = a4;
+ for (int j = i + 1; j < 13; j++) {
+ v18[i * 15 + j] = distance(v7[i], v7[j], v8[i], v8[j]);
+ putInArray(a2, i, j, v18[i * 15 + j]);
+ putInArray(a2, j, i, v18[i * 15 + j]);
+ if (v18[i * 15 + j] < v22) {
+ v22 = v18[i * 15 + j];
+ v6[i] = j + 1;
+ v6[j] = i + 1;
+ }
+ }
+ }
+
+ int v13 = getFromArray(a1, 18, 0);
+ int v14 = getFromArray(a1, 18, 2);
+ int v15 = getFromArray(a1, 19, 0);
+ int v16 = getFromArray(a1, 19, 2);
+ int v19[15];
+ int v20[15];
+
+ if (_vm->_game.id == GID_SOCCER) {
+ // soccer gets to be different
+ for (int i = 0; i < 13; i++)
+ v20[i] = distance(v13, v7[i], v14, v8[i]);
+
+ for (int i = 0; i < 13; i++)
+ v19[i] = distance(v15, v7[i], v16, v8[i]);
+ } else {
+ // soccermls and soccer2004 use two other arrays here
+ int v9 = getFromArray(a1, 20, 0);
+ int v10 = getFromArray(a1, 20, 2);
+ int v11 = getFromArray(a1, 21, 0);
+ int v12 = getFromArray(a1, 21, 2);
+
+ for (int i = 0; i < 6; i++) {
+ v20[i] = distance(v9, v7[i], v10, v8[i]);
+ v19[i] = distance(v13, v7[i], v14, v8[i]);
+ }
+
+ for (int i = 6; i < 13; i++) {
+ v20[i] = distance(v11, v7[i], v12, v8[i]);
+ v19[i] = distance(v15, v7[i], v16, v8[i]);
+ }
+ }
+
+ for (int i = 0; i < 13; i++) {
+ putInArray(a2, 14, i, v20[i]);
+ putInArray(a2, i, 14, v20[i]);
+ putInArray(a2, 13, i, v19[i]);
+ putInArray(a2, i, 13, v19[i]);
+ putInArray(a3, 0, i, v6[i]);
+ }
+}
+
int LogicHEsoccer::op_1012(int32 *args) {
- // TODO: Used after op_1019
+ // Used after op_1019
+ // This function activates startOfFrame() to call op_1011
+ // (Possibly field parameters?)
+
+ _userDataD[530] = (args[0] != 0) ? 1 : 0;
+ _userDataD[531] = args[1];
+ _userDataD[532] = args[2];
+ _userDataD[533] = args[3];
+ _userDataD[534] = args[4];
+ _userDataD[535] = args[5]; // unused!!!
+ _userDataD[536] = args[6];
+
+ return 1;
+}
+
+// Some strange power operation, ignores negative exponents
+static inline double u32Pow(float a1, int a2) {
+ if (a2 < 0)
+ return 0.0;
+
+ float v4 = 1.0;
+
+ for (int i = 1; i <= a2; i++)
+ v4 *= a1;
+
+ return v4;
+}
+
+int LogicHEsoccer::op_sub5(int a1, int a2, int a3) {
+ byte *v9 = _array1013 + 44 * a2;
+
+ *((uint32 *)v9 + 4) = a3;
+ *((uint32 *)v9) = a2;
+
+ if (a1 > 2) {
+ // Casual observation: 585 is also the size of _byteArray2
+ *((uint32 *)v9 + 40) = 8 * a2 - 585;
+ for (int i = 0; i < 8; i++)
+ *((uint32 *)v9 + 4 * i + 8) = 0xffffffff;
+ } else {
+ for (int i = 0; i < 8; i++)
+ *((uint32 *)v9 + 4 * i + 8) = op_sub5(a1 + 1, i + 8 * a2 + 1, a2);
+ }
+
+ return a2;
+}
+
+int LogicHEsoccer::op_1013(int32 a1, int32 a2, int32 a3) {
+ // Creates _array1013 for *some* purpose
+ // _array1013Temp is used again op_1014 for some reason...
+ // Seems to be used in op_1015
+
+ int v4 = (int)((1.0 - u32Pow(8.0, 4)) / -7.0);
+
+ _array1013 = new byte[v4 * 44];
+ memset(_array1013, 0, v4 * 44);
+ _array1013Allocated = true;
+ memset(_array1013Temp, 0, 44);
+
+ for (int i = 0; i < 8; i++)
+ _array1013Temp[i + 2] = op_sub5(1, i + 1, 0);
+
+ // Yes, this is not endian-safe, but should not matter since we're
+ // not saving/loading the data anywhere
+ memcpy(_array1013, _array1013Temp, 44);
return 1;
}
-int LogicHEsoccer::op_1014(int32 *args) {
+int LogicHEsoccer::op_1014(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7, int32 a8, int32 a9, int32 a10, int32 a11, int32 a12, int32 a13, int32 a14) {
// TODO: Used many times during a match
+ // And called from op_1008!
return 1;
}
int LogicHEsoccer::op_1019(int32 *args) {
- // TODO: Used at the beginning of a match
+ // Used at the beginning of a match
+ // Initializes some arrays. Player positions?
+
+ // These two arrays are used in op_1014 and op_1015
+ for (int i = 0; i < 4096; i++)
+ _byteArray1[i] = getFromArray(args[1], 0, i);
+
+ for (int i = 0; i < 585; i++)
+ _byteArray2[i] = getFromArray(args[0], 0, i);
+
+ // Deallocate the two integer arrays
+ if (_intArraysAllocated)
+ op_1020();
+
+ // Reallocate them
+ _intArray1 = new uint32[1008];
+ _intArray2 = new uint32[168];
+ _intArraysAllocated = true;
+
+ memset(_intArray1, 0, 4 * 4);
+ memset(_intArray2, 0, 24 * 4);
+
+ // These two arrays are used in op_1015
+ for (int i = 0; i < 42; i++) {
+ for (int j = 0; j < 24; j++)
+ _intArray1[j + 24 * i] = getFromArray(args[3], 0, j + 24 * i);
+
+ for (int j = 0; j < 4; j++)
+ _intArray2[j + 4 * i] = getFromArray(args[2], 0, j + 4 * i);
+ }
+
+ return 1;
+}
+
+int LogicHEsoccer::op_1020() {
+ // Deallocate integer arrays
+ // The arrays can be allocated in op_1015 or op_1019
+
+ delete[] _intArray1; _intArray1 = 0;
+ delete[] _intArray2; _intArray2 = 0;
+ _intArraysAllocated = false;
return 1;
}
-int LogicHEsoccer::op_1021(int32 *args) {
- // TODO: Used during a match (ball movement?)
+int LogicHEsoccer::op_1021(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7) {
+ // Used during a match (ball movement?)
+ // Also called from op_1008
+
+ int v10;
+ if (a4 && a5)
+ v10 = (int)(((double)a2 - (double)a5 * (double)a1 / (double)a4) * -1.0 * (double)a4 / (double)a5);
+ else
+ v10 = a1;
+
+ int v9;
+ if (a6 && a5)
+ v9 = (int)(((double)a2 - (double)a5 * (double)a3 / (double)a6) * -1.0 * (double)a6 / (double)a5);
+ else
+ v9 = a3;
+
+ // The final argument chooses whether to store the results for op_1008 or
+ // store them in SCUMM variables.
+ if (a7) {
+ _var1021[0] = v10;
+ _var1021[1] = v9;
+ } else {
+ writeScummVar(108, v10);
+ writeScummVar(109, v9);
+ }
return 1;
}
diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h
index ab952abd5e..d097d37e75 100644
--- a/engines/scumm/he/logic_he.h
+++ b/engines/scumm/he/logic_he.h
@@ -41,9 +41,9 @@ public:
int getFromArray(int arg0, int idx2, int idx1);
void putInArray(int arg0, int idx2, int idx1, int val);
- void beforeBootScript() {}
- void initOnce() {}
- void startOfFrame() {}
+ virtual void beforeBootScript() {}
+ virtual void initOnce() {}
+ virtual int startOfFrame() { return 1; }
void endOfFrame() {}
void processKeyStroke(int keyPressed) {}
@@ -115,22 +115,52 @@ private:
public:
LogicHEsoccer(ScummEngine_v90he *vm);
+ ~LogicHEsoccer();
int versionID();
int32 dispatch(int op, int numArgs, int32 *args);
+ void beforeBootScript();
+ void initOnce();
+ int startOfFrame();
+
private:
int op_1001(int32 *args);
int op_1002(int32 *args);
int op_1003(int32 *args);
int op_1004(int32 *args);
- int op_1006(int32 *args);
+ int op_1006(int32 a1, int32 a2, int32 a3, int32 a4);
int op_1007(int32 *args);
int op_1008(int32 *args);
+ int op_1011(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5);
int op_1012(int32 *args);
- int op_1014(int32 *args);
+ int op_1013(int32 a1, int32 a2, int32 a3);
+ int op_1014(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7, int32 a8, int32 a9, int32 a10, int32 a11, int32 a12, int32 a13, int32 a14);
int op_1019(int32 *args);
- int op_1021(int32 *args);
+ int op_1020();
+ int op_1021(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7);
+
+ // Two integer arrays are used between some functions
+ // Originally, these pointers were in _userData, but we keep them separate
+ // Also, doing it that would break things on non 32-bit systems...
+ bool _intArraysAllocated;
+ uint32 *_intArray1, *_intArray2;
+
+ // op_1007 allocates some arrays
+ // they're then filled by op_1019
+ byte _byteArray1[4096], _byteArray2[585];
+
+ // op_1011 has a subfunction
+ void op_1011_sub(int32 a1, int32 a2, int32 a3, int32 a4);
+
+ // op_1013 creates some array, purpose unknown
+ bool _array1013Allocated;
+ byte *_array1013;
+ uint32 _array1013Temp[11];
+ int op_sub5(int a1, int a2, int a3);
+
+ // op_1021 can (optionally) set two variables for use in op_1008
+ uint32 _var1021[2];
};
class LogicHEbaseball2001 : public LogicHE {
diff --git a/engines/scumm/he/palette_he.cpp b/engines/scumm/he/palette_he.cpp
index 7f517c56ed..49e43a040b 100644
--- a/engines/scumm/he/palette_he.cpp
+++ b/engines/scumm/he/palette_he.cpp
@@ -26,6 +26,7 @@
#ifdef ENABLE_HE
#include "common/system.h"
+#include "graphics/palette.h"
#include "scumm/scumm.h"
#include "scumm/he/intern_he.h"
#include "scumm/resource.h"
diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp
index 40889ec24f..487429c294 100644
--- a/engines/scumm/imuse/imuse_part.cpp
+++ b/engines/scumm/imuse/imuse_part.cpp
@@ -25,6 +25,8 @@
+#include "common/debug.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "scumm/imuse/imuse_internal.h"
#include "scumm/saveload.h"
diff --git a/engines/scumm/imuse/sysex_scumm.cpp b/engines/scumm/imuse/sysex_scumm.cpp
index c96b2f757b..78028c6056 100644
--- a/engines/scumm/imuse/sysex_scumm.cpp
+++ b/engines/scumm/imuse/sysex_scumm.cpp
@@ -24,6 +24,7 @@
#include "common/endian.h"
+#include "common/textconsole.h"
#include "common/util.h"
/*
diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h
index 236edb5a89..1e96aa8827 100644
--- a/engines/scumm/imuse_digi/dimuse.h
+++ b/engines/scumm/imuse_digi/dimuse.h
@@ -26,6 +26,8 @@
#define SCUMM_IMUSE_DIGI_H
#include "common/scummsys.h"
+#include "common/mutex.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "scumm/imuse_digi/dimuse.h"
diff --git a/engines/scumm/midiparser_ro.cpp b/engines/scumm/midiparser_ro.cpp
index e737d747ac..be77e4fd66 100644
--- a/engines/scumm/midiparser_ro.cpp
+++ b/engines/scumm/midiparser_ro.cpp
@@ -26,6 +26,7 @@
#include "audio/midiparser.h"
#include "audio/mididrv.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Scumm {
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp
index e81212fec8..b0786c924d 100644
--- a/engines/scumm/palette.cpp
+++ b/engines/scumm/palette.cpp
@@ -23,8 +23,11 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/util.h"
+#include "graphics/palette.h"
+
#include "scumm/resource.h"
#include "scumm/scumm.h"
#include "scumm/scumm_v6.h"
diff --git a/engines/scumm/player_mod.h b/engines/scumm/player_mod.h
index 67d1bb4cbf..3f97c4cab9 100644
--- a/engines/scumm/player_mod.h
+++ b/engines/scumm/player_mod.h
@@ -31,7 +31,7 @@
#include "audio/mixer.h"
namespace Audio {
- class RateConverter;
+class RateConverter;
}
namespace Scumm {
diff --git a/engines/scumm/player_nes.h b/engines/scumm/player_nes.h
index 5f6e8f2d8d..402eea7bf8 100644
--- a/engines/scumm/player_nes.h
+++ b/engines/scumm/player_nes.h
@@ -35,7 +35,7 @@ namespace Scumm {
class ScummEngine;
namespace APUe {
- class APU;
+class APU;
}
static const int MAXVOLUME = 0x7F;
diff --git a/engines/scumm/player_pce.h b/engines/scumm/player_pce.h
index 3f5033f724..42153e8abc 100644
--- a/engines/scumm/player_pce.h
+++ b/engines/scumm/player_pce.h
@@ -27,6 +27,7 @@
#define SCUMM_PLAYER_PCE_H
#include "common/scummsys.h"
+#include "common/mutex.h"
#include "scumm/music.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
diff --git a/engines/scumm/player_v4a.h b/engines/scumm/player_v4a.h
index 108dbcf317..458a39b5fe 100644
--- a/engines/scumm/player_v4a.h
+++ b/engines/scumm/player_v4a.h
@@ -27,6 +27,7 @@
#define SCUMM_PLAYER_V4A_H
#include "common/scummsys.h"
+#include "common/util.h"
#include "scumm/music.h"
#include "audio/mixer.h"
#include "audio/mods/tfmx.h"
diff --git a/engines/scumm/proc3ARM.s b/engines/scumm/proc3ARM.s
index 8b3e31f5f8..5acfa86c29 100644
--- a/engines/scumm/proc3ARM.s
+++ b/engines/scumm/proc3ARM.s
@@ -25,40 +25,40 @@
.text
- .global ClassicProc3RendererShadowARM
+ .global _ClassicProc3RendererShadowARM
-.equ _scaleIndexY , 112
-.equ _numStrips , 108
-.equ _palette , 104
-.equ _shadow_table , 100
-.equ _scaleIndexX , 96
-.equ _scaleX , 92
-.equ _height , 88
-.equ store_r14 , 84
-.equ store_r11 , 80
-.equ store_r10 , 76
-.equ store_r9 , 72
-.equ store_r8 , 68
-.equ store_r7 , 64
-.equ store_r6 , 60
-.equ store_r5 , 56
-.equ store_r4 , 52
-.equ src , 48
-.equ height , 44
-.equ len , 40
-.equ v1_shr , 36
-.equ v1_skip_width , 32
-.equ v1_destptr , 28
-.equ v1_scaleXstep , 24
-.equ v1_mask_ptr , 20
-.equ v1_y , 16
-.equ v1_scaletable , 12
-.equ pitch , 8
-.equ scaleIdxXPtr , 4
-.equ scaleIdxYPtr , 0
+.set _scaleIndexY , 112
+.set _numStrips , 108
+.set _palette , 104
+.set _shadow_table , 100
+.set _scaleIndexX , 96
+.set _scaleX , 92
+.set _height , 88
+.set store_r14 , 84
+.set store_r11 , 80
+.set store_r10 , 76
+.set store_r9 , 72
+.set store_r8 , 68
+.set store_r7 , 64
+.set store_r6 , 60
+.set store_r5 , 56
+.set store_r4 , 52
+.set src , 48
+.set height , 44
+.set len , 40
+.set v1_shr , 36
+.set v1_skip_width , 32
+.set v1_destptr , 28
+.set v1_scaleXstep , 24
+.set v1_mask_ptr , 20
+.set v1_y , 16
+.set v1_scaletable , 12
+.set pitch , 8
+.set scaleIdxXPtr , 4
+.set scaleIdxYPtr , 0
-.equ space , 48
+.set space , 48
@ r0 = _scaleY
@ r1 = v1
@@ -71,7 +71,7 @@
@ <> = _palette
@ <> = _numstrips
@ <> = _scaleIndexY
-ClassicProc3RendererShadowARM:
+_ClassicProc3RendererShadowARM:
@ shadow20 = false
@ shadowed = true
@ unscaled = false
diff --git a/engines/scumm/saveload.h b/engines/scumm/saveload.h
index 91e780bcd1..eead241b90 100644
--- a/engines/scumm/saveload.h
+++ b/engines/scumm/saveload.h
@@ -30,8 +30,8 @@
#include <stddef.h> // for ptrdiff_t
namespace Common {
- class SeekableReadStream;
- class WriteStream;
+class SeekableReadStream;
+class WriteStream;
}
namespace Scumm {
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 33343aef81..f43aed53f7 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1162,7 +1162,7 @@ Common::Error ScummEngine::init() {
warning("Starting game without the required 16bit color support.\nYou may experience color glitches");
initGraphics(screenWidth, screenHeight, (screenWidth > 320));
} else {
- error("16bit color support is required for this game");
+ return Common::Error(Common::kUnsupportedColorMode, "16bit color support is required for this game");
}
#endif
} else {
@@ -1648,6 +1648,8 @@ void ScummEngine_v90he::resetScumm() {
break;
case GID_SOCCER:
+ case GID_SOCCERMLS:
+ case GID_SOCCER2004:
_logicHE = new LogicHEsoccer(this);
break;
@@ -2494,7 +2496,7 @@ void ScummEngine_v90he::runBootscript() {
void ScummEngine::startManiac() {
debug(0, "stub startManiac()");
- displayMessage(0, "Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' directory inside the Tentacle game directory.");
+ displayMessage(0, "%s", _("Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' directory inside the Tentacle game directory."));
}
#pragma mark -
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index f3af84bb04..62c6c70e5a 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -35,6 +35,7 @@
#include "common/random.h"
#include "common/rect.h"
#include "common/str.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
#include "graphics/sjis.h"
@@ -56,12 +57,12 @@
#endif
namespace GUI {
- class Dialog;
+class Dialog;
}
using GUI::Dialog;
namespace Common {
- class SeekableReadStream;
- class WriteStream;
+class SeekableReadStream;
+class WriteStream;
}
/**
@@ -253,6 +254,8 @@ enum ScummGameId {
GID_FUNSHOP, // Used for all three funshops
GID_FOOTBALL,
GID_SOCCER,
+ GID_SOCCERMLS,
+ GID_SOCCER2004,
GID_BASEBALL2001,
GID_BASKETBALL,
GID_MOONBASE,
@@ -463,7 +466,7 @@ public:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/scumm/smush/channel.cpp b/engines/scumm/smush/channel.cpp
index 4389890994..95b7653262 100644
--- a/engines/scumm/smush/channel.cpp
+++ b/engines/scumm/smush/channel.cpp
@@ -24,6 +24,8 @@
*/
+#include "common/textconsole.h"
+
#include "scumm/smush/channel.h"
namespace Scumm {
diff --git a/engines/scumm/smush/channel.h b/engines/scumm/smush/channel.h
index c35ac0ac00..717a294d96 100644
--- a/engines/scumm/smush/channel.h
+++ b/engines/scumm/smush/channel.h
@@ -29,7 +29,7 @@
#include "common/util.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Scumm {
diff --git a/engines/scumm/smush/codec37.cpp b/engines/scumm/smush/codec37.cpp
index 658d67c1b4..9dbbc6816f 100644
--- a/engines/scumm/smush/codec37.cpp
+++ b/engines/scumm/smush/codec37.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "scumm/bomp.h"
#include "scumm/smush/codec37.h"
diff --git a/engines/scumm/smush/codec47.cpp b/engines/scumm/smush/codec47.cpp
index 333fdabccf..47286ba4fc 100644
--- a/engines/scumm/smush/codec47.cpp
+++ b/engines/scumm/smush/codec47.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "scumm/bomp.h"
#include "scumm/smush/codec47.h"
@@ -342,11 +343,9 @@ void Codec47Decoder::makeTables47(int width) {
#ifdef USE_ARM_SMUSH_ASM
-extern "C" {
#ifndef IPHONE
#define ARM_Smush_decode2 _ARM_Smush_decode2
#endif
-}
extern "C" void ARM_Smush_decode2( byte *dst,
const byte *src,
diff --git a/engines/scumm/smush/saud_channel.cpp b/engines/scumm/smush/saud_channel.cpp
index 04ed955224..f730acf804 100644
--- a/engines/scumm/smush/saud_channel.cpp
+++ b/engines/scumm/smush/saud_channel.cpp
@@ -26,6 +26,7 @@
#include "common/endian.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "scumm/util.h"
#include "scumm/smush/channel.h"
diff --git a/engines/scumm/smush/smush_mixer.h b/engines/scumm/smush/smush_mixer.h
index c7a7354511..3d62fdc722 100644
--- a/engines/scumm/smush/smush_mixer.h
+++ b/engines/scumm/smush/smush_mixer.h
@@ -27,6 +27,8 @@
#define SCUMM_SMUSH_MIXER_H
+#include "audio/mixer.h"
+#include "common/mutex.h"
#include "scumm/sound.h"
namespace Scumm {
diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp
index 0e4f588593..2e39558372 100644
--- a/engines/scumm/smush/smush_player.cpp
+++ b/engines/scumm/smush/smush_player.cpp
@@ -31,6 +31,7 @@
#include "common/util.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "scumm/bomp.h"
#include "scumm/file.h"
diff --git a/engines/scumm/util.cpp b/engines/scumm/util.cpp
index ccd0230efa..5c3e4c9d0c 100644
--- a/engines/scumm/util.cpp
+++ b/engines/scumm/util.cpp
@@ -25,6 +25,7 @@
#include "scumm/util.h"
#include "common/util.h"
+#include "common/textconsole.h"
namespace Scumm {
diff --git a/engines/sky/autoroute.cpp b/engines/sky/autoroute.cpp
index dae4b94291..d6974837c6 100644
--- a/engines/sky/autoroute.cpp
+++ b/engines/sky/autoroute.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "sky/autoroute.h"
diff --git a/engines/sky/compact.cpp b/engines/sky/compact.cpp
index 08184adcdb..672fb38ca9 100644
--- a/engines/sky/compact.cpp
+++ b/engines/sky/compact.cpp
@@ -24,9 +24,10 @@
*/
+#include "common/debug.h"
#include "common/endian.h"
-#include "common/util.h"
#include "common/file.h"
+#include "common/textconsole.h"
#include "sky/compact.h"
#include "gui/message.h"
#include <stddef.h> // for ptrdiff_t
diff --git a/engines/sky/compact.h b/engines/sky/compact.h
index cd80d5cfbe..4861273146 100644
--- a/engines/sky/compact.h
+++ b/engines/sky/compact.h
@@ -31,7 +31,7 @@
#include "sky/skydefs.h"
namespace Common {
- class File;
+class File;
}
enum CptIds {
diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp
index 8a5409a488..f31f0f6ba9 100644
--- a/engines/sky/control.cpp
+++ b/engines/sky/control.cpp
@@ -26,11 +26,10 @@
#include "common/endian.h"
#include "common/config-manager.h"
-#include "common/file.h"
#include "common/events.h"
#include "common/system.h"
#include "common/savefile.h"
-#include "common/util.h"
+#include "common/textconsole.h"
#include "gui/message.h"
#include "sky/compact.h"
diff --git a/engines/sky/control.h b/engines/sky/control.h
index a0024ce73b..e4428c1876 100644
--- a/engines/sky/control.h
+++ b/engines/sky/control.h
@@ -33,7 +33,7 @@
class OSystem;
namespace Common {
- class SaveFileManager;
+class SaveFileManager;
}
namespace Sky {
diff --git a/engines/sky/debug.cpp b/engines/sky/debug.cpp
index 2839665ff8..df55966a9a 100644
--- a/engines/sky/debug.cpp
+++ b/engines/sky/debug.cpp
@@ -24,7 +24,7 @@
*/
-#include "common/endian.h"
+#include "common/debug.h"
#include "common/util.h"
#include "sky/debug.h"
diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp
index e72875fa4e..6871fc9604 100644
--- a/engines/sky/detection.cpp
+++ b/engines/sky/detection.cpp
@@ -34,6 +34,7 @@
#include "common/file.h"
#include "common/fs.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "engines/metaengine.h"
diff --git a/engines/sky/disk.cpp b/engines/sky/disk.cpp
index 5ad0c3eb19..3795c4166d 100644
--- a/engines/sky/disk.cpp
+++ b/engines/sky/disk.cpp
@@ -24,12 +24,12 @@
*/
+#include "common/debug.h"
+#include "common/textconsole.h"
#include "common/endian.h"
#include "common/file.h"
-#include "common/util.h"
#include "sky/disk.h"
-#include "sky/rnc_deco.h"
#include "sky/sky.h"
#include "sky/struc.h"
diff --git a/engines/sky/disk.h b/engines/sky/disk.h
index 3338cce385..0cdcbb4d0f 100644
--- a/engines/sky/disk.h
+++ b/engines/sky/disk.h
@@ -28,13 +28,12 @@
#include "common/scummsys.h"
-#include "common/str.h"
#include "sky/rnc_deco.h"
#define MAX_FILES_IN_LIST 60
namespace Common {
- class File;
+class File;
}
namespace Sky {
diff --git a/engines/sky/intro.cpp b/engines/sky/intro.cpp
index cf1910c5b1..506a6699c1 100644
--- a/engines/sky/intro.cpp
+++ b/engines/sky/intro.cpp
@@ -28,6 +28,7 @@
#include "common/util.h"
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "sky/disk.h"
#include "sky/intro.h"
diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp
index b52e908455..f9ebd0fb64 100644
--- a/engines/sky/logic.cpp
+++ b/engines/sky/logic.cpp
@@ -25,9 +25,8 @@
#include "common/endian.h"
#include "common/rect.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "sky/autoroute.h"
#include "sky/compact.h"
diff --git a/engines/sky/mouse.cpp b/engines/sky/mouse.cpp
index ca0ebcc19c..611010fa46 100644
--- a/engines/sky/mouse.cpp
+++ b/engines/sky/mouse.cpp
@@ -26,6 +26,7 @@
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
#include "sky/disk.h"
#include "sky/logic.h"
diff --git a/engines/sky/music/adlibchannel.cpp b/engines/sky/music/adlibchannel.cpp
index e9c20de8c7..9b3c4338ab 100644
--- a/engines/sky/music/adlibchannel.cpp
+++ b/engines/sky/music/adlibchannel.cpp
@@ -25,6 +25,7 @@
#include "common/endian.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "sky/music/adlibchannel.h"
#include "sky/sky.h"
diff --git a/engines/sky/music/gmchannel.cpp b/engines/sky/music/gmchannel.cpp
index 3852a69068..be0afa8894 100644
--- a/engines/sky/music/gmchannel.cpp
+++ b/engines/sky/music/gmchannel.cpp
@@ -25,6 +25,7 @@
#include "gmchannel.h"
#include "common/util.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
namespace Sky {
diff --git a/engines/sky/music/gmmusic.cpp b/engines/sky/music/gmmusic.cpp
index 8818c5b711..6a8529f287 100644
--- a/engines/sky/music/gmmusic.cpp
+++ b/engines/sky/music/gmmusic.cpp
@@ -28,6 +28,7 @@
#include "sky/sky.h"
#include "common/util.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
namespace Sky {
diff --git a/engines/sky/music/mt32music.cpp b/engines/sky/music/mt32music.cpp
index 51df95e451..4f47e511c7 100644
--- a/engines/sky/music/mt32music.cpp
+++ b/engines/sky/music/mt32music.cpp
@@ -28,6 +28,7 @@
#include "common/util.h"
#include "common/system.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "audio/mididrv.h"
namespace Sky {
diff --git a/engines/sky/music/musicbase.cpp b/engines/sky/music/musicbase.cpp
index e1044a9505..748637f9d0 100644
--- a/engines/sky/music/musicbase.cpp
+++ b/engines/sky/music/musicbase.cpp
@@ -27,6 +27,7 @@
#include "sky/disk.h"
#include "common/util.h"
#include "common/endian.h"
+#include "common/textconsole.h"
namespace Sky {
diff --git a/engines/sky/screen.cpp b/engines/sky/screen.cpp
index 1b815b9c38..a209571b37 100644
--- a/engines/sky/screen.cpp
+++ b/engines/sky/screen.cpp
@@ -27,6 +27,9 @@
#include "common/endian.h"
#include "common/events.h"
#include "common/system.h"
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
#include "sky/disk.h"
#include "sky/logic.h"
diff --git a/engines/sky/screen.h b/engines/sky/screen.h
index 2c870ebd89..5e226c49ed 100644
--- a/engines/sky/screen.h
+++ b/engines/sky/screen.h
@@ -31,8 +31,9 @@
#include "sky/skydefs.h"
class OSystem;
+
namespace Common {
- struct Rect;
+struct Rect;
}
namespace Sky {
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp
index f3556c84b3..f10ec1083a 100644
--- a/engines/sky/sky.cpp
+++ b/engines/sky/sky.cpp
@@ -25,6 +25,7 @@
#include "common/config-manager.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "sky/control.h"
#include "sky/debug.h"
diff --git a/engines/sky/sky.h b/engines/sky/sky.h
index d8ced1e569..58ac3ed26e 100644
--- a/engines/sky/sky.h
+++ b/engines/sky/sky.h
@@ -27,7 +27,8 @@
#define SKY_H
-#include "common/events.h"
+#include "common/error.h"
+#include "common/keyboard.h"
#include "engines/engine.h"
/**
@@ -52,7 +53,6 @@ struct SystemVars {
bool paused;
};
-struct Compact;
class Sound;
class Disk;
class Text;
@@ -106,7 +106,7 @@ protected:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/sky/sound.cpp b/engines/sky/sound.cpp
index 3d247ed334..7191f6cd00 100644
--- a/engines/sky/sound.cpp
+++ b/engines/sky/sound.cpp
@@ -24,7 +24,9 @@
*/
+#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "sky/disk.h"
#include "sky/logic.h"
diff --git a/engines/sky/text.cpp b/engines/sky/text.cpp
index 548c9cb3c2..2464d93581 100644
--- a/engines/sky/text.cpp
+++ b/engines/sky/text.cpp
@@ -24,7 +24,9 @@
*/
+#include "common/debug.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "sky/disk.h"
#include "sky/logic.h"
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp
index 60176be1a9..7c17befcff 100644
--- a/engines/sword1/animation.cpp
+++ b/engines/sword1/animation.cpp
@@ -24,15 +24,16 @@
*/
#include "common/file.h"
+#include "common/events.h"
+#include "common/keyboard.h"
+#include "common/textconsole.h"
#include "sword1/sword1.h"
#include "sword1/animation.h"
#include "sword1/text.h"
-#include "audio/decoders/vorbis.h"
-#include "common/config-manager.h"
-#include "common/endian.h"
#include "common/str.h"
#include "common/system.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "gui/message.h"
diff --git a/engines/sword1/control.cpp b/engines/sword1/control.cpp
index d4f6bfd1fe..d8ddd53e2e 100644
--- a/engines/sword1/control.cpp
+++ b/engines/sword1/control.cpp
@@ -29,7 +29,9 @@
#include "common/events.h"
#include "common/system.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
+#include "graphics/palette.h"
#include "graphics/thumbnail.h"
#include "gui/message.h"
diff --git a/engines/sword1/control.h b/engines/sword1/control.h
index 2e5bfc7197..db910f521f 100644
--- a/engines/sword1/control.h
+++ b/engines/sword1/control.h
@@ -33,7 +33,7 @@
class OSystem;
namespace Common {
- class SaveFileManager;
+class SaveFileManager;
}
namespace Sword1 {
diff --git a/engines/sword1/detection.cpp b/engines/sword1/detection.cpp
index 855c7d1f83..fa8277033c 100644
--- a/engines/sword1/detection.cpp
+++ b/engines/sword1/detection.cpp
@@ -27,8 +27,6 @@
#include "sword1/control.h"
#include "base/plugins.h"
-#include "common/config-manager.h"
-#include "common/file.h"
#include "common/fs.h"
#include "common/savefile.h"
#include "common/system.h"
diff --git a/engines/sword1/eventman.cpp b/engines/sword1/eventman.cpp
index 55a438f506..9200e6a229 100644
--- a/engines/sword1/eventman.cpp
+++ b/engines/sword1/eventman.cpp
@@ -26,6 +26,7 @@
#include "sword1/eventman.h"
#include "sword1/sworddefs.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Sword1 {
diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp
index ef54167d41..3da3c457d0 100644
--- a/engines/sword1/logic.cpp
+++ b/engines/sword1/logic.cpp
@@ -25,9 +25,8 @@
#include "common/endian.h"
#include "common/util.h"
-#include "common/system.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
+#include "common/textconsole.h"
#include "sword1/logic.h"
#include "sword1/text.h"
diff --git a/engines/sword1/memman.cpp b/engines/sword1/memman.cpp
index b08631dfc8..f315895eb0 100644
--- a/engines/sword1/memman.cpp
+++ b/engines/sword1/memman.cpp
@@ -25,6 +25,7 @@
#include "sword1/memman.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Sword1 {
diff --git a/engines/sword1/mouse.h b/engines/sword1/mouse.h
index 1b4ca12183..3a7ea747fb 100644
--- a/engines/sword1/mouse.h
+++ b/engines/sword1/mouse.h
@@ -27,6 +27,7 @@
#define SWORD1_MOUSE_H
#include "common/scummsys.h"
+#include "common/rect.h"
#include "sword1/sworddefs.h"
#include "sword1/object.h"
diff --git a/engines/sword1/music.cpp b/engines/sword1/music.cpp
index 2b81ae1eb4..49f9f7271b 100644
--- a/engines/sword1/music.cpp
+++ b/engines/sword1/music.cpp
@@ -24,10 +24,9 @@
*/
-#include "common/endian.h"
#include "common/file.h"
#include "common/util.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "sword1/sword1.h"
#include "sword1/music.h"
diff --git a/engines/sword1/objectman.cpp b/engines/sword1/objectman.cpp
index 9ac2c7a255..dde1498591 100644
--- a/engines/sword1/objectman.cpp
+++ b/engines/sword1/objectman.cpp
@@ -24,6 +24,7 @@
*/
+#include "common/textconsole.h"
#include "common/util.h"
#include "sword1/objectman.h"
diff --git a/engines/sword1/resman.cpp b/engines/sword1/resman.cpp
index 2bad8a79a7..f7b9eb8908 100644
--- a/engines/sword1/resman.cpp
+++ b/engines/sword1/resman.cpp
@@ -24,19 +24,14 @@
*/
-#include "common/config-manager.h"
-#include "common/util.h"
-#include "common/str.h"
-
-#include "engines/engine.h"
+#include "common/debug.h"
+#include "common/textconsole.h"
#include "sword1/memman.h"
#include "sword1/resman.h"
-#include "sword1/sworddefs.h"
#include "sword1/swordres.h"
#include "gui/message.h"
-#include "gui/gui-manager.h"
namespace Sword1 {
void guiFatalError(char *msg) {
diff --git a/engines/sword1/router.cpp b/engines/sword1/router.cpp
index 9ff5ae0c8e..3694ed2459 100644
--- a/engines/sword1/router.cpp
+++ b/engines/sword1/router.cpp
@@ -24,6 +24,7 @@
*/
#include "common/debug.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "sword1/router.h"
diff --git a/engines/sword1/screen.cpp b/engines/sword1/screen.cpp
index 1906fcb7fd..de96f6e7b4 100644
--- a/engines/sword1/screen.cpp
+++ b/engines/sword1/screen.cpp
@@ -25,8 +25,11 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/util.h"
+#include "graphics/palette.h"
+
#include "sword1/screen.h"
#include "sword1/logic.h"
#include "sword1/sworddefs.h"
diff --git a/engines/sword1/sound.cpp b/engines/sword1/sound.cpp
index f8219eb21a..c970e72748 100644
--- a/engines/sword1/sound.cpp
+++ b/engines/sword1/sound.cpp
@@ -27,10 +27,9 @@
#include "common/endian.h"
#include "common/util.h"
-#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/memstream.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "sword1/sound.h"
#include "sword1/resman.h"
diff --git a/engines/sword1/sound.h b/engines/sword1/sound.h
index ae96132241..b6fcd6706f 100644
--- a/engines/sword1/sound.h
+++ b/engines/sword1/sound.h
@@ -34,7 +34,7 @@
#include "audio/mixer.h"
namespace Audio {
- class Mixer;
+class Mixer;
}
namespace Sword1 {
diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp
index 8768e62457..3b3eaaf8b9 100644
--- a/engines/sword1/sword1.cpp
+++ b/engines/sword1/sword1.cpp
@@ -37,6 +37,7 @@
#include "sword1/control.h"
#include "common/config-manager.h"
+#include "common/textconsole.h"
#include "engines/util.h"
diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
index 592d2da6f4..dbb683cd74 100644
--- a/engines/sword1/sword1.h
+++ b/engines/sword1/sword1.h
@@ -27,7 +27,9 @@
#define SWORD1_H
#include "engines/engine.h"
-#include "common/events.h"
+#include "common/error.h"
+#include "common/keyboard.h"
+#include "common/rect.h"
#include "common/util.h"
#include "sword1/sworddefs.h"
#include "sword1/console.h"
@@ -100,7 +102,7 @@ protected:
virtual Common::Error run() {
Common::Error err;
err = init();
- if (err != Common::kNoError)
+ if (err.getCode() != Common::kNoError)
return err;
return go();
}
diff --git a/engines/sword1/text.cpp b/engines/sword1/text.cpp
index ef3e07fe74..7c65533067 100644
--- a/engines/sword1/text.cpp
+++ b/engines/sword1/text.cpp
@@ -24,8 +24,7 @@
*/
-#include "common/endian.h"
-#include "common/util.h"
+#include "common/textconsole.h"
#include "sword1/text.h"
#include "sword1/resman.h"
diff --git a/engines/sword2/animation.cpp b/engines/sword2/animation.cpp
index 8d1a9836f4..a5a2499b01 100644
--- a/engines/sword2/animation.cpp
+++ b/engines/sword2/animation.cpp
@@ -26,7 +26,9 @@
*/
#include "common/file.h"
+#include "common/mutex.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/controls.cpp b/engines/sword2/controls.cpp
index b488092007..4332f2811c 100644
--- a/engines/sword2/controls.cpp
+++ b/engines/sword2/controls.cpp
@@ -26,9 +26,7 @@
*/
-#include "common/events.h"
#include "common/rect.h"
-#include "common/config-manager.h"
#include "common/system.h"
#include "sword2/sword2.h"
diff --git a/engines/sword2/events.cpp b/engines/sword2/events.cpp
index f0e0e567a4..24101e271c 100644
--- a/engines/sword2/events.cpp
+++ b/engines/sword2/events.cpp
@@ -26,6 +26,7 @@
*/
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/function.cpp b/engines/sword2/function.cpp
index a968a5600d..e0990ea120 100644
--- a/engines/sword2/function.cpp
+++ b/engines/sword2/function.cpp
@@ -28,6 +28,7 @@
#include "common/system.h"
#include "common/file.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/interpreter.cpp b/engines/sword2/interpreter.cpp
index e039ae3888..a3804366d4 100644
--- a/engines/sword2/interpreter.cpp
+++ b/engines/sword2/interpreter.cpp
@@ -28,6 +28,7 @@
#include "common/util.h"
#include "common/stack.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/header.h"
diff --git a/engines/sword2/layers.cpp b/engines/sword2/layers.cpp
index c5091a248f..47cc3ec232 100644
--- a/engines/sword2/layers.cpp
+++ b/engines/sword2/layers.cpp
@@ -35,6 +35,7 @@
#include "common/rect.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/logic.cpp b/engines/sword2/logic.cpp
index 511561c55a..c27bd76ff4 100644
--- a/engines/sword2/logic.cpp
+++ b/engines/sword2/logic.cpp
@@ -26,6 +26,7 @@
*/
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/maketext.cpp b/engines/sword2/maketext.cpp
index 648d1d761b..fda30981c8 100644
--- a/engines/sword2/maketext.cpp
+++ b/engines/sword2/maketext.cpp
@@ -45,6 +45,7 @@
#include "common/system.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/memory.cpp b/engines/sword2/memory.cpp
index cd36f9a19b..2b3784164e 100644
--- a/engines/sword2/memory.cpp
+++ b/engines/sword2/memory.cpp
@@ -48,6 +48,7 @@
//
// The number zero is used to represent the NULL pointer.
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/memory.h"
diff --git a/engines/sword2/mouse.cpp b/engines/sword2/mouse.cpp
index b6e9b169c3..3a26ab17b7 100644
--- a/engines/sword2/mouse.cpp
+++ b/engines/sword2/mouse.cpp
@@ -29,6 +29,7 @@
#include "common/system.h"
#include "common/events.h"
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "graphics/cursorman.h"
diff --git a/engines/sword2/music.cpp b/engines/sword2/music.cpp
index aa91843432..233d9369d2 100644
--- a/engines/sword2/music.cpp
+++ b/engines/sword2/music.cpp
@@ -36,6 +36,7 @@
#include "common/memstream.h"
#include "common/substream.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/decoders/mp3.h"
#include "audio/decoders/vorbis.h"
diff --git a/engines/sword2/palette.cpp b/engines/sword2/palette.cpp
index f43efcaa7f..a52160db25 100644
--- a/engines/sword2/palette.cpp
+++ b/engines/sword2/palette.cpp
@@ -27,6 +27,9 @@
#include "common/system.h"
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/resman.cpp b/engines/sword2/resman.cpp
index fa9c396ef3..36280cfda2 100644
--- a/engines/sword2/resman.cpp
+++ b/engines/sword2/resman.cpp
@@ -28,6 +28,7 @@
#include "common/file.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/resman.h b/engines/sword2/resman.h
index dcc79927ea..75748e1568 100644
--- a/engines/sword2/resman.h
+++ b/engines/sword2/resman.h
@@ -29,7 +29,7 @@
#define SWORD2_RESMAN_H
namespace Common {
- class File;
+class File;
}
#define MAX_MEM_CACHE (8 * 1024 * 1024) // we keep up to 8 megs of resource data files in memory
diff --git a/engines/sword2/router.cpp b/engines/sword2/router.cpp
index 8f355151f4..c2b4d2e67f 100644
--- a/engines/sword2/router.cpp
+++ b/engines/sword2/router.cpp
@@ -27,6 +27,7 @@
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/saveload.cpp b/engines/sword2/saveload.cpp
index fab360a8ac..94ef8975b4 100644
--- a/engines/sword2/saveload.cpp
+++ b/engines/sword2/saveload.cpp
@@ -37,6 +37,7 @@
#include "common/memstream.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/screen.cpp b/engines/sword2/screen.cpp
index 74a23c8b2c..a83e581fd4 100644
--- a/engines/sword2/screen.cpp
+++ b/engines/sword2/screen.cpp
@@ -32,6 +32,7 @@
#include "common/system.h"
#include "common/events.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/sound.cpp b/engines/sword2/sound.cpp
index 261c8293bd..3cf8523113 100644
--- a/engines/sword2/sound.cpp
+++ b/engines/sword2/sound.cpp
@@ -39,6 +39,7 @@
#include "common/file.h"
#include "common/memstream.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/sound.h b/engines/sword2/sound.h
index 2c4c8364c7..c37e006b76 100644
--- a/engines/sword2/sound.h
+++ b/engines/sword2/sound.h
@@ -39,6 +39,7 @@
#define SWORD2_SOUND_H
#include "common/file.h"
+#include "common/mutex.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
diff --git a/engines/sword2/speech.cpp b/engines/sword2/speech.cpp
index b67f079a83..ec8e198377 100644
--- a/engines/sword2/speech.cpp
+++ b/engines/sword2/speech.cpp
@@ -27,6 +27,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/startup.cpp b/engines/sword2/startup.cpp
index e4572d3c1a..ea1751eb5f 100644
--- a/engines/sword2/startup.cpp
+++ b/engines/sword2/startup.cpp
@@ -27,6 +27,7 @@
#include "common/file.h"
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp
index 7ad021b3a5..58f3547ff7 100644
--- a/engines/sword2/sword2.cpp
+++ b/engines/sword2/sword2.cpp
@@ -34,6 +34,7 @@
#include "common/EventRecorder.h"
#include "common/savefile.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "engines/metaengine.h"
#include "engines/util.h"
diff --git a/engines/sword2/sync.cpp b/engines/sword2/sync.cpp
index 1adc652b75..ee4c6b2238 100644
--- a/engines/sword2/sync.cpp
+++ b/engines/sword2/sync.cpp
@@ -26,6 +26,7 @@
*/
+#include "common/textconsole.h"
#include "sword2/sword2.h"
#include "sword2/defs.h"
diff --git a/engines/sword25/detection.cpp b/engines/sword25/detection.cpp
index 3900df2fcf..fe24675f8a 100644
--- a/engines/sword25/detection.cpp
+++ b/engines/sword25/detection.cpp
@@ -24,8 +24,6 @@
*/
#include "base/plugins.h"
-#include "common/savefile.h"
-#include "common/system.h"
#include "engines/advancedDetector.h"
#include "sword25/sword25.h"
diff --git a/engines/sword25/fmv/movieplayer.cpp b/engines/sword25/fmv/movieplayer.cpp
index 8ab64fa7a8..975f08be22 100644
--- a/engines/sword25/fmv/movieplayer.cpp
+++ b/engines/sword25/fmv/movieplayer.cpp
@@ -32,13 +32,17 @@
*
*/
+#include "common/debug.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "common/util.h"
+
#include "sword25/sword25.h" // for kDebugScript
#include "sword25/fmv/movieplayer.h"
#include "sword25/gfx/graphicengine.h"
#include "sword25/gfx/panel.h"
#include "sword25/kernel/kernel.h"
#include "sword25/package/packagemanager.h"
-#include "sword25/sfx/soundengine.h"
namespace Sword25 {
diff --git a/engines/sword25/fmv/theora_decoder.cpp b/engines/sword25/fmv/theora_decoder.cpp
index 4f6f52509d..86236fbd21 100644
--- a/engines/sword25/fmv/theora_decoder.cpp
+++ b/engines/sword25/fmv/theora_decoder.cpp
@@ -41,6 +41,7 @@
#ifdef USE_THEORADEC
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/conversion.h"
#include "audio/decoders/raw.h"
#include "sword25/kernel/common.h"
diff --git a/engines/sword25/fmv/theora_decoder.h b/engines/sword25/fmv/theora_decoder.h
index a753bc58ac..4ed2af5f98 100644
--- a/engines/sword25/fmv/theora_decoder.h
+++ b/engines/sword25/fmv/theora_decoder.h
@@ -30,9 +30,12 @@
#ifdef USE_THEORADEC
+#include "common/rational.h"
#include "video/video_decoder.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
#include <theora/theoradec.h>
#include <vorbis/codec.h>
diff --git a/engines/sword25/gfx/screenshot.cpp b/engines/sword25/gfx/screenshot.cpp
index 5d25626727..6ea2b574d6 100644
--- a/engines/sword25/gfx/screenshot.cpp
+++ b/engines/sword25/gfx/screenshot.cpp
@@ -36,6 +36,7 @@
#define FORBIDDEN_SYMBOL_ALLOW_ALL
#include "common/memstream.h"
+#include "common/textconsole.h"
#include "sword25/gfx/screenshot.h"
#include "sword25/kernel/filesystemutil.h"
#include <png.h>
diff --git a/engines/sword25/kernel/filesystemutil.cpp b/engines/sword25/kernel/filesystemutil.cpp
index b4d4b25f8d..e5ec6c15db 100644
--- a/engines/sword25/kernel/filesystemutil.cpp
+++ b/engines/sword25/kernel/filesystemutil.cpp
@@ -34,8 +34,7 @@
#include "common/config-manager.h"
#include "common/fs.h"
-#include "common/savefile.h"
-#include "common/system.h"
+#include "common/textconsole.h"
#include "sword25/kernel/filesystemutil.h"
#include "sword25/kernel/persistenceservice.h"
diff --git a/engines/sword25/kernel/inputpersistenceblock.cpp b/engines/sword25/kernel/inputpersistenceblock.cpp
index f3aebef203..26c924dc82 100644
--- a/engines/sword25/kernel/inputpersistenceblock.cpp
+++ b/engines/sword25/kernel/inputpersistenceblock.cpp
@@ -32,6 +32,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "sword25/kernel/inputpersistenceblock.h"
namespace Sword25 {
diff --git a/engines/sword25/kernel/kernel.h b/engines/sword25/kernel/kernel.h
index 9e7ee0fdd9..3abf43d239 100644
--- a/engines/sword25/kernel/kernel.h
+++ b/engines/sword25/kernel/kernel.h
@@ -48,6 +48,7 @@
#include "common/scummsys.h"
#include "common/random.h"
#include "common/stack.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "engines/engine.h"
diff --git a/engines/sword25/kernel/objectregistry.h b/engines/sword25/kernel/objectregistry.h
index 8d0f4a314b..69d961ae91 100644
--- a/engines/sword25/kernel/objectregistry.h
+++ b/engines/sword25/kernel/objectregistry.h
@@ -37,6 +37,7 @@
#include "common/func.h"
#include "common/hashmap.h"
+#include "common/textconsole.h"
#include "sword25/kernel/common.h"
namespace Sword25 {
diff --git a/engines/sword25/script/luacallback.cpp b/engines/sword25/script/luacallback.cpp
index 137e37bf8d..809676796e 100644
--- a/engines/sword25/script/luacallback.cpp
+++ b/engines/sword25/script/luacallback.cpp
@@ -32,6 +32,8 @@
*
*/
+#include "common/textconsole.h"
+
#include "sword25/script/luacallback.h"
#include "sword25/script/luabindhelper.h"
diff --git a/engines/sword25/sfx/soundengine.cpp b/engines/sword25/sfx/soundengine.cpp
index 03cdaf82b7..08f0f5b4ae 100644
--- a/engines/sword25/sfx/soundengine.cpp
+++ b/engines/sword25/sfx/soundengine.cpp
@@ -39,6 +39,8 @@
#include "audio/decoders/vorbis.h"
+#include "common/system.h"
+
namespace Sword25 {
class SoundResource : public Resource {
diff --git a/engines/sword25/sword25.cpp b/engines/sword25/sword25.cpp
index aac21f4b55..38c1c89109 100644
--- a/engines/sword25/sword25.cpp
+++ b/engines/sword25/sword25.cpp
@@ -34,10 +34,18 @@
#include "common/config-manager.h"
#include "common/debug-channels.h"
+#include "common/algorithm.h"
+#include "common/array.h"
+#include "common/error.h"
+#include "common/fs.h"
+#include "common/singleton.h"
+#include "common/str-array.h"
+#include "common/str.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "engines/util.h"
#include "sword25/sword25.h"
-#include "sword25/kernel/filesystemutil.h"
#include "sword25/kernel/kernel.h"
#include "sword25/kernel/persistenceservice.h"
#include "sword25/package/packagemanager.h"
@@ -73,10 +81,10 @@ Sword25Engine::~Sword25Engine() {
Common::Error Sword25Engine::run() {
// Engine initialisation
- Common::Error errorCode = appStart();
- if (errorCode != Common::kNoError) {
+ Common::Error error = appStart();
+ if (error.getCode() != Common::kNoError) {
appEnd();
- return errorCode;
+ return error;
}
// Run the game
diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h
index 9e9679526b..5bd27b311f 100644
--- a/engines/sword25/sword25.h
+++ b/engines/sword25/sword25.h
@@ -27,12 +27,18 @@
#define SWORD25_H
#include "common/scummsys.h"
-#include "common/str-array.h"
-#include "common/util.h"
#include "engines/engine.h"
#include "sword25/console.h"
+namespace Common {
+class Error;
+}
+
+namespace GUI {
+class Debugger;
+}
+
struct ADGameDescription;
/**
diff --git a/engines/teenagent/actor.cpp b/engines/teenagent/actor.cpp
index 1620aa700c..9dd30f43c3 100644
--- a/engines/teenagent/actor.cpp
+++ b/engines/teenagent/actor.cpp
@@ -27,6 +27,7 @@
#include "teenagent/resources.h"
#include "common/random.h"
+#include "common/textconsole.h"
namespace TeenAgent {
diff --git a/engines/teenagent/animation.cpp b/engines/teenagent/animation.cpp
index 56812001e8..623966f265 100644
--- a/engines/teenagent/animation.cpp
+++ b/engines/teenagent/animation.cpp
@@ -24,6 +24,7 @@
#include "teenagent/animation.h"
#include "common/endian.h"
+#include "common/textconsole.h"
namespace TeenAgent {
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp
index d0662a73d6..f4be917eac 100644
--- a/engines/teenagent/callbacks.cpp
+++ b/engines/teenagent/callbacks.cpp
@@ -27,6 +27,8 @@
#include "teenagent/resources.h"
#include "teenagent/dialog.h"
+#include "common/textconsole.h"
+
namespace TeenAgent {
#define CHECK_FLAG(addr, v) (res->dseg.get_byte(addr) == (v))
diff --git a/engines/teenagent/console.h b/engines/teenagent/console.h
index 2aba99428b..d6c24d4d8f 100644
--- a/engines/teenagent/console.h
+++ b/engines/teenagent/console.h
@@ -22,8 +22,8 @@
* $Id$
*/
-#ifndef TEENAGENT_DIALOG_H
-#define TEENAGENT_DIALOG_H
+#ifndef TEENAGENT_CONSOLE_H
+#define TEENAGENT_CONSOLE_H
#include "gui/debugger.h"
diff --git a/engines/teenagent/font.cpp b/engines/teenagent/font.cpp
index 7d252f59e8..2d98ae9de7 100644
--- a/engines/teenagent/font.cpp
+++ b/engines/teenagent/font.cpp
@@ -24,8 +24,12 @@
#include "teenagent/font.h"
#include "teenagent/pack.h"
+#include "common/debug.h"
+#include "common/endian.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/ptr.h"
+#include "graphics/surface.h"
namespace TeenAgent {
diff --git a/engines/teenagent/font.h b/engines/teenagent/font.h
index e08a3513af..29a8121435 100644
--- a/engines/teenagent/font.h
+++ b/engines/teenagent/font.h
@@ -25,6 +25,7 @@
#ifndef TEENAGENT_FONT_H
#define TEENAGENT_FONT_H
+#include "common/str.h"
#include "graphics/surface.h"
namespace TeenAgent {
diff --git a/engines/teenagent/inventory.cpp b/engines/teenagent/inventory.cpp
index bc4ac24da4..4d18d68502 100644
--- a/engines/teenagent/inventory.cpp
+++ b/engines/teenagent/inventory.cpp
@@ -24,6 +24,7 @@
#include "common/memstream.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
#include "teenagent/inventory.h"
#include "teenagent/resources.h"
diff --git a/engines/teenagent/music.cpp b/engines/teenagent/music.cpp
index 395b2546b9..f0be5165f6 100644
--- a/engines/teenagent/music.cpp
+++ b/engines/teenagent/music.cpp
@@ -25,7 +25,9 @@
#include "teenagent/music.h"
#include "teenagent/resources.h"
+#include "common/debug.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
namespace TeenAgent {
diff --git a/engines/teenagent/resources.cpp b/engines/teenagent/resources.cpp
index 9fe889fa41..69908239ab 100644
--- a/engines/teenagent/resources.cpp
+++ b/engines/teenagent/resources.cpp
@@ -24,6 +24,7 @@
#include "teenagent/resources.h"
#include "teenagent/teenagent.h"
+#include "common/textconsole.h"
#include "common/zlib.h"
namespace TeenAgent {
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp
index 6910cbf92f..ee431b2ab5 100644
--- a/engines/teenagent/scene.cpp
+++ b/engines/teenagent/scene.cpp
@@ -26,6 +26,9 @@
#include "common/debug.h"
#include "common/algorithm.h"
#include "common/ptr.h"
+#include "common/textconsole.h"
+
+#include "graphics/palette.h"
#include "teenagent/scene.h"
#include "teenagent/resources.h"
diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h
index 2dc5bc9c83..28def3a064 100644
--- a/engines/teenagent/scene.h
+++ b/engines/teenagent/scene.h
@@ -35,6 +35,10 @@
#include "common/array.h"
#include "common/list.h"
+namespace Common {
+struct Event;
+}
+
namespace TeenAgent {
class TeenAgentEngine;
diff --git a/engines/teenagent/segment.cpp b/engines/teenagent/segment.cpp
index 7ba680907b..829c84765d 100644
--- a/engines/teenagent/segment.cpp
+++ b/engines/teenagent/segment.cpp
@@ -23,6 +23,7 @@
*/
#include "teenagent/segment.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace TeenAgent {
diff --git a/engines/teenagent/surface.h b/engines/teenagent/surface.h
index b44fd3c21a..82c13c84bd 100644
--- a/engines/teenagent/surface.h
+++ b/engines/teenagent/surface.h
@@ -25,8 +25,12 @@
#ifndef TEENAGENT_SURFACE_H
#define TEENAGENT_SURFACE_H
+#include "common/rect.h"
#include "graphics/surface.h"
-#include "common/stream.h"
+
+namespace Common {
+ class SeekableReadStream;
+}
namespace TeenAgent {
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp
index e66de70079..ec1e945f8d 100644
--- a/engines/teenagent/teenagent.cpp
+++ b/engines/teenagent/teenagent.cpp
@@ -27,6 +27,7 @@
#include "common/events.h"
#include "common/savefile.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "backends/audiocd/audiocd.h"
@@ -37,6 +38,7 @@
#include "audio/decoders/raw.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
#include "graphics/thumbnail.h"
#include "teenagent/console.h"
diff --git a/engines/testbed/detection.cpp b/engines/testbed/detection.cpp
index 734ed0c22a..b08cca291a 100644
--- a/engines/testbed/detection.cpp
+++ b/engines/testbed/detection.cpp
@@ -23,10 +23,8 @@
*
*/
-#include "common/config-manager.h"
#include "engines/advancedDetector.h"
#include "common/system.h"
-#include "common/fs.h"
#include "base/plugins.h"
diff --git a/engines/testbed/events.cpp b/engines/testbed/events.cpp
index b0a930172d..37b0a7ead4 100644
--- a/engines/testbed/events.cpp
+++ b/engines/testbed/events.cpp
@@ -24,10 +24,17 @@
#include "common/events.h"
#include "common/keyboard.h"
+#include "common/rect.h"
+#include "common/str.h"
+#include "common/system.h"
+#include "common/util.h"
#include "engines/engine.h"
#include "graphics/cursorman.h"
+#include "graphics/font.h"
+#include "graphics/fontman.h"
+#include "graphics/surface.h"
#include "testbed/events.h"
#include "testbed/graphics.h"
diff --git a/engines/testbed/graphics.cpp b/engines/testbed/graphics.cpp
index c0ce3fea32..c8558e30f4 100644
--- a/engines/testbed/graphics.cpp
+++ b/engines/testbed/graphics.cpp
@@ -33,6 +33,7 @@
#include "graphics/cursorman.h"
#include "graphics/fontman.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "graphics/VectorRendererSpec.h"
diff --git a/engines/testbed/savegame.cpp b/engines/testbed/savegame.cpp
index b91d9fc47c..0ffd3672fa 100644
--- a/engines/testbed/savegame.cpp
+++ b/engines/testbed/savegame.cpp
@@ -138,9 +138,9 @@ TestExitStatus SaveGametests::testListingSavefile() {
Common::Error error = saveFileMan->getError();
- if (error != Common::kNoError) {
+ if (error.getCode() != Common::kNoError) {
// Abort. Some Error in writing files
- Testsuite::logDetailedPrintf("Error while creating savefiles: %s\n", Common::errorToString(error));
+ Testsuite::logDetailedPrintf("Error while creating savefiles: %s\n", error.getDesc().c_str());
return kTestFailed;
}
@@ -177,7 +177,7 @@ TestExitStatus SaveGametests::testErrorMessages() {
readAndVerifyData("tBedSomeNonExistentSaveFile.0", "File doesn't exists!");
Common::Error error = saveFileMan->getError();
- if (error == Common::kNoError) {
+ if (error.getCode() == Common::kNoError) {
// blunder! how come?
Testsuite::logDetailedPrintf("SaveFileMan.getError() failed\n");
return kTestFailed;
diff --git a/engines/testbed/sound.cpp b/engines/testbed/sound.cpp
index 76f9e850c0..dca116368e 100644
--- a/engines/testbed/sound.cpp
+++ b/engines/testbed/sound.cpp
@@ -26,6 +26,8 @@
#include "backends/audiocd/audiocd.h"
+#include "common/config-manager.h"
+
#include "testbed/sound.h"
namespace Testbed {
diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp
index 1ceecb8ebf..179be2bb8b 100644
--- a/engines/testbed/testbed.cpp
+++ b/engines/testbed/testbed.cpp
@@ -24,7 +24,12 @@
#include "common/debug-channels.h"
#include "common/scummsys.h"
-#include "common/system.h"
+#include "common/archive.h"
+#include "common/config-manager.h"
+#include "common/error.h"
+#include "common/fs.h"
+#include "common/rect.h"
+#include "common/str.h"
#include "engines/util.h"
diff --git a/engines/testbed/testbed.h b/engines/testbed/testbed.h
index e0feb52ff5..ca803a4cec 100644
--- a/engines/testbed/testbed.h
+++ b/engines/testbed/testbed.h
@@ -25,9 +25,9 @@
#ifndef TESTBED_H
#define TESTBED_H
-#include "engines/engine.h"
+#include "common/array.h"
-#include "gui/options.h"
+#include "engines/engine.h"
#include "testbed/config.h"
#include "testbed/testsuite.h"
diff --git a/engines/testbed/testsuite.h b/engines/testbed/testsuite.h
index a738f40764..94b3d70fd4 100644
--- a/engines/testbed/testsuite.h
+++ b/engines/testbed/testsuite.h
@@ -25,9 +25,12 @@
#ifndef TESTBED_TESTSUITE_H
#define TESTBED_TESTSUITE_H
+#include "common/array.h"
+#include "common/rect.h"
+#include "common/scummsys.h"
#include "common/system.h"
#include "common/str.h"
-#include "common/array.h"
+#include "graphics/font.h"
#include "graphics/fontman.h"
diff --git a/engines/tinsel/actors.cpp b/engines/tinsel/actors.cpp
index 1d25723a35..9ec253e512 100644
--- a/engines/tinsel/actors.cpp
+++ b/engines/tinsel/actors.cpp
@@ -44,6 +44,7 @@
#include "tinsel/tinsel.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/adpcm.cpp b/engines/tinsel/adpcm.cpp
index ec51d150dc..530395d754 100644
--- a/engines/tinsel/adpcm.cpp
+++ b/engines/tinsel/adpcm.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "common/stream.h"
+#include "common/util.h"
+
#include "tinsel/adpcm.h"
namespace Tinsel {
@@ -44,14 +47,14 @@ void Tinsel_ADPCMStream::readBufferTinselHeader() {
// Negate
start = ~(start | 0xC0) + 1;
- _status.predictor = 1 << start;
+ _status.predictor = (unsigned long long int)1 << start;
} else {
// Lower 6 bit are positive
// Truncate
start &= 0x1F;
- _status.predictor = ((double) 1.0) / (1 << start);
+ _status.predictor = ((double) 1.0) / ((unsigned long long int)1 << start);
}
_status.K0 = TinselFilterTable[filterVal][0];
diff --git a/engines/tinsel/anim.cpp b/engines/tinsel/anim.cpp
index 37d8de925e..61c8b67624 100644
--- a/engines/tinsel/anim.cpp
+++ b/engines/tinsel/anim.cpp
@@ -31,6 +31,7 @@
#include "tinsel/sched.h"
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/bg.cpp b/engines/tinsel/bg.cpp
index 747fdfe93c..0e67c3a06e 100644
--- a/engines/tinsel/bg.cpp
+++ b/engines/tinsel/bg.cpp
@@ -40,6 +40,7 @@
#include "tinsel/tinlib.h" // For Control()
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/bmv.cpp b/engines/tinsel/bmv.cpp
index e3fbad678c..793febdc21 100644
--- a/engines/tinsel/bmv.cpp
+++ b/engines/tinsel/bmv.cpp
@@ -44,6 +44,8 @@
#include "audio/decoders/raw.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
//----------------- LOCAL DEFINES ----------------------------
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index ee9c9aed39..281dd2da55 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -62,6 +62,8 @@
#include "tinsel/tinsel.h" // For engine access
#include "tinsel/token.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
//----------------- EXTERNAL GLOBAL DATA --------------------
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index a256ed73e8..f81a59a0b7 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -32,7 +32,7 @@
#include "tinsel/events.h" // for PLR_EVENT, PLR_EVENT
namespace Common {
- class Serializer;
+class Serializer;
}
namespace Tinsel {
diff --git a/engines/tinsel/drives.cpp b/engines/tinsel/drives.cpp
index ab606f3159..d252e45cf5 100644
--- a/engines/tinsel/drives.cpp
+++ b/engines/tinsel/drives.cpp
@@ -24,9 +24,7 @@
* CD/drive handling functions
*/
-#include "common/config-manager.h"
-#include "common/substream.h"
-#include "gui/message.h"
+#include "common/textconsole.h"
#include "tinsel/drives.h"
#include "tinsel/scene.h"
#include "tinsel/tinsel.h"
diff --git a/engines/tinsel/graphics.cpp b/engines/tinsel/graphics.cpp
index 0b550f50f3..bdcd3207f9 100644
--- a/engines/tinsel/graphics.cpp
+++ b/engines/tinsel/graphics.cpp
@@ -32,6 +32,8 @@
#include "tinsel/tinsel.h"
#include "tinsel/scn.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
//----------------- LOCAL DEFINES --------------------
diff --git a/engines/tinsel/handle.cpp b/engines/tinsel/handle.cpp
index f2db42bede..6f5f92c969 100644
--- a/engines/tinsel/handle.cpp
+++ b/engines/tinsel/handle.cpp
@@ -27,6 +27,7 @@
#define BODGE
#include "common/file.h"
+#include "common/textconsole.h"
#include "tinsel/drives.h"
#include "tinsel/dw.h"
diff --git a/engines/tinsel/mareels.cpp b/engines/tinsel/mareels.cpp
index cf28749e76..5d9672972a 100644
--- a/engines/tinsel/mareels.cpp
+++ b/engines/tinsel/mareels.cpp
@@ -28,6 +28,7 @@
#include "tinsel/pcode.h" // For D_UP, D_DOWN
#include "tinsel/rince.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/object.cpp b/engines/tinsel/object.cpp
index 1aac68c7f0..ad02a614a5 100644
--- a/engines/tinsel/object.cpp
+++ b/engines/tinsel/object.cpp
@@ -32,6 +32,8 @@
#include "tinsel/text.h"
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
+
#define OID_EFFECTS 0x2000 // generic special effects object id
namespace Tinsel {
diff --git a/engines/tinsel/palette.cpp b/engines/tinsel/palette.cpp
index 2d2ebd6f60..0877337603 100644
--- a/engines/tinsel/palette.cpp
+++ b/engines/tinsel/palette.cpp
@@ -32,6 +32,8 @@
#include "tinsel/tinsel.h"
#include "common/system.h"
+#include "common/textconsole.h"
+#include "graphics/palette.h"
namespace Tinsel {
diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp
index ccd86d7ed7..a1cc02a832 100644
--- a/engines/tinsel/pcode.cpp
+++ b/engines/tinsel/pcode.cpp
@@ -36,6 +36,7 @@
#include "tinsel/tinlib.h" // Library routines
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/pcode.h b/engines/tinsel/pcode.h
index f3690e9257..f31f2eb5c6 100644
--- a/engines/tinsel/pcode.h
+++ b/engines/tinsel/pcode.h
@@ -31,7 +31,7 @@
#include "tinsel/sched.h" // for PROCESS
namespace Common {
- class Serializer;
+class Serializer;
}
namespace Tinsel {
diff --git a/engines/tinsel/pdisplay.cpp b/engines/tinsel/pdisplay.cpp
index 33eee8bc98..5022f4757a 100644
--- a/engines/tinsel/pdisplay.cpp
+++ b/engines/tinsel/pdisplay.cpp
@@ -44,6 +44,8 @@
#include "tinsel/text.h"
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
//----------------- EXTERNAL GLOBAL DATA --------------------
diff --git a/engines/tinsel/polygons.cpp b/engines/tinsel/polygons.cpp
index 0811dae079..f49dddeef4 100644
--- a/engines/tinsel/polygons.cpp
+++ b/engines/tinsel/polygons.cpp
@@ -34,6 +34,7 @@
#include "tinsel/tinsel.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/rince.cpp b/engines/tinsel/rince.cpp
index c0878b6849..38ac0a2ce6 100644
--- a/engines/tinsel/rince.cpp
+++ b/engines/tinsel/rince.cpp
@@ -47,6 +47,7 @@
#include "tinsel/tinsel.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index 7a6b5877e8..b6935d41ab 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -36,6 +36,7 @@
#include "common/serializer.h"
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "gui/message.h"
diff --git a/engines/tinsel/savescn.cpp b/engines/tinsel/savescn.cpp
index ef0f5cdc25..aa359d281f 100644
--- a/engines/tinsel/savescn.cpp
+++ b/engines/tinsel/savescn.cpp
@@ -48,6 +48,8 @@
#include "tinsel/tinlib.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
//----------------- EXTERN FUNCTIONS --------------------
diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp
index 80f4c585a7..b82bac32cc 100644
--- a/engines/tinsel/scene.cpp
+++ b/engines/tinsel/scene.cpp
@@ -51,6 +51,7 @@
#include "tinsel/sysvar.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
namespace Tinsel {
diff --git a/engines/tinsel/sched.cpp b/engines/tinsel/sched.cpp
index 427e28826f..37c04abd22 100644
--- a/engines/tinsel/sched.cpp
+++ b/engines/tinsel/sched.cpp
@@ -30,6 +30,7 @@
#include "tinsel/polygons.h"
#include "tinsel/sched.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Tinsel {
diff --git a/engines/tinsel/scn.cpp b/engines/tinsel/scn.cpp
index 17ae7c8687..20d75b6b93 100644
--- a/engines/tinsel/scn.cpp
+++ b/engines/tinsel/scn.cpp
@@ -24,9 +24,6 @@
* A (some would say very) small collection of utility functions.
*/
-#include "common/endian.h"
-#include "common/util.h"
-
#include "tinsel/dw.h"
#include "tinsel/film.h"
#include "tinsel/handle.h"
diff --git a/engines/tinsel/sound.cpp b/engines/tinsel/sound.cpp
index 9a08b6224b..ec42ca5da4 100644
--- a/engines/tinsel/sound.cpp
+++ b/engines/tinsel/sound.cpp
@@ -35,9 +35,7 @@
#include "tinsel/sysvar.h"
#include "tinsel/background.h"
-#include "common/config-manager.h"
#include "common/endian.h"
-#include "common/file.h"
#include "common/memstream.h"
#include "common/system.h"
@@ -131,13 +129,9 @@ bool SoundManager::playSample(int id, Audio::Mixer::SoundType type, Audio::Sound
error(FILE_IS_CORRUPT, _vm->getSampleFile(sampleLanguage));
// FIXME: Should set this in a different place ;)
- bool mute = false;
- if (ConfMan.hasKey("mute"))
- mute = ConfMan.getBool("mute");
-
- _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, mute ? 0 : _vm->_config->_soundVolume);
+ _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, _vm->_config->_soundVolume);
//_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
- _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, mute ? 0 : _vm->_config->_voiceVolume);
+ _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_config->_voiceVolume);
Audio::AudioStream *sampleStream = 0;
@@ -325,13 +319,9 @@ bool SoundManager::playSample(int id, int sub, bool bLooped, int x, int y, int p
}
// FIXME: Should set this in a different place ;)
- bool mute = false;
- if (ConfMan.hasKey("mute"))
- mute = ConfMan.getBool("mute");
-
- _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, mute ? 0 : _vm->_config->_soundVolume);
+ _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, _vm->_config->_soundVolume);
//_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
- _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, mute ? 0 : _vm->_config->_voiceVolume);
+ _vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_config->_voiceVolume);
curChan->sampleNum = id;
curChan->subSample = sub;
diff --git a/engines/tinsel/strres.cpp b/engines/tinsel/strres.cpp
index aa303a5391..2dc0e833d1 100644
--- a/engines/tinsel/strres.cpp
+++ b/engines/tinsel/strres.cpp
@@ -31,6 +31,7 @@
#include "tinsel/scn.h"
#include "common/file.h"
#include "common/endian.h"
+#include "common/textconsole.h"
#include "gui/message.h"
diff --git a/engines/tinsel/sysvar.cpp b/engines/tinsel/sysvar.cpp
index ed4c99a560..ad795fd219 100644
--- a/engines/tinsel/sysvar.cpp
+++ b/engines/tinsel/sysvar.cpp
@@ -31,6 +31,8 @@
#include "tinsel/sysvar.h"
#include "tinsel/tinsel.h"
+#include "common/textconsole.h"
+
namespace Tinsel {
// Return for SYS_Platform
diff --git a/engines/tinsel/timers.cpp b/engines/tinsel/timers.cpp
index 5f15cd9d3b..c1a4cd0ff5 100644
--- a/engines/tinsel/timers.cpp
+++ b/engines/tinsel/timers.cpp
@@ -31,7 +31,7 @@
#include "tinsel/timers.h"
#include "tinsel/dw.h"
#include "common/serializer.h"
-
+#include "common/textconsole.h"
#include "common/system.h"
namespace Tinsel {
diff --git a/engines/tinsel/timers.h b/engines/tinsel/timers.h
index 022604b662..1456d9a1d5 100644
--- a/engines/tinsel/timers.h
+++ b/engines/tinsel/timers.h
@@ -31,7 +31,7 @@
#include "tinsel/dw.h"
namespace Common {
- class Serializer;
+class Serializer;
}
namespace Tinsel {
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 13b08a234c..afd409ce27 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -70,6 +70,7 @@
#include "tinsel/tinsel.h"
#include "tinsel/token.h"
+#include "common/textconsole.h"
namespace Tinsel {
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp
index f1ed275248..20d4f1d31a 100644
--- a/engines/tinsel/tinsel.cpp
+++ b/engines/tinsel/tinsel.cpp
@@ -29,22 +29,14 @@
#include "common/events.h"
#include "common/EventRecorder.h"
#include "common/keyboard.h"
-#include "common/file.h"
#include "common/fs.h"
-#include "common/savefile.h"
#include "common/config-manager.h"
#include "common/serializer.h"
-#include "common/stream.h"
#include "backends/audiocd/audiocd.h"
#include "engines/util.h"
-#include "graphics/cursorman.h"
-
-#include "base/plugins.h"
-#include "base/version.h"
-
#include "tinsel/actors.h"
#include "tinsel/background.h"
#include "tinsel/bmv.h"
@@ -972,7 +964,7 @@ Common::Error TinselEngine::run() {
// errors when loading the save state.
if (ConfMan.hasKey("save_slot")) {
- if (loadGameState(ConfMan.getInt("save_slot")) == Common::kNoError)
+ if (loadGameState(ConfMan.getInt("save_slot")).getCode() == Common::kNoError)
loadingFromGMM = true;
}
diff --git a/engines/toon/anim.cpp b/engines/toon/anim.cpp
index 6004aacead..856acbd986 100644
--- a/engines/toon/anim.cpp
+++ b/engines/toon/anim.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "common/debug.h"
+#include "common/rect.h"
+
#include "toon/anim.h"
#include "toon/toon.h"
#include "toon/tools.h"
diff --git a/engines/toon/audio.cpp b/engines/toon/audio.cpp
index c2e0bf7b20..026450d3c9 100644
--- a/engines/toon/audio.cpp
+++ b/engines/toon/audio.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/audio.h"
#include "common/memstream.h"
#include "common/substream.h"
diff --git a/engines/toon/character.cpp b/engines/toon/character.cpp
index 69051d45fd..29a61ffd78 100644
--- a/engines/toon/character.cpp
+++ b/engines/toon/character.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "common/debug.h"
+#include "common/system.h"
+
#include "toon/character.h"
#include "toon/drew.h"
#include "toon/flux.h"
@@ -166,8 +169,9 @@ bool Character::walkTo(int32 newPosX, int32 newPosY) {
_vm->getPathFinding()->resetBlockingRects();
- if (_id == 1) {
- int32 sizeX = MAX<int32>(5, 40 * _vm->getDrew()->getScale() / 1024);
+ // don't allow flux to go at the same position as drew
+ if (_id == 1 ) {
+ int32 sizeX = MAX<int32>(5, 30 * _vm->getDrew()->getScale() / 1024);
int32 sizeY = MAX<int32>(2, 20 * _vm->getDrew()->getScale() / 1024);
_vm->getPathFinding()->addBlockingEllipse(_vm->getDrew()->getFinalX(), _vm->getDrew()->getFinalY(), sizeX, sizeY);
}
diff --git a/engines/toon/drew.cpp b/engines/toon/drew.cpp
index 4f8152833b..77333c4a9f 100644
--- a/engines/toon/drew.cpp
+++ b/engines/toon/drew.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/drew.h"
namespace Toon {
diff --git a/engines/toon/flux.cpp b/engines/toon/flux.cpp
index 034332af56..833fdbf5ce 100644
--- a/engines/toon/flux.cpp
+++ b/engines/toon/flux.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/flux.h"
namespace Toon {
diff --git a/engines/toon/font.cpp b/engines/toon/font.cpp
index 8192a6f6f1..9367d79036 100644
--- a/engines/toon/font.cpp
+++ b/engines/toon/font.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/font.h"
namespace Toon {
@@ -81,7 +83,7 @@ void FontRenderer::renderText(int32 x, int32 y, Common::String origText, int32 m
x -= xx / 2;
}
- _vm->addDirtyRect(x, y, x + xx, y + yy);
+ _vm->addDirtyRect(x, y, x + xx + 2, y + yy);
int32 curX = x;
int32 curY = y;
@@ -214,7 +216,7 @@ void FontRenderer::renderMultiLineText(int32 x, int32 y, Common::String origText
curChar = textToFont(curChar);
int width = _currentFont->getFrameWidth(curChar);
- curWidth += width - 2;
+ curWidth += MAX<int32>(width - 2, 0);
it++;
curLetterNr++;
}
@@ -275,12 +277,12 @@ void FontRenderer::renderMultiLineText(int32 x, int32 y, Common::String origText
for (int32 i = 0; i < numLines; i++) {
const byte *line = lines[i];
curX = x - lineSize[i] / 2;
- _vm->addDirtyRect(curX + _vm->state()->_currentScrollValue, y, curX + lineSize[i] + _vm->state()->_currentScrollValue, curY + height);
+ _vm->addDirtyRect(curX + _vm->state()->_currentScrollValue, curY, curX + lineSize[i] + _vm->state()->_currentScrollValue + 2, curY + height);
while (*line) {
byte curChar = textToFont(*line);
if (curChar != 32) _currentFont->drawFontFrame(_vm->getMainSurface(), curChar, curX + _vm->state()->_currentScrollValue, curY, _currentFontColor);
- curX = curX + _currentFont->getFrameWidth(curChar) - 2;
+ curX = curX + MAX<int32>(_currentFont->getFrameWidth(curChar) - 2, 0);
//height = MAX(height, _currentFont->getFrameHeight(curChar));
line++;
}
diff --git a/engines/toon/hotspot.cpp b/engines/toon/hotspot.cpp
index 0573e92fef..1c1e23e39e 100644
--- a/engines/toon/hotspot.cpp
+++ b/engines/toon/hotspot.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/hotspot.h"
#include "toon/tools.h"
diff --git a/engines/toon/movie.cpp b/engines/toon/movie.cpp
index 5ccfcbb8ec..64b80c29b3 100644
--- a/engines/toon/movie.cpp
+++ b/engines/toon/movie.cpp
@@ -23,7 +23,16 @@
*
*/
+#include "common/debug.h"
+#include "common/events.h"
+#include "common/keyboard.h"
+#include "common/stream.h"
+#include "common/system.h"
+#include "graphics/surface.h"
+
+#include "toon/audio.h"
#include "toon/movie.h"
+#include "toon/toon.h"
namespace Toon {
diff --git a/engines/toon/path.cpp b/engines/toon/path.cpp
index e0cdf87502..26355863f6 100644
--- a/engines/toon/path.cpp
+++ b/engines/toon/path.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/path.h"
namespace Toon {
@@ -407,7 +409,11 @@ void PathFinding::init(Picture *mask) {
_height = mask->getHeight();
_currentMask = mask;
_heap->unload();
- _heap->init(_width * _height);
+ // In order to reduce memory fragmentation on small devices, we use the maximum
+ // possible size here which is TOON_BACKBUFFER_WIDTH. Even though this is
+ // 1280 as opposed to the possible 640, it actually helps memory allocation on
+ // those devices.
+ _heap->init(TOON_BACKBUFFER_WIDTH * _height); // should really be _width
delete[] _gridTemp;
_gridTemp = new int32[_width*_height];
}
diff --git a/engines/toon/picture.cpp b/engines/toon/picture.cpp
index 1945f0fe45..ce28f9c68b 100644
--- a/engines/toon/picture.cpp
+++ b/engines/toon/picture.cpp
@@ -25,6 +25,9 @@
#include "toon/picture.h"
#include "toon/tools.h"
+
+#include "common/debug.h"
+#include "common/rect.h"
#include "common/stack.h"
namespace Toon {
diff --git a/engines/toon/resource.cpp b/engines/toon/resource.cpp
index b29aa3b72d..f9f65b423b 100644
--- a/engines/toon/resource.cpp
+++ b/engines/toon/resource.cpp
@@ -24,6 +24,7 @@
*/
#include "toon/resource.h"
+#include "common/debug.h"
#include "common/file.h"
#include "common/memstream.h"
#include "common/substream.h"
diff --git a/engines/toon/script.cpp b/engines/toon/script.cpp
index 0242ace7e3..8703666781 100644
--- a/engines/toon/script.cpp
+++ b/engines/toon/script.cpp
@@ -23,10 +23,9 @@
*
*/
+#include "common/debug.h"
#include "common/endian.h"
#include "common/stream.h"
-#include "common/util.h"
-#include "common/system.h"
#include "toon/toon.h"
#include "toon/script.h"
diff --git a/engines/toon/script_func.cpp b/engines/toon/script_func.cpp
index b181591bf0..8f75097bd4 100644
--- a/engines/toon/script_func.cpp
+++ b/engines/toon/script_func.cpp
@@ -23,6 +23,9 @@
*
*/
+#include "common/debug.h"
+#include "common/system.h"
+
#include "toon/script_func.h"
#include "toon/script.h"
#include "toon/state.h"
diff --git a/engines/toon/state.cpp b/engines/toon/state.cpp
index 0d6977842d..af37ea9e68 100644
--- a/engines/toon/state.cpp
+++ b/engines/toon/state.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/state.h"
#include "toon/toon.h"
diff --git a/engines/toon/text.cpp b/engines/toon/text.cpp
index f0d17dd34e..94a3ea5aa7 100644
--- a/engines/toon/text.cpp
+++ b/engines/toon/text.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/text.h"
namespace Toon {
diff --git a/engines/toon/tools.cpp b/engines/toon/tools.cpp
index da6e0f712e..ff72e69543 100644
--- a/engines/toon/tools.cpp
+++ b/engines/toon/tools.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "common/debug.h"
+
#include "toon/tools.h"
#include "toon/toon.h"
diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp
index c3613e3f52..81c4d313e4 100644
--- a/engines/toon/toon.cpp
+++ b/engines/toon/toon.cpp
@@ -33,6 +33,7 @@
#include "common/memstream.h"
#include "engines/util.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "graphics/thumbnail.h"
#include "gui/saveload.h"
@@ -116,6 +117,8 @@ void ToonEngine::init() {
_drew = _characters[0];
_flux = _characters[1];
+
+
// preload walk anim for flux and drew
_drew->loadWalkAnimation("STNDWALK.CAF");
_drew->setupPalette();
@@ -135,6 +138,9 @@ void ToonEngine::init() {
memset(_sceneAnimations, 0, sizeof(_sceneAnimations));
memset(_sceneAnimationScripts, 0, sizeof(_sceneAnimationScripts));
+ _drew->setVisible(false);
+ _flux->setVisible(false);
+
_gameState->_currentChapter = 1;
initChapter();
loadCursor();
@@ -843,6 +849,7 @@ ToonEngine::ToonEngine(OSystem *syst, const ADGameDescription *gameDescription)
_backupPalette = NULL;
_additionalPalette1 = NULL;
_additionalPalette2 = NULL;
+ _additionalPalette2Present = false;
_cutawayPalette = NULL;
_universalPalette = NULL;
_fluxPalette = NULL;
@@ -1148,6 +1155,7 @@ void ToonEngine::loadScene(int32 SceneId, bool forGameLoad) {
strcat(temp, ".NPP");
loadAdditionalPalette(temp, 0);
+ _additionalPalette2Present = false;
strcpy(temp, state()->_locations[SceneId]._name);
strcat(temp, ".NP2");
loadAdditionalPalette(temp, 1);
@@ -1318,6 +1326,7 @@ void ToonEngine::loadAdditionalPalette(Common::String fileName, int32 mode) {
case 1:
memcpy(_additionalPalette2, palette, 69);
fixPaletteEntries(_additionalPalette2, 23);
+ _additionalPalette2Present = true;
break;
case 2:
memcpy(_cutawayPalette, palette, size);
@@ -1786,7 +1795,8 @@ void ToonEngine::flipScreens() {
if (_gameState->_inCloseUp) {
_gameState->_currentScrollValue = TOON_SCREEN_WIDTH;
setPaletteEntries(_cutawayPalette, 1, 128);
- setPaletteEntries(_additionalPalette2, 232, 23);
+ if (_additionalPalette2Present)
+ setPaletteEntries(_additionalPalette2, 232, 23);
} else {
_gameState->_currentScrollValue = 0;
_currentPicture->setupPalette();
diff --git a/engines/toon/toon.h b/engines/toon/toon.h
index 3554900684..373437d658 100644
--- a/engines/toon/toon.h
+++ b/engines/toon/toon.h
@@ -352,6 +352,7 @@ protected:
uint8 *_backupPalette;
uint8 *_additionalPalette1;
uint8 *_additionalPalette2;
+ bool _additionalPalette2Present;
uint8 *_cutawayPalette;
uint8 *_universalPalette;
uint8 *_fluxPalette;
diff --git a/engines/touche/menu.cpp b/engines/touche/menu.cpp
index 52967c25c7..eb10c61893 100644
--- a/engines/touche/menu.cpp
+++ b/engines/touche/menu.cpp
@@ -331,14 +331,14 @@ void ToucheEngine::handleMenuAction(void *menu, int actionId) {
break;
case kActionPerformSaveLoad:
if (menuData->mode == kMenuLoadStateMode) {
- if (loadGameState(_saveLoadCurrentSlot) == Common::kNoError) {
+ if (loadGameState(_saveLoadCurrentSlot).getCode() == Common::kNoError) {
menuData->quit = true;
}
} else if (menuData->mode == kMenuSaveStateMode) {
_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
const char *description = menuData->saveLoadDescriptionsTable[_saveLoadCurrentSlot];
if (strlen(description) > 0) {
- if (saveGameState(_saveLoadCurrentSlot, description) == Common::kNoError) {
+ if (saveGameState(_saveLoadCurrentSlot, description).getCode() == Common::kNoError) {
menuData->quit = true;
}
}
diff --git a/engines/touche/midi.h b/engines/touche/midi.h
index f0f55e64e6..bde4950b93 100644
--- a/engines/touche/midi.h
+++ b/engines/touche/midi.h
@@ -34,7 +34,7 @@
class MidiParser;
namespace Common {
- class ReadStream;
+class ReadStream;
}
namespace Touche {
diff --git a/engines/touche/resource.cpp b/engines/touche/resource.cpp
index 3c108e2931..93406dcb8b 100644
--- a/engines/touche/resource.cpp
+++ b/engines/touche/resource.cpp
@@ -24,6 +24,7 @@
*/
+#include "common/textconsole.h"
#include "audio/decoders/flac.h"
#include "audio/mixer.h"
diff --git a/engines/touche/saveload.cpp b/engines/touche/saveload.cpp
index 73817a5a1a..42b68d015c 100644
--- a/engines/touche/saveload.cpp
+++ b/engines/touche/saveload.cpp
@@ -24,6 +24,7 @@
*/
+#include "common/textconsole.h"
#include "common/savefile.h"
#include "touche/graphics.h"
diff --git a/engines/touche/touche.cpp b/engines/touche/touche.cpp
index 6b47a7fc4d..15a2b1c53a 100644
--- a/engines/touche/touche.cpp
+++ b/engines/touche/touche.cpp
@@ -28,13 +28,18 @@
#include "common/debug-channels.h"
#include "common/events.h"
#include "common/EventRecorder.h"
-#include "common/file.h"
#include "common/fs.h"
#include "common/system.h"
+#include "common/archive.h"
+#include "common/debug.h"
+#include "common/error.h"
+#include "common/keyboard.h"
+#include "common/textconsole.h"
#include "engines/util.h"
#include "graphics/cursorman.h"
-#include "audio/mididrv.h"
+#include "graphics/palette.h"
+#include "gui/debugger.h"
#include "touche/midi.h"
#include "touche/touche.h"
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 86a4bf1461..c4358dc4b2 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -181,7 +181,7 @@ void SequenceManager::signal() {
break;
case 15:
v1 = getNextValue();
- _sceneObject->_field7A = v1;
+ _sceneObject->_moveRate = v1;
break;
case 16:
v1 = getNextValue();
@@ -208,7 +208,7 @@ void SequenceManager::signal() {
break;
case 22:
v1 = getNextValue();
- _sceneObject->setPriority2(v1);
+ _sceneObject->fixPriority(v1);
break;
case 23:
v1 = getNextValue();
@@ -244,6 +244,7 @@ void SequenceManager::signal() {
}
case 28:
_objectIndex = getNextValue();
+ assert((_objectIndex >= 0) && (_objectIndex < 6));
_sceneObject = _objectList[_objectIndex];
assert(_sceneObject);
break;
@@ -272,14 +273,15 @@ void SequenceManager::signal() {
case 34: {
v1 = getNextValue();
v2 = getNextValue();
- int objIndex1 = getNextValue();
- int objIndex2 = getNextValue();
- int objIndex3 = getNextValue();
- int objIndex4 = getNextValue();
- int objIndex5 = getNextValue();
+ int objIndex1 = getNextValue() - 1;
+ int objIndex2 = getNextValue() - 1;
+ int objIndex3 = getNextValue() - 1;
+ int objIndex4 = getNextValue() - 1;
+ int objIndex5 = getNextValue() - 1;
+ int objIndex6 = getNextValue() - 1;
setAction(globalManager(), v2 ? this : NULL, v1, _objectList[objIndex1], _objectList[objIndex2],
- _objectList[objIndex3], _objectList[objIndex4], _objectList[objIndex5]);
+ _objectList[objIndex3], _objectList[objIndex4], _objectList[objIndex5], _objectList[objIndex6], NULL);
break;
}
default:
@@ -294,17 +296,19 @@ void SequenceManager::process(Event &event) {
!event.handled && _globals->_sceneObjects->contains(&_sceneText)) {
// Remove the text item
_sceneText.remove();
+ setDelay(2);
+ event.handled = true;
} else {
Action::process(event);
}
}
-void SequenceManager::attached(EventHandler *newOwner, EventHandler *fmt, va_list va) {
+void SequenceManager::attached(EventHandler *newOwner, EventHandler *endHandler, va_list va) {
// Get the sequence number to use
_resNum = va_arg(va, int);
- byte *seqData = _vm->_dataManager->getResource(RES_SEQUENCE, _resNum, 0);
+ byte *seqData = _resourceManager->getResource(RES_SEQUENCE, _resNum, 0);
uint seqSize = _vm->_memoryManager.getSize(seqData);
_sequenceData.resize(seqSize);
@@ -320,7 +324,7 @@ void SequenceManager::attached(EventHandler *newOwner, EventHandler *fmt, va_lis
}
setup();
- Action::attached(newOwner, fmt, va);
+ Action::attached(newOwner, endHandler, va);
}
/**
@@ -340,7 +344,7 @@ void SequenceManager::setMessage(int resNum, int lineNum, int color, const Commo
_sceneText._width = width;
// Get the display message
- Common::String msg = _vm->_dataManager->getMessage(resNum, lineNum);
+ Common::String msg = _resourceManager->getMessage(resNum, lineNum);
// Get the needed rect, and move it to the desired position
Rect textRect;
@@ -353,7 +357,7 @@ void SequenceManager::setMessage(int resNum, int lineNum, int color, const Commo
// Set the text message
_sceneText.setup(msg);
_sceneText.setPosition(Common::Point(textRect.left, textRect.top));
- _sceneText.setPriority2(255);
+ _sceneText.fixPriority(255);
_sceneText.show();
// Set the delay based on the number of words
@@ -530,7 +534,7 @@ void StripManager::start(int stripNum, EventHandler *owner, StripCallback *callb
_stripNum = stripNum;
_callbackObject = callback;
- _sceneNumber = _globals->_sceneManager._sceneNumber;
+ _sceneNumber = _globals->_sceneManager._scene->_screenNumber;
_sceneBounds = _globals->_sceneManager._scene->_sceneBounds;
_script.clear();
@@ -542,7 +546,7 @@ void StripManager::reset() {
_actionIndex = 0;
_delayFrames = 0;
_owner = NULL;
- _fmt = NULL;
+ _endHandler = NULL;
_field2E6 = false;
_stripNum = -1;
_obj44Index = 0;
@@ -560,7 +564,7 @@ void StripManager::reset() {
void StripManager::load() {
// Get the script
- byte *script = _vm->_dataManager->getResource(RES_STRIP, _stripNum, 2);
+ byte *script = _resourceManager->getResource(RES_STRIP, _stripNum, 2);
uint scriptSize = _vm->_memoryManager.getSize(script);
_script.resize(scriptSize);
@@ -569,7 +573,7 @@ void StripManager::load() {
DEALLOCATE(script);
// Get the object list
- byte *obj44List = _vm->_dataManager->getResource(RES_STRIP, _stripNum, 1);
+ byte *obj44List = _resourceManager->getResource(RES_STRIP, _stripNum, 1);
int dataSize = _vm->_memoryManager.getSize(obj44List);
assert((dataSize % 0x44) == 0);
@@ -631,7 +635,7 @@ void StripManager::remove() {
if (_activeSpeaker)
_activeSpeaker->remove();
- if (_sceneNumber != _globals->_sceneManager._scene->_sceneNumber) {
+ if (_sceneNumber != _globals->_sceneManager._scene->_screenNumber) {
_globals->_sceneManager._scene->_sceneBounds = _sceneBounds;
_globals->_sceneManager._scene->loadScene(_sceneNumber);
}
@@ -646,7 +650,7 @@ void StripManager::signal() {
}
if (_obj44Index < 0) {
- EventHandler *owner = _fmt;
+ EventHandler *owner = _endHandler;
int stripNum = ABS(_obj44Index);
remove();
@@ -695,7 +699,7 @@ void StripManager::signal() {
_activeSpeaker->remove();
_activeSpeaker = speakerP;
- if ((_activeSpeaker->_newSceneNumber == -1) && (_globals->_sceneManager._scene->_sceneNumber != _sceneNumber)) {
+ if ((_activeSpeaker->_newSceneNumber == -1) && (_globals->_sceneManager._scene->_screenNumber != _sceneNumber)) {
_globals->_sceneManager._scene->_sceneBounds = _sceneBounds;
_globals->_sceneManager._scene->loadScene(_sceneNumber);
}
@@ -847,7 +851,7 @@ void Speaker::setText(const Common::String &msg) {
_sceneText._textMode = _textMode;
_sceneText.setup(msg);
_sceneText.setPosition(_textPos);
- _sceneText.setPriority2(256);
+ _sceneText.fixPriority(256);
// Count the number of words (by spaces) in the string
const char *msgP = msg.c_str();
diff --git a/engines/tsage/converse.h b/engines/tsage/converse.h
index 7b8d944647..fd2abcd872 100644
--- a/engines/tsage/converse.h
+++ b/engines/tsage/converse.h
@@ -62,7 +62,7 @@ public:
virtual void remove();
virtual void signal();
virtual void process(Event &event);
- virtual void attached(EventHandler *newOwner, EventHandler *fmt, va_list va);
+ virtual void attached(EventHandler *newOwner, EventHandler *endHandler, va_list va);
};
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index 9e3b3fcc0e..f03f10ffd2 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -24,10 +24,8 @@
*/
#include "common/system.h"
-#include "common/config-manager.h"
-#include "common/translation.h"
#include "engines/engine.h"
-#include "gui/saveload.h"
+#include "graphics/palette.h"
#include "tsage/tsage.h"
#include "tsage/core.h"
#include "tsage/dialogs.h"
@@ -51,7 +49,7 @@ InvObject::InvObject(int sceneNumber, int rlbNum, int cursorNum, CursorType curs
// Decode the image for the inventory item to get it's display bounds
uint size;
- byte *imgData = _vm->_dataManager->getSubResource(_displayResNum, _rlbNum, _cursorNum, &size);
+ byte *imgData = _resourceManager->getSubResource(_displayResNum, _rlbNum, _cursorNum, &size);
GfxSurface s = surfaceFromRes(imgData);
_bounds = s.getBounds();
@@ -71,76 +69,7 @@ void InvObject::setCursor() {
/*--------------------------------------------------------------------------*/
-InvObjectList::InvObjectList() :
- _stunner(2280, 1, 2, OBJECT_STUNNER, "This is your stunner."),
- _scanner(1, 1, 3, OBJECT_SCANNER, "A combination scanner comm unit."),
- _stasisBox(5200, 1, 4, OBJECT_STASIS_BOX, "A stasis box."),
- _infoDisk(40, 1, 1, OBJECT_INFODISK, "The infodisk you took from the assassin."),
- _stasisNegator(0, 2, 2, OBJECT_STASIS_NEGATOR, "The stasis field negator."),
- _keyDevice(4250, 1, 6, OBJECT_KEY_DEVICE, "A magnetic key device."),
- _medkit(2280, 1, 7, OBJECT_MEDKIT, "Your medkit."),
- _ladder(4100, 1, 8, OBJECT_LADDER, "The chief's ladder."),
- _rope(4150, 1, 9, OBJECT_ROPE, "The chief's rope."),
- _key(7700, 1, 11, OBJECT_KEY, "A key."),
- _translator(7700, 1, 13, OBJECT_TRANSLATOR, "The dolphin translator box."),
- _ale(2150, 1, 10, OBJECT_ALE, "A bottle of ale."),
- _paper(7700, 1, 12, OBJECT_PAPER, "A slip of paper with the numbers 2,4, and 3 written on it."),
- _waldos(0, 1, 14, OBJECT_WALDOS, "A pair of waldos from the ruined probe."),
- _stasisBox2(8100, 1, 4, OBJECT_STASIS_BOX2, "A stasis box."),
- _ring(8100, 2, 5, OBJECT_RING, "This is a signet ring sent to you by Louis Wu."),
- _cloak(9850, 2, 6, OBJECT_CLOAK, "A fine silk cloak."),
- _tunic(9450, 2, 7, OBJECT_TUNIC, "The patriarch's soiled tunic."),
- _candle(9500, 2, 8, OBJECT_CANDLE, "A tallow candle."),
- _straw(9400, 2, 9, OBJECT_STRAW, "Clean, dry straw."),
- _scimitar(9850, 1, 18, OBJECT_SCIMITAR, "A scimitar from the Patriarch's closet."),
- _sword(9850, 1, 17, OBJECT_SWORD, "A short sword from the Patriarch's closet."),
- _helmet(9500, 2, 4, OBJECT_HELMET, "Some type of helmet."),
- _items(4300, 2, 10, OBJECT_ITEMS, "Two interesting items from the Tnuctipun vessel."),
- _concentrator(4300, 2, 11, OBJECT_CONCENTRATOR, "The Tnuctipun anti-matter concentrator contained in a stasis field."),
- _nullifier(5200, 2, 12, OBJECT_NULLIFIER, "A purported neural wave nullifier."),
- _peg(4045, 2, 16, OBJECT_PEG, "A peg with a symbol."),
- _vial(5100, 2, 17, OBJECT_VIAL, "A vial of the bat creatures anti-pheromone drug."),
- _jacket(9850, 3, 1, OBJECT_JACKET, "A natty padded jacket."),
- _tunic2(9850, 3, 2, OBJECT_TUNIC2, "A very hairy tunic."),
- _bone(5300, 3, 5, OBJECT_BONE, "A very sharp bone."),
- _jar(7700, 3, 4, OBJECT_JAR, "An jar filled with a green substance."),
- _emptyJar(7700, 3, 3, OBJECT_EMPTY_JAR, "An empty jar.") {
-
- // Add the items to the list
- _itemList.push_back(&_stunner);
- _itemList.push_back(&_scanner);
- _itemList.push_back(&_stasisBox);
- _itemList.push_back(&_infoDisk);
- _itemList.push_back(&_stasisNegator);
- _itemList.push_back(&_keyDevice);
- _itemList.push_back(&_medkit);
- _itemList.push_back(&_ladder);
- _itemList.push_back(&_rope);
- _itemList.push_back(&_key);
- _itemList.push_back(&_translator);
- _itemList.push_back(&_ale);
- _itemList.push_back(&_paper);
- _itemList.push_back(&_waldos);
- _itemList.push_back(&_stasisBox2);
- _itemList.push_back(&_ring);
- _itemList.push_back(&_cloak);
- _itemList.push_back(&_tunic);
- _itemList.push_back(&_candle);
- _itemList.push_back(&_straw);
- _itemList.push_back(&_scimitar);
- _itemList.push_back(&_sword);
- _itemList.push_back(&_helmet);
- _itemList.push_back(&_items);
- _itemList.push_back(&_concentrator);
- _itemList.push_back(&_nullifier);
- _itemList.push_back(&_peg);
- _itemList.push_back(&_vial);
- _itemList.push_back(&_jacket);
- _itemList.push_back(&_tunic2);
- _itemList.push_back(&_bone);
- _itemList.push_back(&_jar);
- _itemList.push_back(&_emptyJar);
-
+InvObjectList::InvObjectList() {
_selectedItem = NULL;
}
@@ -155,17 +84,17 @@ void EventHandler::dispatch() {
if (_action) _action->dispatch();
}
-void EventHandler::setAction(Action *action, EventHandler *fmt, ...) {
+void EventHandler::setAction(Action *action, EventHandler *endHandler, ...) {
if (_action) {
- _action->_fmt = NULL;
+ _action->_endHandler = NULL;
_action->remove();
}
_action = action;
if (action) {
va_list va;
- va_start(va, fmt);
- _action->attached(this, fmt, va);
+ va_start(va, endHandler);
+ _action->attached(this, endHandler, va);
va_end(va);
}
}
@@ -175,7 +104,8 @@ void EventHandler::setAction(Action *action, EventHandler *fmt, ...) {
Action::Action() {
_actionIndex = 0;
_owner = NULL;
- _fmt = NULL;
+ _endHandler = NULL;
+ _attached = false;
}
void Action::synchronise(Serialiser &s) {
@@ -187,8 +117,8 @@ void Action::synchronise(Serialiser &s) {
s.syncAsSint32LE(_actionIndex);
s.syncAsSint32LE(_delayFrames);
s.syncAsUint32LE(_startFrame);
- s.syncAsSint16LE(_field16);
- SYNC_POINTER(_fmt);
+ s.syncAsByte(_attached);
+ SYNC_POINTER(_endHandler);
}
void Action::remove() {
@@ -202,9 +132,9 @@ void Action::remove() {
_globals->_sceneManager.removeAction(this);
}
- _field16 = 0;
- if (_fmt)
- _fmt->signal();
+ _attached = false;
+ if (_endHandler)
+ _endHandler->signal();
}
void Action::process(Event &event) {
@@ -230,13 +160,13 @@ void Action::dispatch() {
}
}
-void Action::attached(EventHandler *newOwner, EventHandler *fmt, va_list va) {
+void Action::attached(EventHandler *newOwner, EventHandler *endHandler, va_list va) {
_actionIndex = 0;
_delayFrames = 0;
_startFrame = _globals->_events.getFrameNumber();
_owner = newOwner;
- _fmt = fmt;
- _field16 = 1;
+ _endHandler = endHandler;
+ _attached = true;
signal();
}
@@ -260,7 +190,7 @@ void ObjectMover::synchronise(Serialiser &s) {
s.syncAsSint16LE(_moveSign.x); s.syncAsSint16LE(_moveSign.y);
s.syncAsSint32LE(_minorDiff);
s.syncAsSint32LE(_majorDiff);
- s.syncAsSint32LE(_field1A);
+ s.syncAsSint32LE(_changeCtr);
SYNC_POINTER(_action);
SYNC_POINTER(_sceneObject);
}
@@ -294,10 +224,10 @@ void ObjectMover::dispatch() {
ySign = _moveSign.y;
else {
int v = yAmount / yChange;
- _field1A += yAmount % yChange;
- if (_field1A >= yChange) {
+ _changeCtr += yAmount % yChange;
+ if (_changeCtr >= yChange) {
++v;
- _field1A -= yChange;
+ _changeCtr -= yChange;
}
ySign = _moveSign.y * v;
@@ -320,10 +250,10 @@ void ObjectMover::dispatch() {
xSign = _moveSign.x;
else {
int v = xAmount / xChange;
- _field1A += xAmount % xChange;
- if (_field1A >= xChange) {
+ _changeCtr += xAmount % xChange;
+ if (_changeCtr >= xChange) {
++v;
- _field1A -= xChange;
+ _changeCtr -= xChange;
}
xSign = _moveSign.x * v;
@@ -373,7 +303,7 @@ void ObjectMover::setup(const Common::Point &destPos) {
_destPosition = destPos;
_moveDelta = Common::Point(diffX, diffY);
_moveSign = Common::Point(xSign, ySign);
- _field1A = 0;
+ _changeCtr = 0;
if (!diffX && !diffY)
// Object is already at the correct destination
@@ -627,7 +557,6 @@ void PlayerMover::pathfind(Common::Point *routeList, Common::Point srcPos, Commo
} while (routeRegions[++idx] != destRegion);
tempList[idx] = 1;
- idx = 0;
for (int listIndex = 1; listIndex <= endIndex; ++listIndex) {
int var10 = tempList[listIndex];
int var12 = tempList[listIndex + 1];
@@ -999,7 +928,7 @@ bool PlayerMover::sub_F8E5(const Common::Point &pt1, const Common::Point &pt2, c
void PlayerMover2::synchronise(Serialiser &s) {
SYNC_POINTER(_destObject);
- s.syncAsSint16LE(_field7E);
+ s.syncAsSint16LE(_maxArea);
s.syncAsSint16LE(_minArea);
}
@@ -1016,7 +945,7 @@ void PlayerMover2::dispatch() {
void PlayerMover2::startMove(SceneObject *sceneObj, va_list va) {
_sceneObject = sceneObj;
- _field7E = va_arg(va, int);
+ _maxArea = va_arg(va, int);
_minArea = va_arg(va, int);
_destObject = va_arg(va, SceneObject *);
@@ -1240,7 +1169,7 @@ ScenePalette::ScenePalette(int paletteNum) {
}
bool ScenePalette::loadPalette(int paletteNum) {
- byte *palData = _vm->_dataManager->getResource(RES_PALETTE, paletteNum, 0, true);
+ byte *palData = _resourceManager->getResource(RES_PALETTE, paletteNum, 0, true);
if (!palData)
return false;
@@ -1300,7 +1229,7 @@ uint8 ScenePalette::indexOf(uint r, uint g, uint b, int threshold) {
int bDiff = abs(ib - (int)b);
int idxThreshold = rDiff * rDiff + gDiff * gDiff + bDiff * bDiff;
- if (idxThreshold <= threshold) {
+ if (idxThreshold < threshold) {
threshold = idxThreshold;
palIndex = i;
}
@@ -1481,7 +1410,7 @@ bool SceneItem::contains(const Common::Point &pt) {
}
void SceneItem::display(int resNum, int lineNum, ...) {
- Common::String msg = !resNum ? Common::String() : _vm->_dataManager->getMessage(resNum, lineNum);
+ Common::String msg = !resNum ? Common::String() : _resourceManager->getMessage(resNum, lineNum);
if (_globals->_sceneObjects->contains(&_globals->_sceneText)) {
_globals->_sceneText.remove();
@@ -1591,7 +1520,7 @@ void SceneItem::display(int resNum, int lineNum, ...) {
_globals->_sceneText.setPosition(pos, 0);
}
- _globals->_sceneText.setPriority2(255);
+ _globals->_sceneText.fixPriority(255);
_globals->_sceneObjects->draw();
}
@@ -1656,7 +1585,7 @@ void NamedHotspot::doAction(int action) {
}
}
-void NamedHotspot::setup(const int ys, const int xe, const int ye, const int xs, const int resnum, const int lookLineNum, const int useLineNum) {
+void NamedHotspot::setup(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum) {
setBounds(ys, xe, ye, xs);
_resnum = resnum;
_lookLineNum = lookLineNum;
@@ -1664,6 +1593,13 @@ void NamedHotspot::setup(const int ys, const int xe, const int ye, const int xs,
_globals->_sceneItems.addItems(this, NULL);
}
+void NamedHotspot::synchronise(Serialiser &s) {
+ SceneHotspot::synchronise(s);
+ s.syncAsSint16LE(_resnum);
+ s.syncAsSint16LE(_lookLineNum);
+ s.syncAsSint16LE(_useLineNum);
+}
+
/*--------------------------------------------------------------------------*/
void SceneObjectWrapper::setSceneObject(SceneObject *so) {
@@ -1735,7 +1671,7 @@ SceneObject::SceneObject() : SceneHotspot() {
_moveDiff.y = 3;
_numFrames = 10;
_numFrames = 10;
- _field7A = 10;
+ _moveRate = 10;
_regionBitList = 0;
_sceneRegionId = 0;
_percent = 100;
@@ -1865,7 +1801,7 @@ void SceneObject::setPriority(int priority) {
}
}
-void SceneObject::setPriority2(int priority) {
+void SceneObject::fixPriority(int priority) {
if (priority == -1) {
_flags &= ~OBJFLAG_FIXED_PRIORITY;
} else {
@@ -1897,8 +1833,8 @@ void SceneObject::addMover(ObjectMover *mover, ...) {
if (mover) {
// Set up the assigned mover
_walkStartFrame = _globals->_events.getFrameNumber();
- if (_field7A != 0)
- _walkStartFrame = 60 / _field7A;
+ if (_moveRate != 0)
+ _walkStartFrame = 60 / _moveRate;
// Signal the mover that movement is beginning
va_list va;
@@ -2096,7 +2032,7 @@ void SceneObject::synchronise(Serialiser &s) {
s.syncAsSint32LE(_regionIndex);
SYNC_POINTER(_mover);
s.syncAsSint16LE(_moveDiff.x); s.syncAsSint16LE(_moveDiff.y);
- s.syncAsSint32LE(_field7A);
+ s.syncAsSint32LE(_moveRate);
SYNC_POINTER(_endAction);
s.syncAsUint32LE(_regionBitList);
}
@@ -2119,7 +2055,7 @@ void SceneObject::postInit(SceneObjectList *OwnerList) {
_yDiff = 0;
_moveDiff.x = 5;
_moveDiff.y = 3;
- _field7A = 10;
+ _moveRate = 10;
_regionIndex = 0x40;
_numFrames = 10;
_regionBitList = 0;
@@ -2146,8 +2082,8 @@ void SceneObject::dispatch() {
_action->dispatch();
if (_mover && (_walkStartFrame <= currTime)) {
- if (_field7A) {
- int frameInc = 60 / _field7A;
+ if (_moveRate) {
+ int frameInc = 60 / _moveRate;
_walkStartFrame = currTime + frameInc;
}
_mover->dispatch();
@@ -2243,7 +2179,6 @@ void SceneObject::removeObject() {
_globals->_sceneObjects->remove(this);
if (_visage) {
- _vm->_memoryManager.deallocate(_visage);
_visage = 0;
}
@@ -2255,8 +2190,9 @@ void SceneObject::removeObject() {
_mover->remove();
_mover = NULL;
}
- if (_flags & 0x800)
- destroy();
+ if (_flags & OBJFLAG_CLONED)
+ // Cloned temporary object, so delete it
+ delete this;
}
GfxSurface SceneObject::getFrame() {
@@ -2309,7 +2245,7 @@ void SceneObject::setup(int visage, int stripFrameNum, int frameNum, int posX, i
setStrip(stripFrameNum);
setFrame(frameNum);
setPosition(Common::Point(posX, posY), 0);
- setPriority2(priority);
+ fixPriority(priority);
}
/*--------------------------------------------------------------------------*/
@@ -2389,8 +2325,8 @@ void SceneObjectList::draw() {
// Handle updating object priority
if (!(obj->_flags & OBJFLAG_FIXED_PRIORITY)) {
- obj->_priority = MIN((int)obj->_position.y - 1,
- (int)_globals->_sceneManager._scene->_backgroundBounds.bottom);
+ obj->_priority = MIN((int)obj->_position.y,
+ (int)_globals->_sceneManager._scene->_backgroundBounds.bottom - 1);
}
if ((_globals->_paneRefreshFlag[paneNum] != 0) || !_globals->_paneRegions[paneNum].empty()) {
@@ -2646,7 +2582,7 @@ void Visage::setVisage(int resNum, int rlbNum) {
_resNum = resNum;
_rlbNum = rlbNum;
DEALLOCATE(_data);
- _data = _vm->_dataManager->getResource(RES_VISAGE, resNum, rlbNum);
+ _data = _resourceManager->getResource(RES_VISAGE, resNum, rlbNum);
assert(_data);
}
}
@@ -2736,9 +2672,20 @@ void Player::synchronise(Serialiser &s) {
Region::Region(int resNum, int rlbNum, ResourceType ctlType) {
_regionId = rlbNum;
- byte *regionData = _vm->_dataManager->getResource(ctlType, resNum, rlbNum);
+ byte *regionData = _resourceManager->getResource(ctlType, resNum, rlbNum);
assert(regionData);
+ load(regionData);
+
+ DEALLOCATE(regionData);
+}
+
+Region::Region(int regionId, const byte *regionData) {
+ _regionId = regionId;
+ load(regionData);
+}
+
+void Region::load(const byte *regionData) {
// Set the region bounds
_bounds.top = READ_LE_UINT16(regionData + 6);
_bounds.left = READ_LE_UINT16(regionData + 8);
@@ -2761,8 +2708,6 @@ Region::Region(int resNum, int rlbNum, ResourceType ctlType) {
_ySlices.push_back(sliceSet);
}
-
- DEALLOCATE(regionData);
}
/**
@@ -2948,7 +2893,7 @@ void Region::uniteRect(const Rect &rect) {
void SceneRegions::load(int sceneNum) {
clear();
- byte *regionData = _vm->_dataManager->getResource(RES_CONTROL, sceneNum, 9999, true);
+ byte *regionData = _resourceManager->getResource(RES_CONTROL, sceneNum, 9999, true);
if (regionData) {
int regionCount = READ_LE_UINT16(regionData);
@@ -3210,9 +3155,20 @@ void WalkRegions::clear() {
void WalkRegions::load(int sceneNum) {
clear();
-
_resNum = sceneNum;
- byte *regionData = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 1, true);
+
+ if (_vm->getFeatures() & GF_ALT_REGIONS) {
+ loadRevised();
+ } else {
+ loadOriginal();
+ }
+}
+
+/**
+ * This version handles loading walk regions for Ringworld floppy version and Demo #1
+ */
+void WalkRegions::loadOriginal() {
+ byte *regionData = _resourceManager->getResource(RES_WALKRGNS, _resNum, 1, true);
if (!regionData) {
// No data, so return
_resNum = -1;
@@ -3223,7 +3179,7 @@ void WalkRegions::load(int sceneNum) {
int dataSize;
// Load the field 18 list
- dataP = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 2);
+ dataP = _resourceManager->getResource(RES_WALKRGNS, _resNum, 2);
dataSize = _vm->_memoryManager.getSize(dataP);
assert(dataSize % 10 == 0);
@@ -3237,7 +3193,7 @@ void WalkRegions::load(int sceneNum) {
DEALLOCATE(dataP);
// Load the idx list
- dataP = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 3);
+ dataP = _resourceManager->getResource(RES_WALKRGNS, _resNum, 3);
dataSize = _vm->_memoryManager.getSize(dataP);
assert(dataSize % 2 == 0);
@@ -3248,7 +3204,7 @@ void WalkRegions::load(int sceneNum) {
DEALLOCATE(dataP);
// Load the secondary idx list
- dataP = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 4);
+ dataP = _resourceManager->getResource(RES_WALKRGNS, _resNum, 4);
dataSize = _vm->_memoryManager.getSize(dataP);
assert(dataSize % 2 == 0);
@@ -3259,7 +3215,7 @@ void WalkRegions::load(int sceneNum) {
DEALLOCATE(dataP);
// Handle the loading of the actual regions themselves
- dataP = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 5);
+ dataP = _resourceManager->getResource(RES_WALKRGNS, _resNum, 5);
byte *pWalkRegion = regionData + 16;
byte *srcP = dataP;
@@ -3272,7 +3228,7 @@ void WalkRegions::load(int sceneNum) {
wr._idxListIndex = READ_LE_UINT32(pWalkRegion + 4);
wr._idxList2Index = READ_LE_UINT32(pWalkRegion + 8);
- // Region in the region data
+ // Read in the region data
int size = READ_LE_UINT16(srcP);
srcP += 2;
wr.loadRegion(srcP, size);
@@ -3286,13 +3242,81 @@ void WalkRegions::load(int sceneNum) {
}
/**
+ * This version handles loading walk regions for Ringworld CD version and Demo #2. Given it's the newer
+ * version, it may also be used by future game titles
+ */
+void WalkRegions::loadRevised() {
+ byte *regionData = _resourceManager->getResource(RES_WALKRGNS, _resNum, 2, true);
+ if (!regionData) {
+ // No data, so return
+ _resNum = -1;
+ return;
+ }
+
+ byte *data1P = regionData + READ_LE_UINT32(regionData);
+ byte *data2P = regionData + READ_LE_UINT32(regionData + 4);
+ byte *data3P = regionData + READ_LE_UINT32(regionData + 8);
+ byte *data4P = regionData + READ_LE_UINT32(regionData + 12);
+ byte *regionOffset = regionData + 16;
+ int dataSize;
+
+ // Load the field 18 list
+ dataSize = READ_LE_UINT32(regionData + 8) - READ_LE_UINT32(regionData + 4);
+ assert(dataSize % 10 == 0);
+
+ byte *p = data2P;
+ for (int idx = 0; idx < (dataSize / 10); ++idx, p += 10) {
+ WRField18 rec;
+ rec.load(p);
+ _field18.push_back(rec);
+ }
+
+ // Load the idx list
+ dataSize = READ_LE_UINT32(regionData + 12) - READ_LE_UINT32(regionData + 8);
+ assert(dataSize % 2 == 0);
+
+ p = data3P;
+ for (int idx = 0; idx < (dataSize / 2); ++idx, p += 2)
+ _idxList.push_back(READ_LE_UINT16(p));
+
+ // Load the secondary idx list
+ dataSize = READ_LE_UINT32(regionData + 16) - READ_LE_UINT32(regionData + 12);
+ assert(dataSize % 2 == 0);
+
+ p = data4P;
+ for (int idx = 0; idx < (dataSize / 2); ++idx, p += 2)
+ _idxList2.push_back(READ_LE_UINT16(p));
+
+ // Handle the loading of the actual regions themselves
+ byte *pWalkRegion = data1P + 16;
+ for (; (int16)READ_LE_UINT16(pWalkRegion) != -20000; pWalkRegion += 16, regionOffset += 4) {
+ WalkRegion wr;
+ byte *srcP = regionData + READ_LE_UINT32(regionOffset);
+
+ // Set the Walk region specific fields
+ wr._pt.x = (int16)READ_LE_UINT16(pWalkRegion);
+ wr._pt.y = (int16)READ_LE_UINT16(pWalkRegion + 2);
+ wr._idxListIndex = READ_LE_UINT32(pWalkRegion + 4);
+ wr._idxList2Index = READ_LE_UINT32(pWalkRegion + 8);
+
+ // Read in the region data
+ wr._regionId = 0;
+ wr.load(srcP);
+
+ _regionList.push_back(wr);
+ }
+
+ DEALLOCATE(regionData);
+}
+
+/**
* Returns the index of the walk region that contains the given point
* @param pt Point to locate
* @param indexList List of region indexes that should be ignored
*/
int WalkRegions::indexOf(const Common::Point &pt, const Common::List<int> *indexList) {
for (uint idx = 0; idx < _regionList.size(); ++idx) {
- if ((!indexList || contains(*indexList, int(idx + 1))) && _regionList[idx].contains(pt))
+ if ((!indexList || !contains(*indexList, int(idx + 1))) && _regionList[idx].contains(pt))
return idx + 1;
}
@@ -3305,18 +3329,27 @@ void ScenePriorities::load(int resNum) {
_resNum = resNum;
clear();
- byte *regionData = _vm->_dataManager->getResource(RES_PRIORITY, resNum, 9999, true);
+ bool altMode = (_vm->getFeatures() & GF_ALT_REGIONS) != 0;
+ byte *regionData = _resourceManager->getResource(RES_PRIORITY, resNum, altMode ? 1 : 9999, true);
+ if (!regionData)
+ return;
- if (regionData) {
- int regionCount = READ_LE_UINT16(regionData);
- for (int regionCtr = 0; regionCtr < regionCount; ++regionCtr) {
+ int regionCount = READ_LE_UINT16(regionData);
+ for (int regionCtr = 0; regionCtr < regionCount; ++regionCtr) {
+ if (altMode) {
+ // Region data is embedded within the resource
+ uint16 regionId = READ_LE_UINT16(regionData + regionCtr * 6 + 2);
+ uint32 dataOffset = READ_LE_UINT32(regionData + regionCtr * 6 + 4);
+ push_back(Region(regionId, regionData + dataOffset));
+ } else {
+ // The data contains the index of another resource containing the region data
int rlbNum = READ_LE_UINT16(regionData + regionCtr * 6 + 2);
push_back(Region(resNum, rlbNum, RES_PRIORITY));
}
-
- DEALLOCATE(regionData);
}
+
+ DEALLOCATE(regionData);
}
Region *ScenePriorities::find(int priority) {
@@ -3327,7 +3360,7 @@ Region *ScenePriorities::find(int priority) {
if (priority > 255)
priority = 255;
- // Loop through the regions to find the closest for the givne priority level
+ // Loop through the regions to find the closest for the given priority level
int minRegionId = 9998;
Region *region = NULL;
for (ScenePriorities::iterator i = begin(); i != end(); ++i) {
@@ -3376,7 +3409,7 @@ GameHandler::GameHandler() : EventHandler() {
GameHandler::~GameHandler() {
if (_globals)
- _globals->_game.removeHandler(this);
+ _globals->_game->removeHandler(this);
}
void GameHandler::execute() {
@@ -3402,7 +3435,7 @@ SceneHandler::SceneHandler() {
void SceneHandler::registerHandler() {
postInit();
- _globals->_game.addHandler(this);
+ _globals->_game->addHandler(this);
}
void SceneHandler::postInit(SceneObjectList *OwnerList) {
@@ -3414,21 +3447,7 @@ void SceneHandler::postInit(SceneObjectList *OwnerList) {
// TODO: Bunch of other scene related setup goes here
_globals->_soundManager.postInit();
- // Set some default flags and cursor
- _globals->setFlag(12);
- _globals->setFlag(34);
- _globals->_events.setCursor(CURSOR_WALK);
-
- // Set the screen to scroll in response to the player moving off-screen
- _globals->_scrollFollower = &_globals->_player;
-
- // Set the object's that will be in the player's inventory by default
- _globals->_inventory._stunner._sceneNumber = 1;
- _globals->_inventory._scanner._sceneNumber = 1;
- _globals->_inventory._ring._sceneNumber = 1;
-
- // Switch to the title screen
- _globals->_sceneManager.setNewScene(1000);
+ _globals->_game->start();
}
void SceneHandler::process(Event &event) {
@@ -3437,8 +3456,7 @@ void SceneHandler::process(Event &event) {
switch (event.kbd.keycode) {
case Common::KEYCODE_F1:
// F1 - Help
- _globals->_events.setCursor(CURSOR_ARROW);
- MessageDialog::show(HELP_MSG, OK_BTN_STRING);
+ MessageDialog::show((_vm->getFeatures() & GF_DEMO) ? DEMO_HELP_MSG : HELP_MSG, OK_BTN_STRING);
break;
case Common::KEYCODE_F2: {
@@ -3452,19 +3470,19 @@ void SceneHandler::process(Event &event) {
case Common::KEYCODE_F3:
// F3 - Quit
- _globals->_game.quitGame();
+ _globals->_game->quitGame();
event.handled = false;
break;
case Common::KEYCODE_F4:
// F4 - Restart
- _globals->_game.restartGame();
+ _globals->_game->restartGame();
_globals->_events.setCursorFromFlag();
break;
case Common::KEYCODE_F7:
// F7 - Restore
- _globals->_game.restoreGame();
+ _globals->_game->restoreGame();
_globals->_events.setCursorFromFlag();
break;
@@ -3501,7 +3519,7 @@ void SceneHandler::process(Event &event) {
// Separate check for F5 - Save key
if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_F5)) {
// F5 - Save
- _globals->_game.saveGame();
+ _globals->_game->saveGame();
event.handled = true;
_globals->_events.setCursorFromFlag();
}
@@ -3548,7 +3566,10 @@ void SceneHandler::dispatch() {
if (_saveGameSlot != -1) {
int saveSlot = _saveGameSlot;
_saveGameSlot = -1;
- if (_saver->save(saveSlot, _saveName) != Common::kNoError)
+ Common::Error err = _saver->save(saveSlot, _saveName);
+ // FIXME: Make use of the description string in err to enhance
+ // the error reported to the user.
+ if (err.getCode() != Common::kNoError)
GUIErrorMessage(SAVE_ERROR_MSG);
}
if (_loadGameSlot != -1) {
@@ -3615,129 +3636,4 @@ void Game::execute() {
} while (activeFlag && !_vm->getEventManager()->shouldQuit());
}
-void Game::restartGame() {
- if (MessageDialog::show(RESTART_MSG, CANCEL_BTN_STRING, RESTART_BTN_STRING) == 1)
- _globals->_game.restart();
-}
-
-void Game::saveGame() {
- if (_globals->getFlag(50))
- MessageDialog::show(SAVING_NOT_ALLOWED_MSG, OK_BTN_STRING);
- else {
- // Show the save dialog
- handleSaveLoad(true, _globals->_sceneHandler._saveGameSlot, _globals->_sceneHandler._saveName);
- }
-}
-
-void Game::restoreGame() {
- if (_globals->getFlag(50))
- MessageDialog::show(RESTORING_NOT_ALLOWED_MSG, OK_BTN_STRING);
- else {
- // Show the load dialog
- handleSaveLoad(false, _globals->_sceneHandler._loadGameSlot, _globals->_sceneHandler._saveName);
- }
-}
-
-void Game::quitGame() {
- if (MessageDialog::show(QUIT_CONFIRM_MSG, CANCEL_BTN_STRING, QUIT_BTN_STRING) == 1)
- _vm->quitGame();
-}
-
-void Game::handleSaveLoad(bool saveFlag, int &saveSlot, Common::String &saveName) {
- const EnginePlugin *plugin = 0;
- EngineMan.findGame(_vm->getGameId(), &plugin);
- GUI::SaveLoadChooser *dialog;
- if (saveFlag)
- dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"));
- else
- dialog = new GUI::SaveLoadChooser(_("Load game:"), _("Load"));
-
- dialog->setSaveMode(saveFlag);
-
- saveSlot = dialog->runModalWithPluginAndTarget(plugin, ConfMan.getActiveDomainName());
- saveName = dialog->getResultString();
-
- delete dialog;
-}
-
-void Game::restart() {
- _globals->_scenePalette.clearListeners();
- _globals->_soundHandler.proc3();
-
- // Reset the flags
- _globals->reset();
- _globals->setFlag(34);
-
- // Clear save/load slots
- _globals->_sceneHandler._saveGameSlot = -1;
- _globals->_sceneHandler._loadGameSlot = -1;
-
- _globals->_stripNum = 0;
- _globals->_events.setCursor(CURSOR_WALK);
-
- // Reset item properties
- _globals->_inventory._stunner._sceneNumber = 1;
- _globals->_inventory._scanner._sceneNumber = 1;
- _globals->_inventory._stasisBox._sceneNumber = 5200;
- _globals->_inventory._infoDisk._sceneNumber = 40;
- _globals->_inventory._stasisNegator._sceneNumber = 0;
- _globals->_inventory._keyDevice._sceneNumber = 0;
- _globals->_inventory._medkit._sceneNumber = 2280;
- _globals->_inventory._ladder._sceneNumber = 4100;
- _globals->_inventory._rope._sceneNumber = 4150;
- _globals->_inventory._key._sceneNumber = 7700;
- _globals->_inventory._translator._sceneNumber = 2150;
- _globals->_inventory._paper._sceneNumber = 7700;
- _globals->_inventory._waldos._sceneNumber = 0;
- _globals->_inventory._ring._sceneNumber = 1;
- _globals->_inventory._stasisBox2._sceneNumber = 8100;
- _globals->_inventory._cloak._sceneNumber = 9850;
- _globals->_inventory._tunic._sceneNumber = 9450;
- _globals->_inventory._candle._sceneNumber = 9500;
- _globals->_inventory._straw._sceneNumber = 9400;
- _globals->_inventory._scimitar._sceneNumber = 9850;
- _globals->_inventory._sword._sceneNumber = 9850;
- _globals->_inventory._helmet._sceneNumber = 9500;
- _globals->_inventory._items._sceneNumber = 4300;
- _globals->_inventory._concentrator._sceneNumber = 4300;
- _globals->_inventory._nullifier._sceneNumber = 4300;
- _globals->_inventory._peg._sceneNumber = 4045;
- _globals->_inventory._vial._sceneNumber = 5100;
- _globals->_inventory._jacket._sceneNumber = 9850;
- _globals->_inventory._tunic2._sceneNumber = 9850;
- _globals->_inventory._bone._sceneNumber = 5300;
- _globals->_inventory._jar._sceneNumber = 7700;
- _globals->_inventory._emptyJar._sceneNumber = 7700;
-
- // Change to the first game scene
- _globals->_sceneManager.changeScene(30);
-}
-
-void Game::endGame(int resNum, int lineNum) {
- _globals->_events.setCursor(CURSOR_WALK);
- Common::String msg = _vm->_dataManager->getMessage(resNum, lineNum);
- bool savesExist = _saver->savegamesExist();
-
- if (!savesExist) {
- // No savegames exist, so prompt the user to restart or quit
- if (MessageDialog::show(msg, QUIT_BTN_STRING, RESTART_BTN_STRING) == 0)
- _vm->quitGame();
- else
- restart();
- } else {
- // Savegames exist, so prompt for Restore/Restart
- bool breakFlag;
- do {
- if (MessageDialog::show(msg, RESTART_BTN_STRING, RESTORE_BTN_STRING) == 0) {
- breakFlag = true;
- } else {
- handleSaveLoad(false, _globals->_sceneHandler._loadGameSlot, _globals->_sceneHandler._saveName);
- breakFlag = _globals->_sceneHandler._loadGameSlot > 0;
- }
- } while (!breakFlag);
- }
-
- _globals->_events.setCursorFromFlag();
-}
-
} // End of namespace tSage
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 6508d1576a..45a39b24bb 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -73,43 +73,9 @@ public:
class InvObjectList : public SavedObject {
public:
- InvObject _stunner;
- InvObject _scanner;
- InvObject _stasisBox;
- InvObject _infoDisk;
- InvObject _stasisNegator;
- InvObject _keyDevice;
- InvObject _medkit;
- InvObject _ladder;
- InvObject _rope;
- InvObject _key;
- InvObject _translator;
- InvObject _ale;
- InvObject _paper;
- InvObject _waldos;
- InvObject _stasisBox2;
- InvObject _ring;
- InvObject _cloak;
- InvObject _tunic;
- InvObject _candle;
- InvObject _straw;
- InvObject _scimitar;
- InvObject _sword;
- InvObject _helmet;
- InvObject _items;
- InvObject _concentrator;
- InvObject _nullifier;
- InvObject _peg;
- InvObject _vial;
- InvObject _jacket;
- InvObject _tunic2;
- InvObject _bone;
- InvObject _jar;
- InvObject _emptyJar;
-
SynchronisedList<InvObject *> _itemList;
InvObject *_selectedItem;
-public:
+
InvObjectList();
virtual Common::String getClassName() { return "InvObjectList"; }
@@ -157,7 +123,7 @@ public:
virtual void process(Event &event) {}
virtual void dispatch();
virtual void setAction(Action *action) { setAction(action, NULL); }
- virtual void setAction(Action *action, EventHandler *fmt, ...);
+ virtual void setAction(Action *action, EventHandler *endHandler, ...);
virtual void destroy() {};
};
@@ -167,8 +133,8 @@ public:
int _actionIndex;
int _delayFrames;
uint32 _startFrame;
- int _field16;
- EventHandler *_fmt;
+ bool _attached;
+ EventHandler *_endHandler;
Action();
@@ -177,12 +143,12 @@ public:
virtual void remove();
virtual void process(Event &event);
virtual void dispatch();
- virtual void attached(EventHandler *newOwner, EventHandler *fmt, va_list va);
+ virtual void attached(EventHandler *newOwner, EventHandler *endHandler, va_list va);
- void attach(EventHandler *newOwner, EventHandler *fmt, ...) {
+ void attach(EventHandler *newOwner, EventHandler *endHandler, ...) {
va_list va;
- va_start(va, fmt);
- attached(newOwner, fmt, va);
+ va_start(va, endHandler);
+ attached(newOwner, endHandler, va);
va_end(va);
}
int getActionIndex() const { return _actionIndex; }
@@ -202,7 +168,7 @@ public:
Common::Point _moveSign;
int _minorDiff;
int _majorDiff;
- int _field1A;
+ int _changeCtr;
Action *_action;
SceneObject *_sceneObject;
public:
@@ -287,7 +253,7 @@ public:
class PlayerMover2 : public PlayerMover {
public:
SceneObject *_destObject;
- int _field7E;
+ int _maxArea;
int _minArea;
PlayerMover2() : PlayerMover() { _destObject = NULL; }
@@ -466,9 +432,10 @@ public:
int _resnum, _lookLineNum, _useLineNum;
NamedHotspot() : SceneHotspot() {}
- void setup(const int ys, const int xe, const int ye, const int xs, const int resnum, const int lookLineNum, const int useLineNum);
+ void setup(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum);
virtual void doAction(int action);
virtual Common::String getClassName() { return "NamedHotspot"; }
+ virtual void synchronise(Serialiser &s);
};
enum AnimateMode {ANIM_MODE_NONE = 0, ANIM_MODE_1 = 1, ANIM_MODE_2 = 2, ANIM_MODE_3 = 3,
@@ -546,7 +513,7 @@ public:
int _regionIndex;
EventHandler *_mover;
Common::Point _moveDiff;
- int _field7A;
+ int _moveRate;
Action *_endAction;
uint32 _regionBitList;
public:
@@ -563,7 +530,7 @@ public:
void setFrame(int frameNum);
void setFrame2(int frameNum);
void setPriority(int priority);
- void setPriority2(int priority);
+ void fixPriority(int priority);
void setVisage(int visage);
void setObjectWrapper(SceneObjectWrapper *objWrapper);
void addMover(ObjectMover *mover, ...);
@@ -677,7 +644,9 @@ public:
public:
Region() { _regionSize = 0; _regionId = 0; }
Region(int resNum, int rlbNum, ResourceType ctlType = RES_CONTROL);
+ Region(int regionId, const byte *regionData);
+ void load(const byte *regionData);
bool contains(const Common::Point &pt);
bool empty() const;
void clear();
@@ -728,6 +697,7 @@ public:
}
SynchronisedList<SceneObject *>::iterator begin() { return _objList.begin(); }
SynchronisedList<SceneObject *>::iterator end() { return _objList.end(); }
+ int size() const { return _objList.size(); }
bool contains(SceneObject *sceneObj) { return tSage::contains(_objList, sceneObj); }
void push_back(SceneObject *sceneObj) { _objList.push_back(sceneObj); }
void push_front(SceneObject *sceneObj) { _objList.push_front(sceneObj); }
@@ -869,6 +839,9 @@ public:
};
class WalkRegions {
+private:
+ void loadOriginal();
+ void loadRevised();
public:
int _resNum;
RouteEnds _routeEnds;
@@ -941,22 +914,25 @@ public:
/*--------------------------------------------------------------------------*/
class Game {
-private:
+protected:
SynchronisedList<GameHandler *> _handlers;
static bool notLockedFn(GameHandler *g);
- void restart();
- void handleSaveLoad(bool saveFlag, int &saveSlot, Common::String &saveName);
+ virtual void handleSaveLoad(bool saveFlag, int &saveSlot, Common::String &saveName) {}
public:
+ virtual ~Game() {}
+
void addHandler(GameHandler *entry) { _handlers.push_back(entry); }
void removeHandler(GameHandler *entry) { _handlers.remove(entry); }
void execute();
- void restartGame();
- void saveGame();
- void restoreGame();
- void quitGame();
- void endGame(int resNum, int lineNum);
+ virtual void start() = 0;
+ virtual void restart() {}
+ virtual void restartGame() {}
+ virtual void saveGame() {}
+ virtual void restoreGame() {}
+ virtual void quitGame() {}
+ virtual void endGame(int resNum, int lineNum) {}
};
} // End of namespace tSage
diff --git a/engines/tsage/debugger.cpp b/engines/tsage/debugger.cpp
index ad4e76f61c..eecc844292 100644
--- a/engines/tsage/debugger.cpp
+++ b/engines/tsage/debugger.cpp
@@ -24,11 +24,9 @@
*/
#include "tsage/debugger.h"
-#include "common/config-manager.h"
-#include "common/endian.h"
#include "tsage/globals.h"
#include "tsage/graphics.h"
-
+#include "tsage/ringworld_logic.h"
namespace tSage {
@@ -94,6 +92,8 @@ bool Debugger::Cmd_WalkRegions(int argc, const char **argv) {
Graphics::Surface destSurface = _globals->_sceneManager._scene->_backSurface.lockSurface();
// Loop through drawing each walk region in a different color to the background surface
+ Common::String regionsDesc;
+
for (uint regionIndex = 0; regionIndex < _globals->_walkRegions._regionList.size(); ++regionIndex, ++color) {
WalkRegion &wr = _globals->_walkRegions._regionList[regionIndex];
@@ -104,6 +104,9 @@ bool Debugger::Cmd_WalkRegions(int argc, const char **argv) {
destSurface.hLine(sliceSet.items[idx].xs - _globals->_sceneOffset.x, yp,
sliceSet.items[idx].xe - _globals->_sceneOffset.x, color);
}
+
+ regionsDesc += Common::String::format("Region #%d d bounds=%d,%d,%d,%d\n",
+ regionIndex, wr._bounds.left, wr._bounds.top, wr._bounds.right, wr._bounds.bottom);
}
// Release the surface
@@ -112,6 +115,9 @@ bool Debugger::Cmd_WalkRegions(int argc, const char **argv) {
// Mark the scene as requiring a full redraw
_globals->_paneRefreshFlag[0] = 2;
+ DebugPrintf("Total regions = %d\n", _globals->_walkRegions._regionList.size());
+ DebugPrintf("%s\n", regionsDesc.c_str());
+
return false;
}
@@ -276,103 +282,103 @@ bool Debugger::Cmd_MoveObject(int argc, const char **argv) {
switch (objNum) {
case OBJECT_STUNNER:
- _globals->_inventory._stunner._sceneNumber = sceneNum;
+ RING_INVENTORY._stunner._sceneNumber = sceneNum;
break;
case OBJECT_SCANNER:
- _globals->_inventory._scanner._sceneNumber = sceneNum;
+ RING_INVENTORY._scanner._sceneNumber = sceneNum;
break;
case OBJECT_STASIS_BOX:
- _globals->_inventory._stasisBox._sceneNumber = sceneNum;
+ RING_INVENTORY._stasisBox._sceneNumber = sceneNum;
break;
case OBJECT_INFODISK:
- _globals->_inventory._infoDisk._sceneNumber = sceneNum;
+ RING_INVENTORY._infoDisk._sceneNumber = sceneNum;
break;
case OBJECT_STASIS_NEGATOR:
- _globals->_inventory._stasisNegator._sceneNumber = sceneNum;
+ RING_INVENTORY._stasisNegator._sceneNumber = sceneNum;
break;
case OBJECT_KEY_DEVICE:
- _globals->_inventory._keyDevice._sceneNumber = sceneNum;
+ RING_INVENTORY._keyDevice._sceneNumber = sceneNum;
break;
case OBJECT_MEDKIT:
- _globals->_inventory._medkit._sceneNumber = sceneNum;
+ RING_INVENTORY._medkit._sceneNumber = sceneNum;
break;
case OBJECT_LADDER:
- _globals->_inventory._ladder._sceneNumber = sceneNum;
+ RING_INVENTORY._ladder._sceneNumber = sceneNum;
break;
case OBJECT_ROPE:
- _globals->_inventory._rope._sceneNumber = sceneNum;
+ RING_INVENTORY._rope._sceneNumber = sceneNum;
break;
case OBJECT_KEY:
- _globals->_inventory._key._sceneNumber = sceneNum;
+ RING_INVENTORY._key._sceneNumber = sceneNum;
break;
case OBJECT_TRANSLATOR:
- _globals->_inventory._translator._sceneNumber = sceneNum;
+ RING_INVENTORY._translator._sceneNumber = sceneNum;
break;
case OBJECT_ALE:
- _globals->_inventory._ale._sceneNumber = sceneNum;
+ RING_INVENTORY._ale._sceneNumber = sceneNum;
break;
case OBJECT_PAPER:
- _globals->_inventory._paper._sceneNumber = sceneNum;
+ RING_INVENTORY._paper._sceneNumber = sceneNum;
break;
case OBJECT_WALDOS:
- _globals->_inventory._waldos._sceneNumber = sceneNum;
+ RING_INVENTORY._waldos._sceneNumber = sceneNum;
break;
case OBJECT_STASIS_BOX2:
- _globals->_inventory._stasisBox2._sceneNumber = sceneNum;
+ RING_INVENTORY._stasisBox2._sceneNumber = sceneNum;
break;
case OBJECT_RING:
- _globals->_inventory._ring._sceneNumber = sceneNum;
+ RING_INVENTORY._ring._sceneNumber = sceneNum;
break;
case OBJECT_CLOAK:
- _globals->_inventory._cloak._sceneNumber = sceneNum;
+ RING_INVENTORY._cloak._sceneNumber = sceneNum;
break;
case OBJECT_TUNIC:
- _globals->_inventory._tunic._sceneNumber = sceneNum;
+ RING_INVENTORY._tunic._sceneNumber = sceneNum;
break;
case OBJECT_CANDLE:
- _globals->_inventory._candle._sceneNumber = sceneNum;
+ RING_INVENTORY._candle._sceneNumber = sceneNum;
break;
case OBJECT_STRAW:
- _globals->_inventory._straw._sceneNumber = sceneNum;
+ RING_INVENTORY._straw._sceneNumber = sceneNum;
break;
case OBJECT_SCIMITAR:
- _globals->_inventory._scimitar._sceneNumber = sceneNum;
+ RING_INVENTORY._scimitar._sceneNumber = sceneNum;
break;
case OBJECT_SWORD:
- _globals->_inventory._sword._sceneNumber = sceneNum;
+ RING_INVENTORY._sword._sceneNumber = sceneNum;
break;
case OBJECT_HELMET:
- _globals->_inventory._helmet._sceneNumber = sceneNum;
+ RING_INVENTORY._helmet._sceneNumber = sceneNum;
break;
case OBJECT_ITEMS:
- _globals->_inventory._items._sceneNumber = sceneNum;
+ RING_INVENTORY._items._sceneNumber = sceneNum;
break;
case OBJECT_CONCENTRATOR:
- _globals->_inventory._concentrator._sceneNumber = sceneNum;
+ RING_INVENTORY._concentrator._sceneNumber = sceneNum;
break;
case OBJECT_NULLIFIER:
- _globals->_inventory._nullifier._sceneNumber = sceneNum;
+ RING_INVENTORY._nullifier._sceneNumber = sceneNum;
break;
case OBJECT_PEG:
- _globals->_inventory._peg._sceneNumber = sceneNum;
+ RING_INVENTORY._peg._sceneNumber = sceneNum;
break;
case OBJECT_VIAL:
- _globals->_inventory._vial._sceneNumber = sceneNum;
+ RING_INVENTORY._vial._sceneNumber = sceneNum;
break;
case OBJECT_JACKET:
- _globals->_inventory._jacket._sceneNumber = sceneNum;
+ RING_INVENTORY._jacket._sceneNumber = sceneNum;
break;
case OBJECT_TUNIC2:
- _globals->_inventory._tunic2._sceneNumber = sceneNum;
+ RING_INVENTORY._tunic2._sceneNumber = sceneNum;
break;
case OBJECT_BONE:
- _globals->_inventory._bone._sceneNumber = sceneNum;
+ RING_INVENTORY._bone._sceneNumber = sceneNum;
break;
case OBJECT_EMPTY_JAR:
- _globals->_inventory._emptyJar._sceneNumber = sceneNum;
+ RING_INVENTORY._emptyJar._sceneNumber = sceneNum;
break;
case OBJECT_JAR:
- _globals->_inventory._jar._sceneNumber = sceneNum;
+ RING_INVENTORY._jar._sceneNumber = sceneNum;
break;
default:
DebugPrintf("Invlid object Id %s\n", argv[1]);
@@ -385,7 +391,7 @@ bool Debugger::Cmd_MoveObject(int argc, const char **argv) {
* Give a specified item to the player
*/
bool Debugger::Cmd_Item(int argc, const char **argv) {
- _globals->_inventory._infoDisk._sceneNumber = 1;
+ RING_INVENTORY._stasisBox._sceneNumber = 1;
return true;
}
diff --git a/engines/tsage/detection.cpp b/engines/tsage/detection.cpp
index 371166d782..ba7b459304 100644
--- a/engines/tsage/detection.cpp
+++ b/engines/tsage/detection.cpp
@@ -54,6 +54,10 @@ uint32 TSageEngine::getFeatures() const {
return _gameDescription->features;
}
+Common::String TSageEngine::getPrimaryFilename() const {
+ return Common::String(_gameDescription->desc.filesDescriptions[0].fileName);
+}
+
} // End of namespace tSage
static const PlainGameDescriptor tSageGameTitles[] = {
@@ -122,16 +126,18 @@ public:
virtual SaveStateList listSaves(const char *target) const {
Common::String pattern = target;
- pattern += ".*";
+ pattern += ".???";
Common::StringArray filenames = g_system->getSavefileManager()->listSavefiles(pattern);
+ sort(filenames.begin(), filenames.end());
tSage::tSageSavegameHeader header;
SaveStateList saveList;
for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) {
- int slot;
const char *ext = strrchr(file->c_str(), '.');
- if (ext && (slot = atoi(ext + 1)) >= 0 && slot < MAX_SAVES) {
+ int slot = ext ? atoi(ext + 1) : -1;
+
+ if (slot >= 0 && slot < MAX_SAVES) {
Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(*file);
if (in) {
diff --git a/engines/tsage/detection_tables.h b/engines/tsage/detection_tables.h
index f932c62367..d165900d55 100644
--- a/engines/tsage/detection_tables.h
+++ b/engines/tsage/detection_tables.h
@@ -39,7 +39,7 @@ static const tSageGameDescription gameDescriptions[] = {
Common::GUIO_NONE
},
GType_Ringworld,
- GF_CD
+ GF_CD | GF_ALT_REGIONS
},
// Ringworld First Wave English CD version
{
@@ -53,7 +53,7 @@ static const tSageGameDescription gameDescriptions[] = {
Common::GUIO_NONE
},
GType_Ringworld,
- GF_CD
+ GF_CD | GF_ALT_REGIONS
},
// Ringworld English Floppy version
{
@@ -69,6 +69,34 @@ static const tSageGameDescription gameDescriptions[] = {
GType_Ringworld,
GF_FLOPPY
},
+ // Ringworld English Floppy Demo #1 version
+ {
+ {
+ "ring",
+ "Floppy Demo",
+ AD_ENTRY1s("tsage.rlb", "bf4e8525d0cab84b08b57126092eeacd", 833453),
+ Common::EN_ANY,
+ Common::kPlatformPC,
+ ADGF_DEMO,
+ Common::GUIO_NONE
+ },
+ GType_Ringworld,
+ GF_FLOPPY | GF_DEMO
+ },
+ // Ringworld English Floppy Demo #2 version
+ {
+ {
+ "ring",
+ "Floppy Demo",
+ AD_ENTRY1s("demoring.rlb", "9ecf48e088a0d475778fab480b3dbdd0", 832206),
+ Common::EN_ANY,
+ Common::kPlatformPC,
+ ADGF_DEMO,
+ Common::GUIO_NONE
+ },
+ GType_Ringworld,
+ GF_FLOPPY | GF_DEMO | GF_ALT_REGIONS
+ },
// Blue Force
{
diff --git a/engines/tsage/dialogs.cpp b/engines/tsage/dialogs.cpp
index 0778ea8b2b..b5f00bf73c 100644
--- a/engines/tsage/dialogs.cpp
+++ b/engines/tsage/dialogs.cpp
@@ -24,13 +24,16 @@
*/
#include "common/translation.h"
+
+#include "gui/dialog.h"
+#include "gui/widget.h"
+
#include "tsage/tsage.h"
#include "tsage/core.h"
#include "tsage/dialogs.h"
-#include "tsage/graphics.h"
-#include "tsage/core.h"
#include "tsage/staticres.h"
#include "tsage/globals.h"
+#include "tsage/ringworld_logic.h"
namespace tSage {
@@ -70,17 +73,12 @@ MessageDialog::MessageDialog(const Common::String &message, const Common::String
int MessageDialog::show(const Common::String &message, const Common::String &btn1Message, const Common::String &btn2Message) {
// Ensure that the cursor is the arrow
- CursorType currentCursor = _globals->_events.getCursor();
- if (currentCursor != CURSOR_ARROW)
- _globals->_events.setCursor(CURSOR_ARROW);
+ _globals->_events.pushCursor(CURSOR_ARROW);
_globals->_events.showCursor();
int result = show2(message, btn1Message, btn2Message);
- // If the cursor was changed, change it back
- if (currentCursor != CURSOR_ARROW)
- _globals->_events.setCursor(currentCursor);
-
+ _globals->_events.popCursor();
return result;
}
@@ -95,7 +93,6 @@ int MessageDialog::show2(const Common::String &message, const Common::String &bt
return result;
}
-
/*--------------------------------------------------------------------------*/
ConfigDialog::ConfigDialog() : GUI::OptionsDialog("", "GlobalConfig") {
@@ -139,7 +136,7 @@ void RightClickButton::highlight() {
_savedButton = Surface_getArea(_globals->gfxManager().getSurface(), _bounds);
uint size;
- byte *imgData = _vm->_dataManager->getSubResource(7, 2, _buttonIndex, &size);
+ byte *imgData = _resourceManager->getSubResource(7, 2, _buttonIndex, &size);
GfxSurface btnSelected = surfaceFromRes(imgData);
_globals->gfxManager().copyFrom(btnSelected, _bounds.left, _bounds.top);
@@ -379,36 +376,34 @@ bool GfxInvImage::process(Event &event) {
/*--------------------------------------------------------------------------*/
-void InventoryDialog::show(bool allFlag) {
- if (!allFlag) {
- // Determine how many items are in the player's inventory
- int itemCount = 0;
- SynchronisedList<InvObject *>::iterator i;
- for (i = _globals->_inventory._itemList.begin(); i != _globals->_inventory._itemList.end(); ++i) {
- if ((*i)->inInventory())
- ++itemCount;
- }
+void InventoryDialog::show() {
+ // Determine how many items are in the player's inventory
+ int itemCount = 0;
+ SynchronisedList<InvObject *>::iterator i;
+ for (i = RING_INVENTORY._itemList.begin(); i != RING_INVENTORY._itemList.end(); ++i) {
+ if ((*i)->inInventory())
+ ++itemCount;
+ }
- if (itemCount == 0) {
- MessageDialog::show(INV_EMPTY_MSG, OK_BTN_STRING);
- return;
- }
+ if (itemCount == 0) {
+ MessageDialog::show(INV_EMPTY_MSG, OK_BTN_STRING);
+ return;
}
- InventoryDialog *dlg = new InventoryDialog(allFlag);
+ InventoryDialog *dlg = new InventoryDialog();
dlg->draw();
dlg->execute();
delete dlg;
}
-InventoryDialog::InventoryDialog(bool allFlag) {
+InventoryDialog::InventoryDialog() {
// Determine the maximum size of the image of any item in the player's inventory
int imgWidth = 0, imgHeight = 0;
SynchronisedList<InvObject *>::iterator i;
- for (i = _globals->_inventory._itemList.begin(); i != _globals->_inventory._itemList.end(); ++i) {
+ for (i = RING_INVENTORY._itemList.begin(); i != RING_INVENTORY._itemList.end(); ++i) {
InvObject *invObject = *i;
- if (allFlag || invObject->inInventory()) {
+ if (invObject->inInventory()) {
// Get the image for the item
GfxSurface itemSurface = surfaceFromRes(invObject->_displayResNum, invObject->_rlbNum, invObject->_cursorNum);
@@ -417,10 +412,11 @@ InventoryDialog::InventoryDialog(bool allFlag) {
imgHeight = MAX(imgHeight, (int)itemSurface.getBounds().height());
// Add the item to the display list
- _images.push_back(GfxInvImage());
- _images[_images.size() - 1].setDetails(invObject->_displayResNum, invObject->_rlbNum, invObject->_cursorNum);
- _images[_images.size() - 1]._invObject = invObject;
- add(&_images[_images.size() - 1]);
+ GfxInvImage *img = new GfxInvImage();
+ _images.push_back(img);
+ img->setDetails(invObject->_displayResNum, invObject->_rlbNum, invObject->_cursorNum);
+ img->_invObject = invObject;
+ add(img);
}
}
assert(_images.size() > 0);
@@ -442,7 +438,7 @@ InventoryDialog::InventoryDialog(bool allFlag) {
cellX = 0;
}
- _images[idx]._bounds.moveTo(pt.x, pt.y);
+ _images[idx]->_bounds.moveTo(pt.x, pt.y);
pt.x += imgWidth + 2;
++cellX;
@@ -460,12 +456,18 @@ InventoryDialog::InventoryDialog(bool allFlag) {
setCenter(SCREEN_CENTER_X, SCREEN_CENTER_Y);
}
+InventoryDialog::~InventoryDialog() {
+ for (uint idx = 0; idx < _images.size(); ++idx)
+ delete _images[idx];
+}
+
void InventoryDialog::execute() {
- if ((_globals->_inventory._selectedItem) && _globals->_inventory._selectedItem->inInventory())
- _globals->_inventory._selectedItem->setCursor();
+ if ((RING_INVENTORY._selectedItem) && RING_INVENTORY._selectedItem->inInventory())
+ RING_INVENTORY._selectedItem->setCursor();
GfxElement *hiliteObj;
bool lookFlag = false;
+ _gfxManager.activate();
while (!_vm->getEventManager()->shouldQuit()) {
// Get events
@@ -491,7 +493,7 @@ void InventoryDialog::execute() {
if (!event.handled && event.eventType == EVENT_KEYPRESS) {
if ((event.kbd.keycode == Common::KEYCODE_RETURN) || (event.kbd.keycode == Common::KEYCODE_ESCAPE)) {
// Exit the dialog
- hiliteObj = &_btnOk;
+ //hiliteObj = &_btnOk;
break;
}
}
@@ -513,20 +515,20 @@ void InventoryDialog::execute() {
_globals->_events.setCursor(CURSOR_WALK);
}
- _gfxManager.activate();
hiliteObj->draw();
- _gfxManager.deactivate();
} else if (hiliteObj) {
// Inventory item selected
InvObject *invObject = static_cast<GfxInvImage *>(hiliteObj)->_invObject;
if (lookFlag) {
_globals->_screenSurface.displayText(invObject->_description);
} else {
- _globals->_inventory._selectedItem = invObject;
+ RING_INVENTORY._selectedItem = invObject;
invObject->setCursor();
}
}
}
+
+ _gfxManager.deactivate();
}
/*--------------------------------------------------------------------------*/
@@ -544,15 +546,15 @@ void OptionsDialog::show() {
}
} else if (btn == &dlg->_btnRestart) {
// Restart game
- _globals->_game.restartGame();
+ _globals->_game->restartGame();
} else if (btn == &dlg->_btnSound) {
// Sound dialog
} else if (btn == &dlg->_btnSave) {
// Save button
- _globals->_game.saveGame();
+ _globals->_game->saveGame();
} else if (btn == &dlg->_btnRestore) {
// Restore button
- _globals->_game.restoreGame();
+ _globals->_game->restoreGame();
}
dlg->remove();
diff --git a/engines/tsage/dialogs.h b/engines/tsage/dialogs.h
index 8e766372b4..c24fa2dd3b 100644
--- a/engines/tsage/dialogs.h
+++ b/engines/tsage/dialogs.h
@@ -105,14 +105,14 @@ public:
class InventoryDialog : public ModalDialog {
private:
- Common::Array<GfxInvImage> _images;
+ Common::Array<GfxInvImage *> _images;
GfxButton _btnOk, _btnLook;
public:
- InventoryDialog(bool allFlag = false);
- virtual ~InventoryDialog() {}
+ InventoryDialog();
+ virtual ~InventoryDialog();
void execute();
- static void show(bool allFlag = false);
+ static void show();
};
/*--------------------------------------------------------------------------*/
diff --git a/engines/tsage/events.cpp b/engines/tsage/events.cpp
index 83cafcaac5..bcfff9fc1d 100644
--- a/engines/tsage/events.cpp
+++ b/engines/tsage/events.cpp
@@ -38,6 +38,7 @@ namespace tSage {
EventsClass::EventsClass() {
_currentCursor = CURSOR_NONE;
+ hideCursor();
_frameNumber = 0;
_priorFrameTime = 0;
_prevDelayFrame = 0;
@@ -159,25 +160,25 @@ void EventsClass::setCursor(CursorType cursorType) {
switch (cursorType) {
case CURSOR_CROSSHAIRS:
// Crosshairs cursor
- cursor = _vm->_dataManager->getSubResource(4, 1, 6, &size);
+ cursor = _resourceManager->getSubResource(4, 1, 6, &size);
_globals->setFlag(122);
break;
case CURSOR_LOOK:
// Look cursor
- cursor = _vm->_dataManager->getSubResource(4, 1, 5, &size);
+ cursor = _resourceManager->getSubResource(4, 1, 5, &size);
_currentCursor = CURSOR_LOOK;
break;
case CURSOR_USE:
// Use cursor
- cursor = _vm->_dataManager->getSubResource(4, 1, 4, &size);
+ cursor = _resourceManager->getSubResource(4, 1, 4, &size);
_currentCursor = CURSOR_USE;
break;
case CURSOR_TALK:
// Talk cursor
- cursor = _vm->_dataManager->getSubResource(4, 1, 3, &size);
+ cursor = _resourceManager->getSubResource(4, 1, 3, &size);
_currentCursor = CURSOR_TALK;
break;
@@ -208,6 +209,62 @@ void EventsClass::setCursor(CursorType cursorType) {
DEALLOCATE(cursor);
}
+void EventsClass::pushCursor(CursorType cursorType) {
+ const byte *cursor;
+ bool delFlag = true;
+ uint size;
+
+ switch (cursorType) {
+ case CURSOR_CROSSHAIRS:
+ // Crosshairs cursor
+ cursor = _resourceManager->getSubResource(4, 1, 6, &size);
+ break;
+
+ case CURSOR_LOOK:
+ // Look cursor
+ cursor = _resourceManager->getSubResource(4, 1, 5, &size);
+ break;
+
+ case CURSOR_USE:
+ // Use cursor
+ cursor = _resourceManager->getSubResource(4, 1, 4, &size);
+ break;
+
+ case CURSOR_TALK:
+ // Talk cursor
+ cursor = _resourceManager->getSubResource(4, 1, 3, &size);
+ break;
+
+ case CURSOR_ARROW:
+ // Arrow cursor
+ cursor = CURSOR_ARROW_DATA;
+ delFlag = false;
+ break;
+
+ case CURSOR_WALK:
+ default:
+ // Walk cursor
+ cursor = CURSOR_WALK_DATA;
+ delFlag = false;
+ break;
+ }
+
+ // Decode the cursor
+ GfxSurface s = surfaceFromRes(cursor);
+
+ Graphics::Surface surface = s.lockSurface();
+ const byte *cursorData = (const byte *)surface.getBasePtr(0, 0);
+ CursorMan.pushCursor(cursorData, surface.w, surface.h, s._centroid.x, s._centroid.y, s._transColor);
+ s.unlockSurface();
+
+ if (delFlag)
+ DEALLOCATE(cursor);
+}
+
+void EventsClass::popCursor() {
+ CursorMan.popCursor();
+}
+
void EventsClass::setCursor(Graphics::Surface &cursor, int transColor, const Common::Point &hotspot, CursorType cursorId) {
const byte *cursorData = (const byte *)cursor.getBasePtr(0, 0);
CursorMan.replaceCursor(cursorData, cursor.w, cursor.h, hotspot.x, hotspot.y, transColor);
@@ -227,6 +284,10 @@ void EventsClass::hideCursor() {
CursorMan.showMouse(false);
}
+bool EventsClass::isCursorVisible() const {
+ return CursorMan.isVisible();
+}
+
/**
* Delays the game for the specified number of frames, if necessary, from the
* previous time the delay method was called
diff --git a/engines/tsage/events.h b/engines/tsage/events.h
index ef0256e81f..90516b2353 100644
--- a/engines/tsage/events.h
+++ b/engines/tsage/events.h
@@ -82,11 +82,14 @@ public:
CursorType _currentCursor;
void setCursor(CursorType cursorType);
+ void pushCursor(CursorType cursorType);
+ void popCursor();
void setCursor(Graphics::Surface &cursor, int transColor, const Common::Point &hotspot, CursorType cursorId);
void setCursorFromFlag();
CursorType getCursor() const { return _currentCursor; }
void showCursor();
void hideCursor();
+ bool isCursorVisible() const;
bool pollEvent();
void waitForPress(int eventMask = EVENT_BUTTON_DOWN | EVENT_KEYPRESS);
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index 7f41ab0978..3914d77185 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -24,10 +24,13 @@
*/
#include "tsage/globals.h"
+#include "tsage/tsage.h"
+#include "tsage/ringworld_logic.h"
namespace tSage {
Globals *_globals = NULL;
+ResourceManager *_resourceManager = NULL;
/*--------------------------------------------------------------------------*/
@@ -40,6 +43,7 @@ static SavedObject *classFactoryProc(const Common::String &className) {
if (className == "ObjectMover2") return new ObjectMover2();
if (className == "ObjectMover3") return new ObjectMover3();
if (className == "PlayerMover") return new PlayerMover();
+ if (className == "SceneObjectWrapper") return new SceneObjectWrapper();
return NULL;
}
@@ -51,12 +55,21 @@ Globals::Globals() :
_gfxManagerInstance(_screenSurface) {
reset();
_stripNum = 0;
- _gfxFontNumber = 50;
- _gfxColors.background = 53;
- _gfxColors.foreground = 18;
- _fontColors.background = 51;
- _fontColors.foreground = 54;
+ if (_vm->getFeatures() & GF_DEMO) {
+ _gfxFontNumber = 0;
+ _gfxColors.background = 6;
+ _gfxColors.foreground = 0;
+ _fontColors.background = 0;
+ _fontColors.foreground = 0;
+ _dialogCenter.y = 80;
+ } else {
+ _gfxFontNumber = 50;
+ _gfxColors.background = 53;
+ _gfxColors.foreground = 18;
+ _fontColors.background = 51;
+ _fontColors.foreground = 54;
+ }
_screenSurface.setScreenSurface();
_gfxManagers.push_back(&_gfxManagerInstance);
@@ -66,6 +79,16 @@ Globals::Globals() :
_prevSceneOffset = Common::Point(-1, -1);
_sceneListeners.push_back(&_soundHandler);
_sceneListeners.push_back(&_sequenceManager._soundHandler);
+
+ _scrollFollower = NULL;
+ _inventory = NULL;
+
+ if (!(_vm->getFeatures() & GF_DEMO)) {
+ _inventory = new RingworldInvObjectList();
+ _game = new RingworldGame();
+ } else {
+ _game = new RingworldDemoGame();
+ }
}
Globals::~Globals() {
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h
index 6fe8e6295a..9e9ddd58d7 100644
--- a/engines/tsage/globals.h
+++ b/engines/tsage/globals.h
@@ -41,7 +41,7 @@ public:
GfxManager _gfxManagerInstance;
Common::List<GfxManager *> _gfxManagers;
SceneHandler _sceneHandler;
- Game _game;
+ Game *_game;
EventsClass _events;
SceneManager _sceneManager;
ScenePalette _scenePalette;
@@ -61,7 +61,7 @@ public:
bool _flags[256];
Player _player;
SoundHandler _soundHandler;
- InvObjectList _inventory;
+ InvObjectList *_inventory;
Region _paneRegions[2];
int _paneRefreshFlag[2];
Common::Point _sceneOffset;
@@ -95,6 +95,10 @@ public:
extern Globals *_globals;
+// Note: Currently this can't be part of the _globals structure, since it needs to be constructed
+// prior to many of the fields in Globals execute their constructors
+extern ResourceManager *_resourceManager;
+
} // End of namespace tSage
#endif
diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp
index 51db2febf9..9d840bf00d 100644
--- a/engines/tsage/graphics.cpp
+++ b/engines/tsage/graphics.cpp
@@ -29,6 +29,7 @@
#include "tsage/tsage.h"
#include "tsage/core.h"
#include "common/algorithm.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "tsage/globals.h"
@@ -122,7 +123,7 @@ GfxSurface surfaceFromRes(const byte *imgData) {
GfxSurface surfaceFromRes(int resNum, int rlbNum, int subNum) {
uint size;
- byte *imgData = _vm->_dataManager->getSubResource(resNum, rlbNum, subNum, &size);
+ byte *imgData = _resourceManager->getSubResource(resNum, rlbNum, subNum, &size);
GfxSurface surface = surfaceFromRes(imgData);
DEALLOCATE(imgData);
@@ -390,7 +391,7 @@ void GfxSurface::loadScreenSection(Graphics::Surface &dest, int xHalf, int yHalf
if (xSection < xHalfCount && ySection < yHalfCount) {
int rlbNum = xSection * yHalfCount + ySection;
- byte *data = _vm->_dataManager->getResource(RES_BITMAP, screenNum, rlbNum);
+ byte *data = _resourceManager->getResource(RES_BITMAP, screenNum, rlbNum);
for (int y = 0; y < updateRect.height(); ++y) {
byte *pSrc = data + y * 160;
@@ -713,7 +714,7 @@ void GfxImage::setDefaults() {
// Decode the image
uint size;
- byte *imgData = _vm->_dataManager->getSubResource(_resNum, _rlbNum, _cursorNum, &size);
+ byte *imgData = _resourceManager->getSubResource(_resNum, _rlbNum, _cursorNum, &size);
_surface = surfaceFromRes(imgData);
DEALLOCATE(imgData);
@@ -1074,7 +1075,7 @@ void GfxManager::setDialogPalette() {
// Get the main palette information
byte palData[256 * 3];
uint count, start;
- _vm->_dataManager->getPalette(0, &palData[0], &start, &count);
+ _resourceManager->getPalette(0, &palData[0], &start, &count);
g_system->getPaletteManager()->setPalette(&palData[0], start, count);
// Miscellaneous
@@ -1109,7 +1110,7 @@ int GfxManager::getAngle(const Common::Point &p1, const Common::Point &p2) {
GfxFont::GfxFont() {
- _fontNumber = 50;
+ _fontNumber = (_vm->getFeatures() & GF_DEMO) ? 0 : 50;
_numChars = 0;
_bpp = 0;
_fontData = NULL;
@@ -1133,9 +1134,9 @@ void GfxFont::setFontNumber(uint32 fontNumber) {
_fontNumber = fontNumber;
- _fontData = _vm->_tSageManager->getResource(RES_FONT, _fontNumber, 0, true);
+ _fontData = _resourceManager->getResource(RES_FONT, _fontNumber, 0, true);
if (!_fontData)
- _fontData = _vm->_dataManager->getResource(RES_FONT, _fontNumber, 0);
+ _fontData = _resourceManager->getResource(RES_FONT, _fontNumber, 0);
_numChars = READ_LE_UINT16(_fontData + 4);
_fontSize.y = READ_LE_UINT16(_fontData + 6);
diff --git a/engines/tsage/module.mk b/engines/tsage/module.mk
index 41a868195b..2f9194a9ba 100644
--- a/engines/tsage/module.mk
+++ b/engines/tsage/module.mk
@@ -10,6 +10,7 @@ MODULE_OBJS := \
globals.o \
graphics.o \
resources.o \
+ ringworld_demo.o \
ringworld_logic.o \
ringworld_scenes1.o \
ringworld_scenes2.o \
diff --git a/engines/tsage/resources.cpp b/engines/tsage/resources.cpp
index 21397f238a..4a188c12f7 100644
--- a/engines/tsage/resources.cpp
+++ b/engines/tsage/resources.cpp
@@ -29,6 +29,7 @@
#include "common/stack.h"
#include "common/util.h"
#include "tsage/resources.h"
+#include "tsage/tsage.h"
namespace tSage {
@@ -134,7 +135,7 @@ uint16 BitReader::readToken() {
/*-------------------------------------------------------------------------*/
-RlbManager::RlbManager(MemoryManager &memManager, const Common::String filename) :
+TLib::TLib(MemoryManager &memManager, const Common::String &filename) :
_memoryManager(memManager) {
// If the resource strings list isn't yet loaded, load them
@@ -154,11 +155,11 @@ RlbManager::RlbManager(MemoryManager &memManager, const Common::String filename)
loadIndex();
}
-RlbManager::~RlbManager() {
+TLib::~TLib() {
_resStrings.clear();
}
-void RlbManager::loadSection(uint32 fileOffset) {
+void TLib::loadSection(uint32 fileOffset) {
_resources.clear();
_file.seek(fileOffset);
_sections.fileOffset = fileOffset;
@@ -197,7 +198,7 @@ struct DecodeReference {
/**
* Gets a resource from the currently loaded section
*/
-byte *RlbManager::getResource(uint16 id, bool suppressErrors) {
+byte *TLib::getResource(uint16 id, bool suppressErrors) {
// Scan for an entry for the given Id
ResourceEntry *re= NULL;
ResourceList::iterator i;
@@ -238,6 +239,9 @@ byte *RlbManager::getResource(uint16 id, bool suppressErrors) {
uint16 word_48050 = 0, currentToken = 0, word_48054 =0;
byte byte_49068 = 0, byte_49069 = 0;
DecodeReference table[0x1000];
+ for (int i = 0; i < 0x1000; ++i) {
+ table[i].vByte = table[i].vWord = 0;
+ }
Common::Stack<uint16> tokenList;
for (;;) {
@@ -307,7 +311,7 @@ byte *RlbManager::getResource(uint16 id, bool suppressErrors) {
/**
* Finds the correct section and loads the specified resource within it
*/
-byte *RlbManager::getResource(ResourceType resType, uint16 resNum, uint16 rlbNum, bool suppressErrors) {
+byte *TLib::getResource(ResourceType resType, uint16 resNum, uint16 rlbNum, bool suppressErrors) {
SectionList::iterator i = _sections.begin();
while ((i != _sections.end()) && ((*i).resType != resType || (*i).resNum != resNum))
++i;
@@ -322,7 +326,7 @@ byte *RlbManager::getResource(ResourceType resType, uint16 resNum, uint16 rlbNum
return getResource(rlbNum, suppressErrors);
}
-void RlbManager::loadIndex() {
+void TLib::loadIndex() {
uint16 resNum, configId, fileOffset;
// Load the root resources section
@@ -356,10 +360,11 @@ void RlbManager::loadIndex() {
*
* @paletteNum Specefies the palette number
*/
-void RlbManager::getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries) {
+bool TLib::getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries) {
// Get the specified palette
- byte *dataIn = getResource(RES_PALETTE, 0, paletteNum);
- assert(dataIn);
+ byte *dataIn = getResource(RES_PALETTE, 0, paletteNum, true);
+ if (!dataIn)
+ return false;
*startNum = READ_LE_UINT16(dataIn);
*numEntries = READ_LE_UINT16(dataIn + 2);
@@ -369,12 +374,18 @@ void RlbManager::getPalette(int paletteNum, byte *palData, uint *startNum, uint
Common::copy(&dataIn[6], &dataIn[6 + *numEntries * 3], palData);
_memoryManager.deallocate(dataIn);
+ return true;
}
-byte *RlbManager::getSubResource(int resNum, int rlbNum, int index, uint *size) {
+byte *TLib::getSubResource(int resNum, int rlbNum, int index, uint *size, bool suppressErrors) {
// Get the specified image set
byte *dataIn = getResource(RES_VISAGE, resNum, rlbNum);
- assert(dataIn);
+ if (!dataIn) {
+ if (suppressErrors)
+ return NULL;
+
+ error("Unknown sub resource %d/%d index %d", resNum, rlbNum, index);
+ }
int numEntries = READ_LE_UINT16(dataIn);
uint32 entryOffset = READ_LE_UINT32(dataIn + 2 + (index - 1) * 4);
@@ -393,9 +404,14 @@ byte *RlbManager::getSubResource(int resNum, int rlbNum, int index, uint *size)
/**
* Retrieves a given message resource, and returns the specified message number
*/
-Common::String RlbManager::getMessage(int resNum, int lineNum) {
+Common::String TLib::getMessage(int resNum, int lineNum, bool suppressErrors) {
byte *msgData = getResource(RES_MESSAGE, resNum, 0);
- assert(msgData);
+ if (!msgData) {
+ if (suppressErrors)
+ return Common::String();
+
+ error("Unknown message %d line %d", resNum, lineNum);
+ }
const char *srcP = (const char *)msgData;
while (lineNum-- > 0)
@@ -406,4 +422,81 @@ Common::String RlbManager::getMessage(int resNum, int lineNum) {
return result;
}
+/*--------------------------------------------------------------------------*/
+
+ResourceManager::~ResourceManager() {
+ for (uint idx = 0; idx < _libList.size(); ++idx)
+ delete _libList[idx];
+}
+
+void ResourceManager::addLib(const Common::String &libName) {
+ assert(_libList.size() < 5);
+
+ _libList.push_back(new TLib(_vm->_memoryManager, libName));
+}
+
+byte *ResourceManager::getResource(uint16 id, bool suppressErrors) {
+ byte *result = NULL;
+ for (uint idx = 0; idx < _libList.size(); ++idx) {
+ result = _libList[idx]->getResource(id, true);
+ if (result)
+ return result;
+ }
+
+ if (!result && !suppressErrors)
+ error("Could not find resource Id #%d", id);
+ return NULL;
+}
+
+byte *ResourceManager::getResource(ResourceType resType, uint16 resNum, uint16 rlbNum, bool suppressErrors) {
+ byte *result = NULL;
+ for (uint idx = 0; idx < _libList.size(); ++idx) {
+ result = _libList[idx]->getResource(resType, resNum, rlbNum, true);
+ if (result)
+ return result;
+ }
+
+ if (!result && !suppressErrors)
+ error("Unknown resource type %d num %d", resType, resNum);
+ return NULL;
+}
+
+void ResourceManager::getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries, bool suppressErrors) {
+ for (uint idx = 0; idx < _libList.size(); ++idx) {
+ if (_libList[idx]->getPalette(paletteNum, palData, startNum, numEntries))
+ return;
+ }
+
+ if (!suppressErrors)
+ error("Unknown palette resource %d", paletteNum);
+ *numEntries = 0;
+}
+
+byte *ResourceManager::getSubResource(int resNum, int rlbNum, int index, uint *size, bool suppressErrors) {
+ byte *result = NULL;
+ for (uint idx = 0; idx < _libList.size(); ++idx) {
+ result = _libList[idx]->getSubResource(resNum, rlbNum, index, size, true);
+ if (result)
+ return result;
+ }
+
+ if (!result && !suppressErrors)
+ error("Unknown resource %d/%d index %d", resNum, rlbNum, index);
+ return NULL;
+}
+
+Common::String ResourceManager::getMessage(int resNum, int lineNum, bool suppressErrors) {
+ Common::String result;
+
+ for (uint idx = 0; idx < _libList.size(); ++idx) {
+ result = _libList[idx]->getMessage(resNum, lineNum, true);
+ if (!result.empty())
+ return result;
+ }
+
+ if (!suppressErrors)
+ error("Unknown message %d line %d", resNum, lineNum);
+ return result;
+}
+
} // end of namespace tSage
diff --git a/engines/tsage/resources.h b/engines/tsage/resources.h
index 2cf5069d36..4ae41f6557 100644
--- a/engines/tsage/resources.h
+++ b/engines/tsage/resources.h
@@ -27,10 +27,12 @@
#define RING_RESOURCES_H
#include "common/scummsys.h"
+#include "common/array.h"
#include "common/file.h"
#include "common/list.h"
#include "common/str.h"
#include "common/str-array.h"
+#include "common/textconsole.h"
#include "common/util.h"
#include "graphics/surface.h"
@@ -138,7 +140,7 @@ public:
int numBits;
};
-class RlbManager {
+class TLib {
private:
Common::StringArray _resStrings;
MemoryManager &_memoryManager;
@@ -150,14 +152,29 @@ private:
void loadSection(uint32 fileOffset);
void loadIndex();
public:
- RlbManager(MemoryManager &memManager, const Common::String filename);
- ~RlbManager();
+ TLib(MemoryManager &memManager, const Common::String &filename);
+ ~TLib();
byte *getResource(uint16 id, bool suppressErrors = false);
byte *getResource(ResourceType resType, uint16 resNum, uint16 rlbNum, bool suppressErrors = false);
- void getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries);
- byte *getSubResource(int resNum, int rlbNum, int index, uint *size);
- Common::String getMessage(int resNum, int lineNum);
+ bool getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries);
+ byte *getSubResource(int resNum, int rlbNum, int index, uint *size, bool suppressErrors = false);
+ Common::String getMessage(int resNum, int lineNum, bool suppressErrors = false);
+};
+
+class ResourceManager {
+private:
+ Common::Array<TLib *> _libList;
+public:
+ ~ResourceManager();
+
+ void addLib(const Common::String &libName);
+
+ byte *getResource(uint16 id, bool suppressErrors = false);
+ byte *getResource(ResourceType resType, uint16 resNum, uint16 rlbNum, bool suppressErrors = false);
+ void getPalette(int paletteNum, byte *palData, uint *startNum, uint *numEntries, bool suppressErrors = false);
+ byte *getSubResource(int resNum, int rlbNum, int index, uint *size, bool suppressErrors = false);
+ Common::String getMessage(int resNum, int lineNum, bool suppressErrors = false);
};
diff --git a/engines/tsage/ringworld_demo.cpp b/engines/tsage/ringworld_demo.cpp
new file mode 100644
index 0000000000..29438c0347
--- /dev/null
+++ b/engines/tsage/ringworld_demo.cpp
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#include "tsage/ringworld_demo.h"
+#include "tsage/scenes.h"
+#include "tsage/tsage.h"
+#include "tsage/staticres.h"
+
+namespace tSage {
+
+/*--------------------------------------------------------------------------
+ * Ringworld Demo scene
+ *
+ *--------------------------------------------------------------------------*/
+
+void RingworldDemoScene::postInit(SceneObjectList *OwnerList) {
+ signal();
+}
+
+void RingworldDemoScene::signal() {
+ _soundHandler.startSound(4);
+ _actor1.postInit();
+ _actor2.postInit();
+ _actor3.postInit();
+ _actor4.postInit();
+ _actor5.postInit();
+ _actor6.postInit();
+
+ setAction(&_sequenceManager, this, 22, &_actor1, &_actor2, &_actor3, &_actor4, &_actor5, &_actor6, NULL);
+}
+
+void RingworldDemoScene::process(Event &event) {
+
+}
+
+} // End of namespace tSage
diff --git a/engines/tsage/ringworld_demo.h b/engines/tsage/ringworld_demo.h
new file mode 100644
index 0000000000..63ffe56555
--- /dev/null
+++ b/engines/tsage/ringworld_demo.h
@@ -0,0 +1,52 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef TSAGE_RINGWORLD_DEMO_H
+#define TSAGE_RINGWORLD_DEMO_H
+
+#include "common/scummsys.h"
+#include "tsage/events.h"
+#include "tsage/core.h"
+#include "tsage/scenes.h"
+#include "tsage/globals.h"
+
+namespace tSage {
+
+
+class RingworldDemoScene: public Scene {
+public:
+ SequenceManager _sequenceManager;
+ SceneObject _actor1, _actor2, _actor3;
+ SceneObject _actor4, _actor5, _actor6;
+ SoundHandler _soundHandler;
+
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void process(Event &event);
+ virtual void signal();
+};
+
+} // End of namespace tSage
+
+#endif
diff --git a/engines/tsage/ringworld_logic.cpp b/engines/tsage/ringworld_logic.cpp
index 9286521a29..c0cfe3a938 100644
--- a/engines/tsage/ringworld_logic.cpp
+++ b/engines/tsage/ringworld_logic.cpp
@@ -23,10 +23,14 @@
*
*/
+#include "common/config-manager.h"
+#include "common/translation.h"
+#include "gui/saveload.h"
#include "tsage/ringworld_logic.h"
#include "tsage/scenes.h"
#include "tsage/tsage.h"
#include "tsage/staticres.h"
+#include "tsage/ringworld_demo.h"
#include "tsage/ringworld_scenes1.h"
#include "tsage/ringworld_scenes2.h"
#include "tsage/ringworld_scenes3.h"
@@ -39,6 +43,9 @@
namespace tSage {
Scene *SceneFactory::createScene(int sceneNumber) {
+ if (_vm->getFeatures() & GF_DEMO)
+ return new RingworldDemoScene();
+
switch (sceneNumber) {
/* Scene group 1 */
// Kziniti Palace (Introduction)
@@ -141,32 +148,47 @@ Scene *SceneFactory::createScene(int sceneNumber) {
case 5300: return new Scene5300();
/* Scene group 8 */
- // Scene 7000: Landing
+ // Landing near beach
case 7000: return new Scene7000();
- // Scene 7100: swimming under water
+ // Underwater: swimming
case 7100: return new Scene7100();
- // Scene 7200: Entering the underwater cave
+ // Underwater: Entering the cave
case 7200: return new Scene7200();
- // Scene 7300: Discussion with Lord Poria
+ // Underwater: Lord Poria
case 7300: return new Scene7300();
+ // Floating Buildings: Outside
case 7600: return new Scene7600();
+ // Floating Buildings: In the lab
case 7700: return new Scene7700();
/* Scene group 10 */
+ // Near beach: Slave washing clothes
case 9100: return new Scene9100();
+ // Castle: Outside the bulwarks
case 9150: return new Scene9150();
+ // Castle: Near the fountain
case 9200: return new Scene9200();
+ // Castle: In front of a large guarded door
case 9300: return new Scene9300();
+ // Castle: In a hallway
case 9350: return new Scene9350();
+ // Castle: In a hallway
case 9360: return new Scene9360();
+ // Castle: Black-Smith room
case 9400: return new Scene9400();
+ // Castle: Dining room
case 9450: return new Scene9450();
+ // Castle: Bedroom
case 9500: return new Scene9500();
+ // Castle: Balcony
case 9700: return new Scene9700();
+ // Castle: In the garden
case 9750: return new Scene9750();
+ // Castle: Dressing room
case 9850: return new Scene9850();
- // Scene 9900: Ending
+ // Ending
case 9900: return new Scene9900();
+ // Space travel
case 9999: return new Scene9999();
default:
@@ -322,7 +344,7 @@ void SpeakerGText::setText(const Common::String &msg) {
_sceneObject.postInit();
_sceneObject.setVisage(9405);
_sceneObject.setStrip2(3);
- _sceneObject.setPriority2(255);
+ _sceneObject.fixPriority(255);
_sceneObject.changeZoom(100);
_sceneObject._frame = 1;
_sceneObject.setPosition(Common::Point(183, 71));
@@ -383,7 +405,7 @@ void SpeakerPOR::setText(const Common::String &msg) {
_object3.setVisage(7223);
_object3.setStrip(3);
_object3.setPosition(Common::Point(119, 107), 0);
- _object3.setPriority2(199);
+ _object3.fixPriority(199);
_object3.setAction(&_action2);
Speaker::setText(msg);
@@ -403,7 +425,7 @@ void SpeakerOR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(9431);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(202, 147), 0);
@@ -412,7 +434,7 @@ void SpeakerOR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(9431);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.setZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(199, 85), 0);
@@ -466,8 +488,8 @@ SpeakerPOText::SpeakerPOText() : ScreenSpeaker() {
SpeakerMText::SpeakerMText() {
_speakerName = "MTEXT";
- _color1 = 11;
- _textWidth = 160;
+ _color1 = 22;
+ _textWidth = 230;
_textMode = ALIGN_CENTER;
_hideObjects = false;
}
@@ -583,7 +605,7 @@ void SpeakerSKL::setText(const Common::String &msg) {
_object1.setVisage(7013);
_object1.setStrip2(2);
_object1._frame = 1;
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1.setPosition(Common::Point(203, 120));
_object1.animate(ANIM_MODE_7, 0, NULL);
@@ -591,7 +613,7 @@ void SpeakerSKL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(7013);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(197, 80));
@@ -614,7 +636,7 @@ void SpeakerQL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2612);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(128, 146));
@@ -623,7 +645,7 @@ void SpeakerQL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2612);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(122, 84));
@@ -646,7 +668,7 @@ void SpeakerSR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2813);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(224, 198));
@@ -655,7 +677,7 @@ void SpeakerSR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2813);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(203, 96));
@@ -665,7 +687,7 @@ void SpeakerSR::setText(const Common::String &msg) {
_object3.setVisage(2813);
_object3.setStrip(3);
_object3.setPosition(Common::Point(204, 91));
- _object3.setPriority2(199);
+ _object3.fixPriority(199);
_object3._numFrames = 3;
_object3.animate(ANIM_MODE_7, 0, NULL);
@@ -687,7 +709,7 @@ void SpeakerSL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2812);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(95, 198));
@@ -696,7 +718,7 @@ void SpeakerSL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2812);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(116, 96));
@@ -719,7 +741,7 @@ void SpeakerQR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2613);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(191, 146));
@@ -728,7 +750,7 @@ void SpeakerQR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2613);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(197, 84));
@@ -751,7 +773,7 @@ void SpeakerQU::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(7021);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(116, 120), 0);
@@ -760,7 +782,7 @@ void SpeakerQU::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(7021);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(111, 84), 0);
@@ -782,14 +804,14 @@ void SpeakerCR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(9011);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.setPosition(Common::Point(219, 168));
_object1.animate(ANIM_MODE_7, 0, NULL);
_object2.postInit(&_objectList);
_object2.setVisage(9011);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.setPosition(Common::Point(232, 81));
_object2.setAction(&_speakerAction, NULL);
@@ -809,7 +831,7 @@ void SpeakerMR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2713);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(220, 143));
@@ -818,7 +840,7 @@ void SpeakerMR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2713);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setPosition(Common::Point(215, 99));
_object2.setAction(&_speakerAction, NULL);
@@ -840,7 +862,7 @@ void SpeakerSAL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2853);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(185, 200));
@@ -849,7 +871,7 @@ void SpeakerSAL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2853);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setPosition(Common::Point(170, 92));
_object2.setAction(&_speakerAction, NULL);
@@ -870,7 +892,7 @@ void SpeakerML::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(2712);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(99, 143));
@@ -879,7 +901,7 @@ void SpeakerML::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(2712);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setPosition(Common::Point(105, 99));
_object2.setAction(&_speakerAction, NULL);
@@ -900,7 +922,7 @@ void SpeakerCHFL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4113);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(205, 116));
@@ -909,7 +931,7 @@ void SpeakerCHFL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4113);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setPosition(Common::Point(202, 71));
_object2.setAction(&_speakerAction, NULL);
@@ -930,7 +952,7 @@ void SpeakerCHFR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4112);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(103, 116));
@@ -939,7 +961,7 @@ void SpeakerCHFR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4112);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setPosition(Common::Point(106, 71));
_object2.setAction(&_speakerAction, NULL);
@@ -960,7 +982,7 @@ void SpeakerPL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4062);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(107, 117));
@@ -969,7 +991,7 @@ void SpeakerPL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4062);
_object2.setStrip2(1);
- _object2.setPriority2(200);
+ _object2.fixPriority(200);
_object2._frame = 1;
_object2.setPosition(Common::Point(105, 62));
_object2.setAction(&_speakerAction, NULL);
@@ -977,7 +999,7 @@ void SpeakerPL::setText(const Common::String &msg) {
_object3.postInit(&_objectList);
_object3.setVisage(4062);
_object3.setStrip2(3);
- _object3.setPriority2(255);
+ _object3.fixPriority(255);
_object3._frame = 1;
_object3.setPosition(Common::Point(105, 59));
_object3.setAction(&_speakerAction2, NULL);
@@ -1003,7 +1025,7 @@ void SpeakerPR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4063);
_object1.setStrip2(1);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(212, 117));
@@ -1012,7 +1034,7 @@ void SpeakerPR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4063);
_object2.setStrip2(2);
- _object2.setPriority2(200);
+ _object2.fixPriority(200);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(214, 62));
@@ -1021,7 +1043,7 @@ void SpeakerPR::setText(const Common::String &msg) {
_object3.postInit(&_objectList);
_object3.setVisage(4063);
_object3.setStrip2(3);
- _object3.setPriority2(255);
+ _object3.fixPriority(255);
_object3.changeZoom(100);
_object3._frame = 1;
_object3.setPosition(Common::Point(214, 59));
@@ -1048,7 +1070,7 @@ void SpeakerCDR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4163);
_object1.setStrip2(1);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(208, 97));
@@ -1057,7 +1079,7 @@ void SpeakerCDR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4163);
_object2.setStrip2(2);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(200, 57));
@@ -1079,7 +1101,7 @@ void SpeakerCDL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(4162);
_object1.setStrip2(1);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(112, 97));
@@ -1088,7 +1110,7 @@ void SpeakerCDL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(4162);
_object2.setStrip2(2);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(115, 57));
@@ -1110,7 +1132,7 @@ void SpeakerFLL::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(5223);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(216, 129));
@@ -1119,7 +1141,7 @@ void SpeakerFLL::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(5223);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(210, 67));
@@ -1141,7 +1163,7 @@ void SpeakerBatR::setText(const Common::String &msg) {
_object1.postInit(&_objectList);
_object1.setVisage(5361);
_object1.setStrip2(2);
- _object1.setPriority2(255);
+ _object1.fixPriority(255);
_object1.changeZoom(100);
_object1._frame = 1;
_object1.setPosition(Common::Point(137, 122));
@@ -1150,7 +1172,7 @@ void SpeakerBatR::setText(const Common::String &msg) {
_object2.postInit(&_objectList);
_object2.setVisage(5361);
_object2.setStrip2(1);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2.changeZoom(100);
_object2._frame = 1;
_object2.setPosition(Common::Point(137, 104));
@@ -1159,4 +1181,239 @@ void SpeakerBatR::setText(const Common::String &msg) {
Speaker::setText(msg);
}
+/*--------------------------------------------------------------------------*/
+
+RingworldInvObjectList::RingworldInvObjectList() :
+ _stunner(2280, 1, 2, OBJECT_STUNNER, "This is your stunner."),
+ _scanner(1, 1, 3, OBJECT_SCANNER, "A combination scanner comm unit."),
+ _stasisBox(5200, 1, 4, OBJECT_STASIS_BOX, "A stasis box."),
+ _infoDisk(40, 1, 1, OBJECT_INFODISK, "The infodisk you took from the assassin."),
+ _stasisNegator(0, 2, 2, OBJECT_STASIS_NEGATOR, "The stasis field negator."),
+ _keyDevice(4250, 1, 6, OBJECT_KEY_DEVICE, "A magnetic key device."),
+ _medkit(2280, 1, 7, OBJECT_MEDKIT, "Your medkit."),
+ _ladder(4100, 1, 8, OBJECT_LADDER, "The chief's ladder."),
+ _rope(4150, 1, 9, OBJECT_ROPE, "The chief's rope."),
+ _key(7700, 1, 11, OBJECT_KEY, "A key."),
+ _translator(7700, 1, 13, OBJECT_TRANSLATOR, "The dolphin translator box."),
+ _ale(2150, 1, 10, OBJECT_ALE, "A bottle of ale."),
+ _paper(7700, 1, 12, OBJECT_PAPER, "A slip of paper with the numbers 2,4, and 3 written on it."),
+ _waldos(0, 1, 14, OBJECT_WALDOS, "A pair of waldos from the ruined probe."),
+ _stasisBox2(8100, 1, 4, OBJECT_STASIS_BOX2, "A stasis box."),
+ _ring(8100, 2, 5, OBJECT_RING, "This is a signet ring sent to you by Louis Wu."),
+ _cloak(9850, 2, 6, OBJECT_CLOAK, "A fine silk cloak."),
+ _tunic(9450, 2, 7, OBJECT_TUNIC, "The patriarch's soiled tunic."),
+ _candle(9500, 2, 8, OBJECT_CANDLE, "A tallow candle."),
+ _straw(9400, 2, 9, OBJECT_STRAW, "Clean, dry straw."),
+ _scimitar(9850, 1, 18, OBJECT_SCIMITAR, "A scimitar from the Patriarch's closet."),
+ _sword(9850, 1, 17, OBJECT_SWORD, "A short sword from the Patriarch's closet."),
+ _helmet(9500, 2, 4, OBJECT_HELMET, "Some type of helmet."),
+ _items(4300, 2, 10, OBJECT_ITEMS, "Two interesting items from the Tnuctipun vessel."),
+ _concentrator(4300, 2, 11, OBJECT_CONCENTRATOR, "The Tnuctipun anti-matter concentrator contained in a stasis field."),
+ _nullifier(5200, 2, 12, OBJECT_NULLIFIER, "A purported neural wave nullifier."),
+ _peg(4045, 2, 16, OBJECT_PEG, "A peg with a symbol."),
+ _vial(5100, 2, 17, OBJECT_VIAL, "A vial of the bat creatures anti-pheromone drug."),
+ _jacket(9850, 3, 1, OBJECT_JACKET, "A natty padded jacket."),
+ _tunic2(9850, 3, 2, OBJECT_TUNIC2, "A very hairy tunic."),
+ _bone(5300, 3, 5, OBJECT_BONE, "A very sharp bone."),
+ _jar(7700, 3, 4, OBJECT_JAR, "An jar filled with a green substance."),
+ _emptyJar(7700, 3, 3, OBJECT_EMPTY_JAR, "An empty jar.") {
+
+ // Add the items to the list
+ _itemList.push_back(&_stunner);
+ _itemList.push_back(&_scanner);
+ _itemList.push_back(&_stasisBox);
+ _itemList.push_back(&_infoDisk);
+ _itemList.push_back(&_stasisNegator);
+ _itemList.push_back(&_keyDevice);
+ _itemList.push_back(&_medkit);
+ _itemList.push_back(&_ladder);
+ _itemList.push_back(&_rope);
+ _itemList.push_back(&_key);
+ _itemList.push_back(&_translator);
+ _itemList.push_back(&_ale);
+ _itemList.push_back(&_paper);
+ _itemList.push_back(&_waldos);
+ _itemList.push_back(&_stasisBox2);
+ _itemList.push_back(&_ring);
+ _itemList.push_back(&_cloak);
+ _itemList.push_back(&_tunic);
+ _itemList.push_back(&_candle);
+ _itemList.push_back(&_straw);
+ _itemList.push_back(&_scimitar);
+ _itemList.push_back(&_sword);
+ _itemList.push_back(&_helmet);
+ _itemList.push_back(&_items);
+ _itemList.push_back(&_concentrator);
+ _itemList.push_back(&_nullifier);
+ _itemList.push_back(&_peg);
+ _itemList.push_back(&_vial);
+ _itemList.push_back(&_jacket);
+ _itemList.push_back(&_tunic2);
+ _itemList.push_back(&_bone);
+ _itemList.push_back(&_jar);
+ _itemList.push_back(&_emptyJar);
+
+ _selectedItem = NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+
+void RingworldGame::restartGame() {
+ if (MessageDialog::show(RESTART_MSG, CANCEL_BTN_STRING, RESTART_BTN_STRING) == 1)
+ _globals->_game->restart();
+}
+
+void RingworldGame::saveGame() {
+ if (_globals->getFlag(50))
+ MessageDialog::show(SAVING_NOT_ALLOWED_MSG, OK_BTN_STRING);
+ else {
+ // Show the save dialog
+ handleSaveLoad(true, _globals->_sceneHandler._saveGameSlot, _globals->_sceneHandler._saveName);
+ }
+}
+
+void RingworldGame::restoreGame() {
+ if (_globals->getFlag(50))
+ MessageDialog::show(RESTORING_NOT_ALLOWED_MSG, OK_BTN_STRING);
+ else {
+ // Show the load dialog
+ handleSaveLoad(false, _globals->_sceneHandler._loadGameSlot, _globals->_sceneHandler._saveName);
+ }
+}
+
+void RingworldGame::quitGame() {
+ if (MessageDialog::show(QUIT_CONFIRM_MSG, CANCEL_BTN_STRING, QUIT_BTN_STRING) == 1)
+ _vm->quitGame();
+}
+
+void RingworldGame::handleSaveLoad(bool saveFlag, int &saveSlot, Common::String &saveName) {
+ const EnginePlugin *plugin = 0;
+ EngineMan.findGame(_vm->getGameId(), &plugin);
+ GUI::SaveLoadChooser *dialog;
+ if (saveFlag)
+ dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"));
+ else
+ dialog = new GUI::SaveLoadChooser(_("Load game:"), _("Load"));
+
+ dialog->setSaveMode(saveFlag);
+
+ saveSlot = dialog->runModalWithPluginAndTarget(plugin, ConfMan.getActiveDomainName());
+ saveName = dialog->getResultString();
+
+ delete dialog;
+}
+
+void RingworldGame::start() {
+ // Set some default flags and cursor
+ _globals->setFlag(12);
+ _globals->setFlag(34);
+ _globals->_events.setCursor(CURSOR_WALK);
+
+ // Set the screen to scroll in response to the player moving off-screen
+ _globals->_scrollFollower = &_globals->_player;
+
+ // Set the object's that will be in the player's inventory by default
+ RING_INVENTORY._stunner._sceneNumber = 1;
+ RING_INVENTORY._scanner._sceneNumber = 1;
+ RING_INVENTORY._ring._sceneNumber = 1;
+
+ // Switch to the title screen
+ _globals->_sceneManager.setNewScene(1000);
+
+ _globals->_events.showCursor();
+}
+
+void RingworldGame::restart() {
+ _globals->_scenePalette.clearListeners();
+ _globals->_soundHandler.proc3();
+
+ // Reset the flags
+ _globals->reset();
+ _globals->setFlag(34);
+
+ // Clear save/load slots
+ _globals->_sceneHandler._saveGameSlot = -1;
+ _globals->_sceneHandler._loadGameSlot = -1;
+
+ _globals->_stripNum = 0;
+ _globals->_events.setCursor(CURSOR_WALK);
+
+ // Reset item properties
+ RING_INVENTORY._stunner._sceneNumber = 1;
+ RING_INVENTORY._scanner._sceneNumber = 1;
+ RING_INVENTORY._stasisBox._sceneNumber = 5200;
+ RING_INVENTORY._infoDisk._sceneNumber = 40;
+ RING_INVENTORY._stasisNegator._sceneNumber = 0;
+ RING_INVENTORY._keyDevice._sceneNumber = 0;
+ RING_INVENTORY._medkit._sceneNumber = 2280;
+ RING_INVENTORY._ladder._sceneNumber = 4100;
+ RING_INVENTORY._rope._sceneNumber = 4150;
+ RING_INVENTORY._key._sceneNumber = 7700;
+ RING_INVENTORY._translator._sceneNumber = 2150;
+ RING_INVENTORY._paper._sceneNumber = 7700;
+ RING_INVENTORY._waldos._sceneNumber = 0;
+ RING_INVENTORY._ring._sceneNumber = 1;
+ RING_INVENTORY._stasisBox2._sceneNumber = 8100;
+ RING_INVENTORY._cloak._sceneNumber = 9850;
+ RING_INVENTORY._tunic._sceneNumber = 9450;
+ RING_INVENTORY._candle._sceneNumber = 9500;
+ RING_INVENTORY._straw._sceneNumber = 9400;
+ RING_INVENTORY._scimitar._sceneNumber = 9850;
+ RING_INVENTORY._sword._sceneNumber = 9850;
+ RING_INVENTORY._helmet._sceneNumber = 9500;
+ RING_INVENTORY._items._sceneNumber = 4300;
+ RING_INVENTORY._concentrator._sceneNumber = 4300;
+ RING_INVENTORY._nullifier._sceneNumber = 4300;
+ RING_INVENTORY._peg._sceneNumber = 4045;
+ RING_INVENTORY._vial._sceneNumber = 5100;
+ RING_INVENTORY._jacket._sceneNumber = 9850;
+ RING_INVENTORY._tunic2._sceneNumber = 9850;
+ RING_INVENTORY._bone._sceneNumber = 5300;
+ RING_INVENTORY._jar._sceneNumber = 7700;
+ RING_INVENTORY._emptyJar._sceneNumber = 7700;
+ RING_INVENTORY._selectedItem = NULL;
+
+ // Change to the first game scene
+ _globals->_sceneManager.changeScene(30);
+}
+
+void RingworldGame::endGame(int resNum, int lineNum) {
+ _globals->_events.setCursor(CURSOR_WALK);
+ Common::String msg = _resourceManager->getMessage(resNum, lineNum);
+ bool savesExist = _saver->savegamesExist();
+
+ if (!savesExist) {
+ // No savegames exist, so prompt the user to restart or quit
+ if (MessageDialog::show(msg, QUIT_BTN_STRING, RESTART_BTN_STRING) == 0)
+ _vm->quitGame();
+ else
+ restart();
+ } else {
+ // Savegames exist, so prompt for Restore/Restart
+ bool breakFlag;
+ do {
+ if (MessageDialog::show(msg, RESTART_BTN_STRING, RESTORE_BTN_STRING) == 0) {
+ breakFlag = true;
+ } else {
+ handleSaveLoad(false, _globals->_sceneHandler._loadGameSlot, _globals->_sceneHandler._saveName);
+ breakFlag = _globals->_sceneHandler._loadGameSlot > 0;
+ }
+ } while (!breakFlag);
+ }
+
+ _globals->_events.setCursorFromFlag();
+}
+
+/*--------------------------------------------------------------------------*/
+
+void RingworldDemoGame::start() {
+ // Start the demo's single scene
+ _globals->_sceneManager.changeScene(1);
+
+ _globals->_events.setCursor(CURSOR_NONE);
+}
+
+void RingworldDemoGame::restart() {
+}
+
} // End of namespace tSage
diff --git a/engines/tsage/ringworld_logic.h b/engines/tsage/ringworld_logic.h
index 66c7bff912..eb395d59b8 100644
--- a/engines/tsage/ringworld_logic.h
+++ b/engines/tsage/ringworld_logic.h
@@ -397,6 +397,77 @@ public:
virtual void setText(const Common::String &msg);
};
+/*--------------------------------------------------------------------------*/
+
+class RingworldInvObjectList : public InvObjectList {
+public:
+ InvObject _stunner;
+ InvObject _scanner;
+ InvObject _stasisBox;
+ InvObject _infoDisk;
+ InvObject _stasisNegator;
+ InvObject _keyDevice;
+ InvObject _medkit;
+ InvObject _ladder;
+ InvObject _rope;
+ InvObject _key;
+ InvObject _translator;
+ InvObject _ale;
+ InvObject _paper;
+ InvObject _waldos;
+ InvObject _stasisBox2;
+ InvObject _ring;
+ InvObject _cloak;
+ InvObject _tunic;
+ InvObject _candle;
+ InvObject _straw;
+ InvObject _scimitar;
+ InvObject _sword;
+ InvObject _helmet;
+ InvObject _items;
+ InvObject _concentrator;
+ InvObject _nullifier;
+ InvObject _peg;
+ InvObject _vial;
+ InvObject _jacket;
+ InvObject _tunic2;
+ InvObject _bone;
+ InvObject _jar;
+ InvObject _emptyJar;
+public:
+ RingworldInvObjectList();
+
+ virtual Common::String getClassName() { return "RingworldInvObjectList"; }
+};
+
+#define RING_INVENTORY (*((RingworldInvObjectList *)_globals->_inventory))
+
+class RingworldGame: public Game {
+protected:
+ virtual void handleSaveLoad(bool saveFlag, int &saveSlot, Common::String &saveName);
+public:
+ virtual void start();
+ virtual void restart();
+ virtual void restartGame();
+ virtual void saveGame();
+ virtual void restoreGame();
+ virtual void quitGame();
+ virtual void endGame(int resNum, int lineNum);
+};
+
+class RingworldDemoGame: public Game {
+protected:
+ virtual void restart();
+public:
+ virtual void start();
+ virtual void restartGame() {}
+ virtual void saveGame() {}
+ virtual void restoreGame() {}
+ virtual void quitGame() {}
+ virtual void endGame(int resNum, int lineNum) {}
+};
+
+
} // End of namespace tSage
#endif
diff --git a/engines/tsage/ringworld_scenes1.cpp b/engines/tsage/ringworld_scenes1.cpp
index c8d10e1708..9811cd52d3 100644
--- a/engines/tsage/ringworld_scenes1.cpp
+++ b/engines/tsage/ringworld_scenes1.cpp
@@ -149,20 +149,20 @@ void Scene10::postInit(SceneObjectList *OwnerList) {
_object1.postInit();
_object1.setVisage(10);
_object1.setPosition(Common::Point(232, 90));
- _object1.setPriority2(1);
+ _object1.fixPriority(1);
_object2.postInit();
_object2.setVisage(10);
_object2.setStrip(4);
_object2.setFrame(1);
_object2.setPosition(Common::Point(204, 59));
- _object2.setPriority2(198);
+ _object2.fixPriority(198);
_object3.postInit();
_object3.setVisage(10);
_object3.setStrip2(5);
_object3.setPosition(Common::Point(180, 87));
- _object3.setPriority2(196);
+ _object3.fixPriority(196);
_object3.setAction(&_action2);
_object4.postInit();
@@ -512,7 +512,7 @@ void Scene20::Action4::signal() {
scene->_sound.startSound(77, this, 127);
break;
case 8:
- _globals->_game.endGame(20, 0);
+ _globals->_game->endGame(20, 0);
break;
default:
break;
@@ -565,7 +565,7 @@ void Scene20::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(20);
_globals->_player.setPosition(Common::Point(588, 79));
_globals->_player._moveDiff = Common::Point(5, 5);
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
_globals->_player.animate(ANIM_MODE_1, NULL);
_SceneObjectExt.postInit();
@@ -599,7 +599,7 @@ void Scene20::postInit(SceneObjectList *OwnerList) {
_globals->_player.animate(ANIM_MODE_NONE, NULL);
_globals->_player.setStrip2(1);
_globals->_player.setFrame2(4);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.setPosition(Common::Point(425, 233));
setAction(&_action1);
@@ -844,7 +844,7 @@ void Scene30::KzinObject::doAction(int action) {
display2(30, 11);
break;
case OBJECT_RING:
- _globals->_inventory._ring._sceneNumber = 30;
+ RING_INVENTORY._ring._sceneNumber = 30;
scene->setAction(&scene->_ringAction);
break;
case CURSOR_LOOK:
@@ -901,7 +901,7 @@ void Scene30::postInit(SceneObjectList *OwnerList) {
_beam.setVisage(31);
_beam.setStrip(2);
_beam.setPosition(Common::Point(124, 178));
- _beam.setPriority2(188);
+ _beam.fixPriority(188);
// Set up door object
_door.postInit();
@@ -927,7 +927,7 @@ void Scene30::signal() {
_beam.setVisage(31);
_beam.setStrip(2);
_beam.setPosition(Common::Point(124, 178));
- _beam.setPriority2(188);
+ _beam.fixPriority(188);
_globals->_sceneItems.push_front(&_beam);
_globals->_player.enableControl();
} else if (_sceneMode == 32) {
@@ -1063,7 +1063,7 @@ void Scene40::Action1::signal() {
_globals->_soundHandler.startSound(77, this);
break;
case 17:
- _globals->_game.endGame(40, 20);
+ _globals->_game->endGame(40, 20);
remove();
break;
}
@@ -1090,10 +1090,10 @@ void Scene40::Action2::signal() {
scene->_doorway.postInit();
scene->_doorway.setVisage(16);
scene->_doorway.setStrip2(6);
- scene->_doorway.setPriority2(200);
+ scene->_doorway.fixPriority(200);
scene->_doorway.setPosition(Common::Point(159, 191));
scene->_doorway._moveDiff = Common::Point(40, 40);
- scene->_doorway._field7A = 60;
+ scene->_doorway._moveRate = 60;
scene->_doorway.animate(ANIM_MODE_5, NULL);
Common::Point pt(271, 165);
@@ -1107,7 +1107,7 @@ void Scene40::Action2::signal() {
scene->_assassin._frame = 1;
scene->_assassin.animate(ANIM_MODE_5, this);
scene->_soundHandler.startSound(29);
- _globals->_inventory._infoDisk._sceneNumber = 40;
+ RING_INVENTORY._infoDisk._sceneNumber = 40;
break;
case 4:
_globals->_player.animate(ANIM_MODE_6, this);
@@ -1174,7 +1174,7 @@ void Scene40::Action3::signal() {
case 2:
scene->_assassin.setStrip(2);
scene->_assassin.setFrame(1);
- _globals->_inventory._infoDisk._sceneNumber = 1;
+ RING_INVENTORY._infoDisk._sceneNumber = 1;
_globals->_player.animate(ANIM_MODE_6, this);
break;
case 3:
@@ -1226,7 +1226,7 @@ void Scene40::Action6::signal() {
scene->_object1.setStrip2(6);
scene->_object1._moveDiff = Common::Point(40, 40);
scene->_object1.setPosition(Common::Point(313, 53));
- scene->_object1._field7A = 60;
+ scene->_object1._moveRate = 60;
Common::Point pt(141, 194);
NpcMover *mover = new NpcMover();
@@ -1300,11 +1300,11 @@ void Scene40::Action8::signal() {
scene->_doorway.postInit();
scene->_doorway.setVisage(16);
scene->_doorway.setStrip2(6);
- scene->_doorway.setPriority2(200);
- scene->_doorway._field7A = 60;
+ scene->_doorway.fixPriority(200);
+ scene->_doorway._moveRate = 60;
if (_globals->_player._position.x >= 145) {
- scene->_doorway.setPriority2(-1);
+ scene->_doorway.fixPriority(-1);
scene->_doorway.setPosition(Common::Point(6, 157));
} else {
scene->_doorway.setPosition(Common::Point(313, 53));
@@ -1328,7 +1328,7 @@ void Scene40::Action8::signal() {
_globals->_soundHandler.startSound(77, this);
break;
case 4:
- _globals->_game.endGame(40, 45);
+ _globals->_game->endGame(40, 45);
remove();
break;
}
@@ -1378,12 +1378,12 @@ void Scene40::Assassin::doAction(int action) {
if (scene->_assassin._visage != 44)
SceneItem::display2(40, 13);
else
- SceneItem::display2(40, (_globals->_inventory._infoDisk._sceneNumber == 1) ? 19 : 14);
+ SceneItem::display2(40, (RING_INVENTORY._infoDisk._sceneNumber == 1) ? 19 : 14);
break;
case CURSOR_USE:
if (scene->_assassin._visage != 44)
SceneItem::display2(40, 15);
- else if (_globals->_inventory._infoDisk._sceneNumber == 1)
+ else if (RING_INVENTORY._infoDisk._sceneNumber == 1)
SceneItem::display2(40, 19);
else {
_globals->_player.disableControl();
@@ -1492,14 +1492,14 @@ void Scene40::postInit(SceneObjectList *OwnerList) {
_object2.postInit();
_object2.setVisage(41);
_object2.setStrip(6);
- _object2.setPriority2(200);
+ _object2.fixPriority(200);
_object2.setPosition(Common::Point(94, 189));
_object2.setAction(&_action5);
_object3.postInit();
_object3.setVisage(41);
_object3.setStrip(5);
- _object3.setPriority2(205);
+ _object3.fixPriority(205);
_object3.setPosition(Common::Point(110, 186));
_object3._numFrames = 2;
_object3.animate(ANIM_MODE_8, NULL, NULL);
@@ -1512,7 +1512,7 @@ void Scene40::postInit(SceneObjectList *OwnerList) {
_dyingKzin.setVisage(40);
_dyingKzin.setStrip(6);
_dyingKzin.setPosition(Common::Point(-90, 65));
- _dyingKzin.setPriority2(170);
+ _dyingKzin.fixPriority(170);
setAction(&_action1);
} else {
@@ -1525,7 +1525,7 @@ void Scene40::postInit(SceneObjectList *OwnerList) {
_dyingKzin.postInit();
_dyingKzin.setVisage(40);
_dyingKzin.setPosition(Common::Point(205, 183));
- _dyingKzin.setPriority2(170);
+ _dyingKzin.fixPriority(170);
_dyingKzin._frame = 9;
_dyingKzin.setAction(&_action7);
@@ -1534,7 +1534,7 @@ void Scene40::postInit(SceneObjectList *OwnerList) {
_assassin.setPosition(Common::Point(230, 187));
_assassin.setAction(&_action8);
- if (_globals->_inventory._infoDisk._sceneNumber == 40) {
+ if (RING_INVENTORY._infoDisk._sceneNumber == 40) {
_assassin.setStrip(1);
_assassin.setFrame(_assassin.getFrameCount());
} else {
@@ -1792,19 +1792,19 @@ void Scene50::postInit(SceneObjectList *OwnerList) {
_object2.setVisage(2331);
_object2.setStrip(6);
_object2.setPosition(Common::Point(136, 192));
- _object2.setPriority2(200);
+ _object2.fixPriority(200);
_object3.postInit();
_object3.setVisage(2337);
_object3.setStrip(6);
_object3.setPosition(Common::Point(260, 180));
- _object3.setPriority2(200);
+ _object3.fixPriority(200);
_object4.postInit();
_object4.setVisage(2331);
_object4.setStrip(6);
_object4.setPosition(Common::Point(295, 144));
- _object4.setPriority2(178);
+ _object4.fixPriority(178);
_globals->_sceneItems.addItems(&_object2, &_object3, &_object4, NULL);
@@ -1866,33 +1866,33 @@ void Scene60::Action1::signal() {
setDelay(3);
break;
case 1:
- scene->_object9.postInit();
- scene->_object9.setVisage(60);
- scene->_object9.setStrip(7);
- scene->_object9.setPosition(Common::Point(136, 65));
- scene->_object9.animate(ANIM_MODE_5, this);
+ scene->_floppyDrive.postInit();
+ scene->_floppyDrive.setVisage(60);
+ scene->_floppyDrive.setStrip(7);
+ scene->_floppyDrive.setPosition(Common::Point(136, 65));
+ scene->_floppyDrive.animate(ANIM_MODE_5, this);
scene->_soundHandler1.startSound(35);
break;
case 2:
- scene->_object10.postInit();
- scene->_object10.setVisage(60);
- scene->_object10.setPosition(Common::Point(199, 186));
- scene->_object10.animate(ANIM_MODE_8, 0, NULL);
- scene->_object10._numFrames = 5;
+ scene->_redLights.postInit();
+ scene->_redLights.setVisage(60);
+ scene->_redLights.setPosition(Common::Point(199, 186));
+ scene->_redLights.animate(ANIM_MODE_8, 0, NULL);
+ scene->_redLights._numFrames = 5;
scene->_controlButton.animate(ANIM_MODE_2, NULL);
if (!_globals->getFlag(83)) {
- scene->_object5.postInit();
- scene->_object5.setVisage(60);
- scene->_object5.setStrip2(3);
- scene->_object5.setFrame(2);
- scene->_object5.setPosition(Common::Point(148, 85));
- scene->_object5.animate(ANIM_MODE_2, NULL);
- scene->_object5._numFrames = 5;
-
- _globals->_sceneItems.push_front(&scene->_object5);
+ scene->_message.postInit();
+ scene->_message.setVisage(60);
+ scene->_message.setStrip2(3);
+ scene->_message.setFrame(2);
+ scene->_message.setPosition(Common::Point(148, 85));
+ scene->_message.animate(ANIM_MODE_2, NULL);
+ scene->_message._numFrames = 5;
+
+ _globals->_sceneItems.push_front(&scene->_message);
scene->_soundHandler2.startSound(38);
}
@@ -1901,10 +1901,10 @@ void Scene60::Action1::signal() {
case 3:
scene->_soundHandler2.startSound(37);
scene->loadScene(65);
- scene->_object5.remove();
+ scene->_message.remove();
- if (_globals->_sceneObjects->contains(&scene->_object10))
- scene->_object10.remove();
+ if (_globals->_sceneObjects->contains(&scene->_redLights))
+ scene->_redLights.remove();
scene->_controlButton.remove();
scene->_slaveButton.remove();
@@ -1912,29 +1912,29 @@ void Scene60::Action1::signal() {
scene->_item1.remove();
scene->_item2.remove();
- scene->_object3.postInit();
- scene->_object3.setVisage(65);
- scene->_object3.setPosition(Common::Point(118, 197));
-
- scene->_object2.postInit();
- scene->_object2.setVisage(65);
- scene->_object2.setStrip(2);
- scene->_object2.setPosition(Common::Point(160, 197));
-
- scene->_object4.postInit();
- scene->_object4.setVisage(65);
- scene->_object4.setStrip(3);
- scene->_object4.setPosition(Common::Point(202, 197));
-
- scene->_object1.postInit();
- scene->_object1.setVisage(65);
- scene->_object1.setStrip(4);
- scene->_object1.setFrame(1);
- scene->_object1.setPosition(Common::Point(145, 165));
-
- _globals->_sceneItems.push_front(&scene->_object3);
- _globals->_sceneItems.push_front(&scene->_object2);
- _globals->_sceneItems.push_front(&scene->_object4);
+ scene->_nextButton.postInit();
+ scene->_nextButton.setVisage(65);
+ scene->_nextButton.setPosition(Common::Point(118, 197));
+
+ scene->_prevButton.postInit();
+ scene->_prevButton.setVisage(65);
+ scene->_prevButton.setStrip(2);
+ scene->_prevButton.setPosition(Common::Point(160, 197));
+
+ scene->_exitButton.postInit();
+ scene->_exitButton.setVisage(65);
+ scene->_exitButton.setStrip(3);
+ scene->_exitButton.setPosition(Common::Point(202, 197));
+
+ scene->_rose.postInit();
+ scene->_rose.setVisage(65);
+ scene->_rose.setStrip(4);
+ scene->_rose.setFrame(1);
+ scene->_rose.setPosition(Common::Point(145, 165));
+
+ _globals->_sceneItems.push_front(&scene->_nextButton);
+ _globals->_sceneItems.push_front(&scene->_prevButton);
+ _globals->_sceneItems.push_front(&scene->_exitButton);
setDelay(10);
_globals->_events.setCursor(CURSOR_USE);
@@ -1952,21 +1952,21 @@ void Scene60::Action1::signal() {
break;
case 9:
_globals->_player._uiEnabled = false;
- _globals->_inventory._infoDisk._sceneNumber = 1;
+ RING_INVENTORY._infoDisk._sceneNumber = 1;
- if (_globals->_sceneObjects->contains(&scene->_object5))
- scene->_object5.remove();
+ if (_globals->_sceneObjects->contains(&scene->_message))
+ scene->_message.remove();
scene->_controlButton.animate(ANIM_MODE_NONE);
scene->_controlButton.setFrame(1);
- scene->_object10.remove();
+ scene->_redLights.remove();
- scene->_object9.postInit();
- scene->_object9.setVisage(60);
- scene->_object9.setStrip(7);
- scene->_object9.setPosition(Common::Point(136, 65));
- scene->_object9.setFrame(scene->_object9.getFrameCount());
- scene->_object9.animate(ANIM_MODE_6, this);
+ scene->_floppyDrive.postInit();
+ scene->_floppyDrive.setVisage(60);
+ scene->_floppyDrive.setStrip(7);
+ scene->_floppyDrive.setPosition(Common::Point(136, 65));
+ scene->_floppyDrive.setFrame(scene->_floppyDrive.getFrameCount());
+ scene->_floppyDrive.animate(ANIM_MODE_6, this);
scene->_soundHandler1.startSound(35);
scene->_soundHandler3.proc3();
@@ -1982,7 +1982,7 @@ void Scene60::Action1::signal() {
break;
case 11:
_globals->_player._uiEnabled = true;
- scene->_object9.remove();
+ scene->_floppyDrive.remove();
remove();
break;
case 8:
@@ -2010,7 +2010,7 @@ void Scene60::Action2::signal() {
/*--------------------------------------------------------------------------*/
-void Scene60::Object2::doAction(int action) {
+void Scene60::PrevObject::doAction(int action) {
Scene60 *scene = (Scene60 *)_globals->_sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -2028,7 +2028,7 @@ void Scene60::Object2::doAction(int action) {
}
}
-void Scene60::Object3::doAction(int action) {
+void Scene60::NextObject::doAction(int action) {
Scene60 *scene = (Scene60 *)_globals->_sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -2045,7 +2045,7 @@ void Scene60::Object3::doAction(int action) {
}
}
-void Scene60::Object4::doAction(int action) {
+void Scene60::ExitObject::doAction(int action) {
Scene60 *scene = (Scene60 *)_globals->_sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -2053,16 +2053,17 @@ void Scene60::Object4::doAction(int action) {
} else if (action == CURSOR_USE) {
scene->_soundHandler3.startSound(36);
animate(ANIM_MODE_8, 1, NULL);
- scene->_object3.remove();
- scene->_object2.remove();
- scene->_object4.remove();
- scene->_object1.remove();
+ scene->_nextButton.remove();
+ scene->_prevButton.remove();
+ scene->_exitButton.remove();
+ scene->_rose.remove();
SceneItem::display(0, 0);
scene->loadScene(60);
scene->_controlButton.postInit();
scene->_controlButton.setVisage(60);
+ scene->_controlButton.setStrip(5);
scene->_controlButton.setPosition(Common::Point(233, 143));
scene->_controlButton.animate(ANIM_MODE_2, NULL);
@@ -2079,12 +2080,12 @@ void Scene60::Object4::doAction(int action) {
_globals->_sceneItems.push_front(&scene->_masterButton);
_globals->_sceneItems.push_front(&scene->_slaveButton);
- scene->_object10.postInit();
- scene->_object10.setVisage(60);
- scene->_object10.setPosition(Common::Point(199, 186));
- scene->_object10.animate(ANIM_MODE_8, 0, NULL);
- scene->_object10._numFrames = 5;
- scene->_object10.setAction(&scene->_sequenceManager, scene, 61, NULL);
+ scene->_redLights.postInit();
+ scene->_redLights.setVisage(60);
+ scene->_redLights.setPosition(Common::Point(199, 186));
+ scene->_redLights.animate(ANIM_MODE_8, 0, NULL);
+ scene->_redLights._numFrames = 5;
+ scene->_redLights.setAction(&scene->_sequenceManager, scene, 61, NULL);
if (scene->_slaveButton._state)
scene->_slaveButton.setFrame(2);
@@ -2109,7 +2110,7 @@ void Scene60::Object4::doAction(int action) {
}
}
-void Scene60::Object5::doAction(int action) {
+void Scene60::MessageObject::doAction(int action) {
Scene60 *scene = (Scene60 *)_globals->_sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -2205,7 +2206,7 @@ void Scene60::MasterObject::doAction(int action) {
}
}
-void Scene60::Object9::doAction(int action) {
+void Scene60::FloppyDrive::doAction(int action) {
Scene60 *scene = (Scene60 *)_globals->_sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -2225,7 +2226,7 @@ void Scene60::Item1::doAction(int action) {
switch (action) {
case OBJECT_INFODISK:
- _globals->_inventory._infoDisk._sceneNumber = 60;
+ RING_INVENTORY._infoDisk._sceneNumber = 60;
_globals->setFlag(!_globals->_stripNum ? 118 : 121);
scene->_sceneMode = 0;
scene->setAction(&scene->_action1);
@@ -2234,7 +2235,7 @@ void Scene60::Item1::doAction(int action) {
SceneItem::display2(60, 10);
break;
case CURSOR_USE:
- if (_globals->_inventory._infoDisk._sceneNumber == 60) {
+ if (RING_INVENTORY._infoDisk._sceneNumber == 60) {
if (_globals->getFlag(118) && !_globals->_stripNum) {
_globals->clearFlag(118);
scene->setAction(&scene->_action1);
@@ -2247,7 +2248,7 @@ void Scene60::Item1::doAction(int action) {
scene->_action1.setActionIndex(9);
scene->_action1.setDelay(1);
}
- } else if (_globals->_inventory._infoDisk._sceneNumber == 1) {
+ } else if (RING_INVENTORY._infoDisk._sceneNumber == 1) {
scene->_sceneMode = 0;
setAction(&scene->_sequenceManager, scene, 62, NULL);
} else {
@@ -2341,22 +2342,22 @@ void Scene60::postInit(SceneObjectList *OwnerList) {
if (_globals->getFlag(118)) {
_controlButton.animate(ANIM_MODE_2, NULL);
- _object10.postInit();
- _object10.setVisage(60);
- _object10.setPosition(Common::Point(199, 186));
- _object10.animate(ANIM_MODE_8, 0, NULL);
+ _redLights.postInit();
+ _redLights.setVisage(60);
+ _redLights.setPosition(Common::Point(199, 186));
+ _redLights.animate(ANIM_MODE_8, 0, NULL);
_soundHandler1.startSound(35);
if (!_globals->getFlag(83)) {
- _object5.postInit();
- _object5.setVisage(60);
- _object5.setStrip2(3);
- _object5.setFrame(2);
- _object5.setPosition(Common::Point(148, 85));
- _object5.animate(ANIM_MODE_2, NULL);
- _object5._numFrames = 5;
- _globals->_sceneItems.push_front(&_object5);
+ _message.postInit();
+ _message.setVisage(60);
+ _message.setStrip2(3);
+ _message.setFrame(2);
+ _message.setPosition(Common::Point(148, 85));
+ _message.animate(ANIM_MODE_2, NULL);
+ _message._numFrames = 5;
+ _globals->_sceneItems.push_front(&_message);
_soundHandler2.startSound(38);
}
@@ -2375,23 +2376,23 @@ void Scene60::postInit(SceneObjectList *OwnerList) {
if (_globals->getFlag(121)) {
_controlButton.animate(ANIM_MODE_2, NULL);
- _object10.postInit();
- _object10.setVisage(60);
- _object10.setPosition(Common::Point(199, 186));
- _object10.animate(ANIM_MODE_8, 0, NULL);
- _object10._numFrames = 5;
+ _redLights.postInit();
+ _redLights.setVisage(60);
+ _redLights.setPosition(Common::Point(199, 186));
+ _redLights.animate(ANIM_MODE_8, 0, NULL);
+ _redLights._numFrames = 5;
_soundHandler1.startSound(35);
if (!_globals->getFlag(83)) {
- _object5.postInit();
- _object5.setVisage(60);
- _object5.setStrip2(3);
- _object5.setFrame(2);
- _object5.setPosition(Common::Point(148, 85));
- _object5.animate(ANIM_MODE_2, NULL);
- _object5._numFrames = 5;
- _globals->_sceneItems.push_front(&_object5);
+ _message.postInit();
+ _message.setVisage(60);
+ _message.setStrip2(3);
+ _message.setFrame(2);
+ _message.setPosition(Common::Point(148, 85));
+ _message.animate(ANIM_MODE_2, NULL);
+ _message._numFrames = 5;
+ _globals->_sceneItems.push_front(&_message);
_soundHandler2.startSound(38);
}
@@ -2424,7 +2425,7 @@ void Scene60::signal() {
void Scene60::process(Event &event) {
Scene::process(event);
- if (_sceneNumber == 60) {
+ if (_screenNumber == 60) {
if (_gfxButton.process(event))
_globals->_sceneManager.changeScene(50);
}
@@ -2648,7 +2649,7 @@ void Scene90::postInit(SceneObjectList *OwnerList) {
_object3.setVisage(90);
_object3.animate(ANIM_MODE_1, NULL);
_object3.setPosition(Common::Point(196, 181));
- _object3.setPriority2(175);
+ _object3.fixPriority(175);
_globals->_sceneItems.push_back(&_object3);
_globals->_player.disableControl();
@@ -2673,7 +2674,7 @@ void Scene90::signal() {
break;
case 92:
_globals->_scenePalette.clearListeners();
- _globals->_game.endGame(90, 6);
+ _globals->_game->endGame(90, 6);
break;
case 96:
_globals->_player.enableControl();
@@ -2878,7 +2879,7 @@ void Scene6100::Action3::signal() {
break;
case 1:
_globals->_scenePalette.clearListeners();
- scene->_fadePercent = 0;
+ scene->_fadePercent = 100;
_globals->_scenePalette.refresh();
scene->loadScene(9997);
scene->_object1.hide();
@@ -2889,7 +2890,7 @@ void Scene6100::Action3::signal() {
scene->_sunflower3.hide();
scene->_rocks.hide();
scene->_sceneText.hide();
-
+
_globals->_events.setCursor(CURSOR_WALK);
scene->_stripManager.start(8120, this);
break;
@@ -2994,39 +2995,39 @@ void Scene6100::Action5::dispatch() {
}
scene->_objList[idx]->_flags |= OBJFLAG_PANES;
-/*
+
if ((idx != 3) && (scene->_fadePercent == 100) &&
- (tempSet.sqrt(floatSet) < 150.0)) {
+ (tempSet.sqrt(zeroSet) < 150.0)) {
switch (scene->_hitCount++) {
case 1:
scene->_soundHandler.startSound(233);
- scene->showMessage(0, NULL, 0);
+ scene->showMessage(NULL, 0, NULL);
if (!_globals->getFlag(76))
- scene->_object5.setAction(&scene->_action2);
+ scene->_probe.setAction(&scene->_action2);
+ break;
case 2:
scene->_soundHandler.startSound(234);
- scene->showMessage(0, NULL, 0);
+ scene->showMessage(NULL, 0, NULL);
if (!_globals->getFlag(76))
- scene->_object5.setAction(NULL);
+ scene->_probe.setAction(NULL);
scene->setAction(&scene->_action3);
break;
default:
scene->_soundHandler.startSound(233);
- scene->showMessage(0, NULL, 0);
+ scene->showMessage(NULL, 0, NULL);
if (!_globals->getFlag(76))
- scene->_object5.setAction(&scene->_action1);
+ scene->_probe.setAction(&scene->_action1);
break;
}
_globals->_scenePalette.clearListeners();
scene->_fadePercent = 0;
}
- */
}
}
@@ -3128,6 +3129,7 @@ void Scene6100::postInit(SceneObjectList *OwnerList) {
loadScene(6100);
Scene::postInit();
setZoomPercents(62, 2, 200, 425);
+ _globals->_sceneHandler._delayTicks = 8;
_globals->_player.disableControl();
_globals->_events.setCursor(CURSOR_WALK);
@@ -3139,28 +3141,28 @@ void Scene6100::postInit(SceneObjectList *OwnerList) {
_object1._frame = 1;
_object1._strip = 4;
_object1.setPosition(Common::Point(0, 60));
- _object1.setPriority2(1);
+ _object1.fixPriority(1);
_object2.postInit();
_object2.setVisage(6100);
_object2._frame = 1;
_object2._strip = 4;
_object2.setPosition(Common::Point(160, 60));
- _object2.setPriority2(1);
+ _object2.fixPriority(1);
_object3.postInit();
_object3.setVisage(6100);
_object3._frame = 1;
_object3._strip = 4;
_object3.setPosition(Common::Point(320, 60));
- _object3.setPriority2(1);
+ _object3.fixPriority(1);
_rocks.postInit();
_rocks.setVisage(6100);
_rocks._frame = 1;
_rocks._strip = 3;
_rocks.setPosition(Common::Point(320, 0));
- _rocks.setPriority2(2);
+ _rocks.fixPriority(2);
_rocks.changeZoom(-1);
_rocks._floats._float1 = 320.0;
_rocks._floats._float2 = 25000.0;
@@ -3172,7 +3174,7 @@ void Scene6100::postInit(SceneObjectList *OwnerList) {
_probe._frame = 1;
_probe._strip = 5;
_probe.setPosition(Common::Point(160, 260));
- _probe.setPriority2(3);
+ _probe.fixPriority(3);
_probe._floats._float1 = 320.0;
_probe._floats._float2 = 0.0;
_probe._floats._float3 = 0.0;
@@ -3197,7 +3199,7 @@ void Scene6100::postInit(SceneObjectList *OwnerList) {
_objList[idx]->setPosition(Common::Point(
_globals->_randomSource.getRandomNumber(319), 60));
- _objList[idx]->setPriority2(1);
+ _objList[idx]->fixPriority(1);
_objList[idx]->changeZoom(-1);
}
diff --git a/engines/tsage/ringworld_scenes1.h b/engines/tsage/ringworld_scenes1.h
index 4862bedfe0..be6d8e6337 100644
--- a/engines/tsage/ringworld_scenes1.h
+++ b/engines/tsage/ringworld_scenes1.h
@@ -323,19 +323,19 @@ class Scene60 : public Scene {
public:
virtual void signal();
};
- class Object2 : public SceneObject {
+ class PrevObject : public SceneObject {
public:
virtual void doAction(int action);
};
- class Object3 : public SceneObject {
+ class NextObject : public SceneObject {
public:
virtual void doAction(int action);
};
- class Object4 : public SceneObject {
+ class ExitObject : public SceneObject {
public:
virtual void doAction(int action);
};
- class Object5 : public SceneObject {
+ class MessageObject : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -351,7 +351,7 @@ class Scene60 : public Scene {
public:
virtual void doAction(int action);
};
- class Object9 : public SceneObject {
+ class FloppyDrive : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -378,16 +378,16 @@ public:
SpeakerSText _speakerSText;
Action1 _action1;
Action2 _action2;
- SceneObject _object1;
- Object2 _object2;
- Object3 _object3;
- Object4 _object4;
- Object5 _object5;
+ SceneObject _rose;
+ PrevObject _prevButton;
+ NextObject _nextButton;
+ ExitObject _exitButton;
+ MessageObject _message;
ControlObject _controlButton;
SlaveObject _slaveButton;
MasterObject _masterButton;
- Object9 _object9;
- SceneObject _object10;
+ FloppyDrive _floppyDrive;
+ SceneObject _redLights;
Item1 _item1;
Item _item2, _item3, _item4, _item5, _item6;
SoundHandler _soundHandler1;
diff --git a/engines/tsage/ringworld_scenes10.cpp b/engines/tsage/ringworld_scenes10.cpp
index 4d413a09fb..1d39d9172f 100644
--- a/engines/tsage/ringworld_scenes10.cpp
+++ b/engines/tsage/ringworld_scenes10.cpp
@@ -38,7 +38,8 @@ Scene2::Scene2() : Scene() {
/*--------------------------------------------------------------------------*/
void Object9350::postInit(SceneObjectList *OwnerList) {
- _globals->_sceneManager.postInit(&_globals->_sceneManager._altSceneObjects);
+ //SceneObject::postInit(&_globals->_sceneManager._altSceneObjects);
+ SceneObject::postInit(OwnerList);
}
void Object9350::draw() {
@@ -77,16 +78,16 @@ void Scene9100::dispatch() {
if (!_action) {
if (_globals->_player._position.x < 25) {
- if (!_globals->getFlag(11)) {
- scene->_sceneMode = 9106;
- } else {
- scene->_sceneMode = 9108;
+ _globals->_player.disableControl();
+ if (!_globals->getFlag(23) || _globals->getFlag(11))
+ _sceneMode = 9106;
+ else {
+ _sceneMode = 9108;
_globals->setFlag(11);
}
- } else {
- scene->_sceneMode = 9106;
+
+ scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, &_globals->_player, NULL);
}
- scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, &_globals->_player, 0);
} else {
Scene::dispatch();
}
@@ -115,8 +116,6 @@ void Scene9100::signal() {
}
void Scene9100::postInit(SceneObjectList *OwnerList) {
- Scene9100 *scene = (Scene9100 *)_globals->_sceneManager._scene;
-
Scene::postInit();
setZoomPercents(0, 100, 200, 100);
_object1.postInit();
@@ -125,7 +124,7 @@ void Scene9100::postInit(SceneObjectList *OwnerList) {
_object1._numFrames = 6;
_object1.setPosition(Common::Point(297, 132), 0);
_object1.animate(ANIM_MODE_2, 0);
- _object1.setPriority2(10);
+ _object1.fixPriority(10);
_globals->_player.postInit();
@@ -146,7 +145,7 @@ void Scene9100::postInit(SceneObjectList *OwnerList) {
_object6.setVisage(9111);
_object6.setStrip(6);
_object6.setFrame(1);
- _object6.setPosition(Common::Point(138, 166), 0);
+ _object6.setPosition(Common::Point(138, 166));
_sceneHotspot3.setup(145, 125, 166, 156, 9100, 40, 43);
}
_sceneHotspot1.setup(140, 176, 185, 215, 9100, 36, 37);
@@ -163,17 +162,17 @@ void Scene9100::postInit(SceneObjectList *OwnerList) {
_sceneMode = 9107;
else
_sceneMode = 9109;
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object5, NULL);
} else {
_sceneMode = 9103;
_globals->_player.disableControl();
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, NULL);
_globals->setFlag(20);
}
} else {
_sceneMode = 9102;
_globals->_player.disableControl();
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, NULL);
}
}
@@ -224,7 +223,7 @@ void Scene9150::dispatch() {
if ((_sceneState != 0) && (_sceneBounds.left == 0)) {
_object3._timer = 0;
_sceneState = 0;
- _sceneHotspot3.setAction(&_sequenceManager2, 0, 9154, &_object3, 0);
+ _object3.setAction(&_sequenceManager2, NULL, 9154, &_object3, NULL);
_sceneHotspot10.remove();
}
@@ -308,16 +307,16 @@ void Scene9200::SceneHotspot1::doAction(int action) {
_globals->_player.disableControl();
if (_globals->getFlag(93)) {
scene->_sceneState = 9214;
- setAction(&scene->_sequenceManager, scene, 9214, &_globals->_player, &scene->_object2, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 9214, &_globals->_player, &scene->_object2, 0);
} else {
_globals->setFlag(93);
scene->_sceneState = 9213;
- setAction(&scene->_sequenceManager, scene, 9213, &_globals->_player, &scene->_object2, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 9213, &_globals->_player, &scene->_object2, 0);
}
} else if (action <= 100) {
_globals->_player.disableControl();
scene->_sceneState = 9214;
- setAction(&scene->_sequenceManager, scene, 9214, &_globals->_player, &scene->_object2, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 9214, &_globals->_player, &scene->_object2, 0);
} else {
NamedHotspot::doAction(action);
}
@@ -405,7 +404,7 @@ void Scene9200::postInit(SceneObjectList *OwnerList) {
_object1._strip = 3;
_object1.animate(ANIM_MODE_2, 0);
_object1.setPosition(Common::Point(132, 114), 0);
- _object1.setPriority2(140);
+ _object1.fixPriority(140);
_soundHandler.startSound(297);
_stripManager.addSpeaker(&_speakerQText);
_stripManager.addSpeaker(&_speakerGR);
@@ -429,7 +428,7 @@ void Scene9200::postInit(SceneObjectList *OwnerList) {
switch (_globals->_sceneManager._previousScene) {
case 9500:
if (_globals->getFlag(85)) {
- if (_globals->_inventory._helmet._sceneNumber == 1) {
+ if (RING_INVENTORY._helmet._sceneNumber == 1) {
_globals->setFlag(86);
_sceneState = 9210;
setAction(&_sequenceManager, this, 9210, &_globals->_player, &_object2, &_object3, 0);
@@ -438,7 +437,7 @@ void Scene9200::postInit(SceneObjectList *OwnerList) {
setAction(&_sequenceManager, this, 9212, &_globals->_player, &_object2, &_object3, 0);
}
} else {
- if (_globals->_inventory._helmet._sceneNumber == 1) {
+ if (RING_INVENTORY._helmet._sceneNumber == 1) {
_sceneState = 9211;
setAction(&_sequenceManager, this, 9211, &_globals->_player, &_object2, &_object3, 0);
} else {
@@ -589,7 +588,7 @@ void Scene9350::postInit(SceneObjectList *OwnerList) {
setZoomPercents(95, 80, 200, 100);
_globals->_player.postInit();
- _object1.setup(9350, 1, 3, 139, 97, 0);
+ _object1.setup(9351, 1, 3, 139, 97, 0);
_sceneHotspot1.setup(42, 0, 97, 60, 9350, 0, -1);
_sceneHotspot2.setup(37, 205, 82, 256, 9350, 0, -1);
_sceneHotspot3.setup(29, 93, 92, 174, 9350, 1, -1);
@@ -602,22 +601,22 @@ void Scene9350::postInit(SceneObjectList *OwnerList) {
if (_globals->_sceneManager._previousScene == 9360) {
_globals->_player.disableControl();
_sceneState = 9352;
- setAction(&_sequenceManager, this, 9352, &_globals->_player, &_object2, 0);
+ setAction(&_sequenceManager, this, 9352, &_globals->_player, &_object2, NULL);
} else if (_globals->_sceneManager._previousScene == 9400) {
_globals->_player.disableControl();
_sceneState = 9353;
- setAction(&_sequenceManager, this, 9353, &_globals->_player, &_object2, 0);
+ setAction(&_sequenceManager, this, 9353, &_globals->_player, &_object2, NULL);
} else {
- if (!_globals->getFlag(84)) {
+ if (_globals->getFlag(84)) {
_globals->clearFlag(84);
_object2.postInit();
_globals->_player.disableControl();
_sceneState = 9359;
- setAction(&_sequenceManager, this, 9359, &_globals->_player, &_object2, 0);
+ setAction(&_sequenceManager, this, 9359, &_globals->_player, &_object2, NULL);
} else {
_globals->_player.disableControl();
_sceneState = 9354;
- setAction(&_sequenceManager, this, 9354, &_globals->_player, &_object2, 0);
+ setAction(&_sequenceManager, this, 9354, &_globals->_player, &_object2, NULL);
}
}
}
@@ -711,8 +710,9 @@ Scene9400::Scene9400() {
void Scene9400::SceneHotspot7::doAction(int action) {
Scene9400 *scene = (Scene9400 *)_globals->_sceneManager._scene;
- if ((action == CURSOR_USE) && (_globals->_inventory._straw._sceneNumber != 1)) {
+ if ((action == CURSOR_USE) && (RING_INVENTORY._straw._sceneNumber != 1)) {
scene->_sceneState = 1;
+ RING_INVENTORY._straw._sceneNumber = 1;
scene->setAction(&scene->_sequenceManager, scene, 9408, &_globals->_player, 0);
} else {
NamedHotspot::doAction(action);
@@ -785,7 +785,7 @@ void Scene9400::dispatch() {
void Scene9400::postInit(SceneObjectList *OwnerList) {
Scene::postInit();
- _sceneNumber = 9400;
+ _screenNumber = 9400;
setZoomPercents(0, 100, 200, 100);
_globals->_player.postInit();
_object1.postInit(0);
@@ -825,7 +825,7 @@ void Scene9400::postInit(SceneObjectList *OwnerList) {
void Scene9450::Object2::signal() {
Scene9450 *scene = (Scene9450 *)_globals->_sceneManager._scene;
- this->setAction(&scene->_sequenceManager3, this, 9458, &scene->_object1, 0);
+ this->setAction(&scene->_sequenceManager3, this, 9458, this, &scene->_object1, 0);
}
void Scene9450::Object3::dispatch() {
@@ -841,7 +841,7 @@ void Scene9450::Hotspot1::doAction(int action) {
scene->_object2._action->remove();
scene->_sceneMode = 9459;
_globals->_player.disableControl();
- setAction(&scene->_sequenceManager1, scene, 9459, &scene->_object2, &scene->_object1, &scene->_object3, &_globals->_player, 0);
+ scene->setAction(&scene->_sequenceManager1, scene, 9459, &scene->_object2, &scene->_object1, &scene->_object3, &_globals->_player, 0);
} else {
NamedHotspot::doAction(action);
}
@@ -869,13 +869,13 @@ void Scene9450::Hotspot3::doAction(int action) {
break;
case CURSOR_USE:
case CURSOR_TALK:
- if (_globals->_inventory._tunic._sceneNumber == 9450) {
+ if (RING_INVENTORY._tunic._sceneNumber == 9450) {
if (scene->_object2._action)
scene->_object2._action->remove();
scene->_sceneMode = 9459;
_globals->_player.disableControl();
setAction(&scene->_sequenceManager1, scene, 9459, &scene->_object2, &scene->_object1, &scene->_object3, &_globals->_player, 0);
- } else if ((_globals->_inventory._cloak._sceneNumber != 1) && (_globals->_inventory._jacket._sceneNumber != 1) && (_globals->_inventory._tunic2._sceneNumber != 1)) {
+ } else if ((RING_INVENTORY._cloak._sceneNumber != 1) && (RING_INVENTORY._jacket._sceneNumber != 1) && (RING_INVENTORY._tunic2._sceneNumber != 1)) {
SceneItem::display(9450, 38, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
} else {
scene->_sceneMode = 9460;
@@ -918,7 +918,9 @@ void Scene9450::signal() {
_globals->_sceneManager.changeScene(9360);
break;
case 9459:
+ RING_INVENTORY._tunic._sceneNumber = 1;
_object2.signal();
+ _globals->_player.enableControl();
_globals->_events.setCursor(CURSOR_WALK);
_hotspot1.remove();
break;
@@ -962,12 +964,12 @@ void Scene9450::postInit(SceneObjectList *OwnerList) {
setAction(&_sequenceManager1, this, 9451, &_globals->_player, 0);
if (_globals->getFlag(87)) {
- if (_globals->_inventory._tunic._sceneNumber == 1) {
+ if (RING_INVENTORY._tunic._sceneNumber == 1) {
_object2.signal();
} else {
_object2.setPosition(Common::Point(184, 144), 0);
_object2.setVisage(9451);
- _object2.setPriority2(250);
+ _object2.fixPriority(250);
_object2._strip = 5;
_object2._frame = 10;
}
@@ -977,7 +979,7 @@ void Scene9450::postInit(SceneObjectList *OwnerList) {
_object3.setAction(&_sequenceManager2, 0, 9455, &_object2, &_object1, 0);
}
- if (_globals->_inventory._tunic._sceneNumber != 1)
+ if (RING_INVENTORY._tunic._sceneNumber != 1)
_hotspot1.setup(123, 139, 138, 170, 9450, 37, -1);
_hotspot2.setup(153, 102, 176, 141, 9450, 39, 40);
@@ -1007,7 +1009,7 @@ void Scene9500::Hotspot1::doAction(int action) {
if (action == OBJECT_SWORD) {
scene->_sceneMode = 9510;
_globals->setFlag(92);
- _globals->_inventory._sword._sceneNumber = 9500;
+ RING_INVENTORY._sword._sceneNumber = 9500;
_globals->_player.disableControl();
_globals->_sceneItems.remove(this);
scene->_hotspot2.setup(87, 294, 104, 314, 9400, 17, -1);
@@ -1033,7 +1035,7 @@ void Scene9500::Hotspot2::doAction(int action) {
void Scene9500::Hotspot3::doAction(int action) {
Scene9500 *scene = (Scene9500 *)_globals->_sceneManager._scene;
- if ((action == CURSOR_USE) && (_globals->_inventory._candle._sceneNumber != 1)){
+ if ((action == CURSOR_USE) && (RING_INVENTORY._candle._sceneNumber != 1)){
scene->_sceneMode = 9505;
_globals->_player.disableControl();
_globals->_sceneItems.remove(this);
@@ -1048,12 +1050,12 @@ void Scene9500::Hotspot4::doAction(int action) {
if (action == OBJECT_CANDLE) {
_globals->_player.disableControl();
- if (_globals->_inventory._straw._sceneNumber == 9500) {
+ if (RING_INVENTORY._straw._sceneNumber == 9500) {
scene->_sceneMode = 9506;
_globals->_sceneItems.remove(&scene->_hotspot5);
_globals->_sceneItems.remove(this);
scene->setAction(&scene->_sequenceManager, scene, 9506, &_globals->_player, &scene->_object3, 0);
- _globals->_inventory._candle._sceneNumber = 9850;
+ RING_INVENTORY._candle._sceneNumber = 9850;
} else {
scene->_sceneMode = 9507;
scene->setAction(&scene->_sequenceManager, scene, 9507, &_globals->_player, &scene->_object3, 0);
@@ -1061,7 +1063,7 @@ void Scene9500::Hotspot4::doAction(int action) {
} else if (action == OBJECT_STRAW) {
scene->_sceneMode = 9512;
_globals->_player.disableControl();
- _globals->_inventory._straw._sceneNumber = 9500;
+ RING_INVENTORY._straw._sceneNumber = 9500;
scene->setAction(&scene->_sequenceManager, scene, 9512, &_globals->_player, &scene->_object3, 0);
} else {
NamedHotspot::doAction(action);
@@ -1079,6 +1081,7 @@ void Scene9500::signal() {
break;
case 9505:
_candle.setStrip(2);
+ RING_INVENTORY._candle._sceneNumber = 1;
_globals->_player.enableControl();
break;
case 9506:
@@ -1086,6 +1089,7 @@ void Scene9500::signal() {
_globals->_player.enableControl();
break;
case 9511:
+ RING_INVENTORY._helmet._sceneNumber = 1;
_globals->_player.enableControl();
if (!_globals->getFlag(51)) {
_globals->setFlag(51);
@@ -1135,14 +1139,14 @@ void Scene9500::postInit(SceneObjectList *OwnerList) {
_candle.setStrip(1);
_candle.animate(ANIM_MODE_2);
_candle.setPosition(Common::Point(30, 105), 0);
- if (_globals->_inventory._candle._sceneNumber != 9500)
+ if (RING_INVENTORY._candle._sceneNumber != 9500)
_candle.setStrip(2);
_object3.postInit(0);
_object3.hide();
- _object3.setPriority2(150);
+ _object3.fixPriority(150);
_object3.setPosition(Common::Point(166, 133));
- if (_globals->_inventory._straw._sceneNumber == 9500) {
+ if (RING_INVENTORY._straw._sceneNumber == 9500) {
_object3.show();
_object3.setVisage(5);
_object3._strip = 2;
@@ -1164,8 +1168,8 @@ void Scene9500::postInit(SceneObjectList *OwnerList) {
_object2.setStrip(1);
_object2.setFrame(_object2.getFrameCount());
_object2.setPosition(Common::Point(303, 130));
- _object2.setPriority2(132);
- if (_globals->_inventory._helmet._sceneNumber == 1) {
+ _object2.fixPriority(132);
+ if (RING_INVENTORY._helmet._sceneNumber == 1) {
_hotspot2.setup(87, 294, 104, 314, 9400, 17, -1);
} else {
_object2.setStrip(2);
@@ -1203,10 +1207,10 @@ void Scene9500::postInit(SceneObjectList *OwnerList) {
if ((_globals->_sceneManager._previousScene == 9200) || (_globals->_sceneManager._previousScene != 9850)) {
_sceneMode = 0;
- if (_globals->_inventory._helmet._sceneNumber != 1) {
+ if (RING_INVENTORY._helmet._sceneNumber != 1) {
setAction(&_sequenceManager, this, 9501, &_globals->_player, &_candle, 0);
} else {
- _globals->_inventory._helmet._sceneNumber = 9500;
+ RING_INVENTORY._helmet._sceneNumber = 9500;
_hotspot2.setup(87, 294, 104, 314, 9400, 17, -1);
setAction(&_sequenceManager, this, 9513, &_globals->_player, &_object2, 0);
}
@@ -1243,12 +1247,12 @@ void Scene9700::signal() {
}
void Scene9700::process(Event &event) {
- if ((event.eventType == EVENT_BUTTON_DOWN) && (event.kbd.keycode == 0)) {
+ if ((event.eventType == EVENT_BUTTON_DOWN) && !_action) {
if (_gfxButton1.process(event)) {
_globals->_sceneManager.changeScene(9200);
} else if (_globals->_events._currentCursor == OBJECT_SCANNER) {
event.handled = true;
- if (_globals->_inventory._helmet._sceneNumber == 1) {
+ if (RING_INVENTORY._helmet._sceneNumber == 1) {
_globals->_player.disableControl();
_sceneMode = 9704;
setAction(&_sequenceManager, this, 9704, &_globals->_player, &_object1, 0);
@@ -1332,7 +1336,7 @@ void Scene9850::Object6::doAction(int action) {
if (action == CURSOR_LOOK) {
SceneItem::display(9850, 27, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
} else if (action == CURSOR_USE) {
- _globals->_inventory._scimitar._sceneNumber = 1;
+ RING_INVENTORY._scimitar._sceneNumber = 1;
hide();
} else {
SceneHotspot::doAction(action);
@@ -1344,7 +1348,7 @@ void Scene9850::Object7::doAction(int action) {
if (action == CURSOR_LOOK) {
SceneItem::display(9850, 28, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
} else if (action == CURSOR_USE) {
- _globals->_inventory._sword._sceneNumber = 1;
+ RING_INVENTORY._sword._sceneNumber = 1;
hide();
} else {
SceneHotspot::doAction(action);
@@ -1357,18 +1361,18 @@ void Scene9850::Hotspot12::doAction(int action) {
Scene9850 *scene = (Scene9850 *)_globals->_sceneManager._scene;
if (action == CURSOR_USE) {
- if (_globals->_inventory._tunic2._sceneNumber != 1) {
- _globals->_inventory._tunic2._sceneNumber = 1;
+ if (RING_INVENTORY._tunic2._sceneNumber != 1) {
+ RING_INVENTORY._tunic2._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 9858;
setAction(&scene->_sequenceManager, scene, 9858, &_globals->_player, &scene->_objTunic2, 0);
} else {
- _globals->_inventory._tunic2._sceneNumber = 9850;
+ RING_INVENTORY._tunic2._sceneNumber = 9850;
_globals->_player.disableControl();
scene->_sceneMode = 9861;
setAction(&scene->_sequenceManager, scene, 9861, &_globals->_player, &scene->_objTunic2, 0);
}
- } else if ((action != CURSOR_LOOK) || (_globals->_inventory._tunic2._sceneNumber != 1)) {
+ } else if ((action != CURSOR_LOOK) || (RING_INVENTORY._tunic2._sceneNumber != 1)) {
NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
@@ -1379,18 +1383,18 @@ void Scene9850::Hotspot14::doAction(int action) {
Scene9850 *scene = (Scene9850 *)_globals->_sceneManager._scene;
if (action == CURSOR_USE) {
- if (_globals->_inventory._jacket._sceneNumber != 1) {
- _globals->_inventory._jacket._sceneNumber = 1;
+ if (RING_INVENTORY._jacket._sceneNumber != 1) {
+ RING_INVENTORY._jacket._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 9857;
setAction(&scene->_sequenceManager, scene, 9857, &_globals->_player, &scene->_objJacket, 0);
} else {
- _globals->_inventory._jacket._sceneNumber = 9850;
+ RING_INVENTORY._jacket._sceneNumber = 9850;
_globals->_player.disableControl();
scene->_sceneMode = 9860;
setAction(&scene->_sequenceManager, scene, 9860, &_globals->_player, &scene->_objJacket, 0);
}
- } else if ((action != CURSOR_LOOK) || (_globals->_inventory._jacket._sceneNumber != 1)) {
+ } else if ((action != CURSOR_LOOK) || (RING_INVENTORY._jacket._sceneNumber != 1)) {
NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
@@ -1401,18 +1405,18 @@ void Scene9850::Hotspot16::doAction(int action) {
Scene9850 *scene = (Scene9850 *)_globals->_sceneManager._scene;
if (action == CURSOR_USE) {
- if (_globals->_inventory._cloak._sceneNumber != 1) {
- _globals->_inventory._cloak._sceneNumber = 1;
+ if (RING_INVENTORY._cloak._sceneNumber != 1) {
+ RING_INVENTORY._cloak._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 9862;
setAction(&scene->_sequenceManager, scene, 9862, &_globals->_player, &scene->_objCloak, 0);
} else {
- _globals->_inventory._cloak._sceneNumber = 9850;
+ RING_INVENTORY._cloak._sceneNumber = 9850;
_globals->_player.disableControl();
scene->_sceneMode = 9859;
setAction(&scene->_sequenceManager, scene, 9859, &_globals->_player, &scene->_objCloak, 0);
}
- } else if ((action != CURSOR_LOOK) || (_globals->_inventory._cloak._sceneNumber != 1)) {
+ } else if ((action != CURSOR_LOOK) || (RING_INVENTORY._cloak._sceneNumber != 1)) {
NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
@@ -1462,9 +1466,9 @@ void Scene9850::Hotspot20::doAction(int action) {
if (action == CURSOR_USE) {
_globals->_player.disableControl();
if (scene->_objSword._state == 0) {
- if (_globals->_inventory._scimitar._sceneNumber == 9850)
+ if (RING_INVENTORY._scimitar._sceneNumber == 9850)
scene->_objScimitar.show();
- if (_globals->_inventory._sword._sceneNumber == 9850)
+ if (RING_INVENTORY._sword._sceneNumber == 9850)
scene->_objSword.show();
scene->_sceneMode = 11;
setAction(&scene->_sequenceManager, scene, 9853, &_globals->_player, &scene->_objDoor, &scene->_objLever, 0);
@@ -1482,9 +1486,9 @@ void Scene9850::signal() {
switch (_sceneMode ++) {
case 10:
// Hidden closet closed
- if (_globals->_inventory._scimitar._sceneNumber == 9850)
+ if (RING_INVENTORY._scimitar._sceneNumber == 9850)
_objScimitar.hide();
- if (_globals->_inventory._sword._sceneNumber == 9850)
+ if (RING_INVENTORY._sword._sceneNumber == 9850)
_objSword.hide();
_globals->_sceneItems.remove(&_objScimitar);
_globals->_sceneItems.remove(&_objSword);
@@ -1493,9 +1497,9 @@ void Scene9850::signal() {
break;
case 11:
// Hidden closet opened
- if (_globals->_inventory._scimitar._sceneNumber == 9850)
+ if (RING_INVENTORY._scimitar._sceneNumber == 9850)
_globals->_sceneItems.addItems(&_objScimitar, NULL);
- if (_globals->_inventory._sword._sceneNumber == 9850)
+ if (RING_INVENTORY._sword._sceneNumber == 9850)
_globals->_sceneItems.addItems(&_objSword, NULL);
_globals->_sceneItems.remove(&_hotspot19);
_globals->_player.enableControl();
@@ -1545,7 +1549,7 @@ void Scene9850::postInit(SceneObjectList *OwnerList) {
_objDoor.setStrip(1);
_objDoor.setFrame(1);
_objDoor.setPosition(Common::Point(28, 118), 0);
- _objDoor.setPriority2(90);
+ _objDoor.fixPriority(90);
_objLever.postInit();
_objLever.setVisage(9850);
@@ -1557,46 +1561,46 @@ void Scene9850::postInit(SceneObjectList *OwnerList) {
_objCloak.setVisage(9850);
_objCloak.setStrip(5);
_objCloak.setFrame(1);
- _objCloak.setPriority2(90);
+ _objCloak.fixPriority(90);
_objCloak.setPosition(Common::Point(157, 81), 0);
- if (_globals->_inventory._cloak._sceneNumber != 9850)
+ if (RING_INVENTORY._cloak._sceneNumber != 9850)
_objCloak.hide();
_objJacket.postInit();
_objJacket.setVisage(9850);
_objJacket.setStrip(5);
_objJacket.setFrame(2);
- _objJacket.setPriority2(90);
+ _objJacket.fixPriority(90);
_objJacket.setPosition(Common::Point(201, 84));
- if (_globals->_inventory._jacket._sceneNumber != 9850)
+ if (RING_INVENTORY._jacket._sceneNumber != 9850)
_objJacket.hide();
_objTunic2.postInit();
_objTunic2.setVisage(9850);
_objTunic2.setStrip(5);
_objTunic2.setFrame(3);
- _objTunic2.setPriority2(90);
+ _objTunic2.fixPriority(90);
_objTunic2.setPosition(Common::Point(295, 90));
- if (_globals->_inventory._tunic2._sceneNumber != 9850)
+ if (RING_INVENTORY._tunic2._sceneNumber != 9850)
_objTunic2.hide();
- if (_globals->_inventory._scimitar._sceneNumber == 9850) {
+ if (RING_INVENTORY._scimitar._sceneNumber == 9850) {
_objScimitar.postInit();
_objScimitar.setVisage(9850);
_objScimitar.setStrip(2);
_objScimitar.setFrame(1);
_objScimitar.setPosition(Common::Point(55, 83), 0);
- _objScimitar.setPriority2(80);
+ _objScimitar.fixPriority(80);
_objScimitar.hide();
}
- if (_globals->_inventory._sword._sceneNumber == 9850) {
+ if (RING_INVENTORY._sword._sceneNumber == 9850) {
_objSword.postInit();
_objSword.setVisage(9850);
_objSword.setStrip(3);
_objSword.setFrame(1);
_objSword.setPosition(Common::Point(56, 101), 0);
- _objSword.setPriority2(80);
+ _objSword.fixPriority(80);
_objSword.hide();
}
@@ -1684,7 +1688,7 @@ void Scene9900::strAction2::signal() {
_var3 = 0;
// No break on purpose
case 1: {
- Common::String msg = _vm->_dataManager->getMessage(8030, _lineNum++);
+ Common::String msg = _resourceManager->getMessage(8030, _lineNum++);
if (!msg.compareTo("LASTCREDIT")) {
if (_var3 == 0) {
// Not used?
@@ -1706,9 +1710,9 @@ void Scene9900::strAction2::signal() {
_txtArray1[_txtArray1Index]._fontNumber = 2;
_txtArray1[_txtArray1Index]._color1 = 7;
_txtArray1[_txtArray1Index].setup(msg);
- _txtArray1[_txtArray1Index]._field7A = 20;
+ _txtArray1[_txtArray1Index]._moveRate = 20;
_txtArray1[_txtArray1Index]._moveDiff.y = 2;
- _txtArray1[_txtArray1Index].setPriority2(255);
+ _txtArray1[_txtArray1Index].fixPriority(255);
int frameWidth = _txtArray1[_txtArray1Index].getFrame().getBounds().width();
int frameHeight = _txtArray1[_txtArray1Index].getFrame().getBounds().height();
_txtArray1[_txtArray1Index].setPosition(Common::Point((320 - frameWidth) / 2, 200));
@@ -1721,11 +1725,11 @@ void Scene9900::strAction2::signal() {
_txtArray2[_txtArray1Index]._fontNumber = 2;
_txtArray2[_txtArray1Index]._color1 = 23;
- msg = _vm->_dataManager->getMessage(8030, _lineNum++);
+ msg = _resourceManager->getMessage(8030, _lineNum++);
_txtArray2[_txtArray1Index].setup(msg);
- _txtArray2[_txtArray1Index]._field7A = 20;
+ _txtArray2[_txtArray1Index]._moveRate = 20;
_txtArray2[_txtArray1Index]._moveDiff.y = 2;
- _txtArray2[_txtArray1Index].setPriority2(255);
+ _txtArray2[_txtArray1Index].fixPriority(255);
frameWidth = _txtArray2[_txtArray1Index].getFrame().getBounds().width();
_txtArray2[_txtArray1Index].setPosition(Common::Point((320 - frameWidth) / 2, 200 + frameHeight));
} else {
@@ -1789,7 +1793,7 @@ void Scene9900::strAction3::signal() {
_globals->_scenePalette.addFader(_palette2._palette, 256, 5, this);
break;
case 4:
- _globals->_game.endGame(9900, 61);
+ _globals->_game->endGame(9900, 61);
remove();
default:
break;
@@ -1834,7 +1838,7 @@ void Scene9900::signal() {
_object8.setVisage(2002);
_object8.setStrip(1);
_object8.setFrame(1);
- _object8.setPriority2(200);
+ _object8.fixPriority(200);
_object8.setPosition(Common::Point(64, 199));
_globals->_player.disableControl();
_sceneMode = 9908;
@@ -1842,7 +1846,7 @@ void Scene9900::signal() {
break;
case 162:
warning("TBC: shutdown();");
- _globals->_game.quitGame();
+ _globals->_game->quitGame();
break;
case 9901:
_globals->_player.disableControl();
@@ -1933,7 +1937,7 @@ void Scene9900::process(Event &event) {
if (_sceneMode != 9906) {
if ((event.eventType == EVENT_BUTTON_DOWN) && (_globals->_events.getCursor() == OBJECT_ITEMS)) {
_object8._state = 1;
- _globals->_inventory._items._sceneNumber = 9900;
+ RING_INVENTORY._items._sceneNumber = 9900;
_globals->_events.setCursor(CURSOR_USE);
}
}
@@ -1960,10 +1964,10 @@ void Scene9900::postInit(SceneObjectList *OwnerList) {
_object8._state = 0;
- _globals->_inventory._concentrator._sceneNumber = 9900;
- _globals->_inventory._items._rlbNum = 3;
- _globals->_inventory._items._cursorNum = 6;
- _globals->_inventory._items._description = Common::String("One of the items from the stasis ship. The other is on the Lance's bridge.");
+ RING_INVENTORY._concentrator._sceneNumber = 9900;
+ RING_INVENTORY._items._rlbNum = 3;
+ RING_INVENTORY._items._cursorNum = 6;
+ RING_INVENTORY._items._description = Common::String("One of the items from the stasis ship. The other is on the Lance's bridge.");
_stripManager.addSpeaker(&_speakerMR);
_globals->_player.disableControl();
@@ -2021,7 +2025,7 @@ void Scene9999::postInit(SceneObjectList *OwnerList) {
_globals->_player.postInit();
_globals->_player.setVisage(1303);
_globals->_player.setStrip2(1);
- _globals->_player.setPriority2(250);
+ _globals->_player.fixPriority(250);
_globals->_player.animate(ANIM_MODE_2, 0);
_globals->_player.setPosition(Common::Point(194, 98), 0);
_globals->_player._numFrames = 20;
@@ -2030,13 +2034,13 @@ void Scene9999::postInit(SceneObjectList *OwnerList) {
_object2.postInit();
_object2.setVisage(1303);
_object2.setStrip2(2);
- _object2.setPriority2(2);
+ _object2.fixPriority(2);
_object2.setPosition(Common::Point(164, 149), 0);
_object3.postInit();
_object3.setVisage(1303);
_object3.setStrip2(2);
- _object3.setPriority2(2);
+ _object3.fixPriority(2);
_object3.setFrame(2);
_object3.setPosition(Common::Point(292, 149), 0);
_object3.setAction(&_action3);
diff --git a/engines/tsage/ringworld_scenes2.cpp b/engines/tsage/ringworld_scenes2.cpp
index 1fc45d323d..6a8db81adf 100644
--- a/engines/tsage/ringworld_scenes2.cpp
+++ b/engines/tsage/ringworld_scenes2.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/config-manager.h"
#include "tsage/ringworld_scenes2.h"
#include "tsage/scenes.h"
#include "tsage/tsage.h"
@@ -112,28 +113,25 @@ void Scene1000::Action3::signal() {
setDelay(240);
break;
case 5: {
- // Intro.txt file presence is used to allow user option to skip the introduction
- _globals->_player.enableControl();
- Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading("Intro.txt");
- if (!in) {
- // File not present, so create it
- Common::OutSaveFile *out = g_system->getSavefileManager()->openForSaving("Intro.txt");
- out->finalize();
- delete out;
+ const char *SEEN_INTRO = "seen_intro";
+ if (!ConfMan.hasKey(SEEN_INTRO) || !ConfMan.getBool(SEEN_INTRO)) {
+ // First time being played, so show the introduction
+ ConfMan.setBool(SEEN_INTRO, true);
+ ConfMan.flushToDisk();
setDelay(1);
} else {
- delete in;
-
// Prompt user for whether to start play or watch introduction
+ _globals->_player.enableControl();
+
if (MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING) == 0) {
_actionIndex = 20;
_globals->_soundHandler.proc1(this);
} else {
setDelay(1);
}
-
- _globals->_player.disableControl();
}
+
+ _globals->_player.disableControl();
break;
}
case 6: {
@@ -439,7 +437,7 @@ void Scene1001::Action1::signal() {
scene->_object6.setStrip2(6);
scene->_object6.setFrame2(2);
scene->_object6._moveDiff = Common::Point(20, 20);
- scene->_object6.setPriority2(20);
+ scene->_object6.fixPriority(20);
scene->_object6.setPosition(Common::Point(scene->_object2._position.x - 6, scene->_object2._position.y + 7));
scene->_object6.animate(ANIM_MODE_5, NULL);
@@ -458,7 +456,7 @@ void Scene1001::Action1::signal() {
scene->_object7.setFrame2(1);
scene->_object7._moveDiff = Common::Point(20, 20);
scene->_object7.setPosition(Common::Point(scene->_object3._position.x - 28, scene->_object3._position.y - 11));
- scene->_object7.setPriority2(200);
+ scene->_object7.fixPriority(200);
scene->_object7.animate(ANIM_MODE_5, NULL);
Common::Point pt(scene->_object7._position.x - 70, scene->_object7._position.y - 70);
@@ -473,7 +471,7 @@ void Scene1001::Action1::signal() {
scene->_object5.setVisage(16);
scene->_object5.setPosition(Common::Point(306, 93));
scene->_object5._strip = 3;
- scene->_object5.setPriority2(200);
+ scene->_object5.fixPriority(200);
scene->_object5.animate(ANIM_MODE_2, NULL);
setDelay(30);
break;
@@ -638,7 +636,7 @@ void Scene1250::postInit(SceneObjectList *OwnerList) {
_object2.setVisage(1250);
_object2.setPosition(Common::Point(126, 69));
_object2.setStrip2(2);
- _object2.setPriority2(255);
+ _object2.fixPriority(255);
_object2._frame = 1;
_object2.setAction(&_action2);
@@ -771,7 +769,7 @@ void Scene1400::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(1401);
_globals->_player.animate(ANIM_MODE_2, 0);
_globals->_player.setStrip2(4);
- _globals->_player.setPriority2(4);
+ _globals->_player.fixPriority(4);
_globals->_player.disableControl();
_globals->_player._moveDiff = Common::Point(4, 2);
@@ -874,7 +872,7 @@ void Scene1500::Action2::signal() {
case 1: {
scene->_object2.postInit();
scene->_object2.setVisage(1502);
- scene->_object2.setPriority2(255);
+ scene->_object2.fixPriority(255);
scene->_object2.changeZoom(5);
scene->_object2._frame = 1;
scene->_object2._moveDiff = Common::Point(1, 1);
@@ -897,7 +895,7 @@ void Scene1500::Action2::signal() {
case 3:
scene->_soundHandler.proc4();
_globals->_stripNum = 1505;
- _globals->_sceneManager.changeScene(1505);
+ _globals->_sceneManager.changeScene(2400);
break;
}
}
diff --git a/engines/tsage/ringworld_scenes3.cpp b/engines/tsage/ringworld_scenes3.cpp
index 0cf299c2de..13dfc1a40b 100644
--- a/engines/tsage/ringworld_scenes3.cpp
+++ b/engines/tsage/ringworld_scenes3.cpp
@@ -405,7 +405,7 @@ void Scene2000::postInit(SceneObjectList *OwnerList) {
_object9.setStrip2(3);
_object9.setFrame(4);
_object9.setPosition(Common::Point(136, 86));
- _object9.setPriority2(190);
+ _object9.fixPriority(190);
_object9.hide();
_object10.postInit();
@@ -413,7 +413,7 @@ void Scene2000::postInit(SceneObjectList *OwnerList) {
_object10.setStrip2(5);
_object10.setFrame(4);
_object10.setPosition(Common::Point(202, 86));
- _object10.setPriority2(195);
+ _object10.fixPriority(195);
_object10.hide();
switch (_globals->_sceneManager._previousScene) {
@@ -519,7 +519,7 @@ void Scene2100::Action1::signal() {
setDelay(3);
break;
case 5:
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
scene->_area1.display();
scene->_area2.display();
scene->_area3.display();
@@ -578,7 +578,7 @@ void Scene2100::Action1::signal() {
}
break;
case 7:
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
scene->_soundHandler.startSound(162);
scene->_object1.animate(ANIM_MODE_6, this);
break;
@@ -684,6 +684,7 @@ void Scene2100::Action5::signal() {
}
void Scene2100::Action6::signal() {
+ // Seeker stands up and walks to the elevator
Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -699,14 +700,14 @@ void Scene2100::Action6::signal() {
Common::Point pt(130, 116);
NpcMover *mover = new NpcMover();
- scene->_object2.addMover(mover, &pt, NULL);
+ scene->_object2.addMover(mover, &pt, this);
break;
}
case 1: {
- scene->_object2.setPriority2(-1);
+ scene->_object2.fixPriority(-1);
Common::Point pt(153, 67);
NpcMover *mover = new NpcMover();
- scene->_object2.addMover(mover, &pt, NULL);
+ scene->_object2.addMover(mover, &pt, this);
break;
}
case 2:
@@ -752,10 +753,10 @@ void Scene2100::Action8::signal() {
}
case 3:
_globals->_player.checkAngle(&scene->_object3);
- scene->_stripManager.start((_globals->_inventory._translator._sceneNumber == 1) ? 7720 : 7710, this);
+ scene->_stripManager.start((RING_INVENTORY._translator._sceneNumber == 1) ? 7720 : 7710, this);
break;
case 4:
- if (_globals->_inventory._translator._sceneNumber != 1)
+ if (RING_INVENTORY._translator._sceneNumber != 1)
_globals->_sceneManager.changeScene(7600);
else {
_globals->setFlag(24);
@@ -835,7 +836,7 @@ void Scene2100::Action10::signal() {
scene->_object3.setVisage(2705);
scene->_object3.setStrip2(-1);
scene->_object3.changeZoom(-1);
- scene->_object3.setPriority2(-1);
+ scene->_object3.fixPriority(-1);
scene->_object3.setPosition(Common::Point(260, 156));
scene->_object3.setObjectWrapper(new SceneObjectWrapper());
scene->_object3.animate(ANIM_MODE_1, NULL);
@@ -852,30 +853,30 @@ void Scene2100::Action10::signal() {
scene->_object1.animate(ANIM_MODE_5, this);
break;
case 6: {
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
Common::Point pt(144, 54);
NpcMover *mover = new NpcMover();
_globals->_player.addMover(mover, &pt, this);
break;
}
case 7: {
- scene->_object3.setPriority2(2);
+ scene->_object3.fixPriority(2);
Common::Point pt1(163, 55);
NpcMover *mover1 = new NpcMover();
scene->_object3.addMover(mover1, &pt1, NULL);
- scene->_object2.setPriority2(2);
+ scene->_object2.fixPriority(2);
Common::Point pt2(158, 55);
NpcMover *mover2 = new NpcMover();
scene->_object2.addMover(mover2, &pt2, this);
break;
}
case 8:
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setStrip(1);
- scene->_object3.setPriority2(1);
+ scene->_object3.fixPriority(1);
scene->_object3.setStrip(2);
- scene->_object2.setPriority2(2);
+ scene->_object2.fixPriority(2);
scene->_object2.setStrip(3);
setDelay(45);
@@ -893,6 +894,7 @@ void Scene2100::Action10::signal() {
}
void Scene2100::Action11::signal() {
+ // Miranda stands up and walks to the elevator
Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -911,7 +913,7 @@ void Scene2100::Action11::signal() {
scene->_object3.setVisage(2705);
scene->_object3.setStrip2(-1);
scene->_object3.changeZoom(-1);
- scene->_object3.setPriority2(-1);
+ scene->_object3.fixPriority(-1);
scene->_object3.setPosition(Common::Point(260, 156));
scene->_object3.setObjectWrapper(new SceneObjectWrapper());
scene->_object3.animate(ANIM_MODE_1, NULL);
@@ -928,12 +930,12 @@ void Scene2100::Action11::signal() {
scene->_object1.animate(ANIM_MODE_5, this);
break;
case 4: {
- scene->_object3.setPriority2(1);
+ scene->_object3.fixPriority(1);
Common::Point pt1(163, 55);
NpcMover *mover1 = new NpcMover();
scene->_object3.addMover(mover1, &pt1, NULL);
- scene->_object2.setPriority2(1);
+ scene->_object2.fixPriority(1);
Common::Point pt2(158, 55);
NpcMover *mover2 = new NpcMover();
scene->_object2.addMover(mover2, &pt2, this);
@@ -987,12 +989,12 @@ void Scene2100::Action12::signal() {
scene->_soundHandler.startSound(162);
scene->_object1.animate(ANIM_MODE_6, NULL);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
Common::Point pt1(277, 84);
PlayerMover *mover1 = new PlayerMover();
_globals->_player.addMover(mover1, &pt1, this);
- scene->_object2.setPriority2(-1);
+ scene->_object2.fixPriority(-1);
Common::Point pt2(255, 76);
PlayerMover *mover2 = new PlayerMover();
scene->_object2.addMover(mover2, &pt2, this);
@@ -1020,6 +1022,8 @@ void Scene2100::Action12::signal() {
case 10:
if (_globals->getFlag(74))
setDelay(1);
+ else
+ setAction(&scene->_sequenceManager, this, 2101, &_globals->_player, NULL);
break;
case 11:
scene->_stripManager.start(2170, this);
@@ -1050,7 +1054,7 @@ void Scene2100::Action13::signal() {
setDelay(6);
break;
case 1: {
- scene->_object2.setPriority2(113);
+ scene->_object2.fixPriority(113);
Common::Point pt(178, 116);
PlayerMover *mover = new PlayerMover();
scene->_object2.addMover(mover, &pt, this);
@@ -1123,7 +1127,7 @@ void Scene2100::Action14::signal() {
scene->_object3.setVisage(2705);
scene->_object3.setStrip2(-1);
scene->_object3.changeZoom(-1);
- scene->_object3.setPriority2(-1);
+ scene->_object3.fixPriority(-1);
scene->_object3.setPosition(Common::Point(260, 156));
scene->_object3.setObjectWrapper(new SceneObjectWrapper());
scene->_object3.animate(ANIM_MODE_1, NULL);
@@ -1147,7 +1151,7 @@ void Scene2100::Action14::signal() {
scene->_object3.setStrip(2);
setDelay(30);
case 13:
- scene->_object3.setPriority2(1);
+ scene->_object3.fixPriority(1);
scene->_soundHandler.startSound(162);
scene->_object1.animate(ANIM_MODE_6, this);
break;
@@ -1174,14 +1178,14 @@ void Scene2100::Action15::signal() {
scene->_object3.animate(ANIM_MODE_1, NULL);
scene->_object3.setObjectWrapper(new SceneObjectWrapper());
scene->_object3.setPosition(Common::Point(157, 56));
- scene->_object3.setPriority2(1);
+ scene->_object3.fixPriority(1);
scene->_object3.changeZoom(-1);
scene->_soundHandler.startSound(162);
scene->_object1.animate(ANIM_MODE_5, this);
break;
case 2: {
- scene->_object3.setPriority2(-1);
+ scene->_object3.fixPriority(-1);
Common::Point pt(177, 68);
NpcMover *mover = new NpcMover();
scene->_object3.addMover(mover, &pt, this);
@@ -1203,7 +1207,7 @@ void Scene2100::Action15::signal() {
break;
}
case 5: {
- scene->_object3.setPriority2(156);
+ scene->_object3.fixPriority(156);
Common::Point pt(260, 156);
NpcMover *mover = new NpcMover();
@@ -1258,7 +1262,7 @@ void Scene2100::Action16::signal() {
break;
}
case 7:
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setStrip(3);
setDelay(45);
break;
@@ -1311,7 +1315,7 @@ void Scene2100::Action17::signal() {
scene->_stripManager.start(7072, this);
break;
case 8:
- _globals->_inventory._stasisNegator._sceneNumber = 1;
+ RING_INVENTORY._stasisNegator._sceneNumber = 1;
_globals->_sceneManager.changeScene(9100);
remove();
break;
@@ -1342,6 +1346,7 @@ void Scene2100::Hotspot2::doAction(int action) {
}
void Scene2100::Hotspot3::doAction(int action) {
+ // Computer, on the left
Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1442,6 +1447,7 @@ void Scene2100::Hotspot14::doAction(int action) {
}
void Scene2100::Object1::doAction(int action) {
+ // Elevator
Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1555,7 +1561,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_object1.setVisage(2100);
_object1.animate(ANIM_MODE_NONE, NULL);
_object1.setPosition(Common::Point(157, 57));
- _object1.setPriority(5);
+ _object1.fixPriority(5);
_hotspot3.postInit();
_hotspot3.setVisage(2101);
@@ -1563,7 +1569,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_hotspot3.animate(ANIM_MODE_2, NULL);
_hotspot3.setPosition(Common::Point(53, 44));
_hotspot3.changeZoom(100);
- _hotspot3.setPriority2(1);
+ _hotspot3.fixPriority(1);
_hotspot4.postInit();
_hotspot4.setVisage(2101);
@@ -1572,7 +1578,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_hotspot4.animate(ANIM_MODE_8, 0, NULL);
_hotspot4.setPosition(Common::Point(274, 52));
_hotspot4.changeZoom(100);
- _hotspot4.setPriority2(1);
+ _hotspot4.fixPriority(1);
_hotspot5.postInit();
_hotspot5.setVisage(2101);
@@ -1581,13 +1587,13 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_hotspot5.animate(ANIM_MODE_8, 0, NULL);
_hotspot5.setPosition(Common::Point(219, 141));
_hotspot5.changeZoom(100);
- _hotspot5.setPriority2(160);
+ _hotspot5.fixPriority(160);
_hotspot6.postInit();
_hotspot6.setVisage(2101);
_hotspot6._frame = 1;
_hotspot6._strip = 5;
- _hotspot6.setPriority2(175);
+ _hotspot6.fixPriority(175);
_hotspot6.animate(ANIM_MODE_8, 0, NULL);
_hotspot6.setPosition(Common::Point(97, 142));
_hotspot6.changeZoom(100);
@@ -1599,7 +1605,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_hotspot7.animate(ANIM_MODE_NONE, NULL);
_hotspot7.setPosition(Common::Point(133, 46));
_hotspot7.changeZoom(100);
- _hotspot7.setPriority2(1);
+ _hotspot7.fixPriority(1);
_hotspot8.postInit();
_hotspot8.setVisage(2101);
@@ -1608,16 +1614,16 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_hotspot8.animate(ANIM_MODE_8, 0, NULL);
_hotspot8.setPosition(Common::Point(20, 45));
_hotspot8.changeZoom(100);
- _hotspot8.setPriority2(1);
+ _hotspot8.fixPriority(1);
_hotspot2.postInit();
_hotspot2.setVisage(2101);
_hotspot2._frame = 1;
- _hotspot2._strip = 7;
+ _hotspot2._strip = 8;
_hotspot2.animate(ANIM_MODE_8, 0, NULL);
_hotspot2.setPosition(Common::Point(88, 41));
_hotspot2.changeZoom(100);
- _hotspot2.setPriority2(1);
+ _hotspot2.fixPriority(1);
_hotspot11.setBounds(Rect(139, 74, 173, 96));
_hotspot10.setBounds(Rect(71, 100, 91, 135));
@@ -1633,7 +1639,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_object3.setPosition(Common::Point(246, 156));
_object3.animate(ANIM_MODE_NONE, NULL);
_object3.changeZoom(100);
- _object3.setPriority2(156);
+ _object3.fixPriority(156);
_object3.setVisage(2107);
_object3.setStrip(1);
_object3.setAction(&_action2);
@@ -1647,7 +1653,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_object2.setPosition(Common::Point(150, 100));
_object2.animate(ANIM_MODE_NONE, NULL);
_object2.changeZoom(100);
- _object2.setPriority2(113);
+ _object2.fixPriority(113);
_object2.setAction(&_action3);
_globals->_sceneItems.push_back(&_object2);
}
@@ -1666,7 +1672,14 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_area4._pt = Common::Point(237, 77);
_globals->_player.postInit();
- _globals->_player.setVisage(_globals->getFlag(13) ? 2170 : 0);
+ if (_globals->getFlag(13)) {
+ _globals->_player.setVisage(2170);
+ _globals->_player._moveDiff.y = 1;
+ } else {
+ _globals->_player.setVisage(0);
+ _globals->_player._moveDiff.y = 3;
+ }
+
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player._moveDiff.x = 4;
@@ -1678,13 +1691,13 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
case 2120:
_globals->_soundHandler.startSound(160);
_globals->_soundHandler.proc5(true);
- _object1.setPriority2(-1);
- _globals->_player.setPriority2(-1);
+ _object1.fixPriority(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setPosition(Common::Point(80, 66));
_globals->_player.enableControl();
break;
case 2150:
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(157, 56));
_sceneMode = 2104;
setAction(&_sequenceManager, this, 2104, &_globals->_player, &_object1, NULL);
@@ -1693,13 +1706,13 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
if (_globals->_sceneObjects->contains(&_object3))
_object3.remove();
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(144, 55));
_object2.setVisage(2806);
_object2.changeZoom(-1);
_object2.setPosition(Common::Point(158, 55));
- _object2.setPriority2(1);
+ _object2.fixPriority(1);
_object2.setAction(NULL);
_object2.setObjectWrapper(new SceneObjectWrapper());
_object2.animate(ANIM_MODE_1, NULL);
@@ -1711,7 +1724,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
if (_globals->_sceneObjects->contains(&_object3))
_object3.remove();
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(144, 55));
_object2.postInit();
@@ -1719,7 +1732,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_object2.setStrip(1);
_object2.changeZoom(-1);
_object2.setPosition(Common::Point(158, 55));
- _object2.setPriority2(1);
+ _object2.fixPriority(1);
_object2.setAction(NULL);
_object2.setObjectWrapper(new SceneObjectWrapper());
_object2.animate(ANIM_MODE_1, NULL);
@@ -1727,7 +1740,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
setAction(&_action12);
} else if (_globals->_stripNum == 6100) {
_globals->_player.setPosition(Common::Point(157, 56));
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_object4.postInit();
_object4.setVisage(2102);
@@ -1754,11 +1767,11 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player._angle = 225;
_globals->_player.setStrip(6);
_globals->_player.setFrame(1);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setPosition(Common::Point(272, 127));
_object3.setPosition(Common::Point(246, 156));
- _object3.setPriority2(156);
+ _object3.fixPriority(156);
_sceneMode = 2105;
setAction(&_sequenceManager, this, 2105, &_object3, NULL);
break;
@@ -1770,7 +1783,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2104);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(65, 149));
- _globals->_player.setPriority2(152);
+ _globals->_player.fixPriority(152);
_globals->_player.setStrip(2);
_object4.postInit();
@@ -1790,11 +1803,11 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setStrip(3);
_globals->_player.setFrame(1);
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(157, 56));
_object3.setPosition(Common::Point(246, 156));
- _object3.setPriority2(156);
+ _object3.fixPriority(156);
setAction(&_action5);
break;
@@ -1804,7 +1817,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2104);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(65, 149));
- _globals->_player.setPriority2(152);
+ _globals->_player.fixPriority(152);
_globals->_player.setStrip(2);
_field1800 = 1;
@@ -1814,15 +1827,15 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_object4.setPosition(Common::Point(160, 199));
_object4.hide();
- _globals->_inventory._stasisBox._sceneNumber = 0;
+ RING_INVENTORY._stasisBox._sceneNumber = 0;
setAction(&_action9);
break;
case 7000:
_globals->_soundHandler.startSound(160);
_globals->_soundHandler.proc5(true);
- if (_globals->_inventory._stasisBox2._sceneNumber == 1) {
- _globals->_player.setPriority2(1);
+ if (RING_INVENTORY._stasisBox2._sceneNumber == 1) {
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(157, 56));
_object4.postInit();
@@ -1838,7 +1851,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2104);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(65, 149));
- _globals->_player.setPriority2(152);
+ _globals->_player.fixPriority(152);
_globals->_player.setStrip(2);
_field1800 = 1;
@@ -1852,7 +1865,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
if (_globals->_sceneObjects->contains(&_object2))
_object2.remove();
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
_globals->_player.setPosition(Common::Point(157, 56));
setAction(&_action8);
@@ -1864,7 +1877,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2104);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(65, 149));
- _globals->_player.setPriority2(152);
+ _globals->_player.fixPriority(152);
_globals->_player.setStrip(2);
_sceneMode = 2106;
@@ -1877,7 +1890,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2104);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(65, 149));
- _globals->_player.setPriority2(152);
+ _globals->_player.fixPriority(152);
_globals->_player.setStrip(2);
_object4.postInit();
@@ -2318,7 +2331,7 @@ void Scene2150::Action2::signal() {
break;
case 3:
_globals->_events.setCursor(CURSOR_WALK);
- scene->_stripManager.start((_globals->_inventory._ale._sceneNumber == 2150) ? 2151 : 2152, this);
+ scene->_stripManager.start((RING_INVENTORY._ale._sceneNumber == 2150) ? 2151 : 2152, this);
break;
case 4:
scene->_hotspot14.postInit();
@@ -2328,7 +2341,7 @@ void Scene2150::Action2::signal() {
if (scene->_stripManager._field2E8 == 15) {
scene->_hotspot14.setFrame(5);
- _globals->_inventory._ale._sceneNumber = 1;
+ RING_INVENTORY._ale._sceneNumber = 1;
} else {
scene->_hotspot14.setFrame(scene->_stripManager._field2E8 - 5);
}
@@ -2474,7 +2487,7 @@ void Scene2150::postInit(SceneObjectList *OwnerList) {
_hotspot7.animate(ANIM_MODE_8, NULL);
_hotspot7.setPosition(Common::Point(122, 62));
_hotspot7.changeZoom(100);
- _hotspot7.setPriority2(76);
+ _hotspot7.fixPriority(76);
_hotspot2.postInit();
_hotspot2.setVisage(2151);
@@ -2483,7 +2496,7 @@ void Scene2150::postInit(SceneObjectList *OwnerList) {
_hotspot2.animate(ANIM_MODE_NONE, NULL);
_hotspot2.setPosition(Common::Point(257, 67));
_hotspot2.changeZoom(100);
- _hotspot2.setPriority2(60);
+ _hotspot2.fixPriority(60);
_hotspot1.postInit();
_hotspot1.setVisage(2151);
@@ -2492,7 +2505,7 @@ void Scene2150::postInit(SceneObjectList *OwnerList) {
_hotspot1.animate(ANIM_MODE_NONE, NULL);
_hotspot1.setPosition(Common::Point(158, 99));
_hotspot1.changeZoom(100);
- _hotspot1.setPriority2(99);
+ _hotspot1.fixPriority(99);
_hotspot4.postInit();
_hotspot4.setVisage(2150);
@@ -2501,7 +2514,7 @@ void Scene2150::postInit(SceneObjectList *OwnerList) {
_hotspot4.animate(ANIM_MODE_NONE, NULL);
_hotspot4.setPosition(Common::Point(218, 200));
_hotspot4.changeZoom(100);
- _hotspot4.setPriority2(200);
+ _hotspot4.fixPriority(200);
_hotspot10.postInit();
_hotspot10.setVisage(2152);
@@ -2515,7 +2528,7 @@ void Scene2150::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(_globals->getFlag(13) ? 2170 : 0);
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.changeZoom(-1);
_globals->_player._moveDiff.y = 3;
@@ -2907,7 +2920,7 @@ void Scene2200::postInit(SceneObjectList *OwnerList) {
_hotspot8.setVisage(2840);
_hotspot8.setStrip(2);
_hotspot8.setPosition(Common::Point(96, 184));
- _hotspot8.setPriority2(236);
+ _hotspot8.fixPriority(236);
_globals->_player.postInit();
_globals->_player.setVisage(2640);
@@ -2930,25 +2943,25 @@ void Scene2200::postInit(SceneObjectList *OwnerList) {
_hotspot1.postInit();
_hotspot1.setVisage(2202);
_hotspot1.setPosition(Common::Point(175, 173));
- _hotspot1.setPriority2(99);
+ _hotspot1.fixPriority(99);
_hotspot3.postInit();
_hotspot3.setVisage(2202);
_hotspot3._strip = 2;
_hotspot3.setPosition(Common::Point(152, 76));
- _hotspot3.setPriority2(100);
+ _hotspot3.fixPriority(100);
_hotspot4.postInit();
_hotspot4.setVisage(2202);
_hotspot4._strip = 3;
_hotspot4.setPosition(Common::Point(115, 76));
- _hotspot4.setPriority2(200);
+ _hotspot4.fixPriority(200);
setAction(&_action1);
break;
case 2310:
default:
- _globals->_inventory._infoDisk._sceneNumber = 1;
+ RING_INVENTORY._infoDisk._sceneNumber = 1;
_hotspot3.postInit();
_hotspot3.setVisage(2215);
@@ -2959,7 +2972,7 @@ void Scene2200::postInit(SceneObjectList *OwnerList) {
_hotspot4.setVisage(2215);
_hotspot4._strip = 2;
_hotspot4.setPosition(Common::Point(120, 78));
- _hotspot4.setPriority2(255);
+ _hotspot4.fixPriority(255);
_globals->_sceneItems.push_back(&_hotspot4);
_soundHandler1.startSound(101);
@@ -3096,7 +3109,7 @@ void Scene2222::postInit(SceneObjectList *OwnerList) {
_hotspot5.postInit();
_hotspot5.setVisage(3401);
_hotspot5.setStrip2(2);
- _hotspot5._frame = 5;
+ _hotspot5.setFrame(5);
_hotspot5.animate(ANIM_MODE_2, 0);
if (_globals->_sceneManager._previousScene == 2100) {
@@ -3197,7 +3210,7 @@ void Scene2230::Action2::signal() {
case 2:
_globals->_player.setVisage(2235);
_globals->_player.setStrip2(1);
- _globals->_player.setPriority2(100);
+ _globals->_player.fixPriority(100);
_globals->_player._frame = 1;
_globals->_player.setPosition(Common::Point(200, 68));
_globals->_player.animate(ANIM_MODE_5, this);
@@ -3241,7 +3254,7 @@ void Scene2230::Action3::signal() {
_globals->_player.setVisage(0);
_globals->_player.setStrip2(-1);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setPosition(Common::Point(164, 96));
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player._canWalk = true;
@@ -3284,7 +3297,7 @@ void Scene2230::Action5::signal() {
break;
}
case 2:
- _globals->_player.setPriority2(1430);
+ _globals->_player.fixPriority(1430);
_globals->_player.setVisage(2232);
_globals->_player._strip = 1;
_globals->_player._frame = 1;
@@ -3306,7 +3319,7 @@ void Scene2230::Action6::signal() {
case 0:
_globals->_player._strip = 2;
_globals->_player._frame = 1;
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.animate(ANIM_MODE_5, this);
break;
case 1:
@@ -3359,7 +3372,7 @@ void Scene2230::Action7::signal() {
scene->_hotspot2.setVisage(2231);
scene->_hotspot2._strip = 3;
scene->_hotspot2.setPosition(Common::Point(166, 116));
- scene->_hotspot2.setPriority2(131);
+ scene->_hotspot2.fixPriority(131);
scene->_hotspot2.animate(ANIM_MODE_5, this);
scene->_hotspot8._frame = 2;
@@ -3425,7 +3438,7 @@ void Scene2230::Action8::signal() {
scene->_hotspot2._strip = 3;
scene->_hotspot2._frame = scene->_hotspot2.getFrameCount();
scene->_hotspot2.setPosition(Common::Point(166, 116));
- scene->_hotspot2.setPriority2(131);
+ scene->_hotspot2.fixPriority(131);
scene->_hotspot2.animate(ANIM_MODE_6, this);
break;
case 4: {
@@ -3688,7 +3701,7 @@ void Scene2230::postInit(SceneObjectList *OwnerList) {
_hotspot8.animate(ANIM_MODE_NONE, 0);
_hotspot8.setPosition(Common::Point(164, 133));
_hotspot8.changeZoom(100);
- _hotspot8.setPriority2(129);
+ _hotspot8.fixPriority(129);
_rect1 = Rect(59, 64, 89, 74);
@@ -3766,7 +3779,7 @@ void Scene2280::Action1::signal() {
setDelay(10);
break;
case 4:
- _globals->_player.setPriority2(1);
+ _globals->_player.fixPriority(1);
scene->_soundHandler.startSound(162);
scene->_hotspot16.animate(ANIM_MODE_6, this);
break;
@@ -3849,7 +3862,7 @@ void Scene2280::Action3::signal() {
scene->_hotspot12._strip = 2;
scene->_hotspot12._frame = 3;
scene->_hotspot12.setPosition(Common::Point(88, 76));
- scene->_hotspot12.setPriority2(1);
+ scene->_hotspot12.fixPriority(1);
_globals->_player.animate(ANIM_MODE_6, this);
break;
@@ -3867,7 +3880,7 @@ void Scene2280::Action3::signal() {
scene->_hotspot8.animate(ANIM_MODE_NONE, NULL);
scene->_hotspot8.setPosition(Common::Point(79, 108));
scene->_hotspot8.changeZoom(100);
- scene->_hotspot8.setPriority2(1);
+ scene->_hotspot8.fixPriority(1);
scene->_hotspot10.postInit();
scene->_hotspot10.setVisage(2280);
@@ -3876,7 +3889,7 @@ void Scene2280::Action3::signal() {
scene->_hotspot10.animate(ANIM_MODE_NONE, NULL);
scene->_hotspot10.setPosition(Common::Point(79, 104));
scene->_hotspot10.changeZoom(100);
- scene->_hotspot10.setPriority2(1);
+ scene->_hotspot10.fixPriority(1);
_globals->clearFlag(13);
@@ -3925,11 +3938,11 @@ void Scene2280::Action4::signal() {
switch (_state) {
case 1:
scene->_hotspot18.remove();
- _globals->_inventory._scanner._sceneNumber = 1;
+ RING_INVENTORY._scanner._sceneNumber = 1;
break;
case 6:
scene->_hotspot17.remove();
- _globals->_inventory._medkit._sceneNumber = 1;
+ RING_INVENTORY._medkit._sceneNumber = 1;
break;
case 50:
scene->_hotspot17.postInit();
@@ -3939,9 +3952,9 @@ void Scene2280::Action4::signal() {
scene->_hotspot17.animate(ANIM_MODE_NONE, NULL);
scene->_hotspot17.setPosition(Common::Point(162, 39));
scene->_hotspot17.changeZoom(100);
- scene->_hotspot17.setPriority2(1);
+ scene->_hotspot17.fixPriority(1);
- _globals->_inventory._medkit._sceneNumber = 2280;
+ RING_INVENTORY._medkit._sceneNumber = 2280;
_globals->_sceneItems.push_front(&scene->_hotspot17);
break;
case 51:
@@ -3952,9 +3965,9 @@ void Scene2280::Action4::signal() {
scene->_hotspot18.animate(ANIM_MODE_NONE, NULL);
scene->_hotspot18.setPosition(Common::Point(152, 43));
scene->_hotspot18.changeZoom(100);
- scene->_hotspot18.setPriority2(1);
+ scene->_hotspot18.fixPriority(1);
- _globals->_inventory._scanner._sceneNumber = 2280;
+ RING_INVENTORY._scanner._sceneNumber = 2280;
_globals->_sceneItems.push_front(&scene->_hotspot18);
break;
}
@@ -4221,25 +4234,25 @@ void Scene2280::postInit(SceneObjectList *OwnerList) {
_hotspot16.postInit();
_hotspot16.setVisage(2281);
_hotspot16.setPosition(Common::Point(208, 90));
- _hotspot16.setPriority2(80);
+ _hotspot16.fixPriority(80);
- if (_globals->_inventory._medkit._sceneNumber == 2280) {
+ if (RING_INVENTORY._medkit._sceneNumber == 2280) {
_hotspot17.postInit();
_hotspot17.setVisage(2161);
_hotspot17._strip = 2;
_hotspot17.setPosition(Common::Point(162, 39));
- _hotspot17.setPriority2(1);
+ _hotspot17.fixPriority(1);
_globals->_sceneItems.push_back(&_hotspot17);
}
- if (_globals->_inventory._scanner._sceneNumber == 2280) {
+ if (RING_INVENTORY._scanner._sceneNumber == 2280) {
_hotspot18.postInit();
_hotspot18.setVisage(2161);
_hotspot18._strip = 2;
_hotspot18._frame = 2;
_hotspot17.setPosition(Common::Point(152, 43));
- _hotspot17.setPriority2(1);
+ _hotspot17.fixPriority(1);
_globals->_sceneItems.push_back(&_hotspot17);
}
@@ -4249,21 +4262,21 @@ void Scene2280::postInit(SceneObjectList *OwnerList) {
_hotspot8.setVisage(2280);
_hotspot8._strip = 2;
_hotspot8.setPosition(Common::Point(79, 108));
- _hotspot8.setPriority2(1);
+ _hotspot8.fixPriority(1);
_hotspot10.postInit();
_hotspot10.setVisage(2280);
_hotspot10._strip = 2;
_hotspot10._frame = 2;
_hotspot10.setPosition(Common::Point(79, 104));
- _hotspot10.setPriority2(2);
+ _hotspot10.fixPriority(2);
_hotspot12.postInit();
_hotspot12.setVisage(2280);
_hotspot12._strip = 2;
_hotspot12._frame = 3;
_hotspot12.setPosition(Common::Point(88, 76));
- _hotspot12.setPriority2(1);
+ _hotspot12.fixPriority(1);
_globals->_sceneItems.addItems(&_hotspot8, &_hotspot10, &_hotspot12, NULL);
}
@@ -4273,19 +4286,19 @@ void Scene2280::postInit(SceneObjectList *OwnerList) {
_hotspot9.postInit();
_hotspot9.setVisage(2280);
_hotspot9.setPosition(Common::Point(104, 96));
- _hotspot9.setPriority2(1);
+ _hotspot9.fixPriority(1);
_hotspot11.postInit();
_hotspot11.setVisage(2280);
_hotspot11._frame = 2;
_hotspot11.setPosition(Common::Point(130, 79));
- _hotspot11.setPriority2(1);
+ _hotspot11.fixPriority(1);
_hotspot13.postInit();
_hotspot13.setVisage(2280);
_hotspot13._frame = 3;
_hotspot13.setPosition(Common::Point(113, 63));
- _hotspot13.setPriority2(1);
+ _hotspot13.fixPriority(1);
_hotspot1.setBounds(Rect(225, 70, 234, 80));
_hotspot2.setBounds(Rect(44, 78, 56, 105));
@@ -4310,7 +4323,7 @@ void Scene2280::postInit(SceneObjectList *OwnerList) {
_globals->_player.enableControl();
} else {
_globals->setFlag(109);
- _globals->_player.setPriority2(76);
+ _globals->_player.fixPriority(76);
_globals->_player.disableControl();
_sceneMode = 2281;
@@ -4329,7 +4342,7 @@ void Scene2280::postInit(SceneObjectList *OwnerList) {
void Scene2280::signal() {
if (_sceneMode == 2281) {
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.enableControl();
}
}
@@ -4422,7 +4435,7 @@ void Scene2300::Action1::signal() {
_globals->_soundHandler.startSound(77, this);
break;
case 8:
- _globals->_game.endGame(2300, 0);
+ _globals->_game->endGame(2300, 0);
break;
case 9:
if (scene->_hotspot5._mover)
@@ -4454,8 +4467,8 @@ void Scene2300::Action1::signal() {
scene->_hotspot6._frame = 1;
scene->_hotspot5.animate(ANIM_MODE_5, NULL);
scene->_hotspot6.animate(ANIM_MODE_5, NULL);
- scene->_hotspot5.setPriority2(20);
- scene->_hotspot6.setPriority2(20);
+ scene->_hotspot5.fixPriority(20);
+ scene->_hotspot6.fixPriority(20);
_globals->_player.setVisage(2672);
_globals->_player._strip = 5;
@@ -4546,7 +4559,7 @@ void Scene2300::Action2::signal() {
case 7:
scene->_hotspot7._strip = 2;
scene->_hotspot7._frame = 1;
- scene->_hotspot7.animate(ANIM_MODE_7, this);
+ scene->_hotspot7.animate(ANIM_MODE_5, this);
break;
case 8:
scene->_hotspot2.animate(ANIM_MODE_6, this);
@@ -4626,7 +4639,7 @@ void Scene2300::Action4::signal() {
scene->_hotspot9.setStrip2(2);
scene->_hotspot9.setFrame(3);
scene->_hotspot9.setPosition(Common::Point(273, 199));
- scene->_hotspot9.setPriority2(19);
+ scene->_hotspot9.fixPriority(19);
scene->_hotspot9.animate(ANIM_MODE_5, this);
scene->_soundHandler1.startSound(11);
break;
@@ -4672,7 +4685,7 @@ void Scene2300::Hotspot5::doAction(int action) {
}
}
-void Scene2300::Hotspot6::doAction(int action) {
+void Scene2300::Hotspot7::doAction(int action) {
Scene2300 *scene = (Scene2300 *)_globals->_sceneManager._scene;
switch (action) {
@@ -4707,12 +4720,12 @@ void Scene2300::postInit(SceneObjectList *OwnerList) {
setZoomPercents(0, 100, 200, 100);
_stripManager.addSpeaker(&_speakerSL);
- _stripManager.addSpeaker(&_speakerML);
+ _stripManager.addSpeaker(&_speakerMText);
_stripManager.addSpeaker(&_speakerQText);
_stripManager.addSpeaker(&_speakerSText);
- _globals->_inventory._stunner._sceneNumber = 1;
- _globals->_inventory._infoDisk._sceneNumber = 1;
+ RING_INVENTORY._stunner._sceneNumber = 1;
+ RING_INVENTORY._infoDisk._sceneNumber = 1;
_hotspot8.postInit();
_hotspot8.setVisage(2301);
@@ -4727,7 +4740,7 @@ void Scene2300::postInit(SceneObjectList *OwnerList) {
_hotspot9.setStrip2(2);
_hotspot9._frame = _hotspot9.getFrameCount();
_hotspot9.setPosition(Common::Point(273, 199));
- _hotspot9.setPriority2(1);
+ _hotspot9.fixPriority(1);
_hotspot10.postInit();
_hotspot10.setVisage(2301);
@@ -4864,14 +4877,17 @@ void Scene2310::postInit(SceneObjectList *OwnerList) {
_globals->_events.setCursor(CURSOR_WALK);
_wireIndex = 5;
- _pageIndex = _globals->_randomSource.getRandomNumber(19) + 1;
+ if (_vm->getFeatures() & GF_CD)
+ _pageIndex = _globals->_randomSource.getRandomNumber(14) + 2;
+ else
+ _pageIndex = _globals->_randomSource.getRandomNumber(19) + 1;
signal();
}
void Scene2310::signal() {
switch (_sceneMode++) {
case 0: {
- Common::String fmtString = _vm->_dataManager->getMessage(2300, 22);
+ Common::String fmtString = _resourceManager->getMessage(2300, 22);
Common::String msg = Common::String::format(fmtString.c_str(), _pageList[_pageIndex]._pageNumber);
_sceneText._width = 280;
@@ -4879,14 +4895,14 @@ void Scene2310::signal() {
_sceneText._color1 = 35;
_sceneText._fontNumber = 2;
_sceneText.setup(msg);
- _sceneText.setPriority2(255);
+ _sceneText.fixPriority(255);
_sceneText.setPosition(Common::Point(30, 20));
break;
}
case 1: {
- Common::String msg = _vm->_dataManager->getMessage(2300, 23);
+ Common::String msg = _resourceManager->getMessage(2300, 23);
_sceneText.setup(msg);
- _sceneText.setPriority2(255);
+ _sceneText.fixPriority(255);
_sceneText.setPosition(Common::Point(30, 170));
_globals->_sceneObjects->draw();
@@ -4966,10 +4982,7 @@ void Scene2310::process(Event &event) {
}
void Scene2310::dispatch() {
- if ((_vm->getFeatures() & GF_CD) && !ConfMan.getBool("copy_protection")) {
- // CD version of Ringworld has the copy protection disabled
- signal();
- } else if (_wireIndex != 5) {
+ if (_wireIndex != 5) {
for (int idx = 0; idx < 5; ++idx) {
if (_rectList[idx].contains(_globals->_events._mousePos)) {
_wireList[_wireIndex].setFrame(idx + 2);
@@ -5033,7 +5046,7 @@ void Scene2320::Action2::signal() {
switch (_actionIndex++) {
case 0: {
scene->_soundHandler.startSound(253);
- scene->_hotspot13.setPriority2(99);
+ scene->_hotspot13.fixPriority(99);
Common::Point pt(scene->_hotspot13._position.x, 200);
NpcMover *mover = new NpcMover();
@@ -5068,7 +5081,7 @@ void Scene2320::Action3::signal() {
break;
}
case 3:
- scene->_hotspot6.setPriority2(scene->_hotspot6._priority - 1);
+ _globals->_player.fixPriority(scene->_hotspot6._priority - 1);
_globals->_player._strip = 3;
setDelay(10);
break;
@@ -5122,7 +5135,7 @@ void Scene2320::Action3::signal() {
break;
case 5: {
if (_state == 2320)
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
else
_globals->_sceneManager.changeScene(_state);
@@ -5165,13 +5178,13 @@ void Scene2320::Action4::signal() {
break;
case 3:
_globals->_player.animate(ANIM_MODE_6, NULL);
- scene->setAction(&scene->_action2);
+ setAction(&scene->_action2, this);
break;
case 4: {
scene->_hotspot16.postInit();
scene->_hotspot16.setVisage(2331);
scene->_hotspot16.setStrip(3);
- scene->_hotspot16.setPriority2(149);
+ scene->_hotspot16.fixPriority(149);
scene->_hotspot16.setPosition(Common::Point(320, 202));
scene->_hotspot16.show();
@@ -5181,14 +5194,14 @@ void Scene2320::Action4::signal() {
break;
}
case 5: {
- scene->_hotspot16.setPriority2(200);
+ scene->_hotspot16.fixPriority(200);
Common::Point pt(320, 180);
NpcMover *mover = new NpcMover();
scene->_hotspot16.addMover(mover, &pt, this);
break;
}
case 6: {
- scene->_hotspot16.setPriority2(-1);
+ scene->_hotspot16.fixPriority(-1);
_globals->_player.setVisage(0);
_globals->_player.animate(ANIM_MODE_1, NULL);
@@ -5262,7 +5275,7 @@ void Scene2320::Action4::signal() {
}
case 17: {
_globals->_player.animate(ANIM_MODE_6, NULL);
- scene->_hotspot16.setPriority2(160);
+ scene->_hotspot16.fixPriority(160);
Common::Point pt(320, 121);
NpcMover *mover = new NpcMover();
@@ -5290,7 +5303,7 @@ void Scene2320::Action4::signal() {
_globals->_player.setVisage(0);
_globals->_player.animate(ANIM_MODE_1, NULL);
- scene->_hotspot13.setPriority2(1);
+ scene->_hotspot13.fixPriority(1);
remove();
break;
}
@@ -5320,7 +5333,7 @@ void Scene2320::Action5::signal() {
_globals->_player.setVisage(2347);
_globals->_player.setStrip(1);
_globals->_player.setFrame(1);
- _globals->_player.setPriority2(137);
+ _globals->_player.fixPriority(137);
_globals->_player.animate(ANIM_MODE_5, this);
break;
case 5:
@@ -5333,7 +5346,7 @@ void Scene2320::Action5::signal() {
_globals->_sceneManager.changeScene(7000);
else if (_globals->getFlag(59))
_globals->_sceneManager.changeScene(5000);
- else if (!_globals->getFlag(43) || (_globals->_inventory._ale._sceneNumber != 1))
+ else if (!_globals->getFlag(43) || (RING_INVENTORY._ale._sceneNumber != 1))
setDelay(10);
else {
scene->_hotspot11.setAction(NULL);
@@ -5345,7 +5358,7 @@ void Scene2320::Action5::signal() {
NpcMover *mover = new NpcMover();
scene->_hotspot11.addMover(mover, &pt, NULL);
- _globals->clearFlag(53);
+ _globals->clearFlag(43);
scene->_stripManager.start(2325, this);
}
break;
@@ -5376,7 +5389,7 @@ void Scene2320::Action6::signal() {
case 3:
_globals->_player.setVisage(0);
_globals->_player.setStrip(3);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.animate(ANIM_MODE_1, NULL);
@@ -5432,12 +5445,12 @@ void Scene2320::Action7::signal() {
scene->_hotspot6.animate(ANIM_MODE_5, this);
break;
case 2:
- scene->_hotspot10.setPriority2(-1);
+ scene->_hotspot10.fixPriority(-1);
ADD_MOVER_NULL(scene->_hotspot10, 321, 94);
- scene->_hotspot11.setPriority2(-1);
+ scene->_hotspot11.fixPriority(-1);
ADD_MOVER_NULL(scene->_hotspot11, 346, 85);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
ADD_MOVER(_globals->_player, 297, 89);
break;
case 3:
@@ -5454,10 +5467,6 @@ void Scene2320::Action7::signal() {
case 6:
ADD_MOVER_NULL(scene->_hotspot10, 491, 160);
ADD_MOVER(_globals->_player, 391, 88);
-
- _globals->_player.setStrip(1);
- _globals->_player.setFrame(1);
- _globals->_player.animate(ANIM_MODE_6, this);
break;
case 7:
ADD_PLAYER_MOVER(462, 182);
@@ -5477,7 +5486,7 @@ void Scene2320::Action7::signal() {
break;
case 12:
_globals->_player.enableControl();
- _globals->_inventory._stasisBox._sceneNumber = 2320;
+ RING_INVENTORY._stasisBox._sceneNumber = 2320;
break;
}
}
@@ -5507,7 +5516,7 @@ void Scene2320::Action8::signal() {
_globals->_player.enableControl();
break;
case 5:
- _globals->_inventory._stasisBox._sceneNumber = 2320;
+ RING_INVENTORY._stasisBox._sceneNumber = 2320;
scene->_sceneMode = 2326;
scene->_speakerGameText.setTextPos(Common::Point(_globals->_sceneManager._scene->_sceneBounds.left + 30, 10));
scene->setAction(&scene->_sequenceManager1, scene, 2326, &_globals->_player, &scene->_hotspot11, NULL);
@@ -5622,12 +5631,12 @@ void Scene2320::Hotspot11::doAction(int action) {
} else {
scene->_sceneMode = 2329;
- if (_globals->_inventory._ale._sceneNumber == 1) {
+ if (RING_INVENTORY._ale._sceneNumber == 1) {
scene->setAction(&scene->_sequenceManager1, scene, 2329, NULL);
} else if (!_globals->getFlag(110)) {
_globals->setFlag(110);
scene->setAction(&scene->_sequenceManager1, scene, 2330, NULL);
- } else if (_globals->_inventory._peg._sceneNumber != 1) {
+ } else if (RING_INVENTORY._peg._sceneNumber != 1) {
scene->setAction(&scene->_sequenceManager1, scene, 2331, NULL);
} else if (!_state) {
++_state;
@@ -5683,13 +5692,13 @@ void Scene2320::Hotspot14::doAction(int action) {
scene->_hotspot8.hide();
_globals->_sceneItems.push_front(&scene->_hotspot8);
- _globals->_inventory._waldos._sceneNumber = 2320;
+ RING_INVENTORY._waldos._sceneNumber = 2320;
scene->_hotspot9.postInit();
scene->_hotspot9.setVisage(2345);
scene->_hotspot9._strip = 6;
scene->_hotspot9.setPosition(Common::Point(536, 103));
- scene->_hotspot9.setPriority2(200);
+ scene->_hotspot9.fixPriority(200);
scene->_hotspot9.hide();
scene->_hotspot16.postInit();
@@ -5705,7 +5714,7 @@ void Scene2320::Hotspot14::doAction(int action) {
SceneItem::display2(2320, 24);
} else if (!_globals->getFlag(76)) {
SceneItem::display2(2320, 28);
- } else if (!_globals->_inventory._waldos._sceneNumber) {
+ } else if (!RING_INVENTORY._waldos._sceneNumber) {
SceneItem::display2(2320, 27);
} else {
SceneItem::display2(2320, 29);
@@ -5779,7 +5788,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot13.postInit();
_hotspot13.setVisage(2323);
_hotspot13.setPosition(Common::Point(319, 157));
- _hotspot13.setPriority2(1);
+ _hotspot13.fixPriority(1);
_hotspot12.postInit();
_hotspot12.setVisage(2321);
@@ -5787,18 +5796,18 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot12.animate(ANIM_MODE_8, 0, NULL);
_hotspot12.setPosition(Common::Point(412, 46));
- if (_globals->_inventory._waldos._sceneNumber == 2320) {
+ if (RING_INVENTORY._waldos._sceneNumber == 2320) {
_hotspot8.postInit();
_hotspot8.setVisage(2345);
_hotspot8.setStrip(5);
_hotspot8.setFrame(8);
_hotspot8.setPosition(Common::Point(541, 103));
- _hotspot8.setPriority2(201);
+ _hotspot8.fixPriority(201);
_globals->_sceneItems.push_back(&_hotspot8);
}
- _area1.setup(2100, 2, 1, 2150);
+ _area1.setup(2153, 2, 1, 2100);
_area1._pt = Common::Point(200, 31);
_area2.setup(2153, 3, 1, 2150);
_area2._pt = Common::Point(200, 50);
@@ -5812,17 +5821,20 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot11.setVisage(2705);
_hotspot11._strip = 3;
_hotspot11.setPosition(Common::Point(510, 156));
+ _globals->_sceneItems.push_back(&_hotspot11);
_hotspot11._state = 0;
_hotspot11.setAction(&_action1);
-
- _globals->_sceneItems.push_back(&_hotspot11);
}
_globals->_player.postInit();
+ if (_globals->getFlag(13))
+ _globals->_player.setVisage(2170);
+ else
+ _globals->_player.setVisage(0);
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.setPosition(Common::Point(320, 79));
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
_globals->_player.changeZoom(-1);
_globals->_player._moveDiff.y = 3;
_globals->_player.disableControl();
@@ -5857,7 +5869,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_globals->_soundHandler.startSound(160);
_globals->_soundHandler.proc5(true);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setPosition(Common::Point(389, 72));
_globals->_player.enableControl();
break;
@@ -5883,7 +5895,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(2347);
_globals->_player.setStrip(2);
_globals->_player.setFrame(5);
- _globals->_player.setPriority2(137);
+ _globals->_player.fixPriority(137);
_globals->_player.setPosition(Common::Point(165, 132));
setAction(&_action6);
@@ -5909,7 +5921,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_globals->_player.setStrip(2);
_globals->_player.setFrame(_globals->_player.getFrameCount());
_globals->_player.setPosition(Common::Point(303, 176));
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.disableControl();
_hotspot13.setPosition(Common::Point(319, 199));
@@ -5917,7 +5929,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot16.postInit();
_hotspot16.setVisage(2331);
_hotspot16._strip = 3;
- _hotspot16.setPriority2(160);
+ _hotspot16.fixPriority(160);
_hotspot16.setPosition(Common::Point(320, 202));
_hotspot16.hide();
@@ -5934,7 +5946,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot11.postInit();
_hotspot11.setVisage(2705);
_hotspot11._strip = 2;
- _hotspot11.setPriority2(10);
+ _hotspot11.fixPriority(10);
_hotspot11.setPosition(Common::Point(322, 80));
_hotspot11.setObjectWrapper(new SceneObjectWrapper());
_hotspot11.animate(ANIM_MODE_1, NULL);
@@ -5943,7 +5955,7 @@ void Scene2320::postInit(SceneObjectList *OwnerList) {
_hotspot10.setVisage(2806);
_hotspot10.setObjectWrapper(new SceneObjectWrapper());
_hotspot10.changeZoom(-1);
- _hotspot10.setPriority2(10);
+ _hotspot10.fixPriority(10);
_hotspot10.setPosition(Common::Point(318, 89));
_hotspot10._strip = 3;
_hotspot10.animate(ANIM_MODE_1, NULL);
@@ -6019,13 +6031,13 @@ void Scene2320::signal() {
break;
case 2326:
_globals->clearFlag(70);
- _globals->_inventory._nullifier._sceneNumber = 1;
+ RING_INVENTORY._nullifier._sceneNumber = 1;
_globals->_stripNum = 2321;
_globals->_sceneManager.changeScene(2100);
break;
case 2336:
_globals->setFlag(77);
- _globals->_inventory._waldos._sceneNumber = 1;
+ RING_INVENTORY._waldos._sceneNumber = 1;
_hotspot8.remove();
break;
case 5000:
diff --git a/engines/tsage/ringworld_scenes3.h b/engines/tsage/ringworld_scenes3.h
index 61aac522f2..2cbe8de65b 100644
--- a/engines/tsage/ringworld_scenes3.h
+++ b/engines/tsage/ringworld_scenes3.h
@@ -462,8 +462,6 @@ class Scene2222 : public Scene {
virtual void signal();
};
- /* Hotspots */
-
public:
SoundHandler _soundHandler;
SpeakerSText _speakerSText;
@@ -710,22 +708,14 @@ class Scene2300 : public Scene {
public:
virtual void doAction(int action);
};
- class Hotspot6 : public SceneObject {
- public:
- virtual void doAction(int action);
- };
- class Hotspot12 : public SceneObject {
- public:
- virtual void doAction(int action);
- };
- class Hotspot13 : public SceneObject {
+ class Hotspot7 : public SceneObject {
public:
virtual void doAction(int action);
};
public:
SoundHandler _soundHandler1, _soundHandler2;
SpeakerSL _speakerSL;
- SpeakerML _speakerML;
+ SpeakerMText _speakerMText;
SpeakerQText _speakerQText;
SpeakerSText _speakerSText;
Action1 _action1;
@@ -734,8 +724,9 @@ public:
Action4 _action4;
SceneObject _hotspot1, _hotspot2, _hotspot3, _hotspot4;
Hotspot5 _hotspot5;
- Hotspot6 _hotspot6;
- SceneObject _hotspot7, _hotspot8, _hotspot9, _hotspot10;
+ SceneObject _hotspot6;
+ Hotspot7 _hotspot7;
+ SceneObject _hotspot8, _hotspot9, _hotspot10;
DisplayHotspot _hotspot11, _hotspot12, _hotspot13, _hotspot14, _hotspot15;
Scene2300();
diff --git a/engines/tsage/ringworld_scenes5.cpp b/engines/tsage/ringworld_scenes5.cpp
index d945bec522..73d2df5989 100644
--- a/engines/tsage/ringworld_scenes5.cpp
+++ b/engines/tsage/ringworld_scenes5.cpp
@@ -47,9 +47,12 @@ void Scene4000::Action1::signal() {
scene->_hotspot5.animate(ANIM_MODE_1, NULL);
scene->_hotspot5.setPosition(Common::Point(116, 160));
- ADD_PLAYER_MOVER_NULL(scene->_hotspot5, 208, 169);
+// ADD_PLAYER_MOVER_NULL(scene->_hotspot5, 208, 169);
+ Common::Point pt(208, 169);
+ NpcMover *mover = new NpcMover();
+ scene->_hotspot5.addMover(mover, &pt, this);
- _globals->_inventory._ale._sceneNumber = 0;
+ RING_INVENTORY._ale._sceneNumber = 0;
_globals->clearFlag(42);
_globals->clearFlag(36);
_globals->clearFlag(43);
@@ -57,30 +60,33 @@ void Scene4000::Action1::signal() {
break;
}
case 1: {
- scene->_hotspot9.postInit();
- scene->_hotspot9.setVisage(4001);
- scene->_hotspot9.animate(ANIM_MODE_1, NULL);
- scene->_hotspot9.setObjectWrapper(new SceneObjectWrapper());
- scene->_hotspot9.setPosition(Common::Point(314, 132));
+ scene->_guardRock.postInit();
+ scene->_guardRock.setVisage(4001);
+ scene->_guardRock.animate(ANIM_MODE_1, NULL);
+ scene->_guardRock.setObjectWrapper(new SceneObjectWrapper());
+ scene->_guardRock.setPosition(Common::Point(314, 132));
+ scene->_guardRock._moveDiff = Common::Point(4, 2);
- ADD_PLAYER_MOVER_NULL(scene->_hotspot9, 288, 167);
+ ADD_PLAYER_MOVER_NULL(scene->_guardRock, 288, 167);
- scene->_hotspot4.postInit();
- scene->_hotspot4.setVisage(4006);
- scene->_hotspot4.animate(ANIM_MODE_1, NULL);
- scene->_hotspot4.setStrip(1);
- scene->_hotspot4.setPosition(Common::Point(207, 136));
+ scene->_olo.postInit();
+ scene->_olo.setVisage(4006);
+ scene->_olo.animate(ANIM_MODE_1, NULL);
+ scene->_olo.setStrip(1);
+ scene->_olo.setPosition(Common::Point(207, 136));
+
+ ADD_PLAYER_MOVER_NULL(scene->_olo, 220, 151);
- ADD_PLAYER_MOVER_NULL(scene->_hotspot4, 220, 151);
+ scene->_miranda.postInit();
+ scene->_miranda.setVisage(2701);
+ scene->_miranda.animate(ANIM_MODE_1, NULL);
+ scene->_miranda.setObjectWrapper(new SceneObjectWrapper());
+ scene->_miranda._moveDiff = Common::Point(4, 2);
+ scene->_miranda.setPosition(Common::Point(300, 135));
- scene->_hotspot7.postInit();
- scene->_hotspot7.setVisage(2701);
- scene->_hotspot7.animate(ANIM_MODE_1, NULL);
- scene->_hotspot7.setObjectWrapper(new SceneObjectWrapper());
- scene->_hotspot7._moveDiff = Common::Point(4, 2);
- scene->_hotspot7.setPosition(Common::Point(300, 135));
+ ADD_PLAYER_MOVER_THIS(scene->_miranda, 266, 169);
- ADD_PLAYER_MOVER_NULL(_globals->_player, 266, 169);
+ ADD_PLAYER_MOVER_NULL(_globals->_player, 241, 155);
break;
}
case 2:
@@ -89,13 +95,13 @@ void Scene4000::Action1::signal() {
case 3: {
Common::Point pt1(30, 86);
PlayerMover *mover1 = new PlayerMover();
- scene->_hotspot7.addMover(mover1, &pt1, this);
+ scene->_miranda.addMover(mover1, &pt1, this);
ADD_PLAYER_MOVER_NULL(scene->_hotspot5, 3, 86);
break;
}
case 4:
- ADD_MOVER(scene->_hotspot7, -30, 86);
+ ADD_MOVER(scene->_miranda, -30, 86);
ADD_MOVER(scene->_hotspot5, -40, 86);
break;
case 5:
@@ -105,7 +111,7 @@ void Scene4000::Action1::signal() {
scene->_stripManager.start(4430, this);
break;
case 6:
- ADD_PLAYER_MOVER_THIS(scene->_hotspot4, 277, 175);
+ ADD_PLAYER_MOVER_THIS(scene->_olo, 277, 175);
ADD_PLAYER_MOVER_NULL(_globals->_player, 258, 187);
break;
case 7:
@@ -135,19 +141,19 @@ void Scene4000::Action2::signal() {
scene->_hotspot5._moveDiff.x = 5;
scene->_hotspot5.setPosition(Common::Point(-8, 88));
- scene->_hotspot3.setAction(&scene->_sequenceManager3, NULL, 4003, &scene->_hotspot5, NULL);
- scene->_hotspot7.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_hotspot7, NULL);
+ scene->_lander.setAction(&scene->_sequenceManager3, NULL, 4003, &scene->_hotspot5, NULL);
+ scene->_miranda.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_miranda, NULL);
break;
case 1:
_globals->_player.disableControl();
- scene->_hotspot3.remove();
- ADD_MOVER(scene->_hotspot9, scene->_hotspot5._position.x + 30, scene->_hotspot5._position.y - 10);
+ scene->_lander.remove();
+ ADD_MOVER(scene->_guardRock, scene->_hotspot5._position.x + 30, scene->_hotspot5._position.y - 10);
break;
case 2:
- _globals->_player.checkAngle(&scene->_hotspot9);
- scene->_hotspot5.checkAngle(&scene->_hotspot9);
- scene->_hotspot7.checkAngle(&scene->_hotspot9);
+ _globals->_player.checkAngle(&scene->_guardRock);
+ scene->_hotspot5.checkAngle(&scene->_guardRock);
+ scene->_miranda.checkAngle(&scene->_guardRock);
scene->_stripManager.start(4000, this);
break;
case 3:
@@ -166,9 +172,9 @@ void Scene4000::Action2::signal() {
scene->_stripManager.start(4010, this);
break;
case 6:
- ADD_PLAYER_MOVER_NULL(scene->_hotspot9, 230, 149);
+ ADD_PLAYER_MOVER_NULL(scene->_guardRock, 230, 149);
ADD_PLAYER_MOVER(210, 136);
- ADD_PLAYER_MOVER_NULL(scene->_hotspot7, 210, 133);
+ ADD_PLAYER_MOVER_NULL(scene->_miranda, 210, 133);
break;
case 7:
_globals->_sceneManager.changeScene(4045);
@@ -203,20 +209,20 @@ void Scene4000::Action4::signal() {
ADD_MOVER(_globals->_player, 257, 57);
break;
case 1:
- _globals->_player.setVisage(4000);
+ _globals->_player.setVisage(4008);
_globals->_player.setPosition(Common::Point(258, 83));
_globals->_player._frame = 1;
_globals->_player._strip = 3;
_globals->_player.animate(ANIM_MODE_4, 2, 1, this);
break;
case 2:
- scene->_hotspot6.postInit();
- scene->_hotspot6.setVisage(4000);
- scene->_hotspot6.setStrip(7);
- scene->_hotspot6.setFrame(3);
- scene->_hotspot6.setPosition(Common::Point(268, 44));
+ scene->_rope.postInit();
+ scene->_rope.setVisage(4000);
+ scene->_rope.setStrip(7);
+ scene->_rope.setFrame(3);
+ scene->_rope.setPosition(Common::Point(268, 44));
- _globals->_inventory._rope._sceneNumber = 4000;
+ RING_INVENTORY._rope._sceneNumber = 4000;
_globals->_events.setCursor(CURSOR_USE);
_globals->_player.animate(ANIM_MODE_6, this);
break;
@@ -270,23 +276,23 @@ void Scene4000::Action6::signal() {
setAction(&scene->_sequenceManager1, this, 4001, &_globals->_player, NULL);
if (!_globals->getFlag(36))
- scene->_hotspot7.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_hotspot7, NULL);
+ scene->_miranda.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_miranda, NULL);
break;
case 2:
_globals->_player.disableControl();
- ADD_MOVER(scene->_hotspot9, _globals->_player._position.x + 30, _globals->_player._position.y - 5);
+ ADD_MOVER(scene->_guardRock, _globals->_player._position.x + 30, _globals->_player._position.y - 5);
break;
case 3:
scene->_stripManager.start(_globals->getFlag(35) ? 4500 : 4502, this);
break;
case 4:
_globals->clearFlag(35);
- ADD_MOVER_NULL(scene->_hotspot9, 292, 138);
+ ADD_MOVER_NULL(scene->_guardRock, 292, 138);
ADD_PLAYER_MOVER(283, 147);
- if (!_globals->getFlag(36)) {
- ADD_PLAYER_MOVER_NULL(scene->_hotspot7, 280, 150);
- }
+ if (!_globals->getFlag(36))
+ ADD_PLAYER_MOVER_NULL(scene->_miranda, 280, 150);
+ RING_INVENTORY._ale._sceneNumber = 4100;
break;
case 5:
_globals->_sceneManager.changeScene(4100);
@@ -295,20 +301,21 @@ void Scene4000::Action6::signal() {
}
void Scene4000::Action7::signal() {
+ // Climb down left Chimney using a rope
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
_globals->_player.disableControl();
- scene->_hotspot6.setFrame(1);
+ scene->_rope.setFrame(1);
ADD_MOVER(_globals->_player, 247, 53);
break;
case 1:
_globals->_player.setVisage(4008);
_globals->_player.setStrip(4);
_globals->_player.setFrame(1);
- _globals->_player.setPriority2(16);
+ _globals->_player.fixPriority(16);
_globals->_player.setPosition(Common::Point(260, 55));
_globals->_player.animate(ANIM_MODE_5, this);
break;
@@ -325,7 +332,7 @@ void Scene4000::Action8::signal() {
case 0:
_globals->_player.disableControl();
if (_globals->getFlag(41))
- scene->_hotspot6.setFrame(2);
+ scene->_rope.setFrame(2);
ADD_MOVER(_globals->_player, 289, 53);
break;
@@ -343,16 +350,16 @@ void Scene4000::Action8::signal() {
break;
case 3:
_globals->_soundHandler.startSound(170);
- scene->_hotspot27.setVisage(4000);
- scene->_hotspot27.setStrip(6);
- scene->_hotspot27.animate(ANIM_MODE_2, NULL);
+ scene->_smoke2.setVisage(4000);
+ scene->_smoke2.setStrip(6);
+ scene->_smoke2.animate(ANIM_MODE_2, NULL);
setDelay(60);
break;
case 4:
_globals->_soundHandler.startSound(77, this);
break;
case 5:
- _globals->_game.endGame(4000, 15);
+ _globals->_game->endGame(4000, 15);
remove();
break;
}
@@ -388,7 +395,7 @@ void Scene4000::Action11::signal() {
switch (_actionIndex++) {
case 0:
_globals->_player.disableControl();
- ADD_MOVER(scene->_hotspot3, -30, 70);
+ ADD_MOVER(scene->_lander, -30, 70);
break;
case 1:
setDelay(60);
@@ -403,23 +410,23 @@ void Scene4000::Action11::signal() {
setAction(&scene->_sequenceManager1, this, 4001, &_globals->_player, NULL);
- scene->_hotspot7.setPosition(Common::Point(-210, 139));
- scene->_hotspot7.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_hotspot7, NULL);
- scene->_hotspot3.setAction(&scene->_sequenceManager3, NULL, 4003, &scene->_hotspot5, NULL);
+ scene->_miranda.setPosition(Common::Point(-210, 139));
+ scene->_miranda.setAction(&scene->_sequenceManager2, NULL, 4002, &scene->_miranda, NULL);
+ scene->_lander.setAction(&scene->_sequenceManager3, NULL, 4003, &scene->_hotspot5, NULL);
break;
case 3:
scene->_stripManager.start(8000, this);
break;
case 4:
- ADD_MOVER(scene->_hotspot4, 263, 187);
- scene->_hotspot4.animate(ANIM_MODE_1, NULL);
+ ADD_MOVER(scene->_olo, 263, 187);
+ scene->_olo.animate(ANIM_MODE_1, NULL);
break;
case 5:
scene->_soundHandler1.proc3();
- scene->_hotspot11.remove();
+ scene->_forceField.remove();
ADD_MOVER(_globals->_player, 340, 163);
- ADD_MOVER_NULL(scene->_hotspot7, 340, 169);
+ ADD_MOVER_NULL(scene->_miranda, 340, 169);
ADD_MOVER_NULL(scene->_hotspot5, 340, 165);
break;
case 6:
@@ -444,7 +451,7 @@ void Scene4000::Action12::signal() {
_globals->setFlag(32);
if (scene->_stripManager._field2E8 == 275) {
_globals->setFlag(82);
- ADD_MOVER_NULL(scene->_hotspot9, 292, 138);
+ ADD_MOVER_NULL(scene->_guardRock, 292, 138);
ADD_PLAYER_MOVER(283, 147);
} else {
setDelay(30);
@@ -454,11 +461,11 @@ void Scene4000::Action12::signal() {
if (scene->_stripManager._field2E8 == 275) {
_globals->_sceneManager.changeScene(4100);
} else {
- ADD_PLAYER_MOVER_THIS(scene->_hotspot9, 300, 132);
+ ADD_PLAYER_MOVER_THIS(scene->_guardRock, 300, 132);
}
break;
case 4:
- scene->_hotspot9.hide();
+ scene->_guardRock.hide();
scene->_stripManager.start(4020, this);
break;
case 5:
@@ -480,7 +487,7 @@ void Scene4000::Action13::signal() {
case 1:
scene->_soundHandler2.startSound(151);
scene->_soundHandler2.proc5(true);
- ADD_MOVER(scene->_hotspot3, -30, 70);
+ ADD_MOVER(scene->_lander, -30, 70);
break;
case 2:
scene->_soundHandler2.proc4();
@@ -491,7 +498,7 @@ void Scene4000::Action13::signal() {
/*--------------------------------------------------------------------------*/
-void Scene4000::Hotspot7::doAction(int action) {
+void Scene4000::Miranda::doAction(int action) {
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -545,7 +552,7 @@ void Scene4000::Hotspot8::doAction(int action) {
SceneItem::display2(4000, 25);
break;
case CURSOR_TALK:
- if (_globals->_inventory._peg._sceneNumber == 1)
+ if (RING_INVENTORY._peg._sceneNumber == 1)
SceneItem::display2(4000, 34);
else {
switch (_ctr) {
@@ -577,7 +584,7 @@ void Scene4000::Hotspot8::doAction(int action) {
}
}
-void Scene4000::Hotspot9::doAction(int action) {
+void Scene4000::GuardRock::doAction(int action) {
switch (action) {
case OBJECT_STUNNER:
SceneItem::display2(4000, 28);
@@ -594,7 +601,7 @@ void Scene4000::Hotspot9::doAction(int action) {
}
}
-void Scene4000::Hotspot10::doAction(int action) {
+void Scene4000::Ladder::doAction(int action) {
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -608,7 +615,7 @@ void Scene4000::Hotspot10::doAction(int action) {
scene->setAction(&scene->_sequenceManager1, scene, 4005, &_globals->_player, NULL);
} else {
scene->_sceneMode = 4004;
- scene->setAction(&scene->_sequenceManager1, scene, 4004, &_globals->_player, &scene->_hotspot10, NULL);
+ scene->setAction(&scene->_sequenceManager1, scene, 4004, &_globals->_player, &scene->_ladder, NULL);
}
break;
default:
@@ -617,7 +624,7 @@ void Scene4000::Hotspot10::doAction(int action) {
}
}
-void Scene4000::Hotspot12::doAction(int action) {
+void Scene4000::TheTech::doAction(int action) {
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -635,7 +642,7 @@ void Scene4000::Hotspot12::doAction(int action) {
SceneItem::display2(4000, 37);
else {
_globals->_player.disableControl();
- if (_globals->_sceneObjects->contains(&scene->_hotspot7))
+ if (_globals->_sceneObjects->contains(&scene->_miranda))
_globals->clearFlag(96);
scene->_sceneMode = 4012;
@@ -649,6 +656,7 @@ void Scene4000::Hotspot12::doAction(int action) {
}
void Scene4000::Hotspot13::doAction(int action) {
+ // Rock
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -680,24 +688,27 @@ void Scene4000::Hotspot::doAction(int action) {
case OBJECT_STUNNER:
SceneItem::display2(4000, 18);
break;
- case OBJECT_LADDER:
+ case OBJECT_LADDER: {
_globals->_player.disableControl();
- scene->_hotspot10.postInit();
- scene->_hotspot10.setVisage(4000);
- scene->_hotspot10.setStrip(5);
- scene->_hotspot10.setPosition(Common::Point(245, 147));
- scene->_hotspot10.hide();
- _globals->_sceneItems.push_front(&scene->_hotspot10);
+ scene->_ladder.postInit();
+ scene->_ladder.setVisage(4000);
+ scene->_ladder.setStrip(5);
+ scene->_ladder.setPosition(Common::Point(245, 147));
+ scene->_ladder.hide();
+ _globals->_sceneItems.push_front(&scene->_ladder);
if (_globals->_sceneObjects->contains(&scene->_hotspot8)) {
scene->_hotspot8.setAction(NULL);
- ADD_MOVER_NULL(scene->_hotspot8, 118, 145);
+ Common::Point pt(118, 145);
+ NpcMover *mover = new NpcMover();
+ scene->_hotspot18.addMover(mover, &pt, NULL);
}
scene->_sceneMode = 4004;
- scene->setAction(&scene->_sequenceManager1, scene, 4011, &_globals->_player, &scene->_hotspot10, NULL);
+ scene->setAction(&scene->_sequenceManager1, scene, 4011, &_globals->_player, &scene->_ladder, NULL);
break;
+ }
default:
SceneHotspot::doAction(action);
break;
@@ -705,6 +716,7 @@ void Scene4000::Hotspot::doAction(int action) {
}
void Scene4000::Hotspot17::doAction(int action) {
+ // Left Chimney
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -724,6 +736,7 @@ void Scene4000::Hotspot17::doAction(int action) {
}
void Scene4000::Hotspot18::doAction(int action) {
+ // Right Chimney
Scene4000 *scene = (Scene4000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -756,7 +769,7 @@ void Scene4000::Hotspot23::doAction(int action) {
/*--------------------------------------------------------------------------*/
Scene4000::Scene4000() :
- _hotspot11(0, CURSOR_LOOK, 4000, 14, CURSOR_USE, 4000, 32, OBJECT_STUNNER, 4000, 33,
+ _forceField(0, CURSOR_LOOK, 4000, 14, CURSOR_USE, 4000, 32, OBJECT_STUNNER, 4000, 33,
OBJECT_SCANNER, 4000, 19, LIST_END),
_hotspot19(0, CURSOR_LOOK, 4000, 7, LIST_END),
_hotspot20(0, CURSOR_LOOK, 4000, 3, LIST_END),
@@ -786,14 +799,14 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_stripManager.addSpeaker(&_speakerSText);
_stripManager.addSpeaker(&_speakerMText);
- _speakerCHFText._npc = &_hotspot9;
+ _speakerCHFText._npc = &_guardRock;
_speakerSText._npc = &_hotspot5;
- _speakerMText._npc = &_hotspot7;
- _speakerPText._npc = &_hotspot4;
+ _speakerMText._npc = &_miranda;
+ _speakerPText._npc = &_olo;
_speakerQText._npc = &_globals->_player;
_hotspot13.setBounds(Rect(263, 41, 278, 55));
- _hotspot14.setBounds(Rect(140, 177, 140 /*96*/, 204));
+ _hotspot14.setBounds(Rect(96 /*140*/, 177, 140 /*96*/, 204));
_hotspot15.setBounds(Rect(227, 101, 264, 143));
_hotspot16.setBounds(Rect(306, 100, 319, 148));
_hotspot17.setBounds(Rect(231, 53, 254, 60));
@@ -808,22 +821,23 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_hotspot20._sceneRegionId = 18;
_hotspot25._sceneRegionId = 17;
- _hotspot1.postInit();
- _hotspot1.setVisage(4000);
- _hotspot1.setPriority2(1);
- _hotspot1.setFrame(2);
- _hotspot1.setPosition(Common::Point(242, 59));
- _hotspot1.animate(ANIM_MODE_2, NULL);
-
- _hotspot27.postInit();
- _hotspot27.setVisage(4000);
- _hotspot27.setStrip(2);
- _hotspot27.setPriority2(1);
- _hotspot27.setFrame(2);
- _hotspot27.setPosition(Common::Point(299, 59));
- _hotspot27.animate(ANIM_MODE_2, NULL);
-
- if (_globals->_inventory._ladder._sceneNumber != 4000) {
+ _smoke1.postInit();
+ _smoke1.setVisage(4000);
+ _smoke1.fixPriority(1);
+ _smoke1.setFrame(2);
+ _smoke1.setPosition(Common::Point(242, 59));
+ _smoke1.animate(ANIM_MODE_2, NULL);
+
+ _smoke2.postInit();
+ _smoke2.setVisage(4000);
+ _smoke2.setStrip(2);
+ _smoke2.fixPriority(1);
+ _smoke2.setFrame(2);
+ _smoke2.setPosition(Common::Point(299, 59));
+ _smoke2.animate(ANIM_MODE_2, NULL);
+
+ if (RING_INVENTORY._ladder._sceneNumber != 4000) {
+ // if ladder is not in the scene, activate the hotspot on the wall
_hotspot8.postInit();
_hotspot8.setVisage(4018);
_hotspot8.setObjectWrapper(new SceneObjectWrapper());
@@ -833,24 +847,24 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_hotspot8.setAction(&_action9);
}
- _hotspot12.postInit();
- _hotspot12.setVisage(4000);
- _hotspot12.setStrip(3);
- _hotspot12.setFrame(3);
- _hotspot12.setPriority2(200);
- _hotspot12.setPosition(Common::Point(281, 176));
+ _theTech.postInit();
+ _theTech.setVisage(4000);
+ _theTech.setStrip(3);
+ _theTech.setFrame(3);
+ _theTech.fixPriority(200);
+ _theTech.setPosition(Common::Point(281, 176));
if (_globals->getFlag(34)) {
_soundHandler1.startSound(156);
- _hotspot11.postInit();
- _hotspot11.setVisage(4000);
- _hotspot11.setStrip(4);
- _hotspot11.setPosition(Common::Point(312, 174));
- _hotspot11.setPriority2(200);
- _hotspot11.animate(ANIM_MODE_8, 0, NULL);
+ _forceField.postInit();
+ _forceField.setVisage(4000);
+ _forceField.setStrip(4);
+ _forceField.setPosition(Common::Point(312, 174));
+ _forceField.fixPriority(200);
+ _forceField.animate(ANIM_MODE_8, 0, NULL);
- _globals->_sceneItems.push_back(&_hotspot11);
+ _globals->_sceneItems.push_back(&_forceField);
}
_globals->_player.postInit();
@@ -860,26 +874,28 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.setPosition(Common::Point(-28, 86));
if (!_globals->getFlag(36) && !_globals->getFlag(43)) {
- _hotspot7.postInit();
- _hotspot7.setVisage(2701);
- _hotspot7.animate(ANIM_MODE_1, NULL);
- _hotspot7.setObjectWrapper(new SceneObjectWrapper());
- _hotspot7._moveDiff = Common::Point(4, 2);
- _hotspot7.setPosition(Common::Point(-210, 139));
-
- _globals->_sceneItems.push_back(&_hotspot7);
+ _miranda.postInit();
+ _miranda.setVisage(2701);
+ _miranda.animate(ANIM_MODE_1, NULL);
+ _miranda.setObjectWrapper(new SceneObjectWrapper());
+ _miranda._moveDiff = Common::Point(4, 2);
+ _miranda.setPosition(Common::Point(-210, 139));
+
+ _globals->_sceneItems.push_back(&_miranda);
}
+ _globals->clearFlag(40);
+
switch (_globals->_sceneManager._previousScene) {
case 2320:
_globals->_soundHandler.startSound(155);
- if (_globals->_inventory._ale._sceneNumber == 1) {
- _hotspot9.postInit();
- _hotspot9.setVisage(4001);
- _hotspot9.animate(ANIM_MODE_1, NULL);
- _hotspot9.setObjectWrapper(new SceneObjectWrapper());
- _hotspot9.setPosition(Common::Point(314, 132));
+ if (RING_INVENTORY._ale._sceneNumber == 1) {
+ _guardRock.postInit();
+ _guardRock.setVisage(4001);
+ _guardRock.animate(ANIM_MODE_1, NULL);
+ _guardRock.setObjectWrapper(new SceneObjectWrapper());
+ _guardRock.setPosition(Common::Point(314, 132));
setAction(&_action6);
} else {
@@ -888,7 +904,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
setAction(&_sequenceManager1, this, 4001, &_globals->_player, NULL);
if (!_globals->getFlag(36) && !_globals->getFlag(43))
- _hotspot7.setAction(&_sequenceManager2, NULL, 4002, &_hotspot7, NULL);
+ _miranda.setAction(&_sequenceManager2, NULL, 4002, &_miranda, NULL);
}
if (_globals->getFlag(42))
@@ -898,13 +914,13 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
break;
case 4010:
- _hotspot7.setPosition(Common::Point(-210, 139));
+ _miranda.setPosition(Common::Point(-210, 139));
- _hotspot9.postInit();
- _hotspot9.setVisage(4001);
- _hotspot9.animate(ANIM_MODE_1, NULL);
- _hotspot9.setObjectWrapper(new SceneObjectWrapper());
- _hotspot9.setPosition(Common::Point(314, 132));
+ _guardRock.postInit();
+ _guardRock.setVisage(4001);
+ _guardRock.animate(ANIM_MODE_1, NULL);
+ _guardRock.setObjectWrapper(new SceneObjectWrapper());
+ _guardRock.setPosition(Common::Point(314, 132));
_hotspot2.postInit();
_hotspot2.setVisage(4018);
@@ -917,25 +933,25 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
break;
case 4025:
- if (_globals->_inventory._ladder._sceneNumber != 4000)
+ if (RING_INVENTORY._ladder._sceneNumber == 4000)
_hotspot8.remove();
_globals->_player.setPosition(Common::Point(260, 185));
if (!_globals->getFlag(36) && !_globals->getFlag(43))
- _hotspot7.setPosition(Common::Point(246, 146));
+ _miranda.setPosition(Common::Point(246, 146));
if (_globals->getFlag(96)) {
- _hotspot4.postInit();
- _hotspot4.setVisage(4006);
- _hotspot4.animate(ANIM_MODE_1, NULL);
- _hotspot4.setObjectWrapper(new SceneObjectWrapper());
- _hotspot4.setPosition(Common::Point(290, 163));
+ _olo.postInit();
+ _olo.setVisage(4006);
+ _olo.animate(ANIM_MODE_1, NULL);
+ _olo.setObjectWrapper(new SceneObjectWrapper());
+ _olo.setPosition(Common::Point(290, 163));
}
if (_globals->_stripNum == 4025) {
_soundHandler1.startSound(182);
- _hotspot11.remove();
+ _forceField.remove();
_hotspot5.postInit();
_hotspot5.setVisage(2801);
@@ -947,15 +963,15 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.disableControl();
if (!_globals->getFlag(96)) {
- _hotspot4.postInit();
- _hotspot4.setVisage(4006);
- _hotspot4.animate(ANIM_MODE_1, NULL);
- _hotspot4.setObjectWrapper(new SceneObjectWrapper());
- _hotspot4.setPosition(Common::Point(195, 128));
+ _olo.postInit();
+ _olo.setVisage(4006);
+ _olo.animate(ANIM_MODE_1, NULL);
+ _olo.setObjectWrapper(new SceneObjectWrapper());
+ _olo.setPosition(Common::Point(195, 128));
Common::Point pt(268, 157);
PlayerMover *mover = new PlayerMover();
- _hotspot4.addMover(mover, &pt, NULL);
+ _olo.addMover(mover, &pt, NULL);
}
_sceneMode = 4003;
@@ -963,7 +979,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
} else if (_globals->getFlag(96)) {
_globals->_player.disableControl();
_sceneMode = 4013;
- setAction(&_sequenceManager1, this, 4013, &_hotspot4, NULL);
+ setAction(&_sequenceManager1, this, 4013, &_olo, NULL);
}
_globals->clearFlag(96);
@@ -972,7 +988,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
case 4045:
_globals->_player.enableControl();
- if (_globals->_inventory._ladder._sceneNumber != 4000) {
+ if (RING_INVENTORY._ladder._sceneNumber != 4000) {
_hotspot8.postInit();
_hotspot8.setVisage(4017);
_hotspot8.animate(ANIM_MODE_1, NULL);
@@ -982,16 +998,16 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.setPosition(Common::Point(208, 153));
if (!_globals->getFlag(36) && !_globals->getFlag(43))
- _hotspot7.setPosition(Common::Point(246, 146));
+ _miranda.setPosition(Common::Point(246, 146));
if (_globals->getFlag(39)) {
_globals->clearFlag(39);
- _hotspot4.postInit();
- _hotspot4.setVisage(4006);
- _hotspot4.animate(ANIM_MODE_1, NULL);
- _hotspot4.setObjectWrapper(new SceneObjectWrapper());
- _hotspot4.setPosition(Common::Point(219, 150));
+ _olo.postInit();
+ _olo.setVisage(4006);
+ _olo.animate(ANIM_MODE_1, NULL);
+ _olo.setObjectWrapper(new SceneObjectWrapper());
+ _olo.setPosition(Common::Point(219, 150));
_globals->_player.disableControl();
setAction(&_sequenceManager1, this, 4010, &_globals->_player, NULL);
@@ -1000,12 +1016,12 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
if (_globals->_stripNum == 4000) {
_globals->_stripNum = 0;
- _hotspot9.postInit();
- _hotspot9.setVisage(4001);
- _hotspot9.animate(ANIM_MODE_1, NULL);
- _hotspot9.setObjectWrapper(new SceneObjectWrapper());
- _hotspot9.setPosition(Common::Point(231, 159));
- _hotspot9.setStrip(4);
+ _guardRock.postInit();
+ _guardRock.setVisage(4001);
+ _guardRock.animate(ANIM_MODE_1, NULL);
+ _guardRock.setObjectWrapper(new SceneObjectWrapper());
+ _guardRock.setPosition(Common::Point(231, 159));
+ _guardRock.setStrip(4);
setAction(&_action12);
}
@@ -1019,7 +1035,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(4008);
_globals->_player.setStrip(4);
_globals->_player.setFrame(_globals->_player.getFrameCount());
- _globals->_player.setPriority2(16);
+ _globals->_player.fixPriority(16);
_globals->_player.setPosition(Common::Point(260, 55));
_sceneMode = 4007;
@@ -1029,7 +1045,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.enableControl();
}
- if (_globals->_inventory._ladder._sceneNumber != 4000)
+ if (RING_INVENTORY._ladder._sceneNumber != 4000)
_hotspot8.remove();
break;
@@ -1037,7 +1053,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.enableControl();
_globals->_player.setPosition(Common::Point(270, 155));
- if (_globals->getFlag(42) && (_globals->_inventory._ladder._sceneNumber != 4000)) {
+ if (_globals->getFlag(42) && (RING_INVENTORY._ladder._sceneNumber != 4000)) {
_hotspot8.setVisage(4017);
_hotspot8.animate(ANIM_MODE_1, NULL);
_hotspot8.setPosition(Common::Point(244, 151));
@@ -1045,42 +1061,42 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
}
if (!_globals->getFlag(36) && !_globals->getFlag(43))
- _hotspot7.setPosition(Common::Point(246, 146));
+ _miranda.setPosition(Common::Point(246, 146));
break;
default:
_globals->_soundHandler.startSound(155);
- _hotspot3.postInit();
- _hotspot3.setVisage(4002);
- _hotspot3._moveDiff = Common::Point(10, 10);
- _hotspot3.setPosition(Common::Point(-100, 80));
- _hotspot3.changeZoom(-1);
- _hotspot3.setPosition(Common::Point(130, -1));
- _hotspot3.animate(ANIM_MODE_2, NULL);
+ _lander.postInit();
+ _lander.setVisage(4002);
+ _lander._moveDiff = Common::Point(10, 10);
+ _lander.setPosition(Common::Point(-100, 80));
+ _lander.changeZoom(-1);
+ _lander.setPosition(Common::Point(130, -1));
+ _lander.animate(ANIM_MODE_2, NULL);
if (_globals->_stripNum == 9000) {
- _hotspot4.postInit();
- _hotspot4.setVisage(4006);
- _hotspot4.setPosition(Common::Point(235, 153));
+ _olo.postInit();
+ _olo.setVisage(4006);
+ _olo.setPosition(Common::Point(235, 153));
- _hotspot9.postInit();
- _hotspot9.setVisage(4001);
- _hotspot9.setStrip(3);
- _hotspot9.setPosition(Common::Point(255, 153));
+ _guardRock.postInit();
+ _guardRock.setVisage(4001);
+ _guardRock.setStrip(3);
+ _guardRock.setPosition(Common::Point(255, 153));
setAction(&_action11);
- _globals->_inventory._ladder._sceneNumber = 4100;
- _globals->_inventory._rope._sceneNumber = 4150;
+ RING_INVENTORY._ladder._sceneNumber = 4100;
+ RING_INVENTORY._rope._sceneNumber = 4150;
_soundHandler1.startSound(156);
- _hotspot11.postInit();
- _hotspot11.setVisage(4000);
- _hotspot11.setStrip(4);
- _hotspot11.setPosition(Common::Point(312, 174));
- _hotspot11.setPriority2(200);
- _hotspot11.animate(ANIM_MODE_8, 0, NULL);
+ _forceField.postInit();
+ _forceField.setVisage(4000);
+ _forceField.setStrip(4);
+ _forceField.setPosition(Common::Point(312, 174));
+ _forceField.fixPriority(200);
+ _forceField.animate(ANIM_MODE_8, 0, NULL);
} else {
if (!_globals->getFlag(37)) {
_hotspot2.postInit();
@@ -1090,32 +1106,32 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_hotspot2.setPosition(Common::Point(182, 146));
_hotspot2.setAction(&_action10);
}
-
- _hotspot7.setPosition(Common::Point(-210, 139));
+ _miranda.setPosition(Common::Point(-210, 139));
setAction(&_action13);
}
+
break;
}
- if (_globals->_inventory._ladder._sceneNumber == 4000) {
- _hotspot10.postInit();
- _hotspot10.setVisage(4000);
- _hotspot10.setStrip(5);
- _hotspot10.setPosition(Common::Point(245, 147));
+ if (RING_INVENTORY._ladder._sceneNumber == 4000) {
+ _ladder.postInit();
+ _ladder.setVisage(4000);
+ _ladder.setStrip(5);
+ _ladder.setPosition(Common::Point(245, 147));
- _globals->_sceneItems.push_back(&_hotspot10);
+ _globals->_sceneItems.push_back(&_ladder);
}
- if (_globals->_inventory._rope._sceneNumber == 4000) {
- _hotspot6.postInit();
- _hotspot6.setVisage(4000);
- _hotspot6.setStrip(7);
- _hotspot6.setPriority2(1);
- _hotspot6.setPosition(Common::Point(268, 44));
+ if (RING_INVENTORY._rope._sceneNumber == 4000) {
+ _rope.postInit();
+ _rope.setVisage(4000);
+ _rope.setStrip(7);
+ _rope.fixPriority(1);
+ _rope.setPosition(Common::Point(268, 44));
}
_globals->_sceneItems.addItems(&_hotspot8, &_hotspot17, &_hotspot18, &_hotspot14, &_hotspot15,
- &_hotspot16, &_hotspot12, &_hotspot13, &_hotspot21, &_hotspot20, &_hotspot22, &_hotspot23,
+ &_hotspot16, &_theTech, &_hotspot13, &_hotspot21, &_hotspot20, &_hotspot22, &_hotspot23,
&_hotspot24, &_hotspot25, &_hotspot19, &_hotspot26, NULL);
}
@@ -1132,9 +1148,10 @@ void Scene4000::signal() {
setAction(&_sequenceManager1, this, 4014, &_globals->_player, &_hotspot5, NULL);
break;
case 4004:
- _globals->_inventory._ladder._sceneNumber = 4000;
+ RING_INVENTORY._ladder._sceneNumber = 4000;
// Deliberate fall-through
case 4007:
+ _globals->_player._uiEnabled = true;
_globals->_events.setCursor(CURSOR_USE);
_globals->setFlag(40);
break;
@@ -1154,21 +1171,21 @@ void Scene4000::signal() {
break;
case 4010:
_globals->setFlag(38);
- _hotspot4.remove();
+ _olo.remove();
break;
case 4012:
- _globals->_player.checkAngle(&_hotspot12);
+ _globals->_player.checkAngle(&_theTech);
_globals->_sceneManager.changeScene(4025);
break;
case 4013:
_globals->_player.enableControl();
- _hotspot4.remove();
+ _olo.remove();
break;
case 4014:
_globals->_sceneManager.changeScene(4250);
break;
case 4015:
- ADD_MOVER_NULL(_hotspot7, 0, _hotspot7._position.y - 5);
+ ADD_MOVER_NULL(_miranda, 0, _miranda._position.y - 5);
break;
}
}
@@ -1177,38 +1194,38 @@ void Scene4000::dispatch() {
Scene::dispatch();
if ((_globals->_player.getRegionIndex() == 10) || (_globals->_player.getRegionIndex() == 6))
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
if (_globals->_player.getRegionIndex() == 11)
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
if (_globals->_player.getRegionIndex() == 5)
- _globals->_player.setPriority2(94);
+ _globals->_player.fixPriority(94);
if (_globals->_sceneObjects->contains(&_hotspot5)) {
if ((_hotspot5.getRegionIndex() == 10) || (_hotspot5.getRegionIndex() == 6))
- _hotspot5.setPriority2(200);
+ _hotspot5.fixPriority(200);
if (_hotspot5.getRegionIndex() == 11)
- _hotspot5.setPriority2(-1);
+ _hotspot5.fixPriority(-1);
if (_hotspot5.getRegionIndex() == 5)
- _hotspot5.setPriority2(94);
+ _hotspot5.fixPriority(94);
}
- if (_globals->_sceneObjects->contains(&_hotspot7)) {
- if (!_hotspot7._mover)
- _hotspot7.checkAngle(&_globals->_player);
+ if (_globals->_sceneObjects->contains(&_miranda)) {
+ if (!_miranda._mover)
+ _miranda.checkAngle(&_globals->_player);
if (!_action && _globals->_player.getRegionIndex() == 23) {
- ADD_MOVER_NULL(_hotspot7, 204, 186);
+ ADD_MOVER_NULL(_miranda, 204, 186);
}
- if ((_hotspot7.getRegionIndex() == 10) || (_hotspot7.getRegionIndex() == 6))
- _hotspot7.setPriority2(200);
- if (_hotspot7.getRegionIndex() == 11)
- _hotspot7.setPriority2(-1);
- if (_hotspot7.getRegionIndex() == 5)
- _hotspot7.setPriority2(94);
+ if ((_miranda.getRegionIndex() == 10) || (_miranda.getRegionIndex() == 6))
+ _miranda.fixPriority(200);
+ if (_miranda.getRegionIndex() == 11)
+ _miranda.fixPriority(-1);
+ if (_miranda.getRegionIndex() == 5)
+ _miranda.fixPriority(94);
}
if (!_action) {
- if ((_globals->_inventory._peg._sceneNumber == 1) && _globals->getFlag(34) &&
+ if ((RING_INVENTORY._peg._sceneNumber == 1) && _globals->getFlag(34) &&
_globals->getFlag(37) && !_globals->getFlag(40)) {
_globals->_player.disableControl();
_soundHandler1.startSound(177);
@@ -1222,16 +1239,16 @@ void Scene4000::dispatch() {
if (_globals->_player.getRegionIndex() == 15)
_globals->_sceneManager.changeScene(4100);
- if ((_globals->_player._position.x > 5) && (_globals->_player._position.y < 100)) {
+ if ((_globals->_player._position.x <= 5) && (_globals->_player._position.y < 100)) {
_globals->_player.disableControl();
- if (!_globals->_sceneObjects->contains(&_hotspot7) || (_hotspot7._position.y <= 100)) {
+ if (!_globals->_sceneObjects->contains(&_miranda) || (_miranda._position.y <= 100)) {
_sceneMode = 4008;
setAction(&_sequenceManager1, this, 4008, &_globals->_player, NULL);
} else {
_sceneMode = 4015;
_globals->_player.addMover(NULL);
- setAction(&_sequenceManager1, this, 4015, &_globals->_player, &_hotspot7, NULL);
+ setAction(&_sequenceManager1, this, 4015, &_globals->_player, &_miranda, NULL);
}
}
}
@@ -1426,7 +1443,7 @@ void Scene4025::Hole::doAction(int action) {
if (!scene->_pegPtr2) {
_globals->_player.disableControl();
_globals->_events.setCursor(CURSOR_USE);
- _globals->_inventory._peg._sceneNumber = 4025;
+ RING_INVENTORY._peg._sceneNumber = 4025;
scene->_pegPtr = &scene->_peg5;
scene->_holePtr = this;
@@ -1513,6 +1530,7 @@ void Scene4025::postInit(SceneObjectList *OwnerList) {
_peg5.setFrame(5);
_peg5.hide();
+ // Hole N-W
_hole1.postInit();
_hole1.setVisage(4025);
_hole1.setStrip(1);
@@ -1522,6 +1540,7 @@ void Scene4025::postInit(SceneObjectList *OwnerList) {
_hole1._newPosition = Common::Point(123, 44);
_hole1._armStrip = 8;
+ // Hole N-E
_hole2.postInit();
_hole2.setVisage(4025);
_hole2.setStrip(1);
@@ -1531,6 +1550,7 @@ void Scene4025::postInit(SceneObjectList *OwnerList) {
_hole2._newPosition = Common::Point(166, 44);
_hole2._armStrip = 7;
+ // Hole Center
_hole3.postInit();
_hole3.setVisage(4025);
_hole3.setStrip(1);
@@ -1540,15 +1560,17 @@ void Scene4025::postInit(SceneObjectList *OwnerList) {
_hole3._newPosition = Common::Point(145, 60);
_hole3._armStrip = 6;
+ // Hole S-W
_hole4.postInit();
_hole4.setVisage(4025);
_hole4.setStrip(1);
- _hole4.setFrame2(6);
+ _hole4.setFrame2(9);
_hole4.setPosition(Common::Point(123, 87));
_hole4._pegPtr = NULL;
_hole4._newPosition = Common::Point(123, 80);
_hole4._armStrip = 5;
+ // Hole S-E
_hole5.postInit();
_hole5.setVisage(4025);
_hole5.setStrip(1);
@@ -1558,11 +1580,11 @@ void Scene4025::postInit(SceneObjectList *OwnerList) {
_hole5._newPosition = Common::Point(166, 80);
_hole5._armStrip = 4;
- _hole1.setPriority2(1);
- _hole2.setPriority2(1);
- _hole3.setPriority2(1);
- _hole4.setPriority2(1);
- _hole5.setPriority2(1);
+ _hole1.fixPriority(1);
+ _hole2.fixPriority(1);
+ _hole3.fixPriority(1);
+ _hole4.fixPriority(1);
+ _hole5.fixPriority(1);
_armHotspot.postInit();
_armHotspot.setVisage(4025);
@@ -1609,8 +1631,8 @@ void Scene4025::process(Event &event) {
Scene::process(event);
if (_gfxButton.process(event)) {
- if (_globals->_inventory._peg._sceneNumber == 4025)
- _globals->_inventory._peg._sceneNumber = 1;
+ if (RING_INVENTORY._peg._sceneNumber == 4025)
+ RING_INVENTORY._peg._sceneNumber = 1;
_globals->_sceneManager.changeScene(4000);
}
@@ -1642,7 +1664,7 @@ void Scene4045::Action1::signal() {
scene->_stripManager.start(4040, this, scene);
break;
case 2:
- scene->_hotspot5.animate(ANIM_MODE_NONE, NULL);
+ scene->_olloFace.animate(ANIM_MODE_NONE, NULL);
scene->_hotspot4.animate(ANIM_MODE_5, this);
break;
case 3:
@@ -1674,7 +1696,7 @@ void Scene4045::Action2::signal() {
scene->_stripManager.start(_globals->_stripNum, this, scene);
break;
case 2:
- scene->_hotspot5.animate(ANIM_MODE_NONE, NULL);
+ scene->_olloFace.animate(ANIM_MODE_NONE, NULL);
setDelay(10);
break;
case 3:
@@ -1705,7 +1727,7 @@ void Scene4045::Action3::signal() {
break;
case 2:
scene->_hotspot4.animate(ANIM_MODE_6, NULL);
- scene->_hotspot5.animate(ANIM_MODE_NONE, NULL);
+ scene->_olloFace.animate(ANIM_MODE_NONE, NULL);
ADD_MOVER(_globals->_player, 91, 1264);
break;
case 3:
@@ -1717,7 +1739,7 @@ void Scene4045::Action3::signal() {
/*--------------------------------------------------------------------------*/
-void Scene4045::Hotspot1::doAction(int action) {
+void Scene4045::OlloStand::doAction(int action) {
Scene4045 *scene = (Scene4045 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1759,7 +1781,7 @@ void Scene4045::Hotspot1::doAction(int action) {
}
}
-void Scene4045::Hotspot2::doAction(int action) {
+void Scene4045::Miranda::doAction(int action) {
Scene4045 *scene = (Scene4045 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1777,7 +1799,7 @@ void Scene4045::Hotspot2::doAction(int action) {
}
}
-void Scene4045::Hotspot6::doAction(int action) {
+void Scene4045::Necklace::doAction(int action) {
Scene4045 *scene = (Scene4045 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1787,13 +1809,13 @@ void Scene4045::Hotspot6::doAction(int action) {
case CURSOR_USE:
if (_globals->_player._position.y < 135) {
SceneItem::display2(4045, 16);
- _globals->_inventory._peg._sceneNumber = 1;
+ RING_INVENTORY._peg._sceneNumber = 1;
_globals->_events.setCursor(CURSOR_WALK);
remove();
} else {
scene->_sceneMode = 4047;
_globals->_player.disableControl();
- scene->setAction(&scene->_sequenceManager, scene, 4047, &_globals->_player, &scene->_hotspot1, NULL);
+ scene->setAction(&scene->_sequenceManager, scene, 4047, &_globals->_player, &scene->_olloStand, NULL);
}
break;
default:
@@ -1805,15 +1827,15 @@ void Scene4045::Hotspot6::doAction(int action) {
/*--------------------------------------------------------------------------*/
Scene4045::Scene4045() :
- _hotspot3(0, CURSOR_LOOK, 4045, 1, CURSOR_USE, 4100, 21, LIST_END),
- _hotspot7(9, CURSOR_LOOK, 4045, 0, CURSOR_USE, 4045, 15, LIST_END),
- _hotspot8(10, CURSOR_LOOK, 4045, 2, LIST_END),
- _hotspot9(11, CURSOR_LOOK, 4045, 3, CURSOR_USE, 4045, 15, LIST_END),
- _hotspot10(12, CURSOR_LOOK, 4045, 4, CURSOR_USE, 4045, 19, LIST_END),
- _hotspot11(13, CURSOR_LOOK, 4045, 6, CURSOR_USE, 4045, 15, LIST_END),
- _hotspot12(14, CURSOR_LOOK, 4045, 7, CURSOR_USE, 4045, 29, LIST_END),
- _hotspot13(15, CURSOR_LOOK, 4045, 8, CURSOR_USE, 4045, 19, LIST_END),
- _hotspot14(0, CURSOR_LOOK, 4045, 10, LIST_END) {
+ _flame(0, CURSOR_LOOK, 4045, 1, CURSOR_USE, 4100, 21, LIST_END),
+ _hotspot7(9, CURSOR_LOOK, 4045, 0, CURSOR_USE, 4045, 15, LIST_END),
+ _hotspot8(10, CURSOR_LOOK, 4045, 2, LIST_END),
+ _hotspot9(11, CURSOR_LOOK, 4045, 3, CURSOR_USE, 4045, 15, LIST_END),
+ _hotspot10(12, CURSOR_LOOK, 4045, 4, CURSOR_USE, 4045, 19, LIST_END),
+ _hotspot11(13, CURSOR_LOOK, 4045, 6, CURSOR_USE, 4045, 15, LIST_END),
+ _hotspot12(14, CURSOR_LOOK, 4045, 7, CURSOR_USE, 4045, 29, LIST_END),
+ _hotspot13(15, CURSOR_LOOK, 4045, 8, CURSOR_USE, 4045, 19, LIST_END),
+ _hotspot14(0, CURSOR_LOOK, 4045, 10, LIST_END) {
_hotspot14.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
}
@@ -1833,12 +1855,12 @@ void Scene4045::postInit(SceneObjectList *OwnerList) {
_speakerQText._textPos.y = 140;
- _hotspot3.postInit();
- _hotspot3.setVisage(4045);
- _hotspot3.setPosition(Common::Point(47, 111));
- _hotspot3.animate(ANIM_MODE_2, NULL);
- _hotspot3.setPriority2(156);
- _globals->_sceneItems.push_back(&_hotspot3);
+ _flame.postInit();
+ _flame.setVisage(4045);
+ _flame.setPosition(Common::Point(47, 111));
+ _flame.animate(ANIM_MODE_2, NULL);
+ _flame.fixPriority(156);
+ _globals->_sceneItems.push_back(&_flame);
_globals->_player.postInit();
_globals->_player.setVisage(4200);
@@ -1846,73 +1868,76 @@ void Scene4045::postInit(SceneObjectList *OwnerList) {
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player._moveDiff = Common::Point(7, 4);
- _hotspot1.postInit();
- _hotspot1.setVisage(4051);
+ _olloStand.postInit();
+ _olloStand.setVisage(4051);
- _hotspot5.postInit();
- _hotspot5.setVisage(4051);
- _hotspot5.setStrip(4);
- _hotspot5.setPriority2(152);
+ _olloFace.postInit();
+ _olloFace.setVisage(4051);
+ _olloFace.setStrip(4);
+ _olloFace.fixPriority(152);
if(_globals->_sceneManager._previousScene == 4050) {
_globals->_soundHandler.startSound(155);
_globals->_player.setPosition(Common::Point(72, 128));
_globals->_player.enableControl();
- _hotspot1.setStrip(5);
- _hotspot1.setPosition(Common::Point(173, 99));
- _hotspot1._numFrames = 1;
- _hotspot1.animate(ANIM_MODE_2, NULL);
+ _olloStand.setStrip(5);
+ _olloStand.setPosition(Common::Point(173, 99));
+ _olloStand._numFrames = 1;
+ _olloStand.animate(ANIM_MODE_2, NULL);
- _hotspot5.setPosition(Common::Point(177, 40));
+ _olloFace.setPosition(Common::Point(177, 40));
- if (_globals->_inventory._peg._sceneNumber == 4045) {
- _hotspot6.postInit();
- _hotspot6.setVisage(4045);
- _hotspot6.setStrip(2);
- _hotspot6.setPosition(Common::Point(108, 82));
- _globals->_sceneItems.push_back(&_hotspot6);
+ if (RING_INVENTORY._peg._sceneNumber == 4045) {
+ _necklace.postInit();
+ _necklace.setVisage(4045);
+ _necklace.setStrip(2);
+ _necklace.setPosition(Common::Point(108, 82));
+ _globals->_sceneItems.push_back(&_necklace);
}
} else {
_globals->_player.setPosition(Common::Point(108, 192));
_globals->_player.setStrip(4);
if (!_globals->getFlag(36) && !_globals->getFlag(43)) {
- _hotspot2.postInit();
- _hotspot2.setVisage(4102);
- _hotspot2.animate(ANIM_MODE_NONE, NULL);
- _hotspot2.setStrip(3);
- _hotspot2.changeZoom(-1);
- _hotspot2.setPosition(Common::Point(66, 209));
- _globals->_sceneItems.push_back(&_hotspot2);
+ _miranda.postInit();
+ _miranda.setVisage(4102);
+ _miranda.animate(ANIM_MODE_NONE, NULL);
+ _miranda.setStrip(3);
+ _miranda.setFrame(2);
+ _miranda.changeZoom(-1);
+
+ _miranda.setPosition(Common::Point(66, 209));
+ _globals->_sceneItems.push_back(&_miranda);
}
if (_globals->getFlag(31)) {
- _hotspot1.setVisage(4051);
- _hotspot1.setStrip(5);
- _hotspot1.setPosition(Common::Point(173, 99));
- _hotspot1._numFrames = 1;
- _hotspot1.animate(ANIM_MODE_2, NULL);
-
- _hotspot5.setPosition(Common::Point(177, 40));
-
- if (_globals->_inventory._peg._sceneNumber == 4045) {
- _hotspot6.postInit();
- _hotspot6.setVisage(4045);
- _hotspot6.setStrip(2);
- _hotspot6.setPosition(Common::Point(108, 82));
- _globals->_sceneItems.push_back(&_hotspot6);
+ // Olo asleep
+ _olloStand.setVisage(4051);
+ _olloStand.setStrip(5);
+ _olloStand.setPosition(Common::Point(173, 99));
+ _olloStand._numFrames = 1;
+ _olloStand.animate(ANIM_MODE_2, NULL);
+
+ _olloFace.setPosition(Common::Point(177, 40));
+
+ if (RING_INVENTORY._peg._sceneNumber == 4045) {
+ _necklace.postInit();
+ _necklace.setVisage(4045);
+ _necklace.setStrip(2);
+ _necklace.setPosition(Common::Point(108, 82));
+ _globals->_sceneItems.push_back(&_necklace);
}
} else {
- _hotspot1.setPosition(Common::Point(186, 149));
+ _olloStand.setPosition(Common::Point(186, 149));
_hotspot4.postInit();
_hotspot4.setVisage(4051);
_hotspot4.setStrip(2);
- _hotspot4.setPriority2(152);
+ _hotspot4.fixPriority(152);
_hotspot4.setPosition(Common::Point(202, 80));
- _hotspot5.setPosition(Common::Point(192, 77));
+ _olloFace.setPosition(Common::Point(192, 77));
_globals->setFlag(31);
setAction(&_action1);
@@ -1920,17 +1945,17 @@ void Scene4045::postInit(SceneObjectList *OwnerList) {
}
}
- _globals->_sceneItems.addItems(&_hotspot1, &_hotspot7, &_hotspot8, &_hotspot9, &_hotspot10,
+ _globals->_sceneItems.addItems(&_olloStand, &_hotspot7, &_hotspot8, &_hotspot9, &_hotspot10,
&_hotspot13, &_hotspot11, &_hotspot12, &_hotspot14, NULL);
}
void Scene4045::stripCallback(int v) {
switch (v) {
case 1:
- _hotspot5.animate(ANIM_MODE_7, 0, NULL);
+ _olloFace.animate(ANIM_MODE_7, 0, NULL);
break;
case 2:
- _hotspot5.animate(ANIM_MODE_NONE, NULL);
+ _olloFace.animate(ANIM_MODE_NONE, NULL);
break;
}
}
@@ -1939,7 +1964,7 @@ void Scene4045::signal() {
switch (_sceneMode) {
case 4046:
case 4047:
- _hotspot5.animate(ANIM_MODE_NONE, NULL);
+ _olloFace.animate(ANIM_MODE_NONE, NULL);
break;
case 4050:
_globals->_sceneManager.changeScene(4000);
@@ -1954,11 +1979,11 @@ void Scene4045::dispatch() {
if (!_action) {
if (_globals->_player.getRegionIndex() == 8) {
_globals->_player.addMover(NULL);
- if (_hotspot1._strip == 1) {
+ if (_olloStand._strip != 1) {
_globals->_player.disableControl();
_sceneMode = 4046;
- _hotspot1._numFrames = 10;
- setAction(&_sequenceManager, this, 4046, &_globals->_player, &_hotspot1, NULL);
+ _olloStand._numFrames = 10;
+ setAction(&_sequenceManager, this, 4046, &_globals->_player, &_olloStand, NULL);
} else {
setAction(&_action3);
}
@@ -1982,6 +2007,7 @@ void Scene4045::dispatch() {
*--------------------------------------------------------------------------*/
void Scene4050::Action1::signal() {
+ // "Map" on the wall
Scene4050 *scene = (Scene4050 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -1989,9 +2015,12 @@ void Scene4050::Action1::signal() {
_globals->_player.disableControl();
setDelay(3);
break;
- case 1:
- ADD_PLAYER_MOVER(204, 152);
+ case 1: {
+ Common::Point pt(204, 152);
+ PlayerMover *mover = new PlayerMover();
+ _globals->_player.addMover(mover, &pt, this);
break;
+ }
case 2:
_globals->_player.checkAngle(&scene->_hotspot17);
@@ -1999,7 +2028,8 @@ void Scene4050::Action1::signal() {
scene->_hotspot14.setVisage(4050);
scene->_hotspot14.setStrip(2);
scene->_hotspot14.setPosition(Common::Point(91, 154));
- scene->_hotspot14.setPriority2(200);
+ scene->_hotspot14.fixPriority(200);
+ setDelay(10);
break;
case 3:
_globals->_events.waitForPress();
@@ -2013,6 +2043,7 @@ void Scene4050::Action1::signal() {
}
void Scene4050::Action2::signal() {
+ // Climb down the rope
switch (_actionIndex++) {
case 0:
_globals->_player.disableControl();
@@ -2041,21 +2072,21 @@ void Scene4050::Action2::signal() {
_globals->_player.setVisage(4202);
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player.setPosition(Common::Point(210, 185));
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.enableControl();
-
remove();
break;
}
}
void Scene4050::Action3::signal() {
+ // Climb up the rope
switch (_actionIndex++) {
case 0:
ADD_PLAYER_MOVER(210, 185);
break;
case 1:
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.setVisage(4052);
_globals->_player.setStrip(5);
_globals->_player.changeZoom(100);
@@ -2084,7 +2115,7 @@ void Scene4050::Action4::signal() {
case 0:
_globals->_player.disableControl();
ADD_MOVER(_globals->_player, 189, 135);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
break;
case 1:
_globals->_player._moveDiff.y = 3;
@@ -2120,7 +2151,7 @@ void Scene4050::Action4::signal() {
_globals->_player.setStrip(2);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(216, 184));
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
break;
case 5:
scene->_hotspot16.setStrip2(4);
@@ -2149,7 +2180,7 @@ void Scene4050::Action4::signal() {
/*--------------------------------------------------------------------------*/
-void Scene4050::Hotspot14::doAction(int action) {
+void Scene4050::Hotspot15::doAction(int action) {
Scene4050 *scene = (Scene4050 *)_globals->_sceneManager._scene;
switch (action) {
@@ -2214,6 +2245,7 @@ void Scene4050::postInit(SceneObjectList *OwnerList) {
switch (_globals->_sceneManager._previousScene) {
case 4000:
if (_globals->getFlag(41)) {
+ // Using a rope
_hotspot15.postInit();
_hotspot15.setVisage(4054);
_hotspot15.setPosition(Common::Point(206, 103));
@@ -2222,12 +2254,13 @@ void Scene4050::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(4008);
_globals->_player.setPosition(Common::Point(206, 62));
_globals->_player.changeZoom(130);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.setStrip(2);
setAction(&_action2);
_globals->_soundHandler.startSound(175);
} else {
+ // Without the rope
_globals->_player.setVisage(5315);
_globals->_player.setPosition(Common::Point(189, 83));
_globals->_player.changeZoom(130);
@@ -2264,7 +2297,7 @@ void Scene4050::postInit(SceneObjectList *OwnerList) {
_hotspot17.postInit();
_hotspot17.setVisage(4050);
_hotspot17.setPosition(Common::Point(209, 119));
- _hotspot17.setPriority2(2);
+ _hotspot17.fixPriority(2);
_hotspot1.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
_hotspot2.setBounds(Rect(150, 25, 198, 125));
@@ -2285,11 +2318,22 @@ void Scene4050::postInit(SceneObjectList *OwnerList) {
}
void Scene4050::signal() {
-
+ if (_sceneMode == 4050)
+ _globals->_sceneManager.changeScene(4045);
}
void Scene4050::dispatch() {
+ if (!_action) {
+ if ((_globals->_player._canWalk) && (_globals->_player._position.y > 196)) {
+ _sceneMode = 4050;
+ _globals->_player.disableControl();
+ Common::Point pt(160, 275);
+ NpcMover *mover = new NpcMover();
+ _globals->_player.addMover(mover, &pt, this);
+ }
+ }
+ Scene::dispatch();
}
/*--------------------------------------------------------------------------
@@ -2328,7 +2372,7 @@ void Scene4100::Action2::signal() {
scene->_hotspot2.setVisage(4120);
scene->_hotspot2.animate(ANIM_MODE_1, NULL);
scene->_hotspot2.setStrip2(4);
- scene->_hotspot2.setPriority2(100);
+ scene->_hotspot2.fixPriority(100);
scene->_hotspot2.setPosition(Common::Point(214, 119));
setDelay(3);
@@ -2355,14 +2399,15 @@ void Scene4100::Action3::signal() {
switch (_actionIndex++) {
case 0:
_globals->clearFlag(43);
- _globals->clearFlag(36);
+ _globals->setFlag(36);
setDelay(15);
break;
case 1:
scene->_stripManager.start(4505, this);
break;
case 2:
- scene->setAction(&scene->_action2);
+ setAction(&scene->_action2, this);
+ break;
case 3:
scene->_stripManager.start(4510, this);
break;
@@ -2372,10 +2417,13 @@ void Scene4100::Action3::signal() {
case 5:
_globals->_sceneManager.changeScene(4150);
break;
+ default:
+ break;
}
}
void Scene4100::Action4::signal() {
+ // Rock getting drunk
Scene4100 *scene = (Scene4100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -2394,6 +2442,7 @@ void Scene4100::Action4::signal() {
_globals->clearFlag(43);
_globals->setFlag(42);
scene->_stripManager.start(4119, this);
+ break;
case 4:
setDelay(15);
break;
@@ -2413,16 +2462,16 @@ void Scene4100::Action5::signal() {
ADD_PLAYER_MOVER(58, 151);
break;
case 1:
- if (_globals->_inventory._ladder._sceneNumber == 4100) {
- _globals->_inventory._ladder._sceneNumber = 1;
- scene->_hotspot6.remove();
+ if (RING_INVENTORY._ladder._sceneNumber == 4100) {
+ RING_INVENTORY._ladder._sceneNumber = 1;
+ scene->_ladder.remove();
} else {
- scene->_hotspot6.postInit();
- scene->_hotspot6.setVisage(4101);
- scene->_hotspot6.setPosition(Common::Point(49, 144));
+ scene->_ladder.postInit();
+ scene->_ladder.setVisage(4101);
+ scene->_ladder.setPosition(Common::Point(49, 144));
- _globals->_inventory._ladder._sceneNumber = 4100;
- _globals->_sceneItems.push_front(&scene->_hotspot6);
+ RING_INVENTORY._ladder._sceneNumber = 4100;
+ _globals->_sceneItems.push_front(&scene->_ladder);
}
_globals->_player.enableControl();
@@ -2454,20 +2503,26 @@ void Scene4100::Hotspot1::doAction(int action) {
Scene4100 *scene = (Scene4100 *)_globals->_sceneManager._scene;
switch (action) {
- case CURSOR_LOOK:
- SceneItem::display2(4100, _globals->getFlag(42) ? 24 : 12);
- break;
case OBJECT_STUNNER:
SceneItem::display2(4100, 16);
break;
+ case OBJECT_ALE:
+ _globals->_player.disableControl();
+ scene->setAction(&scene->_action3);
+ break;
+ case CURSOR_LOOK:
+ SceneItem::display2(4100, _globals->getFlag(42) ? 24 : 12);
+ break;
case CURSOR_USE:
SceneItem::display2(4100, 22);
break;
case CURSOR_TALK:
- if (_globals->_inventory._peg._sceneNumber == 1) {
+ if (RING_INVENTORY._peg._sceneNumber == 1) {
_globals->_player.disableControl();
+ scene->_sceneMode = 4109;
scene->setAction(&scene->_sequenceManager, scene, 4109, NULL);
} else if (_globals->getFlag(42)) {
+ scene->_sceneMode = 4102;
scene->setAction(&scene->_sequenceManager, scene, 4102, NULL);
} else {
if (_globals->getFlag(33))
@@ -2500,7 +2555,7 @@ void Scene4100::Hotspot2::doAction(int action) {
}
}
-void Scene4100::Hotspot5::doAction(int action) {
+void Scene4100::Miranda::doAction(int action) {
Scene4100 *scene = (Scene4100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -2517,7 +2572,7 @@ void Scene4100::Hotspot5::doAction(int action) {
}
}
-void Scene4100::Hotspot6::doAction(int action) {
+void Scene4100::Ladder::doAction(int action) {
Scene4100 *scene = (Scene4100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -2539,7 +2594,9 @@ void Scene4100::Hotspot6::doAction(int action) {
}
}
-
+/**
+ Exit hotspot, South
+ */
void Scene4100::Hotspot14::doAction(int action) {
Scene4100 *scene = (Scene4100 *)_globals->_sceneManager._scene;
@@ -2595,13 +2652,13 @@ void Scene4100::postInit(SceneObjectList *OwnerList) {
_hotspot1.postInit();
_hotspot1.setVisage(4102);
- _hotspot1.setPriority2(129);
+ _hotspot1.fixPriority(129);
_hotspot1.setPosition(Common::Point(171, 120));
_hotspot3.postInit();
_hotspot3.setVisage(4130);
_hotspot3.animate(ANIM_MODE_2, NULL);
- _hotspot3.setPriority2(200);
+ _hotspot3.fixPriority(200);
_hotspot3.setPosition(Common::Point(272, 110));
_hotspot4.postInit();
@@ -2615,21 +2672,21 @@ void Scene4100::postInit(SceneObjectList *OwnerList) {
_hotspot1.setStrip(1);
_hotspot1.setFrame(4);
} else if (!_globals->getFlag(43)) {
- _hotspot5.postInit();
- _hotspot5.setVisage(4102);
- _hotspot5.setStrip2(3);
- _hotspot5.setFrame(2);
- _hotspot5.setPosition(Common::Point(65, 188));
+ _miranda.postInit();
+ _miranda.setVisage(4102);
+ _miranda.setStrip2(3);
+ _miranda.setFrame(2);
+ _miranda.setPosition(Common::Point(65, 188));
- _globals->_sceneItems.push_back(&_hotspot5);
+ _globals->_sceneItems.push_back(&_miranda);
}
- if (_globals->_inventory._ladder._sceneNumber == 4100) {
- _hotspot6.postInit();
- _hotspot6.setVisage(4101);
- _hotspot6.setPosition(Common::Point(49, 144));
+ if (RING_INVENTORY._ladder._sceneNumber == 4100) {
+ _ladder.postInit();
+ _ladder.setVisage(4101);
+ _ladder.setPosition(Common::Point(49, 144));
- _globals->_sceneItems.push_back(&_hotspot6);
+ _globals->_sceneItems.push_back(&_ladder);
}
_hotspot14.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
@@ -2664,7 +2721,7 @@ void Scene4100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setPosition(Common::Point(252, 139));
_globals->_player.setStrip(2);
} else {
- if ((_globals->_inventory._ale._sceneNumber == 4100) && !_globals->getFlag(42)) {
+ if ((RING_INVENTORY._ale._sceneNumber == 4100) && !_globals->getFlag(42)) {
_globals->_player.disableControl();
setAction(&_action3);
}
@@ -2838,15 +2895,15 @@ void Scene4150::Action3::signal() {
case 1:
_globals->_player.checkAngle(&scene->_hotspot3);
- if (_globals->_inventory._rope._sceneNumber == 1) {
+ if (RING_INVENTORY._rope._sceneNumber == 1) {
scene->_hotspot3.postInit();
scene->_hotspot3.setVisage(4150);
scene->_hotspot3.setPosition(Common::Point(175, 70));
- _globals->_inventory._rope._sceneNumber = 4150;
+ RING_INVENTORY._rope._sceneNumber = 4150;
_globals->_sceneItems.push_front(&scene->_hotspot3);
} else {
- _globals->_inventory._rope._sceneNumber = 1;
+ RING_INVENTORY._rope._sceneNumber = 1;
scene->_hotspot3.remove();
}
@@ -2914,7 +2971,7 @@ void Scene4150::Hotspot3::doAction(int action) {
/*--------------------------------------------------------------------------*/
Scene4150::Scene4150() :
- _hotspot1(0, CURSOR_LOOK, 4000, 17, CURSOR_USE, 4150, 21, CURSOR_TALK, 4150, 21,
+ _hotspot1(0, CURSOR_LOOK, 4150, 17, CURSOR_USE, 4150, 21, CURSOR_TALK, 4150, 21,
OBJECT_SCANNER, 4150, 22, OBJECT_STUNNER, 4150, 23, LIST_END),
_hotspot2(0, CURSOR_LOOK, 4150, 4, CURSOR_USE, 4150, 24, LIST_END),
_hotspot7(0, CURSOR_LOOK, 4150, 1, CURSOR_USE, 4150, 25, OBJECT_ROPE, 4150, 26, LIST_END),
@@ -2947,7 +3004,7 @@ void Scene4150::postInit(SceneObjectList *OwnerList) {
_hotspot2.postInit();
_hotspot2.setVisage(4171);
_hotspot2.animate(ANIM_MODE_2, NULL);
- _hotspot2.setPriority2(100);
+ _hotspot2.fixPriority(100);
_hotspot2.setPosition(Common::Point(76, 147));
_hotspot1.postInit();
@@ -2980,7 +3037,7 @@ void Scene4150::postInit(SceneObjectList *OwnerList) {
_globals->setFlag(44);
}
- if (_globals->_inventory._rope._sceneNumber == 4150) {
+ if (RING_INVENTORY._rope._sceneNumber == 4150) {
_hotspot3.postInit();
_hotspot3.setVisage(4150);
_hotspot3.setPosition(Common::Point(175, 70));
@@ -3071,7 +3128,7 @@ void Scene4250::Action1::signal() {
break;
case 5:
ADD_PLAYER_MOVER(220, 175);
- scene->_hotspot1.setPriority2(105);
+ scene->_hotspot1.fixPriority(105);
ADD_PLAYER_MOVER_NULL(scene->_hotspot1, 197, 173);
break;
case 6:
@@ -3167,7 +3224,7 @@ void Scene4250::Action4::signal() {
break;
case 1:
_globals->_player.addMover(NULL);
- scene->_stripManager.start((_globals->_inventory._helmet._sceneNumber == 4250) ? 4259 : 4256, this);
+ scene->_stripManager.start((RING_INVENTORY._helmet._sceneNumber == 4250) ? 4259 : 4256, this);
break;
case 2:
ADD_PLAYER_MOVER(_globals->_player._position.x + 5, _globals->_player._position.y);
@@ -3188,8 +3245,8 @@ void Scene4250::Action5::signal() {
setDelay(3);
break;
case 1:
- scene->_hotspot4.setPriority2(195);
- scene->_hotspot1.setPriority2(105);
+ scene->_hotspot4.fixPriority(195);
+ scene->_hotspot1.fixPriority(105);
ADD_MOVER_NULL(_globals->_player, 6, 185);
ADD_MOVER_NULL(scene->_hotspot4, 9, 190);
ADD_MOVER(scene->_hotspot1, 12, 180);
@@ -3200,7 +3257,7 @@ void Scene4250::Action5::signal() {
ADD_PLAYER_MOVER_NULL(scene->_hotspot4, 239, 195);
break;
case 3:
- scene->_hotspot4.setPriority2(-1);
+ scene->_hotspot4.fixPriority(-1);
scene->_hotspot1.setStrip(5);
scene->_hotspot4.setStrip(7);
_globals->_player.enableControl();
@@ -3216,7 +3273,7 @@ void Scene4250::Hotspot1::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(4250, (_globals->_inventory._helmet._sceneNumber == 4250) ? 19 : 14);
+ SceneItem::display2(4250, (RING_INVENTORY._helmet._sceneNumber == 4250) ? 19 : 14);
break;
case CURSOR_TALK:
_globals->_player.disableControl();
@@ -3224,7 +3281,7 @@ void Scene4250::Hotspot1::doAction(int action) {
scene->setAction(&scene->_action3);
} else {
scene->_sceneMode = 4260;
- if (_globals->_inventory._helmet._sceneNumber == 4250) {
+ if (RING_INVENTORY._helmet._sceneNumber == 4250) {
scene->_sceneMode = 4265;
scene->setAction(&scene->_sequenceManager, scene, 4265, this, NULL);
} else {
@@ -3234,13 +3291,13 @@ void Scene4250::Hotspot1::doAction(int action) {
}
break;
case OBJECT_SCANNER:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
SceneItem::display2(4250, 21);
else
SceneHotspot::doAction(action);
break;
case OBJECT_STUNNER:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
SceneItem::display2(4250, 22);
else
SceneHotspot::doAction(action);
@@ -3285,16 +3342,16 @@ void Scene4250::Hotspot4::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(4250, (_globals->_inventory._helmet._sceneNumber == 4250) ? 18 : 5);
+ SceneItem::display2(4250, (RING_INVENTORY._helmet._sceneNumber == 4250) ? 18 : 5);
break;
case OBJECT_SCANNER:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
SceneItem::display2(4250, 21);
else
SceneHotspot::doAction(action);
break;
case OBJECT_STUNNER:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
SceneItem::display2(4250, 22);
else
SceneHotspot::doAction(action);
@@ -3307,12 +3364,12 @@ void Scene4250::Hotspot4::doAction(int action) {
} else {
scene->_sceneMode = 4254;
- if (_globals->_inventory._helmet._sceneNumber == 4250) {
+ if (RING_INVENTORY._helmet._sceneNumber == 4250) {
scene->_sceneMode = 4266;
scene->setAction(&scene->_sequenceManager, scene, 4266, this, NULL);
} else {
scene->setAction(&scene->_sequenceManager, scene,
- (_globals->_inventory._concentrator._sceneNumber == 1) ? 4255 : 4254, NULL);
+ (RING_INVENTORY._concentrator._sceneNumber == 1) ? 4255 : 4254, NULL);
}
}
break;
@@ -3327,20 +3384,20 @@ void Scene4250::Hotspot6::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(4250, (_globals->_inventory._helmet._sceneNumber == 4250) ? 7 : 6);
+ SceneItem::display2(4250, (RING_INVENTORY._helmet._sceneNumber == 4250) ? 7 : 6);
break;
case OBJECT_SCANNER:
- SceneItem::display2(4250, (_globals->_inventory._helmet._sceneNumber == 4250) ? 1 : 2);
+ SceneItem::display2(4250, (RING_INVENTORY._helmet._sceneNumber == 4250) ? 1 : 2);
break;
case OBJECT_STUNNER:
- SceneItem::display2(4250, (_globals->_inventory._helmet._sceneNumber == 4250) ? 20 : 3);
+ SceneItem::display2(4250, (RING_INVENTORY._helmet._sceneNumber == 4250) ? 20 : 3);
break;
case OBJECT_HELMET:
_globals->_soundHandler.startSound(354);
_globals->_player.disableControl();
- _globals->_inventory._helmet._sceneNumber = 4250;
+ RING_INVENTORY._helmet._sceneNumber = 4250;
- if (_globals->_inventory._concentrator._sceneNumber == 1) {
+ if (RING_INVENTORY._concentrator._sceneNumber == 1) {
if (_globals->getFlag(115)) {
scene->_sceneMode = 4269;
scene->setAction(&scene->_sequenceManager, scene, 4269, this, NULL);
@@ -3349,10 +3406,10 @@ void Scene4250::Hotspot6::doAction(int action) {
_globals->_events.setCursor(CURSOR_WALK);
scene->setAction(&scene->_sequenceManager, scene, 4256, this, NULL);
}
- } else if (_globals->_inventory._keyDevice._sceneNumber == 1) {
+ } else if (RING_INVENTORY._keyDevice._sceneNumber == 1) {
scene->_sceneMode = 4267;
scene->setAction(&scene->_sequenceManager, scene, 4267, this, NULL);
- } else if (_globals->_inventory._keyDevice._sceneNumber == 4300) {
+ } else if (RING_INVENTORY._keyDevice._sceneNumber == 4300) {
scene->_sceneMode = 4268;
scene->setAction(&scene->_sequenceManager, scene, 4268, this, NULL);
} else {
@@ -3363,10 +3420,10 @@ void Scene4250::Hotspot6::doAction(int action) {
}
break;
case OBJECT_NULLIFIER:
- if (_globals->_inventory._helmet._sceneNumber == 4250) {
+ if (RING_INVENTORY._helmet._sceneNumber == 4250) {
_globals->_soundHandler.startSound(353);
_globals->_player.disableControl();
- _globals->_inventory._helmet._sceneNumber = 1;
+ RING_INVENTORY._helmet._sceneNumber = 1;
scene->_sceneMode = 4257;
scene->setAction(&scene->_sequenceManager, scene, 4257, &_globals->_player, this, NULL);
@@ -3375,7 +3432,7 @@ void Scene4250::Hotspot6::doAction(int action) {
}
break;
case CURSOR_TALK:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
doAction(OBJECT_HELMET);
else {
_globals->_player.disableControl();
@@ -3384,11 +3441,11 @@ void Scene4250::Hotspot6::doAction(int action) {
}
break;
case CURSOR_USE:
- if (_globals->_inventory._helmet._sceneNumber == 4250)
+ if (RING_INVENTORY._helmet._sceneNumber == 4250)
doAction(OBJECT_HELMET);
else {
_globals->_player.disableControl();
- if ((_globals->_inventory._items._sceneNumber != 1) || (_globals->_inventory._concentrator._sceneNumber != 1)) {
+ if ((RING_INVENTORY._items._sceneNumber != 1) || (RING_INVENTORY._concentrator._sceneNumber != 1)) {
scene->_sceneMode = 4258;
scene->setAction(&scene->_sequenceManager, scene, 4258, this, NULL);
} else {
@@ -3427,7 +3484,7 @@ void Scene4250::Hotspot8::doAction(int action) {
_globals->_player.disableControl();
scene->_sceneMode = 4270;
scene->setAction(&scene->_sequenceManager, scene,
- (_globals->_inventory._helmet._sceneNumber == 4250) ? 4270 : 4271, NULL);
+ (RING_INVENTORY._helmet._sceneNumber == 4250) ? 4270 : 4271, NULL);
break;
default:
SceneHotspot::doAction(action);
@@ -3482,7 +3539,7 @@ void Scene4250::postInit(tSage::SceneObjectList *OwnerList) {
_hotspot5.postInit();
_hotspot5.setVisage(4250);
_hotspot5.setPosition(Common::Point(268, 168));
- _hotspot5.setPriority2(1);
+ _hotspot5.fixPriority(1);
_hotspot4.postInit();
_hotspot4.setVisage(2701);
@@ -3506,10 +3563,10 @@ void Scene4250::postInit(tSage::SceneObjectList *OwnerList) {
_hotspot6.setStrip(4);
_hotspot6.setFrame(3);
_hotspot6.changeZoom(50);
- _hotspot6.setPriority2(70);
+ _hotspot6.fixPriority(70);
_hotspot6.setPosition(Common::Point(261, 175));
- if (_globals->_inventory._helmet._sceneNumber == 4250) {
+ if (RING_INVENTORY._helmet._sceneNumber == 4250) {
_hotspot6.setStrip(6);
_hotspot6.setFrame(_hotspot6.getFrameCount());
}
@@ -3563,7 +3620,7 @@ void Scene4250::postInit(tSage::SceneObjectList *OwnerList) {
_hotspot2.postInit();
_hotspot2.setVisage(4251);
_hotspot2.setStrip2(1);
- _hotspot2.setPriority2(2);
+ _hotspot2.fixPriority(2);
_hotspot2.setFrame(1);
_hotspot2.setPosition(Common::Point(267, 172));
@@ -3612,7 +3669,7 @@ void Scene4250::signal() {
_globals->_sceneManager.changeScene(9900);
break;
case 4261:
- _globals->_inventory._keyDevice._sceneNumber = 1;
+ RING_INVENTORY._keyDevice._sceneNumber = 1;
_globals->_player.enableControl();
break;
}
@@ -3625,7 +3682,7 @@ void Scene4250::dispatch() {
_globals->_player.changeZoom(70);
if (_globals->_player.getRegionIndex() == 15) {
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
}
if (_hotspot1.getRegionIndex() == 8)
@@ -3634,7 +3691,7 @@ void Scene4250::dispatch() {
_hotspot1.changeZoom(70);
if (_hotspot1.getRegionIndex() == 15) {
_hotspot1.changeZoom(-1);
- _hotspot1.setPriority2(-1);
+ _hotspot1.fixPriority(-1);
}
if (_hotspot4.getRegionIndex() == 8)
@@ -3643,7 +3700,7 @@ void Scene4250::dispatch() {
_hotspot4.changeZoom(70);
if (_hotspot4.getRegionIndex() == 15) {
_hotspot4.changeZoom(-1);
- _hotspot4.setPriority2(-1);
+ _hotspot4.fixPriority(-1);
}
Scene::dispatch();
@@ -3705,7 +3762,7 @@ void Scene4300::Action1::signal() {
setDelay(60);
break;
case 7:
- scene->_hotspot10.setPriority2(250);
+ scene->_hotspot10.fixPriority(250);
scene->_hotspot10.animate(ANIM_MODE_5, this);
break;
case 8:
@@ -3758,7 +3815,7 @@ void Scene4300::Hotspot8::doAction(int action) {
SceneItem::display2(4300, 19);
break;
case OBJECT_KEY_DEVICE:
- _globals->_inventory._keyDevice._sceneNumber = 4300;
+ RING_INVENTORY._keyDevice._sceneNumber = 4300;
_globals->_scenePalette.addRotation(240, 254, -1);
animate(ANIM_MODE_5, NULL);
@@ -3774,15 +3831,15 @@ void Scene4300::Hotspot8::doAction(int action) {
void Scene4300::Hotspot9::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
- if ((_globals->_inventory._stasisBox2._sceneNumber == 4300) ||
- (_globals->_inventory._concentrator._sceneNumber == 1))
+ if ((RING_INVENTORY._stasisBox2._sceneNumber == 4300) ||
+ (RING_INVENTORY._concentrator._sceneNumber == 1))
SceneItem::display2(4300, 7);
else
SceneItem::display2(4300, 1);
break;
case CURSOR_USE:
- if ((_globals->_inventory._stasisBox2._sceneNumber == 4300) ||
- (_globals->_inventory._concentrator._sceneNumber == 1))
+ if ((RING_INVENTORY._stasisBox2._sceneNumber == 4300) ||
+ (RING_INVENTORY._concentrator._sceneNumber == 1))
SceneItem::display2(4300, 7);
else
SceneItem::display2(4300, 3);
@@ -3791,8 +3848,8 @@ void Scene4300::Hotspot9::doAction(int action) {
SceneItem::display2(4300, 24);
break;
case OBJECT_SCANNER:
- if ((_globals->_inventory._stasisBox2._sceneNumber == 4300) ||
- (_globals->_inventory._concentrator._sceneNumber != 1))
+ if ((RING_INVENTORY._stasisBox2._sceneNumber == 4300) ||
+ (RING_INVENTORY._concentrator._sceneNumber != 1))
SceneItem::display2(4300, 22);
else
SceneItem::display2(4300, 23);
@@ -3838,8 +3895,8 @@ void Scene4300::Hotspot15::signal() {
scene->_soundHandler2.startSound(345);
_strip = (_globals->_randomSource.getRandomNumber(6) < 2) ? 2 : 1;
- if ((_globals->_inventory._stasisBox2._sceneNumber == 4300) ||
- (_globals->_inventory._concentrator._sceneNumber == 1)) {
+ if ((RING_INVENTORY._stasisBox2._sceneNumber == 4300) ||
+ (RING_INVENTORY._concentrator._sceneNumber == 1)) {
setStrip(1);
setFrame(1);
animate(ANIM_MODE_NONE, NULL);
@@ -3856,8 +3913,8 @@ void Scene4300::Hotspot16::doAction(int action) {
SceneItem::display2(4300, 8);
break;
case CURSOR_USE:
- if ((_globals->_inventory._stasisBox2._sceneNumber != 4300) &&
- (_globals->_inventory._concentrator._sceneNumber != 4300)) {
+ if ((RING_INVENTORY._stasisBox2._sceneNumber != 4300) &&
+ (RING_INVENTORY._concentrator._sceneNumber != 4300)) {
SceneItem::display2(4300, 16);
} else {
scene->_sceneMode = 4302;
@@ -3881,17 +3938,17 @@ void Scene4300::Hotspot17::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(4300, (_globals->_inventory._stasisBox2._sceneNumber == 4300) ? 17 : 11);
+ SceneItem::display2(4300, (RING_INVENTORY._stasisBox2._sceneNumber == 4300) ? 17 : 11);
break;
case CURSOR_USE:
- if (_globals->_inventory._stasisBox2._sceneNumber != 4300)
+ if (RING_INVENTORY._stasisBox2._sceneNumber != 4300)
SceneItem::display2(4300, 13);
else {
_globals->_scenePalette.clearListeners();
remove();
SceneItem::display2(4300, 12);
- _globals->_inventory._concentrator._sceneNumber = 1;
+ RING_INVENTORY._concentrator._sceneNumber = 1;
}
break;
case OBJECT_SCANNER:
@@ -3922,8 +3979,8 @@ void Scene4300::Hotspot19::doAction(int action) {
SceneItem::display2(4300, 24);
break;
case CURSOR_USE:
- if ((_globals->_inventory._stasisBox2._sceneNumber != 4300) &&
- (_globals->_inventory._concentrator._sceneNumber != 4300))
+ if ((RING_INVENTORY._stasisBox2._sceneNumber != 4300) &&
+ (RING_INVENTORY._concentrator._sceneNumber != 4300))
SceneItem::display2(4300, 10);
else
SceneItem::display2(4300, 29);
@@ -3955,7 +4012,7 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_hotspot7.postInit();
_hotspot7.setPosition(Common::Point(90, 128));
_hotspot7.setVisage(4303);
- _hotspot7.setPriority2(250);
+ _hotspot7.fixPriority(250);
_globals->_sceneItems.push_back(&_hotspot7);
_hotspot9.setup(120, 49, 174, 91, 4300, -1, -1);
@@ -3973,14 +4030,14 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_globals->_sceneItems.push_back(&_hotspot8);
}
- if (_globals->_inventory._concentrator._sceneNumber == 4300) {
+ if (RING_INVENTORY._concentrator._sceneNumber == 4300) {
_hotspot17.postInit();
_hotspot17.setVisage(4300);
_hotspot17.setStrip(6);
- _hotspot17.setPriority2(1);
+ _hotspot17.fixPriority(1);
_hotspot17.setPosition(Common::Point(200, 69));
- if (_globals->_inventory._stasisBox2._sceneNumber == 4300)
+ if (RING_INVENTORY._stasisBox2._sceneNumber == 4300)
_hotspot17.setFrame(_hotspot17.getFrameCount());
_globals->_sceneItems.push_back(&_hotspot17);
@@ -3990,14 +4047,14 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_hotspot10.postInit();
_hotspot10.setVisage(4302);
_hotspot10.setPosition(Common::Point(244, 179));
- _hotspot10.setPriority2(100);
+ _hotspot10.fixPriority(100);
_globals->_sceneItems.push_back(&_hotspot10);
_hotspot12.postInit();
_hotspot12.setVisage(4302);
_hotspot12.setStrip2(3);
_hotspot12.setPosition(Common::Point(231, 185));
- _hotspot12.setPriority2(251);
+ _hotspot12.fixPriority(251);
_hotspot12.hide();
_hotspot13.postInit();
@@ -4005,16 +4062,16 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_hotspot13.setVisage(4302);
_hotspot13.setStrip2(2);
_hotspot13.setPosition(Common::Point(256, 168));
- _hotspot13.setPriority2(251);
+ _hotspot13.fixPriority(251);
_hotspot13._numFrames = 1;
_hotspot13.animate(ANIM_MODE_8, 0, NULL);
}
- if (_globals->_inventory._items._sceneNumber == 4300) {
+ if (RING_INVENTORY._items._sceneNumber == 4300) {
_hotspot16.postInit();
_hotspot16.setVisage(4300);
_hotspot16.setPosition(Common::Point(169, 141));
- _hotspot16.setPriority2(1);
+ _hotspot16.fixPriority(1);
_hotspot16.setStrip(4);
_globals->_sceneItems.push_back(&_hotspot16);
}
@@ -4025,37 +4082,37 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_hotspot1.postInit();
_hotspot1.setVisage(4301);
- _hotspot1.setPriority2(145);
+ _hotspot1.fixPriority(145);
_hotspot1.setPosition(Common::Point(160, 64));
_hotspot2.postInit();
_hotspot2.setVisage(4301);
_hotspot2.setStrip2(2);
- _hotspot2.setPriority2(140);
+ _hotspot2.fixPriority(140);
_hotspot2.setPosition(Common::Point(166, 90));
_hotspot3.postInit();
_hotspot3.setVisage(4301);
_hotspot3.setStrip2(3);
- _hotspot3.setPriority2(135);
+ _hotspot3.fixPriority(135);
_hotspot3.setPosition(Common::Point(173, 114));
_hotspot4.postInit();
_hotspot4.setVisage(4301);
_hotspot4.setStrip2(4);
- _hotspot4.setPriority2(130);
+ _hotspot4.fixPriority(130);
_hotspot4.setPosition(Common::Point(187, 141));
_hotspot5.postInit();
_hotspot5.setVisage(4301);
_hotspot5.setStrip2(5);
- _hotspot5.setPriority2(125);
+ _hotspot5.fixPriority(125);
_hotspot5.setPosition(Common::Point(201, 164));
_hotspot6.postInit();
_hotspot6.setVisage(4301);
_hotspot6.setStrip2(6);
- _hotspot6.setPriority2(120);
+ _hotspot6.fixPriority(120);
_hotspot6.setPosition(Common::Point(219, 186));
setAction(&_action1);
@@ -4091,12 +4148,12 @@ void Scene4300::remove() {
void Scene4300::signal() {
switch (_sceneMode) {
case 4302:
- _globals->_inventory._items._sceneNumber = 1;
+ RING_INVENTORY._items._sceneNumber = 1;
_hotspot16.remove();
_globals->_player.enableControl();
break;
case 4303:
- _globals->_inventory._stasisBox2._sceneNumber = 4300;
+ RING_INVENTORY._stasisBox2._sceneNumber = 4300;
_hotspot15.setStrip(1);
_hotspot15.setFrame(1);
_hotspot15.animate(ANIM_MODE_NONE, NULL);
@@ -4172,14 +4229,14 @@ void Scene4301::Action1::signal() {
scene->_hotspot2.setStrip(2);
scene->_hotspot2.setFrame(1);
scene->_hotspot2.setPosition(Common::Point(30, 15));
- scene->_hotspot2.setPriority2(255);
+ scene->_hotspot2.fixPriority(255);
scene->_hotspot3.postInit();
scene->_hotspot3.setVisage(4303);
scene->_hotspot3.setStrip(2);
scene->_hotspot3.setFrame(2);
scene->_hotspot3.setPosition(Common::Point(48, 29));
- scene->_hotspot3.setPriority2(255);
+ scene->_hotspot3.fixPriority(255);
scene->_hotspot3.hide();
_field34E = 0;
@@ -4255,7 +4312,7 @@ void Scene4301::Action1::process(Event &event) {
_buttonList[_state].setStrip(buttonIndex + 3);
_buttonList[_state].setFrame(1);
_buttonList[_state].setPosition(Common::Point((_state % 3) * 25 + 55, (_state / 3) * 25 + 121));
- _buttonList[_state].setPriority2(255);
+ _buttonList[_state].fixPriority(255);
_buttonList[_state]._numFrames = 25;
_buttonList[_state].animate(ANIM_MODE_5, NULL);
@@ -4326,7 +4383,7 @@ void Scene4301::postInit(SceneObjectList *OwnerList) {
setZoomPercents(0, 100, 200, 100);
_field68E = false;
- _globals->_inventory._stasisBox2._sceneNumber = 1;
+ RING_INVENTORY._stasisBox2._sceneNumber = 1;
_hotspot4.setup(76, 97, 102, 127, 4300, 5, 6);
_hotspot1.postInit();
@@ -4334,7 +4391,7 @@ void Scene4301::postInit(SceneObjectList *OwnerList) {
_hotspot1.setVisage(4303);
_hotspot1._strip = 1;
_hotspot1._frame = 1;
- _hotspot1.setPriority2(250);
+ _hotspot1.fixPriority(250);
_hotspot5.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
_globals->_sceneItems.push_back(&_hotspot5);
diff --git a/engines/tsage/ringworld_scenes5.h b/engines/tsage/ringworld_scenes5.h
index 0def49ebe6..626eab5dab 100644
--- a/engines/tsage/ringworld_scenes5.h
+++ b/engines/tsage/ringworld_scenes5.h
@@ -89,7 +89,7 @@ class Scene4000 : public Scene {
};
/* Hotspots */
- class Hotspot7 : public SceneObject {
+ class Miranda : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -103,15 +103,15 @@ class Scene4000 : public Scene {
}
virtual void doAction(int action);
};
- class Hotspot9 : public SceneObject {
+ class GuardRock : public SceneObject {
public:
virtual void doAction(int action);
};
- class Hotspot10 : public SceneObject {
+ class Ladder : public SceneObject {
public:
virtual void doAction(int action);
};
- class Hotspot12 : public SceneObject {
+ class TheTech : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -151,13 +151,13 @@ public:
SpeakerCHFR _speakerCHFR;
SpeakerQL _speakerQL;
SpeakerCHFText _speakerCHFText;
- SceneObject _hotspot1, _hotspot2, _hotspot3, _hotspot4, _hotspot5, _hotspot6;
- Hotspot7 _hotspot7;
+ SceneObject _smoke1, _hotspot2, _lander, _olo, _hotspot5, _rope;
+ Miranda _miranda;
Hotspot8 _hotspot8;
- Hotspot9 _hotspot9;
- Hotspot10 _hotspot10;
- DisplayHotspot _hotspot11;
- Hotspot12 _hotspot12;
+ GuardRock _guardRock;
+ Ladder _ladder;
+ DisplayHotspot _forceField;
+ TheTech _theTech;
Hotspot13 _hotspot13;
Hotspot _hotspot14, _hotspot15, _hotspot16;
Hotspot17 _hotspot17;
@@ -165,7 +165,7 @@ public:
DisplayHotspot _hotspot19, _hotspot20, _hotspot21, _hotspot22;
Hotspot23 _hotspot23;
DisplayHotspot _hotspot24, _hotspot25, _hotspot26;
- SceneObject _hotspot27;
+ SceneObject _smoke2;
Action1 _action1;
Action2 _action2;
Action3 _action3;
@@ -271,15 +271,15 @@ class Scene4045 : public Scene {
};
/* Hotspots */
- class Hotspot1 : public SceneObject {
+ class OlloStand : public SceneObject {
public:
virtual void doAction(int action);
};
- class Hotspot2 : public SceneObject {
+ class Miranda : public SceneObject {
public:
virtual void doAction(int action);
};
- class Hotspot6 : public SceneObject {
+ class Necklace : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -292,11 +292,11 @@ public:
SpeakerPText _speakerPText;
SpeakerQText _speakerQText;
SpeakerQL _speakerQL;
- Hotspot1 _hotspot1;
- Hotspot2 _hotspot2;
- DisplayHotspot _hotspot3;
- SceneObject _hotspot4, _hotspot5;
- Hotspot6 _hotspot6;
+ OlloStand _olloStand;
+ Miranda _miranda;
+ DisplayHotspot _flame;
+ SceneObject _hotspot4, _olloFace;
+ Necklace _necklace;
DisplayHotspot _hotspot7, _hotspot8, _hotspot9, _hotspot10;
DisplayHotspot _hotspot11, _hotspot12, _hotspot13, _hotspot14;
Action1 _action1;
@@ -330,7 +330,7 @@ class Scene4050 : public Scene {
};
/* Hotspots */
- class Hotspot14 : public SceneObject {
+ class Hotspot15 : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -349,8 +349,9 @@ public:
DisplayHotspot _hotspot1, _hotspot2, _hotspot3, _hotspot4, _hotspot5;
DisplayHotspot _hotspot6, _hotspot7, _hotspot8, _hotspot9, _hotspot10;
DisplayHotspot _hotspot11, _hotspot12, _hotspot13;
- Hotspot14 _hotspot14;
- SceneObject _hotspot15, _hotspot16;
+ SceneObject _hotspot14;
+ Hotspot15 _hotspot15;
+ SceneObject _hotspot16;
Hotspot17 _hotspot17;
Scene4050();
@@ -395,11 +396,11 @@ class Scene4100 : public Scene {
public:
virtual void doAction(int action);
};
- class Hotspot5 : public SceneObject {
+ class Miranda : public SceneObject {
public:
virtual void doAction(int action);
};
- class Hotspot6 : public SceneObject {
+ class Ladder : public SceneObject {
public:
virtual void doAction(int action);
};
@@ -425,8 +426,8 @@ public:
Hotspot1 _hotspot1;
Hotspot2 _hotspot2;
DisplayHotspot _hotspot3, _hotspot4;
- Hotspot5 _hotspot5;
- Hotspot6 _hotspot6;
+ Miranda _miranda;
+ Ladder _ladder;
DisplayHotspot _hotspot7, _hotspot8, _hotspot9, _hotspot10;
DisplayHotspot _hotspot11, _hotspot12, _hotspot13;
Hotspot14 _hotspot14;
diff --git a/engines/tsage/ringworld_scenes6.cpp b/engines/tsage/ringworld_scenes6.cpp
index 5fdb09732a..17f7654e70 100644
--- a/engines/tsage/ringworld_scenes6.cpp
+++ b/engines/tsage/ringworld_scenes6.cpp
@@ -36,6 +36,7 @@ namespace tSage {
*--------------------------------------------------------------------------*/
void Scene5000::Action1::signal() {
+ // Ship landing
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -127,7 +128,7 @@ void Scene5000::Action2::signal() {
case 2:
if (!_globals->getFlag(59))
setAction(&scene->_action3, this);
- _globals->_player.setPriority2(15);
+ _globals->_player.fixPriority(15);
ADD_MOVER(_globals->_player, 208, 100);
break;
case 3:
@@ -145,7 +146,7 @@ void Scene5000::Action2::signal() {
break;
case 7:
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(35);
+ _globals->_player.fixPriority(35);
ADD_MOVER(_globals->_player, 201, 166);
break;
case 8:
@@ -154,7 +155,7 @@ void Scene5000::Action2::signal() {
break;
case 9:
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
ADD_MOVER(_globals->_player, 220, 182);
break;
case 10:
@@ -164,7 +165,7 @@ void Scene5000::Action2::signal() {
case 11:
_globals->_player.changeZoom(-1);
_globals->_player.setStrip2(-1);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
ADD_MOVER(_globals->_player, 208, 175);
break;
case 12:
@@ -200,7 +201,7 @@ void Scene5000::Action3::signal() {
scene->_hotspot7.setPosition(Common::Point(217, 76));
scene->_hotspot7.changeZoom(10);
scene->_hotspot7.setStrip2(3);
- scene->_hotspot7.setPriority2(200);
+ scene->_hotspot7.fixPriority(200);
scene->_hotspot7._moveDiff.y = 2;
scene->_hotspot7.animate(ANIM_MODE_1, NULL);
ADD_MOVER(scene->_hotspot7, 214, 89);
@@ -209,14 +210,14 @@ void Scene5000::Action3::signal() {
break;
case 2:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(14);
+ scene->_hotspot7.fixPriority(14);
ADD_MOVER(scene->_hotspot7, 208, 100);
break;
case 3:
ADD_MOVER(scene->_hotspot7, 213, 98);
break;
case 4:
- scene->_hotspot7.setPriority2(19);
+ scene->_hotspot7.fixPriority(19);
ADD_MOVER(scene->_hotspot7, 213, 98);
break;
case 5:
@@ -228,7 +229,7 @@ void Scene5000::Action3::signal() {
break;
case 7:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(34);
+ scene->_hotspot7.fixPriority(34);
ADD_MOVER(scene->_hotspot7, 201, 166);
break;
case 8:
@@ -237,7 +238,7 @@ void Scene5000::Action3::signal() {
break;
case 9:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(49);
+ scene->_hotspot7.fixPriority(49);
ADD_MOVER(scene->_hotspot7, 210, 182);
break;
case 10:
@@ -247,7 +248,7 @@ void Scene5000::Action3::signal() {
case 11:
scene->_hotspot7.changeZoom(-1);
scene->_hotspot7.setStrip2(-1);
- scene->_hotspot7.setPriority2(-1);
+ scene->_hotspot7.fixPriority(-1);
ADD_MOVER(scene->_hotspot7, 175, 166);
break;
case 12:
@@ -268,7 +269,7 @@ void Scene5000::Action4::signal() {
setDelay(1);
break;
case 1:
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
_globals->_player.setStrip2(4);
ADD_MOVER(_globals->_player, 210, 182);
break;
@@ -276,14 +277,14 @@ void Scene5000::Action4::signal() {
ADD_MOVER(_globals->_player, 205, 146);
break;
case 3:
- _globals->_player.setPriority2(35);
+ _globals->_player.fixPriority(35);
ADD_MOVER(_globals->_player, 201, 166);
break;
case 4:
ADD_MOVER(_globals->_player, 229, 115);
break;
case 5:
- _globals->_player.setPriority2(20);
+ _globals->_player.fixPriority(20);
_globals->_player.changeZoom(47);
ADD_MOVER(_globals->_player, 220, 125);
break;
@@ -295,7 +296,7 @@ void Scene5000::Action4::signal() {
ADD_MOVER(_globals->_player, 213, 98);
break;
case 8:
- _globals->_player.setPriority2(15);
+ _globals->_player.fixPriority(15);
ADD_MOVER(_globals->_player, 208, 100);
break;
case 9:
@@ -345,6 +346,7 @@ void Scene5000::Action5::signal() {
}
void Scene5000::Action6::signal() {
+ // Discussion between the hero and Seeker, then the hero goes back to the lander
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -364,7 +366,7 @@ void Scene5000::Action6::signal() {
ADD_PLAYER_MOVER(208, 163);
break;
case 4:
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
_globals->_player.setStrip2(4);
ADD_MOVER(_globals->_player, 210, 182);
break;
@@ -384,7 +386,7 @@ void Scene5000::Hotspot7::doAction(int action) {
SceneItem::display2(5000, 12);
break;
case CURSOR_TALK:
- setAction(&scene->_action6);
+ scene->setAction(&scene->_action6);
break;
default:
SceneHotspot::doAction(action);
@@ -393,6 +395,7 @@ void Scene5000::Hotspot7::doAction(int action) {
}
void Scene5000::Hotspot8::doAction(int action) {
+ // Cave
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -403,7 +406,7 @@ void Scene5000::Hotspot8::doAction(int action) {
SceneItem::display2(5000, 14);
break;
case OBJECT_SCANNER:
- setAction(&scene->_action5);
+ scene->setAction(&scene->_action5);
break;
default:
SceneHotspot::doAction(action);
@@ -455,14 +458,14 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot1.setVisage(5001);
_hotspot1.setFrame2(1);
_hotspot1._moveDiff = Common::Point(5, 5);
- _hotspot1.setPriority2(10);
+ _hotspot1.fixPriority(10);
_hotspot1.changeZoom(10);
_hotspot4.postInit();
_hotspot4.setVisage(5001);
_hotspot4.setStrip2(2);
_hotspot4._moveDiff = Common::Point(5, 1);
- _hotspot4.setPriority2(10);
+ _hotspot4.fixPriority(10);
_hotspot4.changeZoom(100);
_hotspot4.animate(ANIM_MODE_8, 0, NULL);
_hotspot4.hide();
@@ -484,13 +487,13 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot5.setVisage(5001);
_hotspot5.setStrip2(4);
_hotspot5._numFrames = 5;
- _hotspot5.setPriority2(15);
+ _hotspot5.fixPriority(15);
_hotspot5.setPosition(Common::Point(218, 76));
_hotspot5.hide();
_hotspot9.postInit();
_hotspot9.setVisage(5002);
- _hotspot9.setPriority2(80);
+ _hotspot9.fixPriority(80);
_hotspot9.setPosition(Common::Point(71, 174));
_hotspot10.postInit();
@@ -512,7 +515,7 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot13.setBounds(Rect(0, 164, 135, 200));
_hotspot14.setBounds(Rect(0, 0, 105, 140));
_hotspot15.setBounds(Rect(266, 70, 291, 85));
- _hotspot16.setBounds(Rect(0, 86, 3219, 200));
+ _hotspot16.setBounds(Rect(0, 86, 319, 200));
_hotspot12.setBounds(Rect(230, 143, 244, 150));
_globals->_sceneItems.addItems(&_hotspot9, &_hotspot10, &_hotspot11, &_hotspot8, &_hotspot13,
@@ -644,7 +647,7 @@ void Scene5100::Action1::signal() {
scene->_hotspot5.setPosition(Common::Point(1160, 34));
scene->_hotspot5.setStrip2(2);
scene->_hotspot5.animate(ANIM_MODE_1, NULL);
- scene->_hotspot5.setPriority2(10);
+ scene->_hotspot5.fixPriority(10);
_globals->_sceneItems.push_front(&scene->_hotspot5);
ADD_MOVER(scene->_hotspot5, 999, 14);
@@ -689,9 +692,9 @@ void Scene5100::Action2::signal() {
break;
case 3:
if (_globals->_player._position.x >= 966) {
- ADD_PLAYER_MOVER(1215, 155);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 1215, 155);
} else {
- ADD_PLAYER_MOVER_THIS(scene->_hotspot8, 966, 185);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 966, 185);
}
if (_globals->_player._position.x >= 966) {
@@ -701,7 +704,7 @@ void Scene5100::Action2::signal() {
}
break;
case 4:
- ADD_PLAYER_MOVER_THIS(scene->_hotspot8, 1215, 155);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 1215, 155);
ADD_PLAYER_MOVER(1215, 155);
break;
case 5:
@@ -829,6 +832,7 @@ void Scene5100::Action5::signal() {
/*--------------------------------------------------------------------------*/
void Scene5100::HotspotGroup1::doAction(int action) {
+ // Flesh Eaters
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -881,11 +885,12 @@ void Scene5100::Hotspot4::doAction(int action) {
}
void Scene5100::HotspotGroup2::doAction(int action) {
+ // Bat
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(5100, _globals->getFlag(62) ? 47 : 23);
+ SceneItem::display2(5100, _globals->getFlag(108) ? 47 : 23);
break;
case CURSOR_USE:
SceneItem::display2(5100, 29);
@@ -909,6 +914,7 @@ void Scene5100::HotspotGroup2::doAction(int action) {
}
void Scene5100::Hotspot9::doAction(int action) {
+ // Rope
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -929,7 +935,7 @@ void Scene5100::Hotspot9::doAction(int action) {
case OBJECT_BONE:
_globals->_player.disableControl();
scene->_sceneMode = 5116;
- scene->setAction(&scene->_sequenceManager, scene, 5116, &_globals->_player, &scene->_hotspot10,
+ scene->setAction(&scene->_sequenceManager, scene, 5116, &_globals->_player, this, &scene->_hotspot10,
&scene->_hotspot4, NULL);
break;
default:
@@ -1004,6 +1010,7 @@ void Scene5100::Hotspot18::doAction(int action) {
}
void Scene5100::Hotspot19::doAction(int action) {
+ // Pillar
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1082,14 +1089,14 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot14.postInit();
_hotspot14.setVisage(5101);
_hotspot14.setPosition(Common::Point(498, 147));
- _hotspot14.setPriority2(200);
+ _hotspot14.fixPriority(200);
_hotspot14._moveDiff.y = 10;
}
_hotspot17.postInit();
_hotspot17.setVisage(5101);
_hotspot17._strip = 2;
- _hotspot17.setPriority2(200);
+ _hotspot17.fixPriority(200);
if (_globals->getFlag(67))
_hotspot17.setPosition(Common::Point(554, 192));
@@ -1158,7 +1165,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
}
}
- if (_globals->getFlag(60) && (_globals->_inventory._stasisBox._sceneNumber == 1) &&
+ if (_globals->getFlag(60) && (RING_INVENTORY._stasisBox._sceneNumber == 1) &&
_globals->getFlag(107) && _globals->getFlag(67)) {
_hotspot8.postInit();
_hotspot8.setVisage(2806);
@@ -1178,7 +1185,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
case 5200:
if (_globals->_stripNum == 5200) {
_globals->_player.setVisage(5101);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.setStrip(5);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(513, 199));
@@ -1227,7 +1234,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(5101);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(170);
+ _globals->_player.fixPriority(170);
_globals->_player.setPosition(Common::Point(1168, 110));
setAction(&_sequenceManager, this, 5111, &_globals->_player, NULL);
@@ -1256,11 +1263,11 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot6.setStrip(6);
_hotspot6.setFrame(1);
_globals->_sceneItems.push_back(&_hotspot6);
- } else if (_globals->_inventory._vial._sceneNumber != 5100) {
+ } else if (RING_INVENTORY._vial._sceneNumber != 5100) {
_hotspot6.postInit();
_hotspot6.setVisage(5362);
_hotspot6.setPosition(Common::Point(1152, 70));
- _hotspot6.setPriority2(170);
+ _hotspot6.fixPriority(170);
_hotspot6.setStrip(6);
_hotspot6.setFrame(1);
_globals->_sceneItems.push_back(&_hotspot6);
@@ -1275,7 +1282,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot15.setVisage(5140);
_hotspot15.setStrip(3);
_hotspot15.setPosition(Common::Point(977, 173));
- _hotspot15.setPriority2(1);
+ _hotspot15.fixPriority(1);
_globals->_sceneManager._scene->_sceneBounds.center(_globals->_player._position);
loadScene(5100);
@@ -1312,7 +1319,7 @@ void Scene5100::signal() {
case 5108:
if (!_globals->getFlag(60))
_globals->_player.enableControl();
- else if (_globals->_inventory._stasisBox._sceneNumber == 1)
+ else if (RING_INVENTORY._stasisBox._sceneNumber == 1)
setAction(&_action2);
else
setAction(&_action5);
@@ -1324,12 +1331,12 @@ void Scene5100::signal() {
break;
case 5111:
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
- _globals->_player.setVisage(6);
+ _globals->_player.setVisage(0);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.animate(ANIM_MODE_1, NULL);
- if ((_globals->_inventory._vial._sceneNumber != 5100) && !_globals->getFlag(108)) {
+ if ((RING_INVENTORY._vial._sceneNumber != 5100) && !_globals->getFlag(108)) {
_globals->setFlag(108);
_sceneMode = 5130;
_globals->_player.disableControl();
@@ -1344,14 +1351,14 @@ void Scene5100::signal() {
break;
case 5116:
_globals->setFlag(105);
- _globals->_inventory._bone._sceneNumber = 0;
+ RING_INVENTORY._bone._sceneNumber = 0;
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.setVisage(0);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.animate(ANIM_MODE_1, NULL);
- break;
+ // No break on purpose
case 5117:
_globals->_player.enableControl();
break;
@@ -1370,6 +1377,7 @@ void Scene5100::signal() {
}
void Scene5100::dispatch() {
+ // Flesheater trap
if (_hotspot15._bounds.contains(_globals->_player._position) && !_globals->_player._visage) {
_globals->_player.disableControl();
_globals->_player.addMover(NULL);
@@ -1388,7 +1396,7 @@ void Scene5100::dispatch() {
_sceneMode = 5150;
_soundHandler.startSound(208);
- if (_globals->_inventory._vial._sceneNumber == 5100) {
+ if (RING_INVENTORY._vial._sceneNumber == 5100) {
_globals->_player.addMover(NULL);
_globals->_player.disableControl();
SceneItem::display2(5100, 39);
@@ -1398,9 +1406,9 @@ void Scene5100::dispatch() {
_hotspot3.setStrip2(2);
ObjectMover3 *mover1 = new ObjectMover3();
- _hotspot2.addMover(mover1, 20, this);
+ _hotspot2.addMover(mover1, &_globals->_player, 20, this);
ObjectMover3 *mover2 = new ObjectMover3();
- _hotspot3.addMover(mover2, 20, this);
+ _hotspot3.addMover(mover2, &_globals->_player, 20, this);
}
if (!_action) {
@@ -1408,8 +1416,9 @@ void Scene5100::dispatch() {
_globals->_player._canWalk = false;
_globals->_player.addMover(NULL);
+ Common::Point pt(20, 25);
PlayerMover2 *mover = new PlayerMover2();
- _hotspot3.addMover(mover, 20, 25, &_globals->_player);
+ _hotspot3.addMover(mover, &pt, &_globals->_player);
setAction(&_action4);
}
@@ -1445,6 +1454,7 @@ void Scene5200::Action1::signal() {
}
void Scene5200::Action2::signal() {
+ // Quinn obtains the stasis box from the flesheater throne room
Scene5200 *scene = (Scene5200 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -1462,7 +1472,7 @@ void Scene5200::Action2::signal() {
scene->_soundHandler.proc3();
scene->_hotspot14.remove();
- _globals->_inventory._stasisBox._sceneNumber = 1;
+ RING_INVENTORY._stasisBox._sceneNumber = 1;
_globals->_player.animate(ANIM_MODE_5, this);
break;
case 3:
@@ -1489,6 +1499,7 @@ void Scene5200::Action2::signal() {
void Scene5200::Action3::signal() {
switch (_actionIndex++) {
+ case 0:
_globals->_player.disableControl();
setDelay(5);
break;
@@ -1563,7 +1574,7 @@ void Scene5200::Hotspot10::doAction(int action) {
}
break;
default:
- SceneItem::doAction(action);
+ SceneObject::doAction(action);
break;
}
}
@@ -1579,7 +1590,7 @@ void Scene5200::Hotspot14::doAction(int action) {
scene->setAction(&scene->_action2);
break;
default:
- SceneItem::doAction(action);
+ SceneObject::doAction(action);
break;
}
}
@@ -1611,7 +1622,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_speakerFLText._textPos.x = 160;
_speakerQText._textPos.x = 20;
- if (_globals->_inventory._stasisBox._sceneNumber == 5200) {
+ if (RING_INVENTORY._stasisBox._sceneNumber == 5200) {
_soundHandler.startSound(216);
_soundHandler.proc5(true);
@@ -1619,17 +1630,20 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot14.setVisage(5202);
_hotspot14._strip = 3;
_hotspot14.setPosition(Common::Point(105, 52));
- _hotspot14.setPriority2(90);
+ _hotspot14.fixPriority(90);
_hotspot8.postInit();
_hotspot8.setVisage(5202);
_hotspot8._strip = 1;
_hotspot8.setPosition(Common::Point(96, 53));
- _hotspot8.setPriority2(90);
+ _hotspot8.fixPriority(90);
_globals->_sceneItems.push_back(&_hotspot14);
}
- if (_globals->_stripNum == 1111) {
+ if (_globals->_stripNum == 5111) {
+ // Happens when the player enters the throne room via the secret passage,
+ // after talking with the bat. No NPCs are around and the player can
+ // obtain the stasis box.
_globals->_soundHandler.startSound(205);
_globals->_player.disableControl();
@@ -1644,6 +1658,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
setAction(&_action3);
} else {
+ // Happens when the player is captured by the flesh eaters the first time.
_globals->_player.postInit();
_globals->_player.setVisage(2640);
_globals->_player._strip = 1;
@@ -1665,7 +1680,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot7.setVisage(5210);
_hotspot7._frame = 1;
_hotspot7._strip = 4;
- _hotspot7.setPriority2(168);
+ _hotspot7.fixPriority(168);
_hotspot7.setPosition(Common::Point(186, 106));
_hotspot1.postInit();
@@ -1677,20 +1692,20 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot2.setVisage(5212);
_hotspot2._strip = 3;
_hotspot2.setPosition(Common::Point(148, 141));
- _hotspot2.setPriority2(90);
+ _hotspot2.fixPriority(90);
_hotspot3.postInit();
_hotspot3.setVisage(5212);
_hotspot3._strip = 2;
_hotspot3.setPosition(Common::Point(62, 109));
- _hotspot3.setPriority2(138);
+ _hotspot3.fixPriority(138);
_hotspot3.setAction(&_action1);
_hotspot4.postInit();
_hotspot4.setVisage(5212);
_hotspot4._strip = 4;
_hotspot4.setPosition(Common::Point(146, 110));
- _hotspot4.setPriority2(90);
+ _hotspot4.fixPriority(90);
_globals->_player.disableControl();
_globals->setFlag(61);
@@ -1701,6 +1716,8 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot11.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
_hotspot9._sceneRegionId = 11;
_hotspot10._sceneRegionId = 9;
+ _hotspot12._sceneRegionId = 10;
+ _hotspot13._sceneRegionId = 8;
_globals->_sceneItems.addItems(&_hotspot12, &_hotspot13, &_hotspot9, &_hotspot10, &_hotspot11, NULL);
_globals->_sceneManager._scene->_sceneBounds.center(_globals->_player._position);
@@ -1754,7 +1771,7 @@ void Scene5300::Action1::signal() {
ADD_MOVER(_globals->_player, 85, 170);
break;
case 3:
- scene->_hotspot2.setPriority2(-1);
+ scene->_hotspot2.fixPriority(-1);
_globals->_player.checkAngle(&scene->_hotspot2);
setAction(&scene->_sequenceManager, this, 5305, &scene->_hotspot2, NULL);
break;
@@ -1762,7 +1779,7 @@ void Scene5300::Action1::signal() {
scene->_stripManager.start(5316, this);
break;
case 5:
- if (!_globals->getFlag(106) || !_globals->getFlag(107) || (_globals->_inventory._stasisBox._sceneNumber != 1)) {
+ if (!_globals->getFlag(106) || !_globals->getFlag(107) || (RING_INVENTORY._stasisBox._sceneNumber != 1)) {
_globals->_player.enableControl();
remove();
} else {
@@ -1793,7 +1810,7 @@ void Scene5300::Action2::signal() {
scene->_stripManager.start(5328, this);
break;
case 2:
- if (_globals->_inventory._stasisBox._sceneNumber == 1) {
+ if (RING_INVENTORY._stasisBox._sceneNumber == 1) {
_globals->_stripNum = 5303;
setDelay(5);
} else {
@@ -1871,7 +1888,7 @@ void Scene5300::Hotspot2::doAction(int action) {
} else {
_globals->_player.disableControl();
- if (_globals->_inventory._stasisBox._sceneNumber != 1) {
+ if (RING_INVENTORY._stasisBox._sceneNumber != 1) {
scene->setAction(&scene->_sequenceManager, scene, 5316, NULL);
} else {
_globals->setFlag(60);
@@ -1898,7 +1915,7 @@ void Scene5300::Hotspot2::doAction(int action) {
if (_globals->getFlag(107)) {
SceneItem::display2(5300, 8);
} else {
- _globals->_inventory._vial._sceneNumber = 5300;
+ RING_INVENTORY._vial._sceneNumber = 5300;
_globals->setFlag(107);
_globals->_player.disableControl();
scene->_sceneMode = 5304;
@@ -1920,7 +1937,7 @@ void Scene5300::Hotspot5::doAction(int action) {
SceneItem::display2(5300, 27);
break;
case CURSOR_USE:
- _globals->_inventory._bone._sceneNumber = 1;
+ RING_INVENTORY._bone._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 5309;
@@ -1933,24 +1950,25 @@ void Scene5300::Hotspot5::doAction(int action) {
}
void Scene5300::Hotspot6::doAction(int action) {
+ // Left Hole
Scene5300 *scene = (Scene5300 *)_globals->_sceneManager._scene;
switch (action) {
case CURSOR_LOOK:
- if (!_globals->getFlag(105) || (_globals->_inventory._vial._sceneNumber == 1))
+ if (!_globals->getFlag(105) || (RING_INVENTORY._vial._sceneNumber == 1))
SceneItem::display2(5300, 4);
else
SceneItem::display2(5300, 26);
break;
case CURSOR_USE:
- if (!_globals->getFlag(105) || (_globals->_inventory._vial._sceneNumber != 5100)) {
+ if (!_globals->getFlag(105) || (RING_INVENTORY._vial._sceneNumber != 5100)) {
_globals->_player.disableControl();
scene->_sceneMode = 5301;
scene->setAction(&scene->_sequenceManager, scene, 5301, &_globals->_player, NULL);
} else {
_globals->_player.disableControl();
scene->_sceneMode = 5307;
- _globals->_inventory._vial._sceneNumber = 1;
+ RING_INVENTORY._vial._sceneNumber = 1;
scene->setAction(&scene->_sequenceManager, scene, 5307, &scene->_hotspot1, &_globals->_player,
&scene->_hotspot4, NULL);
@@ -2033,7 +2051,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
_hotspot2.setVisage(5310);
_hotspot2.setPosition(Common::Point(63, 170));
_hotspot2.animate(ANIM_MODE_1, NULL);
- _hotspot2.setPriority2(98);
+ _hotspot2.fixPriority(98);
}
_hotspot1.postInit();
@@ -2075,7 +2093,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
_hotspot3.postInit();
_hotspot3.setVisage(5301);
_hotspot3.setPosition(Common::Point(172, 32));
- _hotspot3.setPriority2(1);
+ _hotspot3.fixPriority(1);
_hotspot3.animate(ANIM_MODE_NONE, NULL);
_globals->_player.postInit();
@@ -2091,7 +2109,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
}
_field1B0A = 1;
- if (_globals->_inventory._bone._sceneNumber == 5300) {
+ if (RING_INVENTORY._bone._sceneNumber == 5300) {
_hotspot5.postInit();
_hotspot5.setVisage(5301);
_hotspot5.setStrip(2);
@@ -2113,6 +2131,9 @@ void Scene5300::signal() {
_globals->_stripNum = 5300;
_globals->_sceneManager.changeScene(5100);
break;
+ case 5307:
+ _soundHandler.proc1(NULL);
+ // No break on purpose
case 5302:
case 5308:
case 5316:
@@ -2143,21 +2164,18 @@ void Scene5300::signal() {
_globals->clearFlag(67);
_globals->_player.setStrip2(-1);
- if ((_globals->_inventory._vial._sceneNumber == 1) || (_globals->_inventory._vial._sceneNumber == 5300))
+ if ((RING_INVENTORY._vial._sceneNumber == 1) || (RING_INVENTORY._vial._sceneNumber == 5300))
_stripManager.start(5303, this);
else
_stripManager.start(5302, this);
_sceneMode = 5302;
break;
- case 5307:
- _soundHandler.proc1(NULL);
- break;
case 5309:
_hotspot5.remove();
_globals->_player.enableControl();
break;
case 5310:
- _hotspot2.setPriority2(41);
+ _hotspot2.fixPriority(41);
_sceneMode = 5315;
setAction(&_sequenceManager, this, 5315, &_hotspot2, NULL);
diff --git a/engines/tsage/ringworld_scenes6.h b/engines/tsage/ringworld_scenes6.h
index 272aea4fe9..16b2800fc6 100644
--- a/engines/tsage/ringworld_scenes6.h
+++ b/engines/tsage/ringworld_scenes6.h
@@ -216,11 +216,11 @@ class Scene5200 : public Scene {
};
/* Hotspots */
- class Hotspot9 : public SceneItemExt {
+ class Hotspot9 : public SceneObjectExt {
public:
virtual void doAction(int action);
};
- class Hotspot10 : public SceneItemExt {
+ class Hotspot10 : public SceneObjectExt {
public:
virtual void doAction(int action);
};
diff --git a/engines/tsage/ringworld_scenes8.cpp b/engines/tsage/ringworld_scenes8.cpp
index 35db3cd387..0cb5f4dc74 100644
--- a/engines/tsage/ringworld_scenes8.cpp
+++ b/engines/tsage/ringworld_scenes8.cpp
@@ -31,6 +31,12 @@
namespace tSage {
+void NamedHotspotMult::synchronise(Serialiser &s) {
+ SceneHotspot::synchronise(s);
+ s.syncAsSint16LE(_useLineNum);
+ s.syncAsSint16LE(_lookLineNum);
+}
+
/*--------------------------------------------------------------------------
* Scene 7000
*
@@ -54,16 +60,17 @@ void Scene7000::Action1::signal() {
scene->_object1.setVisage(7003);
scene->_object1.animate(ANIM_MODE_5, this);
scene->_object1.setPosition(Common::Point(151, 182), 0);
- scene->_object1.setPriority2(205);
+ scene->_object1.fixPriority(205);
_globals->_sceneItems.push_front(&scene->_object1);
break;
case 3:
- scene->_object1.setStrip(4);
- scene->_object1.animate(ANIM_MODE_8, 0, 0);
+ scene->_object1._numFrames = 4;
+ scene->_object1.setStrip(2);
+ scene->_object1.animate(ANIM_MODE_8, 0, NULL);
scene->_stripManager.start(7005, this);
break;
case 4:
- scene->_object1.animate(ANIM_MODE_2, 0);
+ scene->_object1.animate(ANIM_MODE_2, NULL);
setDelay(3);
break;
case 5:
@@ -107,7 +114,7 @@ void Scene7000::Action3::dispatch() {
Action::dispatch();
if (_actionIndex == 4)
- scene->_object4.setPosition(Common::Point(scene->_object3._position.x, scene->_object3._position.y));
+ scene->_object4.setPosition(scene->_object3._position, 0);
}
/*--------------------------------------------------------------------------*/
@@ -122,9 +129,9 @@ void Scene7000::Action3::signal() {
scene->_object4.postInit();
scene->_object4.setVisage(5001);
scene->_object4.setStrip2(2);
- scene->_object4.animate(ANIM_MODE_8, 0, 0);
+ scene->_object4.animate(ANIM_MODE_8, 0, NULL);
scene->_object4.setPosition(Common::Point(10, 18), 0);
- scene->_object4.setPriority2(10);
+ scene->_object4.fixPriority(10);
scene->_object4.changeZoom(100);
scene->_object4.hide();
break;
@@ -135,7 +142,8 @@ void Scene7000::Action3::signal() {
break;
}
case 2:
- scene->_object3.setPriority2(10);
+ scene->_object3._moveDiff.y = 1;
+ scene->_object3.fixPriority(10);
scene->_object4.setPosition(Common::Point(scene->_object3._position.x, scene->_object3._position.y + 15), 0);
scene->_object4.show();
setDelay(30);
@@ -176,8 +184,8 @@ void Scene7000::Action4::signal() {
scene->_object1.animate(ANIM_MODE_5, this);
break;
case 3:
- scene->_object1.setStrip(1);
- scene->_object1.animate(ANIM_MODE_8, 0, 0);
+ scene->_object1.setStrip(4);
+ scene->_object1.animate(ANIM_MODE_8, 0, NULL);
_globals->setFlag(81);
_globals->_player.enableControl();
remove();
@@ -222,7 +230,7 @@ void Scene7000::Action5::signal() {
break;
}
case 5: {
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
NpcMover *mover = new NpcMover();
Common::Point pt(11, 89);
_globals->_player.addMover(mover, &pt, this);
@@ -268,7 +276,7 @@ void Scene7000::Action6::signal() {
NpcMover *mover = new NpcMover();
Common::Point pt(31, 96);
_globals->_player.addMover(mover, &pt, this);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
break;
}
case 4: {
@@ -315,7 +323,7 @@ void Scene7000::Action7::signal() {
break;
}
case 4: {
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
NpcMover *mover = new NpcMover();
Common::Point pt(11, 89);
_globals->_player.addMover(mover, &pt, this);
@@ -353,55 +361,53 @@ void Scene7000::Object1::doAction(int action) {
switch (action) {
case OBJECT_TRANSLATOR:
_globals->_player.disableControl();
- _globals->_inventory._translator._sceneNumber = 7000;
- if (_globals->_inventory._waldos._sceneNumber == 7000) {
- if (_globals->_inventory._jar._sceneNumber == 7000) {
- scene->_sceneMode = 7012;
- scene->setAction(&scene->_sequenceManager, scene, 7010, &_globals->_player, &scene->_object1, 0, 0);
- } else {
- scene->_sceneMode = 7015;
- scene->setAction(&scene->_sequenceManager, scene, 7017, &_globals->_player, 0, 0);
- }
+ RING_INVENTORY._translator._sceneNumber = 7000;
+
+ if ((RING_INVENTORY._waldos._sceneNumber != 7000) && (RING_INVENTORY._jar._sceneNumber != 7000)) {
+ scene->_sceneMode = 7004;
+ scene->setAction(&scene->_sequenceManager, scene, 7004, &_globals->_player, this, NULL);
+ } else if (RING_INVENTORY._waldos._sceneNumber != 7000) {
+ scene->_sceneMode = 7011;
+ scene->setAction(&scene->_sequenceManager, scene, 7010, &_globals->_player, &scene->_object1, NULL);
+ } else if (RING_INVENTORY._jar._sceneNumber != 7000) {
+ scene->_sceneMode = 7012;
+ scene->setAction(&scene->_sequenceManager, scene, 7010, &_globals->_player, &scene->_object1, NULL);
} else {
- if (_globals->_inventory._jar._sceneNumber == 7000) {
- scene->_sceneMode = 7011;
- scene->setAction(&scene->_sequenceManager, scene, 7010, &_globals->_player, &scene->_object1, 0, 0);
- } else {
- scene->_sceneMode = 7004;
- scene->setAction(&scene->_sequenceManager, scene, 7004, &_globals->_player, this, 0, 0);
- }
+ scene->_sceneMode = 7015;
+ scene->setAction(&scene->_sequenceManager, scene, 7017, &_globals->_player, NULL);
}
break;
case OBJECT_WALDOS:
_globals->_player.disableControl();
- _globals->_inventory._waldos._sceneNumber = 7000;
- if (_globals->_inventory._translator._sceneNumber == 7000) {
- if (_globals->_inventory._jar._sceneNumber == 7000) {
+ RING_INVENTORY._waldos._sceneNumber = 7000;
+ if (RING_INVENTORY._translator._sceneNumber == 7000) {
+ if (RING_INVENTORY._jar._sceneNumber == 7000) {
scene->_sceneMode = 7015;
- scene->setAction(&scene->_sequenceManager, scene, 7015, &_globals->_player, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7015, &_globals->_player, NULL);
} else {
scene->_sceneMode = 7006;
- scene->setAction(&scene->_sequenceManager, scene, 7006, &_globals->_player, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7006, &_globals->_player, NULL);
}
} else {
scene->_sceneMode = 7009;
- scene->setAction(&scene->_sequenceManager, scene, 7009, &_globals->_player, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7009, &_globals->_player, NULL);
}
break;
case OBJECT_JAR:
_globals->_player.disableControl();
- _globals->_inventory._jar._sceneNumber = 7000;
- if (_globals->_inventory._translator._sceneNumber == 7000) {
- if (_globals->_inventory._waldos._sceneNumber == 7000) {
+ RING_INVENTORY._jar._sceneNumber = 7000;
+
+ if (RING_INVENTORY._translator._sceneNumber == 7000) {
+ if (RING_INVENTORY._waldos._sceneNumber != 7000) {
scene->_sceneMode = 7007;
- scene->setAction(&scene->_sequenceManager, scene, 7007, &_globals->_player, &scene->_object1, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7007, &_globals->_player, &scene->_object1, NULL);
} else {
scene->_sceneMode = 7015;
- scene->setAction(&scene->_sequenceManager, scene, 7016, &_globals->_player, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7016, &_globals->_player, NULL);
}
} else {
scene->_sceneMode = 7008;
- scene->setAction(&scene->_sequenceManager, scene, 7008, &_globals->_player, 0, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7008, &_globals->_player, NULL);
}
break;
case CURSOR_LOOK:
@@ -412,7 +418,7 @@ void Scene7000::Object1::doAction(int action) {
break;
case CURSOR_USE:
if (_globals->getFlag(81)) {
- _globals->_inventory._stasisBox._sceneNumber = 1;
+ RING_INVENTORY._stasisBox2._sceneNumber = 1;
_globals->_player.disableControl();
scene->setAction(&scene->_action5);
} else {
@@ -421,7 +427,7 @@ void Scene7000::Object1::doAction(int action) {
break;
case CURSOR_TALK:
if (_globals->getFlag(81)) {
- _globals->_inventory._stasisBox._sceneNumber = 1;
+ RING_INVENTORY._stasisBox._sceneNumber = 1;
_globals->_player.disableControl();
scene->setAction(&scene->_action5);
} else if (_globals->getFlag(52)) {
@@ -450,8 +456,8 @@ void Scene7000::dispatch() {
if (_globals->_sceneRegions.indexOf(_globals->_player._position) == 8) {
if (!_globals->getFlag(13)) {
_globals->_player.disableControl();
- _globals->_player.addMover(0);
- SceneItem::display(7000, 3, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
+ _globals->_player.addMover(NULL);
+ SceneItem::display2(7000, 3);
_sceneMode = 7001;
setAction(&scene->_sequenceManager, this, 7001, &_globals->_player, NULL);
} else if (!_globals->getFlag(52)) {
@@ -459,7 +465,7 @@ void Scene7000::dispatch() {
} else {
_globals->_player.disableControl();
_sceneMode = 7003;
- setAction(&scene->_sequenceManager, this, 7003, &_globals->_player, 0);
+ setAction(&scene->_sequenceManager, this, 7003, &_globals->_player, NULL);
}
}
if (_globals->_sceneRegions.indexOf(_globals->_player._position) == 9)
@@ -486,39 +492,38 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
_object5.postInit();
_object5.setVisage(7001);
_object5.setStrip2(1);
- _object5.animate(ANIM_MODE_2, 0);
+ _object5.animate(ANIM_MODE_2, NULL);
_object5.setPosition(Common::Point(49, 147), 0);
- _object5.setPriority2(1);
+ _object5.fixPriority(1);
_object6.postInit();
_object6.setVisage(7001);
_object6.setStrip2(2);
- _object6.animate(ANIM_MODE_2, 0);
+ _object6.animate(ANIM_MODE_2, NULL);
_object6.setPosition(Common::Point(160, 139), 0);
- _object6.setPriority2(1);
+ _object6.fixPriority(1);
_object7.postInit();
_object7.setVisage(7001);
_object7.setStrip2(3);
- _object7.animate(ANIM_MODE_2, 0);
+ _object7.animate(ANIM_MODE_2, NULL);
_object7.setPosition(Common::Point(272, 129), 0);
- _object7.setPriority2(1);
+ _object7.fixPriority(1);
_object8.postInit();
_object8.setVisage(7001);
_object8.setStrip2(4);
- _object8.animate(ANIM_MODE_2, 0);
+ _object8.animate(ANIM_MODE_2, NULL);
_object8.setPosition(Common::Point(176, 175), 0);
- _object8.setPriority2(1);
+ _object8.fixPriority(1);
if (_globals->getFlag(72)) {
_object3.postInit();
_object3.setVisage(5001);
_object3.setStrip2(1);
- _object3.animate(ANIM_MODE_2, 0);
_object3.setPosition(Common::Point(107, 92), 0);
_object3.changeZoom(100);
- _object3.setPriority2(10);
+ _object3.fixPriority(10);
_object1.postInit();
_object1.setVisage(7003);
@@ -529,24 +534,25 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
_object1.setPosition(Common::Point(87, 129), 0);
_object1._numFrames = 4;
_object1.changeZoom(45);
- _object1.animate(ANIM_MODE_8, 0, 0);
- _globals->_sceneItems.addItems(&_object1, 0);
+ _object1.animate(ANIM_MODE_8, 0, NULL);
+ _globals->_sceneItems.push_back(&_object1);
}
_soundHandler.startSound(251);
if (_globals->_sceneManager._previousScene == 2100) {
if (_globals->getFlag(72)) {
_globals->_player.postInit();
_globals->_player.setVisage(0);
- _globals->_player.animate(ANIM_MODE_1, 0);
+ _globals->_player.animate(ANIM_MODE_1, NULL);
SceneObjectWrapper *wrapper = new SceneObjectWrapper();
_globals->_player.setObjectWrapper(wrapper);
_globals->_player.setPosition(Common::Point(57, 94), 0);
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
if (_globals->getFlag(81)) {
setAction(&_action4);
} else {
_object1.setPosition(Common::Point(151, 182), 0);
+ _object1.changeZoom(100);
setAction(&_action1);
}
} else {
@@ -556,7 +562,7 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
_object3.postInit();
_object3.setVisage(5001);
_object3.setStrip2(1);
- _object3.animate(ANIM_MODE_1, 0);
+ _object3.animate(ANIM_MODE_1, NULL);
_object3.setPosition(Common::Point(307, 0), 0);
_object3.changeZoom(-1);
setAction(&_action3);
@@ -564,12 +570,11 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
} else if (_globals->_sceneManager._previousScene == 2280) {
_globals->_player.postInit();
_globals->_player.setVisage(2170);
- _globals->_player.animate(ANIM_MODE_1, 0);
- SceneObjectWrapper *wrapper = new SceneObjectWrapper();
- _globals->_player.setObjectWrapper(wrapper);
+ _globals->_player.animate(ANIM_MODE_1, NULL);
+ _globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.setPosition(Common::Point(57, 94), 0);
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
_globals->_player.disableControl();
_sceneMode = 7001;
setAction(&_action6, this);
@@ -587,7 +592,7 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
_globals->_player.setObjectWrapper(wrapper);
_globals->_player.setPosition(Common::Point(57, 94), 0);
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(10);
+ _globals->_player.fixPriority(10);
_sceneMode = 7001;
setAction(&_action6, this);
} else {
@@ -602,6 +607,9 @@ void Scene7000::postInit(SceneObjectList *OwnerList) {
_globals->_soundHandler.startSound(250);
setAction(&_action3);
}
+
+ _sceneItem1.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
+ _globals->_sceneItems.push_back(&_sceneItem1);
}
/*--------------------------------------------------------------------------*/
@@ -612,6 +620,10 @@ void Scene7000::signal() {
case 7001:
case 7002:
case 7004:
+ case 7005:
+ case 7006:
+ case 7007:
+ case 7008:
case 7009:
_globals->_player.enableControl();
break;
@@ -709,7 +721,7 @@ void Scene7100::Action5::signal() {
}
case 3: {
scene->_object9.setStrip2(2);
- scene->_object9.setPriority2(180);
+ scene->_object9.fixPriority(180);
Common::Point pt(8, 181);
NpcMover *mover = new NpcMover();
scene->_object9.addMover(mover, &pt, this);
@@ -728,13 +740,13 @@ void Scene7100::Action6::signal() {
switch (_actionIndex++) {
case 0:
setDelay(1);
- scene->_object10.setPriority2(8);
+ scene->_object10.fixPriority(8);
scene->_object10.setPosition(Common::Point(155, 187), 0);
- scene->_object11.setPriority2(8);
+ scene->_object11.fixPriority(8);
scene->_object11.setPosition(Common::Point(155, 190), 0);
- scene->_object12.setPriority2(8);
+ scene->_object12.fixPriority(8);
scene->_object12.setPosition(Common::Point(151, 193), 0);
break;
case 1: {
@@ -758,13 +770,13 @@ void Scene7100::Action6::signal() {
scene->_object10.addMover(mover1, &pt1, this);
scene->_object11.setStrip2(6);
- scene->_object11.setPriority2(50);
+ scene->_object11.fixPriority(50);
Common::Point pt2(89, 185);
NpcMover *mover2 = new NpcMover();
scene->_object11.addMover(mover2, &pt2, 0);
scene->_object12.setStrip2(6);
- scene->_object12.setPriority2(50);
+ scene->_object12.fixPriority(50);
Common::Point pt3(87, 183);
NpcMover *mover3 = new NpcMover();
scene->_object12.addMover(mover3, &pt3, 0);
@@ -919,7 +931,7 @@ void Scene7100::Action9::signal() {
}
case 2: {
scene->_object24.setStrip2(2);
- scene->_object24.setPriority2(160);
+ scene->_object24.fixPriority(160);
Common::Point pt(34, 159);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
@@ -934,7 +946,7 @@ void Scene7100::Action9::signal() {
}
case 4: {
scene->_object24.setStrip2(2);
- scene->_object24.setPriority2(180);
+ scene->_object24.fixPriority(180);
Common::Point pt(-12, 182);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
@@ -1006,7 +1018,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object2.animate(ANIM_MODE_2, 0);
_object2.setPosition(Common::Point(10, 140), 0);
_object2._numFrames = 1;
- _object2.setPriority2(180);
+ _object2.fixPriority(180);
_object2.setAction(&_action1, 0);
_object3.postInit();
@@ -1014,7 +1026,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object3.animate(ANIM_MODE_2, 0);
_object3.setPosition(Common::Point(34, 115), 0);
_object3._numFrames = 1;
- _object3.setPriority2(180);
+ _object3.fixPriority(180);
_object3.setAction(&_action2, 0);
_object4.postInit();
@@ -1022,7 +1034,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object4.animate(ANIM_MODE_2, 0);
_object4.setPosition(Common::Point(-10, 159), 0);
_object4._numFrames = 2;
- _object4.setPriority2(250);
+ _object4.fixPriority(250);
_object4.setAction(&_action3, 0);
_object5.postInit();
@@ -1038,7 +1050,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object9.animate(ANIM_MODE_2, 0);
_object9.setPosition(Common::Point(110, 168), 0);
_object9._numFrames = 2;
- _object9.setPriority2(16);
+ _object9.fixPriority(16);
_object9.setAction(&_action5, 0);
_object13.postInit();
@@ -1047,7 +1059,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object13.animate(ANIM_MODE_2, 0);
_object13.setPosition(Common::Point(524, 104), 0);
_object13._numFrames = 5;
- _object13.setPriority2(250);
+ _object13.fixPriority(250);
_object13.setAction(&_action7, 0);
_object17.postInit();
@@ -1084,7 +1096,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object24.animate(ANIM_MODE_2, 0);
_object24.setPosition(Common::Point(-12, 182), 0);
_object24._numFrames = 4;
- _object24.setPriority2(180);
+ _object24.fixPriority(180);
_object24.setAction(&_action9, 0);
_object25.postInit();
@@ -1092,7 +1104,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_object25.animate(ANIM_MODE_2, 0);
_object25.setPosition(Common::Point(551, 145), 0);
_object25._numFrames = 5;
- _object25.setPriority2(160);
+ _object25.fixPriority(160);
_object25.setAction(&_action10, 0);
// Swimmer 1
@@ -1102,7 +1114,7 @@ void Scene7100::postInit(SceneObjectList *OwnerList) {
_globals->_player._moveDiff.x = 4;
_globals->_player._moveDiff.y = 2;
_globals->_player.setPosition(Common::Point(135, 135), 0);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.disableControl();
// Swimmer 2
@@ -1158,9 +1170,9 @@ void Scene7200::Action2::signal() {
setDelay(3);
break;
case 1: {
- scene->_object2.setPriority2(25);
- scene->_object3.setPriority2(25);
- scene->_object4.setPriority2(25);
+ scene->_object2.fixPriority(25);
+ scene->_object3.fixPriority(25);
+ scene->_object4.fixPriority(25);
scene->_object2.setStrip(1);
scene->_object3.setStrip(1);
scene->_object4.setStrip(1);
@@ -1176,9 +1188,9 @@ void Scene7200::Action2::signal() {
break;
}
case 2: {
- scene->_object2.setPriority2(160);
- scene->_object3.setPriority2(160);
- scene->_object4.setPriority2(160);
+ scene->_object2.fixPriority(160);
+ scene->_object3.fixPriority(160);
+ scene->_object4.fixPriority(160);
scene->_object2.setStrip(2);
scene->_object3.setStrip(2);
scene->_object4.setStrip(2);
@@ -1316,7 +1328,7 @@ void Scene7300::Action1::signal() {
_globals->_player.setStrip(3);
_globals->_player._numFrames = 5;
_globals->_player.animate(ANIM_MODE_2, this);
- if (_globals->_inventory._translator._sceneNumber == 1)
+ if (RING_INVENTORY._translator._sceneNumber == 1)
scene->_stripManager.start(7310, this);
else
scene->_stripManager.start(7305, this);
@@ -1424,7 +1436,7 @@ void Scene7300::postInit(SceneObjectList *OwnerList) {
_object3._numFrames = 2;
_object3._moveDiff = Common::Point(1, 1);
_object3.animate(ANIM_MODE_8, 0, 0);
- _object3._field7A = 2;
+ _object3._moveRate = 2;
_object3.setAction(&_action2);
_globals->_player.postInit();
@@ -1438,7 +1450,7 @@ void Scene7300::postInit(SceneObjectList *OwnerList) {
_object1.animate(ANIM_MODE_1, 0);
_object1._moveDiff = Common::Point(1, 1);
_object1.setPosition(Common::Point(76, 78), 0);
- _object1._field7A = 1;
+ _object1._moveRate = 1;
_object1.setAction(&_action3);
_object2.postInit();
@@ -1446,7 +1458,7 @@ void Scene7300::postInit(SceneObjectList *OwnerList) {
_object2.setStrip(2);
_object2.animate(ANIM_MODE_2, 0);
_object2.setPosition(Common::Point(77, 47), 0);
- _object2.setPriority2(190);
+ _object2.fixPriority(190);
_object5.postInit();
_object5.setVisage(7300);
@@ -1532,35 +1544,35 @@ void Scene7600::postInit(SceneObjectList *OwnerList) {
_object2.setStrip(1);
_object2.animate(ANIM_MODE_2, 0);
_object2.setPosition(Common::Point(48, 135));
- _object2.setPriority2(1);
+ _object2.fixPriority(1);
_object3.postInit();
_object3.setVisage(7601);
_object3.setStrip(2);
_object3.animate(ANIM_MODE_2, 0);
_object3.setPosition(Common::Point(158, 136));
- _object3.setPriority2(1);
+ _object3.fixPriority(1);
_object4.postInit();
_object4.setVisage(7601);
_object4.setStrip(3);
_object4.animate(ANIM_MODE_2, 0);
_object4.setPosition(Common::Point(293, 141));
- _object4.setPriority2(1);
+ _object4.fixPriority(1);
_object5.postInit();
_object5.setVisage(7601);
_object5.setStrip(4);
_object5.animate(ANIM_MODE_2, 0);
_object5.setPosition(Common::Point(405, 143));
- _object5.setPriority2(1);
+ _object5.fixPriority(1);
_object6.postInit();
_object6.setVisage(7601);
_object6.setStrip(5);
_object6.animate(ANIM_MODE_2, 0);
_object6.setPosition(Common::Point(379, 191));
- _object6.setPriority2(1);
+ _object6.fixPriority(1);
_globals->_player.postInit();
_globals->_player.setVisage(2333);
@@ -1590,7 +1602,7 @@ void Scene7600::postInit(SceneObjectList *OwnerList) {
*--------------------------------------------------------------------------*/
void Scene7700::Action1::signal() {
- SceneObject *fmtObj = (SceneObject *) _fmt;
+ SceneObject *fmtObj = (SceneObject *) _endHandler;
switch (_actionIndex++) {
case 0: {
PlayerMover *mover1 = new PlayerMover();
@@ -1755,10 +1767,10 @@ void Scene7700::SceneHotspot3::doAction(int action) {
switch (action) {
case OBJECT_KEY:
SceneItem::display(7702, 3, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
- _globals->_inventory._key._sceneNumber = 7700;
+ RING_INVENTORY._key._sceneNumber = 7700;
break;
case CURSOR_LOOK:
- if (_globals->_inventory._key._sceneNumber == 7700)
+ if (RING_INVENTORY._key._sceneNumber == 7700)
scene->setAction(&scene->_action4, 0);
else
SceneItem::display(7700, 53, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
@@ -1767,10 +1779,10 @@ void Scene7700::SceneHotspot3::doAction(int action) {
if (!_globals->getFlag(78)) {
scene->_sceneMode = 7712;
scene->setAction(&scene->_sequenceManager, scene, 7715, 0);
- } else if (_globals->_inventory._key._sceneNumber == 7700) {
+ } else if (RING_INVENTORY._key._sceneNumber == 7700) {
_globals->_player.disableControl();
scene->_sceneMode = 7705;
- scene->setAction(&scene->_sequenceManager, scene, 7705, &_globals->_player, 0);
+ scene->setAction(&scene->_sequenceManager, scene, 7705, &_globals->_player, NULL);
}
break;
default:
@@ -1809,7 +1821,7 @@ void Scene7700::SceneHotspot5::doAction(int action) {
break;
case CURSOR_USE:
if (_globals->getFlag(78)) {
- if (_globals->_inventory._paper._sceneNumber == 7700) {
+ if (RING_INVENTORY._paper._sceneNumber == 7700) {
_globals->_player.disableControl();
scene->_sceneMode = 7708;
scene->setAction(&scene->_sequenceManager, scene, 7708, &_globals->_player, 0);
@@ -2036,27 +2048,26 @@ void Scene7700::Object8::doAction(int action) {
scene->_object9.setVisage(7701);
scene->_object9.setStrip2(3);
scene->_object9.setPosition(Common::Point(91, 166), 0);
- scene->_object9.setPriority2(200);
+ scene->_object9.fixPriority(200);
scene->_object14.postInit();
scene->_object14.setVisage(7701);
scene->_object14.setStrip(2);
- scene->_object14.setPriority2(250);
+ scene->_object14.fixPriority(250);
scene->_object14.setPosition(Common::Point(139, 151), 0);
scene->_gfxButton.setText(EXIT_MSG);
scene->_gfxButton._bounds.center(140, 189);
scene->_gfxButton.draw();
- scene->_gfxButton._bounds.expandPanes();
- _globals->_sceneItems.push_front(&scene->_object10);
+ _globals->_sceneItems.push_front(&scene->_sceneItem10);
_globals->_sceneItems.push_front(&scene->_object9);
_globals->_player._canWalk = false;
- } else {
+ } else if (_globals->getFlag(78)) {
scene->_object15.postInit();
scene->_object15.setVisage(7701);
scene->_object15.setPosition(Common::Point(140, 165), 0);
- scene->_object15.setPriority2(200);
+ scene->_object15.fixPriority(200);
scene->_gfxButton.setText(EXIT_MSG);
scene->_gfxButton._bounds.center(140, 186);
@@ -2068,11 +2079,13 @@ void Scene7700::Object8::doAction(int action) {
scene->_object19.setStrip(6);
scene->_object19.setPosition(Common::Point(140, 192), 0);
- _globals->_sceneItems.push_front(&scene->_object10);
- _globals->_sceneItems.push_front(&scene->_object8);
- _globals->_sceneItems.push_front(&scene->_object9);
+ _globals->_sceneItems.push_front(&scene->_sceneItem10);
+ _globals->_sceneItems.push_front(&scene->_sceneHotspot8);
+ _globals->_sceneItems.push_front(&scene->_sceneHotspot9);
_globals->_events.setCursor(CURSOR_WALK);
_globals->_player._canWalk = false;
+ } else {
+ scene->setAction(&scene->_sequenceManager, scene, 7715, NULL);
}
} else {
SceneHotspot::doAction(action);
@@ -2100,7 +2113,7 @@ void Scene7700::Object9::doAction(int action) {
scene->_object10.setStrip(4);
scene->_object10.setPosition(Common::Point(159, 136));
_globals->_sceneItems.push_front(&scene->_object10);
- scene->_object10.setPriority2(240);
+ scene->_object10.fixPriority(240);
}
scene->_soundHandler.startSound(262);
scene->_object14.animate(ANIM_MODE_5, 0);
@@ -2118,6 +2131,8 @@ void Scene7700::Object10::doAction(int action) {
if (action == CURSOR_LOOK) {
SceneItem::display(7700, 50, SET_WIDTH, 200, SET_EXT_BGCOLOR, 7, LIST_END);
} else if (action == CURSOR_USE) {
+ _globals->_player._canWalk = true;
+ RING_INVENTORY._translator._sceneNumber = 1;
_globals->setFlag(80);
scene->_sceneItem10.remove();
scene->_gfxButton._bounds.expandPanes();
@@ -2156,8 +2171,8 @@ void Scene7700::Object11::doAction(int action) {
}
break;
case OBJECT_EMPTY_JAR:
- _globals->_inventory._emptyJar._sceneNumber = 0;
- _globals->_inventory._jar._sceneNumber = 1;
+ RING_INVENTORY._emptyJar._sceneNumber = 0;
+ RING_INVENTORY._jar._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 7710;
scene->setAction(&scene->_sequenceManager, scene, 7710, &_globals->_player, NULL);
@@ -2188,7 +2203,7 @@ void Scene7700::Object12::doAction(int action) {
void Scene7700::signal() {
switch (_sceneMode) {
case 7701:
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.setStrip2(-1);
if (_globals->getFlag(78)) {
_globals->_player.enableControl();
@@ -2216,8 +2231,11 @@ void Scene7700::signal() {
_globals->_player.enableControl();
break;
case 7705:
+ RING_INVENTORY._key._sceneNumber = 1;
+ _globals->_player.enableControl();
+ break;
case 7708:
- _globals->_inventory._key._sceneNumber = 1;
+ RING_INVENTORY._paper._sceneNumber = 1;
_globals->_player.enableControl();
break;
case 7709:
@@ -2229,7 +2247,7 @@ void Scene7700::signal() {
break;
case 7713:
_emptyJar.remove();
- _globals->_inventory._emptyJar._sceneNumber = 1;
+ RING_INVENTORY._emptyJar._sceneNumber = 1;
break;
default:
break;
@@ -2242,8 +2260,8 @@ void Scene7700::process(Event &event) {
if (contains<SceneItem *>(_globals->_sceneItems, &_sceneItem10)) {
if (_gfxButton.process(event)) {
_sceneItem10.remove();
- _sceneHotspot15.remove();
- _sceneHotspot9.remove();
+ _object15.remove();
+ _object9.remove();
if (_globals->_sceneObjects->contains(&_object10))
_object10.remove();
if (_globals->_sceneObjects->contains(&_object14))
@@ -2259,7 +2277,7 @@ void Scene7700::process(Event &event) {
_easterEgg1.postInit();
_easterEgg1.setVisage(7708);
_easterEgg1.setPosition(Common::Point(163, 50), 0);
- _easterEgg1.setPriority2(1);
+ _easterEgg1.fixPriority(1);
_easterEgg1.animate(ANIM_MODE_2, 0);
_easterEgg1.setAction(&_action6);
}
@@ -2301,7 +2319,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_globals->_player.setObjectWrapper(wrapper);
_globals->_player.setPosition(Common::Point(-19, 68), 0);
_globals->_player.setStrip2(7);
- _globals->_player.setPriority2(95);
+ _globals->_player.fixPriority(95);
_globals->_player.changeZoom(80);
_globals->_player._moveDiff.x = 6;
_globals->_player._moveDiff.y = 3;
@@ -2312,7 +2330,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
if (_globals->getFlag(78)) {
_prof.setStrip2(4);
- _prof.setPriority2(80);
+ _prof.fixPriority(80);
_prof.setPosition(Common::Point(159, 87), 0);
} else {
_prof.setPosition(Common::Point(203, 87), 0);
@@ -2324,10 +2342,10 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_cloud.postInit();
_cloud.setVisage(7700);
_cloud.setStrip2(5);
- _cloud.setPriority2(1);
+ _cloud.fixPriority(1);
_cloud.setPosition(Common::Point(133, 160), 0);
_cloud._moveDiff.x = 1;
- _cloud._field7A = 7;
+ _cloud._moveRate = 7;
_cloud.setAction(&_action5);
_object1.postInit();
@@ -2339,7 +2357,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_object2.postInit();
_object2.setVisage(7700);
_object2.setPosition(Common::Point(184, 70), 0);
- _object2.setPriority2(60);
+ _object2.fixPriority(60);
_object2._lookLineNum = 19;
_object2._defltLineNum = 17;
@@ -2358,7 +2376,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_object5.postInit();
_object5.setVisage(7700);
_object5.setPosition(Common::Point(268, 67), 0);
- _object5.setPriority2(58);
+ _object5.fixPriority(58);
_object5.setStrip2(3);
_object5._lookLineNum = 38;
_object5._defltLineNum = 36;
@@ -2366,7 +2384,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_object6.postInit();
_object6.setVisage(7700);
_object6.setPosition(Common::Point(268, 75), 0);
- _object6.setPriority2(57);
+ _object6.fixPriority(57);
_object6.setStrip2(4);
_object6._lookLineNum = 40;
_object6._defltLineNum = 43;
@@ -2375,7 +2393,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_object8.setVisage(7703);
_object8.setPosition(Common::Point(203, 91), 0);
_object8.setStrip2(4);
- _object8.setPriority2(86);
+ _object8.fixPriority(86);
_sceneHotspot8.setBounds(82, 141, 161, 92);
_sceneHotspot9.setBounds(82, 187, 161, 141);
@@ -2387,7 +2405,7 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
if (_globals->getFlag(49))
_cork.setFrame(_cork.getFrameCount());
- if (_globals->_inventory._emptyJar._sceneNumber == 7700) {
+ if (RING_INVENTORY._emptyJar._sceneNumber == 7700) {
_emptyJar.postInit();
_emptyJar.setVisage(7700);
_emptyJar.setStrip(8);
@@ -2420,8 +2438,8 @@ void Scene7700::postInit(SceneObjectList *OwnerList) {
_sceneHotspot15._useLineNum = 6;
_sceneHotspot15._lookLineNum = 7;
_sceneHotspot16.setBounds(0, 130, 34, 103);
- _sceneHotspot16._useLineNum = 8;
- _sceneHotspot16._lookLineNum = 9;
+ _sceneHotspot16._useLineNum = 7;
+ _sceneHotspot16._lookLineNum = 8;
_sceneHotspot17.setBounds(41, 180, 46, 170);
_sceneHotspot17._useLineNum = 11;
_sceneHotspot17._lookLineNum = 13;
diff --git a/engines/tsage/ringworld_scenes8.h b/engines/tsage/ringworld_scenes8.h
index 0c39920614..e40f3d4133 100644
--- a/engines/tsage/ringworld_scenes8.h
+++ b/engines/tsage/ringworld_scenes8.h
@@ -41,6 +41,7 @@ public:
NamedHotspotMult() : SceneHotspot() {}
virtual Common::String getClassName() { return "NamedHotspotMult"; }
+ virtual void synchronise(Serialiser &s);
};
class SceneObject7700 : public SceneObjectExt {
@@ -107,7 +108,7 @@ public:
SpeakerQL _speakerQL;
SpeakerQR _speakerQR;
SpeakerQText _speakerQText;
- SceneObject _object1;
+ Object1 _object1;
SceneObject _object2;
SceneObject _object3;
SceneObject _object4;
diff --git a/engines/tsage/saveload.cpp b/engines/tsage/saveload.cpp
index 7983e2a34c..317bc4bbb7 100644
--- a/engines/tsage/saveload.cpp
+++ b/engines/tsage/saveload.cpp
@@ -24,6 +24,7 @@
*/
#include "common/savefile.h"
+#include "graphics/palette.h"
#include "graphics/scaler.h"
#include "graphics/thumbnail.h"
#include "tsage/globals.h"
@@ -151,13 +152,13 @@ Common::Error Saver::save(int slot, const Common::String &saveName) {
}
Common::Error Saver::restore(int slot) {
- assert(!getMacroSaveFlag());
+ assert(!getMacroRestoreFlag());
// Signal any objects registered for notification
_loadNotifiers.notify(false);
// Set fields
- _macroSaveFlag = true;
+ _macroRestoreFlag = true;
_saveSlot = slot;
_unresolvedPtrs.clear();
@@ -261,16 +262,8 @@ void Saver::writeSavegameHeader(Common::OutSaveFile *out, tSageSavegameHeader &h
out->write(header.saveName.c_str(), header.saveName.size() + 1);
// Get the active palette
- uint32 workPal[256];
uint8 thumbPalette[256 * 3];
- const byte *srcP = (const byte *)&workPal[0];
- byte *destP = &thumbPalette[0];
- g_system->getPaletteManager()->grabPalette((byte *)workPal, 0, 256);
- for (int idx = 0; idx < 256; ++idx, ++srcP) {
- *destP++ = *srcP++;
- *destP++ = *srcP++;
- *destP++ = *srcP++;
- }
+ g_system->getPaletteManager()->grabPalette(thumbPalette, 0, 256);
// Create a thumbnail and save it
Graphics::Surface *thumb = new Graphics::Surface();
@@ -343,7 +336,7 @@ bool Saver::savegamesExist() const {
*/
int Saver::blockIndexOf(SavedObject *p) {
int objIndex = 1;
- SynchronisedList<SavedObject *>::iterator iObj;
+ Common::List<SavedObject *>::iterator iObj;
for (iObj = _objList.begin(); iObj != _objList.end(); ++iObj, ++objIndex) {
SavedObject *iObjP = *iObj;
@@ -355,6 +348,25 @@ int Saver::blockIndexOf(SavedObject *p) {
}
/**
+ * Returns the number of objects in the object list registry
+ */
+int Saver::getObjectCount() const {
+ return _objList.size();
+}
+
+/**
+ * List any currently active objects
+ */
+void Saver::listObjects() {
+ Common::List<SavedObject *>::iterator i;
+ int count = 1;
+
+ for (i = _objList.begin(); i != _objList.end(); ++i, ++count)
+ debug("%d - %s", count, (*i)->getClassName().c_str());
+ debugN("\n");
+}
+
+/**
* Returns the pointer associated with the specified object index
*/
void Saver::resolveLoadPointers() {
@@ -366,12 +378,14 @@ void Saver::resolveLoadPointers() {
int objIndex = 1;
for (SynchronisedList<SavedObject *>::iterator iObj = _objList.begin(); iObj != _objList.end(); ++iObj, ++objIndex) {
Common::List<SavedObjectRef>::iterator iPtr;
+ SavedObject *pObj = *iObj;
for (iPtr = _unresolvedPtrs.begin(); iPtr != _unresolvedPtrs.end(); ) {
SavedObjectRef &r = *iPtr;
if (r._objIndex == objIndex) {
// Found an unresolved pointer to this object
- *r._savedObject = *iObj;
+ SavedObject **objPP = r._savedObject;
+ *objPP = pObj;
iPtr = _unresolvedPtrs.erase(iPtr);
} else {
++iPtr;
diff --git a/engines/tsage/saveload.h b/engines/tsage/saveload.h
index 945d144ae5..c45271b8fc 100644
--- a/engines/tsage/saveload.h
+++ b/engines/tsage/saveload.h
@@ -54,8 +54,8 @@ struct tSageSavegameHeader {
// FIXME: workaround to supress spurious strict-alias warnings on older GCC
// versions. this should be resolved with the savegame rewrite
#define SYNC_POINTER(x) do { \
- SavedObject *y = (SavedObject *)x; \
- s.syncPointer(&y); \
+ SavedObject **y = (SavedObject **)((void *)&x); \
+ s.syncPointer(y); \
} while (false)
#define SYNC_ENUM(FIELD, TYPE) int v_##FIELD = (int)FIELD; s.syncAsUint16LE(v_##FIELD); \
@@ -176,7 +176,7 @@ typedef SavedObject *(*SavedObjectFactory)(const Common::String &className);
class Saver {
private:
- SynchronisedList<SavedObject *> _objList;
+ Common::List<SavedObject *> _objList;
FunctionList<bool> _saveNotifiers;
FunctionList<bool> _loadNotifiers;
Common::List<SaveListener *> _listeners;
@@ -212,6 +212,8 @@ public:
bool getMacroSaveFlag() const { return _macroSaveFlag; }
bool getMacroRestoreFlag() const { return _macroRestoreFlag; }
int blockIndexOf(SavedObject *p);
+ int getObjectCount() const;
+ void listObjects();
};
extern Saver *_saver;
diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp
index a750076eaa..9a99049c19 100644
--- a/engines/tsage/scenes.cpp
+++ b/engines/tsage/scenes.cpp
@@ -27,6 +27,7 @@
#include "tsage/globals.h"
#include "tsage/ringworld_logic.h"
#include "tsage/tsage.h"
+#include "tsage/saveload.h"
namespace tSage {
@@ -39,6 +40,7 @@ SceneManager::SceneManager() {
_fadeMode = FADEMODE_GRADUAL;
_scrollerRect = Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_saver->addListener(this);
+ _objectCount = 0;
}
SceneManager::~SceneManager() {
@@ -107,9 +109,20 @@ void SceneManager::sceneChange() {
// Free any regions
disposeRegions();
+ // Ensure that the same number of objects are registered now as when the scene started
+ if (_objectCount > 0) {
+ assert(_objectCount == _saver->getObjectCount());
+ }
+ _objectCount = _saver->getObjectCount();
+ _globals->_sceneHandler._delayTicks = 2;
+
// Instantiate and set the new scene
_scene = getNewScene();
- _scene->postInit();
+
+ if (!_saver->getMacroRestoreFlag())
+ _scene->postInit();
+ else
+ _scene->loadScene(_sceneNumber);
}
Scene *SceneManager::getNewScene() {
@@ -232,6 +245,7 @@ Scene::Scene() : _sceneBounds(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT),
_backgroundBounds(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) {
_sceneMode = 0;
_oldSceneBounds = Rect(4000, 4000, 4100, 4100);
+ Common::set_to(&_zoomPercents[0], &_zoomPercents[256], 0);
}
Scene::~Scene() {
@@ -239,7 +253,7 @@ Scene::~Scene() {
void Scene::synchronise(Serialiser &s) {
s.syncAsSint32LE(_field12);
- s.syncAsSint32LE(_sceneNumber);
+ s.syncAsSint32LE(_screenNumber);
s.syncAsSint32LE(_activeScreenNumber);
s.syncAsSint32LE(_sceneMode);
_backgroundBounds.synchronise(s);
@@ -272,7 +286,7 @@ void Scene::dispatch() {
void Scene::loadScene(int sceneNum) {
warning("loadScene(%d)", sceneNum);
- _sceneNumber = sceneNum;
+ _screenNumber = sceneNum;
if (_globals->_scenePalette.loadPalette(sceneNum))
_globals->_sceneManager._hasPalette = true;
@@ -280,10 +294,10 @@ void Scene::loadScene(int sceneNum) {
}
void Scene::loadSceneData(int sceneNum) {
- _globals->_sceneManager._scene->_activeScreenNumber = sceneNum;
+ _activeScreenNumber = sceneNum;
// Get the basic scene size
- byte *data = _vm->_dataManager->getResource(RES_BITMAP, sceneNum, 9999);
+ byte *data = _resourceManager->getResource(RES_BITMAP, sceneNum, 9999);
_backgroundBounds = Rect(0, 0, READ_LE_UINT16(data), READ_LE_UINT16(data + 2));
_globals->_sceneManager._scene->_sceneBounds.contain(_backgroundBounds);
DEALLOCATE(data);
diff --git a/engines/tsage/scenes.h b/engines/tsage/scenes.h
index 1a6f92745d..0ac906728f 100644
--- a/engines/tsage/scenes.h
+++ b/engines/tsage/scenes.h
@@ -39,7 +39,7 @@ private:
void drawAltObjects();
public:
int _field12;
- int _sceneNumber;
+ int _screenNumber;
int _activeScreenNumber;
int _sceneMode;
StripManager _stripManager;
@@ -88,6 +88,7 @@ public:
int _sceneLoadCount;
Rect _scrollerRect;
SceneObjectList _altSceneObjects;
+ int _objectCount;
public:
SceneManager();
virtual ~SceneManager();
diff --git a/engines/tsage/sound.cpp b/engines/tsage/sound.cpp
index 7c8325d53e..63e753104e 100644
--- a/engines/tsage/sound.cpp
+++ b/engines/tsage/sound.cpp
@@ -23,8 +23,6 @@
*
*/
-#include "common/config-manager.h"
-#include "common/endian.h"
#include "tsage/core.h"
#include "tsage/globals.h"
#include "tsage/debugger.h"
diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp
index 46b75e30ea..bc85718035 100644
--- a/engines/tsage/staticres.cpp
+++ b/engines/tsage/staticres.cpp
@@ -114,4 +114,7 @@ const char *SCENE6100_SWEAT = "Humans sweat, Kzin twitch their tail. What's the
const char *SCENE6100_VERY_WELL = "Very well. I will retrieve the stasis box and return the probe. \
Wait for it's return in the lander bay.";
+const char *DEMO_HELP_MSG = " Help...\rF2 - Sound Options\rF3 - Exit demo\r\rPress ENTER\rto continue";
+const char *DEMO_PAUSED_MSG = " demo is paused";
+
} // End of namespace tSage
diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h
index cb62272735..0db349f8a7 100644
--- a/engines/tsage/staticres.h
+++ b/engines/tsage/staticres.h
@@ -79,6 +79,10 @@ extern const char *SCENE6100_SURPRISE;
extern const char *SCENE6100_SWEAT;
extern const char *SCENE6100_VERY_WELL;
+// Demo messages
+extern const char *DEMO_HELP_MSG;
+extern const char *DEMO_PAUSED_MSG;
+
} // End of namespace tSage
#endif
diff --git a/engines/tsage/tsage.cpp b/engines/tsage/tsage.cpp
index 9d5d7223cb..d6f07c999b 100644
--- a/engines/tsage/tsage.cpp
+++ b/engines/tsage/tsage.cpp
@@ -23,11 +23,7 @@
*
*/
-#include "common/config-manager.h"
-#include "common/debug.h"
#include "common/debug-channels.h"
-#include "common/system.h"
-#include "common/savefile.h"
#include "engines/util.h"
#include "tsage/tsage.h"
@@ -46,7 +42,6 @@ TSageEngine::TSageEngine(OSystem *system, const tSageGameDescription *gameDesc)
_vm = this;
DebugMan.addDebugChannel(kRingDebugScripts, "scripts", "Scripts debugging");
_debugger = new Debugger();
- _dataManager = NULL;
}
Common::Error TSageEngine::init() {
@@ -69,29 +64,34 @@ bool TSageEngine::hasFeature(EngineFeature f) const {
}
void TSageEngine::initialise() {
- _tSageManager = new RlbManager(_memoryManager, "tsage.rlb");
- _dataManager = new RlbManager(_memoryManager, "ring.rlb");
-
_saver = new Saver();
+
+ // Set up the resource manager
+ _resourceManager = new ResourceManager();
+ if (_vm->getFeatures() & GF_DEMO) {
+ // Add the single library file associated with the demo
+ _resourceManager->addLib(getPrimaryFilename());
+ } else {
+ _resourceManager->addLib("RING.RLB");
+ _resourceManager->addLib("TSAGE.RLB");
+ }
+
_globals = new Globals();
_globals->gfxManager().setDefaults();
}
void TSageEngine::deinitialise() {
delete _globals;
+ delete _resourceManager;
delete _saver;
- delete _tSageManager;
- delete _dataManager;
}
Common::Error TSageEngine::run() {
// Basic initialisation
initialise();
- _globals->_events.showCursor();
-
_globals->_sceneHandler.registerHandler();
- _globals->_game.execute();
+ _globals->_game->execute();
deinitialise();
return Common::kNoError;
diff --git a/engines/tsage/tsage.h b/engines/tsage/tsage.h
index 25a99f094b..06c66d8f42 100644
--- a/engines/tsage/tsage.h
+++ b/engines/tsage/tsage.h
@@ -50,7 +50,8 @@ enum {
enum {
GF_DEMO = 1 << 0,
GF_CD = 1 << 1,
- GF_FLOPPY = 1 << 2
+ GF_FLOPPY = 1 << 2,
+ GF_ALT_REGIONS = 1 << 3
};
enum {
@@ -74,12 +75,11 @@ public:
MemoryManager _memoryManager;
Debugger *_debugger;
- RlbManager *_tSageManager;
- RlbManager *_dataManager;
const char *getGameId() const;
uint32 getGameID() const;
uint32 getFeatures() const;
+ Common::String getPrimaryFilename() const;
virtual Common::Error init();
virtual Common::Error run();
diff --git a/engines/tucker/locations.cpp b/engines/tucker/locations.cpp
index 108c6bcad5..ee117d233d 100644
--- a/engines/tucker/locations.cpp
+++ b/engines/tucker/locations.cpp
@@ -26,6 +26,7 @@
#include "tucker/tucker.h"
#include "tucker/graphics.h"
#include "common/system.h"
+#include "graphics/palette.h"
namespace Tucker {
diff --git a/engines/tucker/resource.cpp b/engines/tucker/resource.cpp
index c0f1baae99..aeb4399dee 100644
--- a/engines/tucker/resource.cpp
+++ b/engines/tucker/resource.cpp
@@ -24,6 +24,7 @@
*/
#include "common/file.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
#include "audio/decoders/flac.h"
diff --git a/engines/tucker/saveload.cpp b/engines/tucker/saveload.cpp
index 83533a90c3..52c6bf19ce 100644
--- a/engines/tucker/saveload.cpp
+++ b/engines/tucker/saveload.cpp
@@ -24,6 +24,7 @@
*/
#include "common/savefile.h"
+#include "common/textconsole.h"
#include "tucker/tucker.h"
diff --git a/engines/tucker/sequences.cpp b/engines/tucker/sequences.cpp
index 5e99e3ccef..d747b346ee 100644
--- a/engines/tucker/sequences.cpp
+++ b/engines/tucker/sequences.cpp
@@ -24,11 +24,14 @@
*/
#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
#include "audio/decoders/raw.h"
#include "audio/decoders/wave.h"
+#include "graphics/palette.h"
+
#include "tucker/tucker.h"
#include "tucker/graphics.h"
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index e41cbfbeef..ed3046867b 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -26,10 +26,17 @@
#include "common/config-manager.h"
#include "common/events.h"
#include "common/system.h"
+#include "common/archive.h"
+#include "common/debug.h"
+#include "common/error.h"
+#include "common/keyboard.h"
+#include "common/textconsole.h"
#include "engines/util.h"
#include "graphics/cursorman.h"
+#include "graphics/palette.h"
+#include "gui/debugger.h"
#include "tucker/tucker.h"
#include "tucker/graphics.h"
diff --git a/graphics/VectorRenderer.cpp b/graphics/VectorRenderer.cpp
index 0237712f13..e3ca0bf588 100644
--- a/graphics/VectorRenderer.cpp
+++ b/graphics/VectorRenderer.cpp
@@ -23,14 +23,9 @@
*
*/
+#include "common/textconsole.h"
#include "common/util.h"
-#include "common/system.h"
-#include "common/events.h"
-#include "graphics/surface.h"
-#include "graphics/colormasks.h"
-
-#include "gui/ThemeEngine.h"
#include "graphics/VectorRenderer.h"
#define VECTOR_RENDERER_FAST_TRIANGLES
diff --git a/graphics/VectorRenderer.h b/graphics/VectorRenderer.h
index 0a783a077d..9285fa21c5 100644
--- a/graphics/VectorRenderer.h
+++ b/graphics/VectorRenderer.h
@@ -26,16 +26,19 @@
#ifndef VECTOR_RENDERER_H
#define VECTOR_RENDERER_H
+#include "common/rect.h"
#include "common/scummsys.h"
-#include "common/system.h"
+#include "common/str.h"
#include "graphics/surface.h"
-#include "graphics/pixelformat.h"
#include "gui/ThemeEngine.h"
+class OSystem;
+
namespace Graphics {
class VectorRenderer;
+struct DrawStep;
typedef void (VectorRenderer::*DrawingFunctionCallback)(const Common::Rect &, const Graphics::DrawStep &);
diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp
index c2da969fb8..3eb8b1345f 100644
--- a/graphics/VectorRendererSpec.cpp
+++ b/graphics/VectorRendererSpec.cpp
@@ -25,7 +25,6 @@
#include "common/util.h"
#include "common/system.h"
-#include "common/events.h"
#include "common/frac.h"
#include "graphics/surface.h"
diff --git a/graphics/conversion.cpp b/graphics/conversion.cpp
index fee4b05f66..c9679432fa 100644
--- a/graphics/conversion.cpp
+++ b/graphics/conversion.cpp
@@ -23,6 +23,7 @@
*/
#include "graphics/conversion.h"
+#include "graphics/pixelformat.h"
namespace Graphics {
diff --git a/graphics/conversion.h b/graphics/conversion.h
index b6d230612e..2759f3bb5e 100644
--- a/graphics/conversion.h
+++ b/graphics/conversion.h
@@ -27,10 +27,11 @@
#define GRAPHICS_CONVERSION_H
#include "common/util.h"
-#include "graphics/pixelformat.h"
namespace Graphics {
+struct PixelFormat;
+
/** Converting a color from YUV to RGB colorspace. */
inline static void YUV2RGB(byte y, byte u, byte v, byte &r, byte &g, byte &b) {
r = CLIP<int>(y + ((1357 * (v - 128)) >> 10), 0, 255);
diff --git a/graphics/font.cpp b/graphics/font.cpp
index 6a03c486ae..7fa39d07db 100644
--- a/graphics/font.cpp
+++ b/graphics/font.cpp
@@ -25,7 +25,11 @@
#include "common/stream.h"
#include "common/file.h"
#include "common/endian.h"
+#include "common/array.h"
+#include "common/textconsole.h"
+#include "common/util.h"
#include "graphics/font.h"
+#include "graphics/surface.h"
namespace Graphics {
diff --git a/graphics/font.h b/graphics/font.h
index b1a4735249..9e6e180ec3 100644
--- a/graphics/font.h
+++ b/graphics/font.h
@@ -26,15 +26,16 @@
#define GRAPHICS_FONT_H
#include "common/str.h"
-#include "common/array.h"
-#include "graphics/surface.h"
namespace Common {
class SeekableReadStream;
+template<class T> class Array;
}
namespace Graphics {
+struct Surface;
+
/** Text alignment modes */
enum TextAlign {
kTextAlignInvalid,
diff --git a/graphics/fontman.cpp b/graphics/fontman.cpp
index 35ea14b199..bbd75bfca2 100644
--- a/graphics/fontman.cpp
+++ b/graphics/fontman.cpp
@@ -22,6 +22,7 @@
* $Id$
*/
+#include "graphics/font.h"
#include "graphics/fontman.h"
DECLARE_SINGLETON(Graphics::FontManager);
diff --git a/graphics/fontman.h b/graphics/fontman.h
index 7871f32ba9..34b457ae83 100644
--- a/graphics/fontman.h
+++ b/graphics/fontman.h
@@ -30,11 +30,12 @@
#include "common/str.h"
#include "common/hashmap.h"
#include "common/hash-str.h"
-#include "graphics/font.h"
namespace Graphics {
+class Font;
+
class FontManager : public Common::Singleton<FontManager> {
public:
enum FontUsage {
diff --git a/graphics/fonts/scummfont.cpp b/graphics/fonts/scummfont.cpp
index 3b1d30d1a2..3331b72c47 100644
--- a/graphics/fonts/scummfont.cpp
+++ b/graphics/fonts/scummfont.cpp
@@ -23,6 +23,7 @@
*/
#include "graphics/font.h"
+#include "graphics/surface.h"
namespace Graphics {
diff --git a/graphics/fonts/winfont.cpp b/graphics/fonts/winfont.cpp
index a01c93afac..7db9a233f6 100644
--- a/graphics/fonts/winfont.cpp
+++ b/graphics/fonts/winfont.cpp
@@ -24,8 +24,11 @@
#include "common/file.h"
#include "common/str.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/winexe_ne.h"
#include "common/winexe_pe.h"
+#include "graphics/surface.h"
#include "graphics/fonts/winfont.h"
namespace Graphics {
diff --git a/graphics/fonts/winfont.h b/graphics/fonts/winfont.h
index fbe4a778e2..c31d45e2ce 100644
--- a/graphics/fonts/winfont.h
+++ b/graphics/fonts/winfont.h
@@ -25,11 +25,11 @@
#ifndef GRAPHICS_WINFONT_H
#define GRAPHICS_WINFONT_H
+#include "common/str.h"
#include "graphics/font.h"
namespace Common {
- class SeekableReadStream;
- class String;
+class SeekableReadStream;
}
namespace Graphics {
diff --git a/graphics/iff.cpp b/graphics/iff.cpp
index 0e6052d003..fee71de485 100644
--- a/graphics/iff.cpp
+++ b/graphics/iff.cpp
@@ -25,6 +25,10 @@
#include "graphics/iff.h"
#include "graphics/surface.h"
+#include "common/endian.h"
+#include "common/func.h"
+#include "common/iff_container.h"
+#include "common/textconsole.h"
#include "common/util.h"
namespace Graphics {
diff --git a/graphics/iff.h b/graphics/iff.h
index 0aab0e09cb..fc837a3ea2 100644
--- a/graphics/iff.h
+++ b/graphics/iff.h
@@ -31,7 +31,7 @@
#ifndef GRAPHICS_IFF_H
#define GRAPHICS_IFF_H
-#include "common/iff_container.h"
+#include "common/stream.h"
namespace Graphics {
diff --git a/graphics/imagedec.cpp b/graphics/imagedec.cpp
index b41eb59836..f45f0ce5ef 100644
--- a/graphics/imagedec.cpp
+++ b/graphics/imagedec.cpp
@@ -23,6 +23,7 @@
*/
#include "graphics/imagedec.h"
+#include "graphics/pixelformat.h"
#include "graphics/surface.h"
#include "common/file.h"
diff --git a/graphics/imagedec.h b/graphics/imagedec.h
index 13aa63a153..7ea987b1e4 100644
--- a/graphics/imagedec.h
+++ b/graphics/imagedec.h
@@ -28,14 +28,13 @@
#include "common/scummsys.h"
#include "common/str.h"
-#include "graphics/pixelformat.h"
-
namespace Common{
class SeekableReadStream;
}
namespace Graphics {
+struct PixelFormat;
struct Surface;
class ImageDecoder {
diff --git a/graphics/jpeg.cpp b/graphics/jpeg.cpp
index 6f4ee169cd..f1dcd4ac0c 100644
--- a/graphics/jpeg.cpp
+++ b/graphics/jpeg.cpp
@@ -27,9 +27,10 @@
#include "graphics/jpeg.h"
#include "graphics/pixelformat.h"
+#include "common/debug.h"
#include "common/endian.h"
-#include "common/util.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Graphics {
diff --git a/graphics/palette.h b/graphics/palette.h
index 8d7fdbd99a..14e433f153 100644
--- a/graphics/palette.h
+++ b/graphics/palette.h
@@ -26,6 +26,7 @@
#ifndef GRAPHICS_PALETTE_H
#define GRAPHICS_PALETTE_H
+#include "common/scummsys.h"
#include "common/noncopyable.h"
/**
diff --git a/graphics/pict.cpp b/graphics/pict.cpp
index a0d081adb9..acade48515 100644
--- a/graphics/pict.cpp
+++ b/graphics/pict.cpp
@@ -23,9 +23,12 @@
*
*/
+#include "common/debug.h"
+#include "common/endian.h"
+#include "common/stream.h"
#include "common/substream.h"
+#include "common/textconsole.h"
-#include "graphics/conversion.h"
#include "graphics/jpeg.h"
#include "graphics/pict.h"
#include "graphics/surface.h"
diff --git a/graphics/pict.h b/graphics/pict.h
index a683a23bf6..22f36aafe7 100644
--- a/graphics/pict.h
+++ b/graphics/pict.h
@@ -32,7 +32,7 @@
#include "graphics/pixelformat.h"
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Graphics {
diff --git a/graphics/png.cpp b/graphics/png.cpp
index 5a2cd16e32..3cdb9f7cca 100644
--- a/graphics/png.cpp
+++ b/graphics/png.cpp
@@ -23,13 +23,14 @@
*
*/
-#include "graphics/conversion.h"
#include "graphics/png.h"
#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
#include "common/endian.h"
#include "common/memstream.h"
#include "common/stream.h"
+#include "common/types.h"
#include "common/util.h"
#include "common/zlib.h"
@@ -127,13 +128,14 @@ Graphics::Surface *PNG::getSurface(const PixelFormat &format) {
for (uint16 i = 0; i < output->h; i++) {
for (uint16 j = 0; j < output->w; j++) {
- if (format.bytesPerPixel == 2) {
+ if (format.bytesPerPixel == 2) { // 2bpp
+ uint16 *dest = ((uint16 *)output->getBasePtr(j, i));
if (_unfilteredSurface->format.bytesPerPixel == 1) { // Grayscale
if (_transparentColorSpecified)
a = (src[0] == _transparentColor[0]) ? 0 : 0xFF;
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[0], src[0]);
+ *dest = format.ARGBToColor( a, src[0], src[0], src[0]);
} else if (_unfilteredSurface->format.bytesPerPixel == 2) { // Grayscale + alpha
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[1], src[0], src[0], src[0]);
+ *dest = format.ARGBToColor(src[1], src[0], src[0], src[0]);
} else if (_unfilteredSurface->format.bytesPerPixel == 3) { // RGB
if (_transparentColorSpecified) {
bool isTransparentColor = (src[0] == _transparentColor[0] &&
@@ -141,17 +143,18 @@ Graphics::Surface *PNG::getSurface(const PixelFormat &format) {
src[2] == _transparentColor[2]);
a = isTransparentColor ? 0 : 0xFF;
}
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[1], src[2]);
+ *dest = format.ARGBToColor( a, src[0], src[1], src[2]);
} else if (_unfilteredSurface->format.bytesPerPixel == 4) { // RGBA
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[3], src[0], src[1], src[2]);
+ *dest = format.ARGBToColor(src[3], src[0], src[1], src[2]);
}
- } else {
+ } else { // 4bpp
+ uint32 *dest = ((uint32 *)output->getBasePtr(j, i));
if (_unfilteredSurface->format.bytesPerPixel == 1) { // Grayscale
if (_transparentColorSpecified)
a = (src[0] == _transparentColor[0]) ? 0 : 0xFF;
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[0], src[0]);
+ *dest = format.ARGBToColor( a, src[0], src[0], src[0]);
} else if (_unfilteredSurface->format.bytesPerPixel == 2) { // Grayscale + alpha
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[1], src[0], src[0], src[0]);
+ *dest = format.ARGBToColor(src[1], src[0], src[0], src[0]);
} else if (_unfilteredSurface->format.bytesPerPixel == 3) { // RGB
if (_transparentColorSpecified) {
bool isTransparentColor = (src[0] == _transparentColor[0] &&
@@ -159,9 +162,9 @@ Graphics::Surface *PNG::getSurface(const PixelFormat &format) {
src[2] == _transparentColor[2]);
a = isTransparentColor ? 0 : 0xFF;
}
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[1], src[2]);
+ *dest = format.ARGBToColor( a, src[0], src[1], src[2]);
} else if (_unfilteredSurface->format.bytesPerPixel == 4) { // RGBA
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[3], src[0], src[1], src[2]);
+ *dest = format.ARGBToColor(src[3], src[0], src[1], src[2]);
}
}
diff --git a/graphics/png.h b/graphics/png.h
index 70f2e4ba27..21e0f35be1 100644
--- a/graphics/png.h
+++ b/graphics/png.h
@@ -31,8 +31,6 @@
#ifndef GRAPHICS_PNG_H
#define GRAPHICS_PNG_H
-#include "graphics/surface.h"
-
// PNG decoder, based on the W3C specs:
// http://www.w3.org/TR/PNG/
// Parts of the code have been adapted from LodePNG, by Lode Vandevenne:
@@ -54,12 +52,17 @@
// is a bit unclear. For now, these won't be supported, until a suitable sample
// is found.
+#include "common/scummsys.h"
+#include "common/textconsole.h"
+
namespace Common {
class SeekableReadStream;
}
namespace Graphics {
+struct Surface;
+
enum PNGColorType {
kGrayScale = 0, // bit depths: 1, 2, 4, 8, 16
kTrueColor = 2, // bit depths: 8, 16
@@ -117,14 +120,18 @@ public:
}
/**
- * Returns the palette of the specified PNG8 image.
- *
- * Note that the palette's format is RGBA.
+ * Returns the palette of the specified PNG8 image, given a pointer to
+ * an RGBA palette array (4 x 256).
*/
void getPalette(byte *palette, uint16 &entries) {
if (_header.colorType != kIndexed)
error("Palette requested for a non-indexed PNG");
- palette = _palette;
+ for (int i = 0; i < 256; i++) {
+ palette[0 + i * 4] = _palette[0 + i * 4]; // R
+ palette[1 + i * 4] = _palette[1 + i * 4]; // G
+ palette[2 + i * 4] = _palette[2 + i * 4]; // B
+ palette[3 + i * 4] = _palette[3 + i * 4]; // A
+ }
entries = _paletteEntries;
}
diff --git a/graphics/scaler/scale2x.cpp b/graphics/scaler/scale2x.cpp
index deae44c1c7..ec2aa2086e 100644
--- a/graphics/scaler/scale2x.cpp
+++ b/graphics/scaler/scale2x.cpp
@@ -34,7 +34,6 @@
#include "common/scummsys.h"
-#include "graphics/scaler/intern.h"
#include "graphics/scaler/scale2x.h"
/***************************************************************************/
diff --git a/graphics/scaler/scale3x.cpp b/graphics/scaler/scale3x.cpp
index 4e78796ee7..788c8694c5 100644
--- a/graphics/scaler/scale3x.cpp
+++ b/graphics/scaler/scale3x.cpp
@@ -34,7 +34,6 @@
#include "common/scummsys.h"
-#include "graphics/scaler/intern.h"
#include "graphics/scaler/scale3x.h"
/***************************************************************************/
diff --git a/graphics/scaler/scalebit.cpp b/graphics/scaler/scalebit.cpp
index 706fea8f05..c6d2a0d752 100644
--- a/graphics/scaler/scalebit.cpp
+++ b/graphics/scaler/scalebit.cpp
@@ -35,7 +35,6 @@
#include "common/scummsys.h"
-#include "graphics/scaler/intern.h"
#include "graphics/scaler/scale2x.h"
#include "graphics/scaler/scale3x.h"
diff --git a/graphics/scaler/thumbnail_intern.cpp b/graphics/scaler/thumbnail_intern.cpp
index f82b4eb618..d78648c325 100644
--- a/graphics/scaler/thumbnail_intern.cpp
+++ b/graphics/scaler/thumbnail_intern.cpp
@@ -30,6 +30,7 @@
#include "graphics/colormasks.h"
#include "graphics/scaler.h"
#include "graphics/scaler/intern.h"
+#include "graphics/palette.h"
template<int bitFormat>
uint16 quadBlockInterpolate(const uint8 *src, uint32 srcPitch) {
diff --git a/graphics/sjis.cpp b/graphics/sjis.cpp
index db8588c910..caa53a4f63 100644
--- a/graphics/sjis.cpp
+++ b/graphics/sjis.cpp
@@ -31,6 +31,7 @@
#include "common/archive.h"
#include "common/endian.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "graphics/surface.h"
diff --git a/graphics/surface.cpp b/graphics/surface.cpp
index 33919aa381..88bdcfc822 100644
--- a/graphics/surface.cpp
+++ b/graphics/surface.cpp
@@ -24,7 +24,8 @@
#include "common/algorithm.h"
#include "common/util.h"
-#include "common/endian.h"
+#include "common/rect.h"
+#include "common/textconsole.h"
#include "graphics/primitives.h"
#include "graphics/surface.h"
diff --git a/graphics/surface.h b/graphics/surface.h
index 283577ab5e..1b54690aa9 100644
--- a/graphics/surface.h
+++ b/graphics/surface.h
@@ -26,7 +26,10 @@
#define GRAPHICS_SURFACE_H
#include "common/scummsys.h"
-#include "common/rect.h"
+
+namespace Common {
+struct Rect;
+}
#include "graphics/pixelformat.h"
diff --git a/graphics/thumbnail.cpp b/graphics/thumbnail.cpp
index 8d9afcf93b..32ab04ed24 100644
--- a/graphics/thumbnail.cpp
+++ b/graphics/thumbnail.cpp
@@ -28,6 +28,7 @@
#include "common/endian.h"
#include "common/system.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Graphics {
diff --git a/graphics/wincursor.cpp b/graphics/wincursor.cpp
index 10939a677a..bae64f9303 100644
--- a/graphics/wincursor.cpp
+++ b/graphics/wincursor.cpp
@@ -23,12 +23,9 @@
*
*/
-#include "common/debug.h"
-#include "common/file.h"
-#include "common/memstream.h"
#include "common/ptr.h"
-#include "common/str.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "common/winexe_ne.h"
#include "common/winexe_pe.h"
diff --git a/graphics/wincursor.h b/graphics/wincursor.h
index ca0abf6fe1..717a1be588 100644
--- a/graphics/wincursor.h
+++ b/graphics/wincursor.h
@@ -30,9 +30,9 @@
#include "common/winexe.h"
namespace Common {
- class NEResources;
- class PEResources;
- class SeekableReadStream;
+class NEResources;
+class PEResources;
+class SeekableReadStream;
}
namespace Graphics {
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index e63724980e..78ea43ad79 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -24,7 +24,6 @@
*/
#include "common/system.h"
-#include "common/events.h"
#include "common/config-manager.h"
#include "common/file.h"
#include "common/fs.h"
@@ -32,14 +31,13 @@
#include "common/tokenizer.h"
#include "common/translation.h"
-#include "graphics/colormasks.h"
#include "graphics/cursorman.h"
#include "graphics/fontman.h"
#include "graphics/imagedec.h"
#include "graphics/surface.h"
#include "graphics/VectorRenderer.h"
-#include "gui/launcher.h"
+#include "gui/widget.h"
#include "gui/ThemeEngine.h"
#include "gui/ThemeEval.h"
#include "gui/ThemeParser.h"
@@ -1502,6 +1500,12 @@ Common::String ThemeEngine::genLocalizedFontFilename(const Common::String &filen
*********************************************************/
bool ThemeEngine::themeConfigParseHeader(Common::String header, Common::String &themeName) {
+ // Check that header is not corrupted
+ if ((byte)header[0] > 127) {
+ warning("Corrupted theme header found");
+ return false;
+ }
+
header.trim();
if (header.empty())
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index 46065278d3..08560c8635 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -27,13 +27,25 @@
#define GUI_THEME_ENGINE_H
#include "common/scummsys.h"
-#include "common/system.h"
#include "common/fs.h"
+#include "common/hash-str.h"
+#include "common/hashmap.h"
+#include "common/list.h"
+#include "common/str.h"
+
#include "graphics/surface.h"
#include "graphics/font.h"
+#include "graphics/pixelformat.h"
+
#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.3"
+class OSystem;
+
+namespace Common {
+struct Rect;
+}
+
namespace Graphics {
struct DrawStep;
class VectorRenderer;
@@ -42,8 +54,6 @@ class VectorRenderer;
namespace GUI {
struct WidgetDrawData;
-struct DrawDataInfo;
-struct TextDataInfo;
struct TextDrawData;
struct TextColorData;
class Dialog;
diff --git a/gui/ThemeEval.cpp b/gui/ThemeEval.cpp
index 017d47fd29..64e18f93a3 100644
--- a/gui/ThemeEval.cpp
+++ b/gui/ThemeEval.cpp
@@ -24,10 +24,10 @@
*/
#include "gui/ThemeEval.h"
-#include "gui/widget.h"
#include "graphics/scaler.h"
+#include "common/system.h"
#include "common/tokenizer.h"
namespace GUI {
diff --git a/gui/ThemeEval.h b/gui/ThemeEval.h
index ac867512da..65bed3e271 100644
--- a/gui/ThemeEval.h
+++ b/gui/ThemeEval.h
@@ -30,6 +30,8 @@
#include "common/hashmap.h"
#include "common/hash-str.h"
#include "common/stack.h"
+#include "common/str.h"
+#include "common/textconsole.h"
#include "graphics/font.h"
#include "gui/ThemeLayout.h"
diff --git a/gui/ThemeLayout.cpp b/gui/ThemeLayout.cpp
index 3c930db73c..fbfc498bcb 100644
--- a/gui/ThemeLayout.cpp
+++ b/gui/ThemeLayout.cpp
@@ -25,14 +25,12 @@
#include "common/util.h"
#include "common/system.h"
-#include "common/events.h"
-#include "common/xmlparser.h"
-#include "gui/ThemeEval.h"
#include "gui/ThemeLayout.h"
-#ifdef LAYOUT_DEBUG_DIALOG
#include "graphics/font.h"
+
+#ifdef LAYOUT_DEBUG_DIALOG
#include "graphics/surface.h"
#endif
diff --git a/gui/ThemeLayout.h b/gui/ThemeLayout.h
index 3d367df147..76d3f7d380 100644
--- a/gui/ThemeLayout.h
+++ b/gui/ThemeLayout.h
@@ -26,12 +26,13 @@
#ifndef THEME_LAYOUT_H
#define THEME_LAYOUT_H
+#include "common/array.h"
#include "common/rect.h"
+#include "graphics/font.h"
#ifdef LAYOUT_DEBUG_DIALOG
namespace Graphics {
- class Font;
- class Surface;
+class Surface;
}
#endif
diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp
index e3523d11e8..230dad8cc5 100644
--- a/gui/ThemeParser.cpp
+++ b/gui/ThemeParser.cpp
@@ -26,10 +26,10 @@
#include "gui/ThemeEngine.h"
#include "gui/ThemeEval.h"
#include "gui/ThemeParser.h"
-#include "gui/gui-manager.h"
#include "graphics/VectorRenderer.h"
+#include "common/system.h"
#include "common/tokenizer.h"
namespace GUI {
diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp
index 7dec12d522..a7cb0610e7 100644
--- a/gui/Tooltip.cpp
+++ b/gui/Tooltip.cpp
@@ -23,7 +23,6 @@
*/
#include "common/util.h"
-#include "graphics/fontman.h"
#include "gui/widget.h"
#include "gui/dialog.h"
#include "gui/gui-manager.h"
diff --git a/gui/Tooltip.h b/gui/Tooltip.h
index d228ca8a49..f5e2bb08a8 100644
--- a/gui/Tooltip.h
+++ b/gui/Tooltip.h
@@ -25,11 +25,14 @@
#ifndef GUI_TOOLTIP_H
#define GUI_TOOLTIP_H
+#include "common/keyboard.h"
+#include "common/str-array.h"
#include "gui/dialog.h"
-#include "gui/widget.h"
namespace GUI {
+class Widget;
+
class Tooltip : public Dialog {
public:
Tooltip();
diff --git a/gui/about.cpp b/gui/about.cpp
index c2d9a3f983..0389f4c8da 100644
--- a/gui/about.cpp
+++ b/gui/about.cpp
@@ -31,8 +31,6 @@
#include "common/util.h"
#include "gui/about.h"
#include "gui/gui-manager.h"
-#include "gui/widget.h"
-
#include "gui/ThemeEval.h"
namespace GUI {
diff --git a/gui/about.h b/gui/about.h
index fc216a78dc..b49365c5e5 100644
--- a/gui/about.h
+++ b/gui/about.h
@@ -27,7 +27,8 @@
#include "gui/dialog.h"
#include "common/str.h"
-#include "graphics/surface.h"
+#include "common/array.h"
+#include "common/keyboard.h"
namespace GUI {
diff --git a/gui/browser.cpp b/gui/browser.cpp
index 4ee6bafdde..2c7459623f 100644
--- a/gui/browser.cpp
+++ b/gui/browser.cpp
@@ -23,7 +23,6 @@
*/
#include "gui/browser.h"
-#include "gui/gui-manager.h"
#include "gui/widgets/list.h"
#include "common/config-manager.h"
diff --git a/gui/browser.h b/gui/browser.h
index 1fef041a5a..eb3498e654 100644
--- a/gui/browser.h
+++ b/gui/browser.h
@@ -26,13 +26,13 @@
#define BROWSER_DIALOG_H
#include "gui/dialog.h"
-#include "common/str.h"
#include "common/fs.h"
namespace GUI {
class ListWidget;
class StaticTextWidget;
+class CommandSender;
class BrowserDialog : public Dialog {
public:
diff --git a/gui/chooser.cpp b/gui/chooser.cpp
index f5e7d26a32..ecc8ebd894 100644
--- a/gui/chooser.cpp
+++ b/gui/chooser.cpp
@@ -22,10 +22,9 @@
* $Id$
*/
-#include "common/system.h"
#include "common/translation.h"
#include "gui/chooser.h"
-#include "gui/gui-manager.h"
+#include "gui/widget.h"
#include "gui/widgets/list.h"
namespace GUI {
diff --git a/gui/chooser.h b/gui/chooser.h
index ce67c008df..79a20383c5 100644
--- a/gui/chooser.h
+++ b/gui/chooser.h
@@ -25,12 +25,14 @@
#ifndef CHOOSER_DIALOG_H
#define CHOOSER_DIALOG_H
+#include "common/array.h"
#include "common/str.h"
#include "gui/dialog.h"
namespace GUI {
class ButtonWidget;
+class CommandSender;
class ListWidget;
/*
diff --git a/gui/console.cpp b/gui/console.cpp
index cb3319063d..cbab1b212e 100644
--- a/gui/console.cpp
+++ b/gui/console.cpp
@@ -27,10 +27,8 @@
#include "gui/ThemeEval.h"
#include "gui/gui-manager.h"
-#include "engines/engine.h"
#include "base/version.h"
-#include "common/events.h"
#include "common/system.h"
#include "graphics/fontman.h"
diff --git a/gui/credits.h b/gui/credits.h
index c12d5a4394..7ad480032e 100644
--- a/gui/credits.h
+++ b/gui/credits.h
@@ -476,7 +476,7 @@ static const char *credits[] = {
"C0""Raina",
"C2""ScummVM forum buttons",
"C0""William Claydon",
-"C2""Skins for doxygen and wiki",
+"C2""Skins for doxygen, buildbot and wiki",
"",
"C1""Code contributions",
"C0""Ori Avtalion",
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index f113206ea1..2282bc3a1c 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -26,7 +26,6 @@
// NB: This is really only necessary if USE_READLINE is defined
#define FORBIDDEN_SYMBOL_ALLOW_ALL
-#include "common/debug.h"
#include "common/debug-channels.h"
#include "common/system.h"
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index 2c2b0603d6..15e47141c8 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -22,14 +22,11 @@
* $Id$
*/
-#include "common/events.h"
+#include "common/rect.h"
#include "gui/gui-manager.h"
#include "gui/dialog.h"
#include "gui/widget.h"
-#include "gui/widgets/popup.h"
-
-#include "common/system.h"
namespace GUI {
diff --git a/gui/dialog.h b/gui/dialog.h
index 1845786044..c298ef107b 100644
--- a/gui/dialog.h
+++ b/gui/dialog.h
@@ -27,14 +27,14 @@
#include "common/scummsys.h"
#include "common/str.h"
+#include "common/keyboard.h"
#include "gui/object.h"
-#include "gui/widget.h"
+#include "gui/ThemeEngine.h"
namespace GUI {
-class GuiManager;
-class PopUpWidget;
+class Widget;
// Some "common" commands sent to handleCommand()
enum {
diff --git a/gui/error.cpp b/gui/error.cpp
index 3332eb533a..f6da795d40 100644
--- a/gui/error.cpp
+++ b/gui/error.cpp
@@ -36,10 +36,10 @@ void displayErrorDialog(const char *text) {
alert.runModal();
}
-void displayErrorDialog(Common::Error error, const char *extraText) {
+void displayErrorDialog(const Common::Error &error, const char *extraText) {
Common::String errorText(extraText);
errorText += " ";
- errorText += _(Common::errorToString(error));
+ errorText += _(error.getDesc());
GUI::MessageDialog alert(errorText);
alert.runModal();
}
diff --git a/gui/error.h b/gui/error.h
index a55f555bed..f048a0cd09 100644
--- a/gui/error.h
+++ b/gui/error.h
@@ -36,7 +36,7 @@ namespace GUI {
* @param error error code
* @param extraText extra text to be displayed in addition to default string description(optional)
*/
-void displayErrorDialog(Common::Error error, const char *extraText = "");
+void displayErrorDialog(const Common::Error &error, const char *extraText = "");
/**
* Displays an error dialog for a given message.
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index 0cb06458ef..19ca66b7b1 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -27,7 +27,8 @@
#include "common/util.h"
#include "common/config-manager.h"
#include "common/algorithm.h"
-#include "common/timer.h"
+#include "common/rect.h"
+#include "common/textconsole.h"
#include "common/translation.h"
#include "backends/keymapper/keymapper.h"
@@ -37,6 +38,7 @@
#include "gui/ThemeEngine.h"
#include "gui/ThemeEval.h"
#include "gui/Tooltip.h"
+#include "gui/widget.h"
#include "graphics/cursorman.h"
diff --git a/gui/gui-manager.h b/gui/gui-manager.h
index a6c90bfe8d..ac4118bb06 100644
--- a/gui/gui-manager.h
+++ b/gui/gui-manager.h
@@ -30,13 +30,14 @@
#include "common/stack.h"
#include "common/str.h"
-#include "graphics/font.h"
-
-#include "gui/widget.h"
#include "gui/ThemeEngine.h"
class OSystem;
+namespace Graphics {
+class Font;
+}
+
namespace GUI {
class Dialog;
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 1d209ce71a..aed57decd3 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -28,7 +28,6 @@
#include "common/events.h"
#include "common/fs.h"
#include "common/util.h"
-#include "common/savefile.h"
#include "common/system.h"
#include "common/translation.h"
@@ -49,9 +48,6 @@
#include "graphics/cursorman.h"
-#include "audio/mididrv.h"
-
-
using Common::ConfigManager;
namespace GUI {
diff --git a/gui/launcher.h b/gui/launcher.h
index df9a6fb639..274fc45bb4 100644
--- a/gui/launcher.h
+++ b/gui/launcher.h
@@ -31,10 +31,13 @@
namespace GUI {
class BrowserDialog;
+class CommandSender;
class ListWidget;
+class ButtonWidget;
class GraphicsWidget;
-class SaveLoadChooser;
+class StaticTextWidget;
class EditTextWidget;
+class SaveLoadChooser;
Common::String addGameToConf(const GameDescriptor &result);
diff --git a/gui/massadd.cpp b/gui/massadd.cpp
index 197caae675..c5af6c6bb4 100644
--- a/gui/massadd.cpp
+++ b/gui/massadd.cpp
@@ -24,14 +24,13 @@
#include "engines/metaengine.h"
#include "common/algorithm.h"
-#include "common/events.h"
-#include "common/func.h"
#include "common/config-manager.h"
+#include "common/debug.h"
+#include "common/system.h"
#include "common/translation.h"
#include "gui/launcher.h" // For addGameToConf()
#include "gui/massadd.h"
-#include "gui/gui-manager.h"
#include "gui/widget.h"
#include "gui/widgets/list.h"
diff --git a/gui/massadd.h b/gui/massadd.h
index 31a8821a26..3dbab43df1 100644
--- a/gui/massadd.h
+++ b/gui/massadd.h
@@ -30,7 +30,6 @@
#include "common/hashmap.h"
#include "common/stack.h"
#include "common/str.h"
-#include "common/hash-str.h"
namespace GUI {
diff --git a/gui/message.cpp b/gui/message.cpp
index 2d097a75a9..5cb4cec3d3 100644
--- a/gui/message.cpp
+++ b/gui/message.cpp
@@ -22,7 +22,6 @@
* $Id$
*/
-#include "common/events.h"
#include "common/str.h"
#include "common/system.h"
#include "gui/message.h"
diff --git a/gui/message.h b/gui/message.h
index 912e3b0785..5c3308e425 100644
--- a/gui/message.h
+++ b/gui/message.h
@@ -30,6 +30,8 @@
namespace GUI {
+class CommandSender;
+
enum {
kMessageOK = 1,
kMessageCancel = 0
diff --git a/gui/object.cpp b/gui/object.cpp
index bf8e7a8642..6564fe2b68 100644
--- a/gui/object.cpp
+++ b/gui/object.cpp
@@ -22,7 +22,8 @@
* $Id$
*/
-#include "common/system.h"
+#include "common/textconsole.h"
+
#include "gui/object.h"
#include "gui/widget.h"
#include "gui/gui-manager.h"
diff --git a/gui/object.h b/gui/object.h
index fb5ff18290..3b181fd8a3 100644
--- a/gui/object.h
+++ b/gui/object.h
@@ -25,9 +25,11 @@
#ifndef GUI_OBJECT_H
#define GUI_OBJECT_H
+#include "common/scummsys.h"
+#include "common/str.h"
+
namespace GUI {
-class CommandReceiver;
class CommandSender;
class CommandReceiver {
diff --git a/gui/options.cpp b/gui/options.cpp
index a540fbb9d1..547ab0f3c6 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -24,10 +24,8 @@
#include "gui/browser.h"
#include "gui/themebrowser.h"
-#include "gui/chooser.h"
#include "gui/message.h"
#include "gui/gui-manager.h"
-#include "gui/ThemeEval.h"
#include "gui/options.h"
#include "gui/widgets/popup.h"
#include "gui/widgets/tab.h"
@@ -35,10 +33,9 @@
#include "common/fs.h"
#include "common/config-manager.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "common/translation.h"
-#include "graphics/scaler.h"
-
#include "audio/mididrv.h"
#include "audio/musicplugin.h"
#include "audio/mixer.h"
@@ -144,6 +141,7 @@ void OptionsDialog::init() {
_subSpeedDesc = 0;
_subSpeedSlider = 0;
_subSpeedLabel = 0;
+ _oldTheme = ConfMan.get("gui_theme");
// Retrieve game GUI options
_guioptions = 0;
@@ -509,6 +507,13 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
setResult(1);
close();
break;
+ case kCloseCmd:
+ if (g_gui.theme()->getThemeId() != _oldTheme) {
+ g_gui.loadNewTheme(_oldTheme);
+ ConfMan.set("gui_theme", _oldTheme);
+ }
+ close();
+ break;
default:
Dialog::handleCommand(sender, cmd, data);
}
@@ -1316,7 +1321,6 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
#ifdef USE_TRANSLATION
Common::String lang = TransMan.getCurrentLanguage();
#endif
- Common::String oldTheme = g_gui.theme()->getThemeId();
if (g_gui.loadNewTheme(theme)) {
#ifdef USE_TRANSLATION
// If the charset has changed, it means the font were not found for the
@@ -1324,7 +1328,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
// language without restarting, we let the user know about this.
if (lang != TransMan.getCurrentLanguage()) {
TransMan.setLanguage(lang.c_str());
- g_gui.loadNewTheme(oldTheme);
+ g_gui.loadNewTheme(_oldTheme);
MessageDialog error(_("The theme you selected does not support your current language. If you want to use this theme you need to switch to another language first."));
error.runModal();
} else {
diff --git a/gui/options.h b/gui/options.h
index eba1779b69..c097a3a9e9 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -27,7 +27,7 @@
#include "gui/dialog.h"
#include "common/str.h"
-#include "audio/musicplugin.h"
+#include "audio/mididrv.h"
#ifdef SMALL_SCREEN_DEVICE
#include "gui/KeysDialog.h"
@@ -35,13 +35,16 @@
namespace GUI {
-class BrowserDialog;
class CheckboxWidget;
class PopUpWidget;
class SliderWidget;
class StaticTextWidget;
-class ListWidget;
class TabWidget;
+class ButtonWidget;
+class CommandSender;
+class GuiObject;
+class RadiobuttonGroup;
+class RadiobuttonWidget;
class OptionsDialog : public Dialog {
public:
@@ -174,6 +177,11 @@ protected:
//
uint32 _guioptions;
Common::String _guioptionsString;
+
+ //
+ //Theme Options
+ //
+ Common::String _oldTheme;
};
diff --git a/gui/saveload.h b/gui/saveload.h
index b3622c1f13..06f1251e11 100644
--- a/gui/saveload.h
+++ b/gui/saveload.h
@@ -32,6 +32,10 @@ namespace GUI {
class ListWidget;
class GraphicsWidget;
+class ButtonWidget;
+class CommandSender;
+class ContainerWidget;
+class StaticTextWidget;
class SaveLoadChooser : GUI::Dialog {
typedef Common::String String;
diff --git a/gui/themebrowser.h b/gui/themebrowser.h
index aba519886d..bd6b11fb46 100644
--- a/gui/themebrowser.h
+++ b/gui/themebrowser.h
@@ -33,8 +33,8 @@
namespace GUI {
+class CommandSender;
class ListWidget;
-class StaticTextWidget;
class ThemeBrowser : public Dialog {
public:
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 77951475e6..1e44442933 100644
--- a/gui/themes/scummmodern.zip
+++ b/gui/themes/scummmodern.zip
Binary files differ
diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx
index 32d6d19d1a..c0433ceb9a 100644
--- a/gui/themes/scummmodern/scummmodern_layout.stx
+++ b/gui/themes/scummmodern/scummmodern_layout.stx
@@ -128,7 +128,7 @@
/>
<space />
<widget name = 'Version'
- width = '247'
+ width = '310'
height = 'Globals.Line.Height'
textalign = 'center'
/>
diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat
index e488b45347..4a97d01c34 100644
--- a/gui/themes/translations.dat
+++ b/gui/themes/translations.dat
Binary files differ
diff --git a/gui/widget.cpp b/gui/widget.cpp
index b7a10b17d7..d3c8d3402d 100644
--- a/gui/widget.cpp
+++ b/gui/widget.cpp
@@ -22,10 +22,12 @@
* $Id$
*/
-#include "common/util.h"
-#include "graphics/fontman.h"
+#include "common/scummsys.h"
+#include "common/system.h"
+#include "common/rect.h"
+#include "common/textconsole.h"
+#include "graphics/pixelformat.h"
#include "gui/widget.h"
-#include "gui/dialog.h"
#include "gui/gui-manager.h"
#include "gui/ThemeEval.h"
diff --git a/gui/widget.h b/gui/widget.h
index 1bb9823fdf..9acccd9684 100644
--- a/gui/widget.h
+++ b/gui/widget.h
@@ -26,17 +26,16 @@
#define GUI_WIDGET_H
#include "common/scummsys.h"
+#include "common/array.h"
#include "common/str.h"
-#include "common/str-array.h"
#include "common/keyboard.h"
+#include "graphics/font.h"
#include "graphics/surface.h"
#include "gui/object.h"
#include "gui/ThemeEngine.h"
namespace GUI {
-class Dialog;
-
enum {
WIDGET_ENABLED = 1 << 0,
WIDGET_INVISIBLE = 1 << 1,
diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp
index 7d6e0fae01..2ee3575bc6 100644
--- a/gui/widgets/editable.cpp
+++ b/gui/widgets/editable.cpp
@@ -22,9 +22,11 @@
* $Id$
*/
-#include "common/events.h"
+#include "common/rect.h"
+#include "common/system.h"
#include "gui/widgets/editable.h"
#include "gui/gui-manager.h"
+#include "graphics/font.h"
namespace GUI {
diff --git a/gui/widgets/editable.h b/gui/widgets/editable.h
index b394e105d1..e0b6375919 100644
--- a/gui/widgets/editable.h
+++ b/gui/widgets/editable.h
@@ -25,9 +25,15 @@
#ifndef GUI_WIDGETS_EDITABLE_H
#define GUI_WIDGETS_EDITABLE_H
+#include "common/keyboard.h"
#include "common/str.h"
-#include "common/rect.h"
#include "gui/widget.h"
+#include "gui/ThemeEngine.h"
+#include "gui/object.h"
+
+namespace Common {
+struct Rect;
+}
namespace GUI {
diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp
index 159943fcdd..106262bafe 100644
--- a/gui/widgets/edittext.cpp
+++ b/gui/widgets/edittext.cpp
@@ -23,7 +23,6 @@
*/
#include "gui/widgets/edittext.h"
-#include "gui/dialog.h"
#include "gui/gui-manager.h"
#include "gui/ThemeEval.h"
diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp
index 1e13226d61..1f7846c503 100644
--- a/gui/widgets/list.cpp
+++ b/gui/widgets/list.cpp
@@ -23,7 +23,6 @@
*/
#include "common/system.h"
-#include "common/events.h"
#include "common/frac.h"
#include "common/tokenizer.h"
diff --git a/gui/widgets/popup.cpp b/gui/widgets/popup.cpp
index 02cbd940b2..cab556065f 100644
--- a/gui/widgets/popup.cpp
+++ b/gui/widgets/popup.cpp
@@ -23,11 +23,9 @@
*/
#include "common/system.h"
-#include "common/events.h"
#include "gui/dialog.h"
#include "gui/gui-manager.h"
#include "gui/widgets/popup.h"
-#include "engines/engine.h"
#include "gui/ThemeEval.h"
diff --git a/gui/widgets/scrollbar.cpp b/gui/widgets/scrollbar.cpp
index 5e963e04fe..38383c0e55 100644
--- a/gui/widgets/scrollbar.cpp
+++ b/gui/widgets/scrollbar.cpp
@@ -22,11 +22,12 @@
* $Id$
*/
+#include "common/rect.h"
+#include "common/system.h"
+#include "common/timer.h"
#include "gui/widgets/scrollbar.h"
-#include "gui/dialog.h"
#include "gui/gui-manager.h"
-
-#include "common/timer.h"
+#include "gui/ThemeEngine.h"
namespace GUI {
diff --git a/gui/widgets/tab.cpp b/gui/widgets/tab.cpp
index 10baeac901..721fb88cf8 100644
--- a/gui/widgets/tab.cpp
+++ b/gui/widgets/tab.cpp
@@ -24,7 +24,6 @@
#include "common/util.h"
#include "gui/widgets/tab.h"
-#include "gui/dialog.h"
#include "gui/gui-manager.h"
#include "gui/ThemeEval.h"
diff --git a/po/POTFILES b/po/POTFILES
index 8ba37f7bf3..e96f15fb1b 100644
--- a/po/POTFILES
+++ b/po/POTFILES
@@ -56,4 +56,3 @@ backends/platform/wince/CEActionsPocket.cpp
backends/platform/wince/CEActionsSmartphone.cpp
backends/platform/wince/CELauncherDialog.cpp
backends/platform/wince/wince-sdl.cpp
-backends/platform/openpandora/op-graphics.cpp
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 6aea7b3314..e625b9bcc4 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2010-09-21 23:12+0100\n"
"Last-Translator: Jordi Vilalta Prat <jvprat@jvprat.com>\n"
"Language-Team: Catalan <scummvm-devel@lists.sf.net>\n"
@@ -43,7 +43,7 @@ msgid "Go up"
msgstr "Amunt"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -64,11 +64,11 @@ msgstr "Tanca"
msgid "Mouse click"
msgstr "Clic del ratolэ"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Mostra el teclat"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Remapeja les tecles"
@@ -81,7 +81,7 @@ msgid "Map"
msgstr "Mapeja"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -156,7 +156,7 @@ msgstr ""
"Anglшs"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<per defecte>"
@@ -174,11 +174,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Platafor.:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grрfics"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -191,7 +191,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Canviar les opcions de grрfics"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Рudio"
@@ -204,11 +204,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Canviar les opcions d'рudio"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volum"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volum"
@@ -222,7 +222,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Canviar les opcions de volum"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -235,7 +235,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Canviar les opcions de MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -248,11 +248,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Canviar les opcions de MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Camins"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Camins"
@@ -266,7 +266,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Camэ joc:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Camэ extra:"
@@ -274,30 +274,30 @@ msgstr "Camэ extra:"
msgid "Specifies path to additional data used the game"
msgstr "Especifica el camэ de dades addicionals utilitzades pel joc"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Camэ extra:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Camэ de partides:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Especifica on es desaran les partides"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Partides:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Cap"
@@ -307,7 +307,7 @@ msgstr "Cap"
msgid "Default"
msgstr "Per defecte"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Seleccioneu el fitxer SoundFont"
@@ -417,17 +417,17 @@ msgstr "Cerca a la llista de jocs"
msgid "Search:"
msgstr "Cerca:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Neteja el valor"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Carrega partida:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -563,83 +563,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Cap"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Mode grрfic:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Mode de pintat:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Modes de dispersiѓ especials suportats per alguns jocs"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Mode pantalla completa"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Correcciѓ de la relaciѓ d'aspecte"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Corregeix la relaciѓ d'aspecte per jocs de 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr ""
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr ""
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Disp. preferit:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Disp. de mњsica:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Especifica el dispositiu de so o l'emulador de tarja de so preferit"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Especifica el dispositiu de so o l'emulador de tarja de so de sortida"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Disp. preferit:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Disp. de mњsica:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Emulador AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib s'utilitza per la mњsica de molts jocs"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Freq. sortida:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -647,63 +647,63 @@ msgstr ""
"Valors mщs alts especifiquen millor qualitat de so perђ pot ser que la "
"vostra tarja de so no ho suporti"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Dispositiu GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr ""
"Especifica el dispositiu de so per defecte per a la sortida General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr ""
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr ""
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "Fitxer SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "Algunes targes de so, Fluidsynth i Timidity suporten SoundFont"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Mode combinat AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Utilitza MIDI i la generaciѓ de so AdLib alhora"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Guany MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Disposit. MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Especifica el dispositiu de so per defecte per a la sortida de Roland MT-32/"
"LAPC1/CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 real (desactiva l'emulaciѓ GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -711,197 +711,197 @@ msgstr ""
"Marqueu si voleu utilitzar el vostre dispositiu hardware real de so "
"compatible amb Roland connectat al vostre ordinador"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 real (sense emulaciѓ GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Activa el Mode Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Desactiva la conversiѓ General MIDI pels jocs que tenen banda sonora per a "
"Roland MT-32"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
#, fuzzy
msgid "Don't use Roland MT-32 music"
msgstr "Roland MT-32 real (sense emulaciѓ GM)"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Text i Veus:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Veus"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Subtэtols"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Ambdѓs"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Velocitat de subt.:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Text i Veus:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Veus"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Subt"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Ambdѓs"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Mostra els subtэtols i reprodueix la veu"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Veloc. de subt.:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Volum de mњsica:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Volum de mњsica:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Silenciar tot"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Volum d'efectes:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volum dels sons d'efectes especials"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Volum d'efectes:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Volum de veus:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Volum de veus:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Camэ dels temes:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Camэ temes:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Especifica el camэ de les dades addicionals utilitzades per tots els jocs o "
"pel ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Camэ dels connectors:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Camэ de connectors:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Misc"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Misc"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Pintat GUI:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Desat automрtic:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Auto-desat:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Tecles"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Idioma GUI:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Idioma de la interfэcie d'usuari de ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Heu de reiniciar ScummVM perquш tots els canvis tingui efecte."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Seleccioneu el directori de les partides desades"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
"No es pot escriure al directori seleccionat. Si us plau, escolliu-ne un "
"altre."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Seleccioneu el directori dels temes"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Seleccioneu el directori dels fitxers extra"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Seleccioneu el directori dels connectors"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -974,88 +974,107 @@ msgstr "Pintat amb antialias (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Amb antialias (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "El motor no suporta el nivell de depuraciѓ '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menњ"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Salta"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pausa"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Salta la lэnia"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Error al executar el joc:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "No s'ha pogut trobar cap motor capaч d'executar el joc seleccionat"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Camэ incorrecte"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "No s'han trobat les dades del joc"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Identificador de joc no suportat"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Mode de color no suportat"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "S'ha denegat el permэs de lectura"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "S'ha denegat el permэs d'escriptura"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "El camэ no existeix"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "El camэ no щs un directori"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "El camэ no щs un fitxer"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "No s'ha pogut crear el fitxer"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Ha fallat la lectura"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Ha fallat l'escriptura de dades"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "El motor no suporta el nivell de depuraciѓ '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Error desconegut"
#: common/util.cpp:276
@@ -1124,13 +1143,13 @@ msgstr "Desa la partida:"
msgid "Save"
msgstr "Desa"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~D~'acord"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~C~ancelЗla"
@@ -1689,7 +1708,7 @@ msgstr ""
msgid "Fly to lower right"
msgstr ""
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1700,7 +1719,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1711,7 +1730,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1722,15 +1741,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Mode ~Z~ip activat"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~T~ransicions activades"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~E~fecte de l'aigua activat"
@@ -1750,7 +1776,7 @@ msgstr "Emulador OPL de MAME"
msgid "DOSBox OPL emulator"
msgstr "Emulador OPL DOSBox"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Sense mњsica"
@@ -1770,11 +1796,11 @@ msgstr "Emulador d'Apple II GS (NO IMPLEMENTAT)"
msgid "C64 Audio Emulator"
msgstr "Emulador d'рudio C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Iniciant l'Emulador de MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Emulador de MT-32"
@@ -1806,7 +1832,7 @@ msgstr " (Global)"
msgid " (Game)"
msgstr " (Joc)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "MIDI de Windows"
@@ -2226,3 +2252,5 @@ msgid ""
"Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"
msgstr ""
+#~ msgid "Invalid Path"
+#~ msgstr "Camэ incorrecte"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index fbd39ce0d7..69592b2c9b 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -1,5 +1,5 @@
# Czech translation for ScummVM.
-# Copyright (C) YEAR ScummVM Team
+# Copyright (C) 2001-2011 ScummVM Team
# This file is distributed under the same license as the ScummVM package.
# Zbynьk Schwarz <zbynek.schwarz@gmail.com>, 2011.
#
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2011-02-06 21:53+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-23 10:55+0100\n"
"Last-Translator: Zbynьk Schwarz <zbynek.schwarz@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Jэt nahoru"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Zavјэt"
msgid "Mouse click"
msgstr "Kliknutэ myЙэ"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Zobrazit klсvesnici"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Pјemapovat klсvesy"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Mapovat"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -98,7 +98,7 @@ msgstr "Zvolte шinnost a kliknьte 'Mapovat'"
#: gui/KeysDialog.cpp:83 gui/KeysDialog.cpp:105 gui/KeysDialog.cpp:144
#, c-format
msgid "Associated key : %s"
-msgstr "Pјэјazenс klсvesa: %s"
+msgstr "Pјiјazenс klсvesa: %s"
#: gui/KeysDialog.cpp:85 gui/KeysDialog.cpp:107 gui/KeysDialog.cpp:146
#, c-format
@@ -126,7 +126,7 @@ msgid ""
"Short game identifier used for referring to savegames and running the game "
"from the command line"
msgstr ""
-"Krсtky identifikсtor her, pouОэvan§ jako odkaz k uloОen§m hrсm a spuЙtьnэ "
+"Krсtk§ identifikсtor her, pouОэvan§ jako odkaz k uloОen§m hrсm a spuЙtьnэ "
"hry z pјэkazovщho јсdku"
#: gui/launcher.cpp:178
@@ -158,7 +158,7 @@ msgid ""
msgstr "Jazyk hry. Toto z VaЙэ Љpanьlskщ verze neudьlс Anglickou"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<v§chozэ>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Platforma:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Obraz"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Potlaшit globсlnэ nastavenэ obrazu"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Zvuk"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Potlaшit globсlnэ nastavenэ zvuku"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Hlasitost"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Hlasitost"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Potlaшit globсlnэ nastavenэ hlasitosti"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Potlaшit globсlnэ nastavenэ MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Potlaшit globсlnэ nastavenэ MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Cesty"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Cesty"
@@ -268,38 +268,38 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Cesta Hry:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Dodateшnс Cesta:"
#: gui/launcher.cpp:302 gui/launcher.cpp:304 gui/launcher.cpp:305
msgid "Specifies path to additional data used the game"
-msgstr "Stanovэ cestu pro dodateшnс data pouОэtс ve hјe"
+msgstr "Stanovэ cestu pro dodateшnс data pouОitс ve hјe"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Dodateшnс Cesta:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Cesta pro uloОenэ:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Stanovuje, kam jsou umэstьny VaЙe uloОenщ hry"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Cesta pro uloОenэ:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ўсdnщ"
@@ -309,7 +309,7 @@ msgstr "Ўсdnщ"
msgid "Default"
msgstr "V§chozэ"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Vybrat SoundFont"
@@ -339,7 +339,7 @@ msgstr "Ukonшit ScummVM"
#: gui/launcher.cpp:563
msgid "A~b~out..."
-msgstr "~O~..."
+msgstr "~O~ Programu..."
#: gui/launcher.cpp:563
msgid "About ScummVM"
@@ -391,7 +391,7 @@ msgstr "~O~dstranit Hru"
#: gui/launcher.cpp:578 gui/launcher.cpp:585
msgid "Remove game from the list. The game data files stay intact"
-msgstr "Odstranit hru ze snamu. Hernэ data zљstanou zachovсna"
+msgstr "Odstranit hru ze seznamu. Hernэ data zљstanou zachovсna"
#: gui/launcher.cpp:581
msgctxt "lowres"
@@ -416,17 +416,17 @@ msgstr "Hledat v seznamu her"
msgid "Search:"
msgstr "Hledat:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Vyшistit hodnotu"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Nahrсt hru:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -561,83 +561,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ўсdnщ"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "ReОim obrazu:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
-msgstr "ReОim vykreslovсnэ:"
+msgstr "ReОim vykreslenэ:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
-msgstr "Speciсlnэ reОimi chvьnэ podporovanщ nьkter§mi hrami"
+msgstr "Speciсlnэ reОimy chvьnэ podporovanщ nьkter§mi hrami"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "ReОim celщ obrazovky"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Korekce pomьru stran"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Korigovat pomьr stran pro hry 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "Nerozklсdсnэ EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Povolit nerozklсdсnэ v EGA hrсch, kterщ to podporujэ"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Prioritnэ Zaјэzenэ:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Hudebnэ zaјэzenэ"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Stanovэ prioritnэ zvukovщ zaјэzenэ nebo emulсtor zvukovщ karty"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Stanovэ v§stupnэ zvukovщ zaјэzenэ nebo emulсtor zvukovщ karty"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Prioritnэ Zaј.:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Hudebnэ zaјэzenэ"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib emulсtor"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib se pouОэvс pro hudbu v mnoha hrсch"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "V§stup. frekvence:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -645,253 +645,253 @@ msgstr ""
"VyЙЙэ hodnota zpљsobэ lepЙэ kvalitu zvuku, ale nemusэ b§t podporovсna VaЙi "
"zvukovou kartou"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM Zaјэzenэ:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Stanovэ v§chozэ zvukovщ zaјэzenэ pro v§stup General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "NepouОэvat hudbu General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "PouОэt prvnэ dostupnщ zaјэzenэ"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFont je podporovсn nьkter§mi zvukov§mi kartami, Fluidsynth a Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "SmэЙen§ reОim AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "PouОэt obь zvukovщ generace MIDI a AdLib"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Zesэlenэ MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Zaјэzenэ MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Stanovэ v§chozэ zvukovщ v§stupnэ zaјэzenэ pro Roland MT-32/LAPC1/CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Opravdov§ Roland MT-32 (vypne GM emulaci)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
msgstr ""
-"ZaЙkrtnьte, pokud chcete pouОэt pravщ hardwareovщ zaјэzenэ kompatibilnэ s "
+"ZaЙkrtnьte, pokud chcete pouОэt pravщ hardwarovщ zaјэzenэ kompatibilnэ s "
"Roland, pјipojenщ k VaЙemu poшэtaшi"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Opravdov§ Roland MT-32 (Осdnс GM emulace)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Zapnout reОim Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Vypne mapovсnэ General MIDI pro hry s Roland MT-32 zvukov§m doprovodem"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "NepouОэvat hudbu Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Text a иeш"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "иeш"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Titulky"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Oba"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Rychlost titulkљ:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Text a иeш:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "иeш"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Titl"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Oba"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Zobrazit titulky a pјehrсvat јeш"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Rychlost titulkљ"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Hlasitost hudby"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Hlasitost hudby"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Ztlumit VЙe"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Hlasitost zvukљ"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Hlasitost speciсlnэch zvukov§ch efektљ"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Hlasitost zvukљ"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Hlasitost јeшi"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Hlasitost јeшi"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Cesta ke Vzhledu:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Cesta ke Vzhledu:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Stanovэ cestu k dodateшn§m datљm pouОэvanс vЙemi hrami nebo ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Cesta k Pluginљm:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Cesta k Pluginљm:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Rљznщ"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Rљznщ"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Vzhled:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI Vykreslovaш:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autouklсdсnэ:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autouklсdсnэ:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Klсvesy"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Jazyk GUI"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Jazyk GUI ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Pro pouОitэ tьchto nastavenэ musэte restartovat ScummVM"
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Vybrat adresсј pro uloОenщ hry"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
-msgstr "Do zvolenщho adresсјe nelze zapisovat. vyberte, prosэm, jin§."
+msgstr "Do zvolenщho adresсјe nelze zapisovat. Vyberte, prosэm, jin§."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Vyberte adresсј pro vhledy GUI"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Vyberte adresсј pro dodateшnщ soubory"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Vyberte adresсј pro zсsuvnщ moduly"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -954,99 +954,111 @@ msgstr "Standardnэ Vykreslovaш (16bpp)"
#: gui/ThemeEngine.cpp:333
msgid "Standard (16bpp)"
-msgstr "Standarnэ"
+msgstr "Standardnэ (16bpp)"
#: gui/ThemeEngine.cpp:335
msgid "Antialiased Renderer (16bpp)"
-msgstr "Vykreslovaш s vyhlazen§mi hranami(16bpp)"
+msgstr "Vykreslovaш s vyhlazen§mi hranami (16bpp)"
#: gui/ThemeEngine.cpp:335
msgid "Antialiased (16bpp)"
msgstr "S vyhlazen§mi hranami (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Jсdro nepodporuje њroveђ ladьnэ '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Pјeskoшit"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pauza"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Pјeskoшit јсdek"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Chyba pјi spuЙtьnэ hry:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Nelze nalщzt Осdnщ jсdro schopnщ vybranou hru spustit"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Neplatnс Cesta"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Ўсdnс chyba"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Data hry nenalezena"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "Id hry nenэ podporovсno"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Nepodporovan§ barevn§ reОim"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Oprсvnьnэ ke шtenэ zamэtnuto"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Oprсvnьnэ k zсpisu zamэtnuto"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Cesta neexistuje"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Cesta nenэ adresсј"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Cesta nenэ soubor"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Nelze vytvoјit soubor"
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Шtenэ selhalo"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "Шtenэ dat selhalo"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Zсpis dat selhal"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
-msgstr "Neznсmс Chyba"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Nelze nalщzt vhodn§ zсs. modul jсdra"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "Zсs. modul jсdra nepodporuje uloОenщ stavy"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Argument pјэkazovщ јсdky nebyl zpracovсn"
+
+#: common/error.cpp:79
+msgid "Unknown error"
+msgstr "Neznсmс chyba"
#: common/util.cpp:276
msgid "Hercules Green"
@@ -1114,13 +1126,13 @@ msgstr "UloОit hru:"
msgid "Save"
msgstr "UloОit"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~Z~ruЙit"
@@ -1216,7 +1228,7 @@ msgstr "Zv§Йit / SnэОit rychlost textu"
#: engines/scumm/help.cpp:92
msgid "Simulate left mouse button"
-msgstr "Napodobit levщ tlaшitko myЙi"
+msgstr "Napodobit levщ tlaшэtko myЙi"
#: engines/scumm/help.cpp:93
msgid "Tab"
@@ -1224,7 +1236,7 @@ msgstr "Tab"
#: engines/scumm/help.cpp:93
msgid "Simulate right mouse button"
-msgstr "Napodobit pravщ tlaшitko myЙi"
+msgstr "Napodobit pravщ tlaшэtko myЙi"
#: engines/scumm/help.cpp:96
msgid "Special keyboard commands:"
@@ -1552,7 +1564,7 @@ msgstr "PoloОka vpravo dole"
#: engines/scumm/help.cpp:270
msgid "Middle left item"
-msgstr "PloОka vlevo uprostјed"
+msgstr "PoloОka vlevo uprostјed"
#: engines/scumm/help.cpp:273
msgid "Middle right item"
@@ -1659,7 +1671,7 @@ msgstr "Letьt doprava"
msgid "Fly to lower right"
msgstr "Letьt doprava dolљ"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1670,18 +1682,18 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
"\n"
"%s"
msgstr ""
-"Nahrсni stavu hry selhalo ze souboru:\n"
+"Nahrсnэ stavu hry selhalo ze souboru:\n"
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1692,15 +1704,25 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Normсlnь by teя Maniac Mansion byl spuЙtьn. Ale ScummVM toto zatэm nedьlс. "
+"Abyste toto mohli hrсt, pјejdьte do 'Pјidat Hru' v poшсteшnэm menu ScummVM a "
+"vyberte adresсј 'Maniac' uvnitј hernэho adresсјe Tentacle."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~R~eОim SviЙtьnэ Aktivovсn"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~P~јechody zapnuty"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~E~fekt Vody Zapnut"
@@ -1720,7 +1742,7 @@ msgstr "MAME OPL Emulсtor"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL Emulсtor"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Bez hudby"
@@ -1740,11 +1762,11 @@ msgstr "Apple II GS Emulсtor (NENЭ ZAVEDEN)"
msgid "C64 Audio Emulator"
msgstr "Emulсtor zvuku C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "SpouЙtэm MT-32 Emulсtor"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 Emulсtor"
@@ -1776,7 +1798,7 @@ msgstr "(Globсlnэ)"
msgid " (Game)"
msgstr "(Hra)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -1862,12 +1884,12 @@ msgstr "Touchpad reОim vypnut"
#: backends/graphics/sdl/sdl-graphics.cpp:47
msgid "Normal (no scaling)"
-msgstr "Normсlnэ (bez zmьny veliosti)"
+msgstr "Normсlnэ (bez zmьny velikosti)"
#: backends/graphics/sdl/sdl-graphics.cpp:66
msgctxt "lowres"
msgid "Normal (no scaling)"
-msgstr "Normсlnэ (bez zmьny veliosti)"
+msgstr "Normсlnэ (bez zmьny velikosti)"
#: backends/graphics/opengl/opengl-graphics.cpp:133
msgid "OpenGL Normal"
@@ -1973,7 +1995,7 @@ msgstr "Horizontсlnэ zmenЙenэ"
#: backends/platform/wii/options.cpp:66
msgid "Vertical underscan:"
-msgstr "Vetikсlnэ zmenЙenэ"
+msgstr "Vertikсlnэ zmenЙenэ"
#: backends/platform/wii/options.cpp:71
msgid "Input"
@@ -2174,7 +2196,7 @@ msgstr "Mapovat шinnost pravщ kliknutэ"
#: backends/platform/wince/wince-sdl.cpp:490
msgid "You must map a key to the 'Right Click' action to play this game"
msgstr ""
-"Musэte namapovat klсvesu pro шinnost 'Pravщ Kliknutэ', abyste tuto hru mohi "
+"Musэte namapovat klсvesu pro шinnost 'Pravщ Kliknutэ', abyste tuto hru mohli "
"hrсt"
#: backends/platform/wince/wince-sdl.cpp:499
@@ -2202,3 +2224,5 @@ msgstr ""
"Nezapomeђte namapovat klсvesu k шinnosti 'Skr§t Panel Nсstrojљ, abyste "
"vidьli cel§ inventсј"
+#~ msgid "Invalid Path"
+#~ msgstr "Neplatnс Cesta"
diff --git a/po/da_DA.po b/po/da_DA.po
index af898b0cd1..8e77f376ac 100644
--- a/po/da_DA.po
+++ b/po/da_DA.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2011-01-08 22:53+0100\n"
"Last-Translator: Steffen Nyeland <steffen@nyeland.dk>\n"
"Language-Team: Steffen Nyeland <steffen@nyeland.dk>\n"
@@ -43,7 +43,7 @@ msgid "Go up"
msgstr "Gх op"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -64,11 +64,11 @@ msgstr "Luk"
msgid "Mouse click"
msgstr "Muse klik"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Vis tastatur"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Kortlцg taster"
@@ -81,7 +81,7 @@ msgid "Map"
msgstr "Kortlцg"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -156,7 +156,7 @@ msgstr ""
"engelsk"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<standard>"
@@ -174,11 +174,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Platform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafik"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -191,7 +191,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Overstyr globale grafik indstillinger"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Lyd"
@@ -204,11 +204,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Overstyr globale lyd indstillinger"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Lydstyrke"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Lydstyrke"
@@ -222,7 +222,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Overstyr globale lydstyrke indstillinger"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -235,7 +235,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Overstyr globale MIDI indstillinger"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -248,11 +248,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Overstyr globale MT-32 indstillinger"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Stier"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Stier"
@@ -266,7 +266,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Spil sti:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Ekstra sti:"
@@ -274,30 +274,30 @@ msgstr "Ekstra sti:"
msgid "Specifies path to additional data used the game"
msgstr "Angiver sti til ekstra data der bruges i spillet"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Ekstra sti:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Gemme sti:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Angiver hvor dine gemmer bliver lagt"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Gemme sti:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ingen"
@@ -307,7 +307,7 @@ msgstr "Ingen"
msgid "Default"
msgstr "Standard"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Vцlg SoundFont"
@@ -414,17 +414,17 @@ msgstr "Sјg i spil liste"
msgid "Search:"
msgstr "Sјg:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Slet vцrdi"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Indlцs spil:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -560,83 +560,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ingen"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafik tilstand:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Rendere tilstand:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Speciel farvereduceringstilstand understјttet a nogle spil"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Fuldskцrms tilstand"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Billedformat korrektion"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Korrekt billedformat til 320x200 spil"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA farveforјgelse"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Aktiver farveforјgelse i EGA spil der understјtter det"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Foretruk. enhed:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Musik enhed:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Angiver foretukket lyd enhed eller lydkort emulator"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Angiver lyd udgangsenhed eller lydkorts emulator"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Foretruk. enh.:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Musik enhed:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib emulator:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib bliver brugt til musik i mange spil"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Udgangsfrekvens:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -644,60 +644,60 @@ msgstr ""
"Hјjere vцrdi angiver bedre lyd kvalitet, men understјttes mхske ikke af dit "
"lydkort"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM enhed:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Angiver standard lyd enhed for General MIDI udgang"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Brug ikke General MIDI musik"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Brug fјrste tilgцngelig enhed"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont er understјttet af nogle lydkort, Fluidsynth og Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Blandet AdLib/MIDI tilstand"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Brug bхde MIDI og AdLib lyd generering"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI lydstyrke:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "MT-32 enhed:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr "Angiver standard lyd enhed for Roland MT-32/LAPC1/CM32I/CM64 udgang"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Цgte Roland MT-32 (undlad GM emulering)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -705,190 +705,190 @@ msgstr ""
"Kontroller om du vil bruge din rigtige hardware Roland-kompatible lyd enhed "
"tilsluttet til din computer"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Цgte Roland MT-32 (ingen GM emulering)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Aktivщr Roland GS tilstand"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Sluk for General MIDI kortlцgning for spil med Roland MT-32 lydspor"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Brug ikke Roland MT-32 musik"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Tekst og tale:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Tale"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Undertekster"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Begge"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Tekst hastighed:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Tekst og tale:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Tale"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Tekst"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Begge"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Vis undertekster og afspil tale"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Tekst hastighed:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Musik lydstyrke:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musik lydstyrke:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Mute alle"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "SFX lydstyrke:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Lydstyrke for specielle lydeffekter"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "SFX lydstyrke:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Tale lydstyrke:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Tale lydstyrke:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Tema sti:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Tema sti:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Angiver sti til ekstra data brugt af alle spil eller ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Plugin sti:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Plugin sti:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Andet"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Andet"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI renderer:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Auto gemme:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Auto gemme:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Taster"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Sprog:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Sprog for brugerfladen i ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Du skal genstarte ScummVM for at цndringer vises."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Vцlg bibliotek til gemmer"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "Der kan ikke skrives til det valgte bibliotek. Vцlg venligst et andet."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Vцlg bibliotek for GUI temaer"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Vцlg bibliotek for ekstra filer"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Vцlg bibliotek for plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -961,88 +961,107 @@ msgstr "Antialias renderer (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Antialias (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Motor understјtter ikke fejlfindingsniveau '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Spring over"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pause"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Spring linje over"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Fejl ved kјrsel af spil:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Kunne ikke finde nogen motor istand til at afvikle det valgte spil"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ugyldig sti"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Spil data ikke fundet"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Spil id ikke understјttet"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Ikke understјttet farve tilstand"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Lцse rettighed nцgtet"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Skrive rettighed nцgtet"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "Sti eksistere ikke"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Sti ikke et bibliotek"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Sti ikke en fil"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Kan ikke oprette fil"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Lцsning fejlet"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Skrivning af data fejlet"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Motor understјtter ikke fejlfindingsniveau '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Ukendt fejl"
#: common/util.cpp:276
@@ -1111,13 +1130,13 @@ msgstr "Gemmer:"
msgid "Save"
msgstr "Gem"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~F~ortryd"
@@ -1656,7 +1675,7 @@ msgstr "Flyv til hјjre"
msgid "Fly to lower right"
msgstr "Flyv nederst til hјjre"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1667,7 +1686,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1678,7 +1697,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1689,15 +1708,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~ip tilstand aktiveret"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~O~vergange aktiveret"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~V~andeffekter aktiveret"
@@ -1717,7 +1743,7 @@ msgstr "MAME OPL emulator"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL emulator"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Ingen musik"
@@ -1737,11 +1763,11 @@ msgstr "Apple II GS emulator (IKKE IMPLEMENTERET)"
msgid "C64 Audio Emulator"
msgstr "C64 lyd emulator"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Initialisere MT-32 emulator"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 emulator"
@@ -1773,7 +1799,7 @@ msgstr " (Global)"
msgid " (Game)"
msgstr " (Spil)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2198,3 +2224,5 @@ msgstr ""
"Glem ikke at tildele en tast til 'Skjul vцrktјjslinje' handling for at se "
"hele oversigten"
+#~ msgid "Invalid Path"
+#~ msgstr "Ugyldig sti"
diff --git a/po/de_DE.po b/po/de_DE.po
index 059fa959d1..f5ded40e59 100644..100755
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-11-27 22:15+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-24 12:35+0100\n"
"Last-Translator: Simon Sawatzki <SimSaw@gmx.de>\n"
"Language-Team: Lothar Serra Mari <Lothar@Windowsbase.de> & Simon Sawatzki "
"<SimSaw@gmx.de>\n"
@@ -45,7 +45,7 @@ msgid "Go up"
msgstr "Pfad hoch"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -66,11 +66,11 @@ msgstr "Schlieпen"
msgid "Mouse click"
msgstr "Mausklick"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Tastatur anzeigen"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Tasten neu zuweisen"
@@ -83,7 +83,7 @@ msgid "Map"
msgstr "Zuweisen"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgstr ""
"Spiels in eine deutsche verwandeln."
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<Standard>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Plattform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafik"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Globale Grafikeinstellungen ќbergehen"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Audio"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Globale Audioeinstellungen ќbergehen"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Lautstфrke"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Lautst."
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Globale Lautstфrkeeinstellungen ќbergehen"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Globale MIDI-Einstellungen ќbergehen"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Globale MT-32-Einstellungen ќbergehen"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Pfade"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Pfade"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Spielpfad:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Extrapfad:"
@@ -276,30 +276,30 @@ msgstr "Extrapfad:"
msgid "Specifies path to additional data used the game"
msgstr "Legt das Verzeichnis fќr zusфtzliche Spieldateien fest."
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Extrapfad:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Spielstфnde:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Legt fest, wo die Spielstфnde abgelegt werden."
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Speichern:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Keiner"
@@ -309,7 +309,7 @@ msgstr "Keiner"
msgid "Default"
msgstr "Standard"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "SoundFont auswфhlen"
@@ -418,17 +418,17 @@ msgstr "In Spieleliste suchen"
msgid "Search:"
msgstr "Suchen:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Wert lіschen"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Spiel laden:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -564,85 +564,85 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "-"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafikmodus:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Render-Modus:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr ""
"Spezielle Farbmischungsmethoden werden von manchen Spielen unterstќtzt."
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Vollbildmodus"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Seitenverhфltnis korrigieren"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Seitenverhфltnis fќr Spiele mit der Auflіsung 320x200 korrigieren"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
-msgstr ""
+msgstr "Antifehlerdiffusion fќr EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
-msgstr ""
+msgstr "Aktiviert die Aufhebung der Fehlerdiffusion in EGA-Spielen, die dies unterstќtzen."
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Standard-Gerфt:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Musikgerфt:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
"Legt das bevorzugte Tonwiedergabe-Gerфt oder den Soundkarten-Emulator fest."
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Legt das Musikwiedergabe-Gerфt oder den Soundkarten-Emulator fest."
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Standard-Gerфt:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Musikgerфt:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib-Emulator"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib wird fќr die Musik in vielen Spielen verwendet."
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Ausgabefrequenz:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -650,64 +650,64 @@ msgstr ""
"Hіhere Werte bewirken eine bessere Soundqualitфt, werden aber mіglicherweise "
"nicht von jeder Soundkarte unterstќtzt."
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM-Gerфt:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr ""
"Legt das standardmфпige Musikwiedergabe-Gerфt fќr General-MIDI-Ausgabe fest."
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Keine General-MIDI-Musik"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Erstes verfќgbares Gerфt"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFont wird von einigen Soundkarten, Fluidsynth und Timidity unterstќtzt."
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "AdLib-/MIDI-Modus"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Benutzt MIDI und AdLib zur Sounderzeugung."
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI-Lautstфrke:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "MT-32-Gerфt:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Legt das standardmфпige Tonwiedergabe-Gerфt fќr die Ausgabe von Roland MT-32/"
"LAPC1/CM32l/CM64 fest."
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Echte Roland-MT-32-Emulation (GM-Emulation deaktiviert)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -715,196 +715,197 @@ msgstr ""
"Wфhlen Sie dies aus, wenn Sie Ihre echte Hardware, die mit einer Roland-"
"kompatiblen Soundkarte verbunden ist, verwenden mіchten."
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Echte Roland-MT-32-Emulation (kein GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Roland-GS-Modus"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Schaltet die General-MIDI-Zuweisung fќr Spiele mit Roland-MT-32-Audiospur "
"aus."
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Keine Roland-MT-32-Musik"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Sprache und Text:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Sprache"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Untertitel"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Beides"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Untertitel-Tempo:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Sprache + Text:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Spr."
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "TXT"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "S+T"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Untertitel anzeigen und Sprachausgabe aktivieren"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Text-Tempo:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Musiklautstфrke:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musiklautstфrke:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Alles aus"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Effektlautstфrke:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Lautstфrke spezieller Soundeffekte"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Effektlautst.:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Sprachlautstфrke:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Sprachlautst.:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Themenpfad:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Themenpfad:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Legt das Verzeichnis fќr zusфtzliche Spieldateien fќr alle Spiele in ScummVM "
"fest."
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Plugin-Pfad:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Plugin-Pfad:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Sonstiges"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Andere"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Thema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI-Renderer:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autom. Speichern:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Speich.(auto)"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Tasten"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Sprache:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Sprache der ScummVM-Oberflфche"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Sie mќssen ScummVM neu starten, um die Einstellungen zu ќbernehmen."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Verzeichnis fќr Spielstфnde auswфhlen"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
"In das gewфhlte Verzeichnis kann nicht geschrieben werden. Bitte ein anderes "
"auswфhlen."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Verzeichnis fќr Oberflфchen-Themen"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Verzeichnis fќr zusфtzliche Dateien auswфhlen"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Verzeichnis fќr Erweiterungen auswфhlen"
-#: gui/options.cpp:1328
+# Nicht ќbersetzen, da diese Nachricht nur fќr nicht-lateinische Sprachen relevant ist.
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -975,88 +976,100 @@ msgstr "Kantenglфttung (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Kantenglфttung (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Engine unterstќtzt den Debug-Level \"%s\" nicht."
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menќ"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "мberspringen"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pause"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Zeile ќberspringen"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Fehler beim Ausfќhren des Spiels:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Konnte keine Spiel-Engine finden, die dieses Spiel starten kann."
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ungќltiges Verzeichnis"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Kein Fehler"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Spieldaten nicht gefunden"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "Spielkennung nicht unterstќtzt"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Farbmodus nicht unterstќtzt"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Lese-Berechtigung nicht vorhanden"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Schreib-Berechtigung nicht vorhanden"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Verzeichnis existiert nicht."
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Ungќltiges Verzeichnis"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Pfad ist keine Datei."
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Kann Datei nicht erstellen."
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Lesefehler aufgetreten"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "Daten konnten nicht gelesen werden."
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Daten konnten nicht geschrieben werden."
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Konnte kein passendes Engine-Plugin finden."
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "Engine-Plugin unterstќtzt keine Speicherstфnde."
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Argument in Kommandozeile nicht verarbeitet"
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Unbekannter Fehler"
#: common/util.cpp:276
@@ -1125,13 +1138,13 @@ msgstr "Speichern:"
msgid "Save"
msgstr "Speichern"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~bbrechen"
@@ -1186,7 +1199,7 @@ msgstr "Spielpause"
#: engines/scumm/help.cpp:102 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Ctrl"
-msgstr ""
+msgstr "Strg"
#: engines/scumm/help.cpp:82
msgid "Load game state 1-10"
@@ -1196,7 +1209,7 @@ msgstr "Spielstand 1-10 laden"
#: engines/scumm/help.cpp:89 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: engines/scumm/help.cpp:83
msgid "Save game state 1-10"
@@ -1632,7 +1645,7 @@ msgstr "9, 6 und 3 vertauscht."
#: engines/scumm/help.cpp:317
msgid "Biplane controls (numpad):"
-msgstr "Doppeldecker-Steuerung (Ziffernblock):"
+msgstr "Doppeldecker (Ziffernblock):"
#: engines/scumm/help.cpp:318
msgid "Fly to upper left"
@@ -1670,7 +1683,7 @@ msgstr "Nach rechts fliegen"
msgid "Fly to lower right"
msgstr "Nach unten rechts fliegen"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1681,7 +1694,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1692,7 +1705,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1703,15 +1716,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr "Normalerweise wќrde jetzt Maniac Mansion starten. ScummVM kann das jedoch noch nicht. Um dieses Spiel zu spielen, klicken Sie auf \"Spiel hinzufќgen\" im Startmenќ von ScummVM und wфhlen das Verzeichnis \"Maniac\" im Verzeichnis dieses Spiels aus."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~ip-Modus aktiviert"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "мber~g~фnge aktiviert"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~W~assereffekt aktiviert"
@@ -1731,7 +1751,7 @@ msgstr "MAME-OPL-Emulator"
msgid "DOSBox OPL emulator"
msgstr "DOSBox-OPL-Emulator"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Keine Musik"
@@ -1751,11 +1771,11 @@ msgstr "Apple-II-GS-Emulator (NICHT INTEGRIERT)"
msgid "C64 Audio Emulator"
msgstr "C64-Audio-Emulator"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "MT-32-Emulator wird gestartet..."
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32-Emulation"
@@ -1787,7 +1807,7 @@ msgstr " (Global)"
msgid " (Game)"
msgstr " (Spiel)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2213,3 +2233,5 @@ msgstr ""
"Vergessen Sie nicht, der Aktion \"Werkzeugleiste verbergen\" eine Taste "
"zuzuweisen, um das ganze Inventar sehen zu kіnnen."
+#~ msgid "Invalid Path"
+#~ msgstr "Ungќltiges Verzeichnis"
diff --git a/po/es_ES.po b/po/es_ES.po
index 1f9ff77456..0aa90fe5c0 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-09-25 17:11+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-27 11:06+0100\n"
"Last-Translator: Tomсs Maidagan\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -43,7 +43,7 @@ msgid "Go up"
msgstr "Arriba"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -64,11 +64,11 @@ msgstr "Cerrar"
msgid "Mouse click"
msgstr "Clic de ratѓn"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Mostrar el teclado"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Asignar teclas"
@@ -81,7 +81,7 @@ msgid "Map"
msgstr "Asignar"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -156,7 +156,7 @@ msgstr ""
"juego"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<por defecto>"
@@ -174,11 +174,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Plat.:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grсficos"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -191,7 +191,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Opciones grсficas especэficas"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Sonido"
@@ -204,11 +204,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Opciones de sonido especэficas"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volumen"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volumen"
@@ -222,7 +222,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Opciones de volumen especэficas"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -235,7 +235,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Opciones de MIDI especэficas"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -248,11 +248,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Opciones de MT-32 especэficas"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Rutas"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Rutas"
@@ -266,7 +266,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Juego:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Adicional:"
@@ -274,30 +274,30 @@ msgstr "Adicional:"
msgid "Specifies path to additional data used the game"
msgstr "Especifica un directorio para datos adicionales del juego"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Adicional:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Partidas:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Especifica dѓnde guardar tus partidas"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Partidas:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ninguna"
@@ -307,7 +307,7 @@ msgstr "Ninguna"
msgid "Default"
msgstr "Por defecto"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Selecciona un SoundFont"
@@ -414,17 +414,17 @@ msgstr "Buscar en la lista de juegos"
msgid "Search:"
msgstr "Buscar:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Eliminar valor"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Cargar juego:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -560,86 +560,86 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ninguno"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Modo grсfico:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Renderizado:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Modos especiales de expansiѓn soportados por algunos juegos"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Pantalla completa"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Correcciѓn de aspecto"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Corregir relaciѓn de aspecto en juegos 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
-msgstr ""
+msgstr "Difuminado EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
-msgstr ""
+msgstr "Activar difuminado en los juegos EGA compatibles"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Disp. preferido:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Disp. de mњsica:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
"Especifica quщ dispositivo de sonido o emulador de tarjeta de sonido "
"prefieres"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr ""
"Especifica el dispositivo de sonido o emulador de tarjeta de sonido de salida"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Disp. preferido:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Disp. de mњsica:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Emul. de AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib se usa para la mњsica en muchos juegos"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Frec. de salida:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -647,64 +647,64 @@ msgstr ""
"Los valores mсs altos ofrecen mayor calidad, pero puede que tu tarjeta de "
"sonido no sea compatible"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Dispositivo GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Especifica el dispositivo de salida General MIDI por defecto"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
-msgstr ""
+msgstr "No usar mњsica General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
-msgstr ""
+msgstr "Utilizar el primer dispositivo disponible"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFont estс soportado por algunas tarjetas de sonido, ademсs de "
"Fluidsynth y Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Modo AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Usar tanto MIDI como AdLib en la generaciѓn de sonido"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Ganancia MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Disp. MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Especifica el dispositivo de sonido para la salida Roland MT-32/LAPC1/CM32l/"
"CM64 por defecto"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 autщntica (desactivar emulaciѓn GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -712,196 +712,197 @@ msgstr ""
"Marcar si se quiere usar un dispositivo de sonido real conectado al "
"ordenador y compatible con Roland"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 real (sin emulaciѓn GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Activar modo Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Desactiva la conversiѓn General MIDI en juegos con sonido Roland MT-32"
-#: gui/options.cpp:799
-#, fuzzy
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
-msgstr "Roland MT-32 real (sin emulaciѓn GM)"
+msgstr "No usar mњsica Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Texto y voces:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Voces"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Subtэtulos"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Ambos"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Vel. de subtэtulos:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Texto y voces:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Voz"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Subt"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "V&S"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Reproducir voces y subtэtulos"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Vel. de subt.:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Mњsica:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Mњsica:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Silenciar"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Efectos:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volumen de los efectos de sonido"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Efectos:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Voces:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Voces:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Temas:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Temas:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Especifica el directorio adicional usado por los juegos y ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Plugins:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Plugins:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Otras"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Otras"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Interfaz:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autoguardado:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autoguardado:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Teclas"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Idioma:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Idioma de la interfaz de ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Tienes que reiniciar ScummVM para aplicar los cambios."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Selecciona el directorio de guardado"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
"No se puede escribir en el directorio elegido. Por favor, selecciona otro."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Selecciona el directorio de temas"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Selecciona el directorio adicional"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Selecciona el directorio de plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
msgstr ""
+"El tema seleccionado no es compatible con el idioma actual. Si quieres usar "
+"este tema debes cambiar a otro idioma primero."
#: gui/saveload.cpp:61 gui/saveload.cpp:242
msgid "No date saved"
@@ -968,88 +969,100 @@ msgstr "Suavizado (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Suavizado (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "El motor no soporta el nivel de debug '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menњ"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Saltar"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pausar"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Saltar frase"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Error al ejecutar el juego:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "No se ha podido encontrar ningњn motor capaz de ejecutar el juego"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ruta no vсlida"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Ningњn error"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "No se han encontrado datos de juego"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "ID del juego no soportada"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Modo de color no soportado"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Permiso de lectura denegado"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Permiso de escritura denegado"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "La ruta no existe"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "La ruta no es un directorio"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "La ruta no es un archivo"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Imposible crear el archivo"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+msgid "Reading data failed"
msgstr "Fallo de lectura"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Fallo en la escritura de datos"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "No se ha encontrado un plugin adecuado"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "El plugin del motor no es compatible con partidas guardadas"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Argumento no vсlido de la lэnea de comando"
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Error desconocido"
#: common/util.cpp:276
@@ -1118,13 +1131,13 @@ msgstr "Guardar partida"
msgid "Save"
msgstr "Guardar"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~S~э"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~C~ancelar"
@@ -1147,35 +1160,31 @@ msgstr "Cerra~r~"
#: engines/scumm/help.cpp:76
msgid "Common keyboard commands:"
-msgstr ""
+msgstr "Comandos bсsicos de teclado:"
#: engines/scumm/help.cpp:77
msgid "Save / Load dialog"
-msgstr ""
+msgstr "Pantalla de Guardar / Cargar"
#: engines/scumm/help.cpp:79
-#, fuzzy
msgid "Skip line of text"
msgstr "Saltar frase"
#: engines/scumm/help.cpp:80
msgid "Esc"
-msgstr ""
+msgstr "Esc"
#: engines/scumm/help.cpp:80
-#, fuzzy
msgid "Skip cutscene"
-msgstr "Saltar frase"
+msgstr "Saltar escena"
#: engines/scumm/help.cpp:81
-#, fuzzy
msgid "Space"
-msgstr "Voz"
+msgstr "Espacio"
#: engines/scumm/help.cpp:81
-#, fuzzy
msgid "Pause game"
-msgstr "Guardar partida"
+msgstr "Pausar el juego"
#: engines/scumm/help.cpp:82 engines/scumm/help.cpp:87
#: engines/scumm/help.cpp:98 engines/scumm/help.cpp:99
@@ -1183,23 +1192,21 @@ msgstr "Guardar partida"
#: engines/scumm/help.cpp:102 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Ctrl"
-msgstr ""
+msgstr "Ctrl"
#: engines/scumm/help.cpp:82
-#, fuzzy
msgid "Load game state 1-10"
-msgstr "Cargar juego:"
+msgstr "Cargar partida 1-10"
#: engines/scumm/help.cpp:83 engines/scumm/help.cpp:87
#: engines/scumm/help.cpp:89 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: engines/scumm/help.cpp:83
-#, fuzzy
msgid "Save game state 1-10"
-msgstr "Guardar partida"
+msgstr "Guardar partida 1-10"
#: engines/scumm/help.cpp:85 engines/scumm/help.cpp:87
#: backends/platform/symbian/src/SymbianActions.cpp:55
@@ -1210,480 +1217,466 @@ msgstr "Salir"
#: engines/scumm/help.cpp:89 engines/scumm/help.cpp:92
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#: engines/scumm/help.cpp:89
msgid "Toggle fullscreen"
-msgstr ""
+msgstr "Activar pantalla completa"
#: engines/scumm/help.cpp:90
-#, fuzzy
msgid "Music volume up / down"
-msgstr "Mњsica:"
+msgstr "Subir / Bajar el volumen de la mњsica"
#: engines/scumm/help.cpp:91
msgid "Text speed slower / faster"
-msgstr ""
+msgstr "Aumentar/disminuir la velocidad de texto"
#: engines/scumm/help.cpp:92
msgid "Simulate left mouse button"
-msgstr ""
+msgstr "Simular botѓn izquierdo del ratѓn"
#: engines/scumm/help.cpp:93
msgid "Tab"
-msgstr ""
+msgstr "Tab"
#: engines/scumm/help.cpp:93
msgid "Simulate right mouse button"
-msgstr ""
+msgstr "Simular botѓn derecho del ratѓn"
#: engines/scumm/help.cpp:96
msgid "Special keyboard commands:"
-msgstr ""
+msgstr "Comandos especiales de teclado:"
#: engines/scumm/help.cpp:97
-#, fuzzy
msgid "Show / Hide console"
-msgstr "Mostrar/ocultar cursor"
+msgstr "Mostrar / Ocultar consola"
#: engines/scumm/help.cpp:98
msgid "Start the debugger"
-msgstr ""
+msgstr "Iniciar debugger"
#: engines/scumm/help.cpp:99
msgid "Show memory consumption"
-msgstr ""
+msgstr "Mostrar consumo de memoria"
#: engines/scumm/help.cpp:100
msgid "Run in fast mode (*)"
-msgstr ""
+msgstr "Ejecutar en modo rсpido (*)"
#: engines/scumm/help.cpp:101
msgid "Run in really fast mode (*)"
-msgstr ""
+msgstr "Ejecutar en modo muy rсpido (*)"
#: engines/scumm/help.cpp:102
msgid "Toggle mouse capture"
-msgstr ""
+msgstr "Captura de ratѓn"
#: engines/scumm/help.cpp:103
msgid "Switch between graphics filters"
-msgstr ""
+msgstr "Alternar entre filtros grсficos"
#: engines/scumm/help.cpp:104
msgid "Increase / Decrease scale factor"
-msgstr ""
+msgstr "Aumentar / Disminuir factor de escalado"
#: engines/scumm/help.cpp:105
-#, fuzzy
msgid "Toggle aspect-ratio correction"
msgstr "Correcciѓn de aspecto"
#: engines/scumm/help.cpp:110
msgid "* Note that using ctrl-f and"
-msgstr ""
+msgstr "* No se recomienda utilizar"
#: engines/scumm/help.cpp:111
msgid " ctrl-g are not recommended"
-msgstr ""
+msgstr " ctrl-f y ctrl-g, ya que pueden"
#: engines/scumm/help.cpp:112
msgid " since they may cause crashes"
-msgstr ""
+msgstr " provocar cuelgues o"
#: engines/scumm/help.cpp:113
msgid " or incorrect game behaviour."
-msgstr ""
+msgstr " un funcionamiento incorrecto del juego"
#: engines/scumm/help.cpp:117
msgid "Spinning drafts on the keyboard:"
-msgstr ""
+msgstr "Tejer hechizos con el teclado:"
#: engines/scumm/help.cpp:119
-#, fuzzy
msgid "Main game controls:"
-msgstr "Cambiar opciones de juego"
+msgstr "Controles bсsicos:"
#: engines/scumm/help.cpp:124 engines/scumm/help.cpp:139
#: engines/scumm/help.cpp:164
-#, fuzzy
msgid "Push"
-msgstr "Pausar"
+msgstr "Empujar"
#: engines/scumm/help.cpp:125 engines/scumm/help.cpp:140
#: engines/scumm/help.cpp:165
msgid "Pull"
-msgstr ""
+msgstr "Tirar"
#: engines/scumm/help.cpp:126 engines/scumm/help.cpp:141
#: engines/scumm/help.cpp:166 engines/scumm/help.cpp:199
#: engines/scumm/help.cpp:209
msgid "Give"
-msgstr ""
+msgstr "Dar"
#: engines/scumm/help.cpp:127 engines/scumm/help.cpp:142
#: engines/scumm/help.cpp:167 engines/scumm/help.cpp:192
#: engines/scumm/help.cpp:210
msgid "Open"
-msgstr ""
+msgstr "Abrir"
#: engines/scumm/help.cpp:129
-#, fuzzy
msgid "Go to"
-msgstr "Arriba"
+msgstr "Ir a"
#: engines/scumm/help.cpp:130
msgid "Get"
-msgstr ""
+msgstr "Coger"
#: engines/scumm/help.cpp:131 engines/scumm/help.cpp:155
#: engines/scumm/help.cpp:173 engines/scumm/help.cpp:200
#: engines/scumm/help.cpp:215 engines/scumm/help.cpp:226
#: engines/scumm/help.cpp:251
msgid "Use"
-msgstr ""
+msgstr "Usar"
#: engines/scumm/help.cpp:132 engines/scumm/help.cpp:144
msgid "Read"
-msgstr ""
+msgstr "Leer"
#: engines/scumm/help.cpp:133 engines/scumm/help.cpp:150
msgid "New kid"
-msgstr ""
+msgstr "Cambiar personaje"
#: engines/scumm/help.cpp:134 engines/scumm/help.cpp:156
#: engines/scumm/help.cpp:174
msgid "Turn on"
-msgstr ""
+msgstr "Encender"
#: engines/scumm/help.cpp:135 engines/scumm/help.cpp:157
#: engines/scumm/help.cpp:175
-#, fuzzy
msgid "Turn off"
-msgstr "Sonido activado/desactivado"
+msgstr "Apagar"
#: engines/scumm/help.cpp:145 engines/scumm/help.cpp:170
#: engines/scumm/help.cpp:196
msgid "Walk to"
-msgstr ""
+msgstr "Ir a"
#: engines/scumm/help.cpp:146 engines/scumm/help.cpp:171
#: engines/scumm/help.cpp:197 engines/scumm/help.cpp:212
#: engines/scumm/help.cpp:229
msgid "Pick up"
-msgstr ""
+msgstr "Recoger"
#: engines/scumm/help.cpp:147 engines/scumm/help.cpp:172
msgid "What is"
-msgstr ""
+msgstr "Quщ es"
#: engines/scumm/help.cpp:149
msgid "Unlock"
-msgstr ""
+msgstr "Abrir con llave"
#: engines/scumm/help.cpp:152
msgid "Put on"
-msgstr ""
+msgstr "Ponerse"
#: engines/scumm/help.cpp:153
msgid "Take off"
-msgstr ""
+msgstr "Quitarse"
#: engines/scumm/help.cpp:159
msgid "Fix"
-msgstr ""
+msgstr "Arreglar"
#: engines/scumm/help.cpp:161
-#, fuzzy
msgid "Switch"
-msgstr "Voz"
+msgstr "Cambiar"
#: engines/scumm/help.cpp:169 engines/scumm/help.cpp:230
msgid "Look"
-msgstr ""
+msgstr "Mirar"
#: engines/scumm/help.cpp:176 engines/scumm/help.cpp:225
msgid "Talk"
-msgstr ""
+msgstr "Hablar"
#: engines/scumm/help.cpp:177
-#, fuzzy
msgid "Travel"
-msgstr "Guardar"
+msgstr "Viajar"
#: engines/scumm/help.cpp:178
msgid "To Henry / To Indy"
-msgstr ""
+msgstr "Henry / Indy"
#: engines/scumm/help.cpp:181
msgid "play C minor on distaff"
-msgstr ""
+msgstr "Tocar C menor con el bastѓn"
#: engines/scumm/help.cpp:182
msgid "play D on distaff"
-msgstr ""
+msgstr "Tocar D con el bastѓn"
#: engines/scumm/help.cpp:183
msgid "play E on distaff"
-msgstr ""
+msgstr "Tocar E con el bastѓn"
#: engines/scumm/help.cpp:184
msgid "play F on distaff"
-msgstr ""
+msgstr "Tocar F con el bastѓn"
#: engines/scumm/help.cpp:185
msgid "play G on distaff"
-msgstr ""
+msgstr "Tocar G con el bastѓn"
#: engines/scumm/help.cpp:186
msgid "play A on distaff"
-msgstr ""
+msgstr "Tocar A con el bastѓn"
#: engines/scumm/help.cpp:187
msgid "play B on distaff"
-msgstr ""
+msgstr "Tocar B con el bastѓn"
#: engines/scumm/help.cpp:188
msgid "play C major on distaff"
-msgstr ""
+msgstr "Tocar C mayor con el bastѓn"
#: engines/scumm/help.cpp:194 engines/scumm/help.cpp:216
msgid "puSh"
-msgstr ""
+msgstr "Empujar"
#: engines/scumm/help.cpp:195 engines/scumm/help.cpp:217
msgid "pull (Yank)"
-msgstr ""
+msgstr "Tirar"
#: engines/scumm/help.cpp:198 engines/scumm/help.cpp:214
#: engines/scumm/help.cpp:249
msgid "Talk to"
-msgstr ""
+msgstr "Hablar con"
#: engines/scumm/help.cpp:201 engines/scumm/help.cpp:213
msgid "Look at"
-msgstr ""
+msgstr "Mirar"
#: engines/scumm/help.cpp:202
msgid "turn oN"
-msgstr ""
+msgstr "Encender"
#: engines/scumm/help.cpp:203
msgid "turn oFf"
-msgstr ""
+msgstr "Apagar"
#: engines/scumm/help.cpp:219
-#, fuzzy
msgid "KeyUp"
-msgstr "Teclas"
+msgstr "Arriba"
#: engines/scumm/help.cpp:219
msgid "Highlight prev dialogue"
-msgstr ""
+msgstr "Seleccionar diсlogo anterior"
#: engines/scumm/help.cpp:220
-#, fuzzy
msgid "KeyDown"
msgstr "Abajo"
#: engines/scumm/help.cpp:220
msgid "Highlight next dialogue"
-msgstr ""
+msgstr "Seleccionar diсlogo siguiente"
#: engines/scumm/help.cpp:224
msgid "Walk"
-msgstr ""
+msgstr "Caminar"
#: engines/scumm/help.cpp:227 engines/scumm/help.cpp:236
#: engines/scumm/help.cpp:243 engines/scumm/help.cpp:250
msgid "Inventory"
-msgstr ""
+msgstr "Inventario"
#: engines/scumm/help.cpp:228
msgid "Object"
-msgstr ""
+msgstr "Objeto"
#: engines/scumm/help.cpp:231
msgid "Black and White / Color"
-msgstr ""
+msgstr "Blanco y negro / Color"
#: engines/scumm/help.cpp:234
msgid "Eyes"
-msgstr ""
+msgstr "Ojos"
#: engines/scumm/help.cpp:235
-#, fuzzy
msgid "Tongue"
-msgstr "Zona"
+msgstr "Lengua"
#: engines/scumm/help.cpp:237
msgid "Punch"
-msgstr ""
+msgstr "Puёetazo"
#: engines/scumm/help.cpp:238
msgid "Kick"
-msgstr ""
+msgstr "Patada"
#: engines/scumm/help.cpp:241 engines/scumm/help.cpp:248
msgid "Examine"
-msgstr ""
+msgstr "Examinar"
#: engines/scumm/help.cpp:242
msgid "Regular cursor"
-msgstr ""
+msgstr "Cursor normal"
#: engines/scumm/help.cpp:244
msgid "Comm"
-msgstr ""
+msgstr "Comm"
#: engines/scumm/help.cpp:247
msgid "Save / Load / Options"
-msgstr ""
+msgstr "Guardar / Cargar / Opciones"
#: engines/scumm/help.cpp:256
-#, fuzzy
msgid "Other game controls:"
-msgstr "Cambiar opciones de juego"
+msgstr "Otros controles:"
#: engines/scumm/help.cpp:258 engines/scumm/help.cpp:268
msgid "Inventory:"
-msgstr ""
+msgstr "Inventario:"
#: engines/scumm/help.cpp:259 engines/scumm/help.cpp:275
msgid "Scroll list up"
-msgstr ""
+msgstr "Subir"
#: engines/scumm/help.cpp:260 engines/scumm/help.cpp:276
msgid "Scroll list down"
-msgstr ""
+msgstr "Bajar"
#: engines/scumm/help.cpp:261 engines/scumm/help.cpp:269
msgid "Upper left item"
-msgstr ""
+msgstr "Objeto superior izquierdo"
#: engines/scumm/help.cpp:262 engines/scumm/help.cpp:271
msgid "Lower left item"
-msgstr ""
+msgstr "Objeto inferior izquierdo"
#: engines/scumm/help.cpp:263 engines/scumm/help.cpp:272
msgid "Upper right item"
-msgstr ""
+msgstr "Objeto superior derecho"
#: engines/scumm/help.cpp:264 engines/scumm/help.cpp:274
msgid "Lower right item"
-msgstr ""
+msgstr "Objeto inferior derecho"
#: engines/scumm/help.cpp:270
msgid "Middle left item"
-msgstr ""
+msgstr "Objeto izquierdo del medio"
#: engines/scumm/help.cpp:273
msgid "Middle right item"
-msgstr ""
+msgstr "Objeto derecho del medio"
#: engines/scumm/help.cpp:280 engines/scumm/help.cpp:285
-#, fuzzy
msgid "Switching characters:"
-msgstr "Cambiar personaje"
+msgstr "Cambiar personaje:"
#: engines/scumm/help.cpp:282
msgid "Second kid"
-msgstr ""
+msgstr "Segundo chaval"
#: engines/scumm/help.cpp:283
msgid "Third kid"
-msgstr ""
+msgstr "Tercer chaval"
#: engines/scumm/help.cpp:295
msgid "Fighting controls (numpad):"
-msgstr ""
+msgstr "Controles de lucha (tecl. num.)"
#: engines/scumm/help.cpp:296 engines/scumm/help.cpp:297
#: engines/scumm/help.cpp:298
msgid "Step back"
-msgstr ""
+msgstr "Retroceder"
#: engines/scumm/help.cpp:299
msgid "Block high"
-msgstr ""
+msgstr "Bloqueo alto"
#: engines/scumm/help.cpp:300
msgid "Block middle"
-msgstr ""
+msgstr "Bloqueo medio"
#: engines/scumm/help.cpp:301
msgid "Block low"
-msgstr ""
+msgstr "Bloqueo bajo"
#: engines/scumm/help.cpp:302
msgid "Punch high"
-msgstr ""
+msgstr "Puёetazo alto"
#: engines/scumm/help.cpp:303
msgid "Punch middle"
-msgstr ""
+msgstr "Puёetazo medio"
#: engines/scumm/help.cpp:304
msgid "Punch low"
-msgstr ""
+msgstr "Puёetazo bajo"
#: engines/scumm/help.cpp:307
msgid "These are for Indy on left."
-msgstr ""
+msgstr "Vсlidos cuando Indy estс a la izquierda."
#: engines/scumm/help.cpp:308
msgid "When Indy is on the right,"
-msgstr ""
+msgstr "Cuando Indy estс a la derecha,"
#: engines/scumm/help.cpp:309
msgid "7, 4, and 1 are switched with"
-msgstr ""
+msgstr "7, 4 y 1 se cambian por"
#: engines/scumm/help.cpp:310
msgid "9, 6, and 3, respectively."
-msgstr ""
+msgstr "9, 6 y 3, respectivamente."
#: engines/scumm/help.cpp:317
msgid "Biplane controls (numpad):"
-msgstr ""
+msgstr "Controles del biplano (tecl. num.)"
#: engines/scumm/help.cpp:318
msgid "Fly to upper left"
-msgstr ""
+msgstr "Volar arriba y a la izquierda"
#: engines/scumm/help.cpp:319
msgid "Fly to left"
-msgstr ""
+msgstr "Volar a la izquierda"
#: engines/scumm/help.cpp:320
msgid "Fly to lower left"
-msgstr ""
+msgstr "Volar abajo y a la izquierda"
#: engines/scumm/help.cpp:321
msgid "Fly upwards"
-msgstr ""
+msgstr "Volar arriba"
#: engines/scumm/help.cpp:322
msgid "Fly straight"
-msgstr ""
+msgstr "Volar recto"
#: engines/scumm/help.cpp:323
msgid "Fly down"
-msgstr ""
+msgstr "Volar abajo"
#: engines/scumm/help.cpp:324
msgid "Fly to upper right"
-msgstr ""
+msgstr "Volar arriba y a la derecha"
#: engines/scumm/help.cpp:325
msgid "Fly to right"
-msgstr ""
+msgstr "Volar a la derecha"
#: engines/scumm/help.cpp:326
msgid "Fly to lower right"
-msgstr ""
+msgstr "Volar abajo y a la derecha"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1694,7 +1687,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1705,7 +1698,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1716,15 +1709,25 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Maniac Mansion deberэa arrancar en este momento, pero ScummVM aњn no lo "
+"permite. Para jugar, ve a 'Aёadir juego' en el menњ de inicio de ScummVM y "
+"selecciona el directorio 'Maniac', dentro del directorio de DOTT."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Modo ~Z~ip activado"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "Tra~n~siciones activadas"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "Efecto ag~u~a activado"
@@ -1744,7 +1747,7 @@ msgstr "Emulador OPL de MAME"
msgid "DOSBox OPL emulator"
msgstr "Emulador OPL de DOSBox"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Sin mњsica"
@@ -1764,11 +1767,11 @@ msgstr "Emulador de Apple II GS (NO IMPLEMENTADO)"
msgid "C64 Audio Emulator"
msgstr "Emulador de C64 Audio"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Iniciando emulador de MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Emulador de MT-32"
@@ -1800,7 +1803,7 @@ msgstr "(General)"
msgid " (Game)"
msgstr "(Juego)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -1895,15 +1898,15 @@ msgstr "Normal"
#: backends/graphics/opengl/opengl-graphics.cpp:133
msgid "OpenGL Normal"
-msgstr ""
+msgstr "OpenGL Normal"
#: backends/graphics/opengl/opengl-graphics.cpp:134
msgid "OpenGL Conserve"
-msgstr ""
+msgstr "OpenGL Conserve"
#: backends/graphics/opengl/opengl-graphics.cpp:135
msgid "OpenGL Original"
-msgstr ""
+msgstr "OpenGL Original"
#: backends/platform/symbian/src/SymbianActions.cpp:41
#: backends/platform/wince/CEActionsSmartphone.cpp:42
@@ -2192,32 +2195,38 @@ msgid "Do you want to perform an automatic scan ?"
msgstr "ПQuieres realizar una bњsqueda automсtica?"
#: backends/platform/wince/wince-sdl.cpp:486
-#, fuzzy
msgid "Map right click action"
-msgstr "Clic derecho"
+msgstr "Asignar acciѓn 'Clic derecho'"
#: backends/platform/wince/wince-sdl.cpp:490
msgid "You must map a key to the 'Right Click' action to play this game"
msgstr ""
+"Debes asignar una tecla a la acciѓn 'Clic derecho' para jugar a este juego"
#: backends/platform/wince/wince-sdl.cpp:499
msgid "Map hide toolbar action"
-msgstr ""
+msgstr "Asignar acciѓn 'Ocultar barra de tareas'"
#: backends/platform/wince/wince-sdl.cpp:503
msgid "You must map a key to the 'Hide toolbar' action to play this game"
msgstr ""
+"Debes asignar una tecla a la acciѓn 'Ocultar barra de tareas' para jugar a "
+"este juego"
#: backends/platform/wince/wince-sdl.cpp:512
msgid "Map Zoom Up action (optional)"
-msgstr ""
+msgstr "Asignar acciѓn 'Zoom' (opcional)"
#: backends/platform/wince/wince-sdl.cpp:515
msgid "Map Zoom Down action (optional)"
-msgstr ""
+msgstr "Asignar acciѓn 'Disminuir zoom' (opcional)"
#: backends/platform/wince/wince-sdl.cpp:523
msgid ""
"Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"
msgstr ""
+"No olvides asignar una tecla a la acciѓn 'Ocultar barra de tareas' para ver "
+"todo el inventario"
+#~ msgid "Invalid Path"
+#~ msgstr "Ruta no vсlida"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 5465c2a629..b131e7da4d 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-11-23 22:43+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-22 19:40+0100\n"
"Last-Translator: Thierry Crozat <criezy@scummvm.org>\n"
"Language-Team: French <scummvm-devel@lists.sf.net>\n"
"MIME-Version: 1.0\n"
@@ -44,7 +44,7 @@ msgid "Go up"
msgstr "Remonter"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -65,11 +65,11 @@ msgstr "Fermer"
msgid "Mouse click"
msgstr "Clic de souris"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Afficher le clavier"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Changer l'affectation des touches"
@@ -82,7 +82,7 @@ msgid "Map"
msgstr "Affecter"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -157,7 +157,7 @@ msgstr ""
"espagnole du jeu."
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<defaut>"
@@ -175,11 +175,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Systшme:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Graphique"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -192,7 +192,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Rщglages spщcifiques р ce jeux"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Audio"
@@ -205,11 +205,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Rщglages spщcifiques р ce jeux"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volume"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volume"
@@ -223,7 +223,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Rщglages spщcifiques р ce jeux"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -236,7 +236,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Rщglages spщcifiques р ce jeux"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -249,11 +249,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Rщglages spщcifiques р ce jeux"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Chemins"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Chemins"
@@ -267,7 +267,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Chemin du Jeu:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Extra:"
@@ -275,30 +275,30 @@ msgstr "Extra:"
msgid "Specifies path to additional data used the game"
msgstr "Dщfinie un chemin vers des donnщes suplщmentaires utilisщes par le jeu"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Extra:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Sauvegardes:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Dщfinie l'emplacement oљ les fichiers de sauvegarde sont crщщs"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Sauvegardes:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Aucun"
@@ -308,7 +308,7 @@ msgstr "Aucun"
msgid "Default"
msgstr "Dщfaut"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Choisir une banque de sons"
@@ -416,17 +416,17 @@ msgstr "Recherche dans la liste de jeux"
msgid "Search:"
msgstr "Filtre:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Effacer la valeur"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Charger le jeu:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -562,87 +562,87 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Aucune"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Mode graphique:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Mode de rendu:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Mode spщcial de tramage supportщ par certains jeux"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Plein щcran"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Correction du rapport d'aspect"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Corrige le rapport d'aspect pour les jeu 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
#, fuzzy
msgid "EGA undithering"
msgstr "Dщsactiver tramage EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
#, fuzzy
msgid "Enable undithering in EGA games that support it"
msgstr "Dщsactive le tramage dans les jeux EGA"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Sortie Prщfщrщ:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Sortie Audio:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
"Spщcifie le pщriphщrique de sortie audio ou l'щmulateur de carte audio "
"prщfщrщ"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Spщcifie le pщriphщrique de sortie audio ou l'щmulateur de carte audio"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Sortie Prщfщrщ:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Sortie Audio:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Щmulateur AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib est utilisщ pour la musique dans de nombreux jeux"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Frщquence:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -650,64 +650,64 @@ msgstr ""
"Une valeur plus щlevщe donne une meilleure qualitщ audio mais peut ne pas "
"ъtre supportщ par votre carte son"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Sortie GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Spщcifie le pщriphщrique audio par dщfaut pour la sortie General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Ne pas utiliser la musique General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Utiliser le premier pщriphщrique disponible"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "Banque de sons:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"La banque de sons (SoundFont) est utilisщe par certaines cartes audio, "
"Fluidsynth et Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Mode mixe AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Utiliser р la fois MIDI et AdLib"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Gain MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Sortie MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Spщcifie le pщriphщrique audio par dщfaut pour la sortie Roland MT-32/LAPC1/"
"CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 exacte (dщsactive l'щmulation GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -715,195 +715,195 @@ msgstr ""
"Vщrifie si vous voulez utiliser un pщriphщrique audio compatible Roland "
"connectщ р l'ordinateur"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 exacte (pas d'щmu GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Activer le mode Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Dщsactiver la conversion des pistes MT-32 en General MIDI"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Ne pas utiliser la musique Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Dialogue:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Voix"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Sous-titres"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Les deux"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Vitesse des ST:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Dialogue:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Voix"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Subs"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "V&S"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Affiche les sous-titres et joue les dialogues audio"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Vitesse des ST:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Volume Musique:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musique:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Silence"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Volume Bruitage:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volume des effets spщciaux sonores"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Bruitage:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Volume Dialogues:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Dialogues:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Thшmes:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Thшmes:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Spщcifie un chemin vers des donnщes supplщmentaires utilisщes par tous les "
"jeux ou ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Plugins:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Plugins:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Divers"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Divers"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Thшme:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Interface:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Sauvegarde auto:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Sauvegarde:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Touches"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Langue:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Langue de l'interface graphique de ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr ""
"Vous devez relancer ScummVM pour que le changement soit pris en compte."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Sщlectionner le rщpertoire pour les sauvegardes"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
"Le rщpertoire sщlectionnщ est vщrouillщ en щcriture. Sщlectionnez un autre "
"rщpertoire."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Sщlectionner le rщpertoire des thшmes d'interface"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Sщlectionner le rщpertoire pour les fichiers suplщmentaires"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Sщlectionner le rщpertoire des plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -976,88 +976,103 @@ msgstr "Rendu Anti-crщnelщ (16 bpp)"
msgid "Antialiased (16bpp)"
msgstr "Anti-crщnelщ (16 bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Le niveau de debug '%s' n'est pas supportщ par ce moteur de jeu"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Passer"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Mettre en pause"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Passer la phrase"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Erreur lors de l'щxщcution du jeu:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Impossible de trouver un moteur pour exщcuter le jeu sщlectionnщ"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Chemin Invalide"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Fichier de donщes introuvable"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "ID de jeu non supportщ"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Mode de couleurs non supportщ"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Vщroulliщ en lecture"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Verrouillщ en щcriture"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Chemin inexistant"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Chemin n'est pas un rщpertoire"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Chemin n'est pas un fichier"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Impossible de crщer le fichier"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+msgid "Reading data failed"
msgstr "Echec de la lecture"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Echec de l'щcriture des donnщes"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Le niveau de debug '%s' n'est pas supportщ par ce moteur de jeu"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Erreur inconnue"
#: common/util.cpp:276
@@ -1126,13 +1141,13 @@ msgstr "Sauvegarde:"
msgid "Save"
msgstr "Sauver"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~nnuler"
@@ -1673,7 +1688,7 @@ msgstr "Voler vers la droite"
msgid "Fly to lower right"
msgstr "Voler vers la bas р droite"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1684,7 +1699,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1695,7 +1710,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1706,15 +1721,26 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Normalement, Maniac Mansion devrait dщmarrer maintenant. Cependant ScummVM "
+"ne supporte pas encore cette fonctionalitщ. Pour jouer р Maniac Mansion, "
+"choisissez 'Ajouter...' dans le Lanceur de ScummVM et sщlectionnez le "
+"rщpertoire 'Maniac Mansion' dans le rщpertoire du jeu Day Of The Tentacle."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Mode ~Z~ip Activщ"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "T~r~ansitions activщ"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~E~ffets de l'Eau Activщs"
@@ -1734,7 +1760,7 @@ msgstr "Щmulateur MAME OPL"
msgid "DOSBox OPL emulator"
msgstr "Щmulateur DOSBox OPL"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Pas de musique"
@@ -1754,11 +1780,11 @@ msgstr "Щmulateur Apple II GS (PAS IMPLЩMENTЩ)"
msgid "C64 Audio Emulator"
msgstr "Щmulateur C64 Audio"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Initialisation de l'Щmulateur MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Щmulateur MT-32"
@@ -1790,7 +1816,7 @@ msgstr "(Global)"
msgid " (Game)"
msgstr "(Jeu)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "MIDI Windows"
@@ -2216,3 +2242,5 @@ msgstr ""
"Noubliez pas d'affecter une touche р l'action 'Cacher Bar d'Outils' pour "
"pouvoir voir entiшrement l'inventaire"
+#~ msgid "Invalid Path"
+#~ msgstr "Chemin Invalide"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 4969629a45..2a2256b7a1 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-12-01 09:23+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-23 15:38+0100\n"
"Last-Translator: Gruby <grubycza@hotmail.com>\n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Feljebb"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Bezсr"
msgid "Mouse click"
msgstr "Egщrkattintсs"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Billentyћzet beсllэtсsok"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Billentyћk сtсllэtсsa"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Kiosztсs"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgstr ""
"A jсtщk nyelve. Ne сllэtsd сt a pl. Spanyol nyelvћ jсtщkodat Angolra nyelvre"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<alapщrtelmezett>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Platform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafika"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Globсlis grafikai beсllэtсsok felќlbэrсlсsa"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Audiѓ"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Globсlis audiѓ beсllэtсsok felќlbэrсlсsa"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Hangerѕ"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Hangerѕ"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Globсlis hangerѕbeсllэtсsok felќlbэrсlсsa"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Globсlis MIDI beсllэtсsok felќlbэrсlсsa"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Globсlis MT-32 beсllэtсsok felќlbэrсlсsa"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Mappсk"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Mappсk"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Jсtщk Mappa:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Extra Mappa:"
@@ -276,30 +276,30 @@ msgstr "Extra Mappa:"
msgid "Specifies path to additional data used the game"
msgstr "Mappa kivсlasztсs a jсtщkok kiegщszэtѕ fсjljaihoz"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Extra Mappa:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Mentщs Mappa:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Jсtщkmentщsek helyщnek meghatсrozсsa"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Mentщs Mappa:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Nincs"
@@ -309,7 +309,7 @@ msgstr "Nincs"
msgid "Default"
msgstr "Alapщrtelmezett"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "SoundFont kivсlasztсs"
@@ -416,17 +416,17 @@ msgstr "Keresщs a jсtщklistсban"
msgid "Search:"
msgstr "Keresщs:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Щrtщk tіrlщse"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Jсtщk betіltщse:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -562,144 +562,144 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Nincs"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafikus mѓd:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Kirajzolсs mѓd:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Nщhсny jсtщk tсmogatja a speciсlis сrnyalсsi mѓdokat"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Teljeskщpernyѕs mѓd:"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Kщpmщretarсny korrekciѓ"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Helyes oldalarсny a 320x200 jсtщkokhoz"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA szinjavэtсs"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "EGA szэnjavэtсs tсmogatott EGA jсtщkokban"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Elsѕdleges eszkіz:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Zene eszkіz:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Elsѕdleges hangeszkіz vagy hang emulсtor beсllэtсsok"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Hangeszkіz vagy hangkсrtya emulсtor beсllэtсsok"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Elsѕdleges eszk.:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Zene eszkіz:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib emulсtor:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib meghajtѓt sok jсtщk hasznсlja zenщhez"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Kimeneti rсta:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
msgstr ""
"Nagyobb щrtщkek jobb hangminѕsщget adnak, de nem minden hangkсrtya tсmogatja"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM Eszkіz:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Alapщrtelmezett hangeszkіz General MIDI kimenethez"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Ne hasznсlj General MIDI zenщt"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Elsѕ elщrhetѕ eszkіz hasznсlata"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"Nщhсny hangkсrya, Fluidsynth щs Timidyti tсmogatja a SoundFont betіltщsщt"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Vegyes AdLib/MIDI mѓd"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "MIDI щs AdLib hanggenerсtorok hasznсlata"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI erѕsэtщs:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "MT-32 Eszkіz:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr "Roland MT-32/LAPC1/CM32l/CM64 alapщrtelmezett hangeszkіzіk beсllэtсsa"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 Hardver (GM emulсciѓ tiltva)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -707,190 +707,190 @@ msgstr ""
"Jelіld be, ha hardveres Roland-Kompatibilis hangeszkіz van csatlakoztatva a "
"gщpedhez щs hasznсlni akarod"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 Hardver (GM emulсciѓ nincs)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Roland GS Mѓd engedщlyezve"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "General MIDI lekщpezщs Roland MT-32 zenщs jсtщkokhoz kikapcsolva"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Ne hasznсlj Roland MT-32 zenщt"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Szіveg щs beszщd:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Csak beszщd"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Csak felirat"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Mind"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Felirat sebessщg:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Felirat щs beszщd:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Besz"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Text"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Mind"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Hang щs feliratok megjelenэtщse"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Felirat sebessщg:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Zene hangerѕ:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Zene hangerѕ:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "жsszes nщmэtсsa"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "SFX hangerѕ:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Speciсlis hangeffektusok hangereje"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "SFX hangerѕ:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Beszщd hangerѕ:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Beszщd hangerѕ:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Tщma Mappa:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Tщma Mappa:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Minden jщtщk щs ScummVM kiegщszэtѕ fсjljainak mappсja:"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Plugin Mappa:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Plugin Mappa:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Vegyes"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Vegyes"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tщma:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI Renderelѕ:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Automentщs:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Automentщs:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Billentyћk"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "GUI nyelve:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "A ScummVM GUI nyelve"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Indэtsd њjra a ScummVM-et a vсltozсsok щrvщnyesэtщsщhez."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Vсlassz jсtщkmentщs mappсt"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "A kivсlasztott mappсba nem lehet эrni, vсlassz egy mсsikat"
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "GUI tщma mappa kivсlasztсsa"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Mappa vсlasztсs az extra fсjloknak"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Plugin mappa kivсlasztсsa"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -963,88 +963,100 @@ msgstr "Щlsimэtсsos lekщpezѕ (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Щlsimэtott (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "A motor nem tсmogatja a '%s' debug szintet"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menќ"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Tovсbb"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Szќnet"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Sor сtlщpщse"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Hiba a jсtщk futtatсsakor:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Nem talсlhatѓ olyan jсtщkmotor ami a vсlasztott jсtщkot tсmogatja"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Щrvщnytelen mappa"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Nincs hiba"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Jсtщk adat nem talсlhatѓ"
-#: common/error.cpp:45
-msgid "Game Id not supported"
-msgstr "Jсtщk Id nem tсmogatott"
-
#: common/error.cpp:46
-msgid "Unsupported Color Mode"
-msgstr "Nem tсmogatott szэnmѓd"
+msgid "Game id not supported"
+msgstr "Jсtщk id nem tсmogatott"
#: common/error.cpp:48
+msgid "Unsupported color mode"
+msgstr "Nem tсmogatott szэnmѓd"
+
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Olvasсs hozzсfсrщs megtagadva"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Эrсs hozzсfщrщs megtagadva"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Mappa nem lщtezik"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Mappa nem egy kіnyvtсr"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Mappa nem egy fсjl"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Fсjl nem hozhatѓ lщtre"
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Olvasсsi hiba"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "A Beolvasott adat hibсs"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Kiэrt adat hibсs"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Nem talсlhatѓ alkalmas motor plugin"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "A motor nem tсmogatja a jсtщkсllсs mentщsщt"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Parancssori paramщter nem mћkіdik"
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Ismeretlen hiba"
#: common/util.cpp:276
@@ -1113,13 +1125,13 @@ msgstr "Jсtщk mentщse:"
msgid "Save"
msgstr "Mentщs"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "Mщgse"
@@ -1658,7 +1670,7 @@ msgstr "Jobbra repќlщs"
msgid "Fly to lower right"
msgstr "Jobbra le repќlщs"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1669,7 +1681,7 @@ msgstr ""
"\n"
"%s fсjlba nem sikerќlt"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1680,7 +1692,7 @@ msgstr ""
"\n"
"%s fсjlbѓl nem sikerќlt"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1691,15 +1703,25 @@ msgstr ""
"\n"
"%s fсjlba elkщszќlt"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Сltalсban a Maniac Mansion indulna itt. De a ScummVM most nem indэtja el. Ha "
+"jсtszani akarsz vele menj a ScummVM fѕmenќben a 'Jсtщk hozzсadсs' ra щs "
+"vсlaszd a 'Maniac' mappсt a 'Tentacle' kіnyvtсrсban."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~ip Mѓd aktivсlva"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "Сtmenetek engedщlyezve"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "Vэzeffektus engedщlyezve"
@@ -1719,7 +1741,7 @@ msgstr "MAME OPL emulсtor"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL emulсtor"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Nincs zene"
@@ -1739,11 +1761,11 @@ msgstr "Apple II GS Emulсtor (NEM TСMOGATOTT)"
msgid "C64 Audio Emulator"
msgstr "C64 Audio Emulсtor"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "MT-32 Emulсtor inicializсlсs"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 Emulсtor"
@@ -1775,7 +1797,7 @@ msgstr " (Globсlis)"
msgid " (Game)"
msgstr " (Jсtщk)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2197,3 +2219,5 @@ msgstr ""
"Ne felejts billentyћt tсrsэtani az 'Eszkіztсr rejtщs' mћvelethez, hogy lсsd "
"a teljes listсt"
+#~ msgid "Invalid Path"
+#~ msgstr "Щrvщnytelen mappa"
diff --git a/po/it_IT.po b/po/it_IT.po
index c9e1f89901..c8e9b8dc55 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-09-21 19:33+0100\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-24 14:46+0100\n"
"Last-Translator: Matteo 'Maff' Angelino <matteo.maff at gmail dot com>\n"
"Language-Team: Italian\n"
"MIME-Version: 1.0\n"
@@ -43,7 +43,7 @@ msgid "Go up"
msgstr "Su"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -64,11 +64,11 @@ msgstr "Chiudi"
msgid "Mouse click"
msgstr "Clic del mouse"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Mostra tastiera"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Riprogramma tasti"
@@ -81,7 +81,7 @@ msgid "Map"
msgstr "Mappa"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -155,7 +155,7 @@ msgstr ""
"Lingua del gioco. Un gioco inglese non potrр risultare tradotto in italiano"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<predefinito>"
@@ -173,11 +173,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Piattaf.:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafica"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "Grafica"
@@ -190,7 +190,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Ignora le impostazioni grafiche globali"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Audio"
@@ -203,11 +203,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Ignora le impostazioni audio globali"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volume"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volume"
@@ -221,7 +221,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Ignora le impostazioni globali di volume"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -234,7 +234,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Ignora le impostazioni MIDI globali"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -247,11 +247,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Ignora le impostazioni MT-32 globali"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Percorsi"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Perc."
@@ -265,7 +265,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Perc. gioco:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Percorso extra:"
@@ -273,30 +273,30 @@ msgstr "Percorso extra:"
msgid "Specifies path to additional data used the game"
msgstr "Specifica il percorso di ulteriori dati usati dal gioco"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Perc. extra:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Salvataggi:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Specifica dove archiviare i salvataggi"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Salvataggi:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Nessuno"
@@ -306,7 +306,7 @@ msgstr "Nessuno"
msgid "Default"
msgstr "Predefinito"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Seleziona SoundFont"
@@ -413,17 +413,17 @@ msgstr "Cerca nella lista dei giochi"
msgid "Search:"
msgstr "Cerca:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Cancella"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Carica gioco:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -562,85 +562,85 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Nessuno"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Modalitр:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Resa grafica:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Modalitр di resa grafica speciali supportate da alcuni giochi"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Modalitр a schermo intero"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Correzione proporzioni"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Corregge le proporzioni dei giochi 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
-msgstr ""
+msgstr "Undithering EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
-msgstr ""
+msgstr "Attiva undithering nei giochi EGA che lo supportano"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Disp. preferito:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Dispositivo audio:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
"Specifica il dispositivo audio o l'emulatore della scheda audio preferiti"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr ""
"Specifica il dispositivo di output audio o l'emulatore della scheda audio"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Disp. preferito:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Disposit. audio:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Emulatore AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib ш utilizzato per la musica in molti giochi"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Frequenza:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -648,62 +648,62 @@ msgstr ""
"Valori piљ alti restituiscono un suono di maggior qualitр, ma potrebbero non "
"essere supportati dalla tua scheda audio"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Dispositivo GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Specifica il dispositivo audio predefinito per l'output General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
-msgstr ""
+msgstr "Non utilizzare la musica General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
-msgstr ""
+msgstr "Utilizza il primo dispositivo disponibile"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont ш supportato da alcune schede audio, Fluidsynth e Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Modalitр mista AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Utilizza generazione di suono sia MIDI che AdLib"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Guadagno MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Disposit. MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Specifica il dispositivo audio predefinito per l'output Roland MT-32/LAPC1/"
"CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 effettivo (disattiva emulazione GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -711,197 +711,198 @@ msgstr ""
"Seleziona se vuoi usare il dispositivo hardware audio compatibile con Roland "
"che ш connesso al tuo computer"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 effettivo (disat.emul.GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Attiva la modalitр Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Disattiva la mappatura General MIDI per i giochi con colonna sonora Roland "
"MT-32"
-#: gui/options.cpp:799
-#, fuzzy
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
-msgstr "Roland MT-32 effettivo (disat.emul.GM)"
+msgstr "Non utilizzare la musica Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Testo e voci:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Voci"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Sottotitoli"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Entrambi"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Velocitр testo:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Testo e voci:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Voci"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Sub"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Entr."
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Mostra i sottotitoli e attiva le voci"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Velocitр testo:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Volume musica:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Volume musica:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Disattiva audio"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Volume effetti:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volume degli effetti sonori"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Volume effetti:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Volume voci:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Volume voci:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Percorso tema:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Perc. tema:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Specifica il percorso di ulteriori dati usati dai giochi o da ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Percorso plugin:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Perc. plugin:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Varie"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Varie"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Renderer GUI:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autosalva:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autosalva:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Tasti"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Lingua GUI:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Lingua dell'interfaccia grafica di ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Devi riavviare ScummVM affinchщ le modifiche abbiano effetto."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Seleziona la cartella per i salvataggi"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "La cartella scelta ш in sola lettura. Si prega di sceglierne un'altra."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Seleziona la cartella dei temi dell'interfaccia"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Seleziona la cartella dei file aggiuntivi"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Seleziona la cartella dei plugin"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
msgstr ""
+"Il tema che hai selezionato non supporta la lingua attuale. Se vuoi "
+"utilizzare questo tema devi prima cambiare la lingua."
#: gui/saveload.cpp:61 gui/saveload.cpp:242
msgid "No date saved"
@@ -968,89 +969,101 @@ msgstr "Renderer con antialiasing (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Con antialiasing (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Il motore non supporta il livello di debug '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Salta"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pausa"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Salta battuta"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Errore nell'esecuzione del gioco:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr ""
"Impossibile trovare un motore in grado di eseguire il gioco selezionato"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Percorso non valido"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Nessun errore"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Dati di gioco non trovati"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "ID di gioco non supportato"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Modalitр colore non supportata"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Autorizzazione di lettura negata"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Autorizzazione di scrittura negata"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Il percorso non esiste"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Il percorso non ш una cartella"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Il percorso non ш un file"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Impossibile creare il file"
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Lettura fallita"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "Lettura dei dati fallita"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Scrittura dati fallita"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Impossibile trovare un plugin idoneo"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "Il plugin del motore non supporta i salvataggi"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Argomento della linea di comando non eseguito"
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Errore sconosciuto"
#: common/util.cpp:276
@@ -1119,13 +1132,13 @@ msgstr "Salva gioco:"
msgid "Save"
msgstr "Salva"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~nnulla"
@@ -1148,35 +1161,31 @@ msgstr "~C~hiudi"
#: engines/scumm/help.cpp:76
msgid "Common keyboard commands:"
-msgstr ""
+msgstr "Comandi da tastiera comuni:"
#: engines/scumm/help.cpp:77
msgid "Save / Load dialog"
-msgstr ""
+msgstr "Finestra di salvataggio / caricamento"
#: engines/scumm/help.cpp:79
-#, fuzzy
msgid "Skip line of text"
msgstr "Salta battuta"
#: engines/scumm/help.cpp:80
msgid "Esc"
-msgstr ""
+msgstr "Esc"
#: engines/scumm/help.cpp:80
-#, fuzzy
msgid "Skip cutscene"
-msgstr "Salta battuta"
+msgstr "Salta scena di intermezzo"
#: engines/scumm/help.cpp:81
-#, fuzzy
msgid "Space"
-msgstr "Voci"
+msgstr "Spazio"
#: engines/scumm/help.cpp:81
-#, fuzzy
msgid "Pause game"
-msgstr "Salva gioco:"
+msgstr "Metti in pausa"
#: engines/scumm/help.cpp:82 engines/scumm/help.cpp:87
#: engines/scumm/help.cpp:98 engines/scumm/help.cpp:99
@@ -1184,23 +1193,21 @@ msgstr "Salva gioco:"
#: engines/scumm/help.cpp:102 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Ctrl"
-msgstr ""
+msgstr "Ctrl"
#: engines/scumm/help.cpp:82
-#, fuzzy
msgid "Load game state 1-10"
-msgstr "Carica gioco:"
+msgstr "Carica salvataggio 1-10"
#: engines/scumm/help.cpp:83 engines/scumm/help.cpp:87
#: engines/scumm/help.cpp:89 engines/scumm/help.cpp:103
#: engines/scumm/help.cpp:104 engines/scumm/help.cpp:105
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: engines/scumm/help.cpp:83
-#, fuzzy
msgid "Save game state 1-10"
-msgstr "Salva gioco:"
+msgstr "Salva nella posizione 1-10"
#: engines/scumm/help.cpp:85 engines/scumm/help.cpp:87
#: backends/platform/symbian/src/SymbianActions.cpp:55
@@ -1211,480 +1218,466 @@ msgstr "Esci"
#: engines/scumm/help.cpp:89 engines/scumm/help.cpp:92
msgid "Enter"
-msgstr ""
+msgstr "Invio"
#: engines/scumm/help.cpp:89
msgid "Toggle fullscreen"
-msgstr ""
+msgstr "Attiva / disattiva schermo intero"
#: engines/scumm/help.cpp:90
-#, fuzzy
msgid "Music volume up / down"
-msgstr "Volume musica:"
+msgstr "Volume musica su / giљ"
#: engines/scumm/help.cpp:91
msgid "Text speed slower / faster"
-msgstr ""
+msgstr "Testo piљ veloce / meno veloce"
#: engines/scumm/help.cpp:92
msgid "Simulate left mouse button"
-msgstr ""
+msgstr "Simula clic sinistro del mouse"
#: engines/scumm/help.cpp:93
msgid "Tab"
-msgstr ""
+msgstr "Tab"
#: engines/scumm/help.cpp:93
msgid "Simulate right mouse button"
-msgstr ""
+msgstr "Simula clic destro del mouse"
#: engines/scumm/help.cpp:96
msgid "Special keyboard commands:"
-msgstr ""
+msgstr "Comandi da tastiera speciali:"
#: engines/scumm/help.cpp:97
-#, fuzzy
msgid "Show / Hide console"
-msgstr "Mostra/nascondi cursore"
+msgstr "Mostra/nascondi console"
#: engines/scumm/help.cpp:98
msgid "Start the debugger"
-msgstr ""
+msgstr "Avvia il debugger"
#: engines/scumm/help.cpp:99
msgid "Show memory consumption"
-msgstr ""
+msgstr "Mostra consumo memoria"
#: engines/scumm/help.cpp:100
msgid "Run in fast mode (*)"
-msgstr ""
+msgstr "Esegui in modalitр veloce (*)"
#: engines/scumm/help.cpp:101
msgid "Run in really fast mode (*)"
-msgstr ""
+msgstr "Esegui in modalitр molto veloce (*)"
#: engines/scumm/help.cpp:102
msgid "Toggle mouse capture"
-msgstr ""
+msgstr "Attiva / disattiva ancoraggio del mouse"
#: engines/scumm/help.cpp:103
msgid "Switch between graphics filters"
-msgstr ""
+msgstr "Cambia filtro grafico"
#: engines/scumm/help.cpp:104
msgid "Increase / Decrease scale factor"
-msgstr ""
+msgstr "Aumenta / diminuisci dimensioni"
#: engines/scumm/help.cpp:105
-#, fuzzy
msgid "Toggle aspect-ratio correction"
-msgstr "Correzione proporzioni"
+msgstr "Cambia correzione proporzioni"
#: engines/scumm/help.cpp:110
msgid "* Note that using ctrl-f and"
-msgstr ""
+msgstr "* Nota che l'utilizzo di ctrl-f e"
#: engines/scumm/help.cpp:111
msgid " ctrl-g are not recommended"
-msgstr ""
+msgstr " ctrl-g non ш consigliato perchщ"
#: engines/scumm/help.cpp:112
msgid " since they may cause crashes"
-msgstr ""
+msgstr " potrebbe causare blocchi o un"
#: engines/scumm/help.cpp:113
msgid " or incorrect game behaviour."
-msgstr ""
+msgstr " comportamento errato del gioco."
#: engines/scumm/help.cpp:117
msgid "Spinning drafts on the keyboard:"
-msgstr ""
+msgstr "Tessere melodie da tastiera:"
#: engines/scumm/help.cpp:119
-#, fuzzy
msgid "Main game controls:"
-msgstr "Modifica le opzioni di gioco"
+msgstr "Controlli principali di gioco:"
#: engines/scumm/help.cpp:124 engines/scumm/help.cpp:139
#: engines/scumm/help.cpp:164
-#, fuzzy
msgid "Push"
-msgstr "Pausa"
+msgstr "Premi"
#: engines/scumm/help.cpp:125 engines/scumm/help.cpp:140
#: engines/scumm/help.cpp:165
msgid "Pull"
-msgstr ""
+msgstr "Tira"
#: engines/scumm/help.cpp:126 engines/scumm/help.cpp:141
#: engines/scumm/help.cpp:166 engines/scumm/help.cpp:199
#: engines/scumm/help.cpp:209
msgid "Give"
-msgstr ""
+msgstr "Dai"
#: engines/scumm/help.cpp:127 engines/scumm/help.cpp:142
#: engines/scumm/help.cpp:167 engines/scumm/help.cpp:192
#: engines/scumm/help.cpp:210
msgid "Open"
-msgstr ""
+msgstr "Apri"
#: engines/scumm/help.cpp:129
-#, fuzzy
msgid "Go to"
-msgstr "Cartella superiore"
+msgstr "Vai verso"
#: engines/scumm/help.cpp:130
msgid "Get"
-msgstr ""
+msgstr "Prendi"
#: engines/scumm/help.cpp:131 engines/scumm/help.cpp:155
#: engines/scumm/help.cpp:173 engines/scumm/help.cpp:200
#: engines/scumm/help.cpp:215 engines/scumm/help.cpp:226
#: engines/scumm/help.cpp:251
msgid "Use"
-msgstr ""
+msgstr "Usa"
#: engines/scumm/help.cpp:132 engines/scumm/help.cpp:144
msgid "Read"
-msgstr ""
+msgstr "Leggi"
#: engines/scumm/help.cpp:133 engines/scumm/help.cpp:150
msgid "New kid"
-msgstr ""
+msgstr "Cambia personaggio"
#: engines/scumm/help.cpp:134 engines/scumm/help.cpp:156
#: engines/scumm/help.cpp:174
msgid "Turn on"
-msgstr ""
+msgstr "Accendi"
#: engines/scumm/help.cpp:135 engines/scumm/help.cpp:157
#: engines/scumm/help.cpp:175
-#, fuzzy
msgid "Turn off"
-msgstr "Suono on/off"
+msgstr "Spegni"
#: engines/scumm/help.cpp:145 engines/scumm/help.cpp:170
#: engines/scumm/help.cpp:196
msgid "Walk to"
-msgstr ""
+msgstr "Cammina verso"
#: engines/scumm/help.cpp:146 engines/scumm/help.cpp:171
#: engines/scumm/help.cpp:197 engines/scumm/help.cpp:212
#: engines/scumm/help.cpp:229
msgid "Pick up"
-msgstr ""
+msgstr "Raccogli"
#: engines/scumm/help.cpp:147 engines/scumm/help.cpp:172
msgid "What is"
-msgstr ""
+msgstr "Che cos'ш"
#: engines/scumm/help.cpp:149
msgid "Unlock"
-msgstr ""
+msgstr "Apri"
#: engines/scumm/help.cpp:152
msgid "Put on"
-msgstr ""
+msgstr "Indossa"
#: engines/scumm/help.cpp:153
msgid "Take off"
-msgstr ""
+msgstr "Togli"
#: engines/scumm/help.cpp:159
msgid "Fix"
-msgstr ""
+msgstr "Ripara"
#: engines/scumm/help.cpp:161
-#, fuzzy
msgid "Switch"
-msgstr "Voci"
+msgstr "Sposta"
#: engines/scumm/help.cpp:169 engines/scumm/help.cpp:230
msgid "Look"
-msgstr ""
+msgstr "Guarda"
#: engines/scumm/help.cpp:176 engines/scumm/help.cpp:225
msgid "Talk"
-msgstr ""
+msgstr "Parla"
#: engines/scumm/help.cpp:177
-#, fuzzy
msgid "Travel"
-msgstr "Salva"
+msgstr "Viaggio"
#: engines/scumm/help.cpp:178
msgid "To Henry / To Indy"
-msgstr ""
+msgstr "A Henry / a Indy"
#: engines/scumm/help.cpp:181
msgid "play C minor on distaff"
-msgstr ""
+msgstr "suona Do (C) minore sul bastone"
#: engines/scumm/help.cpp:182
msgid "play D on distaff"
-msgstr ""
+msgstr "suona Re (D) sul bastone"
#: engines/scumm/help.cpp:183
msgid "play E on distaff"
-msgstr ""
+msgstr "suona Mi (E) sul bastone"
#: engines/scumm/help.cpp:184
msgid "play F on distaff"
-msgstr ""
+msgstr "suona Fa (F) sul bastone"
#: engines/scumm/help.cpp:185
msgid "play G on distaff"
-msgstr ""
+msgstr "suona Sol (G) sul bastone"
#: engines/scumm/help.cpp:186
msgid "play A on distaff"
-msgstr ""
+msgstr "suona La (A) sul bastone"
#: engines/scumm/help.cpp:187
msgid "play B on distaff"
-msgstr ""
+msgstr "suona Si (B) sul bastone"
#: engines/scumm/help.cpp:188
msgid "play C major on distaff"
-msgstr ""
+msgstr "suona Do (C) maggiore sul bastone"
#: engines/scumm/help.cpp:194 engines/scumm/help.cpp:216
msgid "puSh"
-msgstr ""
+msgstr "Premi"
#: engines/scumm/help.cpp:195 engines/scumm/help.cpp:217
msgid "pull (Yank)"
-msgstr ""
+msgstr "Tira"
#: engines/scumm/help.cpp:198 engines/scumm/help.cpp:214
#: engines/scumm/help.cpp:249
msgid "Talk to"
-msgstr ""
+msgstr "Parla con"
#: engines/scumm/help.cpp:201 engines/scumm/help.cpp:213
msgid "Look at"
-msgstr ""
+msgstr "Esamina"
#: engines/scumm/help.cpp:202
msgid "turn oN"
-msgstr ""
+msgstr "Accendi"
#: engines/scumm/help.cpp:203
msgid "turn oFf"
-msgstr ""
+msgstr "Spegni"
#: engines/scumm/help.cpp:219
-#, fuzzy
msgid "KeyUp"
-msgstr "Tasti"
+msgstr "Tasto su"
#: engines/scumm/help.cpp:219
msgid "Highlight prev dialogue"
-msgstr ""
+msgstr "Evidenzia dialogo precedente"
#: engines/scumm/help.cpp:220
-#, fuzzy
msgid "KeyDown"
-msgstr "Giљ"
+msgstr "Tasto giљ"
#: engines/scumm/help.cpp:220
msgid "Highlight next dialogue"
-msgstr ""
+msgstr "Evidenzia dialogo successivo"
#: engines/scumm/help.cpp:224
msgid "Walk"
-msgstr ""
+msgstr "Cammina"
#: engines/scumm/help.cpp:227 engines/scumm/help.cpp:236
#: engines/scumm/help.cpp:243 engines/scumm/help.cpp:250
msgid "Inventory"
-msgstr ""
+msgstr "Inventario"
#: engines/scumm/help.cpp:228
msgid "Object"
-msgstr ""
+msgstr "Oggetto"
#: engines/scumm/help.cpp:231
msgid "Black and White / Color"
-msgstr ""
+msgstr "Bianco e nero / colori"
#: engines/scumm/help.cpp:234
msgid "Eyes"
-msgstr ""
+msgstr "Occhi"
#: engines/scumm/help.cpp:235
-#, fuzzy
msgid "Tongue"
-msgstr "Zona"
+msgstr "Lingua"
#: engines/scumm/help.cpp:237
msgid "Punch"
-msgstr ""
+msgstr "Pugno"
#: engines/scumm/help.cpp:238
msgid "Kick"
-msgstr ""
+msgstr "Calcio"
#: engines/scumm/help.cpp:241 engines/scumm/help.cpp:248
msgid "Examine"
-msgstr ""
+msgstr "Esamina"
#: engines/scumm/help.cpp:242
msgid "Regular cursor"
-msgstr ""
+msgstr "Cursore normale"
#: engines/scumm/help.cpp:244
msgid "Comm"
-msgstr ""
+msgstr "Comm"
#: engines/scumm/help.cpp:247
msgid "Save / Load / Options"
-msgstr ""
+msgstr "Salva / Carica / Opzioni"
#: engines/scumm/help.cpp:256
-#, fuzzy
msgid "Other game controls:"
-msgstr "Modifica le opzioni di gioco"
+msgstr "Altre opzioni di gioco:"
#: engines/scumm/help.cpp:258 engines/scumm/help.cpp:268
msgid "Inventory:"
-msgstr ""
+msgstr "Inventario:"
#: engines/scumm/help.cpp:259 engines/scumm/help.cpp:275
msgid "Scroll list up"
-msgstr ""
+msgstr "Scorri lista verso l'alto"
#: engines/scumm/help.cpp:260 engines/scumm/help.cpp:276
msgid "Scroll list down"
-msgstr ""
+msgstr "Scorri lista verso il basso"
#: engines/scumm/help.cpp:261 engines/scumm/help.cpp:269
msgid "Upper left item"
-msgstr ""
+msgstr "Oggetto in alto a sinistra"
#: engines/scumm/help.cpp:262 engines/scumm/help.cpp:271
msgid "Lower left item"
-msgstr ""
+msgstr "Oggetto in basso a sinistra"
#: engines/scumm/help.cpp:263 engines/scumm/help.cpp:272
msgid "Upper right item"
-msgstr ""
+msgstr "Oggetto in alto a destra"
#: engines/scumm/help.cpp:264 engines/scumm/help.cpp:274
msgid "Lower right item"
-msgstr ""
+msgstr "Oggetto in basso a destra"
#: engines/scumm/help.cpp:270
msgid "Middle left item"
-msgstr ""
+msgstr "Oggetto al centro a sinistra"
#: engines/scumm/help.cpp:273
msgid "Middle right item"
-msgstr ""
+msgstr "Oggetto al centro a destra"
#: engines/scumm/help.cpp:280 engines/scumm/help.cpp:285
-#, fuzzy
msgid "Switching characters:"
-msgstr "Cambia personaggio"
+msgstr "Cambio personaggio:"
#: engines/scumm/help.cpp:282
msgid "Second kid"
-msgstr ""
+msgstr "Secondo ragazzo"
#: engines/scumm/help.cpp:283
msgid "Third kid"
-msgstr ""
+msgstr "Terzo ragazzo"
#: engines/scumm/help.cpp:295
msgid "Fighting controls (numpad):"
-msgstr ""
+msgstr "Controlli di combattimento (tastierino numerico):"
#: engines/scumm/help.cpp:296 engines/scumm/help.cpp:297
#: engines/scumm/help.cpp:298
msgid "Step back"
-msgstr ""
+msgstr "Passo indietro"
#: engines/scumm/help.cpp:299
msgid "Block high"
-msgstr ""
+msgstr "Para in alto"
#: engines/scumm/help.cpp:300
msgid "Block middle"
-msgstr ""
+msgstr "Para al centro"
#: engines/scumm/help.cpp:301
msgid "Block low"
-msgstr ""
+msgstr "Para in basso"
#: engines/scumm/help.cpp:302
msgid "Punch high"
-msgstr ""
+msgstr "Colpisci in alto"
#: engines/scumm/help.cpp:303
msgid "Punch middle"
-msgstr ""
+msgstr "Colpisci al centro"
#: engines/scumm/help.cpp:304
msgid "Punch low"
-msgstr ""
+msgstr "Colpisci in basso"
#: engines/scumm/help.cpp:307
msgid "These are for Indy on left."
-msgstr ""
+msgstr "Questi sono i controlli quando"
#: engines/scumm/help.cpp:308
msgid "When Indy is on the right,"
-msgstr ""
+msgstr "Indy ш sulla sinistra. Quando ш"
#: engines/scumm/help.cpp:309
msgid "7, 4, and 1 are switched with"
-msgstr ""
+msgstr "sulla destra, 7, 4 e 1 sostituiscono"
#: engines/scumm/help.cpp:310
msgid "9, 6, and 3, respectively."
-msgstr ""
+msgstr "rispettivamente 9, 6 e 3."
#: engines/scumm/help.cpp:317
msgid "Biplane controls (numpad):"
-msgstr ""
+msgstr "Controlli biplano (tastierino numerico):"
#: engines/scumm/help.cpp:318
msgid "Fly to upper left"
-msgstr ""
+msgstr "Vola in alto a sinistra"
#: engines/scumm/help.cpp:319
msgid "Fly to left"
-msgstr ""
+msgstr "Vola a sinistra"
#: engines/scumm/help.cpp:320
msgid "Fly to lower left"
-msgstr ""
+msgstr "Vola in basso a sinistra"
#: engines/scumm/help.cpp:321
msgid "Fly upwards"
-msgstr ""
+msgstr "Vola in alto"
#: engines/scumm/help.cpp:322
msgid "Fly straight"
-msgstr ""
+msgstr "Vola diritto"
#: engines/scumm/help.cpp:323
msgid "Fly down"
-msgstr ""
+msgstr "Vola in basso"
#: engines/scumm/help.cpp:324
msgid "Fly to upper right"
-msgstr ""
+msgstr "Vola in alto a destra"
#: engines/scumm/help.cpp:325
msgid "Fly to right"
-msgstr ""
+msgstr "Vola a destra"
#: engines/scumm/help.cpp:326
msgid "Fly to lower right"
-msgstr ""
+msgstr "Vola in basso a destra"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1695,7 +1688,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1706,7 +1699,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1717,15 +1710,26 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Originariamente, a questo punto dovrebbe partire Maniac Mansion. Ma ScummVM "
+"non lo puђ ancora fare. Per giocarci, vai a \"Aggiungi gioco\" nel menu "
+"principale di ScummVM e seleziona la cartella \"Maniac\" all'interno della "
+"cartella di Day Of The Tentacle."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Modalitр ~Z~ip attivata"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~T~ransizioni attive"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~E~ffetto acqua attivo"
@@ -1745,7 +1749,7 @@ msgstr "Emulatore OPL MAME"
msgid "DOSBox OPL emulator"
msgstr "Emulatore OPL DOSBox"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Nessuna musica"
@@ -1765,11 +1769,11 @@ msgstr "Emulatore Apple II GS (NON IMPLEMENTATO)"
msgid "C64 Audio Emulator"
msgstr "Emulatore audio C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Avvio in corso dell'emulatore MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Emulatore MT-32"
@@ -1801,7 +1805,7 @@ msgstr " (Globale)"
msgid " (Game)"
msgstr " (Gioco)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "MIDI Windows"
@@ -1896,15 +1900,15 @@ msgstr "Normale (no ridim.)"
#: backends/graphics/opengl/opengl-graphics.cpp:133
msgid "OpenGL Normal"
-msgstr ""
+msgstr "OpenGL Normal"
#: backends/graphics/opengl/opengl-graphics.cpp:134
msgid "OpenGL Conserve"
-msgstr ""
+msgstr "OpenGL Conserve"
#: backends/graphics/opengl/opengl-graphics.cpp:135
msgid "OpenGL Original"
-msgstr ""
+msgstr "OpenGL Original"
#: backends/platform/symbian/src/SymbianActions.cpp:41
#: backends/platform/wince/CEActionsSmartphone.cpp:42
@@ -2193,32 +2197,37 @@ msgid "Do you want to perform an automatic scan ?"
msgstr "Vuoi eseguire una scansione automatica?"
#: backends/platform/wince/wince-sdl.cpp:486
-#, fuzzy
msgid "Map right click action"
-msgstr "Clic destro"
+msgstr "Mappa l'azione del tasto destro"
#: backends/platform/wince/wince-sdl.cpp:490
msgid "You must map a key to the 'Right Click' action to play this game"
-msgstr ""
+msgstr "Devi mappare un tasto per l'azione \"Tasto destro\" per giocare"
#: backends/platform/wince/wince-sdl.cpp:499
msgid "Map hide toolbar action"
-msgstr ""
+msgstr "Mappa l'azione nascondi barra degli strumenti"
#: backends/platform/wince/wince-sdl.cpp:503
msgid "You must map a key to the 'Hide toolbar' action to play this game"
msgstr ""
+"Devi mappare un tasto per l'azione \"Nascondi barra degli strumenti\" per "
+"giocare"
#: backends/platform/wince/wince-sdl.cpp:512
msgid "Map Zoom Up action (optional)"
-msgstr ""
+msgstr "Mappa l'azione Zoom Up (opzionale)"
#: backends/platform/wince/wince-sdl.cpp:515
msgid "Map Zoom Down action (optional)"
-msgstr ""
+msgstr "Mappa l'azione Zoom Down (opzionale)"
#: backends/platform/wince/wince-sdl.cpp:523
msgid ""
"Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"
msgstr ""
+"Non dimenticare di mappare un tasto per l'azione \"Nascondi barra degli "
+"strumenti\" per vedere l'intero inventario"
+#~ msgid "Invalid Path"
+#~ msgstr "Percorso non valido"
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 9fd6038483..a23f0a7d1b 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-12-22 22:32+0100\n"
-"Last-Translator: Einar Johan T. Sјmхen\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-25 22:56+0100\n"
+"Last-Translator: Einar Johan T. Sјmхen <einarjohants@gmail.com>\n"
"Language-Team: somaen <einarjohants@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Gх tilbake"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Lukk"
msgid "Mouse click"
msgstr "Musklikk"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Vis tastatur"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Omkoble taster"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Koble"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -160,7 +160,7 @@ msgstr ""
"versjon"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<standard>"
@@ -178,11 +178,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Plattform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafikk"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -195,7 +195,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Overstyr globale grafikkinstillinger"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Lyd"
@@ -208,11 +208,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Overstyr globale lydinstillinger"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volum"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volum"
@@ -226,7 +226,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Overstyr globale voluminstillinger"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -239,7 +239,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Overstyr globale MIDI-instillinger"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -252,11 +252,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Overstyr globale MT-32-instillinger"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Sti"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Sti"
@@ -270,7 +270,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Spillsti:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Ekstrasti:"
@@ -278,30 +278,30 @@ msgstr "Ekstrasti:"
msgid "Specifies path to additional data used the game"
msgstr "Bestemmer sti til ytterligere data brukt av spillet"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Ekstrasti:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Lagringssti:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Bestemmer sti til lagrede spill"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Lagringssti:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ingen"
@@ -311,7 +311,7 @@ msgstr "Ingen"
msgid "Default"
msgstr "Standard"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Velg SoundFont"
@@ -418,17 +418,17 @@ msgstr "Sјk i spilliste"
msgid "Search:"
msgstr "Sјk:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Tјm verdi"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Хpne spill:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -564,83 +564,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ingen"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafikkmodus:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Tegnemodus:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Spesiel dithering-modus stјttet av enkelte spill"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Fullskjermsmodus"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Aspekt-rate korrigering"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Korriger aspekt-rate for 320x200-spill"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA av-dithering"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Slхr av dithering i EGA-spill som stјtter det."
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Foretrukket enhet:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Musikkenhet:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Velger foretrukket lydenhet eller lydkort-emulator"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Velger ut-lydenhet eller lydkortemulator"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Foretrukket enh.:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Musikkenhet:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib-emulator:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib brukes til musikk i mange spill"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Utrate:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -648,60 +648,60 @@ msgstr ""
"Hјyere verdier gir bedre lydkvalitet, men stјttes kanskje ikke av ditt "
"lydkort "
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM-enhet:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Velger standard lydenhet for General MIDI-utdata"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Ikke bruk General MIDI-musikk"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Bruk fјrste tilgjengelige enhet"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont stјttes ikke av enkelte lydkort, FluidSynth og Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Mikset AdLib/MIDI-modus"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Bruk bхde MIDI- og AdLib- lydgenerering"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI gain:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "MT-32 Enhet:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr "Velger standard lydenhet for Roland MT-32/LAPC1/CM32I/CM64-avspilling"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -709,190 +709,190 @@ msgstr ""
"Velg hvis du har et ekte Roland-kompatible lydkort tilkoblet maskinen, og "
"vil bruke dette."
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Aktiver Roland GS-modus"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Slх av General MIDI-kobling for spill som har Roland MT-32-lydspor"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Ikke bruk Roland MT-32-musikk"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Tekst og Tale:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Tale"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Undertekster"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Begge"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Teksthastighet:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Tekst og Tale:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Tale"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Tekst"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Begge"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Vis undertekster, og spill av tale"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Underteksthastighet:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Musikkvolum:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musikkvolum:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Demp alle"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Lydeffektvolum:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volum for spesielle lydeffekter"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Lydeffektvolum:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Talevolum:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Talevolum:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Temasti:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Temasti:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "Velger sti for ytterligere data brukt av alle spill eller ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Pluginsti:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Pluginsti:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Div"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Div"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI-tegner:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autolagre:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autolagre:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Taster"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "GUI-sprхk:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Sprхk i ScummVM-GUIet"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Du mх omstarte ScummVM for at endringene skal skje. "
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Velg mappe for lagrede spill"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "Den valgte mappen kan ikke skrives til. Vennligst velg en annen."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Velg mappe for GUI-temaer"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Velg mappe for ytterligere filer"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Velg mappe for plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -965,88 +965,100 @@ msgstr "Antialiased Tegner (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Antialiased (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Motoren stјtter ikke debug-nivх '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Meny"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Hopp over"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pause"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Hopp over linje"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Problem ved kjјring av spill:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Kunne ikke finne noen motor som kunne kjјre det valgte spillet"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ugyldig sti"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Ingen feil"
#: common/error.cpp:44
-msgid "Game Data not found"
+msgid "Game data not found"
msgstr "Spilldata ikke funnet"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "Spill-ID ikke stјttet"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Ustјttet fargemodus"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Lesetilgang nektet"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Skrivetilgang nektet"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Stien eksisterer ikke"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Stien er ikke en mappe"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Stien er ikke en fil"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Kan ikke opprette fil"
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Lesing feilet"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "Lesing av data feilet"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Dataskriving feilet"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Kunne ikke finne en passende engine-plugin"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "Spillmotor-plugin stјtter ikke lagrede tilstander"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr "Kommandolinjeargument ikke behandlet"
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Ukjent feil"
#: common/util.cpp:276
@@ -1115,13 +1127,13 @@ msgstr "Lagret spill:"
msgid "Save"
msgstr "Lagre"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~vbryt"
@@ -1660,7 +1672,7 @@ msgstr "Fly til hјyre"
msgid "Fly to lower right"
msgstr "Fly til nedre hјyre"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1671,7 +1683,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1682,7 +1694,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1693,15 +1705,25 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Vanligvis, ville Maniac Mansion ha startet nх. Men ScummVM stјtter ikke det "
+"ennх. Sх, for х spille Maniac Mansion, gх til 'Legg til spill' i ScummVM-"
+"hovedmenyen og velg 'Maniac'-undermappa i Tentacle-mappa."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~ipmodus aktivert"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~O~verganger aktivert"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~V~anneffekt aktivert"
@@ -1721,7 +1743,7 @@ msgstr "MAME OPL emulator"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL emulator"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Ingen musikk"
@@ -1741,11 +1763,11 @@ msgstr "Apple II GS Emulator (IKKE IMPLEMENTERT)"
msgid "C64 Audio Emulator"
msgstr "C64 Lydemulator"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Initialiserer MT-32-Emulator"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 Emulator"
@@ -1777,7 +1799,7 @@ msgstr " (Global)"
msgid " (Game)"
msgstr " (Spill)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2203,3 +2225,5 @@ msgstr ""
"Ikke glem х koble en tast til handlingen 'Skjul verktјylinje' for х se hele "
"inventaret"
+#~ msgid "Invalid Path"
+#~ msgstr "Ugyldig sti"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 536daba496..777c6e0e68 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
-"PO-Revision-Date: 2010-12-23 00:42+0100\n"
-"Last-Translator: Einar Johan T. Sјmхen\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
+"PO-Revision-Date: 2011-04-25 23:07+0100\n"
+"Last-Translator: Einar Johan T. Sјmхen <einarjohants@gmail.com>\n"
"Language-Team: somaen <einarjohants@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Gх tilbake"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Steng"
msgid "Mouse click"
msgstr "Musklikk"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Syn Tastatur"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Omkople tastar"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Kople"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -160,7 +160,7 @@ msgstr ""
"engelsk versjon"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<standard>"
@@ -178,11 +178,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Plattform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafikk"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -195,7 +195,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Overstyr globale grafikkinstillingar"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Lyd"
@@ -208,11 +208,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Overstyr globale lydinstillingar"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volum"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volum"
@@ -226,7 +226,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Overstyr globale voluminstillingar"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -239,7 +239,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Overstyr globale MIDI-instillingar"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -252,11 +252,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Overstyr globale MT-32-instillingar"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Stiar"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Stiar"
@@ -270,7 +270,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Spelsti:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Ekstrasti:"
@@ -278,30 +278,30 @@ msgstr "Ekstrasti:"
msgid "Specifies path to additional data used the game"
msgstr ""
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Ekstrasti:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Lagringssti:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr ""
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Lagringssti:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ingen"
@@ -311,7 +311,7 @@ msgstr "Ingen"
msgid "Default"
msgstr "Standard"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Vel SoundFont"
@@ -361,7 +361,7 @@ msgstr "~S~tart"
#: gui/launcher.cpp:566
msgid "Start selected game"
-msgstr ""
+msgstr "Start det velde spelet"
#: gui/launcher.cpp:569
msgid "~L~oad..."
@@ -369,7 +369,7 @@ msgstr "~Х~pne..."
#: gui/launcher.cpp:569
msgid "Load savegame for selected game"
-msgstr ""
+msgstr "Хpne eit lagra spel for the velde spelet"
#: gui/launcher.cpp:574
msgid "~A~dd Game..."
@@ -377,7 +377,7 @@ msgstr "~L~egg til spel..."
#: gui/launcher.cpp:574 gui/launcher.cpp:581
msgid "Hold Shift for Mass Add"
-msgstr ""
+msgstr "Hold Shift nede for х legge til fleire"
#: gui/launcher.cpp:576
msgid "~E~dit Game..."
@@ -418,17 +418,17 @@ msgstr "Sјk i spelliste"
msgid "Search:"
msgstr "Sјk:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Tјm verdi"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Хpne spel:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -457,12 +457,10 @@ msgid "No"
msgstr "Nei"
#: gui/launcher.cpp:779
-#, fuzzy
msgid "ScummVM couldn't open the specified directory!"
msgstr "ScummVM kunne ikkje хpne den velde mappa!"
#: gui/launcher.cpp:791
-#, fuzzy
msgid "ScummVM could not find any game in the specified directory!"
msgstr "ScummVM kunne ikkje finne noko spel i den velde mappa!"
@@ -565,83 +563,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ingen"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafikkmodus:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Teiknemodus:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Spesielle dithering-modus som stјttast av nokre spel"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Fullskjermsmodus"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Aspekt-korrigering"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Rett opp aspekt for 320x200 spel"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr ""
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr ""
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
-msgstr ""
+msgstr "Fјretrukken eining:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr ""
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr ""
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr ""
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr ""
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib emulator:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
-msgstr ""
+msgstr "AdLib nyttast til musikk i mange spel"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr ""
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -649,249 +647,249 @@ msgstr ""
"Hјgare verdier gir betre lydkvalitet, men stјttast kanskje ikkje av "
"lydkortet ditt"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr ""
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr ""
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Ikkje nytt General MIDI musikk"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr ""
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont stјttast av enkelte lydkort, Fluidsynth og Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Blanda AdLib/MIDI-modus"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Nytt bхe MIDI og AdLib lydskaping"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI gain:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr ""
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
msgstr ""
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Ekte Roland MT-32 (ingen GS-emulering)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Aktiver Roland GS-modus"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr "Slхr av General MIDI-kopling for spel med Roland MT-32 lydspor"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Ikkje nytt Roland MT-32 musikk"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Tekst og Tale:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Tale"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Teksting"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Begge"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Undertekstfart:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Tekst og Tale:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Tale"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Tekst"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Bхe"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Vis teksting og spel av tale"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Undertekstfart:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Musikkvolum:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musikkvolum:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Demp alle"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Lydeffektvolum:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr ""
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Lydeffektvolum:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Talevolum:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Talevolum:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Temasti:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Temasti:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Pluginsti:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Pluginsti:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Div"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Div"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI-teiknar:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autolagre:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autolagre:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Tastar"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "GUI-sprхk:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Sprхk i ScummVM-GUIet"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Du mх omstarte ScummVM for at endringane skal skje."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Vel mappe for lagra spel"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
-msgstr ""
+msgstr "Den velde mappa kan ikkje skrivast til. Vennlegst vel ein annan."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Vel ei mappe for GUI-tema:"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Vel ei mappe for ekstra filer"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Vel ei mappe for plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -964,89 +962,101 @@ msgstr "Antialiased Teiknar (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Antialiased (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Motoren stјttar ikkje debug-nivх '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Meny"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Hopp over"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pause"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Hopp over linje"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Feil under kјyring av spel:"
-#: base/main.cpp:459
-#, fuzzy
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Kunne ikkje finne nokon motor som kunne kјyre det velde spelet."
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ugyldig sti"
+#: common/error.cpp:42
+msgid "No error"
+msgstr "Ingen feil"
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Speldata ikkje funne"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+msgid "Game id not supported"
msgstr "Spel ID ikkje stјtta"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+msgid "Unsupported color mode"
msgstr "Ustјtta fargemodus"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Lesetilgang nekta"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Skrivetilgang nekta"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr "Stien eksisterar ikkje"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Stien er ikkje ei mappe"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Stien er ikkje ei fil"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Kan ikkje lage fil"
-#: common/error.cpp:57
-msgid "Reading failed"
-msgstr "Lesinga feila"
+#: common/error.cpp:65
+msgid "Reading data failed"
+msgstr "Lesing av data feila"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Dataskriving feila"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr "Kunne ikkje finne ein passande spelmotor-plugin"
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr "Spelmotor-plugin stјttar ikkje lagra tilstandar."
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr "Ukjend feil"
#: common/util.cpp:276
@@ -1117,20 +1127,19 @@ msgstr "Lagra spel:"
msgid "Save"
msgstr "Lagre"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~vbryt"
#: engines/dialogs.cpp:319
-#, fuzzy
msgid "~K~eys"
-msgstr "~T~aster"
+msgstr "~T~astar"
#: engines/scumm/dialogs.cpp:284
msgid "~P~revious"
@@ -1167,7 +1176,7 @@ msgstr "Hopp over cutscene"
#: engines/scumm/help.cpp:81
msgid "Space"
-msgstr ""
+msgstr "Opprom"
#: engines/scumm/help.cpp:81
msgid "Pause game"
@@ -1488,7 +1497,7 @@ msgstr "Objekt"
#: engines/scumm/help.cpp:231
msgid "Black and White / Color"
-msgstr ""
+msgstr "Svart-Kvitt / Fargar"
#: engines/scumm/help.cpp:234
msgid "Eyes"
@@ -1663,7 +1672,7 @@ msgstr "Fly til hјgre"
msgid "Fly to lower right"
msgstr "Fly til nedre hјgre"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1671,7 +1680,7 @@ msgid ""
"%s"
msgstr ""
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1679,7 +1688,7 @@ msgid ""
"%s"
msgstr ""
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1687,15 +1696,25 @@ msgid ""
"%s"
msgstr ""
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Opprinneleg, skulle Maniac Mansion ha starta no. Men ScummVM stјttar ikkje "
+"det enno. For х spele Maniac Mansion, gх til 'Legg til spel' i ScummVM-"
+"menyen og vel 'Maniac'-undermappa i 'Tentacle'-mappa."
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~ipmodus aktivert"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~O~vergangar aktivert"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~V~anneffekt aktivert"
@@ -1715,7 +1734,7 @@ msgstr "MAME OPL emulator"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL emulator"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Ingen musikk"
@@ -1735,11 +1754,11 @@ msgstr "Apple II GS Emulator (IKKJE IMPLEMENTERT)"
msgid "C64 Audio Emulator"
msgstr "C64 Lydemulator"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Initialiserar MT-32-emulator"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 Emulator"
@@ -1771,7 +1790,7 @@ msgstr " (Global)"
msgid " (Game)"
msgstr " (Spel)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -1809,11 +1828,11 @@ msgstr ""
#: backends/platform/ds/arm9/source/dsoptions.cpp:91
msgid "Tap for left click, double tap right click"
-msgstr ""
+msgstr "Tap for venstre-klikk, dobbelt-tap for hјgre-klikk"
#: backends/platform/ds/arm9/source/dsoptions.cpp:93
msgid "Sensitivity"
-msgstr ""
+msgstr "Sensitivitet"
#: backends/platform/ds/arm9/source/dsoptions.cpp:102
msgid "Initial top screen scale:"
@@ -2008,7 +2027,7 @@ msgstr "SMB"
#: backends/platform/wii/options.cpp:106
msgid "Server:"
-msgstr ""
+msgstr "Teinar:"
#: backends/platform/wii/options.cpp:110
msgid "Share:"
@@ -2194,3 +2213,5 @@ msgstr ""
"Ikkje glјym х kople ein tast til 'Skjul verktјylinje' for х se heile "
"inventaret"
+#~ msgid "Invalid Path"
+#~ msgstr "Ugyldig sti"
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 2e645ae03c..6fb09dd31e 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.2.0\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2011-01-10 19:42+0100\n"
"Last-Translator: \n"
"Language-Team: Grajpopolsku.pl <grajpopolsku@gmail.com>\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "W gѓrъ"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Zamknij"
msgid "Mouse click"
msgstr "Klikniъcie"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "WyЖwietl klawiaturъ"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Dostosuj klawisze"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Przypisz"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgid ""
msgstr "Jъzyk gry. Nie zmieni to hiszpaёskiej wersji gry w angielskБ."
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<domyЖlne>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Platforma:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafika"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "Grafika"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "UПyj wГasnych ustawieё grafiki"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "DМwiъk"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "UПyj wГasnych ustawieё dМwiъku"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "GГoЖnoЖц"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "GГoЖnoЖц"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "UПyj wГasnych ustawieё gГoЖnoЖci"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "UПyj wГasnych ustawieё MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "UПyj wГasnych ustawieё MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "ІcieПki"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "ІcieПki"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "ІcieПka gry:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Іc. dodatkѓw:"
@@ -276,30 +276,30 @@ msgstr "Іc. dodatkѓw:"
msgid "Specifies path to additional data used the game"
msgstr "OkreЖla ЖcieПkъ dodatkowych danych gry"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Іc. dodatkѓw:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "ІcieПka zapisѓw:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "OkreЖla gdzie zapisywaц stan gry"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "ІcieПka zapisѓw:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Brak"
@@ -309,7 +309,7 @@ msgstr "Brak"
msgid "Default"
msgstr "DomyЖlnie"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Wybierz SoundFont"
@@ -416,17 +416,17 @@ msgstr "Wyszukaj grъ na liЖcie"
msgid "Search:"
msgstr "Szukaj"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "WyczyЖц"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Wczytaj grъ:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -560,83 +560,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Brak"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Tryb grafiki:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Renderer:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Specjalne tryby ditheringu wspierane przez niektѓre gry"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Tryb peГnoekranowy"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Korekcja formatu obrazu"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Korekcja formatu obrazu dla gier 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "anty-dithering EGA"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "WГБcz anty-dithering we wspieranych grach EGA"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Pref. urzБdzenie:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Urz. muzyczne:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "OkreЖla preferowane urzБdzenie dМwiъkowe lub emulator karty dМwiъkowej"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "OkreЖla wyjЖciowe urzБdzenie dМwiъkowe lub emulator karty dМwiъkowej"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Pref. urzБdzenie:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Urz. muzyczne:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Emulator AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib jest uПywany do muzyki w wielu grach"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Czъst. wyj.:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -644,63 +644,63 @@ msgstr ""
"WyПsze wartoЖci dajБ lepszБ jakoЖц dМwiъku, ale mogБ byц nieobsГugiwane "
"przez twojБ kartъ dМwiъkowБ"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "UrzБdzenie GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "OkreЖla domyЖlne urzБdzenie dМwiъkowe dla wyjЖcia General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Nie uПywaj muzyki General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "UПyj pierwszego dostъpnego urzБdzenia"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFont jest wspierany przez niektѓre karty dМwiъkowe, Fluidsynth i "
"Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Tryb miksowanego AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "UПywaj obu generatorѓw dМwiъku, MIDI i AdLib, jednoczeЖnie"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Wzm. MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "UrzБdzenie MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"OkreЖla domyЖlne urzБdzenie dМwiъku dla wyjЖcia Roland MT-32/LAPC1/CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Prawdziwy Roland MT-32 (wyГБcz emulacjъ GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -708,191 +708,191 @@ msgstr ""
"Zaznacz, jeЖli chcesz uПywaц swojej prawdziwej karty kompatybilnej z Roland "
"podГБczonej do twojego komputera"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Prawdziwy Roland MT-32 (brak emulacji GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "WГБcz tryb Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"WyГБcza mapowanie General MIDI dla gier ze ЖcieПkБ dМwiъkowБ Roland MT-32"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Nie uПywaj muzyki Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Tekst i mowa:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Mowa"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Napisy"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Oba"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Prъd. napisѓw:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Tekst i mowa:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Mowa"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Napisy"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Oba"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "WyЖwietlaj napisy i odtwarzaj mowъ"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Prъd. napisѓw:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "GГoЖnoЖц muzyki:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "GГoЖnoЖц muzyki:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Wycisz"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "GГ. efekt. dМw.:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "GГoЖnoЖц efektѓw dМw."
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "GГ. efekt. dМw.:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "GГoЖnoЖц mowy:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "GГoЖnoЖц mowy:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "ІcieПka stylu:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "ІcieПka stylu:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr "OkreЖla ЖcieПkъ dla dodatkowych danych dla wszystkich gier lub ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "ІcieПka wtyczek:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "ІcieПka wtyczek:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "RѓПne"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "RѓПne"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Styl:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Renderer interf.:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autozapis:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autozapis:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Klawisze"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Jъzyk interfejsu:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Jъzyk interfejsu ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Musisz zrestartowaц ScummVM, by zmiany zostaГy uwzglъdnione"
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Wybierz katalog zapisѓw"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "Ten katalog jest zabezpieczony przed zapisem. Wybierz inny."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Wybierz katalog dla stylѓw GUI."
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Wybierz katalog dla dodatkowych plikѓw"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Wybierz katalog dla wtyczek"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -965,88 +965,107 @@ msgstr "WygГadzany renderer (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "WygГadzany (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Silnik nie wspiera poziomu debugowania '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Pomiё"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Wstrzymaj"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Pomiё liniъ"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "BГБd podczas uruchamiania gry:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Nie udaГo siъ znaleМц silnika zdolnego do uruchomienia zaznaczonej gry"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "NiewГaЖciwa ЖcieПka"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Nie znaleziono plikѓw gry"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Identyfikator gry nie jest wspierany"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Niewspierany tryb kolorѓw"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Brak praw do odczytu"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Brak praw do zapisu"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "ІcieПka nie istnieje"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "ІcieПka nie jest katalogiem"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "ІcieПka nie jest plikiem"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Nie moПna utworzyц pliku"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Odczyt nieudany"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Zapisywanie danych nie powiodГo siъ"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Silnik nie wspiera poziomu debugowania '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Nieznany bГБd"
#: common/util.cpp:276
@@ -1115,13 +1134,13 @@ msgstr "Zapis:"
msgid "Save"
msgstr "Zapisz"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~A~nuluj"
@@ -1660,7 +1679,7 @@ msgstr "Leц w prawo"
msgid "Fly to lower right"
msgstr "Leц w dѓГ, w prawo"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1671,7 +1690,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1682,7 +1701,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1693,15 +1712,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~T~ryb zip aktywny"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "~P~rzejЖcia wГБczone"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~E~fekty wody wГБczone"
@@ -1721,7 +1747,7 @@ msgstr "Emulator OPL MAME"
msgid "DOSBox OPL emulator"
msgstr "Emulator OPL DOSBox"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Brak muzyki"
@@ -1741,11 +1767,11 @@ msgstr "Emulator Apple II GS (NIE ZAIMPLEMENTOWANY)"
msgid "C64 Audio Emulator"
msgstr "Emulator dМwiъku C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Inicjalizacja emulatora MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Emulator MT-32"
@@ -1777,7 +1803,7 @@ msgstr " (Globalny)"
msgid " (Game)"
msgstr " (Gra)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2199,3 +2225,5 @@ msgstr ""
"Nie zapomnij przypisaц klawisza 'Ukryj pasek narzъdzi', by widzieц caГy "
"ekwipunek"
+#~ msgid "Invalid Path"
+#~ msgstr "NiewГaЖciwa ЖcieПka"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index fced3d259c..5ba1e3e24a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2010-12-09 11:11-0300\n"
"Last-Translator: Saulo Benigno <saulobenigno@gmail.com>\n"
"Language-Team: ScummBR (www.scummbr.com) <scummbr@yahoo.com.br>\n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Acima"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Fechar"
msgid "Mouse click"
msgstr "Clique do mouse"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Mostrar teclado"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Remapear teclas"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Mapear"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgid ""
msgstr "Idioma do jogo. Isto nуo irс passar seu jogo Inglъs para Portuguъs"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<padrуo>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Sistema:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grсficos"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Sobrepor configuraчуo global de grсficos"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Сudio"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Sobrepor configuraчуo global de сudio"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volume"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volume"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Sobrepor configuraчуo global de volume"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Sobrepor configuraчуo global de MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Sobrepor configuraчуo global de MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Pastas"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Pastas"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Pasta do Jogo:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Pasta de Extras"
@@ -276,30 +276,30 @@ msgstr "Pasta de Extras"
msgid "Specifies path to additional data used the game"
msgstr "Especifique a pasta para dados utilizados no jogo"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Pasta de Extras"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Pasta para Salvar"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Especifique onde guardar seus jogos salvos"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Pasta para Salvar"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Nenhum(a)"
@@ -309,7 +309,7 @@ msgstr "Nenhum(a)"
msgid "Default"
msgstr "Padrуo"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Selecione o SoundFont"
@@ -417,17 +417,17 @@ msgstr "Pesquisar na lista de jogos"
msgid "Search:"
msgstr "Pesquisar:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Limpar valor"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Carregar jogo:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -564,83 +564,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Nenhum(a)"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Modo grсfico:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Renderizaчуo"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Modos especiais de dithering suportados por alguns jogos"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Modo Tela Cheia"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Correчуo de proporчуo"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Correчуo de proporчуo para jogos 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA sem dithering"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Habilita EGA sem dithering em jogos com suporte"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Dispositivo pref.:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Disp. de mњsica:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Especifica o dispositivo de som preferido ou emulador de placa de som"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Especifica o dispositivo de saэda de som ou emulador de placa de som"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Dispositivo pref.:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Dispositivo de mњsica:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Emulador AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib щ utilizado para mњsica em vсrios jogos"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Taxa de saэda:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -648,62 +648,62 @@ msgstr ""
"Maior valor especifica melhor qualidade de som, mas pode nуo ser suportado "
"por sua placa de som"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Dispositivo GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Especifique o dispositivo de som padrуo para a saэda General MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Nуo usar mњsica General MIDI"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Usar o primeiro dispositivo disponэvel"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont щ suportado por algumas placas de som, Fluidsynth e Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Mixar AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Usar MIDI e AdLib juntos na geraчуo de som"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Ganho MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Dispositivo MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Especifique o dispositivo de som padrуo para a saэda Roland MT-32/LAPC1/"
"CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Roland MT-32 real (desligar emulaчуo GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -711,193 +711,193 @@ msgstr ""
"Verifique se vocъ quer usar o seu dispositivo de hardware de som compatэvel "
"com Roland"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Roland MT-32 real (sem emulaчуo GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Ligar modo Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Desliga o mapeamento General MIDI para jogos com trilha sonora Roland MT-32"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Nуo usar mњsica Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Texto e Voz:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Voz"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Legendas"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Ambos"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Rapidez legendas:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Texto e Voz:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Voz"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Legs"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Ambos"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Mostrar legenda e vozes (dublagem)"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Velocidade das legendas:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Volume da Mњsica:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Volume da Mњsica:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Mudo"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Volume dos Sons:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volume dos efeitos sonoros especiais"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Volume dos Sons:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Volume da Voz:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Volume da Voz:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Pasta do Tema"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Pasta do Tema"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Especifica a pasta para os dados adicionais usados por todos os jogos ou "
"ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Pasta de Plugins:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Pasta de Plugins:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Outros"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Outros"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Renderizador GUI:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Auto-Salvar:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Auto-Salvar:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Teclas"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Idioma do GUI:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Linguagem do ScummVM GUI"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Vocъ tem que reiniciar o ScummVM para funcionar."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Selecione a pasta para o jogos salvos"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "O diretѓrio escolhido nуo pode ser usado. Por favor, selecione outro."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Selecione a pasta para os temas da Interface de Uso Grсfico"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Selecione a pasta para os arquivos extras"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Selecione a pasta para os plugins"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -970,90 +970,109 @@ msgstr "Renderizador Anti-Serrilhamento (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Anti-Serrilhamento (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Essa engine nуo suporta o nэvel de debug '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Menu"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Pular"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Pausar"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Pula linha"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Erro ao executar o jogo:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr ""
"Nуo foi possэvel encontrar qualquer programa capaz de rodar o jogo "
"selecionado"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Pasta invсlida"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Dados do jogo nуo encontrado"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "ID de jogo nуo suportado"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Modo de cores nуo suportado"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Permissуo para \"ler\" negada"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Permissуo para \"gravar\" negada"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "Caminho nуo existe"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Caminho nуo щ uma pasta"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Caminho nao щ um arquivo"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Caminho nуo щ um arquivo"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Falha na leitura"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Falha na gravaчуo"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Essa engine nуo suporta o nэvel de debug '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Erro desconhecido"
#: common/util.cpp:276
@@ -1122,13 +1141,13 @@ msgstr "Salvar jogo:"
msgid "Save"
msgstr "Salvar"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "~C~ancelar"
@@ -1667,7 +1686,7 @@ msgstr "Voar para direita"
msgid "Fly to lower right"
msgstr "Voar para direita inferior"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1678,7 +1697,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1689,7 +1708,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1700,15 +1719,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Modo ~Z~ip ativado"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "Modo ~T~ransiчѕes ativado"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "Modo ~E~feitos de сgua ativado"
@@ -1728,7 +1754,7 @@ msgstr "Emulador MAME OPL"
msgid "DOSBox OPL emulator"
msgstr "Emulador DOSBox OPL"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Sem mњsica"
@@ -1748,11 +1774,11 @@ msgstr "Emulador Apple II GS (NУO IMPLEMENTADO)"
msgid "C64 Audio Emulator"
msgstr "Emulador Som C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Inicializando Emulador MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Emulador MT-32"
@@ -1784,7 +1810,7 @@ msgstr "(Global)"
msgid " (Game)"
msgstr "(Jogo)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "MIDI Windows"
@@ -2209,3 +2235,5 @@ msgstr ""
"Nуo se esqueчa de mapear uma tecla para \"Ocultar a barra de ferramentas\" "
"para ver todo o seu inventсrio"
+#~ msgid "Invalid Path"
+#~ msgstr "Pasta invсlida"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index c23e9a69ca..c6adbe9645 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2010-06-13 20:55+0300\n"
"Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n"
"Language-Team: Russian\n"
@@ -45,7 +45,7 @@ msgid "Go up"
msgstr "Вверх"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -66,11 +66,11 @@ msgstr "Закрыть"
msgid "Mouse click"
msgstr "Клик мышью"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Показать клавиатуру"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Переназначить клавиши"
@@ -83,7 +83,7 @@ msgid "Map"
msgstr "Назначить"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgstr ""
"русскую"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<по умолчанию>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Платформа:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Графика"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "Грф"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Перекрыть глобальные установки графики"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Аудио"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Перекрыть глобальные установки аудио"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Громкость"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Громк"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Перекрыть глобальные установки громкости"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Перекрыть глобальные установки MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Перекрыть глобальные установки MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Пути"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Пути"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Где игра: "
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Доп. путь:"
@@ -276,30 +276,30 @@ msgstr "Доп. путь:"
msgid "Specifies path to additional data used the game"
msgstr "Указывает путь к дополнительным файлам данных для игры"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Доп. путь:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Сохранения игр: "
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Указывает путь к сохранениям игры"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Путь сохр:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Не задан"
@@ -309,7 +309,7 @@ msgstr "Не задан"
msgid "Default"
msgstr "По умолчанию"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Выберите SoundFont"
@@ -416,17 +416,17 @@ msgstr "Поиск в списке игр"
msgid "Search:"
msgstr "Поиск:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Очистить значение"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Загрузить игру:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -561,84 +561,84 @@ msgstr "44 кГц"
msgid "48 kHz"
msgstr "48 кГц"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Не задан"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Граф. режим:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Режим растра:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Специальные режимы рендеринга, поддерживаемые некоторыми играми"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Полноэкранный режим"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Коррекция соотношения сторон"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Корректировать соотношение сторон для игр с разрешением 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr ""
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr ""
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Предпочитаемое:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Звуковое уст-во:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
"Указывает предпочитаемое звуковое устройство или эмулятор звуковой карты"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Указывает выходное звуковое устройство или эмулятор звуковой карты"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Предпочитаемое:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Звуковое уст-во:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Эмулятор AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "Звуковая карта AdLib используется многими играми"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Частота звука:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -646,64 +646,64 @@ msgstr ""
"БОльшие значения задают лучшее качество звука, однако они могут не "
"поддерживаться вашей звуковой картой"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Устройство GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Указывает выходное звуковое устройство для MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr ""
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr ""
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFontы поддердживаются некоторыми звуковыми картами, Fluidsynth и "
"Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Смешанный режим AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Использовать и MIDI и AdLib для генерации звука"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Усиление MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Устр. MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Указывает звуковое устройство по умолчания для вывода на Roland MT-32/LAPC1/"
"CM32l/CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Настоящий Roland MT-32 (запретить эмуляцию GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -711,194 +711,194 @@ msgstr ""
"Отметьте, если у вас подключено Roland-совместимое звуковое устройство и вы "
"хотите его использовать"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Настоящий Roland MT-32 (запретить GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Включить режим Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Выключает маппинг General MIDI для игр с звуковой дорожкой для Roland MT-32"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
#, fuzzy
msgid "Don't use Roland MT-32 music"
msgstr "Настоящий Roland MT-32 (запретить GM)"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Текст и озвучка:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Озвучка"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Субтитры"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Всё"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Скорость титров:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Текст и озвучка:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Озв"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Суб"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Всё"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Показывать субтитры и воспроизводить речь"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Скорость титров:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Громк. музыки:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Громк. музыки:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Выкл. всё"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Громкость SFX:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Громкость специальных звуковых эффектов"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Громк. SFX:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Громк. озвучки:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Громк. озвучки:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Путь к темам:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Где темы:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Указывает путь к дополнительным файлам данных, используемых всеми играми, "
"либо ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Путь к плагинам:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Путь к плагинам:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Разное"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Разное"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Тема:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Рисовалка GUI:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Автосохранение:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Автосохр.:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Клавиши"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Язык GUI:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Язык графического интерфейса ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Вы должны перезапустить ScummVM чтобы применить изменения."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Выберите директорию для сохранений"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "Не могу писать в выбранную директорию. Пожалуйста, укажите другую."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Выберите директорию для тем GUI"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Выберите директорию с дополнительными файлами"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Выберите директорию с плагинами"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -971,88 +971,107 @@ msgstr "Растеризатор со сглаживанием (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Растеризатор со сглаживанием (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Движок не поддерживает уровень отладки '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Меню"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Пропустить"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Пауза"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Пропустить строку"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Ошибка запуска игры:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Не могу найти движок для запуска выбранной игры"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Неверный путь"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Нет файлов игры"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Game Id не поддерживается"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Неподдерживаемый режим цвета"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Недостаточно прав для чтения"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Недостаточно прав для записи"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "Путь не найден"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Путь не является директорией"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Путь не является файлом"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Не могу создать файл"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Ошибка чтения"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Ошибка записи данных"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Движок не поддерживает уровень отладки '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Неизвестная ошибка"
#: common/util.cpp:276
@@ -1121,13 +1140,13 @@ msgstr "Сохранить игру: "
msgid "Save"
msgstr "Записать"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "О~т~мена"
@@ -1686,7 +1705,7 @@ msgstr ""
msgid "Fly to lower right"
msgstr ""
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1697,7 +1716,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1708,7 +1727,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1719,15 +1738,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Режим быстрого перехода активирован"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "Переходы активированы"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "Эффекты воды включены"
@@ -1747,7 +1773,7 @@ msgstr "Эмулятор MAME OPL"
msgid "DOSBox OPL emulator"
msgstr "Эмулятор DOSBox OPL"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Без музыки"
@@ -1767,11 +1793,11 @@ msgstr "Эмулятор Apple II GS (отсутствует)"
msgid "C64 Audio Emulator"
msgstr "Эмулятор звука C64"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Настраиваю эмулятор MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Эмулятор MT-32"
@@ -1803,7 +1829,7 @@ msgstr " (Глобальная)"
msgid " (Game)"
msgstr " (Игры)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2225,3 +2251,5 @@ msgstr ""
"Не забудьте назначить клавишу для действия 'Hide Toolbar' чтобы увидеть весь "
"инвентарь в игре"
+#~ msgid "Invalid Path"
+#~ msgstr "Неверный путь"
diff --git a/po/scummvm.pot b/po/scummvm.pot
index 150885fb92..8522a89ede 100644
--- a/po/scummvm.pot
+++ b/po/scummvm.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0git\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -43,7 +43,7 @@ msgid "Go up"
msgstr ""
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -64,11 +64,11 @@ msgstr ""
msgid "Mouse click"
msgstr ""
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr ""
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr ""
@@ -81,7 +81,7 @@ msgid "Map"
msgstr ""
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -152,7 +152,7 @@ msgid ""
msgstr ""
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr ""
@@ -170,11 +170,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr ""
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr ""
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr ""
@@ -187,7 +187,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr ""
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr ""
@@ -200,11 +200,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr ""
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr ""
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr ""
@@ -218,7 +218,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr ""
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr ""
@@ -231,7 +231,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr ""
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr ""
@@ -244,11 +244,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr ""
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr ""
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr ""
@@ -262,7 +262,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr ""
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr ""
@@ -270,30 +270,30 @@ msgstr ""
msgid "Specifies path to additional data used the game"
msgstr ""
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr ""
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr ""
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr ""
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr ""
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr ""
@@ -303,7 +303,7 @@ msgstr ""
msgid "Default"
msgstr ""
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr ""
@@ -410,17 +410,17 @@ msgstr ""
msgid "Search:"
msgstr ""
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr ""
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr ""
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -553,331 +553,331 @@ msgstr ""
msgid "48 kHz"
msgstr ""
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr ""
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr ""
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr ""
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr ""
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr ""
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr ""
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr ""
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr ""
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr ""
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr ""
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr ""
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr ""
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr ""
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr ""
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr ""
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr ""
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr ""
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr ""
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
msgstr ""
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr ""
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr ""
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr ""
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr ""
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr ""
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr ""
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr ""
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr ""
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr ""
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr ""
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr ""
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
msgstr ""
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr ""
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr ""
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr ""
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr ""
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr ""
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr ""
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr ""
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr ""
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr ""
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr ""
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr ""
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr ""
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr ""
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr ""
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr ""
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr ""
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr ""
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr ""
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr ""
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr ""
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr ""
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr ""
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr ""
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr ""
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr ""
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr ""
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr ""
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr ""
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr ""
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr ""
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr ""
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr ""
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr ""
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr ""
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr ""
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr ""
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr ""
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr ""
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr ""
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr ""
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -948,88 +948,100 @@ msgstr ""
msgid "Antialiased (16bpp)"
msgstr ""
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr ""
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr ""
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr ""
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr ""
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr ""
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr ""
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr ""
-#: common/error.cpp:43
-msgid "Invalid Path"
+#: common/error.cpp:42
+msgid "No error"
msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
-msgstr ""
-
-#: common/error.cpp:45
-msgid "Game Id not supported"
+msgid "Game data not found"
msgstr ""
#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+msgid "Game id not supported"
msgstr ""
#: common/error.cpp:48
+msgid "Unsupported color mode"
+msgstr ""
+
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr ""
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr ""
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+msgid "Path does not exist"
msgstr ""
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr ""
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr ""
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr ""
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+msgid "Reading data failed"
msgstr ""
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr ""
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+msgid "Engine plugin does not support save states"
+msgstr ""
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+msgid "Unknown error"
msgstr ""
#: common/util.cpp:276
@@ -1098,13 +1110,13 @@ msgstr ""
msgid "Save"
msgstr ""
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr ""
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr ""
@@ -1643,7 +1655,7 @@ msgstr ""
msgid "Fly to lower right"
msgstr ""
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1651,7 +1663,7 @@ msgid ""
"%s"
msgstr ""
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1659,7 +1671,7 @@ msgid ""
"%s"
msgstr ""
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1667,15 +1679,22 @@ msgid ""
"%s"
msgstr ""
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr ""
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr ""
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr ""
@@ -1695,7 +1714,7 @@ msgstr ""
msgid "DOSBox OPL emulator"
msgstr ""
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr ""
@@ -1715,11 +1734,11 @@ msgstr ""
msgid "C64 Audio Emulator"
msgstr ""
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr ""
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr ""
@@ -1751,7 +1770,7 @@ msgstr ""
msgid " (Game)"
msgstr ""
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr ""
diff --git a/po/se_SE.po b/po/se_SE.po
index 465a2779bd..b633663c3d 100644
--- a/po/se_SE.po
+++ b/po/se_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2011-03-21 13:45+0100\n"
"Last-Translator: Hampus Flink <hampus.flink@gmail.com>\n"
"Language-Team: \n"
@@ -47,7 +47,7 @@ msgid "Go up"
msgstr "Uppхt"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -68,11 +68,11 @@ msgstr "Stфng"
msgid "Mouse click"
msgstr "Musklick"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Visa tangentbord"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Stфll in tangenter"
@@ -85,7 +85,7 @@ msgid "Map"
msgstr "Stфll in"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -160,7 +160,7 @@ msgstr ""
"till en engelsk"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<standard>"
@@ -178,11 +178,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Plattform:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Grafik"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "GFX"
@@ -195,7 +195,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "жverskrid globala grafikinstфllningar"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Ljud"
@@ -208,11 +208,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "жverskrid globala ljudinstфllningar"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Volym"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Volym"
@@ -226,7 +226,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "жverskrid globala volyminstфllningar"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -239,7 +239,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "жverskrid globala MIDI-instфllningar"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -252,11 +252,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "жverskrid globala MT-32 instфllningar"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Sіkvфgar"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Sіkvфgar"
@@ -270,7 +270,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Sіkv. spel:"
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Sіkv. extra:"
@@ -278,30 +278,30 @@ msgstr "Sіkv. extra:"
msgid "Specifies path to additional data used the game"
msgstr "Bestфmmer sіkvфgen till ytterligare data som spelet anvфnder"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Sіkv. extra:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Sіkv. sparat:"
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Bestфmmer var dina spardata lagras"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Sіkv. sparat:"
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Ingen"
@@ -311,7 +311,7 @@ msgstr "Ingen"
msgid "Default"
msgstr "Standard"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Vфlj SoundFont"
@@ -418,17 +418,17 @@ msgstr "Sіk i spellistan"
msgid "Search:"
msgstr "Sіk:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Tіm sіkfфltet"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Ladda spel:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -564,83 +564,83 @@ msgstr "44 kHz"
msgid "48 kHz"
msgstr "48 kHz"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Ingen"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Grafiklфge:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Renderingslфge:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Speciella gitterlфgen stіdda av vissa spel"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Fullskфrmslфge"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Korrektion av bildfіrhхllande"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Korrigerar bildfіrhхllanden fіr 320x200-spel"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA anti-gitter"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Aktiverar anti-gitter i EGA spel som stіder det"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Fіredragen enhet:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Musikenhet:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Bestфmmer din fіredragna emulator fіr ljudenhet eller ljudkort"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Bestфmmer emulator fіr ljudenhet eller ljudkort"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Fіredr. enhet:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Musikenhet:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "AdLib-emulator:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "AdLib anvфnds fіr musik i mхnga spel"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Ljudfrekvens:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -648,61 +648,61 @@ msgstr ""
"Ett hіgre vфrde betecknar bфttre ljudkvalitet men stіds kanske inte av ditt "
"ljudkort"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "GM-enhet:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Bestфmmer standardenheten fіr General MIDI-uppspelning"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "Anvфnd inte General MIDI-musik"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Anvфnd fіrsta tillgфngliga enhet"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr "SoundFont stіds endast av vissa ljudkort, Fluidsynth och Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Blandat AdLib/MIDI-lфge"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Anvфnd bхde MIDI och AdLib fіr ljudgeneration"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "MIDI gain:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "MT-32 enhet:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Bestфmmer standardenheten fіr Roland MT-32/LAPC1/CM32I/CM64-uppspelning"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Фkta Roland MT-32 (inaktivera GM-emulation)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -710,193 +710,193 @@ msgstr ""
"Aktivera om du vill anvфnda din verkliga Roland-kompatibla och dator-"
"anslutna ljudenhet"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Фkta Roland MT-32 (ingen GM-emulation)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Aktivera Roland GS-lфge"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Stфnger av General MIDI-kartlфggning fіr spel med Roland MT-32 soundtrack"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Anvфnd inte Roland MT-32 musik"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Undertext och tal:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Tal"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Undertexter"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Bхda"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Texthastighet:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Text och tal:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Tal"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Text"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Bхda"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Visa undertexter och spela upp tal"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Texthastighet:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Musikvolym:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Musikvolym:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Ljud av"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "SFX-volym:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Volym fіr specialeffekter"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "SFX-volym:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Talvolym:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Talvolym:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Sіkv. tema:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Sіkv. tema:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Bestфmmer sіkvфg till andra data som anvфnds av alla spel eller ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Sіkv. tillфgg:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Sіkv. tillфgg:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Diverse"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Diverse"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Tema:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "GUI-rendering:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Autospara:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Autospara:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Tangenter"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "GUI-sprхk:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Sprхk fіr ScummVM:s anvфndargrфnssnitt"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Du mхste starta om ScummVM fіr att фndringarna ska fх effekt."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Vфlj katalog fіr spardata"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr ""
"Det gхr inte att skriva till den valda katalogen. Var god vфlj en annan."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Vфlj katalog fіr GUI-teman"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Vфlj katalog fіr extra filer"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Vфlj katalog fіr tillфgg"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -969,88 +969,107 @@ msgstr "Antialiserad rendering (16 bpp)"
msgid "Antialiased (16bpp)"
msgstr "Antialiserad (16 bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Motorn stіder inte debug-nivх '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Meny"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Skippa"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Paus"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Skippa rad"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Fel under kіrning av spel:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Kunde inte hitta en motor kapabel till att kіra det valda spelet"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Ogiltig sіkvфg"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Kunde inte hitta speldata"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Spel-ID stіds inte"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Ej stіtt fфrglфge"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Lфstillbehіrighet nekad"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Skrivtillbehіrighet nekad"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "Sіkvфgen existerar inte"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Sіkvфgen фr inte en katalog"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Sіkvфgen фr inte en fil"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Kan inte skapa fil"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Inlфsning misslyckades"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Skriva data misslyckades"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Motorn stіder inte debug-nivх '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Okфnt fel"
#: common/util.cpp:276
@@ -1119,13 +1138,13 @@ msgstr "Spara spelet:"
msgid "Save"
msgstr "Spara"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "A~v~bryt"
@@ -1664,7 +1683,7 @@ msgstr "Flyg хt hіger"
msgid "Fly to lower right"
msgstr "Flyg хt nedre hіger"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1675,7 +1694,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1686,7 +1705,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1697,15 +1716,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "~Z~iplфge aktiverat"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "жv~e~rgхngar aktiverade"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "~V~atteneffekt aktiverad"
@@ -1725,7 +1751,7 @@ msgstr "MAME OPL-emulator"
msgid "DOSBox OPL emulator"
msgstr "DOSBox OPL-emulator"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Ingen musik"
@@ -1745,11 +1771,11 @@ msgstr "Apple II GS-emulator (INTE IMPLEMENTERAD)"
msgid "C64 Audio Emulator"
msgstr "C64 ljudemulator"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Initialiserar MT-32 emulator"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "MT-32 emulator"
@@ -1781,7 +1807,7 @@ msgstr "(Global)"
msgid " (Game)"
msgstr "(Spel)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2206,3 +2232,5 @@ msgstr ""
"Glіm inte att vфlja en tangent fіr \"Gіm verktygsrad\" fіr att se hela "
"inventariet"
+#~ msgid "Invalid Path"
+#~ msgstr "Ogiltig sіkvфg"
diff --git a/po/uk_UA.po b/po/uk_UA.po
index b901aed055..03822b83d0 100644
--- a/po/uk_UA.po
+++ b/po/uk_UA.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2011-03-22 21:55+0000\n"
+"POT-Creation-Date: 2011-04-22 19:33+0100\n"
"PO-Revision-Date: 2011-03-26 22:38+0200\n"
"Last-Translator: Lubomyr Lisen\n"
"Language-Team: Ukrainian\n"
@@ -45,7 +45,7 @@ msgid "Go up"
msgstr "Вверх"
#: gui/browser.cpp:73 gui/chooser.cpp:49 gui/KeysDialog.cpp:46
-#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1116
+#: gui/launcher.cpp:319 gui/massadd.cpp:95 gui/options.cpp:1124
#: gui/saveload.cpp:66 gui/saveload.cpp:158 gui/themebrowser.cpp:57
#: backends/platform/wii/options.cpp:48
msgid "Cancel"
@@ -66,11 +66,11 @@ msgstr "Закрити"
msgid "Mouse click"
msgstr "Клік мишкою"
-#: gui/gui-manager.cpp:112 base/main.cpp:286
+#: gui/gui-manager.cpp:112 base/main.cpp:281
msgid "Display keyboard"
msgstr "Показати клавіатуру"
-#: gui/gui-manager.cpp:115 base/main.cpp:289
+#: gui/gui-manager.cpp:115 base/main.cpp:284
msgid "Remap keys"
msgstr "Перепризначити клавіші"
@@ -83,7 +83,7 @@ msgid "Map"
msgstr "Призначити"
#: gui/KeysDialog.cpp:45 gui/launcher.cpp:320 gui/launcher.cpp:945
-#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1117
+#: gui/launcher.cpp:949 gui/massadd.cpp:92 gui/options.cpp:1125
#: backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:58
msgid "OK"
@@ -158,7 +158,7 @@ msgstr ""
"українську"
#: gui/launcher.cpp:191 gui/launcher.cpp:205 gui/options.cpp:80
-#: gui/options.cpp:646 gui/options.cpp:656 gui/options.cpp:1087
+#: gui/options.cpp:654 gui/options.cpp:664 gui/options.cpp:1095
#: audio/null.cpp:42
msgid "<default>"
msgstr "<за умовчанням>"
@@ -176,11 +176,11 @@ msgctxt "lowres"
msgid "Platform:"
msgstr "Платформа:"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "Graphics"
msgstr "Графіка"
-#: gui/launcher.cpp:215 gui/options.cpp:956 gui/options.cpp:973
+#: gui/launcher.cpp:215 gui/options.cpp:964 gui/options.cpp:981
msgid "GFX"
msgstr "Грф"
@@ -193,7 +193,7 @@ msgctxt "lowres"
msgid "Override global graphic settings"
msgstr "Перекрити глобальні установки графіки"
-#: gui/launcher.cpp:227 gui/options.cpp:979
+#: gui/launcher.cpp:227 gui/options.cpp:987
msgid "Audio"
msgstr "Аудіо"
@@ -206,11 +206,11 @@ msgctxt "lowres"
msgid "Override global audio settings"
msgstr "Перекрити глобальні установки аудіо"
-#: gui/launcher.cpp:241 gui/options.cpp:984
+#: gui/launcher.cpp:241 gui/options.cpp:992
msgid "Volume"
msgstr "Гучність"
-#: gui/launcher.cpp:243 gui/options.cpp:986
+#: gui/launcher.cpp:243 gui/options.cpp:994
msgctxt "lowres"
msgid "Volume"
msgstr "Гучн-ть"
@@ -224,7 +224,7 @@ msgctxt "lowres"
msgid "Override global volume settings"
msgstr "Перекрити глобальні установки гучності"
-#: gui/launcher.cpp:255 gui/options.cpp:994
+#: gui/launcher.cpp:255 gui/options.cpp:1002
msgid "MIDI"
msgstr "MIDI"
@@ -237,7 +237,7 @@ msgctxt "lowres"
msgid "Override global MIDI settings"
msgstr "Перекрити глобальні установки MIDI"
-#: gui/launcher.cpp:270 gui/options.cpp:1000
+#: gui/launcher.cpp:270 gui/options.cpp:1008
msgid "MT-32"
msgstr "MT-32"
@@ -250,11 +250,11 @@ msgctxt "lowres"
msgid "Override global MT-32 settings"
msgstr "Перекрити глобальні установки MT-32"
-#: gui/launcher.cpp:286 gui/options.cpp:1007
+#: gui/launcher.cpp:286 gui/options.cpp:1015
msgid "Paths"
msgstr "Шляхи"
-#: gui/launcher.cpp:288 gui/options.cpp:1009
+#: gui/launcher.cpp:288 gui/options.cpp:1017
msgctxt "lowres"
msgid "Paths"
msgstr "Шляхи"
@@ -268,7 +268,7 @@ msgctxt "lowres"
msgid "Game Path:"
msgstr "Шлях до гри: "
-#: gui/launcher.cpp:302 gui/options.cpp:1029
+#: gui/launcher.cpp:302 gui/options.cpp:1037
msgid "Extra Path:"
msgstr "Додатк. шлях:"
@@ -276,30 +276,30 @@ msgstr "Додатк. шлях:"
msgid "Specifies path to additional data used the game"
msgstr "Вказує шлях до додаткових файлів даних для гри"
-#: gui/launcher.cpp:304 gui/options.cpp:1031
+#: gui/launcher.cpp:304 gui/options.cpp:1039
msgctxt "lowres"
msgid "Extra Path:"
msgstr "Дод. шлях:"
-#: gui/launcher.cpp:309 gui/options.cpp:1017
+#: gui/launcher.cpp:309 gui/options.cpp:1025
msgid "Save Path:"
msgstr "Шлях збер.: "
#: gui/launcher.cpp:309 gui/launcher.cpp:311 gui/launcher.cpp:312
-#: gui/options.cpp:1017 gui/options.cpp:1019 gui/options.cpp:1020
+#: gui/options.cpp:1025 gui/options.cpp:1027 gui/options.cpp:1028
msgid "Specifies where your savegames are put"
msgstr "Вказує шлях до збережень гри"
-#: gui/launcher.cpp:311 gui/options.cpp:1019
+#: gui/launcher.cpp:311 gui/options.cpp:1027
msgctxt "lowres"
msgid "Save Path:"
msgstr "Шлях збер.: "
#: gui/launcher.cpp:328 gui/launcher.cpp:411 gui/launcher.cpp:460
-#: gui/options.cpp:1026 gui/options.cpp:1032 gui/options.cpp:1039
-#: gui/options.cpp:1140 gui/options.cpp:1146 gui/options.cpp:1152
-#: gui/options.cpp:1160 gui/options.cpp:1184 gui/options.cpp:1188
-#: gui/options.cpp:1194 gui/options.cpp:1201 gui/options.cpp:1300
+#: gui/options.cpp:1034 gui/options.cpp:1040 gui/options.cpp:1047
+#: gui/options.cpp:1148 gui/options.cpp:1154 gui/options.cpp:1160
+#: gui/options.cpp:1168 gui/options.cpp:1192 gui/options.cpp:1196
+#: gui/options.cpp:1202 gui/options.cpp:1209 gui/options.cpp:1308
msgctxt "path"
msgid "None"
msgstr "Не заданий"
@@ -309,7 +309,7 @@ msgstr "Не заданий"
msgid "Default"
msgstr "За умовчанням"
-#: gui/launcher.cpp:453 gui/options.cpp:1294
+#: gui/launcher.cpp:453 gui/options.cpp:1302
msgid "Select SoundFont"
msgstr "Виберіть SoundFont"
@@ -416,17 +416,17 @@ msgstr "Пошук в списку ігор"
msgid "Search:"
msgstr "Пошук:"
-#: gui/launcher.cpp:600 gui/options.cpp:764
+#: gui/launcher.cpp:600 gui/options.cpp:772
msgid "Clear value"
msgstr "Очистити значення"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
msgid "Load game:"
msgstr "Завантажити гру:"
#: gui/launcher.cpp:622 engines/dialogs.cpp:117 engines/mohawk/myst.cpp:255
-#: engines/mohawk/riven.cpp:711 engines/cruise/menu.cpp:218
+#: engines/mohawk/riven.cpp:715 engines/cruise/menu.cpp:218
#: backends/platform/wince/CEActionsPocket.cpp:268
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Load"
@@ -561,83 +561,83 @@ msgstr "44 кГц"
msgid "48 kHz"
msgstr "48 кГц"
-#: gui/options.cpp:241 gui/options.cpp:406 gui/options.cpp:504
-#: gui/options.cpp:563 gui/options.cpp:763
+#: gui/options.cpp:242 gui/options.cpp:407 gui/options.cpp:505
+#: gui/options.cpp:571 gui/options.cpp:771
msgctxt "soundfont"
msgid "None"
msgstr "Не заданий"
-#: gui/options.cpp:643
+#: gui/options.cpp:651
msgid "Graphics mode:"
msgstr "Графічн. режим:"
-#: gui/options.cpp:654
+#: gui/options.cpp:662
msgid "Render mode:"
msgstr "Режим раструв.:"
-#: gui/options.cpp:654 gui/options.cpp:655
+#: gui/options.cpp:662 gui/options.cpp:663
msgid "Special dithering modes supported by some games"
msgstr "Спеціальні режими рендерингу, які підтримують деякі ігри"
-#: gui/options.cpp:664
+#: gui/options.cpp:672
msgid "Fullscreen mode"
msgstr "Повноекранний режим"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Aspect ratio correction"
msgstr "Корекція співвідношення сторін"
-#: gui/options.cpp:667
+#: gui/options.cpp:675
msgid "Correct aspect ratio for 320x200 games"
msgstr "Коригувати співвідношення сторін для ігор з графікою 320x200"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "EGA undithering"
msgstr "EGA без згладжування"
-#: gui/options.cpp:668
+#: gui/options.cpp:676
msgid "Enable undithering in EGA games that support it"
msgstr "Вімкнути без згладжування в EGA іграх які підтримують це."
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Preferred Device:"
msgstr "Головн. пристрій:"
-#: gui/options.cpp:676
+#: gui/options.cpp:684
msgid "Music Device:"
msgstr "Музич. Пристрій:"
-#: gui/options.cpp:676 gui/options.cpp:678
+#: gui/options.cpp:684 gui/options.cpp:686
msgid "Specifies preferred sound device or sound card emulator"
msgstr "Вказує вихідний звуковий пристрій або емулятор звукової карти"
-#: gui/options.cpp:676 gui/options.cpp:678 gui/options.cpp:679
+#: gui/options.cpp:684 gui/options.cpp:686 gui/options.cpp:687
msgid "Specifies output sound device or sound card emulator"
msgstr "Вказує вихідний звуковий пристрій або емулятор звукової карти"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Preferred Dev.:"
msgstr "Реком. пристрій:"
-#: gui/options.cpp:678
+#: gui/options.cpp:686
msgctxt "lowres"
msgid "Music Device:"
msgstr "Музичний Пристрій:"
-#: gui/options.cpp:704
+#: gui/options.cpp:712
msgid "AdLib emulator:"
msgstr "Емулятор AdLib:"
-#: gui/options.cpp:704 gui/options.cpp:705
+#: gui/options.cpp:712 gui/options.cpp:713
msgid "AdLib is used for music in many games"
msgstr "Звукова карта AdLib використовується багатьма іграми"
-#: gui/options.cpp:715
+#: gui/options.cpp:723
msgid "Output rate:"
msgstr "Вихідна частота:"
-#: gui/options.cpp:715 gui/options.cpp:716
+#: gui/options.cpp:723 gui/options.cpp:724
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
@@ -645,63 +645,63 @@ msgstr ""
"Великі значення задають кращу якість звуку, проте вони можуть не "
"підтримуватися вашою звуковою картою"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "GM Device:"
msgstr "Пристрій GM:"
-#: gui/options.cpp:726
+#: gui/options.cpp:734
msgid "Specifies default sound device for General MIDI output"
msgstr "Вказує вихідний звуковий пристрій для MIDI"
-#: gui/options.cpp:737
+#: gui/options.cpp:745
msgid "Don't use General MIDI music"
msgstr "не використовувати General MIDI музику"
-#: gui/options.cpp:748 gui/options.cpp:809
+#: gui/options.cpp:756 gui/options.cpp:817
msgid "Use first available device"
msgstr "Використовувати перший наявний пристрій"
-#: gui/options.cpp:760
+#: gui/options.cpp:768
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:760 gui/options.cpp:762 gui/options.cpp:763
+#: gui/options.cpp:768 gui/options.cpp:770 gui/options.cpp:771
msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
msgstr ""
"SoundFont підтримується деякими звуковими картами, Fluidsynth і Timidity"
-#: gui/options.cpp:762
+#: gui/options.cpp:770
msgctxt "lowres"
msgid "SoundFont:"
msgstr "SoundFont:"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Mixed AdLib/MIDI mode"
msgstr "Змішаний режим AdLib/MIDI"
-#: gui/options.cpp:767
+#: gui/options.cpp:775
msgid "Use both MIDI and AdLib sound generation"
msgstr "Використовувати і MIDI і AdLib для генерації звуку"
-#: gui/options.cpp:770
+#: gui/options.cpp:778
msgid "MIDI gain:"
msgstr "Посилення MIDI:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "MT-32 Device:"
msgstr "Пристрій MT-32:"
-#: gui/options.cpp:780
+#: gui/options.cpp:788
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
"Вказує звуковий пристрій по умовчанню для виводу на Roland MT-32/LAPC1/CM32l/"
"CM64"
-#: gui/options.cpp:785
+#: gui/options.cpp:793
msgid "True Roland MT-32 (disable GM emulation)"
msgstr "Справжній Roland MT-32 (вимкнути емуляцию GM)"
-#: gui/options.cpp:785 gui/options.cpp:787
+#: gui/options.cpp:793 gui/options.cpp:795
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
@@ -709,193 +709,193 @@ msgstr ""
"Відмітьте, якщо у вас підключений Roland-сумісний звуковий пристрій і ви "
"хочете його використати"
-#: gui/options.cpp:787
+#: gui/options.cpp:795
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
msgstr "Справжній Roland MT-32 (вимкнути емуляцию GM)"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Enable Roland GS Mode"
msgstr "Увімкнути режим Roland GS"
-#: gui/options.cpp:790
+#: gui/options.cpp:798
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
msgstr ""
"Вимикає маппінг General MIDI для ігор із звуковою доріжкою для Roland MT-32"
-#: gui/options.cpp:799
+#: gui/options.cpp:807
msgid "Don't use Roland MT-32 music"
msgstr "Не використовувати Roland MT-32"
-#: gui/options.cpp:826
+#: gui/options.cpp:834
msgid "Text and Speech:"
msgstr "Текст і озвучка:"
-#: gui/options.cpp:830 gui/options.cpp:840
+#: gui/options.cpp:838 gui/options.cpp:848
msgid "Speech"
msgstr "Озвучка"
-#: gui/options.cpp:831 gui/options.cpp:841
+#: gui/options.cpp:839 gui/options.cpp:849
msgid "Subtitles"
msgstr "Субтитри"
-#: gui/options.cpp:832
+#: gui/options.cpp:840
msgid "Both"
msgstr "Все"
-#: gui/options.cpp:834
+#: gui/options.cpp:842
msgid "Subtitle speed:"
msgstr "Швид. субтитрів:"
-#: gui/options.cpp:836
+#: gui/options.cpp:844
msgctxt "lowres"
msgid "Text and Speech:"
msgstr "Текст і озвучка:"
-#: gui/options.cpp:840
+#: gui/options.cpp:848
msgid "Spch"
msgstr "Озв"
-#: gui/options.cpp:841
+#: gui/options.cpp:849
msgid "Subs"
msgstr "Суб"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgctxt "lowres"
msgid "Both"
msgstr "Все"
-#: gui/options.cpp:842
+#: gui/options.cpp:850
msgid "Show subtitles and play speech"
msgstr "Показувати субтитри і відтворювати мову"
-#: gui/options.cpp:844
+#: gui/options.cpp:852
msgctxt "lowres"
msgid "Subtitle speed:"
msgstr "Швид. субтитрів:"
-#: gui/options.cpp:860
+#: gui/options.cpp:868
msgid "Music volume:"
msgstr "Гучність музики:"
-#: gui/options.cpp:862
+#: gui/options.cpp:870
msgctxt "lowres"
msgid "Music volume:"
msgstr "Гучність музики:"
-#: gui/options.cpp:869
+#: gui/options.cpp:877
msgid "Mute All"
msgstr "Вимкнути все"
-#: gui/options.cpp:872
+#: gui/options.cpp:880
msgid "SFX volume:"
msgstr "Гучність ефектів:"
-#: gui/options.cpp:872 gui/options.cpp:874 gui/options.cpp:875
+#: gui/options.cpp:880 gui/options.cpp:882 gui/options.cpp:883
msgid "Special sound effects volume"
msgstr "Гучність спеціальних звукових ефектів"
-#: gui/options.cpp:874
+#: gui/options.cpp:882
msgctxt "lowres"
msgid "SFX volume:"
msgstr "Гучніс. ефектів:"
-#: gui/options.cpp:882
+#: gui/options.cpp:890
msgid "Speech volume:"
msgstr "Гучність озвучки:"
-#: gui/options.cpp:884
+#: gui/options.cpp:892
msgctxt "lowres"
msgid "Speech volume:"
msgstr "Гучніс. озвучки:"
-#: gui/options.cpp:1023
+#: gui/options.cpp:1031
msgid "Theme Path:"
msgstr "Шлях до тем:"
-#: gui/options.cpp:1025
+#: gui/options.cpp:1033
msgctxt "lowres"
msgid "Theme Path:"
msgstr "Шлях до тем:"
-#: gui/options.cpp:1029 gui/options.cpp:1031 gui/options.cpp:1032
+#: gui/options.cpp:1037 gui/options.cpp:1039 gui/options.cpp:1040
msgid "Specifies path to additional data used by all games or ScummVM"
msgstr ""
"Вказує шлях до додаткових файлів даних, використовуваних усіма іграми, або "
"ScummVM"
-#: gui/options.cpp:1036
+#: gui/options.cpp:1044
msgid "Plugins Path:"
msgstr "Шлях до плагінів:"
-#: gui/options.cpp:1038
+#: gui/options.cpp:1046
msgctxt "lowres"
msgid "Plugins Path:"
msgstr "Шлях до плагінів:"
-#: gui/options.cpp:1047
+#: gui/options.cpp:1055
msgid "Misc"
msgstr "Різне"
-#: gui/options.cpp:1049
+#: gui/options.cpp:1057
msgctxt "lowres"
msgid "Misc"
msgstr "Різне"
-#: gui/options.cpp:1051
+#: gui/options.cpp:1059
msgid "Theme:"
msgstr "Тема:"
-#: gui/options.cpp:1055
+#: gui/options.cpp:1063
msgid "GUI Renderer:"
msgstr "Растер. GUI:"
-#: gui/options.cpp:1067
+#: gui/options.cpp:1075
msgid "Autosave:"
msgstr "Автозбереження:"
-#: gui/options.cpp:1069
+#: gui/options.cpp:1077
msgctxt "lowres"
msgid "Autosave:"
msgstr "Автозбереж.:"
-#: gui/options.cpp:1077
+#: gui/options.cpp:1085
msgid "Keys"
msgstr "Клавіші"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "GUI Language:"
msgstr "Мова інтерф.:"
-#: gui/options.cpp:1084
+#: gui/options.cpp:1092
msgid "Language of ScummVM GUI"
msgstr "Мова графічного інтерфейсу ScummVM"
-#: gui/options.cpp:1233
+#: gui/options.cpp:1241
msgid "You have to restart ScummVM to take the effect."
msgstr "Ви повинні перезапустити ScummVM щоб застосувати зміни."
-#: gui/options.cpp:1246
+#: gui/options.cpp:1254
msgid "Select directory for savegames"
msgstr "Виберіть папку для збережень"
-#: gui/options.cpp:1253
+#: gui/options.cpp:1261
msgid "The chosen directory cannot be written to. Please select another one."
msgstr "Не можу писати у вибрану папку. Будь ласка, вкажіть іншу."
-#: gui/options.cpp:1262
+#: gui/options.cpp:1270
msgid "Select directory for GUI themes"
msgstr "Виберіть папку для тем GUI"
-#: gui/options.cpp:1272
+#: gui/options.cpp:1280
msgid "Select directory for extra files"
msgstr "Виберіть папку з додатковими файлами"
-#: gui/options.cpp:1283
+#: gui/options.cpp:1291
msgid "Select directory for plugins"
msgstr "Виберіть папку з плагинами"
-#: gui/options.cpp:1328
+#: gui/options.cpp:1335
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
@@ -968,88 +968,107 @@ msgstr "Растеризатор зі згладжуванням (16bpp)"
msgid "Antialiased (16bpp)"
msgstr "Растеризатор зі згладжуванням (16bpp)"
-#: base/main.cpp:206
+#: base/main.cpp:201
#, c-format
msgid "Engine does not support debug level '%s'"
msgstr "Движок не підтримує рівень відладки '%s'"
-#: base/main.cpp:274
+#: base/main.cpp:269
msgid "Menu"
msgstr "Меню"
-#: base/main.cpp:277 backends/platform/symbian/src/SymbianActions.cpp:48
+#: base/main.cpp:272 backends/platform/symbian/src/SymbianActions.cpp:48
#: backends/platform/wince/CEActionsPocket.cpp:48
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Skip"
msgstr "Пропустити"
-#: base/main.cpp:280 backends/platform/symbian/src/SymbianActions.cpp:53
+#: base/main.cpp:275 backends/platform/symbian/src/SymbianActions.cpp:53
#: backends/platform/wince/CEActionsPocket.cpp:45
msgid "Pause"
msgstr "Пауза"
-#: base/main.cpp:283
+#: base/main.cpp:278
msgid "Skip line"
msgstr "Пропустити рядок"
-#: base/main.cpp:435
+#: base/main.cpp:433
msgid "Error running game:"
msgstr "Помилка запуску гри:"
-#: base/main.cpp:459
+#: base/main.cpp:457
msgid "Could not find any engine capable of running the selected game"
msgstr "Не можу знайти движок для запуску вибраної гри"
-#: common/error.cpp:43
-msgid "Invalid Path"
-msgstr "Неправильний шлях"
+#: common/error.cpp:42
+msgid "No error"
+msgstr ""
#: common/error.cpp:44
-msgid "Game Data not found"
+#, fuzzy
+msgid "Game data not found"
msgstr "Немає файлів гри"
-#: common/error.cpp:45
-msgid "Game Id not supported"
+#: common/error.cpp:46
+#, fuzzy
+msgid "Game id not supported"
msgstr "Game Id не підтримується"
-#: common/error.cpp:46
-msgid "Unsupported Color Mode"
+#: common/error.cpp:48
+#, fuzzy
+msgid "Unsupported color mode"
msgstr "Режим Кольору не підтримується"
-#: common/error.cpp:48
+#: common/error.cpp:51
msgid "Read permission denied"
msgstr "Недостатньо прав для читання"
-#: common/error.cpp:49
+#: common/error.cpp:53
msgid "Write permission denied"
msgstr "Недостатньо прав для запису"
-#: common/error.cpp:52
-msgid "Path not exists"
+#: common/error.cpp:56
+#, fuzzy
+msgid "Path does not exist"
msgstr "Шлях не знайдений"
-#: common/error.cpp:53
+#: common/error.cpp:58
msgid "Path not a directory"
msgstr "Шлях не є папкою"
-#: common/error.cpp:54
+#: common/error.cpp:60
msgid "Path not a file"
msgstr "Шлях не є файлом"
-#: common/error.cpp:56
+#: common/error.cpp:63
msgid "Cannot create file"
msgstr "Не можу створити файл"
-#: common/error.cpp:57
-msgid "Reading failed"
+#: common/error.cpp:65
+#, fuzzy
+msgid "Reading data failed"
msgstr "Помилка читання"
-#: common/error.cpp:58
+#: common/error.cpp:67
msgid "Writing data failed"
msgstr "Помилка запису даних"
-#: common/error.cpp:60 common/error.cpp:71
-msgid "Unknown Error"
+#: common/error.cpp:70
+msgid "Could not find suitable engine plugin"
+msgstr ""
+
+#: common/error.cpp:72
+#, fuzzy
+msgid "Engine plugin does not support save states"
+msgstr "Движок не підтримує рівень відладки '%s'"
+
+#: common/error.cpp:75
+msgid "Command line argument not processed"
+msgstr ""
+
+#: common/error.cpp:79
+#, fuzzy
+msgid "Unknown error"
msgstr "Невідома помилка"
#: common/util.cpp:276
@@ -1118,13 +1137,13 @@ msgstr "Зберегти гру: "
msgid "Save"
msgstr "Записати"
-#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:84
-#: engines/mohawk/dialogs.cpp:118
+#: engines/dialogs.cpp:315 engines/mohawk/dialogs.cpp:92
+#: engines/mohawk/dialogs.cpp:130
msgid "~O~K"
msgstr "~O~K"
-#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:85
-#: engines/mohawk/dialogs.cpp:119
+#: engines/dialogs.cpp:316 engines/mohawk/dialogs.cpp:93
+#: engines/mohawk/dialogs.cpp:131
msgid "~C~ancel"
msgstr "Ві~д~міна"
@@ -1663,7 +1682,7 @@ msgstr "Летіти направо"
msgid "Fly to lower right"
msgstr "Летіти нижче вправо"
-#: engines/scumm/scumm.cpp:2256 engines/agos/saveload.cpp:192
+#: engines/scumm/scumm.cpp:2255 engines/agos/saveload.cpp:192
#, c-format
msgid ""
"Failed to save game state to file:\n"
@@ -1674,7 +1693,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2263 engines/agos/saveload.cpp:157
+#: engines/scumm/scumm.cpp:2262 engines/agos/saveload.cpp:157
#, c-format
msgid ""
"Failed to load game state from file:\n"
@@ -1685,7 +1704,7 @@ msgstr ""
"\n"
"%s"
-#: engines/scumm/scumm.cpp:2275 engines/agos/saveload.cpp:200
+#: engines/scumm/scumm.cpp:2274 engines/agos/saveload.cpp:200
#, c-format
msgid ""
"Successfully saved game state in file:\n"
@@ -1696,15 +1715,22 @@ msgstr ""
"\n"
"%s"
-#: engines/mohawk/dialogs.cpp:81 engines/mohawk/dialogs.cpp:115
+#: engines/scumm/scumm.cpp:2497
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+
+#: engines/mohawk/dialogs.cpp:89 engines/mohawk/dialogs.cpp:127
msgid "~Z~ip Mode Activated"
msgstr "Режим швидкого переходу активований"
-#: engines/mohawk/dialogs.cpp:82
+#: engines/mohawk/dialogs.cpp:90
msgid "~T~ransitions Enabled"
msgstr "Переходи активовані"
-#: engines/mohawk/dialogs.cpp:116
+#: engines/mohawk/dialogs.cpp:128
msgid "~W~ater Effect Enabled"
msgstr "Ефекти води включені"
@@ -1724,7 +1750,7 @@ msgstr "Емулятор MAME OPL:"
msgid "DOSBox OPL emulator"
msgstr "Емулятор DOSBox OPL"
-#: audio/null.h:45
+#: audio/null.h:46
msgid "No music"
msgstr "Без музики"
@@ -1744,11 +1770,11 @@ msgstr "Apple II GS Емулятор (НЕ РЕАЛІЗОВАНО)"
msgid "C64 Audio Emulator"
msgstr "C64 Аудіо Емулятор"
-#: audio/softsynth/mt32.cpp:327
+#: audio/softsynth/mt32.cpp:326
msgid "Initialising MT-32 Emulator"
msgstr "Настроюю емулятор MT-32"
-#: audio/softsynth/mt32.cpp:541
+#: audio/softsynth/mt32.cpp:540
msgid "MT-32 Emulator"
msgstr "Емулятор MT-32"
@@ -1780,7 +1806,7 @@ msgstr " (Глобальна)"
msgid " (Game)"
msgstr " (Ігри)"
-#: backends/midi/windows.cpp:162
+#: backends/midi/windows.cpp:165
msgid "Windows MIDI"
msgstr "Windows MIDI"
@@ -2203,3 +2229,6 @@ msgid ""
msgstr ""
"Не забудьте перепризначити кнопку для дії 'Сховати Панель інстр.' щоб "
"побачити весь інвентар"
+
+#~ msgid "Invalid Path"
+#~ msgstr "Неправильний шлях"
diff --git a/ports.mk b/ports.mk
index 13b4e48c52..9e2681fe9e 100644
--- a/ports.mk
+++ b/ports.mk
@@ -180,6 +180,8 @@ endif
cp $(srcdir)/README $(WIN32PATH)/README.txt
cp /usr/local/README-SDL.txt $(WIN32PATH)
cp /usr/local/bin/SDL.dll $(WIN32PATH)
+ cp $(srcdir)/icons/scummvm.ico $(WIN32PATH)
+ cp $(srcdir)/dists/win32/ScummVM.iss $(WIN32PATH)
u2d $(WIN32PATH)/*.txt
#
@@ -200,30 +202,3 @@ endif
# Mark special targets as phony
.PHONY: deb bundle osxsnap win32dist install uninstall
-#
-# ARM specific
-#
-ifdef USE_TREMOLO
-DEFINES += -DUSE_TREMOR -DUSE_VORBIS -DUSE_TREMOLO
-LIBS += -ltremolo
-endif
-
-ifdef USE_ARM_SMUSH_ASM
-DEFINES += -DUSE_ARM_SMUSH_ASM
-endif
-
-ifdef USE_ARM_SOUND_ASM
-DEFINES += -DUSE_ARM_SOUND_ASM
-endif
-
-ifdef USE_ARM_GFX_ASM
-DEFINES += -DUSE_ARM_GFX_ASM
-endif
-
-ifdef USE_ARM_COSTUME_ASM
-DEFINES += -DUSE_ARM_COSTUME_ASM
-endif
-
-ifdef USE_ARM_SCALER_ASM
-DEFINES += -DUSE_ARM_SCALER_ASM
-endif
diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp
index 715741f41d..47322c86b7 100644
--- a/video/avi_decoder.cpp
+++ b/video/avi_decoder.cpp
@@ -23,10 +23,9 @@
*
*/
-#include "common/endian.h"
-#include "common/file.h"
#include "common/stream.h"
-#include "common/events.h"
+#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
@@ -407,7 +406,7 @@ Codec *AviDecoder::createCodec() {
case ID_IV32:
return new Indeo3Decoder(_bmInfo.width, _bmInfo.height);
#endif
-#ifdef GRAPHICS_TRUEMOTION1_H
+#ifdef VIDEO_CODECS_TRUEMOTION1_H
case ID_DUCK:
return new TrueMotion1Decoder(_bmInfo.width, _bmInfo.height);
#endif
diff --git a/video/avi_decoder.h b/video/avi_decoder.h
index 33189910c7..0154b57ea6 100644
--- a/video/avi_decoder.h
+++ b/video/avi_decoder.h
@@ -26,13 +26,34 @@
#ifndef VIDEO_AVI_PLAYER_H
#define VIDEO_AVI_PLAYER_H
+#include "common/endian.h"
+#include "common/rational.h"
+#include "common/rect.h"
+#include "common/str.h"
+
#include "video/video_decoder.h"
-#include "video/codecs/codec.h"
-#include "audio/audiostream.h"
#include "audio/mixer.h"
+namespace Audio {
+class QueuingAudioStream;
+}
+
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+struct PixelFormat;
+}
+
+namespace Graphics {
+struct Surface;
+}
+
namespace Video {
+class Codec;
+
#define UNKNOWN_HEADER(a) error("Unknown header found -- \'%s\'", tag2str(a))
// IDs used throughout the AVI files
diff --git a/video/codecs/cdtoons.cpp b/video/codecs/cdtoons.cpp
index 2d7920fb18..51e3c23eaa 100644
--- a/video/codecs/cdtoons.cpp
+++ b/video/codecs/cdtoons.cpp
@@ -24,9 +24,9 @@
*/
#include "video/codecs/cdtoons.h"
+#include "common/rect.h"
#include "common/stream.h"
-
-#include "common/system.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/codecs/cinepak.cpp b/video/codecs/cinepak.cpp
index 28fcd67a03..2a782dbafe 100644
--- a/video/codecs/cinepak.cpp
+++ b/video/codecs/cinepak.cpp
@@ -25,7 +25,13 @@
#include "video/codecs/cinepak.h"
+#include "common/debug.h"
+#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
+#include "common/util.h"
+
+#include "graphics/surface.h"
// Code here partially based off of ffmpeg ;)
diff --git a/video/codecs/cinepak.h b/video/codecs/cinepak.h
index 8b4c0216a3..34e4fe98eb 100644
--- a/video/codecs/cinepak.h
+++ b/video/codecs/cinepak.h
@@ -27,13 +27,19 @@
#define VIDEO_CODECS_CINEPAK_H
#include "common/scummsys.h"
-#include "common/stream.h"
#include "common/rect.h"
-#include "graphics/surface.h"
#include "graphics/pixelformat.h"
#include "video/codecs/codec.h"
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+struct Surface;
+}
+
namespace Video {
struct CinepakCodebook {
diff --git a/video/codecs/indeo3.cpp b/video/codecs/indeo3.cpp
index 742b30243f..b4f6c6ffe3 100644
--- a/video/codecs/indeo3.cpp
+++ b/video/codecs/indeo3.cpp
@@ -35,8 +35,8 @@
#include "common/system.h"
#include "common/endian.h"
-#include "common/frac.h"
-#include "common/file.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
#include "graphics/conversion.h"
diff --git a/video/codecs/mjpeg.cpp b/video/codecs/mjpeg.cpp
index 986b1079d3..2ef854039b 100644
--- a/video/codecs/mjpeg.cpp
+++ b/video/codecs/mjpeg.cpp
@@ -24,10 +24,16 @@
*/
#include "common/system.h"
-#include "graphics/conversion.h" // For YUV2RGB
+#include "common/textconsole.h"
+#include "graphics/jpeg.h"
+#include "graphics/surface.h"
#include "video/codecs/mjpeg.h"
+namespace Common {
+class SeekableReadStream;
+}
+
namespace Video {
JPEGDecoder::JPEGDecoder() : Codec() {
diff --git a/video/codecs/mjpeg.h b/video/codecs/mjpeg.h
index c9f931f091..d1395a8248 100644
--- a/video/codecs/mjpeg.h
+++ b/video/codecs/mjpeg.h
@@ -26,12 +26,18 @@
#ifndef VIDEO_CODECS_MJPEG_H
#define VIDEO_CODECS_MJPEG_H
-#include "common/scummsys.h"
-
#include "video/codecs/codec.h"
-#include "graphics/jpeg.h"
#include "graphics/pixelformat.h"
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+class JPEG;
+struct Surface;
+}
+
namespace Video {
// Motion JPEG Decoder
diff --git a/video/codecs/msrle.cpp b/video/codecs/msrle.cpp
index b750efa6a7..19309bc7aa 100644
--- a/video/codecs/msrle.cpp
+++ b/video/codecs/msrle.cpp
@@ -27,6 +27,7 @@
#include "video/codecs/msrle.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/codecs/msvideo1.cpp b/video/codecs/msvideo1.cpp
index 16041b5baa..93e9aaae64 100644
--- a/video/codecs/msvideo1.cpp
+++ b/video/codecs/msvideo1.cpp
@@ -27,6 +27,7 @@
#include "video/codecs/msvideo1.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/codecs/qdm2.cpp b/video/codecs/qdm2.cpp
index 61e59c8aba..8126b57a95 100644
--- a/video/codecs/qdm2.cpp
+++ b/video/codecs/qdm2.cpp
@@ -34,8 +34,9 @@
#include "video/codecs/qdm2data.h"
#include "common/array.h"
+#include "common/debug.h"
#include "common/stream.h"
-#include "common/system.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/codecs/qdm2.h b/video/codecs/qdm2.h
index a6acf3a83e..b224e801a6 100644
--- a/video/codecs/qdm2.h
+++ b/video/codecs/qdm2.h
@@ -30,11 +30,11 @@
#define VIDEO_CODECS_QDM2_H
namespace Common {
- class SeekableReadStream;
+class SeekableReadStream;
}
namespace Audio {
- class AudioStream;
+class AudioStream;
}
namespace Video {
diff --git a/video/codecs/qtrle.cpp b/video/codecs/qtrle.cpp
index 78267cc56e..0ae27f6284 100644
--- a/video/codecs/qtrle.cpp
+++ b/video/codecs/qtrle.cpp
@@ -28,9 +28,11 @@
#include "video/codecs/qtrle.h"
+#include "common/debug.h"
#include "common/scummsys.h"
#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "graphics/colormasks.h"
#include "graphics/surface.h"
diff --git a/video/codecs/rpza.cpp b/video/codecs/rpza.cpp
index c3a983004c..0c06661c50 100644
--- a/video/codecs/rpza.cpp
+++ b/video/codecs/rpza.cpp
@@ -27,8 +27,10 @@
#include "video/codecs/rpza.h"
+#include "common/debug.h"
#include "common/system.h"
#include "common/stream.h"
+#include "common/textconsole.h"
#include "graphics/colormasks.h"
namespace Video {
diff --git a/video/codecs/smc.cpp b/video/codecs/smc.cpp
index 2b45a67360..bbd6073497 100644
--- a/video/codecs/smc.cpp
+++ b/video/codecs/smc.cpp
@@ -27,6 +27,7 @@
#include "video/codecs/smc.h"
#include "common/stream.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/codecs/truemotion1.cpp b/video/codecs/truemotion1.cpp
index 00c15871a2..70c456d4a8 100644
--- a/video/codecs/truemotion1.cpp
+++ b/video/codecs/truemotion1.cpp
@@ -32,6 +32,8 @@
#include "video/codecs/truemotion1data.h"
#include "common/stream.h"
+#include "common/textconsole.h"
+#include "common/util.h"
namespace Video {
diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp
index b68e10b2c3..4448c9162e 100644
--- a/video/coktel_decoder.cpp
+++ b/video/coktel_decoder.cpp
@@ -24,6 +24,13 @@
*/
#include "common/scummsys.h"
+#include "common/rect.h"
+#include "common/endian.h"
+#include "common/stream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "common/types.h"
+#include "common/util.h"
#include "video/coktel_decoder.h"
diff --git a/video/coktel_decoder.h b/video/coktel_decoder.h
index e83e1d29ed..46007d55da 100644
--- a/video/coktel_decoder.h
+++ b/video/coktel_decoder.h
@@ -35,14 +35,25 @@
#include "common/list.h"
#include "common/array.h"
-#include "common/rect.h"
+#include "common/rational.h"
+#include "common/str.h"
+
+#include "graphics/surface.h"
#include "video/video_decoder.h"
#include "audio/mixer.h"
+namespace Common {
+struct Rect;
+class SeekableReadStream;
+}
namespace Audio {
- class QueuingAudioStream;
+class QueuingAudioStream;
+}
+
+namespace Graphics {
+struct PixelFormat;
}
namespace Video {
diff --git a/video/dxa_decoder.cpp b/video/dxa_decoder.cpp
index 2e864fd3d6..9e3f59705c 100644
--- a/video/dxa_decoder.cpp
+++ b/video/dxa_decoder.cpp
@@ -25,10 +25,11 @@
#include "common/debug.h"
#include "common/endian.h"
-#include "common/archive.h"
#include "common/system.h"
#include "common/stream.h"
-#include "common/util.h"
+#include "common/textconsole.h"
+
+#include "graphics/surface.h"
#include "video/dxa_decoder.h"
diff --git a/video/dxa_decoder.h b/video/dxa_decoder.h
index 614cb2d90b..498f4630d4 100644
--- a/video/dxa_decoder.h
+++ b/video/dxa_decoder.h
@@ -26,8 +26,18 @@
#ifndef VIDEO_DXA_DECODER_H
#define VIDEO_DXA_DECODER_H
+#include "common/rational.h"
+#include "graphics/pixelformat.h"
#include "video/video_decoder.h"
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+struct Surface;
+}
+
namespace Video {
/**
diff --git a/video/flic_decoder.cpp b/video/flic_decoder.cpp
index 38e82906ba..47a9244a13 100644
--- a/video/flic_decoder.cpp
+++ b/video/flic_decoder.cpp
@@ -24,10 +24,11 @@
*/
#include "video/flic_decoder.h"
-#include "common/archive.h"
-#include "common/stream.h"
#include "common/endian.h"
+#include "common/rect.h"
+#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
namespace Video {
diff --git a/video/flic_decoder.h b/video/flic_decoder.h
index 954fed7bfa..42e7863fc6 100644
--- a/video/flic_decoder.h
+++ b/video/flic_decoder.h
@@ -28,10 +28,13 @@
#include "video/video_decoder.h"
#include "common/list.h"
-#include "common/rect.h"
+#include "common/rational.h"
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
namespace Common {
- class SeekableReadStream;
+struct Rect;
+class SeekableReadStream;
}
namespace Video {
diff --git a/video/mpeg_player.h b/video/mpeg_player.h
index 44baff9c2b..dde272a9c6 100644
--- a/video/mpeg_player.h
+++ b/video/mpeg_player.h
@@ -81,7 +81,7 @@ typedef sequence_t mpeg2_sequence_t;
#define BUFFER_SIZE 4096
namespace Common {
- class File;
+class File;
}
class OSystem;
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp
index 24225ece89..d455b13b64 100644
--- a/video/qt_decoder.cpp
+++ b/video/qt_decoder.cpp
@@ -39,20 +39,32 @@
#include "common/memstream.h"
#include "common/util.h"
#include "common/zlib.h"
+#include "common/stream.h"
+#include "common/system.h"
+#include "common/textconsole.h"
+#include "common/types.h"
+
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
+
+
+#include "audio/audiostream.h"
// Audio codecs
#include "audio/decoders/adpcm.h"
#include "audio/decoders/raw.h"
-#include "video/codecs/qdm2.h"
// Video codecs
+#include "video/codecs/codec.h"
#include "video/codecs/cinepak.h"
#include "video/codecs/mjpeg.h"
+#include "video/codecs/qdm2.h"
#include "video/codecs/qtrle.h"
#include "video/codecs/rpza.h"
#include "video/codecs/smc.h"
#include "video/codecs/cdtoons.h"
+
namespace Video {
////////////////////////////////////////////
diff --git a/video/qt_decoder.h b/video/qt_decoder.h
index f11689e021..624134a26a 100644
--- a/video/qt_decoder.h
+++ b/video/qt_decoder.h
@@ -35,22 +35,32 @@
#define VIDEO_QT_DECODER_H
#include "common/scummsys.h"
-#include "common/queue.h"
#include "common/rational.h"
#include "video/video_decoder.h"
-#include "video/codecs/codec.h"
-#include "audio/audiostream.h"
#include "audio/mixer.h"
+#include "audio/timestamp.h"
namespace Common {
- class File;
- class MacResManager;
+class MacResManager;
+class SeekableReadStream;
+}
+
+namespace Audio {
+class AudioStream;
+class QueuingAudioStream;
+}
+
+namespace Graphics {
+struct PixelFormat;
+struct Surface;
}
namespace Video {
+class Codec;
+
/**
* Decoder for QuickTime videos.
*
diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp
index 6e82b0ede9..7a95eedf6a 100644
--- a/video/smk_decoder.cpp
+++ b/video/smk_decoder.cpp
@@ -29,11 +29,11 @@
#include "video/smk_decoder.h"
-#include "common/archive.h"
#include "common/endian.h"
#include "common/util.h"
#include "common/stream.h"
#include "common/system.h"
+#include "common/textconsole.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
diff --git a/video/smk_decoder.h b/video/smk_decoder.h
index 2d01909a44..b4eda88203 100644
--- a/video/smk_decoder.h
+++ b/video/smk_decoder.h
@@ -26,11 +26,18 @@
#ifndef VIDEO_SMK_PLAYER_H
#define VIDEO_SMK_PLAYER_H
+#include "common/rational.h"
+#include "graphics/pixelformat.h"
+#include "graphics/surface.h"
#include "video/video_decoder.h"
#include "audio/mixer.h"
namespace Audio {
- class QueuingAudioStream;
+class QueuingAudioStream;
+}
+
+namespace Common {
+class SeekableReadStream;
}
namespace Video {
diff --git a/video/video_decoder.cpp b/video/video_decoder.cpp
index a6317bac8f..dde2c09082 100644
--- a/video/video_decoder.cpp
+++ b/video/video_decoder.cpp
@@ -25,9 +25,12 @@
#include "video/video_decoder.h"
+#include "common/rational.h"
#include "common/file.h"
#include "common/system.h"
+#include "graphics/palette.h"
+
namespace Video {
VideoDecoder::VideoDecoder() {
diff --git a/video/video_decoder.h b/video/video_decoder.h
index 348b5dc0a3..b5574fd3fc 100644
--- a/video/video_decoder.h
+++ b/video/video_decoder.h
@@ -26,18 +26,19 @@
#ifndef VIDEO_DECODER_H
#define VIDEO_DECODER_H
-#include "common/events.h"
-#include "common/list.h"
-#include "common/rational.h"
-
-#include "graphics/surface.h"
-#include "graphics/pixelformat.h"
+#include "common/str.h"
#include "audio/timestamp.h" // TODO: Move this to common/ ?
namespace Common {
- class SeekableReadStream;
+class Rational;
+class SeekableReadStream;
+}
+
+namespace Graphics {
+struct PixelFormat;
+struct Surface;
}
namespace Video {