diff options
author | Kamil Zbróg | 2013-11-04 11:40:22 +0000 |
---|---|---|
committer | Kamil Zbróg | 2013-11-04 11:40:22 +0000 |
commit | 85694ec1f5793eb4025f4153ef4bf71d3769d699 (patch) | |
tree | c93fab58eb2f52eca244895a9867d28134dbd7f5 /engines/zvision | |
parent | 026390145b0e947be7cccf3d9ba329eb2270a2ed (diff) | |
parent | 9dc35033f523c9c694f24e15ed45ba6194786a25 (diff) | |
download | scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.tar.gz scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.tar.bz2 scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.zip |
Merge remote-tracking branch 'own/prince' into prince-malik
Conflicts:
engines/prince/debugger.cpp
engines/prince/debugger.h
engines/prince/detection.cpp
engines/prince/font.cpp
engines/prince/graphics.cpp
engines/prince/prince.cpp
engines/prince/prince.h
engines/prince/script.cpp
engines/prince/script.h
Diffstat (limited to 'engines/zvision')
-rw-r--r-- | engines/zvision/animation/rlf_animation.cpp (renamed from engines/zvision/rlf_animation.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/animation/rlf_animation.h (renamed from engines/zvision/rlf_animation.h) | 0 | ||||
-rw-r--r-- | engines/zvision/archives/zfs_archive.cpp (renamed from engines/zvision/zfs_archive.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/archives/zfs_archive.h (renamed from engines/zvision/zfs_archive.h) | 0 | ||||
-rw-r--r-- | engines/zvision/core/console.cpp (renamed from engines/zvision/console.cpp) | 16 | ||||
-rw-r--r-- | engines/zvision/core/console.h (renamed from engines/zvision/console.h) | 0 | ||||
-rw-r--r-- | engines/zvision/core/events.cpp (renamed from engines/zvision/events.cpp) | 10 | ||||
-rw-r--r-- | engines/zvision/core/menu.h (renamed from engines/zvision/menu.h) | 0 | ||||
-rw-r--r-- | engines/zvision/core/save_manager.cpp (renamed from engines/zvision/save_manager.cpp) | 6 | ||||
-rw-r--r-- | engines/zvision/core/save_manager.h (renamed from engines/zvision/save_manager.h) | 0 | ||||
-rw-r--r-- | engines/zvision/cursors/cursor.cpp (renamed from engines/zvision/cursor.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/cursors/cursor.h (renamed from engines/zvision/cursor.h) | 0 | ||||
-rw-r--r-- | engines/zvision/cursors/cursor_manager.cpp (renamed from engines/zvision/cursor_manager.cpp) | 3 | ||||
-rw-r--r-- | engines/zvision/cursors/cursor_manager.h (renamed from engines/zvision/cursor_manager.h) | 2 | ||||
-rw-r--r-- | engines/zvision/detection.cpp | 2 | ||||
-rw-r--r-- | engines/zvision/fonts/truetype_font.cpp (renamed from engines/zvision/truetype_font.cpp) | 4 | ||||
-rw-r--r-- | engines/zvision/fonts/truetype_font.h (renamed from engines/zvision/truetype_font.h) | 0 | ||||
-rw-r--r-- | engines/zvision/graphics/render_manager.cpp (renamed from engines/zvision/render_manager.cpp) | 4 | ||||
-rw-r--r-- | engines/zvision/graphics/render_manager.h (renamed from engines/zvision/render_manager.h) | 4 | ||||
-rw-r--r-- | engines/zvision/graphics/render_table.cpp (renamed from engines/zvision/render_table.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/graphics/render_table.h (renamed from engines/zvision/render_table.h) | 0 | ||||
-rw-r--r-- | engines/zvision/inventory/inventory_manager.h (renamed from engines/zvision/inventory_manager.h) | 0 | ||||
-rw-r--r-- | engines/zvision/module.mk | 58 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.cpp (renamed from engines/zvision/actions.cpp) | 29 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.h (renamed from engines/zvision/actions.h) | 0 | ||||
-rw-r--r-- | engines/zvision/scripting/control.cpp (renamed from engines/zvision/control.cpp) | 6 | ||||
-rw-r--r-- | engines/zvision/scripting/control.h (renamed from engines/zvision/control.h) | 0 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/animation_control.cpp (renamed from engines/zvision/animation_control.cpp) | 10 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/animation_control.h (renamed from engines/zvision/animation_control.h) | 2 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/input_control.cpp (renamed from engines/zvision/input_control.cpp) | 10 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/input_control.h (renamed from engines/zvision/input_control.h) | 4 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/lever_control.cpp (renamed from engines/zvision/lever_control.cpp) | 20 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/lever_control.h (renamed from engines/zvision/lever_control.h) | 2 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/push_toggle_control.cpp (renamed from engines/zvision/push_toggle_control.cpp) | 8 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/push_toggle_control.h (renamed from engines/zvision/push_toggle_control.h) | 2 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/timer_node.cpp (renamed from engines/zvision/timer_node.cpp) | 24 | ||||
-rw-r--r-- | engines/zvision/scripting/controls/timer_node.h (renamed from engines/zvision/timer_node.h) | 3 | ||||
-rw-r--r-- | engines/zvision/scripting/puzzle.h (renamed from engines/zvision/puzzle.h) | 11 | ||||
-rw-r--r-- | engines/zvision/scripting/scr_file_handling.cpp (renamed from engines/zvision/scr_file_handling.cpp) | 20 | ||||
-rw-r--r-- | engines/zvision/scripting/script_manager.cpp (renamed from engines/zvision/script_manager.cpp) | 54 | ||||
-rw-r--r-- | engines/zvision/scripting/script_manager.h (renamed from engines/zvision/script_manager.h) | 23 | ||||
-rw-r--r-- | engines/zvision/sound/zork_raw.cpp (renamed from engines/zvision/zork_raw.cpp) | 22 | ||||
-rw-r--r-- | engines/zvision/sound/zork_raw.h (renamed from engines/zvision/zork_raw.h) | 0 | ||||
-rw-r--r-- | engines/zvision/strings/string_manager.cpp (renamed from engines/zvision/string_manager.cpp) | 4 | ||||
-rw-r--r-- | engines/zvision/strings/string_manager.h (renamed from engines/zvision/string_manager.h) | 2 | ||||
-rw-r--r-- | engines/zvision/subtitles/subtitles.h (renamed from engines/zvision/subtitles.h) | 0 | ||||
-rw-r--r-- | engines/zvision/utility/clock.cpp (renamed from engines/zvision/clock.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/utility/clock.h (renamed from engines/zvision/clock.h) | 0 | ||||
-rw-r--r-- | engines/zvision/utility/lzss_read_stream.cpp (renamed from engines/zvision/lzss_read_stream.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/utility/lzss_read_stream.h (renamed from engines/zvision/lzss_read_stream.h) | 0 | ||||
-rw-r--r-- | engines/zvision/utility/single_value_container.cpp (renamed from engines/zvision/single_value_container.cpp) | 2 | ||||
-rw-r--r-- | engines/zvision/utility/single_value_container.h (renamed from engines/zvision/single_value_container.h) | 0 | ||||
-rw-r--r-- | engines/zvision/utility/utility.cpp (renamed from engines/zvision/utility.cpp) | 4 | ||||
-rw-r--r-- | engines/zvision/utility/utility.h (renamed from engines/zvision/utility.h) | 0 | ||||
-rw-r--r-- | engines/zvision/video/video.cpp (renamed from engines/zvision/video.cpp) | 6 | ||||
-rw-r--r-- | engines/zvision/video/zork_avi_decoder.cpp (renamed from engines/zvision/zork_avi_decoder.cpp) | 4 | ||||
-rw-r--r-- | engines/zvision/video/zork_avi_decoder.h (renamed from engines/zvision/zork_avi_decoder.h) | 0 | ||||
-rw-r--r-- | engines/zvision/zvision.cpp | 17 | ||||
-rw-r--r-- | engines/zvision/zvision.h | 12 |
59 files changed, 232 insertions, 190 deletions
diff --git a/engines/zvision/rlf_animation.cpp b/engines/zvision/animation/rlf_animation.cpp index 5f1d41daae..c7307265c0 100644 --- a/engines/zvision/rlf_animation.cpp +++ b/engines/zvision/animation/rlf_animation.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/rlf_animation.h" +#include "zvision/animation/rlf_animation.h" #include "common/str.h" #include "common/file.h" diff --git a/engines/zvision/rlf_animation.h b/engines/zvision/animation/rlf_animation.h index fe5b0d68b4..fe5b0d68b4 100644 --- a/engines/zvision/rlf_animation.h +++ b/engines/zvision/animation/rlf_animation.h diff --git a/engines/zvision/zfs_archive.cpp b/engines/zvision/archives/zfs_archive.cpp index 24cff27fc4..b8175b4903 100644 --- a/engines/zvision/zfs_archive.cpp +++ b/engines/zvision/archives/zfs_archive.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/zfs_archive.h" +#include "zvision/archives/zfs_archive.h" #include "common/memstream.h" #include "common/debug.h" diff --git a/engines/zvision/zfs_archive.h b/engines/zvision/archives/zfs_archive.h index d7b45e4b47..d7b45e4b47 100644 --- a/engines/zvision/zfs_archive.h +++ b/engines/zvision/archives/zfs_archive.h diff --git a/engines/zvision/console.cpp b/engines/zvision/core/console.cpp index a095d3fa6a..0d325ef7f7 100644 --- a/engines/zvision/console.cpp +++ b/engines/zvision/core/console.cpp @@ -22,16 +22,16 @@ #include "common/scummsys.h" -#include "zvision/console.h" +#include "zvision/core/console.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" -#include "zvision/string_manager.h" -#include "zvision/zork_avi_decoder.h" -#include "zvision/zork_raw.h" -#include "zvision/utility.h" -#include "zvision/cursor.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/strings/string_manager.h" +#include "zvision/video/zork_avi_decoder.h" +#include "zvision/sound/zork_raw.h" +#include "zvision/utility/utility.h" +#include "zvision/cursors/cursor.h" #include "common/system.h" #include "common/file.h" diff --git a/engines/zvision/console.h b/engines/zvision/core/console.h index 0ca1b8cc70..0ca1b8cc70 100644 --- a/engines/zvision/console.h +++ b/engines/zvision/core/console.h diff --git a/engines/zvision/events.cpp b/engines/zvision/core/events.cpp index 1103dc3000..40bfb879b1 100644 --- a/engines/zvision/events.cpp +++ b/engines/zvision/core/events.cpp @@ -24,11 +24,11 @@ #include "zvision/zvision.h" -#include "zvision/console.h" -#include "zvision/cursor_manager.h" -#include "zvision/render_manager.h" -#include "zvision/script_manager.h" -#include "zvision/rlf_animation.h" +#include "zvision/core/console.h" +#include "zvision/cursors/cursor_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/animation/rlf_animation.h" #include "common/events.h" #include "common/system.h" diff --git a/engines/zvision/menu.h b/engines/zvision/core/menu.h index affc69abd5..affc69abd5 100644 --- a/engines/zvision/menu.h +++ b/engines/zvision/core/menu.h diff --git a/engines/zvision/save_manager.cpp b/engines/zvision/core/save_manager.cpp index c3deadd703..b91f8eacad 100644 --- a/engines/zvision/save_manager.cpp +++ b/engines/zvision/core/save_manager.cpp @@ -22,11 +22,11 @@ #include "common/scummsys.h" -#include "zvision/save_manager.h" +#include "zvision/core/save_manager.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" #include "common/system.h" diff --git a/engines/zvision/save_manager.h b/engines/zvision/core/save_manager.h index b4770e68b2..b4770e68b2 100644 --- a/engines/zvision/save_manager.h +++ b/engines/zvision/core/save_manager.h diff --git a/engines/zvision/cursor.cpp b/engines/zvision/cursors/cursor.cpp index 9023d97e0d..be80f6585b 100644 --- a/engines/zvision/cursor.cpp +++ b/engines/zvision/cursors/cursor.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/cursor.h" +#include "zvision/cursors/cursor.h" #include "common/str.h" #include "common/file.h" diff --git a/engines/zvision/cursor.h b/engines/zvision/cursors/cursor.h index 18ac28ce8b..18ac28ce8b 100644 --- a/engines/zvision/cursor.h +++ b/engines/zvision/cursors/cursor.h diff --git a/engines/zvision/cursor_manager.cpp b/engines/zvision/cursors/cursor_manager.cpp index 595e7946dd..671f26ba2d 100644 --- a/engines/zvision/cursor_manager.cpp +++ b/engines/zvision/cursors/cursor_manager.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/cursor_manager.h" +#include "zvision/cursors/cursor_manager.h" #include "zvision/zvision.h" @@ -102,6 +102,7 @@ void CursorManager::changeCursor(const Common::String &cursorName, bool pushed) char buffer[25]; strcpy(buffer, _zgiCursorFileNames[i]); buffer[3] += 2; + changeCursor(ZorkCursor(buffer)); } return; } diff --git a/engines/zvision/cursor_manager.h b/engines/zvision/cursors/cursor_manager.h index 0a369aaf9e..e982a40188 100644 --- a/engines/zvision/cursor_manager.h +++ b/engines/zvision/cursors/cursor_manager.h @@ -23,7 +23,7 @@ #ifndef ZVISION_CURSOR_MANAGER_H #define ZVISION_CURSOR_MANAGER_H -#include "zvision/cursor.h" +#include "zvision/cursors/cursor.h" #include "common/str.h" diff --git a/engines/zvision/detection.cpp b/engines/zvision/detection.cpp index 06e921dfa8..49664935e1 100644 --- a/engines/zvision/detection.cpp +++ b/engines/zvision/detection.cpp @@ -80,7 +80,7 @@ static const ZVisionGameDescription gameDescriptions[] = { 0, AD_ENTRY1s("SCRIPTS.ZFS", "81efd40ecc3d22531e211368b779f17f", 8336944), Common::EN_ANY, - Common::kPlatformDOS, + Common::kPlatformWindows, ADGF_NO_FLAGS, GUIO1(GUIO_NONE) }, diff --git a/engines/zvision/truetype_font.cpp b/engines/zvision/fonts/truetype_font.cpp index 289b5fbbaf..f8910bfe06 100644 --- a/engines/zvision/truetype_font.cpp +++ b/engines/zvision/fonts/truetype_font.cpp @@ -22,10 +22,10 @@ #include "common/scummsys.h" -#include "zvision/truetype_font.h" +#include "zvision/fonts/truetype_font.h" #include "zvision/zvision.h" -#include "zvision/render_manager.h" +#include "zvision/graphics/render_manager.h" #include "common/debug.h" #include "common/file.h" diff --git a/engines/zvision/truetype_font.h b/engines/zvision/fonts/truetype_font.h index 33f016cffd..33f016cffd 100644 --- a/engines/zvision/truetype_font.h +++ b/engines/zvision/fonts/truetype_font.h diff --git a/engines/zvision/render_manager.cpp b/engines/zvision/graphics/render_manager.cpp index af8ca7fd64..f19df88935 100644 --- a/engines/zvision/render_manager.cpp +++ b/engines/zvision/graphics/render_manager.cpp @@ -22,9 +22,9 @@ #include "common/scummsys.h" -#include "zvision/render_manager.h" +#include "zvision/graphics/render_manager.h" -#include "zvision/lzss_read_stream.h" +#include "zvision/utility/lzss_read_stream.h" #include "common/file.h" #include "common/system.h" diff --git a/engines/zvision/render_manager.h b/engines/zvision/graphics/render_manager.h index 111bf6276c..cb71308bc3 100644 --- a/engines/zvision/render_manager.h +++ b/engines/zvision/graphics/render_manager.h @@ -23,8 +23,8 @@ #ifndef ZVISION_RENDER_MANAGER_H #define ZVISION_RENDER_MANAGER_H -#include "zvision/render_table.h" -#include "zvision/truetype_font.h" +#include "zvision/graphics/render_table.h" +#include "zvision/fonts/truetype_font.h" #include "common/rect.h" #include "common/hashmap.h" diff --git a/engines/zvision/render_table.cpp b/engines/zvision/graphics/render_table.cpp index b6a6a3d2bb..ffd42e6a60 100644 --- a/engines/zvision/render_table.cpp +++ b/engines/zvision/graphics/render_table.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/render_table.h" +#include "zvision/graphics/render_table.h" #include "common/rect.h" diff --git a/engines/zvision/render_table.h b/engines/zvision/graphics/render_table.h index 898091193a..898091193a 100644 --- a/engines/zvision/render_table.h +++ b/engines/zvision/graphics/render_table.h diff --git a/engines/zvision/inventory_manager.h b/engines/zvision/inventory/inventory_manager.h index ae6d116b18..ae6d116b18 100644 --- a/engines/zvision/inventory_manager.h +++ b/engines/zvision/inventory/inventory_manager.h diff --git a/engines/zvision/module.mk b/engines/zvision/module.mk index 261168f133..4cf9c989cd 100644 --- a/engines/zvision/module.mk +++ b/engines/zvision/module.mk @@ -1,36 +1,36 @@ MODULE := engines/zvision MODULE_OBJS := \ - actions.o \ - animation_control.o \ - clock.o \ - console.o \ - control.o \ - cursor.o \ - cursor_manager.o \ + animation/rlf_animation.o \ + archives/zfs_archive.o \ + core/console.o \ + core/events.o \ + core/save_manager.o \ + cursors/cursor.o \ + cursors/cursor_manager.o \ detection.o \ - events.o \ - input_control.o \ - lever_control.o \ - lzss_read_stream.o \ - push_toggle_control.o \ - render_manager.o \ - render_table.o \ - rlf_animation.o \ - save_manager.o \ - scr_file_handling.o \ - script_manager.o \ - single_value_container.o \ - string_manager.o \ - timer_node.o \ - truetype_font.o \ - utility.o \ - video.o \ - zvision.o \ - zfs_archive.o \ - zork_avi_decoder.o \ - zork_raw.o - + fonts/truetype_font.o \ + graphics/render_manager.o \ + graphics/render_table.o \ + scripting/actions.o \ + scripting/control.o \ + scripting/controls/animation_control.o \ + scripting/controls/input_control.o \ + scripting/controls/lever_control.o \ + scripting/controls/push_toggle_control.o \ + scripting/controls/timer_node.o \ + scripting/scr_file_handling.o \ + scripting/script_manager.o \ + sound/zork_raw.o \ + strings/string_manager.o \ + utility/clock.o \ + utility/lzss_read_stream.o \ + utility/single_value_container.o \ + utility/utility.o \ + video/video.o \ + video/zork_avi_decoder.o \ + zvision.o + MODULE_DIRS += \ engines/zvision diff --git a/engines/zvision/actions.cpp b/engines/zvision/scripting/actions.cpp index eae4ec2ed5..878fa752d5 100644 --- a/engines/zvision/actions.cpp +++ b/engines/zvision/scripting/actions.cpp @@ -22,15 +22,15 @@ #include "common/scummsys.h" -#include "zvision/actions.h" +#include "zvision/scripting/actions.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" -#include "zvision/zork_raw.h" -#include "zvision/zork_avi_decoder.h" -#include "zvision/timer_node.h" -#include "zvision/animation_control.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/sound/zork_raw.h" +#include "zvision/video/zork_avi_decoder.h" +#include "zvision/scripting/controls/timer_node.h" +#include "zvision/scripting/controls/animation_control.h" #include "common/file.h" @@ -124,7 +124,8 @@ ActionDisableControl::ActionDisableControl(const Common::String &line) { bool ActionDisableControl::execute(ZVision *engine) { debug("Disabling control %u", _key); - engine->getScriptManager()->disableControl(_key); + ScriptManager *scriptManager = engine->getScriptManager(); + scriptManager->setStateFlags(_key, scriptManager->getStateFlags(_key) | ScriptManager::DISABLED); return true; } @@ -141,7 +142,8 @@ ActionEnableControl::ActionEnableControl(const Common::String &line) { bool ActionEnableControl::execute(ZVision *engine) { debug("Enabling control %u", _key); - engine->getScriptManager()->enableControl(_key); + ScriptManager *scriptManager = engine->getScriptManager(); + scriptManager->setStateFlags(_key, scriptManager->getStateFlags(_key) & ~ScriptManager::DISABLED); return true; } @@ -185,6 +187,9 @@ bool ActionMusic::execute(ZVision *engine) { Common::File *file = new Common::File(); if (file->open(_fileName)) { audioStream = Audio::makeWAVStream(file, DisposeAfterUse::YES); + } else { + warning("Unable to open %s", _fileName.c_str()); + return false; } } else { audioStream = makeRawZorkStream(_fileName, engine); @@ -220,8 +225,10 @@ bool ActionPreloadAnimation::execute(ZVision *engine) { // TODO: Check if the Control already exists // Create the control, but disable it until PlayPreload is called - engine->getScriptManager()->addControl(new AnimationControl(engine, _key, _fileName)); - engine->getScriptManager()->disableControl(_key); + ScriptManager *scriptManager = engine->getScriptManager(); + scriptManager->addControl(new AnimationControl(engine, _key, _fileName)); + scriptManager->setStateFlags(_key, scriptManager->getStateFlags(_key) | ScriptManager::DISABLED); + return true; } diff --git a/engines/zvision/actions.h b/engines/zvision/scripting/actions.h index afa3e3a2ac..afa3e3a2ac 100644 --- a/engines/zvision/actions.h +++ b/engines/zvision/scripting/actions.h diff --git a/engines/zvision/control.cpp b/engines/zvision/scripting/control.cpp index bcbdabc143..35c4ea1441 100644 --- a/engines/zvision/control.cpp +++ b/engines/zvision/scripting/control.cpp @@ -22,11 +22,11 @@ #include "common/scummsys.h" -#include "zvision/control.h" +#include "zvision/scripting/control.h" #include "zvision/zvision.h" -#include "zvision/render_manager.h" -#include "zvision/utility.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/utility/utility.h" #include "common/stream.h" diff --git a/engines/zvision/control.h b/engines/zvision/scripting/control.h index 770c540a12..770c540a12 100644 --- a/engines/zvision/control.h +++ b/engines/zvision/scripting/control.h diff --git a/engines/zvision/animation_control.cpp b/engines/zvision/scripting/controls/animation_control.cpp index 1143380501..ec8f7a9647 100644 --- a/engines/zvision/animation_control.cpp +++ b/engines/zvision/scripting/controls/animation_control.cpp @@ -22,13 +22,13 @@ #include "common/scummsys.h" -#include "zvision/animation_control.h" +#include "zvision/scripting/controls/animation_control.h" #include "zvision/zvision.h" -#include "zvision/render_manager.h" -#include "zvision/script_manager.h" -#include "zvision/rlf_animation.h" -#include "zvision/zork_avi_decoder.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/animation/rlf_animation.h" +#include "zvision/video/zork_avi_decoder.h" #include "video/video_decoder.h" diff --git a/engines/zvision/animation_control.h b/engines/zvision/scripting/controls/animation_control.h index 2ac3691483..77663aaf1e 100644 --- a/engines/zvision/animation_control.h +++ b/engines/zvision/scripting/controls/animation_control.h @@ -23,7 +23,7 @@ #ifndef ZVISION_ANIMATION_CONTROL_H #define ZVISION_ANIMATION_CONTROL_H -#include "zvision/control.h" +#include "zvision/scripting/control.h" namespace Common { diff --git a/engines/zvision/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp index a445e1aae5..2685b01312 100644 --- a/engines/zvision/input_control.cpp +++ b/engines/zvision/scripting/controls/input_control.cpp @@ -22,13 +22,13 @@ #include "common/scummsys.h" -#include "zvision/input_control.h" +#include "zvision/scripting/controls/input_control.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/string_manager.h" -#include "zvision/render_manager.h" -#include "zvision/utility.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/strings/string_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/utility/utility.h" #include "common/str.h" #include "common/stream.h" diff --git a/engines/zvision/input_control.h b/engines/zvision/scripting/controls/input_control.h index aab2c991dc..f0fd8b502d 100644 --- a/engines/zvision/input_control.h +++ b/engines/zvision/scripting/controls/input_control.h @@ -23,8 +23,8 @@ #ifndef ZVISION_INPUT_CONTROL_H #define ZVISION_INPUT_CONTROL_H -#include "zvision/control.h" -#include "zvision/string_manager.h" +#include "zvision/scripting/control.h" +#include "zvision/strings/string_manager.h" #include "common/rect.h" diff --git a/engines/zvision/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 79049b8fcb..e08fdd10f3 100644 --- a/engines/zvision/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -22,15 +22,15 @@ #include "common/scummsys.h" -#include "zvision/lever_control.h" +#include "zvision/scripting/controls/lever_control.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" -#include "zvision/cursor_manager.h" -#include "zvision/rlf_animation.h" -#include "zvision/zork_avi_decoder.h" -#include "zvision/utility.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/cursors/cursor_manager.h" +#include "zvision/animation/rlf_animation.h" +#include "zvision/video/zork_avi_decoder.h" +#include "zvision/utility/utility.h" #include "common/stream.h" #include "common/file.h" @@ -377,11 +377,11 @@ void LeverControl::renderFrame(uint frameNumber) { _lastRenderedFrame = frameNumber; } - const uint16 *frameData; + const uint16 *frameData = 0; int x = _animationCoords.left; int y = _animationCoords.top; - int width; - int height; + int width = 0; + int height = 0; if (_fileType == RLF) { // getFrameData() will automatically optimize to getNextFrame() / getPreviousFrame() if it can diff --git a/engines/zvision/lever_control.h b/engines/zvision/scripting/controls/lever_control.h index 8ef8f06fec..69473cf119 100644 --- a/engines/zvision/lever_control.h +++ b/engines/zvision/scripting/controls/lever_control.h @@ -23,7 +23,7 @@ #ifndef ZVISION_LEVER_CONTROL_H #define ZVISION_LEVER_CONTROL_H -#include "zvision/control.h" +#include "zvision/scripting/control.h" #include "common/list.h" #include "common/rect.h" diff --git a/engines/zvision/push_toggle_control.cpp b/engines/zvision/scripting/controls/push_toggle_control.cpp index 689311ba5b..11ec4bb73f 100644 --- a/engines/zvision/push_toggle_control.cpp +++ b/engines/zvision/scripting/controls/push_toggle_control.cpp @@ -22,12 +22,12 @@ #include "common/scummsys.h" -#include "zvision/push_toggle_control.h" +#include "zvision/scripting/controls/push_toggle_control.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/cursor_manager.h" -#include "zvision/utility.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/cursors/cursor_manager.h" +#include "zvision/utility/utility.h" #include "common/stream.h" diff --git a/engines/zvision/push_toggle_control.h b/engines/zvision/scripting/controls/push_toggle_control.h index 2a407cada9..13dc54a65f 100644 --- a/engines/zvision/push_toggle_control.h +++ b/engines/zvision/scripting/controls/push_toggle_control.h @@ -23,7 +23,7 @@ #ifndef ZVISION_PUSH_TOGGLE_CONTROL_H #define ZVISION_PUSH_TOGGLE_CONTROL_H -#include "zvision/control.h" +#include "zvision/scripting/control.h" #include "common/rect.h" diff --git a/engines/zvision/timer_node.cpp b/engines/zvision/scripting/controls/timer_node.cpp index 55dfa51dfe..3b691be275 100644 --- a/engines/zvision/timer_node.cpp +++ b/engines/zvision/scripting/controls/timer_node.cpp @@ -22,25 +22,39 @@ #include "common/scummsys.h" -#include "zvision/timer_node.h" +#include "zvision/scripting/controls/timer_node.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" +#include "zvision/scripting/script_manager.h" #include "common/stream.h" namespace ZVision { + +TimerNode::TimerNode(ZVision *engine, uint32 key, uint timeInSeconds) + : Control(engine, key) { + if (_engine->getGameId() == GID_NEMESIS) { + _timeLeft = timeInSeconds * 1000; + } else if (_engine->getGameId() == GID_GRANDINQUISITOR) { + _timeLeft = timeInSeconds * 100; + } + + _engine->getScriptManager()->setStateValue(_key, 1); +} -TimerNode::TimerNode(ZVision *engine, uint32 key, uint timeInSeconds) - : Control(engine, key), _timeLeft(timeInSeconds * 1000) { +TimerNode::~TimerNode() { + if (_timeLeft <= 0) + _engine->getScriptManager()->setStateValue(_key, 2); + else + _engine->getScriptManager()->setStateValue(_key, _timeLeft); // If timer was stopped by stop or kill } bool TimerNode::process(uint32 deltaTimeInMillis) { _timeLeft -= deltaTimeInMillis; if (_timeLeft <= 0) { - _engine->getScriptManager()->setStateValue(_key, 0); + // Let the destructor reset the state value return true; } diff --git a/engines/zvision/timer_node.h b/engines/zvision/scripting/controls/timer_node.h index 32dca71548..a8e579cbe4 100644 --- a/engines/zvision/timer_node.h +++ b/engines/zvision/scripting/controls/timer_node.h @@ -23,7 +23,7 @@ #ifndef ZVISION_TIMER_NODE_H #define ZVISION_TIMER_NODE_H -#include "zvision/control.h" +#include "zvision/scripting/control.h" namespace ZVision { @@ -32,6 +32,7 @@ class ZVision; class TimerNode : public Control { public: TimerNode(ZVision *engine, uint32 key, uint timeInSeconds); + ~TimerNode(); /** * Decrement the timer by the delta time. If the timer is finished, set the status diff --git a/engines/zvision/puzzle.h b/engines/zvision/scripting/puzzle.h index 1e730365dc..0d717f1fa9 100644 --- a/engines/zvision/puzzle.h +++ b/engines/zvision/scripting/puzzle.h @@ -23,7 +23,7 @@ #ifndef ZVISION_PUZZLE_H #define ZVISION_PUZZLE_H -#include "zvision/actions.h" +#include "zvision/scripting/actions.h" #include "common/list.h" #include "common/ptr.h" @@ -32,7 +32,7 @@ namespace ZVision { struct Puzzle { - Puzzle() : key(0), flags(0) {} + Puzzle() : key(0) {} ~Puzzle() { for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); ++iter) { @@ -63,17 +63,10 @@ struct Puzzle { bool argumentIsAKey; }; - enum StateFlags { - ONCE_PER_INST = 0x01, - DO_ME_NOW = 0x02, // Somewhat useless flag since anything that needs to be done immediately has no criteria - DISABLED = 0x04 - }; - uint32 key; Common::List<Common::List <CriteriaEntry> > criteriaList; // This has to be list of pointers because ResultAction is abstract Common::List<ResultAction *> resultActions; - uint flags; }; } // End of namespace ZVision diff --git a/engines/zvision/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index e90408cf0d..d93094a3b2 100644 --- a/engines/zvision/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -22,13 +22,13 @@ #include "common/scummsys.h" -#include "zvision/script_manager.h" +#include "zvision/scripting/script_manager.h" -#include "zvision/utility.h" -#include "zvision/puzzle.h" -#include "zvision/actions.h" -#include "zvision/push_toggle_control.h" -#include "zvision/lever_control.h" +#include "zvision/utility/utility.h" +#include "zvision/scripting/puzzle.h" +#include "zvision/scripting/actions.h" +#include "zvision/scripting/controls/push_toggle_control.h" +#include "zvision/scripting/controls/lever_control.h" #include "common/textconsole.h" #include "common/file.h" @@ -81,7 +81,7 @@ void ScriptManager::parsePuzzle(Puzzle *puzzle, Common::SeekableReadStream &stre } else if (line.matchString("results {", true)) { parseResults(stream, puzzle->resultActions); } else if (line.matchString("flags {", true)) { - puzzle->flags = parseFlags(stream); + setStateFlags(puzzle->key, parseFlags(stream)); } line = stream.readLine(); @@ -259,11 +259,11 @@ uint ScriptManager::parseFlags(Common::SeekableReadStream &stream) const { while (!stream.eos() && !line.contains('}')) { if (line.matchString("ONCE_PER_INST", true)) { - flags |= Puzzle::ONCE_PER_INST; + flags |= ONCE_PER_INST; } else if (line.matchString("DO_ME_NOW", true)) { - flags |= Puzzle::DO_ME_NOW; + flags |= DO_ME_NOW; } else if (line.matchString("DISABLED", true)) { - flags |= Puzzle::DISABLED; + flags |= DISABLED; } line = stream.readLine(); diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/scripting/script_manager.cpp index 66a54088fd..adcc5c7545 100644 --- a/engines/zvision/script_manager.cpp +++ b/engines/zvision/scripting/script_manager.cpp @@ -22,14 +22,14 @@ #include "common/scummsys.h" -#include "zvision/script_manager.h" +#include "zvision/scripting/script_manager.h" #include "zvision/zvision.h" -#include "zvision/render_manager.h" -#include "zvision/cursor_manager.h" -#include "zvision/save_manager.h" -#include "zvision/actions.h" -#include "zvision/utility.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/cursors/cursor_manager.h" +#include "zvision/core/save_manager.h" +#include "zvision/scripting/actions.h" +#include "zvision/utility/utility.h" #include "common/algorithm.h" #include "common/hashmap.h" @@ -126,8 +126,7 @@ void ScriptManager::checkPuzzleCriteria() { // Check if the puzzle is already finished // Also check that the puzzle isn't disabled - if (getStateValue(puzzle->key) == 1 && - (puzzle->flags & Puzzle::DISABLED) == 0) { + if (getStateValue(puzzle->key) == 1 && (getStateFlags(puzzle->key) & DISABLED) == 0) { continue; } @@ -223,6 +222,23 @@ void ScriptManager::setStateValue(uint32 key, uint value) { } } +uint ScriptManager::getStateFlags(uint32 key) { + if (_globalStateFlags.contains(key)) + return _globalStateFlags[key]; + else + return 0; +} + +void ScriptManager::setStateFlags(uint32 key, uint flags) { + _globalStateFlags[key] = flags; + + if (_referenceTable.contains(key)) { + for (Common::Array<Puzzle *>::iterator iter = _referenceTable[key].begin(); iter != _referenceTable[key].end(); ++iter) { + _puzzlesToCheck.push((*iter)); + } + } +} + void ScriptManager::addToStateValue(uint32 key, uint valueToAdd) { _globalState[key] += valueToAdd; } @@ -241,24 +257,6 @@ Control *ScriptManager::getControl(uint32 key) { return nullptr; } -void ScriptManager::enableControl(uint32 key) { - for (ControlList::iterator iter = _activeControls.begin(); iter != _activeControls.end(); ++iter) { - if ((*iter)->getKey() == key) { - (*iter)->enable(); - break; - } - } -} - -void ScriptManager::disableControl(uint32 key) { - for (ControlList::iterator iter = _activeControls.begin(); iter != _activeControls.end(); ++iter) { - if ((*iter)->getKey() == key) { - (*iter)->disable(); - break; - } - } -} - void ScriptManager::focusControl(uint32 key) { for (ControlList::iterator iter = _activeControls.begin(); iter != _activeControls.end(); ++iter) { uint32 controlKey = (*iter)->getKey(); @@ -352,7 +350,7 @@ void ScriptManager::changeLocation(char world, char room, char node, char view, // Add all the local puzzles to the queue to be checked for (PuzzleList::iterator iter = _activePuzzles.begin(); iter != _activePuzzles.end(); ++iter) { // Reset any Puzzles that have the flag ONCE_PER_INST - if (((*iter)->flags & Puzzle::ONCE_PER_INST) == Puzzle::ONCE_PER_INST) { + if ((getStateFlags((*iter)->key) & ONCE_PER_INST) == ONCE_PER_INST) { setStateValue((*iter)->key, 0); } @@ -362,7 +360,7 @@ void ScriptManager::changeLocation(char world, char room, char node, char view, // Add all the global puzzles to the queue to be checked for (PuzzleList::iterator iter = _globalPuzzles.begin(); iter != _globalPuzzles.end(); ++iter) { // Reset any Puzzles that have the flag ONCE_PER_INST - if (((*iter)->flags & Puzzle::ONCE_PER_INST) == Puzzle::ONCE_PER_INST) { + if ((getStateFlags((*iter)->key) & ONCE_PER_INST) == ONCE_PER_INST) { setStateValue((*iter)->key, 0); } diff --git a/engines/zvision/script_manager.h b/engines/zvision/scripting/script_manager.h index 388d0805e0..ab9b03ed30 100644 --- a/engines/zvision/script_manager.h +++ b/engines/zvision/scripting/script_manager.h @@ -23,8 +23,8 @@ #ifndef ZVISION_SCRIPT_MANAGER_H #define ZVISION_SCRIPT_MANAGER_H -#include "zvision/puzzle.h" -#include "zvision/control.h" +#include "zvision/scripting/puzzle.h" +#include "zvision/scripting/control.h" #include "common/hashmap.h" #include "common/queue.h" @@ -54,12 +54,20 @@ typedef Common::List<Puzzle *> PuzzleList; typedef Common::Queue<Puzzle *> PuzzleQueue; typedef Common::List<Control *> ControlList; typedef Common::HashMap<uint32, uint32> StateMap; +typedef Common::HashMap<uint32, uint> StateFlagMap; class ScriptManager { public: ScriptManager(ZVision *engine); ~ScriptManager(); +public: + enum StateFlags { + ONCE_PER_INST = 0x01, + DO_ME_NOW = 0x02, // Somewhat useless flag since anything that needs to be done immediately has no criteria + DISABLED = 0x04 + }; + private: ZVision *_engine; /** @@ -68,6 +76,11 @@ private: * particular state key are checked after the key is modified. */ StateMap _globalState; + /** + * Holds the flags for the global states. This is used to enable/disable puzzles and/or + * controls as well as which puzzles should are allowed to be re-executed + */ + StateFlagMap _globalStateFlags; /** References _globalState keys to Puzzles */ PuzzleMap _referenceTable; /** Holds the Puzzles that should be checked this frame */ @@ -91,12 +104,12 @@ public: void setStateValue(uint32 key, uint value); void addToStateValue(uint32 key, uint valueToAdd); + uint getStateFlags(uint32 key); + void setStateFlags(uint32 key, uint flags); + void addControl(Control *control); Control *getControl(uint32 key); - void enableControl(uint32 key); - void disableControl(uint32 key); - void focusControl(uint32 key); /** diff --git a/engines/zvision/zork_raw.cpp b/engines/zvision/sound/zork_raw.cpp index 21613d9043..321ac93de2 100644 --- a/engines/zvision/zork_raw.cpp +++ b/engines/zvision/sound/zork_raw.cpp @@ -22,11 +22,11 @@ #include "common/scummsys.h" -#include "zvision/zork_raw.h" +#include "zvision/sound/zork_raw.h" #include "zvision/zvision.h" #include "zvision/detection.h" -#include "zvision/utility.h" +#include "zvision/utility/utility.h" #include "common/file.h" #include "common/str.h" @@ -180,21 +180,29 @@ Audio::RewindableAudioStream *makeRawZorkStream(const Common::String &filePath, Common::String fileName = getFileName(filePath); fileName.toLowercase(); - SoundParams soundParams; + SoundParams soundParams = { ' ', 0, false, false }; + bool foundParams = false; + char fileIdentifier = (engine->getGameId() == GID_NEMESIS) ? fileName[6] : fileName[7]; if (engine->getGameId() == GID_NEMESIS) { for (int i = 0; i < 6; ++i) { - if (RawZorkStream::_zNemSoundParamLookupTable[i].identifier == (fileName[6])) + if (RawZorkStream::_zNemSoundParamLookupTable[i].identifier == fileIdentifier) { soundParams = RawZorkStream::_zNemSoundParamLookupTable[i]; + foundParams = true; + } } - } - else if (engine->getGameId() == GID_GRANDINQUISITOR) { + } else if (engine->getGameId() == GID_GRANDINQUISITOR) { for (int i = 0; i < 6; ++i) { - if (RawZorkStream::_zgiSoundParamLookupTable[i].identifier == (fileName[7])) + if (RawZorkStream::_zgiSoundParamLookupTable[i].identifier == fileIdentifier) { soundParams = RawZorkStream::_zgiSoundParamLookupTable[i]; + foundParams = true; + } } } + if (!foundParams) + error("Unable to find sound params for file '%s'. File identifier is '%c'", filePath.c_str(), fileIdentifier); + if (soundParams.packed) { return makeRawZorkStream(wrapBufferedSeekableReadStream(file, 2048, DisposeAfterUse::YES), soundParams.rate, soundParams.stereo, DisposeAfterUse::YES); } else { diff --git a/engines/zvision/zork_raw.h b/engines/zvision/sound/zork_raw.h index 481ea79f2d..481ea79f2d 100644 --- a/engines/zvision/zork_raw.h +++ b/engines/zvision/sound/zork_raw.h diff --git a/engines/zvision/string_manager.cpp b/engines/zvision/strings/string_manager.cpp index ab42f3d3e0..77ed501672 100644 --- a/engines/zvision/string_manager.cpp +++ b/engines/zvision/strings/string_manager.cpp @@ -22,9 +22,9 @@ #include "common/scummsys.h" -#include "zvision/string_manager.h" +#include "zvision/strings/string_manager.h" -#include "zvision/truetype_font.h" +#include "zvision/fonts/truetype_font.h" #include "common/file.h" #include "common/tokenizer.h" diff --git a/engines/zvision/string_manager.h b/engines/zvision/strings/string_manager.h index 9cfed5261b..86bb9638d7 100644 --- a/engines/zvision/string_manager.h +++ b/engines/zvision/strings/string_manager.h @@ -25,7 +25,7 @@ #define ZVISION_STRING_MANAGER_H #include "zvision/detection.h" -#include "zvision/truetype_font.h" +#include "zvision/fonts/truetype_font.h" namespace Graphics { diff --git a/engines/zvision/subtitles.h b/engines/zvision/subtitles/subtitles.h index 13426e03e4..13426e03e4 100644 --- a/engines/zvision/subtitles.h +++ b/engines/zvision/subtitles/subtitles.h diff --git a/engines/zvision/clock.cpp b/engines/zvision/utility/clock.cpp index c8ee717a33..49e4b32054 100644 --- a/engines/zvision/clock.cpp +++ b/engines/zvision/utility/clock.cpp @@ -23,7 +23,7 @@ #include "common/scummsys.h" -#include "zvision/clock.h" +#include "zvision/utility/clock.h" #include "common/system.h" diff --git a/engines/zvision/clock.h b/engines/zvision/utility/clock.h index 3939ba1612..3939ba1612 100644 --- a/engines/zvision/clock.h +++ b/engines/zvision/utility/clock.h diff --git a/engines/zvision/lzss_read_stream.cpp b/engines/zvision/utility/lzss_read_stream.cpp index bbbda6f526..dc537cd8ab 100644 --- a/engines/zvision/lzss_read_stream.cpp +++ b/engines/zvision/utility/lzss_read_stream.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/lzss_read_stream.h" +#include "zvision/utility/lzss_read_stream.h" namespace ZVision { diff --git a/engines/zvision/lzss_read_stream.h b/engines/zvision/utility/lzss_read_stream.h index f6b1eb1a65..f6b1eb1a65 100644 --- a/engines/zvision/lzss_read_stream.h +++ b/engines/zvision/utility/lzss_read_stream.h diff --git a/engines/zvision/single_value_container.cpp b/engines/zvision/utility/single_value_container.cpp index 837bd8d7fc..2667b27b75 100644 --- a/engines/zvision/single_value_container.cpp +++ b/engines/zvision/utility/single_value_container.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#include "zvision/single_value_container.h" +#include "zvision/utility/single_value_container.h" #include "common/textconsole.h" #include "common/str.h" diff --git a/engines/zvision/single_value_container.h b/engines/zvision/utility/single_value_container.h index 45b5a89e95..45b5a89e95 100644 --- a/engines/zvision/single_value_container.h +++ b/engines/zvision/utility/single_value_container.h diff --git a/engines/zvision/utility.cpp b/engines/zvision/utility/utility.cpp index d973cb2f4c..6471d21e6c 100644 --- a/engines/zvision/utility.cpp +++ b/engines/zvision/utility/utility.cpp @@ -22,10 +22,10 @@ #include "common/scummsys.h" -#include "zvision/utility.h" +#include "zvision/utility/utility.h" #include "zvision/zvision.h" -#include "zvision/zork_raw.h" +#include "zvision/sound/zork_raw.h" #include "common/tokenizer.h" #include "common/file.h" diff --git a/engines/zvision/utility.h b/engines/zvision/utility/utility.h index fb571f3fe8..fb571f3fe8 100644 --- a/engines/zvision/utility.h +++ b/engines/zvision/utility/utility.h diff --git a/engines/zvision/video.cpp b/engines/zvision/video/video.cpp index cd11618e67..efaecb5045 100644 --- a/engines/zvision/video.cpp +++ b/engines/zvision/video/video.cpp @@ -24,8 +24,8 @@ #include "zvision/zvision.h" -#include "zvision/clock.h" -#include "zvision/render_manager.h" +#include "zvision/utility/clock.h" +#include "zvision/graphics/render_manager.h" #include "common/system.h" @@ -107,7 +107,7 @@ void ZVision::playVideo(Video::VideoDecoder &videoDecoder, const Common::Rect &d uint16 finalWidth = origWidth * scale; uint16 finalHeight = origHeight * scale; - byte *scaledVideoFrameBuffer; + byte *scaledVideoFrameBuffer = 0; if (scale != 1) { scaledVideoFrameBuffer = new byte[finalWidth * finalHeight * bytesPerPixel]; } diff --git a/engines/zvision/zork_avi_decoder.cpp b/engines/zvision/video/zork_avi_decoder.cpp index a614f77bb7..d3db3421af 100644 --- a/engines/zvision/zork_avi_decoder.cpp +++ b/engines/zvision/video/zork_avi_decoder.cpp @@ -23,9 +23,9 @@ #include "common/scummsys.h" -#include "zvision/zork_avi_decoder.h" +#include "zvision/video/zork_avi_decoder.h" -#include "zvision/zork_raw.h" +#include "zvision/sound/zork_raw.h" #include "common/stream.h" diff --git a/engines/zvision/zork_avi_decoder.h b/engines/zvision/video/zork_avi_decoder.h index ec2be1bb13..ec2be1bb13 100644 --- a/engines/zvision/zork_avi_decoder.h +++ b/engines/zvision/video/zork_avi_decoder.h diff --git a/engines/zvision/zvision.cpp b/engines/zvision/zvision.cpp index 6d8ae6d5a7..f57e225ac1 100644 --- a/engines/zvision/zvision.cpp +++ b/engines/zvision/zvision.cpp @@ -24,13 +24,13 @@ #include "zvision/zvision.h" -#include "zvision/console.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" -#include "zvision/cursor_manager.h" -#include "zvision/save_manager.h" -#include "zvision/string_manager.h" -#include "zvision/zfs_archive.h" +#include "zvision/core/console.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/cursors/cursor_manager.h" +#include "zvision/core/save_manager.h" +#include "zvision/strings/string_manager.h" +#include "zvision/archives/zfs_archive.h" #include "zvision/detection.h" #include "common/config-manager.h" @@ -51,7 +51,8 @@ namespace ZVision { ZVision::ZVision(OSystem *syst, const ZVisionGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc), - _workingWindow((WINDOW_WIDTH - WORKING_WINDOW_WIDTH) / 2, (WINDOW_HEIGHT - WORKING_WINDOW_HEIGHT) / 2, ((WINDOW_WIDTH - WORKING_WINDOW_WIDTH) / 2) + WORKING_WINDOW_WIDTH, ((WINDOW_HEIGHT - WORKING_WINDOW_HEIGHT) / 2) + WORKING_WINDOW_HEIGHT), + _workingWindow(gameDesc->gameId == GID_NEMESIS ? Common::Rect((WINDOW_WIDTH - ZNEM_WORKING_WINDOW_WIDTH) / 2, (WINDOW_HEIGHT - ZNEM_WORKING_WINDOW_HEIGHT) / 2, ((WINDOW_WIDTH - ZNEM_WORKING_WINDOW_WIDTH) / 2) + ZNEM_WORKING_WINDOW_WIDTH, ((WINDOW_HEIGHT - ZNEM_WORKING_WINDOW_HEIGHT) / 2) + ZNEM_WORKING_WINDOW_HEIGHT) : + Common::Rect((WINDOW_WIDTH - ZGI_WORKING_WINDOW_WIDTH) / 2, (WINDOW_HEIGHT - ZGI_WORKING_WINDOW_HEIGHT) / 2, ((WINDOW_WIDTH - ZGI_WORKING_WINDOW_WIDTH) / 2) + ZGI_WORKING_WINDOW_WIDTH, ((WINDOW_HEIGHT - ZGI_WORKING_WINDOW_HEIGHT) / 2) + ZGI_WORKING_WINDOW_HEIGHT)), _pixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0), /*RGB 565*/ _desiredFrameTime(33), /* ~30 fps */ _clock(_system), diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h index 84784d9a89..1c525c1fc1 100644 --- a/engines/zvision/zvision.h +++ b/engines/zvision/zvision.h @@ -25,7 +25,7 @@ #define ZVISION_ZVISION_H #include "zvision/detection.h" -#include "zvision/clock.h" +#include "zvision/utility/clock.h" #include "common/random.h" #include "common/events.h" @@ -70,8 +70,14 @@ private: enum { WINDOW_WIDTH = 640, WINDOW_HEIGHT = 480, - WORKING_WINDOW_WIDTH = 512, - WORKING_WINDOW_HEIGHT = 320, + + //Zork nemesis working window sizes + ZNEM_WORKING_WINDOW_WIDTH = 512, + ZNEM_WORKING_WINDOW_HEIGHT = 320, + + //ZGI(and default) working window sizes + ZGI_WORKING_WINDOW_WIDTH = 640, + ZGI_WORKING_WINDOW_HEIGHT = 344, ROTATION_SCREEN_EDGE_OFFSET = 60, MAX_ROTATION_SPEED = 400 // Pixels per second |