brownian:: editable level colors

This commit is contained in:
Zeno Rogue 2019-01-03 17:21:11 +01:00
parent 41a4c1bb2e
commit 0adfaa55df
2 changed files with 18 additions and 4 deletions

View File

@ -157,12 +157,23 @@ namespace brownian {
}
}
colortable colors = { 0x603000, 0x804000, 0xA05000, 0xC09050, 0xE0D0A0 };
color_t get_color(int y) {
return
y < level ? gradient(0x603000, 0x804000, 1, y, level-1) :
y < 2 * level ? 0xA05000 :
y < 3 * level ? 0xC09050 :
0xE0D0A0;
y < level ? gradient(colors[0], colors[1], 1, y, level-1) :
y < 2 * level ? colors[2] :
y < 3 * level ? colors[3] :
colors[4];
}
color_t& get_color_edit(int y) {
return
y < level/2 ? colors[0] :
y < level ? colors[1] :
y < 2 * level ? colors[2] :
y < 3 * level ? colors[3] :
colors[4];
}
}

View File

@ -257,6 +257,7 @@ void initConfig() {
savecolortable(p.second, s0+"canvas"+p.first);
savecolortable(distcolors, "distance");
savecolortable(minecolors, "mines");
savecolortable(brownian::colors, "color:brown");
for(int i=0; i<motypes; i++)
addsaver(minf[i].color, "color:monster:" + its(i));
@ -1632,6 +1633,8 @@ void show_color_dialog() {
dialog::openColorDialog(iinf[c->item].color);
else if(c->wall)
dialog::openColorDialog(winf[c->wall == waMineMine ? waMineUnknown : c->wall].color);
else if(c->land == laBrownian)
dialog::openColorDialog(brownian::get_color_edit(c->landparam));
else
dialog::openColorDialog(floorcolors[c->land]);
dialog::colorAlpha = false;