aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/goblin_v4.cpp
diff options
context:
space:
mode:
authorSven Hesse2008-04-30 20:08:08 +0000
committerSven Hesse2008-04-30 20:08:08 +0000
commite866aefdfdf7386cd3f5c94a058dd329c44b8fde (patch)
tree219a75e777f6bbf7337b7b575490447528b1584b /engines/gob/goblin_v4.cpp
parentea5482e6b128ddb89e25a554468062d81744be1e (diff)
downloadscummvm-rg350-e866aefdfdf7386cd3f5c94a058dd329c44b8fde.tar.gz
scummvm-rg350-e866aefdfdf7386cd3f5c94a058dd329c44b8fde.tar.bz2
scummvm-rg350-e866aefdfdf7386cd3f5c94a058dd329c44b8fde.zip
Fixing path finding in Woodruff
svn-id: r31793
Diffstat (limited to 'engines/gob/goblin_v4.cpp')
-rw-r--r--engines/gob/goblin_v4.cpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/engines/gob/goblin_v4.cpp b/engines/gob/goblin_v4.cpp
index 0defd32289..167946e30d 100644
--- a/engines/gob/goblin_v4.cpp
+++ b/engines/gob/goblin_v4.cpp
@@ -424,6 +424,8 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
case 13:
case 16:
case 23:
+ case 40:
+ case 41:
animData->curLookDir = 0;
break;
@@ -431,6 +433,8 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
case 15:
case 18:
case 21:
+ case 26:
+ case 38:
animData->curLookDir = 2;
break;
@@ -440,6 +444,8 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
case 12:
case 19:
case 22:
+ case 42:
+ case 43:
animData->curLookDir = 4;
break;
@@ -447,13 +453,19 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
case 14:
case 17:
case 20:
+ case 27:
+ case 39:
animData->curLookDir = 6;
break;
case 8:
case 9:
+ case 10:
+ case 11:
case 28:
case 29:
+ case 30:
+ case 31:
if (animData->pathExistence == 4)
animData->pathExistence = 5;
break;
@@ -530,14 +542,14 @@ void Goblin_v4::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
int16 Goblin_v4::sub_20430(int16 state, uint16 dir) {
static const int16 word_3F25E[8][8] = {
- {0, 1, 10, 10, 10, 31, 31, 7},
- {0, 1, 2, 29, 29, 29, 8, 8},
- {10, 1, 2, 3, 11, 11, 11, 10},
- {29, 29, 2, 3, 4, 9, 9, 9},
- {30, 11, 11, 3, 4, 5, 30, 30},
- {28, 28, 9, 9, 4, 5, 6, 28},
- {31, 31, 31, 30, 30, 5, 6, 7},
- {0, 8, 8, 8, 28, 28, 6, 7}
+ { 0, 1, 10, 10, 10, 31, 31, 7},
+ { 0, 1, 2, 29, 29, 29, 8, 8},
+ {10, 1, 2, 3, 11, 11, 11, 10},
+ {29, 29, 2, 3, 4, 9, 9, 9},
+ {30, 11, 11, 3, 4, 5, 30, 30},
+ {28, 28, 9, 9, 4, 5, 6, 28},
+ {31, 31, 31, 30, 30, 5, 6, 7},
+ { 0, 8, 8, 8, 28, 28, 6, 7}
};
int16 dx = state, cx = 0;
@@ -594,7 +606,6 @@ int16 Goblin_v4::sub_20430(int16 state, uint16 dir) {
// loc_2046C
-
switch (dir) {
case Map::kDirNW:
cx = 1;