# HG changeset patch
# User koda
# Date 1288304657 -7200
# Node ID ca0600ab38bf63bc82f55571bb8d03a417ccad21
# Parent cfd83b04e0beefe428053de68da6cd02129438d9
disable gfMines and update variable names (landadds -> minesnum, cLandAdditions -> cLandMines)
increase max mine timer to 5 seconds
diff -r cfd83b04e0be -r ca0600ab38bf QTfrontend/ammoSchemeModel.cpp
--- a/QTfrontend/ammoSchemeModel.cpp Wed Oct 27 01:33:38 2010 +0200
+++ b/QTfrontend/ammoSchemeModel.cpp Fri Oct 29 00:24:17 2010 +0200
@@ -39,7 +39,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(false) // shared ammo 15
- << QVariant(false) //disable girders 16
+ << QVariant(false) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -50,8 +50,8 @@
<< QVariant(100) // init health 24
<< QVariant(15) // sudden death 25
<< QVariant(5) // case prob 26
- << QVariant(3) // mines time 27
- << QVariant(4) // landadds 28
+ << QVariant(3) // mines time 27
+ << QVariant(4) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(2) // explosives 30
;
@@ -101,7 +101,7 @@
<< "suddendeath" // 25
<< "caseprobability" // 26
<< "minestime" // 27
- << "landadds" // 28
+ << "minesnum" // 28
<< "minedudpct" // 29
<< "explosives" // 30
;
@@ -124,7 +124,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(false) //disable girders 16
+ << QVariant(false) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -135,8 +135,8 @@
<< QVariant(100) // init health 24
<< QVariant(15) // sudden death 25
<< QVariant(0) // case prob 26
- << QVariant(3) // mines time 27
- << QVariant(4) // landadds 28
+ << QVariant(3) // mines time 27
+ << QVariant(4) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(2) // explosives 30
;
@@ -159,7 +159,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(true) //disable girders 16
+ << QVariant(true) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -170,8 +170,8 @@
<< QVariant(100) // init health 24
<< QVariant(50) // sudden death 25
<< QVariant(1) // case prob 26
- << QVariant(3) // mines time 27
- << QVariant(4) // landadds 28
+ << QVariant(3) // mines time 27
+ << QVariant(4) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(0) // explosives 30
;
@@ -194,7 +194,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(true) //disable girders 16
+ << QVariant(true) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -205,8 +205,8 @@
<< QVariant(100) // init health 24
<< QVariant(15) // sudden death 25
<< QVariant(0) // case prob 26
- << QVariant(3) // mines time 27
- << QVariant(4) // landadds 28
+ << QVariant(3) // mines time 27
+ << QVariant(4) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(0) // explosives 30
;
@@ -229,7 +229,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(true) //disable girders 16
+ << QVariant(true) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -240,8 +240,8 @@
<< QVariant(50) // init health 24
<< QVariant(15) // sudden death 25
<< QVariant(0) // case prob 26
- << QVariant(0) // mines time 27
- << QVariant(80) // landadds 28
+ << QVariant(0) // mines time 27
+ << QVariant(80) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(0) // explosives 30
;
@@ -264,7 +264,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(false) //disable girders 16
+ << QVariant(false) // disable girders 16
<< QVariant(false) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -276,7 +276,7 @@
<< QVariant(15) // sudden death 25
<< QVariant(0) // case prob 26
<< QVariant(0) // mines time 27
- << QVariant(0) // landadds 28
+ << QVariant(0) // mines number 28
<< QVariant(0) // mine dud pct 29
<< QVariant(80) // explosives 30
;
@@ -299,7 +299,7 @@
<< QVariant(false) // king 13
<< QVariant(false) // place hog 14
<< QVariant(true) // shared ammo 15
- << QVariant(true) //disable girders 16
+ << QVariant(true) // disable girders 16
<< QVariant(true) // disable land objects 17
<< QVariant(false) // AI survival 18
<< QVariant(false) // inf. attack 19
@@ -311,7 +311,7 @@
<< QVariant(15) // sudden death 25
<< QVariant(5) // case prob 26
<< QVariant(3) // mines time 27
- << QVariant(10) // landadds 28
+ << QVariant(10) // mines number 28
<< QVariant(10) // mine dud pct 29
<< QVariant(10) // explosives 30
;
diff -r cfd83b04e0be -r ca0600ab38bf QTfrontend/gamecfgwidget.cpp
--- a/QTfrontend/gamecfgwidget.cpp Wed Oct 27 01:33:38 2010 +0200
+++ b/QTfrontend/gamecfgwidget.cpp Fri Oct 29 00:24:17 2010 +0200
@@ -101,47 +101,47 @@
quint32 result = 0;
if (schemeData(1).toBool())
- result |= 0x00001000;
+ result |= 0x00001000; // fort
if (schemeData(2).toBool())
- result |= 0x00000010;
+ result |= 0x00000010; // divide teams
if (schemeData(3).toBool())
- result |= 0x00000004;
+ result |= 0x00000004; // solid land
if (schemeData(4).toBool())
- result |= 0x00000008;
+ result |= 0x00000008; // border
if (schemeData(5).toBool())
- result |= 0x00000020;
+ result |= 0x00000020; // low gravity
if (schemeData(6).toBool())
- result |= 0x00000040;
+ result |= 0x00000040; // laser sight
if (schemeData(7).toBool())
- result |= 0x00000080;
+ result |= 0x00000080; // invulnerable
if (schemeData(8).toBool())
- result |= 0x00000100;
+ result |= 0x00000100; // mines
if (schemeData(9).toBool())
- result |= 0x00000200;
+ result |= 0x00000200; // vampirism
if (schemeData(10).toBool())
- result |= 0x00000400;
+ result |= 0x00000400; // karma
if (schemeData(11).toBool())
- result |= 0x00000800;
+ result |= 0x00000800; // artillery
if (schemeData(12).toBool())
- result |= 0x00002000;
+ result |= 0x00002000; // random
if (schemeData(13).toBool())
- result |= 0x00004000;
+ result |= 0x00004000; // king
if (schemeData(14).toBool())
- result |= 0x00008000;
+ result |= 0x00008000; // place hogs
if (schemeData(15).toBool())
- result |= 0x00010000;
+ result |= 0x00010000; // shared ammo
if (schemeData(16).toBool())
- result |= 0x00020000;
+ result |= 0x00020000; // disable girders
if (schemeData(17).toBool())
- result |= 0x00040000;
+ result |= 0x00040000; // disable land obj
if (schemeData(18).toBool())
- result |= 0x00080000;
+ result |= 0x00080000; // ai survival
if (schemeData(19).toBool())
- result |= 0x00100000;
+ result |= 0x00100000; // infinite attacks
if (schemeData(20).toBool())
- result |= 0x00200000;
+ result |= 0x00200000; // reset weaps
if (schemeData(21).toBool())
- result |= 0x00400000;
+ result |= 0x00400000; // per hog ammo
return result;
}
@@ -159,7 +159,7 @@
sl.append(QString("e$damagepct %1").arg(schemeData(22).toInt()));
sl.append(QString("e$turntime %1").arg(schemeData(23).toInt() * 1000));
sl.append(QString("e$minestime %1").arg(schemeData(27).toInt() * 1000));
- sl.append(QString("e$landadds %1").arg(schemeData(28).toInt()));
+ sl.append(QString("e$minesnum %1").arg(schemeData(28).toInt()));
sl.append(QString("e$sd_turns %1").arg(schemeData(25).toInt()));
sl.append(QString("e$casefreq %1").arg(schemeData(26).toInt()));
sl.append(QString("e$minedudpct %1").arg(schemeData(29).toInt()));
diff -r cfd83b04e0be -r ca0600ab38bf QTfrontend/pages.cpp
--- a/QTfrontend/pages.cpp Wed Oct 27 01:33:38 2010 +0200
+++ b/QTfrontend/pages.cpp Fri Oct 29 00:24:17 2010 +0200
@@ -1645,7 +1645,7 @@
l->setPixmap(QPixmap(":/res/iconTime.png")); // TODO: icon
glBSLayout->addWidget(l,5,1,1,1);
SB_MinesTime = new QSpinBox(gbBasicSettings);
- SB_MinesTime->setRange(-1, 3);
+ SB_MinesTime->setRange(-1, 5);
SB_MinesTime->setValue(3);
SB_MinesTime->setSingleStep(1);
SB_MinesTime->setSpecialValueText(tr("Random"));
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uConsole.pas
--- a/hedgewars/uConsole.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uConsole.pas Fri Oct 29 00:24:17 2010 +0200
@@ -237,7 +237,7 @@
RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns , false);
RegisterVariable('damagepct',vtLongInt, @cDamagePercent , false);
RegisterVariable('minedudpct',vtLongInt,@cMineDudPercent, false);
- RegisterVariable('landadds', vtLongInt, @cLandAdditions , false);
+ RegisterVariable('minesnum', vtLongInt, @cLandMines , false);
RegisterVariable('explosives',vtLongInt,@cExplosives , false);
RegisterVariable('gmflags' , vtLongInt, @GameFlags , false);
RegisterVariable('trflags' , vtLongInt, @TrainingFlags , false);
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uConsts.pas
--- a/hedgewars/uConsts.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uConsts.pas Fri Oct 29 00:24:17 2010 +0200
@@ -338,7 +338,7 @@
gfLowGravity = $00000020;
gfLaserSight = $00000040;
gfInvulnerable = $00000080;
- gfMines = $00000100; // redundant? same effect as 'landadds 0'
+
gfVampiric = $00000200;
gfKarma = $00000400;
gfArtillery = $00000800;
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uGears.pas
--- a/hedgewars/uGears.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uGears.pas Fri Oct 29 00:24:17 2010 +0200
@@ -1201,18 +1201,17 @@
if ((GameFlags and gfForts) = 0) then
begin
// TODO: exclude each other or allow both, mines and explosives, on same map?
- if ((GameFlags and gfMines) <> 0) then
- for i:= 0 to Pred(cLandAdditions) do
- begin
- Gear:= AddGear(0, 0, gtMine, 0, _0, _0, 0);
- FindPlace(Gear, false, 0, LAND_WIDTH);
- end;
-// No game flag for this for now
- for i:= 0 to Pred(cExplosives) do
- begin
- Gear:= AddGear(0, 0, gtExplosives, 0, _0, _0, 0);
- FindPlace(Gear, false, 0, LAND_WIDTH);
- end;
+ for i:= 0 to Pred(cLandMines) do
+ begin
+ Gear:= AddGear(0, 0, gtMine, 0, _0, _0, 0);
+ FindPlace(Gear, false, 0, LAND_WIDTH);
+ end;
+ // No game flag for this for now
+ for i:= 0 to Pred(cExplosives) do
+ begin
+ Gear:= AddGear(0, 0, gtExplosives, 0, _0, _0, 0);
+ FindPlace(Gear, false, 0, LAND_WIDTH);
+ end;
end;
if (GameFlags and gfLowGravity) <> 0 then
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uMisc.pas
--- a/hedgewars/uMisc.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uMisc.pas Fri Oct 29 00:24:17 2010 +0200
@@ -106,7 +106,7 @@
cScreenSpace : LongInt;
cCaseFactor : Longword;
- cLandAdditions : Longword;
+ cLandMines : Longword;
cExplosives : Longword;
cSeed : shortstring;
@@ -752,7 +752,7 @@
cDamagePercent := 100;
cMineDudPercent := 0;
cTemplateFilter := 0;
- cMapGen := 0;//MAPGEN_REGULAR
+ cMapGen := 0; // MAPGEN_REGULAR
cMazeSize := 0;
cHedgehogTurnTime := 45000;
cMinesTime := 3000;
@@ -765,7 +765,7 @@
RealTicks := 0;
AttackBar := 0; // 0 - none, 1 - just bar at the right-down corner, 2 - like in WWP
cCaseFactor := 5; {0..9}
- cLandAdditions := 4;
+ cLandMines := 4;
cExplosives := 2;
GameState := Low(TGameState);
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uScript.pas
--- a/hedgewars/uScript.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uScript.pas Fri Oct 29 00:24:17 2010 +0200
@@ -830,7 +830,7 @@
ScriptSetString('Seed', cSeed);
ScriptSetInteger('TurnTime', cHedgehogTurnTime);
ScriptSetInteger('CaseFreq', cCaseFactor);
-ScriptSetInteger('LandAdds', cLandAdditions);
+ScriptSetInteger('MinesNum', cLandMines);
ScriptSetInteger('Explosives', cExplosives);
ScriptSetInteger('Delay', cInactDelay);
ScriptSetInteger('Ready', cReadyDelay);
@@ -851,7 +851,7 @@
ParseCommand('$gmflags ' + ScriptGetString('GameFlags'), true);
ParseCommand('$turntime ' + ScriptGetString('TurnTime'), true);
ParseCommand('$casefreq ' + ScriptGetString('CaseFreq'), true);
-ParseCommand('$landadds ' + ScriptGetString('LandAdds'), true);
+ParseCommand('$minesnum ' + ScriptGetString('MinesNum'), true);
ParseCommand('$explosives ' + ScriptGetString('Explosives'), true);
ParseCommand('$delay ' + ScriptGetString('Delay'), true);
ParseCommand('$ready ' + ScriptGetString('Ready'), true);
@@ -1039,7 +1039,6 @@
ScriptSetInteger('gfLowGravity', gfLowGravity);
ScriptSetInteger('gfLaserSight', gfLaserSight);
ScriptSetInteger('gfInvulnerable', gfInvulnerable);
-ScriptSetInteger('gfMines', gfMines);
ScriptSetInteger('gfVampiric', gfVampiric);
ScriptSetInteger('gfKarma', gfKarma);
ScriptSetInteger('gfArtillery', gfArtillery);
diff -r cfd83b04e0be -r ca0600ab38bf hedgewars/uWorld.pas
--- a/hedgewars/uWorld.pas Wed Oct 27 01:33:38 2010 +0200
+++ b/hedgewars/uWorld.pas Fri Oct 29 00:24:17 2010 +0200
@@ -147,11 +147,11 @@
if cMinesTime <> 3000 then
begin
if cMinesTime = 0 then
- g:= AddGoal(g, gfMines, gidNoMineTimer)
+ g:= AddGoal(g, gfAny, gidNoMineTimer)
else if cMinesTime < 0 then
- g:= AddGoal(g, gfMines, gidRandomMineTimer)
+ g:= AddGoal(g, gfAny, gidRandomMineTimer)
else
- g:= AddGoal(g, gfMines, gidMineTimer, cMinesTime div 1000);
+ g:= AddGoal(g, gfAny, gidMineTimer, cMinesTime div 1000);
end;
// if the string has been set, show it for (default timeframe) seconds
diff -r cfd83b04e0be -r ca0600ab38bf project_files/HedgewarsMobile/Classes/GameSetup.m
--- a/project_files/HedgewarsMobile/Classes/GameSetup.m Wed Oct 27 01:33:38 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/GameSetup.m Fri Oct 29 00:24:17 2010 +0200
@@ -205,7 +205,7 @@
[self sendToEngine:minesTime];
[minesTime release];
- NSString *minesNumber = [[NSString alloc] initWithFormat:@"e$landadds %d",[[basicArray objectAtIndex:i++] intValue]];
+ NSString *minesNumber = [[NSString alloc] initWithFormat:@"e$minesnum %d",[[basicArray objectAtIndex:i++] intValue]];
[self sendToEngine:minesNumber];
[minesNumber release];
diff -r cfd83b04e0be -r ca0600ab38bf project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m
--- a/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Wed Oct 27 01:33:38 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Fri Oct 29 00:24:17 2010 +0200
@@ -195,9 +195,14 @@
// forced to use this weird format otherwise the label disappears when size of the text is bigger than the original
NSString *prestring = [NSString stringWithFormat:@"%d",(NSInteger) cellSlider.value];
+
// turntime 100 means unlimited time turns (set in GameSetup)
if (row == 1 && (NSInteger) cellSlider.value == 100)
prestring = @"∞";
+ else
+ // mines less than 0 means random
+ if (row == 5 && (NSInteger) cellSlider.value == -1)
+ prestring = NSLocalizedString(@"Rnd",@"Short for 'Random'");
while ([prestring length] <= 4)
prestring = [NSString stringWithFormat:@" %@",prestring];
@@ -255,7 +260,10 @@
if ([indexPath row] == 1 && [indexPath section] == 1 && (NSInteger) theSlider.value == 100)
label.text = @"∞";
else
- label.text = [NSString stringWithFormat:@"%d",(NSInteger) theSlider.value];
+ if ([indexPath row] == 5 && [indexPath section] == 1 && (NSInteger) theSlider.value == -1)
+ label.text = NSLocalizedString(@"Rnd",@"Short for 'Random'");
+ else
+ label.text = [NSString stringWithFormat:@"%d",(NSInteger) theSlider.value];
// save changes in the main array
NSMutableArray *array = [self.schemeDictionary objectForKey:@"basic"];
[array replaceObjectAtIndex:theSlider.tag-SLIDER_TAG withObject:[NSNumber numberWithInt:(NSInteger) theSlider.value]];
diff -r cfd83b04e0be -r ca0600ab38bf project_files/HedgewarsMobile/Resources/Settings/iFrontend/basicFlags_en.plist
--- a/project_files/HedgewarsMobile/Resources/Settings/iFrontend/basicFlags_en.plist Wed Oct 27 01:33:38 2010 +0200
+++ b/project_files/HedgewarsMobile/Resources/Settings/iFrontend/basicFlags_en.plist Fri Oct 29 00:24:17 2010 +0200
@@ -68,9 +68,9 @@
image
Time
max
- 3
+ 5
min
- 0
+ -1
title
Mines Time
@@ -82,7 +82,7 @@
max
80
min
- 1
+ 0
title
Mines Number