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 } |