Clean up id normalization
This commit is contained in:
parent
b7beb2fbe9
commit
56170b3372
7 changed files with 47 additions and 77 deletions
|
|
@ -159,7 +159,7 @@ void FindItemOrObject()
|
|||
for (int yy = -1; yy < 2; yy++) {
|
||||
if (dObject[mx + xx][my + yy] == 0)
|
||||
continue;
|
||||
int o = dObject[mx + xx][my + yy] > 0 ? dObject[mx + xx][my + yy] - 1 : -(dObject[mx + xx][my + yy] + 1);
|
||||
int o = abs(dObject[mx + xx][my + yy]) - 1;
|
||||
if (Objects[o]._oSelFlag == 0)
|
||||
continue;
|
||||
if (xx == 0 && yy == 0 && Objects[o]._oDoorFlag)
|
||||
|
|
@ -290,7 +290,7 @@ void FindMeleeTarget()
|
|||
visited[dx][dy] = true;
|
||||
|
||||
if (dMonster[dx][dy] != 0) {
|
||||
const int mi = dMonster[dx][dy] > 0 ? dMonster[dx][dy] - 1 : -(dMonster[dx][dy] + 1);
|
||||
const int mi = abs(dMonster[dx][dy]) - 1;
|
||||
const auto &monster = Monsters[mi];
|
||||
if (CanTargetMonster(monster)) {
|
||||
const bool newCanTalk = CanTalkToMonst(monster);
|
||||
|
|
|
|||
|
|
@ -401,49 +401,49 @@ void CheckCursMove()
|
|||
if (leveltype != DTYPE_TOWN) {
|
||||
if (pcurstemp != -1) {
|
||||
if (!flipflag && mx + 2 < MAXDUNX && my + 1 < MAXDUNY && dMonster[mx + 2][my + 1] != 0 && IsTileLit({ mx + 2, my + 1 })) {
|
||||
int mi = dMonster[mx + 2][my + 1] > 0 ? dMonster[mx + 2][my + 1] - 1 : -(dMonster[mx + 2][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx + 2][my + 1]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 2, 1 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (flipflag && mx + 1 < MAXDUNX && my + 2 < MAXDUNY && dMonster[mx + 1][my + 2] != 0 && IsTileLit({ mx + 1, my + 2 })) {
|
||||
int mi = dMonster[mx + 1][my + 2] > 0 ? dMonster[mx + 1][my + 2] - 1 : -(dMonster[mx + 1][my + 2] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my + 2]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 2 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (mx + 2 < MAXDUNX && my + 2 < MAXDUNY && dMonster[mx + 2][my + 2] != 0 && IsTileLit({ mx + 2, my + 2 })) {
|
||||
int mi = dMonster[mx + 2][my + 2] > 0 ? dMonster[mx + 2][my + 2] - 1 : -(dMonster[mx + 2][my + 2] + 1);
|
||||
int mi = abs(dMonster[mx + 2][my + 2]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 2, 2 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (mx + 1 < MAXDUNX && !flipflag && dMonster[mx + 1][my] != 0 && IsTileLit({ mx + 1, my })) {
|
||||
int mi = dMonster[mx + 1][my] > 0 ? dMonster[mx + 1][my] - 1 : -(dMonster[mx + 1][my] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 0 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (my + 1 < MAXDUNY && flipflag && dMonster[mx][my + 1] != 0 && IsTileLit({ mx, my + 1 })) {
|
||||
int mi = dMonster[mx][my + 1] > 0 ? dMonster[mx][my + 1] - 1 : -(dMonster[mx][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx][my + 1]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 0, 1 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (dMonster[mx][my] != 0 && IsTileLit({ mx, my })) {
|
||||
int mi = dMonster[mx][my] > 0 ? dMonster[mx][my] - 1 : -(dMonster[mx][my] + 1);
|
||||
int mi = abs(dMonster[mx][my]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 1) != 0) {
|
||||
cursPosition = { mx, my };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dMonster[mx + 1][my + 1] != 0 && IsTileLit({ mx + 1, my + 1 })) {
|
||||
int mi = dMonster[mx + 1][my + 1] > 0 ? dMonster[mx + 1][my + 1] - 1 : -(dMonster[mx + 1][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my + 1]) - 1;
|
||||
if (mi == pcurstemp && Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 1 };
|
||||
pcursmonst = mi;
|
||||
|
|
@ -461,49 +461,49 @@ void CheckCursMove()
|
|||
}
|
||||
}
|
||||
if (!flipflag && mx + 2 < MAXDUNX && my + 1 < MAXDUNY && dMonster[mx + 2][my + 1] != 0 && IsTileLit({ mx + 2, my + 1 })) {
|
||||
int mi = dMonster[mx + 2][my + 1] > 0 ? dMonster[mx + 2][my + 1] - 1 : -(dMonster[mx + 2][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx + 2][my + 1]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 2, 1 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (flipflag && mx + 1 < MAXDUNX && my + 2 < MAXDUNY && dMonster[mx + 1][my + 2] != 0 && IsTileLit({ mx + 1, my + 2 })) {
|
||||
int mi = dMonster[mx + 1][my + 2] > 0 ? dMonster[mx + 1][my + 2] - 1 : -(dMonster[mx + 1][my + 2] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my + 2]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 2 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (mx + 2 < MAXDUNX && my + 2 < MAXDUNY && dMonster[mx + 2][my + 2] != 0 && IsTileLit({ mx + 2, my + 2 })) {
|
||||
int mi = dMonster[mx + 2][my + 2] > 0 ? dMonster[mx + 2][my + 2] - 1 : -(dMonster[mx + 2][my + 2] + 1);
|
||||
int mi = abs(dMonster[mx + 2][my + 2]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 4) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 2, 2 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (!flipflag && mx + 1 < MAXDUNX && dMonster[mx + 1][my] != 0 && IsTileLit({ mx + 1, my })) {
|
||||
int mi = dMonster[mx + 1][my] > 0 ? dMonster[mx + 1][my] - 1 : -(dMonster[mx + 1][my] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 0 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (flipflag && my + 1 < MAXDUNY && dMonster[mx][my + 1] != 0 && IsTileLit({ mx, my + 1 })) {
|
||||
int mi = dMonster[mx][my + 1] > 0 ? dMonster[mx][my + 1] - 1 : -(dMonster[mx][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx][my + 1]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 0, 1 };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (dMonster[mx][my] != 0 && IsTileLit({ mx, my })) {
|
||||
int mi = dMonster[mx][my] > 0 ? dMonster[mx][my] - 1 : -(dMonster[mx][my] + 1);
|
||||
int mi = abs(dMonster[mx][my]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 1) != 0) {
|
||||
cursPosition = { mx, my };
|
||||
pcursmonst = mi;
|
||||
}
|
||||
}
|
||||
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dMonster[mx + 1][my + 1] != 0 && IsTileLit({ mx + 1, my + 1 })) {
|
||||
int mi = dMonster[mx + 1][my + 1] > 0 ? dMonster[mx + 1][my + 1] - 1 : -(dMonster[mx + 1][my + 1] + 1);
|
||||
int mi = abs(dMonster[mx + 1][my + 1]) - 1;
|
||||
if (Monsters[mi]._mhitpoints >> 6 > 0 && (Monsters[mi].MData->mSelFlag & 2) != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 1 };
|
||||
pcursmonst = mi;
|
||||
|
|
@ -537,21 +537,21 @@ void CheckCursMove()
|
|||
|
||||
if (pcursmonst == -1) {
|
||||
if (!flipflag && mx + 1 < MAXDUNX && dPlayer[mx + 1][my] != 0) {
|
||||
int8_t bv = dPlayer[mx + 1][my] > 0 ? dPlayer[mx + 1][my] - 1 : -(dPlayer[mx + 1][my] + 1);
|
||||
int8_t bv = abs(dPlayer[mx + 1][my]) - 1;
|
||||
if (bv != MyPlayerId && Players[bv]._pHitPoints != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 0 };
|
||||
pcursplr = bv;
|
||||
}
|
||||
}
|
||||
if (flipflag && my + 1 < MAXDUNY && dPlayer[mx][my + 1] != 0) {
|
||||
int8_t bv = dPlayer[mx][my + 1] > 0 ? dPlayer[mx][my + 1] - 1 : -(dPlayer[mx][my + 1] + 1);
|
||||
int8_t bv = abs(dPlayer[mx][my + 1]) - 1;
|
||||
if (bv != MyPlayerId && Players[bv]._pHitPoints != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 0, 1 };
|
||||
pcursplr = bv;
|
||||
}
|
||||
}
|
||||
if (dPlayer[mx][my] != 0) {
|
||||
int8_t bv = dPlayer[mx][my] > 0 ? dPlayer[mx][my] - 1 : -(dPlayer[mx][my] + 1);
|
||||
int8_t bv = abs(dPlayer[mx][my]) - 1;
|
||||
if (bv != MyPlayerId) {
|
||||
cursPosition = { mx, my };
|
||||
pcursplr = bv;
|
||||
|
|
@ -580,7 +580,7 @@ void CheckCursMove()
|
|||
}
|
||||
}
|
||||
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dPlayer[mx + 1][my + 1] != 0) {
|
||||
int8_t bv = dPlayer[mx + 1][my + 1] > 0 ? dPlayer[mx + 1][my + 1] - 1 : -(dPlayer[mx + 1][my + 1] + 1);
|
||||
int8_t bv = abs(dPlayer[mx + 1][my + 1]) - 1;
|
||||
if (bv != MyPlayerId && Players[bv]._pHitPoints != 0) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 1 };
|
||||
pcursplr = bv;
|
||||
|
|
@ -589,28 +589,28 @@ void CheckCursMove()
|
|||
}
|
||||
if (pcursmonst == -1 && pcursplr == -1) {
|
||||
if (!flipflag && mx + 1 < MAXDUNX && dObject[mx + 1][my] != 0) {
|
||||
int8_t bv = dObject[mx + 1][my] > 0 ? dObject[mx + 1][my] - 1 : -(dObject[mx + 1][my] + 1);
|
||||
int8_t bv = abs(dObject[mx + 1][my]) - 1;
|
||||
if (Objects[bv]._oSelFlag >= 2) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 0 };
|
||||
pcursobj = bv;
|
||||
}
|
||||
}
|
||||
if (flipflag && my + 1 < MAXDUNY && dObject[mx][my + 1] != 0) {
|
||||
int8_t bv = dObject[mx][my + 1] > 0 ? dObject[mx][my + 1] - 1 : -(dObject[mx][my + 1] + 1);
|
||||
int8_t bv = abs(dObject[mx][my + 1]) - 1;
|
||||
if (Objects[bv]._oSelFlag >= 2) {
|
||||
cursPosition = Point { mx, my } + Displacement { 0, 1 };
|
||||
pcursobj = bv;
|
||||
}
|
||||
}
|
||||
if (dObject[mx][my] != 0) {
|
||||
int8_t bv = dObject[mx][my] > 0 ? dObject[mx][my] - 1 : -(dObject[mx][my] + 1);
|
||||
int8_t bv = abs(dObject[mx][my]) - 1;
|
||||
if (Objects[bv]._oSelFlag == 1 || Objects[bv]._oSelFlag == 3) {
|
||||
cursPosition = { mx, my };
|
||||
pcursobj = bv;
|
||||
}
|
||||
}
|
||||
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dObject[mx + 1][my + 1] != 0) {
|
||||
int8_t bv = dObject[mx + 1][my + 1] > 0 ? dObject[mx + 1][my + 1] - 1 : -(dObject[mx + 1][my + 1] + 1);
|
||||
int8_t bv = abs(dObject[mx + 1][my + 1]) - 1;
|
||||
if (Objects[bv]._oSelFlag >= 2) {
|
||||
cursPosition = Point { mx, my } + Displacement { 1, 1 };
|
||||
pcursobj = bv;
|
||||
|
|
|
|||
|
|
@ -782,9 +782,7 @@ void GetDebugMonster()
|
|||
if (mi1 == -1) {
|
||||
int mi2 = dMonster[cursPosition.x][cursPosition.y];
|
||||
if (mi2 != 0) {
|
||||
mi1 = mi2 - 1;
|
||||
if (mi2 <= 0)
|
||||
mi1 = -(mi2 + 1);
|
||||
mi1 = abs(mi2) - 1;
|
||||
} else {
|
||||
mi1 = DebugMonsterId;
|
||||
}
|
||||
|
|
@ -863,8 +861,7 @@ bool GetDebugGridText(Point dungeonCoords, char *debugGridTextBuffer)
|
|||
info = 0;
|
||||
int objectIndex = dObject[dungeonCoords.x][dungeonCoords.y];
|
||||
if (objectIndex != 0 && DebugIndexToObjectID.find(objectIndex) != DebugIndexToObjectID.end()) {
|
||||
objectIndex = objectIndex > 0 ? objectIndex - 1 : -(objectIndex + 1);
|
||||
info = DebugIndexToObjectID[objectIndex];
|
||||
info = DebugIndexToObjectID[abs(objectIndex) - 1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1768,24 +1768,18 @@ bool CanPut(Point position)
|
|||
return false;
|
||||
if (nSolidTable[dPiece[position.x][position.y]])
|
||||
return false;
|
||||
if (dObject[position.x][position.y] != 0 && Objects[abs(dObject[position.x][position.y]) - 1]._oSolidFlag)
|
||||
return false;
|
||||
|
||||
if (dObject[position.x][position.y] != 0) {
|
||||
if (Objects[dObject[position.x][position.y] > 0 ? dObject[position.x][position.y] - 1 : -(dObject[position.x][position.y] + 1)]._oSolidFlag)
|
||||
if (dObject[position.x + 1][position.y + 1] != 0) {
|
||||
int8_t oi = abs(dObject[position.x + 1][position.y + 1]) - 1;
|
||||
if (Objects[oi]._oSelFlag != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int8_t oi = dObject[position.x + 1][position.y + 1];
|
||||
if (oi > 0 && Objects[oi - 1]._oSelFlag != 0) {
|
||||
return false;
|
||||
}
|
||||
if (oi < 0 && Objects[-(oi + 1)]._oSelFlag != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
oi = dObject[position.x + 1][position.y];
|
||||
if (oi > 0) {
|
||||
int8_t oi2 = dObject[position.x][position.y + 1];
|
||||
if (oi2 > 0 && Objects[oi - 1]._oSelFlag != 0 && Objects[oi2 - 1]._oSelFlag != 0)
|
||||
if (dObject[position.x + 1][position.y] > 0 && dObject[position.x][position.y + 1] > 0) {
|
||||
if (Objects[dObject[position.x + 1][position.y] - 1]._oSelFlag != 0 && Objects[dObject[position.x][position.y + 1] - 1]._oSelFlag != 0)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3194,7 +3194,7 @@ bool ItemSpaceOk(Point position)
|
|||
return false;
|
||||
|
||||
if (dObject[position.x][position.y] != 0) {
|
||||
int oi = dObject[position.x][position.y] > 0 ? dObject[position.x][position.y] - 1 : -(dObject[position.x][position.y] + 1);
|
||||
int oi = abs(dObject[position.x][position.y]) - 1;
|
||||
if (Objects[oi]._oSolidFlag)
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -443,26 +443,10 @@ void CheckMissileCol(Missile &missile, int mindam, int maxdam, bool shift, Point
|
|||
if (missile._micaster != TARGET_BOTH && missile._misource != -1) {
|
||||
if (missile._micaster == TARGET_MONSTERS) {
|
||||
int mid = dMonster[mx][my];
|
||||
if (mid > 0) {
|
||||
mid -= 1;
|
||||
if (mid != 0 && (mid > 0 || Monsters[mid]._mmode == MonsterMode::Petrified)) {
|
||||
if (MonsterMHit(
|
||||
missile._misource,
|
||||
mid,
|
||||
mindam,
|
||||
maxdam,
|
||||
missile._midist,
|
||||
missile._mitype,
|
||||
shift)) {
|
||||
if (!nodel)
|
||||
missile._mirange = 0;
|
||||
missile._miHitFlag = true;
|
||||
}
|
||||
} else if (mid < 0) {
|
||||
mid = -(mid + 1);
|
||||
if (Monsters[mid]._mmode == MonsterMode::Petrified
|
||||
&& MonsterMHit(
|
||||
missile._misource,
|
||||
mid,
|
||||
abs(mid) - 1,
|
||||
mindam,
|
||||
maxdam,
|
||||
missile._midist,
|
||||
|
|
@ -564,7 +548,7 @@ void CheckMissileCol(Missile &missile, int mindam, int maxdam, bool shift, Point
|
|||
}
|
||||
}
|
||||
if (dObject[mx][my] != 0) {
|
||||
int oi = dObject[mx][my] > 0 ? dObject[mx][my] - 1 : -(dObject[mx][my] + 1);
|
||||
int oi = abs(dObject[mx][my]) - 1;
|
||||
if (!Objects[oi]._oMissFlag) {
|
||||
if (Objects[oi]._oBreak == 1)
|
||||
BreakObject(-1, oi);
|
||||
|
|
@ -3178,20 +3162,17 @@ void MI_Rune(Missile &missile)
|
|||
{
|
||||
Point position = missile.position.tile;
|
||||
int mid = dMonster[position.x][position.y];
|
||||
int8_t pid = dPlayer[position.x][position.y];
|
||||
int pid = dPlayer[position.x][position.y];
|
||||
if (mid != 0 || pid != 0) {
|
||||
Direction dir;
|
||||
if (mid != 0) {
|
||||
mid = (mid > 0) ? (mid - 1) : -(mid + 1);
|
||||
dir = GetDirection(position, Monsters[mid].position.tile);
|
||||
} else {
|
||||
pid = (pid > 0) ? (pid - 1) : -(pid + 1);
|
||||
dir = GetDirection(position, Players[pid].position.tile);
|
||||
}
|
||||
Point targetPosition = mid != 0 ? Monsters[abs(mid) - 1].position.tile : Players[abs(pid) - 1].position.tile;
|
||||
Direction dir = GetDirection(position, targetPosition);
|
||||
|
||||
missile._miDelFlag = true;
|
||||
AddUnLight(missile._mlid);
|
||||
|
||||
AddMissile(position, position, dir, static_cast<missile_id>(missile.var1), TARGET_BOTH, missile._misource, missile._midam, missile._mispllvl);
|
||||
}
|
||||
|
||||
PutMissile(missile);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ bool CouldMissileCollide(Point tile, bool checkPlayerAndMonster)
|
|||
}
|
||||
int oid = dObject[tile.x][tile.y];
|
||||
if (oid != 0) {
|
||||
oid = oid > 0 ? oid - 1 : -(oid + 1);
|
||||
oid = abs(oid) - 1;
|
||||
if (!Objects[oid]._oMissFlag)
|
||||
return true;
|
||||
}
|
||||
|
|
@ -744,8 +744,7 @@ void DrawItem(const Surface &out, Point tilePosition, Point targetBufferPosition
|
|||
*/
|
||||
void DrawMonsterHelper(const Surface &out, Point tilePosition, Point targetBufferPosition)
|
||||
{
|
||||
int mi = dMonster[tilePosition.x][tilePosition.y];
|
||||
mi = mi > 0 ? mi - 1 : -(mi + 1);
|
||||
int mi = abs(dMonster[tilePosition.x][tilePosition.y]) - 1;
|
||||
|
||||
if (leveltype == DTYPE_TOWN) {
|
||||
auto &towner = Towners[mi];
|
||||
|
|
@ -799,8 +798,7 @@ void DrawMonsterHelper(const Surface &out, Point tilePosition, Point targetBuffe
|
|||
*/
|
||||
void DrawPlayerHelper(const Surface &out, Point tilePosition, Point targetBufferPosition)
|
||||
{
|
||||
int8_t p = dPlayer[tilePosition.x][tilePosition.y];
|
||||
p = p > 0 ? p - 1 : -(p + 1);
|
||||
int8_t p = abs(dPlayer[tilePosition.x][tilePosition.y]) - 1;
|
||||
|
||||
if (p < 0 || p >= MAX_PLRS) {
|
||||
Log("draw player: tried to draw illegal player {}", p);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue