1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-06-18 14:24:07 +00:00

faster get_side hard case

This commit is contained in:
Zeno Rogue 2021-08-20 00:44:24 +02:00
parent 0d60ff6bdc
commit 40792a3aa1

View File

@ -852,12 +852,18 @@ int get_side(twalker what) {
debuglist = {what, to_what, wl, wr}; debuglist = {what, to_what, wl, wr};
throw rulegen_failure("xsidefreeze"); throw rulegen_failure("xsidefreeze");
} }
bool gl = wl.at->dist <= wr.at->dist;
bool gr = wl.at->dist >= wr.at->dist;
if(gl) {
treewalk(wl, -1); treewalk(wl, -1);
treewalk(wr, +1);
if(wl == to_what) return sidecache[what] = +1; if(wl == to_what) return sidecache[what] = +1;
}
if(gr) {
treewalk(wr, +1);
if(wr == to_what) return sidecache[what] = -1; if(wr == to_what) return sidecache[what] = -1;
} }
} }
}
code_t id_at_spin(twalker cw) { code_t id_at_spin(twalker cw) {
code_t res; code_t res;