mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-04 15:53:00 +00:00
rogueviz:: used rv_hook in some viz
This commit is contained in:
@@ -11,6 +11,8 @@ namespace rogueviz {
|
||||
|
||||
namespace sag {
|
||||
|
||||
bool turn(int delta);
|
||||
|
||||
int sag_id;
|
||||
|
||||
int sagpar = 0;
|
||||
@@ -421,6 +423,18 @@ namespace sag {
|
||||
void read(string fn) {
|
||||
fname = fn;
|
||||
init(&sag_id, RV_GRAPH | RV_WHICHWEIGHT | RV_AUTO_MAXWEIGHT | RV_HAVE_WEIGHT);
|
||||
|
||||
rv_hook(rogueviz::hooks_close, 100, [] { sag::sagedges.clear(); });
|
||||
rv_hook(shmup::hooks_turn, 100, turn);
|
||||
rv_hook(rogueviz::hooks_rvmenu, 100, [] {
|
||||
dialog::addSelItem(XLAT("temperature"), fts(sag::temperature), 't');
|
||||
dialog::add_action([] {
|
||||
dialog::editNumber(sag::temperature, sag::lowtemp, sag::hightemp, 1, 0, XLAT("temperature"), "");
|
||||
});
|
||||
dialog::addSelItem(XLAT("SAG mode"), sag::sagmodes[sag::sagmode], 'm');
|
||||
dialog::add_action([] { sag::sagmode = sag::eSagmode( (1+sag::sagmode) % 3 ); });
|
||||
});
|
||||
|
||||
weight_label = "min weight";
|
||||
temperature = 0; sagmode = sagOff;
|
||||
readsag(fname.c_str());
|
||||
@@ -537,7 +551,6 @@ int readArgs() {
|
||||
}
|
||||
|
||||
bool turn(int delta) {
|
||||
if(vizid == &sag_id) sag::iterate(), timetowait = 0;
|
||||
return false;
|
||||
// shmup::pc[0]->rebase();
|
||||
}
|
||||
@@ -549,17 +562,6 @@ string cname() {
|
||||
}
|
||||
|
||||
int ah = addHook(hooks_args, 100, readArgs)
|
||||
+ addHook(shmup::hooks_turn, 100, turn)
|
||||
+ addHook(rogueviz::hooks_close, 100, [] { sag::sagedges.clear(); })
|
||||
+ addHook(rogueviz::hooks_rvmenu, 100, [] {
|
||||
if(vizid != &sag_id) return;
|
||||
dialog::addSelItem(XLAT("temperature"), fts(sag::temperature), 't');
|
||||
dialog::add_action([] {
|
||||
dialog::editNumber(sag::temperature, sag::lowtemp, sag::hightemp, 1, 0, XLAT("temperature"), "");
|
||||
});
|
||||
dialog::addSelItem(XLAT("SAG mode"), sag::sagmodes[sag::sagmode], 'm');
|
||||
dialog::add_action([] { sag::sagmode = sag::eSagmode( (1+sag::sagmode) % 3 ); });
|
||||
})
|
||||
+ addHook(pres::hooks_build_rvtour, 120, [] (string s, vector<tour::slide>& v) {
|
||||
if(s != "data") return;
|
||||
using namespace pres;
|
||||
|
||||
Reference in New Issue
Block a user