mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-25 01:20:37 +00:00
mapeditor:: saving geometry specifics, fixed format
This commit is contained in:
parent
db69276264
commit
362e13ba4c
@ -105,6 +105,7 @@ namespace mapstream {
|
|||||||
f.write(torusconfig::qty);
|
f.write(torusconfig::qty);
|
||||||
f.write(torusconfig::dx);
|
f.write(torusconfig::dx);
|
||||||
f.write(torusconfig::dy);
|
f.write(torusconfig::dy);
|
||||||
|
f.write(torusconfig::torus_mode);
|
||||||
}
|
}
|
||||||
if(geometry == gFieldQuotient) {
|
if(geometry == gFieldQuotient) {
|
||||||
using namespace fieldpattern;
|
using namespace fieldpattern;
|
||||||
@ -114,6 +115,11 @@ namespace mapstream {
|
|||||||
f.write(fgeomextras[current_extra].current_prime_id);
|
f.write(fgeomextras[current_extra].current_prime_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(geometry == gCrystal) {
|
||||||
|
f.write(ginf[gCrystal].sides);
|
||||||
|
if(ginf[gCrystal].sides == 8)
|
||||||
|
f.write(ginf[gCrystal].vertices);
|
||||||
|
}
|
||||||
if(geometry == gArchimedean) f.write(arcm::current.symbol);
|
if(geometry == gArchimedean) f.write(arcm::current.symbol);
|
||||||
addToQueue((bounded || euclid) ? currentmap->gamestart() : cwt.at->master->c7);
|
addToQueue((bounded || euclid) ? currentmap->gamestart() : cwt.at->master->c7);
|
||||||
for(int i=0; i<isize(cellbyid); i++) {
|
for(int i=0; i<isize(cellbyid); i++) {
|
||||||
@ -181,7 +187,12 @@ namespace mapstream {
|
|||||||
if(!f.f) return false;
|
if(!f.f) return false;
|
||||||
clearMemory();
|
clearMemory();
|
||||||
int vernum = f.get<int>();
|
int vernum = f.get<int>();
|
||||||
if(vernum >= 7400) f.read(patterns::whichPattern);
|
if(vernum >= 10420 && vernum < 10503) {
|
||||||
|
int i;
|
||||||
|
f.read(i);
|
||||||
|
patterns::whichPattern = patterns::ePattern(i);
|
||||||
|
}
|
||||||
|
else if(vernum >= 7400) f.read(patterns::whichPattern);
|
||||||
|
|
||||||
if(vernum >= 10203) {
|
if(vernum >= 10203) {
|
||||||
f.read(geometry);
|
f.read(geometry);
|
||||||
@ -196,6 +207,23 @@ namespace mapstream {
|
|||||||
f.read(torusconfig::qty);
|
f.read(torusconfig::qty);
|
||||||
f.read(torusconfig::dx);
|
f.read(torusconfig::dx);
|
||||||
f.read(torusconfig::dy);
|
f.read(torusconfig::dy);
|
||||||
|
if(vernum >= 10504)
|
||||||
|
f.read(torusconfig::torus_mode);
|
||||||
|
|
||||||
|
}
|
||||||
|
if(geometry == gCrystal && vernum >= 10504) {
|
||||||
|
int sides;
|
||||||
|
f.read(sides);
|
||||||
|
set_crystal(sides);
|
||||||
|
if(sides == 8) {
|
||||||
|
int vertices;
|
||||||
|
eVariation v = variation;
|
||||||
|
f.read(vertices);
|
||||||
|
if(vertices == 3) {
|
||||||
|
set_variation(eVariation::bitruncated);
|
||||||
|
set_variation(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(geometry == gFieldQuotient) {
|
if(geometry == gFieldQuotient) {
|
||||||
using namespace fieldpattern;
|
using namespace fieldpattern;
|
||||||
|
Loading…
Reference in New Issue
Block a user