mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-20 23:50:27 +00:00
fixed general_barrier not working correctly at all with CEPOSNEG
This commit is contained in:
parent
fdf2162b36
commit
3c4e3f0e3e
@ -157,9 +157,6 @@ EX bool general_barrier_advance(cellwalker& bb, int& dir, eLand& l1, eLand& l2,
|
|||||||
bool at_corner = among(ws, NOWALLSEP_WALL_CPOS, NOWALLSEP_WALL_CNEG);
|
bool at_corner = among(ws, NOWALLSEP_WALL_CPOS, NOWALLSEP_WALL_CNEG);
|
||||||
|
|
||||||
cell *current = bb.at;
|
cell *current = bb.at;
|
||||||
if(current->bardir != NODIR) ok = false;
|
|
||||||
if(current->mpdist < BARLEV) ok = false;
|
|
||||||
if(setit && current->bardir == NODIR) current->barleft = NOWALLSEP_USED;
|
|
||||||
|
|
||||||
// if at_corner: bb is facing the tile 1 before the first inside
|
// if at_corner: bb is facing the tile 1 before the first inside
|
||||||
int t = bb.at->type;
|
int t = bb.at->type;
|
||||||
@ -256,7 +253,7 @@ EX bool checkBarriersNowall(cellwalker bb, int q, int dir, eLand ws, eLand l1 IS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(l1 != l2 && bb.at->barleft != NOWALLSEP_USED && !on_wall(ws)) {
|
if(l1 != l2 && bb.at->barleft != NOWALLSEP_USED) {
|
||||||
bb.at->bardir = bb.spin; bb.at->barright = l2; bb.at->barleft = ws;
|
bb.at->bardir = bb.spin; bb.at->barright = l2; bb.at->barleft = ws;
|
||||||
setland(bb.at, l1);
|
setland(bb.at, l1);
|
||||||
}
|
}
|
||||||
@ -509,7 +506,7 @@ EX void extendBarrier(cell *c) {
|
|||||||
return; // == INFD) return;
|
return; // == INFD) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->barleft == NOWALLSEP || c->barleft == NOWALLSEP_SWAP || c->barleft == NOWALLSEP_WALL) {
|
if(c->barleft == NOWALLSEP || c->barleft == NOWALLSEP_SWAP || c->barleft == NOWALLSEP_WALL || on_wall(c->barleft)) {
|
||||||
#if MAXMDIM >= 4
|
#if MAXMDIM >= 4
|
||||||
if(WDIM == 3) extend3D(c);
|
if(WDIM == 3) extend3D(c);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user