1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-10-16 22:57:38 +00:00

fixed some bugs with modecode and save format

This commit is contained in:
Zeno Rogue
2018-12-14 21:35:46 +01:00
parent a18570f77a
commit 4b89d1dfd7
2 changed files with 23 additions and 6 deletions

View File

@@ -955,12 +955,24 @@ int modecode() {
mct += irr::density_code() << 21; // 8 bits
}
if(DUAL) {
mct += (1 << 19);
mct += (1 << 20);
}
// 32 bits [29..61) for geometry specifics
if(torus) {
mct += ll(torusconfig::dx) << 29;
mct += ll(torusconfig::dy) << 37;
mct += ll(torusconfig::qty) << 45;
mct += ll(torusconfig::torusmode) << 53;
mct += ll(torusconfig::torusmode) << 29;
auto& mode = torusconfig::tmodes[torusconfig::torusmode];
bool single = (mode.flags & torusconfig::TF_SINGLE);
if(single) {
mct += ll(torusconfig::qty) << 37;
mct += ll(torusconfig::dy) << 45;
}
else {
mct += ll(torusconfig::sdx) << 37;
mct += ll(torusconfig::sdy) << 45;
}
}
if(geometry == gQuotient) {