1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-01-11 09:50:34 +00:00

separated highlight

This commit is contained in:
Zeno Rogue 2020-09-15 20:39:15 +02:00
parent e74eeca2c3
commit cea3da31fc
5 changed files with 19 additions and 8 deletions

View File

@ -1125,7 +1125,13 @@ EX bool gmodekeys(int sym, int uni) {
else if(NUMBERKEY == '3' && !rug::rugged) { pconf.alpha = 1; pconf.scale = 1; pconf.xposition = pconf.yposition = 0; }
else if(NUMBERKEY == '4' && !rug::rugged) { pconf.alpha = 0; pconf.scale = 1; pconf.xposition = pconf.yposition = 0; }
else if(NUMBERKEY == '5') { vid.wallmode += 60 + (shiftmul > 0 ? 1 : -1); vid.wallmode %= 7; }
else if(NUMBERKEY == '8') { vid.monmode += 60 + (shiftmul > 0 ? 1 : -1); vid.monmode %= 6; }
else if((NUMBERKEY == '8' && hiliteclick) || NUMBERKEY == 508) {
vid.highlightmode += 60 + (shiftmul > 0 ? 1 : -1); vid.highlightmode %= 3;
}
else if(NUMBERKEY == '8') {
vid.monmode += 60 + (shiftmul > 0 ? 1 : -1); vid.monmode %= 4;
}
else if(uni == '%') {
if(vid.wallmode == 0) vid.wallmode = 6;
vid.wallmode--;

View File

@ -162,6 +162,7 @@ EX namespace dialog {
if(k == 32) return "space";
if(k >= 1 && k <= 26) { string s = "Ctrl+"; s += (k+64); return s; }
if(k < 128) { string s; s += k; return s; }
if(k == 508) return "Alt+8";
return "?";
}

View File

@ -106,7 +106,7 @@ struct fallanim {
map<cell*, fallanim> fallanims;
EX bool doHighlight() {
return (hiliteclick && darken < 2) ? !mmhigh : mmhigh;
return mmhigh;
}
int dlit;
@ -4606,8 +4606,10 @@ EX void drawthemap() {
mmitem = vid.monmode >= 1;
mmmon = vid.monmode >= 2;
mmhigh = vid.monmode == 3 || vid.monmode == 5;
mmspatial = vid.monmode == 4 || vid.monmode == 5;
mmspatial = vid.monmode >= 3;
mmhigh = vid.highlightmode >= 1;
if(hiliteclick) mmhigh = !mmhigh;
spatial_graphics = wmspatial || mmspatial;
spatial_graphics = spatial_graphics && GDIM == 2;
@ -5035,7 +5037,7 @@ EX void normalscreen() {
if(GDIM == 3 || !outofmap(mouseh.h)) getcstat = '-';
cmode = sm::NORMAL | sm::DOTOUR | sm::CENTER;
if(viewdists && show_distance_lists) cmode |= sm::SIDE | sm::MAYDARK;
gamescreen(hiliteclick && mmmon ? 1 : 0); drawStats();
gamescreen((vid.highlightmode == (hiliteclick ? 0 : 2)) ? 1 : 0); drawStats();
if(nomenukey || ISMOBILE)
;
#if CAP_TOUR

View File

@ -306,7 +306,7 @@ struct videopar {
int fsize;
int flashtime;
int wallmode, monmode, axes;
int wallmode, monmode, axes, highlightmode;
bool axes3;
bool revcontrol;

View File

@ -349,10 +349,12 @@ EX void showGraphQuickKeys() {
const char *wdmodes[7] = {"ASCII", "black", "plain", "Escher", "plain/3D", "Escher/3D", "ASCII/3D"};
dialog::addSelItem(XLAT("wall display mode"), XLAT(wdmodes[vid.wallmode]), '5');
const char *mdmodes[6] = {"ASCII", "items only", "items and monsters", "high contrast",
"3D", "high contrast/3D"};
const char *mdmodes[6] = {"ASCII", "items only", "items and monsters", "3D", "?", "?"};
dialog::addSelItem(XLAT("monster display mode"), XLAT(mdmodes[vid.monmode]), '8');
const char *hlmodes[3] = {"press Alt", "highlight", "super-highlight"};
dialog::addSelItem(XLAT("highlight stuff"), XLAT(hlmodes[vid.highlightmode]), 508);
dialog::addBoolItem(XLAT("draw the grid"), (vid.grid), '6');
dialog::addBoolItem(XLAT("mark heptagons"), (vid.darkhepta), '7');