diff options
author | Eric Fry | 2018-04-30 20:17:10 +1000 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | a7d78df98cdd0399d338c0077efc474d02678643 (patch) | |
tree | f8f741af710ab551c004bd8a465eef66d4521b04 | |
parent | 39798c63d1d6a7153527a726acfa3c1cf837760f (diff) | |
download | scummvm-rg350-a7d78df98cdd0399d338c0077efc474d02678643.tar.gz scummvm-rg350-a7d78df98cdd0399d338c0077efc474d02678643.tar.bz2 scummvm-rg350-a7d78df98cdd0399d338c0077efc474d02678643.zip |
ILLUSIONS: Fix clang warnings. Work on menu keyboard control
Fix some warnings while compiling with clang.
Add up/down key support in game menus.
-rw-r--r-- | engines/illusions/bbdou/bbdou_inventory.h | 2 | ||||
-rw-r--r-- | engines/illusions/dictionary.h | 6 | ||||
-rw-r--r-- | engines/illusions/gamestate.cpp | 2 | ||||
-rw-r--r-- | engines/illusions/illusions.h | 6 | ||||
-rw-r--r-- | engines/illusions/menusystem.cpp | 19 | ||||
-rw-r--r-- | engines/illusions/pathfinder.cpp | 3 | ||||
-rw-r--r-- | engines/illusions/resources/scriptresource.cpp | 4 |
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", |