aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/illusions/bbdou/bbdou_inventory.h2
-rw-r--r--engines/illusions/dictionary.h6
-rw-r--r--engines/illusions/gamestate.cpp2
-rw-r--r--engines/illusions/illusions.h6
-rw-r--r--engines/illusions/menusystem.cpp19
-rw-r--r--engines/illusions/pathfinder.cpp3
-rw-r--r--engines/illusions/resources/scriptresource.cpp4
7 files changed, 24 insertions, 18 deletions
diff --git a/engines/illusions/bbdou/bbdou_inventory.h b/engines/illusions/bbdou/bbdou_inventory.h
index a5b55f407b..b8fb8f0a9c 100644
--- a/engines/illusions/bbdou/bbdou_inventory.h
+++ b/engines/illusions/bbdou/bbdou_inventory.h
@@ -32,7 +32,7 @@ namespace Illusions {
class IllusionsEngine_BBDOU;
class BbdouSpecialCode;
class Control;
-class TriggerFunction;
+struct TriggerFunction;
struct InventoryItem {
uint32 _objectId;
diff --git a/engines/illusions/dictionary.h b/engines/illusions/dictionary.h
index 63cb9b1750..8a5476c283 100644
--- a/engines/illusions/dictionary.h
+++ b/engines/illusions/dictionary.h
@@ -27,11 +27,11 @@
namespace Illusions {
-class ActorType;
+struct ActorType;
class Control;
class FontResource;
-class Sequence;
-class TalkEntry;
+struct Sequence;
+struct TalkEntry;
template<class T>
class DictionaryHashMap {
diff --git a/engines/illusions/gamestate.cpp b/engines/illusions/gamestate.cpp
index 5f6e17cc76..caf8584f22 100644
--- a/engines/illusions/gamestate.cpp
+++ b/engines/illusions/gamestate.cpp
@@ -61,7 +61,7 @@ void GameState::deleteReadStream() {
}
Common::WriteStream *GameState::newWriteStream() {
- if (!_writeBufferSize == 0 || !_writeBuffer) {
+ if (_writeBufferSize == 0 || !_writeBuffer) {
_writeBufferSize = calcWriteBufferSize();
_writeBuffer = (byte*)malloc(_writeBufferSize);
}
diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h
index 4b3efa2294..12bd2846a7 100644
--- a/engines/illusions/illusions.h
+++ b/engines/illusions/illusions.h
@@ -53,10 +53,8 @@ class BaseResourceReader;
struct SurfInfo;
-class ActorItem;
class ActorInstanceList;
-class ActorType;
-class BackgroundItem;
+struct ActorType;
class BackgroundInstanceList;
class BackgroundResource;
class Camera;
@@ -72,7 +70,7 @@ class ScreenText;
class ScriptOpcodes;
class ScriptResource;
class ScriptStack;
-class Sequence;
+struct Sequence;
class SoundMan;
class SpecialCode;
class TalkInstanceList;
diff --git a/engines/illusions/menusystem.cpp b/engines/illusions/menusystem.cpp
index 391cded739..878dacf0df 100644
--- a/engines/illusions/menusystem.cpp
+++ b/engines/illusions/menusystem.cpp
@@ -465,15 +465,22 @@ void BaseMenuSystem::update(Control *cursorControl) {
handleClick(_activeMenu->_defaultMenuItemIndex, mousePos);
} else if (_vm->_input->pollEvent(kEventUp)) {
// TODO handleUpKey();
- if (_hoveredMenuItemIndex > 0) {
- setMouseCursorToMenuItem(--_hoveredMenuItemIndex);
- _hoveredMenuItemIndex2 = _hoveredMenuItemIndex;
- updateActorHoverBackground();
+ if (_hoveredMenuItemIndex == 1) {
+ _hoveredMenuItemIndex = _activeMenu->getMenuItemsCount();
+ } else {
+ _hoveredMenuItemIndex--;
}
-
+ setMouseCursorToMenuItem(_hoveredMenuItemIndex);
+ _hoveredMenuItemIndex2 = _hoveredMenuItemIndex;
+ updateActorHoverBackground();
} else if (_vm->_input->pollEvent(kEventDown)) {
// TODO handleDownKey();
- setMouseCursorToMenuItem(++_hoveredMenuItemIndex);
+ if (_hoveredMenuItemIndex == _activeMenu->getMenuItemsCount()) {
+ _hoveredMenuItemIndex = 1;
+ } else {
+ _hoveredMenuItemIndex++;
+ }
+ setMouseCursorToMenuItem(_hoveredMenuItemIndex);
_hoveredMenuItemIndex2 = _hoveredMenuItemIndex;
updateActorHoverBackground();
}
diff --git a/engines/illusions/pathfinder.cpp b/engines/illusions/pathfinder.cpp
index a9a76e3a65..ac4f53df45 100644
--- a/engines/illusions/pathfinder.cpp
+++ b/engines/illusions/pathfinder.cpp
@@ -315,7 +315,8 @@ int PathFinder::calcLineStatus(PathLine &sourceLine, PathLine &destRect, Common:
return 2;
int v15 = sourceDeltaX * delta1, v18 = sourceDeltaY * delta1;
- int v16, v17;
+ int v16 = 0;
+ int v17 = 0;
if ((v15 >= 0 && delta2 >= 0) || (v15 < 0 && delta2 < 0)) {
v16 = delta2 / 2;
diff --git a/engines/illusions/resources/scriptresource.cpp b/engines/illusions/resources/scriptresource.cpp
index 53de6b4d2c..e2108a65c2 100644
--- a/engines/illusions/resources/scriptresource.cpp
+++ b/engines/illusions/resources/scriptresource.cpp
@@ -284,7 +284,7 @@ void ScriptResource::load(Resource *resource) {
Common::MemoryReadStream stream(_data, _dataSize, DisposeAfterUse::NO);
- uint32 objectMapOffs, sceneInfosOffs;
+ uint32 objectMapOffs = 0, sceneInfosOffs = 0;
_objectMapCount = 0;
if (resource->_gameId == kGameIdBBDOU) {
@@ -311,7 +311,7 @@ void ScriptResource::load(Resource *resource) {
uint32 propertiesOffs = stream.readUint32LE();
uint32 blockCountersOffs = stream.readUint32LE();
if (resource->_gameId == kGameIdDuckman)
- objectMapOffs = stream.readUint32LE();
+ objectMapOffs = stream.readUint32LE(); //TODO Is this needed for BBDOU?
uint32 codeTblOffs = stream.readUint32LE();
debug(2, "ScriptResource::load() propertiesCount: %d; blockCountersCount: %d; _codeCount: %d; _sceneInfosCount: %d; _objectMapCount: %d",