mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 21:07:17 +00:00
rogueviz::snow:: o-key menu
This commit is contained in:
parent
58510299de
commit
357117ce35
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
namespace rogueviz {
|
namespace rogueviz {
|
||||||
|
|
||||||
|
namespace snow {
|
||||||
|
|
||||||
ld snow_lambda = 0;
|
ld snow_lambda = 0;
|
||||||
|
|
||||||
color_t snow_color = 0xFFFFFFFF;
|
color_t snow_color = 0xFFFFFFFF;
|
||||||
@ -146,19 +148,16 @@ void snow_slide(vector<tour::slide>& v, string title, string desc, reaction_t t)
|
|||||||
tour::slide{cap + title, 18, LEGAL::NONE | QUICKGEO, desc,
|
tour::slide{cap + title, 18, LEGAL::NONE | QUICKGEO, desc,
|
||||||
|
|
||||||
[t] (presmode mode) {
|
[t] (presmode mode) {
|
||||||
println(hlog, "mode=", mode, " land = ", dnameof(firstland));
|
|
||||||
setCanvas(mode, '0');
|
setCanvas(mode, '0');
|
||||||
|
|
||||||
if(mode == pmKey) {
|
if(mode == pmKey) {
|
||||||
using namespace anims;
|
using namespace anims;
|
||||||
println(hlog, "key pressed");
|
|
||||||
tour::slide_backup(ma, ma == maTranslation ? maNone : maTranslation);
|
tour::slide_backup(ma, ma == maTranslation ? maNone : maTranslation);
|
||||||
tour::slide_backup<ld>(shift_angle, 0);
|
tour::slide_backup<ld>(shift_angle, 0);
|
||||||
tour::slide_backup<ld>(movement_angle, 90);
|
tour::slide_backup<ld>(movement_angle, 90);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mode == pmStart) {
|
if(mode == pmStart) {
|
||||||
println(hlog, "im pmStart, mode=", mode, " land = ", dnameof(firstland));
|
|
||||||
stop_game();
|
stop_game();
|
||||||
tour::slide_backup(mapeditor::drawplayer, false);
|
tour::slide_backup(mapeditor::drawplayer, false);
|
||||||
tour::slide_backup<ld>(snow_lambda, 1);
|
tour::slide_backup<ld>(snow_lambda, 1);
|
||||||
@ -167,18 +166,45 @@ void snow_slide(vector<tour::slide>& v, string title, string desc, reaction_t t)
|
|||||||
t();
|
t();
|
||||||
start_game();
|
start_game();
|
||||||
playermoved = false;
|
playermoved = false;
|
||||||
println(hlog, "in pmStart II, mode=", mode, " land = ", dnameof(firstland));
|
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void show() {
|
||||||
|
cmode = sm::SIDE | sm::MAYDARK;
|
||||||
|
gamescreen(0);
|
||||||
|
dialog::init(XLAT("snowballs"), 0xFFFFFFFF, 150, 0);
|
||||||
|
|
||||||
|
dialog::addSelItem("lambda", fts(snow_lambda), 'l');
|
||||||
|
dialog::add_action([]() {
|
||||||
|
dialog::editNumber(snow_lambda, 0, 100, 1, 10, "lambda", "snowball density");
|
||||||
|
dialog::reaction = [] { matrices_at.clear(); };
|
||||||
|
});
|
||||||
|
|
||||||
|
dialog::addSelItem("size", fts(snow_shape), 's');
|
||||||
|
dialog::add_action([]() {
|
||||||
|
snow_shape = (1 + snow_shape) % 3;
|
||||||
|
});
|
||||||
|
|
||||||
|
dialog::addBack();
|
||||||
|
dialog::display();
|
||||||
|
}
|
||||||
|
|
||||||
|
named_functionality o_key() {
|
||||||
|
if(snow_lambda) return named_dialog("snowballs", show);
|
||||||
|
return named_functionality();
|
||||||
|
}
|
||||||
|
|
||||||
auto hchook = addHook(hooks_drawcell, 100, draw_snow)
|
auto hchook = addHook(hooks_drawcell, 100, draw_snow)
|
||||||
|
|
||||||
+ addHook(clearmemory, 40, [] () {
|
+ addHook(clearmemory, 40, [] () {
|
||||||
matrices_at.clear();
|
matrices_at.clear();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
+ addHook(hooks_o_key, 80, o_key)
|
||||||
|
|
||||||
|
#if CAP_COMMANDLINE
|
||||||
+ addHook(hooks_args, 100, [] {
|
+ addHook(hooks_args, 100, [] {
|
||||||
using namespace arg;
|
using namespace arg;
|
||||||
|
|
||||||
@ -207,13 +233,14 @@ auto hchook = addHook(hooks_drawcell, 100, draw_snow)
|
|||||||
else return 1;
|
else return 1;
|
||||||
return 0;
|
return 0;
|
||||||
})
|
})
|
||||||
|
#endif
|
||||||
|
|
||||||
+ addHook(rvtour::hooks_build_rvtour, 140, [] (vector<tour::slide>& v) {
|
+ addHook(rvtour::hooks_build_rvtour, 140, [] (vector<tour::slide>& v) {
|
||||||
v.push_back(tour::slide{
|
v.push_back(tour::slide{
|
||||||
cap+"intro", 10, tour::LEGAL::NONE | tour::QUICKSKIP,
|
cap+"intro", 10, tour::LEGAL::NONE | tour::QUICKSKIP,
|
||||||
"Non-Euclidean visualizations usually show some regular constructions. Could we visualize the geometries themselves? Let's distribute the snowballs randomly."
|
"Non-Euclidean visualizations usually show some regular constructions. Could we visualize the geometries themselves? Let's distribute the snowballs randomly."
|
||||||
"\n\n"
|
"\n\n"
|
||||||
"You can use mouse to look in different directions. Press 5 to turn the automatic movement on or off."
|
"You can use mouse to look in different directions. Press 5 to turn the automatic movement on or off. Press 'o' to change density and shape."
|
||||||
,
|
,
|
||||||
[] (tour::presmode mode) {}
|
[] (tour::presmode mode) {}
|
||||||
});
|
});
|
||||||
@ -278,3 +305,4 @@ auto hchook = addHook(hooks_drawcell, 100, draw_snow)
|
|||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user