diff options
Diffstat (limited to 'engines/bladerunner')
-rw-r--r-- | engines/bladerunner/actor.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/archive.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/dialogue_menu.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/obstacles.h | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/ai/izo.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/ai/steele.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/scene_script.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/text_resource.cpp | 1 | ||||
-rw-r--r-- | engines/bladerunner/ui/kia_section_load.cpp | 8 | ||||
-rw-r--r-- | engines/bladerunner/ui/kia_section_save.cpp | 7 |
11 files changed, 28 insertions, 10 deletions
diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp index f0bc39919f..80bfe249d3 100644 --- a/engines/bladerunner/actor.cpp +++ b/engines/bladerunner/actor.cpp @@ -1057,7 +1057,7 @@ void Actor::combatModeOn(int initialState, bool rangedAttack, int enemyId, int w _animationModeCombatWalk = animationModeCombatWalk; _animationModeCombatRun = animationModeCombatRun; _inCombat = true; - if (_id != kActorMcCoy) { + if (_id != kActorMcCoy && enemyId != -1) { _combatInfo->combatOn(_id, initialState, rangedAttack, enemyId, waypointType, fleeRatio, coverRatio, attackRatio, damage, range, unstoppable); } stopWalking(false); diff --git a/engines/bladerunner/archive.cpp b/engines/bladerunner/archive.cpp index 18134c70e5..e29ed0a9a9 100644 --- a/engines/bladerunner/archive.cpp +++ b/engines/bladerunner/archive.cpp @@ -34,13 +34,13 @@ MIXArchive::MIXArchive() { MIXArchive::~MIXArchive() { if (_fd.isOpen()) { - debug("~MIXArchive: fd not closed: %s", _fd.getName()); + warning("~MIXArchive: File not closed: %s", _fd.getName()); } } bool MIXArchive::open(const Common::String &filename) { if (!_fd.open(filename)) { - debug("MIXArchive::open(): Could not open %s", filename.c_str()); + warning("MIXArchive::open(): Can not open %s", filename.c_str()); return false; } diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 04af9a147a..0ea6cae86d 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -165,6 +165,8 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst, const ADGameDescription *des _gameInfo = nullptr; _waypoints = nullptr; _gameVars = nullptr; + _cosTable1024 = nullptr; + _sinTable1024 = nullptr; _view = nullptr; _sceneObjects = nullptr; _gameFlags = nullptr; @@ -1907,8 +1909,6 @@ void BladeRunnerEngine::newGame(int difficulty) { _gameFlags->clear(); - _gameInfo->getGlobalVarCount(); - for (uint i = 0; i < _gameInfo->getGlobalVarCount(); ++i) { _gameVars[i] = 0; } diff --git a/engines/bladerunner/dialogue_menu.cpp b/engines/bladerunner/dialogue_menu.cpp index 1901503a2f..17bd9c2201 100644 --- a/engines/bladerunner/dialogue_menu.cpp +++ b/engines/bladerunner/dialogue_menu.cpp @@ -159,7 +159,7 @@ bool DialogueMenu::addToListNeverRepeatOnceSelected(int answer, int priorityPoli bool DialogueMenu::removeFromList(int answer) { int index = getAnswerIndex(answer); - if (index != -1) { + if (index < 0) { return false; } if (index < _listSize - 1) { diff --git a/engines/bladerunner/obstacles.h b/engines/bladerunner/obstacles.h index f07f3909f6..af17184393 100644 --- a/engines/bladerunner/obstacles.h +++ b/engines/bladerunner/obstacles.h @@ -57,7 +57,7 @@ class Obstacles { Vector2 vertices[kPolygonVertexCount]; VertexType vertexType[kPolygonVertexCount]; - Polygon() : isPresent(false), verticeCount(0) + Polygon() : isPresent(false), verticeCount(0), vertexType() {} }; diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp index 9e48995816..ce1c15c208 100644 --- a/engines/bladerunner/script/ai/izo.cpp +++ b/engines/bladerunner/script/ai/izo.cpp @@ -192,7 +192,7 @@ void AIScriptIzo::OtherAgentExitedThisScene(int otherActorId) { void AIScriptIzo::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) { if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) { - Game_Flag_Query(kFlagIzoIsReplicant); + Game_Flag_Query(kFlagIzoIsReplicant); // bug in the game? } return; //false; } diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp index 1715f6d6ed..f5e9f05ad4 100644 --- a/engines/bladerunner/script/ai/steele.cpp +++ b/engines/bladerunner/script/ai/steele.cpp @@ -1963,7 +1963,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) { bool AIScriptSteele::ChangeAnimationMode(int mode) { switch (mode) { - case kGoalSteeleDefault: + case kAnimationModeIdle: if (Game_Flag_Query(kFlagSteeleAimingAtGordo)) { _var1 = 3; } else { diff --git a/engines/bladerunner/script/scene_script.cpp b/engines/bladerunner/script/scene_script.cpp index c4a5a1bc3f..77ebaa2a98 100644 --- a/engines/bladerunner/script/scene_script.cpp +++ b/engines/bladerunner/script/scene_script.cpp @@ -27,7 +27,9 @@ namespace BladeRunner { SceneScript::SceneScript(BladeRunnerEngine *vm) : _vm(vm) , _inScriptCounter(0) - , _currentScript(nullptr) {} + , _currentScript(nullptr) + , _mouseX(0) + , _mouseY(0) {} SceneScript::~SceneScript() { delete _currentScript; diff --git a/engines/bladerunner/text_resource.cpp b/engines/bladerunner/text_resource.cpp index b583bc609a..8afc0a3c75 100644 --- a/engines/bladerunner/text_resource.cpp +++ b/engines/bladerunner/text_resource.cpp @@ -49,6 +49,7 @@ bool TextResource::open(const Common::String &name) { Common::String resName = Common::String::format("%s.TR%s", name.c_str(), _vm->_languageCode.c_str()); Common::ScopedPtr<Common::SeekableReadStream> s(_vm->getResourceStream(resName)); if (!s) { + warning("TextResource::open(): Can not open %s", resName.c_str()); return false; } diff --git a/engines/bladerunner/ui/kia_section_load.cpp b/engines/bladerunner/ui/kia_section_load.cpp index a512188b43..4d91fb51b0 100644 --- a/engines/bladerunner/ui/kia_section_load.cpp +++ b/engines/bladerunner/ui/kia_section_load.cpp @@ -42,6 +42,14 @@ KIASectionLoad::KIASectionLoad(BladeRunnerEngine *vm) : KIASectionBase(vm) { _uiContainer = new UIContainer(_vm); _scrollBox = new UIScrollBox(_vm, scrollBoxCallback, this, 1025, 0, true, Common::Rect(155, 158, 461, 346), Common::Rect(506, 160, 506, 350)); _uiContainer->add(_scrollBox); + + _timeLast = 0; + _timeLeft = 0; + + _hoveredLineId = -1; + _newGameEasyLineId = -1; + _newGameMediumLineId = -1; + _newGameHardLineId = -1; } KIASectionLoad::~KIASectionLoad() { diff --git a/engines/bladerunner/ui/kia_section_save.cpp b/engines/bladerunner/ui/kia_section_save.cpp index 07873e39b7..46ee0384d2 100644 --- a/engines/bladerunner/ui/kia_section_save.cpp +++ b/engines/bladerunner/ui/kia_section_save.cpp @@ -54,6 +54,11 @@ KIASectionSave::KIASectionSave(BladeRunnerEngine *vm) : KIASectionBase(vm) { _buttons = new UIImagePicker(_vm, 3); + _timeLast = 0; + _timeLeft = 0; + + _state = kStateNormal; + _mouseX = 0; _mouseY = 0; @@ -384,6 +389,8 @@ void KIASectionSave::save() { Common::OutSaveFile *saveFile = BladeRunner::SaveFileManager::openForSaving(_vm->getTargetName(), slot); if (saveFile == nullptr || saveFile->err()) { delete saveFile; + error("Can not open savegame file for writing"); + return; } BladeRunner::SaveFileHeader header; |