mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 21:07:17 +00:00
sag:: sagsmooth option
This commit is contained in:
parent
9297c94028
commit
301dad5d7b
@ -470,18 +470,21 @@ namespace sag {
|
|||||||
reassign();
|
reassign();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sag_ittime = 100;
|
||||||
|
|
||||||
void iterate() {
|
void iterate() {
|
||||||
if(!sagmode) return;
|
if(!sagmode) return;
|
||||||
int t1 = SDL_GetTicks();
|
int t1 = SDL_GetTicks();
|
||||||
|
int last = -1;
|
||||||
for(int i=0; i<ipturn; i++) {
|
for(int i=0; i<ipturn; i++) {
|
||||||
numiter++;
|
numiter++;
|
||||||
sag::saiter();
|
sag::saiter();
|
||||||
}
|
}
|
||||||
int t2 = SDL_GetTicks();
|
int t2 = SDL_GetTicks();
|
||||||
int t = t2 - t1;
|
int t = t2 - t1;
|
||||||
if(t < 50) ipturn *= 2;
|
if(t < (sag_ittime+1) / 2) ipturn *= 2;
|
||||||
else if(t > 200) ipturn /= 2;
|
else if(t > sag_ittime * 2) ipturn /= 2;
|
||||||
else ipturn = ipturn * 100 / t;
|
else ipturn = ipturn * sag_ittime / t;
|
||||||
print(hlog, format("it %12Ld temp %6.4f [2:%8.6f,10:%8.6f,50:%8.6f] cost = %f\n",
|
print(hlog, format("it %12Ld temp %6.4f [2:%8.6f,10:%8.6f,50:%8.6f] cost = %f\n",
|
||||||
numiter, double(sag::temperature),
|
numiter, double(sag::temperature),
|
||||||
(double) exp(-2 * exp(-sag::temperature)),
|
(double) exp(-2 * exp(-sag::temperature)),
|
||||||
@ -971,6 +974,13 @@ namespace sag {
|
|||||||
sag::sagmode = sagOff;
|
sag::sagmode = sagOff;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
dialog::addSelItem(XLAT("smoothness"), its(sag_ittime), 's');
|
||||||
|
dialog::add_action([] {
|
||||||
|
dialog::editNumber(sag_ittime, 0, 1000, 10, 100, XLAT("smoothness"),
|
||||||
|
XLAT("How much milliseconds to compute before re-rendering the screen when optimizing in the background. Low values look nicer, but may cause less time to be spent on iterations.")
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
dialog::addBoolItem_action(XLAT("auto-visualize"), sag::auto_visualize, 'b');
|
dialog::addBoolItem_action(XLAT("auto-visualize"), sag::auto_visualize, 'b');
|
||||||
|
|
||||||
dialog::addBoolItem_action(XLAT("continuous embedding"), sag::embedding, 'e');
|
dialog::addBoolItem_action(XLAT("continuous embedding"), sag::embedding, 'e');
|
||||||
@ -1276,6 +1286,9 @@ int readArgs() {
|
|||||||
sag::vizsa_start = SDL_GetTicks();
|
sag::vizsa_start = SDL_GetTicks();
|
||||||
shift(); sag::vizsa_len = argi();
|
shift(); sag::vizsa_len = argi();
|
||||||
}
|
}
|
||||||
|
else if(argis("-sagsmooth")) {
|
||||||
|
shift(); sag::sag_ittime = argi();
|
||||||
|
}
|
||||||
else if(argis("-sagstats")) {
|
else if(argis("-sagstats")) {
|
||||||
output_stats();
|
output_stats();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user