QTfrontend/gamecfgwidget.cpp
changeset 4489 c4ca9ced258b
parent 4482 34393349f96e
child 4494 9585435e20f7
--- a/QTfrontend/gamecfgwidget.cpp	Wed Dec 08 21:55:15 2010 +0300
+++ b/QTfrontend/gamecfgwidget.cpp	Wed Dec 08 22:18:50 2010 +0300
@@ -173,6 +173,8 @@
 QStringList GameCFGWidget::getFullConfig() const
 {
     QStringList sl;
+    int mapgen = pMapContainer->get_mapgen();
+    
     sl.append("eseed " + pMapContainer->getCurrentSeed());
     sl.append(QString("e$gmflags %1").arg(getGameFlags()));
     sl.append(QString("e$damagepct %1").arg(schemeData(24).toInt()));
@@ -189,8 +191,26 @@
     sl.append(QString("e$healthdec %1").arg(schemeData(36).toInt()));
     sl.append(QString("e$ropepct %1").arg(schemeData(37).toInt()));
     sl.append(QString("e$template_filter %1").arg(pMapContainer->getTemplateFilter()));
-    sl.append(QString("e$mapgen %1").arg(pMapContainer->get_mapgen()));
-    sl.append(QString("e$maze_size %1").arg(pMapContainer->get_maze_size()));
+    sl.append(QString("e$mapgen %1").arg(mapgen));
+
+    switch (mapgen)
+    {
+        case MAPGEN_MAZE:
+            sl.append(QString("e$maze_size %1").arg(pMapContainer->get_maze_size()));
+
+        case MAPGEN_DRAWN:
+        {
+            QByteArray data = pMapContainer->getDrawnMapData();
+            while(data.size() > 0)
+            {
+                QByteArray tmp = data;
+                tmp.truncate(230);
+                sl << QString("edraw %1").arg(QString(tmp));
+                data.remove(0, 230);
+            }
+        }
+        default: ;
+    }
 
     QString currentMap = pMapContainer->getCurrentMap();
     if (currentMap.size() > 0)