QTfrontend/gamecfgwidget.cpp
branchexperimental3D
changeset 4004 b1c2c2f6fc5e
parent 4000 ddc4a09889e7
child 4003 ca0600ab38bf
equal deleted inserted replaced
3698:793386610068 4004:b1c2c2f6fc5e
    99 quint32 GameCFGWidget::getGameFlags() const
    99 quint32 GameCFGWidget::getGameFlags() const
   100 {
   100 {
   101     quint32 result = 0;
   101     quint32 result = 0;
   102 
   102 
   103     if (schemeData(1).toBool())
   103     if (schemeData(1).toBool())
   104         result |= 0x01;
   104         result |= 0x00001000;
   105     if (schemeData(2).toBool())
   105     if (schemeData(2).toBool())
   106         result |= 0x10;
   106         result |= 0x00000010;
   107     if (schemeData(3).toBool())
   107     if (schemeData(3).toBool())
   108         result |= 0x04;
   108         result |= 0x00000004;
   109     if (schemeData(4).toBool())
   109     if (schemeData(4).toBool())
   110         result |= 0x08;
   110         result |= 0x00000008;
   111     if (schemeData(5).toBool())
   111     if (schemeData(5).toBool())
   112         result |= 0x20;
   112         result |= 0x00000020;
   113     if (schemeData(6).toBool())
   113     if (schemeData(6).toBool())
   114         result |= 0x40;
   114         result |= 0x00000040;
   115     if (schemeData(7).toBool())
   115     if (schemeData(7).toBool())
   116         result |= 0x80;
   116         result |= 0x00000080;
   117     if (schemeData(8).toBool())
   117     if (schemeData(8).toBool())
   118         result |= 0x100;
   118         result |= 0x00000100;
   119     if (schemeData(9).toBool())
   119     if (schemeData(9).toBool())
   120         result |= 0x200;
   120         result |= 0x00000200;
   121     if (schemeData(10).toBool())
   121     if (schemeData(10).toBool())
   122         result |= 0x400;
   122         result |= 0x00000400;
   123     if (schemeData(11).toBool())
   123     if (schemeData(11).toBool())
   124         result |= 0x800;
   124         result |= 0x00000800;
   125     if (schemeData(12).toBool())
   125     if (schemeData(12).toBool())
   126         result |= 0x2000;
   126         result |= 0x00002000;
   127     if (schemeData(13).toBool())
   127     if (schemeData(13).toBool())
   128         result |= 0x4000;
   128         result |= 0x00004000;
   129     if (schemeData(14).toBool())
   129     if (schemeData(14).toBool())
   130         result |= 0x8000;
   130         result |= 0x00008000;
   131     if (schemeData(15).toBool())
   131     if (schemeData(15).toBool())
   132         result |= 0x10000;
   132         result |= 0x00010000;
   133     if (schemeData(16).toBool())
   133     if (schemeData(16).toBool())
   134         result |= 0x20000;
   134         result |= 0x00020000;
   135     if (schemeData(17).toBool())
   135     if (schemeData(17).toBool())
   136         result |= 0x80000;
   136         result |= 0x00040000;
       
   137     if (schemeData(18).toBool())
       
   138         result |= 0x00080000;
       
   139     if (schemeData(19).toBool())
       
   140         result |= 0x00100000;
       
   141     if (schemeData(20).toBool())
       
   142         result |= 0x00200000;
       
   143     if (schemeData(21).toBool())
       
   144         result |= 0x00400000;
   137 
   145 
   138     return result;
   146     return result;
   139 }
   147 }
   140 
   148 
   141 quint32 GameCFGWidget::getInitHealth() const
   149 quint32 GameCFGWidget::getInitHealth() const
   142 {
   150 {
   143     return schemeData(20).toInt();
   151     return schemeData(24).toInt();
   144 }
   152 }
   145 
   153 
   146 QStringList GameCFGWidget::getFullConfig() const
   154 QStringList GameCFGWidget::getFullConfig() const
   147 {
   155 {
   148     QStringList sl;
   156     QStringList sl;
   149     sl.append("eseed " + pMapContainer->getCurrentSeed());
   157     sl.append("eseed " + pMapContainer->getCurrentSeed());
   150     sl.append(QString("e$gmflags %1").arg(getGameFlags()));
   158     sl.append(QString("e$gmflags %1").arg(getGameFlags()));
   151     sl.append(QString("e$damagepct %1").arg(schemeData(18).toInt()));
   159     sl.append(QString("e$damagepct %1").arg(schemeData(22).toInt()));
   152     sl.append(QString("e$turntime %1").arg(schemeData(19).toInt() * 1000));
   160     sl.append(QString("e$turntime %1").arg(schemeData(23).toInt() * 1000));
   153     sl.append(QString("e$minestime %1").arg(schemeData(23).toInt() * 1000));
   161     sl.append(QString("e$minestime %1").arg(schemeData(27).toInt() * 1000));
   154     sl.append(QString("e$landadds %1").arg(schemeData(24).toInt()));
   162     sl.append(QString("e$landadds %1").arg(schemeData(28).toInt()));
   155     sl.append(QString("e$sd_turns %1").arg(schemeData(21).toInt()));
   163     sl.append(QString("e$sd_turns %1").arg(schemeData(25).toInt()));
   156     sl.append(QString("e$casefreq %1").arg(schemeData(22).toInt()));
   164     sl.append(QString("e$casefreq %1").arg(schemeData(26).toInt()));
   157     sl.append(QString("e$minedudpct %1").arg(schemeData(25).toInt()));
   165     sl.append(QString("e$minedudpct %1").arg(schemeData(29).toInt()));
   158     sl.append(QString("e$explosives %1").arg(schemeData(26).toInt()));
   166     sl.append(QString("e$explosives %1").arg(schemeData(30).toInt()));
   159     sl.append(QString("e$template_filter %1").arg(pMapContainer->getTemplateFilter()));
   167     sl.append(QString("e$template_filter %1").arg(pMapContainer->getTemplateFilter()));
   160     sl.append(QString("e$mapgen %1").arg(pMapContainer->get_mapgen()));
   168     sl.append(QString("e$mapgen %1").arg(pMapContainer->get_mapgen()));
   161     sl.append(QString("e$maze_size %1").arg(pMapContainer->get_maze_size()));
   169     sl.append(QString("e$maze_size %1").arg(pMapContainer->get_maze_size()));
   162 
   170 
   163     QString currentMap = pMapContainer->getCurrentMap();
   171     QString currentMap = pMapContainer->getCurrentMap();
   164     if (currentMap.size() > 0)
   172     if (currentMap.size() > 0)
   165     {
   173     {
   166         sl.append("emap " + currentMap);
   174         sl.append("emap " + currentMap);
   167         if(pMapContainer->getCurrentIsMission())
   175         if(pMapContainer->getCurrentIsMission())
   168             sl.append(QString("escript %1/Maps/%2/map.lua")
   176             sl.append(QString("escript Maps/%1/map.lua")
   169                 .arg(datadir->absolutePath())
       
   170                 .arg(currentMap));
   177                 .arg(currentMap));
   171     }
   178     }
   172     sl.append("etheme " + pMapContainer->getCurrentTheme());
   179     sl.append("etheme " + pMapContainer->getCurrentTheme());
   173     return sl;
   180     return sl;
   174 }
   181 }