aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/interface_scene.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2017-12-08 22:32:37 -0500
committerPaul Gilbert2017-12-08 22:32:37 -0500
commit02606937eb1fd88193c09585997c7159018165d3 (patch)
tree210bf5be075375c4b567f366cda4e2b0766c90d3 /engines/xeen/interface_scene.cpp
parentfca876ea03ab41be3e88d5ba82088e9fe8e848e7 (diff)
downloadscummvm-rg350-02606937eb1fd88193c09585997c7159018165d3.tar.gz
scummvm-rg350-02606937eb1fd88193c09585997c7159018165d3.tar.bz2
scummvm-rg350-02606937eb1fd88193c09585997c7159018165d3.zip
XEEN: Cleanup and fix flags for setOutdoorsMonsters
Diffstat (limited to 'engines/xeen/interface_scene.cpp')
-rw-r--r--engines/xeen/interface_scene.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp
index 37382b9684..c9dd5343df 100644
--- a/engines/xeen/interface_scene.cpp
+++ b/engines/xeen/interface_scene.cpp
@@ -480,8 +480,7 @@ void InterfaceScene::drawOutdoorsScene() {
if (ds2._scale == 0x8000) {
ds2._x /= 3;
ds2._y = 60;
- }
- else {
+ } else {
ds2._y = 73;
}
@@ -3316,14 +3315,13 @@ void InterfaceScene::setOutdoorsMonsters() {
if (ds._frame != -1) {
ds._flags &= ~0xfff;
- // TODO: Double-check.. this section looks *weird*
+ // Use the frame number as an index to the correct monster,
+ // and replace the frame number with the monster's current frame
MazeMonster &monster = map._mobData._monsters[ds._frame];
- MonsterStruct &monsterData = *monster._monsterData;
-
ds._frame = monster._frame;
if (monster._effect2) {
- ds._flags = Res.MONSTER_EFFECT_FLAGS[monster._effect2 - 1][monster._effect3];
+ ds._flags |= Res.MONSTER_EFFECT_FLAGS[monster._effect2 - 1][monster._effect3];
}
if (monster._frame > 7) {
@@ -3335,13 +3333,13 @@ void InterfaceScene::setOutdoorsMonsters() {
ds._y = Res.OUTDOOR_MONSTERS_Y[idx];
+ MonsterStruct &monsterData = *monster._monsterData;
if (monsterData._flying) {
ds._x += Res.COMBAT_FLOAT_X[_combatFloatCounter];
ds._y += Res.COMBAT_FLOAT_Y[_combatFloatCounter];
}
}
}
- // TODO
}
void InterfaceScene::setOutdoorsObjects() {