diff --git a/overviewer.py b/overviewer.py index 3a191b5..3ae3494 100755 --- a/overviewer.py +++ b/overviewer.py @@ -117,7 +117,7 @@ def main(): parser.add_option("-v", "--verbose", dest="verbose", action="count", default=0, helptext="Print more output. You can specify this option multiple times.") parser.add_option("--skip-js", dest="skipjs", action="store_true", helptext="Don't output marker.js or regions.js") parser.add_option("--no-signs", dest="nosigns", action="store_true", helptext="Don't output signs to markers.js") - parser.add_option("--north-direction", dest="north_direction", helptext="Specifies which corner of the screen north will point to. Valid options are: " + ", ".join(avail_north_dirs) + ".", type="choice", default=avail_north_dirs[0], choices=avail_north_dirs) + parser.add_option("--north-direction", dest="north_direction", action="store", helptext="Specifies which corner of the screen north will point to. Valid options are: " + ", ".join(avail_north_dirs) + ".", type="choice", default=avail_north_dirs[0], choices=avail_north_dirs) parser.add_option("--display-config", dest="display_config", action="store_true", helptext="Display the configuration parameters, but don't render the map. Requires all required options to be specified", commandLineOnly=True) #parser.add_option("--write-config", dest="write_config", action="store_true", helptext="Writes out a sample config file", commandLineOnly=True) @@ -241,6 +241,13 @@ def main(): # First do world-level preprocessing w = world.World(worlddir, destdir, useBiomeData=useBiomeData, regionlist=regionlist, north_direction=north_direction) + if not (w.persistentData['north_direction'] == north_direction) and not options.forcerender: + logging.error("Conflicting north-direction setting!") + logging.error("Overviewer.dat gives previous north-direction as "+w.persistentData['north_direction']) + logging.error("Requested north-direction was "+north_direction) + logging.error("To change north-direction of an existing render, --forcerender must be specified") + sys.exit(1) + w.go(options.procs) logging.info("Rending the following tilesets: %s", ",".join(options.rendermode)) diff --git a/overviewer_core/googlemap.py b/overviewer_core/googlemap.py index 82b4869..9a4e95e 100644 --- a/overviewer_core/googlemap.py +++ b/overviewer_core/googlemap.py @@ -187,6 +187,7 @@ class MapGen(object): # save persistent data self.world.persistentData['POI'] = self.world.POI + self.world.persistentData['north_direction'] = self.world.north_direction with open(self.world.pickleFile,"wb") as f: cPickle.dump(self.world.persistentData,f) diff --git a/overviewer_core/world.py b/overviewer_core/world.py index 59b77c5..2f5e7f7 100644 --- a/overviewer_core/world.py +++ b/overviewer_core/world.py @@ -135,9 +135,11 @@ class World(object): if os.path.exists(self.pickleFile): with open(self.pickleFile,"rb") as p: self.persistentData = cPickle.load(p) + if not self.persistentData.get('north_direction', False): + self.persistentData['north_direction']=='lower-left' else: # some defaults - self.persistentData = dict(POI=[]) + self.persistentData = dict(POI=[], north_direction=self.north_direction) def get_region_path(self, chunkX, chunkY):