canvas_invisible option

This commit is contained in:
Zeno Rogue 2018-04-21 17:57:30 +02:00
parent 9b95ad23c5
commit ad93e77bcc
5 changed files with 16 additions and 1 deletions

View File

@ -109,8 +109,10 @@ int arg::readCommon() {
PHASE(2);
firstland = specialland = laCanvas;
shift();
if(args().size() == 1) patterns::whichCanvas = args()[0];
if(args() == "i") canvas_invisible = !canvas_invisible;
else if(args().size() == 1) patterns::whichCanvas = args()[0];
else patterns::canvasback = arghex();
if(curphase == 3) restartGame();
}
else if(argis("-noplayer"))
mapeditor::drawplayer = !mapeditor::drawplayer;

View File

@ -3264,3 +3264,4 @@ ld master_to_c7_angle();
extern int mutantphase;
void resize_screen_to(int x, int y);
extern bool canvas_invisible;

View File

@ -2343,6 +2343,8 @@ void setdist(cell *c, int d, cell *from) {
if(d == BARLEV && c->land == laCanvas) {
c->landparam = patterns::generateCanvas(c);
if(canvas_invisible)
c->wall = waInvisibleFloor;
}
if(d >= BARLEV-1 && c->land == laPrairie)

View File

@ -1283,6 +1283,9 @@ namespace patterns {
dialog::addSelItem(XLAT("field pattern S"), "field", 'S');
}
dialog::addBreak(100);
dialog::addBoolItem(XLATN(winf[waInvisibleFloor].name), canvas_invisible, 'i');
dialog::display();
keyhandler = [] (int sym, int uni) {
@ -1301,6 +1304,12 @@ namespace patterns {
restartGame(0, false, true);
};
}
else if(uni == 'i') {
canvas_invisible = !canvas_invisible;
firstland = specialland = laCanvas;
randomPatternsMode = false;
restartGame(0, false, true);
}
else if((uni >= 'a' && uni <= 'z') || (uni >= 'A' && uni <= 'Z')) {
whichCanvas = uni;
subcanvas = rand();

View File

@ -6,6 +6,7 @@
bool cblind;
bool autocheat;
bool canvas_invisible;
int truelotus;
int gamecount;