diff options
| -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", | 
