diff -r dbf69c7c5e00 -r c4ca9ced258b QTfrontend/gamecfgwidget.cpp --- 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)