mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-04 18:06:26 +00:00
Added kMapHeight and kMapWidth constants
svn-id: r19863
This commit is contained in:
parent
1bfae75251
commit
3b0d3defa7
@ -720,11 +720,11 @@ void gob_adjustDest(int16 posX, int16 posY) {
|
||||
}
|
||||
|
||||
for (i = 1;
|
||||
(i + gob_pressedMapX) < 26
|
||||
(i + gob_pressedMapX) < kMapWidth
|
||||
&& map_passMap[gob_pressedMapY][gob_pressedMapX + i] == 0;
|
||||
i++);
|
||||
|
||||
if (gob_pressedMapX + i < 26) {
|
||||
if (gob_pressedMapX + i < kMapWidth) {
|
||||
deltaPix = (i * 12) - (posX % 12);
|
||||
if (resDelta == -1 || deltaPix < resDeltaPix) {
|
||||
resDeltaPix = deltaPix;
|
||||
@ -734,11 +734,11 @@ void gob_adjustDest(int16 posX, int16 posY) {
|
||||
}
|
||||
|
||||
for (i = 1;
|
||||
(i + gob_pressedMapY) < 28
|
||||
(i + gob_pressedMapY) < kMapHeight
|
||||
&& map_passMap[gob_pressedMapY + i][gob_pressedMapX] == 0;
|
||||
i++);
|
||||
|
||||
if (gob_pressedMapY + i < 28) {
|
||||
if (gob_pressedMapY + i < kMapHeight) {
|
||||
deltaPix = (i * 6) - (posY % 6);
|
||||
if (resDelta == -1 || deltaPix < resDeltaPix) {
|
||||
resDeltaPix = deltaPix;
|
||||
@ -790,11 +790,11 @@ void gob_adjustTarget(void) {
|
||||
&& map_itemsMap[gob_pressedMapY - 1][gob_pressedMapX] !=
|
||||
0) {
|
||||
gob_pressedMapY--;
|
||||
} else if (gob_pressedMapX < 25
|
||||
} else if (gob_pressedMapX < kMapWidth - 1
|
||||
&& map_itemsMap[gob_pressedMapY][gob_pressedMapX + 1] !=
|
||||
0) {
|
||||
gob_pressedMapX++;
|
||||
} else if (gob_pressedMapX < 25 && gob_pressedMapY > 0
|
||||
} else if (gob_pressedMapX < kMapWidth - 1 && gob_pressedMapY > 0
|
||||
&& map_itemsMap[gob_pressedMapY - 1][gob_pressedMapX +
|
||||
1] != 0) {
|
||||
gob_pressedMapY--;
|
||||
@ -2089,8 +2089,8 @@ void gob_pickItem(int16 indexToPocket, int16 idToPocket) {
|
||||
gob_itemIndInPocket = indexToPocket;
|
||||
gob_itemIdInPocket = idToPocket;
|
||||
|
||||
for (y = 0; y < 28; y++) {
|
||||
for (x = 0; x < 26; x++) {
|
||||
for (y = 0; y < kMapHeight; y++) {
|
||||
for (x = 0; x < kMapWidth; x++) {
|
||||
if (gob_itemByteFlag == 1) {
|
||||
if (((map_itemsMap[y][x] & 0xff00) >> 8) ==
|
||||
idToPocket)
|
||||
@ -2156,7 +2156,7 @@ void gob_placeItem(int16 indexInPocket, int16 idInPocket) {
|
||||
}
|
||||
|
||||
if (lookDir == 4) {
|
||||
if (xPos < 25) {
|
||||
if (xPos < kMapWidth - 1) {
|
||||
map_placeItem(xPos + 1, yPos, idInPocket);
|
||||
|
||||
if (yPos > 0) {
|
||||
@ -2205,8 +2205,8 @@ void gob_swapItems(int16 indexToPick, int16 idToPick) {
|
||||
gob_itemIdInPocket = idToPick;
|
||||
|
||||
if (gob_itemByteFlag == 0) {
|
||||
for (y = 0; y < 28; y++) {
|
||||
for (x = 0; x < 26; x++) {
|
||||
for (y = 0; y < kMapHeight; y++) {
|
||||
for (x = 0; x < kMapWidth; x++) {
|
||||
if ((map_itemsMap[y][x] & 0xff) == idToPick)
|
||||
map_itemsMap[y][x] =
|
||||
(map_itemsMap[y][x] & 0xff00) +
|
||||
@ -2215,8 +2215,8 @@ void gob_swapItems(int16 indexToPick, int16 idToPick) {
|
||||
}
|
||||
} else {
|
||||
|
||||
for (y = 0; y < 28; y++) {
|
||||
for (x = 0; x < 26; x++) {
|
||||
for (y = 0; y < kMapHeight; y++) {
|
||||
for (x = 0; x < kMapWidth; x++) {
|
||||
if (((map_itemsMap[y][x] & 0xff00) >> 8) ==
|
||||
idToPick)
|
||||
map_itemsMap[y][x] =
|
||||
@ -2594,8 +2594,8 @@ void gob_interFunc(void) {
|
||||
item = VAR(item);
|
||||
}
|
||||
|
||||
for (y = 0; y < 28; y++) {
|
||||
for (x = 0; x < 26; x++) {
|
||||
for (y = 0; y < kMapHeight; y++) {
|
||||
for (x = 0; x < kMapWidth; x++) {
|
||||
if ((map_itemsMap[y][x] & 0xff) == item) {
|
||||
map_itemsMap[y][x] &= 0xff00;
|
||||
} else if (((map_itemsMap[y][x] & 0xff00) >> 8)
|
||||
@ -2605,7 +2605,7 @@ void gob_interFunc(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (xPos < 25) {
|
||||
if (xPos < kMapWidth - 1) {
|
||||
if (yPos > 0) {
|
||||
if ((map_itemsMap[yPos][xPos] & 0xff00) != 0 ||
|
||||
(map_itemsMap[yPos - 1][xPos] & 0xff00) !=
|
||||
@ -2712,14 +2712,14 @@ void gob_interFunc(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (xPos < 24 && map_passMap[yPos][xPos + 2] == 1) {
|
||||
if (xPos < kMapWidth - 2 && map_passMap[yPos][xPos + 2] == 1) {
|
||||
map_itemPoses[item].x = xPos + 2;
|
||||
map_itemPoses[item].y = yPos;
|
||||
map_itemPoses[item].orient = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (xPos < 25 && map_passMap[yPos][xPos + 1] == 1) {
|
||||
if (xPos < kMapWidth - 1 && map_passMap[yPos][xPos + 1] == 1) {
|
||||
map_itemPoses[item].x = xPos + 1;
|
||||
map_itemPoses[item].y = yPos;
|
||||
map_itemPoses[item].orient = 0;
|
||||
|
40
gob/map.cpp
40
gob/map.cpp
@ -31,8 +31,8 @@
|
||||
|
||||
namespace Gob {
|
||||
|
||||
int8 map_passMap[28][26]; // [y][x]
|
||||
int16 map_itemsMap[28][26]; // [y][x]
|
||||
int8 map_passMap[kMapHeight][kMapWidth]; // [y][x]
|
||||
int16 map_itemsMap[kMapHeight][kMapWidth]; // [y][x]
|
||||
|
||||
Map_Point map_wayPoints[40];
|
||||
int16 map_nearestWayPoint = 0;
|
||||
@ -68,7 +68,7 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
if (x0 == x1 && y0 == y1)
|
||||
return 0;
|
||||
|
||||
if (x1 < 0 || x1 > 25 || y1 < 0 || y1 > 27)
|
||||
if (!(x1 >= 0 && x1 < kMapWidth && y1 >= 0 && y1 < kMapHeight))
|
||||
return 0;
|
||||
|
||||
if (y1 > y0)
|
||||
@ -108,7 +108,7 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
}
|
||||
|
||||
if (dir == kRight) {
|
||||
if (x0 + 1 < 26 && map_passMap[y0][x0 + 1] != 0)
|
||||
if (x0 + 1 < kMapWidth && map_passMap[y0][x0 + 1] != 0)
|
||||
return kDirE;
|
||||
return 0;
|
||||
}
|
||||
@ -121,7 +121,7 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
&& map_passMap[y0 - 1][x0 - 1] != 0)
|
||||
return kDirNW;
|
||||
|
||||
if (y0 - 1 >= 0 && x0 + 1 < 26
|
||||
if (y0 - 1 >= 0 && x0 + 1 < kMapWidth
|
||||
&& map_passMap[y0 - 1][x0 + 1] != 0)
|
||||
return kDirNE;
|
||||
|
||||
@ -129,14 +129,14 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
}
|
||||
|
||||
if (dir == kDown) {
|
||||
if (y0 + 1 < 28 && map_passMap[y0 + 1][x0] != 0)
|
||||
if (y0 + 1 < kMapHeight && map_passMap[y0 + 1][x0] != 0)
|
||||
return kDirS;
|
||||
|
||||
if (y0 + 1 < 28 && x0 - 1 >= 0
|
||||
if (y0 + 1 < kMapHeight && x0 - 1 >= 0
|
||||
&& map_passMap[y0 + 1][x0 - 1] != 0)
|
||||
return kDirSW;
|
||||
|
||||
if (y0 + 1 < 28 && x0 + 1 < 26
|
||||
if (y0 + 1 < kMapHeight && x0 + 1 < kMapWidth
|
||||
&& map_passMap[y0 + 1][x0 + 1] != 0)
|
||||
return kDirSE;
|
||||
|
||||
@ -144,28 +144,28 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
}
|
||||
|
||||
if (dir == (kRight | kUp)) {
|
||||
if (y0 - 1 >= 0 && x0 + 1 < 26
|
||||
if (y0 - 1 >= 0 && x0 + 1 < kMapWidth
|
||||
&& map_passMap[y0 - 1][x0 + 1] != 0)
|
||||
return kDirNE;
|
||||
|
||||
if (y0 - 1 >= 0 && map_passMap[y0 - 1][x0] != 0)
|
||||
return kDirN;
|
||||
|
||||
if (x0 + 1 < 26 && map_passMap[y0][x0 + 1] != 0)
|
||||
if (x0 + 1 < kMapWidth && map_passMap[y0][x0 + 1] != 0)
|
||||
return kDirE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dir == (kRight | kDown)) {
|
||||
if (x0 + 1 < 26 && y0 + 1 < 28
|
||||
if (x0 + 1 < kMapWidth && y0 + 1 < kMapHeight
|
||||
&& map_passMap[y0 + 1][x0 + 1] != 0)
|
||||
return kDirSE;
|
||||
|
||||
if (y0 + 1 < 28 && map_passMap[y0 + 1][x0] != 0)
|
||||
if (y0 + 1 < kMapHeight && map_passMap[y0 + 1][x0] != 0)
|
||||
return kDirS;
|
||||
|
||||
if (x0 + 1 < 26 && map_passMap[y0][x0 + 1] != 0)
|
||||
if (x0 + 1 < kMapWidth && map_passMap[y0][x0 + 1] != 0)
|
||||
return kDirE;
|
||||
|
||||
return 0;
|
||||
@ -186,11 +186,11 @@ int16 map_getDirection(int16 x0, int16 y0, int16 x1, int16 y1) {
|
||||
}
|
||||
|
||||
if (dir == (kLeft | kDown)) {
|
||||
if (x0 - 1 >= 0 && y0 + 1 < 28
|
||||
if (x0 - 1 >= 0 && y0 + 1 < kMapHeight
|
||||
&& map_passMap[y0 + 1][x0 - 1] != 0)
|
||||
return kDirSW;
|
||||
|
||||
if (y0 + 1 < 28 && map_passMap[y0 + 1][x0] != 0)
|
||||
if (y0 + 1 < kMapHeight && map_passMap[y0 + 1][x0] != 0)
|
||||
return kDirS;
|
||||
|
||||
if (x0 - 1 >= 0 && map_passMap[y0][x0 - 1] != 0)
|
||||
@ -211,8 +211,8 @@ int16 map_findNearestWayPoint(int16 x, int16 y) {
|
||||
|
||||
for (i = 0; i < 40; i++) {
|
||||
if (map_wayPoints[i].x < 0 ||
|
||||
map_wayPoints[i].x > 25 ||
|
||||
map_wayPoints[i].y < 0 || map_wayPoints[i].y > 27)
|
||||
map_wayPoints[i].x >= kMapWidth ||
|
||||
map_wayPoints[i].y < 0 || map_wayPoints[i].y >= kMapHeight)
|
||||
return -1;
|
||||
|
||||
tmp = ABS(x - map_wayPoints[i].x) + ABS(y - map_wayPoints[i].y);
|
||||
@ -454,10 +454,10 @@ void map_loadMapObjects(char *avjFile) {
|
||||
data_closeData(handle);
|
||||
map_avoDataPtr = data_getData(avoName);
|
||||
dataBuf = map_avoDataPtr;
|
||||
map_loadDataFromAvo((char *)map_passMap, 28 * 26);
|
||||
map_loadDataFromAvo((char *)map_passMap, kMapHeight * kMapWidth);
|
||||
|
||||
for (y = 0; y < 28; y++) {
|
||||
for (x = 0; x < 26; x++) {
|
||||
for (y = 0; y < kMapHeight; y++) {
|
||||
for (x = 0; x < kMapWidth; x++) {
|
||||
map_loadDataFromAvo(&item, 1);
|
||||
map_itemsMap[y][x] = item;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user