merge
authornemo
Wed, 27 Oct 2010 00:24:03 -0400
changeset 4002 3e173ac63849
parent 3997 6baa46aad645 (current diff)
parent 4001 cfd83b04e0be (diff)
child 4004 b1c2c2f6fc5e
child 4005 3a42cd3cc27f
merge
hedgewars/uGears.pas
project_files/HedgewarsMobile/Resources/Settings/Schemes/Basketball.plist
project_files/HedgewarsMobile/Resources/Settings/credits.plist
--- a/QTfrontend/gamecfgwidget.cpp	Wed Oct 27 00:23:38 2010 -0400
+++ b/QTfrontend/gamecfgwidget.cpp	Wed Oct 27 00:24:03 2010 -0400
@@ -101,47 +101,47 @@
     quint32 result = 0;
 
     if (schemeData(1).toBool())
-        result |= 0x01;
+        result |= 0x00001000;
     if (schemeData(2).toBool())
-        result |= 0x10;
+        result |= 0x00000010;
     if (schemeData(3).toBool())
-        result |= 0x04;
+        result |= 0x00000004;
     if (schemeData(4).toBool())
-        result |= 0x08;
+        result |= 0x00000008;
     if (schemeData(5).toBool())
-        result |= 0x20;
+        result |= 0x00000020;
     if (schemeData(6).toBool())
-        result |= 0x40;
+        result |= 0x00000040;
     if (schemeData(7).toBool())
-        result |= 0x80;
+        result |= 0x00000080;
     if (schemeData(8).toBool())
-        result |= 0x100;
+        result |= 0x00000100;
     if (schemeData(9).toBool())
-        result |= 0x200;
+        result |= 0x00000200;
     if (schemeData(10).toBool())
-        result |= 0x400;
+        result |= 0x00000400;
     if (schemeData(11).toBool())
-        result |= 0x800;
+        result |= 0x00000800;
     if (schemeData(12).toBool())
-        result |= 0x2000;
+        result |= 0x00002000;
     if (schemeData(13).toBool())
-        result |= 0x4000;
+        result |= 0x00004000;
     if (schemeData(14).toBool())
-        result |= 0x8000;
+        result |= 0x00008000;
     if (schemeData(15).toBool())
-        result |= 0x10000;
+        result |= 0x00010000;
     if (schemeData(16).toBool())
-        result |= 0x20000;
+        result |= 0x00020000;
     if (schemeData(17).toBool())
-        result |= 0x80000;
+        result |= 0x00040000;
     if (schemeData(18).toBool())
-        result |= 0x100000;
+        result |= 0x00080000;
     if (schemeData(19).toBool())
-        result |= 0x200000;
+        result |= 0x00100000;
     if (schemeData(20).toBool())
-        result |= 0x400000;
+        result |= 0x00200000;
     if (schemeData(21).toBool())
-        result |= 0x800000;
+        result |= 0x00400000;
 
     return result;
 }
--- a/QTfrontend/pages.cpp	Wed Oct 27 00:23:38 2010 -0400
+++ b/QTfrontend/pages.cpp	Wed Oct 27 00:24:03 2010 -0400
@@ -1529,35 +1529,35 @@
 
     TBW_placehog = new ToggleButtonWidget(gbGameModes, ":/res/btnPlaceHog.png");
     TBW_placehog->setToolTip("<b>" + ToggleButtonWidget::tr("Place Hedgehogs") + "</b>:<br />" + tr("Take turns placing your hedgehogs before the start of play."));
-    glGMLayout->addWidget(TBW_placehog,2,2,1,1);
+    glGMLayout->addWidget(TBW_placehog,2,3,1,1);
 
     TBW_sharedammo = new ToggleButtonWidget(gbGameModes, ":/res/btnSharedAmmo.png");
     TBW_sharedammo->setToolTip("<b>" + ToggleButtonWidget::tr("Clan Shares Ammo") + "</b>:<br />" + tr("Ammo is shared between all teams that share a colour."));
-    glGMLayout->addWidget(TBW_sharedammo,2,3,1,1);
+    glGMLayout->addWidget(TBW_sharedammo,2,4,1,1);
 
     TBW_disablegirders = new ToggleButtonWidget(gbGameModes, ":/res/btnDisableGirders.png");
     TBW_disablegirders->setToolTip("<b>" + ToggleButtonWidget::tr("Disable Girders") + "</b>:<br />" + tr("Disable girders when generating random maps."));
-    glGMLayout->addWidget(TBW_disablegirders,2,4,1,1);
+    glGMLayout->addWidget(TBW_disablegirders,3,0,1,1);
 
     TBW_disablelandobjects = new ToggleButtonWidget(gbGameModes, ":/res/btnDisableLandObjects.png");
     TBW_disablelandobjects->setToolTip("<b>" + ToggleButtonWidget::tr("Disable Land Objects") + "</b>:<br />" + tr("Disable land objects when generating random maps."));
-    glGMLayout->addWidget(TBW_disablelandobjects,3,0,1,1);
+    glGMLayout->addWidget(TBW_disablelandobjects,3,1,1,1);
 
     TBW_aisurvival = new ToggleButtonWidget(gbGameModes, ":/res/btnAISurvival.png");
     TBW_aisurvival->setToolTip("<b>" + ToggleButtonWidget::tr("AI Survival Mode") + "</b>:<br />" + tr("AI respawns on death."));
-    glGMLayout->addWidget(TBW_aisurvival,3,1,1,1);
+    glGMLayout->addWidget(TBW_aisurvival,3,2,1,1);
 
     TBW_infattack = new ToggleButtonWidget(gbGameModes, ":/res/btnInfAttack.png");
     TBW_infattack->setToolTip("<b>" + ToggleButtonWidget::tr("Unlimited Attacks") + "</b>:<br />" + tr("Attacking does not end your turn."));
-    glGMLayout->addWidget(TBW_infattack,3,2,1,1);
+    glGMLayout->addWidget(TBW_infattack,3,3,1,1);
 
     TBW_resetweps = new ToggleButtonWidget(gbGameModes, ":/res/btnResetWeps.png");
     TBW_resetweps->setToolTip("<b>" + ToggleButtonWidget::tr("Reset Weapons") + "</b>:<br />" + tr("Weapons are reset to starting values each turn."));
-    glGMLayout->addWidget(TBW_resetweps,3,3,1,1);
+    glGMLayout->addWidget(TBW_resetweps,3,4,1,1);
 
     TBW_perhogammo = new ToggleButtonWidget(gbGameModes, ":/res/btnPerHogAmmo.png");
     TBW_perhogammo->setToolTip("<b>" + ToggleButtonWidget::tr("Per Hedgehog Ammo") + "</b>:<br />" + tr("Each hedgehog has its own ammo. It does not share with the team."));
-    glGMLayout->addWidget(TBW_perhogammo,3,4,1,1);
+    glGMLayout->addWidget(TBW_perhogammo,4,0,1,1);
 
     // Right
     QLabel * l;
--- a/hedgewars/uConsts.pas	Wed Oct 27 00:23:38 2010 -0400
+++ b/hedgewars/uConsts.pas	Wed Oct 27 00:24:03 2010 -0400
@@ -319,8 +319,6 @@
 {$ENDIF}
 
     cSendEmptyPacketTime = 1000;
-
-    // from uTriggers
     trigTurns = $80000001;
 
     // Training Flags
@@ -332,30 +330,29 @@
     tfTargetRespawn = $00000010;
 
     gfAny                = $FFFFFFFF;
-    gfForts              = $00000001;
-    gfMultiWeapon        = $00000002;
+    gfOneClanMode        = $00000001;           // used in trainings
+    gfMultiWeapon        = $00000002;           // used in trainings
     gfSolidLand          = $00000004;
     gfBorder             = $00000008;
     gfDivideTeams        = $00000010;
     gfLowGravity         = $00000020;
     gfLaserSight         = $00000040;
     gfInvulnerable       = $00000080;
-    gfMines              = $00000100;
+    gfMines              = $00000100;           // redundant? same effect as 'landadds 0'
     gfVampiric           = $00000200;
     gfKarma              = $00000400;
     gfArtillery          = $00000800;
-    gfOneClanMode        = $00001000;
+    gfForts              = $00001000;
     gfRandomOrder        = $00002000;
     gfKing               = $00004000;
     gfPlaceHog           = $00008000;
     gfSharedAmmo         = $00010000;
     gfDisableGirders     = $00020000;
-    gfExplosives         = $00040000;
-    gfDisableLandObjects = $00080000;
-    gfAISurvival         = $00100000;
-    gfInfAttack          = $00200000;
-    gfResetWeps          = $00400000;
-    gfPerHogAmmo         = $00800000;
+    gfDisableLandObjects = $00040000;
+    gfAISurvival         = $00080000;
+    gfInfAttack          = $00100000;
+    gfResetWeps          = $00200000;
+    gfPerHogAmmo         = $00400000;
     // NOTE: When adding new game flags, ask yourself
     // if a "game start notice" would be useful. If so,
     // add one in uWorld.pas - look for "AddGoal".
--- a/hedgewars/uGears.pas	Wed Oct 27 00:23:38 2010 -0400
+++ b/hedgewars/uGears.pas	Wed Oct 27 00:24:03 2010 -0400
@@ -1208,7 +1208,6 @@
             FindPlace(Gear, false, 0, LAND_WIDTH);
             end;
 //  No game flag for this for now
-//  if ((GameFlags and gfExplosives) <> 0) then
         for i:= 0 to Pred(cExplosives) do
             begin
             Gear:= AddGear(0, 0, gtExplosives, 0, _0, _0, 0);
--- a/hedgewars/uScript.pas	Wed Oct 27 00:23:38 2010 -0400
+++ b/hedgewars/uScript.pas	Wed Oct 27 00:24:03 2010 -0400
@@ -1049,7 +1049,6 @@
 ScriptSetInteger('gfPlaceHog', gfPlaceHog);
 ScriptSetInteger('gfSharedAmmo', gfSharedAmmo);
 ScriptSetInteger('gfDisableGirders', gfDisableGirders);
-ScriptSetInteger('gfExplosives', gfExplosives);
 
 ScriptSetInteger('gmLeft', gmLeft);
 ScriptSetInteger('gmRight', gmRight);
--- a/project_files/HedgewarsMobile/Classes/AboutViewController.m	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Classes/AboutViewController.m	Wed Oct 27 00:24:03 2010 -0400
@@ -33,7 +33,7 @@
     self.tableView.backgroundView = nil;
     self.tableView.allowsSelection = NO;
 
-    NSString *strPath = [NSString stringWithFormat:@"%@/Settings/credits.plist",[[NSBundle mainBundle] resourcePath]];
+    NSString *strPath = [NSString stringWithFormat:@"%@/credits.plist",IFRONTEND_DIRECTORY()];
     NSArray *array = [[NSArray alloc] initWithContentsOfFile:strPath];
     self.people = array;
     [array release];
--- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.h	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.h	Wed Oct 27 00:24:03 2010 -0400
@@ -34,8 +34,8 @@
 #define GRAPHICS_DIRECTORY()    [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/"]
 #define HATS_DIRECTORY()        [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Hats/"]
 #define GRAVES_DIRECTORY()      [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Graves/"]
-#define BOTLEVELS_DIRECTORY()   [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Hedgehog/botlevels"]
-#define BTN_DIRECTORY()         [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Btn"]
+#define BOTLEVELS_DIRECTORY()   [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Hedgehog/botlevels/"]
+#define BTN_DIRECTORY()         [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Btn/"]
 #define FLAGS_DIRECTORY()       [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Graphics/Flags/"]
 #define FORTS_DIRECTORY()       [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Forts/"]
 #define VOICES_DIRECTORY()      [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Sounds/voices/"]
@@ -43,6 +43,7 @@
 #define MAPS_DIRECTORY()        [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Maps/"]
 #define MISSIONS_DIRECTORY()    [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Missions/Maps/"]
 #define LOCALE_DIRECTORY()      [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Locale/"]
+#define IFRONTEND_DIRECTORY()   [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Settings/iFrontend/"]
 
 #define MSG_MEMCLEAN()          DLog(@"has cleaned up some memory");
 #define MSG_DIDUNLOAD()         DLog(@"unloaded");
--- a/project_files/HedgewarsMobile/Classes/GameSetup.m	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Classes/GameSetup.m	Wed Oct 27 00:24:03 2010 -0400
@@ -165,58 +165,26 @@
     [schemePath release];
     NSArray *basicArray = [schemeDictionary objectForKey:@"basic"];
     NSArray *gamemodArray = [schemeDictionary objectForKey:@"gamemod"];
+    int i = 0;
     int result = 0;
-    int i = 0;
+    int mask = 0x00000004;
 
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000001;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000010;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000004;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000008;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000020;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000040;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000080;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000100;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000200;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000400;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00000800;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00002000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00004000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00008000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00010000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00020000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00080000;
-    if ([[gamemodArray objectAtIndex:i++] boolValue])
-        result |= 0x00100000;  
-
-    DLog(@"Sent %d flags",i);
+    // pack the gameflags in a single var and send it
+    for (NSNumber *value in gamemodArray) {
+        if ([value boolValue] == YES)
+            result |= mask;
+        mask <<= 1;
+    }
     NSString *flags = [[NSString alloc] initWithFormat:@"e$gmflags %d",result];
     [self sendToEngine:flags];
     [flags release];
 
-    i = 0;
     NSString *dmgMod = [[NSString alloc] initWithFormat:@"e$damagepct %d",[[basicArray objectAtIndex:i++] intValue]];
     [self sendToEngine:dmgMod];
     [dmgMod release];
 
     // support for endless games
-    int tentativeTurntime = [[basicArray objectAtIndex:i++] intValue];
+    NSInteger tentativeTurntime = [[basicArray objectAtIndex:i++] intValue];
     if (tentativeTurntime == 100)
         tentativeTurntime = 9999;
     NSString *turnTime = [[NSString alloc] initWithFormat:@"e$turntime %d",tentativeTurntime * 1000];
@@ -249,7 +217,7 @@
     [self sendToEngine:explosives];
     [explosives release];
 
-    DLog(@"Sent %d modes",i);
+    DLog(@"Sent %d flags and %d modes", [gamemodArray count], i);
     [schemeDictionary release];
     return result;
 }
@@ -367,15 +335,17 @@
                 // scheme (returns initial health)
                 NSInteger health = [self provideScheme:[self.gameConfig objectForKey:@"scheme"]];
 
+                // send an ammostore for each team
                 NSArray *teamsConfig = [self.gameConfig objectForKey:@"teams_list"];
+                [self provideAmmoData:[self.gameConfig objectForKey:@"weapon"] forPlayingTeams:[teamsConfig count]];
+
+                // finally add hogs
                 for (NSDictionary *teamData in teamsConfig) {
                     [self provideTeamData:[teamData objectForKey:@"team"]
                                   forHogs:[[teamData objectForKey:@"number"] intValue]
                                withHealth:health
                                   ofColor:[teamData objectForKey:@"color"]];
                 }
-
-                [self provideAmmoData:[self.gameConfig objectForKey:@"weapon"] forPlayingTeams:[teamsConfig count]];
                 break;
             case '?':
                 DLog(@"Ping? Pong!");
--- a/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m	Wed Oct 27 00:24:03 2010 -0400
@@ -39,88 +39,17 @@
 #pragma mark View lifecycle
 -(void) viewDidLoad {
     [super viewDidLoad];
+    NSString *path = nil;
 
     // title, description, image name (+btn)
-    NSArray *mods = [[NSArray alloc] initWithObjects:
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Fort Mode",@""),@"title",
-                      NSLocalizedString(@"Defend your fort and destroy the opponents (two team colours max)",@""),@"description",
-                      @"Forts",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Divide Team",@""),@"title",
-                      NSLocalizedString(@"Teams will start on opposite sides of the terrain (two team colours max)",@""),@"description",
-                      @"TeamsDivide",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Solid Land",@""),@"title",
-                      NSLocalizedString(@"Land can not be destroyed",@""),@"description",
-                      @"Solid",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Add Border",@""),@"title",
-                      NSLocalizedString(@"Add an indestructable border around the terrain",@""),@"description",
-                      @"Border",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Low Gravity",@""),@"title",
-                      NSLocalizedString(@"Lower gravity",@""),@"description",
-                      @"LowGravity",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Laser Sight",@""),@"title",
-                      NSLocalizedString(@"Assisted aiming with laser sight",@""),@"description",
-                      @"LaserSight",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Invulnerable",@""),@"title",
-                      NSLocalizedString(@"All hogs have a personal forcefield",@""),@"description",
-                      @"Invulnerable",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Add Mines",@""),@"title",
-                      NSLocalizedString(@"Enable random mines",@""),@"description",
-                      @"Mines",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Vampirism Mode",@""),@"title",
-                      NSLocalizedString(@"Gain 80% of the damage you do back in health",@""),@"description",
-                      @"Vampiric",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Karma Mode",@""),@"title",
-                      NSLocalizedString(@"Share your opponents pain, share their damage",@""),@"description",
-                      @"Karma",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Artillery Mode",@""),@"title",
-                      NSLocalizedString(@"Your hogs are unable to move, test your aim",@""),@"description",
-                      @"Artillery",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Random Order",@""),@"title",
-                      NSLocalizedString(@"Order of play is random instead of in room order",@""),@"description",
-                      @"RandomOrder",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"King Mode",@""),@"title",
-                      NSLocalizedString(@"Play with a King. If he dies, your side loses",@""),@"description",
-                      @"King",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys: NSLocalizedString(@"Place Hedgehogs",@""),@"title",
-                      NSLocalizedString(@"Take turns placing your hedgehogs pre-game",@""),@"description",
-                      @"PlaceHog",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Clan Shares Ammo",@""),@"title",
-                      NSLocalizedString(@"Ammo is shared between all clan teams",@""),@"description",
-                      @"SharedAmmo",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Disable Girders",@""),@"title",
-                      NSLocalizedString(@"Disable girders when generating random maps",@""),@"description",
-                      @"DisableGirders",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Disable Land Objects",@""),@"title",
-                      NSLocalizedString(@"Disable land objects when generating maps",@""),@"description",
-                      @"DisableLandObjects",@"image",nil],
-                     [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"AI Survival Mode",@""),@"title",
-                      NSLocalizedString(@"AI-controlled hogs respawn on death",@""),@"description",
-                      @"AISurvival",@"image",nil],
-                     nil];
+    path = [NSString stringWithFormat:@"%@/gameFlags_en.plist",IFRONTEND_DIRECTORY()];
+    NSArray *mods = [[NSArray alloc] initWithContentsOfFile:path];
     self.gameModifierArray = mods;
     [mods release];
 
     // title, image name (+icon), default value, max value, min value
-    NSArray *basicSettings = [[NSArray alloc] initWithObjects:
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Damage Modifier",@""),@"title",@"Damage",@"image",
-                               [NSNumber numberWithInt:100],@"default",[NSNumber numberWithInt:10],@"min",[NSNumber numberWithInt:300],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Turn Time",@""),@"title",@"Time",@"image",
-                               [NSNumber numberWithInt:45],@"default",[NSNumber numberWithInt:1],@"min",[NSNumber numberWithInt:100],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Initial Health",@""),@"title",@"Health",@"image",
-                               [NSNumber numberWithInt:100],@"default",[NSNumber numberWithInt:50],@"min",[NSNumber numberWithInt:200],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Sudden Death Timeout",@""),@"title",@"SuddenDeath",@"image",
-                               [NSNumber numberWithInt:15],@"default",[NSNumber numberWithInt:0],@"min",[NSNumber numberWithInt:50],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Crate Drops",@""),@"title",@"Box",@"image",
-                               [NSNumber numberWithInt:5],@"default",[NSNumber numberWithInt:0],@"min",[NSNumber numberWithInt:9],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Mines Time",@""),@"title",@"Time",@"image",
-                               [NSNumber numberWithInt:3],@"default",[NSNumber numberWithInt:0],@"min",[NSNumber numberWithInt:3],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Mines Number",@""),@"title",@"Mine",@"image",
-                               [NSNumber numberWithInt:4],@"default",[NSNumber numberWithInt:1],@"min",[NSNumber numberWithInt:80],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Dud Mines Probability",@""),@"title",@"Dud",@"image",
-                               [NSNumber numberWithInt:0],@"default",[NSNumber numberWithInt:0],@"min",[NSNumber numberWithInt:100],@"max",nil],
-                              [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Explosives",@""),@"title",@"Damage",@"image",
-                               [NSNumber numberWithInt:2],@"default",[NSNumber numberWithInt:0],@"min",[NSNumber numberWithInt:40],@"max",nil],
-                              nil];
+    path = [NSString stringWithFormat:@"%@/basicFlags_en.plist",IFRONTEND_DIRECTORY()];
+    NSArray *basicSettings = [[NSArray alloc] initWithContentsOfFile:path];
     self.basicSettingList = basicSettings;
     [basicSettings release];
 
@@ -177,10 +106,10 @@
             return 2;
             break;
         case 1:
-            return [self.basicSettingList count];
+            return [[self.schemeDictionary objectForKey:@"basic"] count];
             break;
         case 2:
-            return [self.gameModifierArray count];
+            return [[self.schemeDictionary objectForKey:@"gamemod"] count];
         default:
             break;
     }
@@ -259,7 +188,7 @@
                 if ([oneView isMemberOfClass:[UISlider class]]) {
                     cellSlider = (UISlider *)oneView;
                     break;
-                }
+                } 
             }
             cellSlider.tag = SLIDER_TAG + row;
             cellSlider.value = [[[self.schemeDictionary objectForKey:@"basic"] objectAtIndex:row] floatValue];
@@ -282,21 +211,24 @@
                 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                                reuseIdentifier:CellIdentifier2] autorelease];
                 UISwitch *onOff = [[UISwitch alloc] init];
-                onOff.tag = SWITCH_TAG+row;
                 [onOff addTarget:self action:@selector(toggleSwitch:) forControlEvents:UIControlEventValueChanged];
                 cell.accessoryView = onOff;
                 [onOff release];
             }
 
+            UISwitch *switcher = (UISwitch *)cell.accessoryView;
+            switcher.tag = SWITCH_TAG + row;
+            [switcher setOn:[[[self.schemeDictionary objectForKey:@"gamemod"] objectAtIndex:row] boolValue] animated:NO];
+            
             UIImage *image = [[UIImage alloc] initWithContentsOfFile:[NSString stringWithFormat:@"%@/btn%@.png",BTN_DIRECTORY(),[[self.gameModifierArray objectAtIndex:row] objectForKey:@"image"]]];
             cell.imageView.image = image;
             [image release];
             [cell.imageView.layer setCornerRadius:7.0f];
-            [cell.imageView.layer setBorderWidth:1];
             [cell.imageView.layer setMasksToBounds:YES];
             cell.textLabel.text = [[self.gameModifierArray objectAtIndex:row] objectForKey:@"title"];
             cell.detailTextLabel.text = [[self.gameModifierArray objectAtIndex:row] objectForKey:@"description"];
-            [(UISwitch *)cell.accessoryView setOn:[[[self.schemeDictionary objectForKey:@"gamemod"] objectAtIndex:row] boolValue] animated:NO];
+            cell.detailTextLabel.adjustsFontSizeToFitWidth = YES;
+            cell.detailTextLabel.minimumFontSize = 6;
 
             cell.selectionStyle = UITableViewCellSelectionStyleNone;
         }
--- a/project_files/HedgewarsMobile/Info.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Info.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -28,7 +28,7 @@
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>1.1</string>
+	<string>1.2</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
 	<key>UIApplicationExitsOnSuspend</key>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Barrel Mayhem.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Barrel Mayhem.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -23,10 +23,13 @@
 		<false/>
 		<false/>
 		<false/>
+		<false/>
+		<false/>
+		<false/>
+		<false/>
 		<true/>
 		<false/>
 		<false/>
-		<false/>
 		<true/>
 		<false/>
 		<false/>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Basketball.plist	Wed Oct 27 00:23:38 2010 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>basic</key>
-	<array>
-		<integer>100</integer>
-		<integer>30</integer>
-		<integer>100</integer>
-		<integer>15</integer>
-		<integer>0</integer>
-		<integer>3</integer>
-		<integer>4</integer>
-		<integer>0</integer>
-		<integer>0</integer>
-	</array>
-	<key>gamemod</key>
-	<array>
-		<false/>
-		<false/>
-		<true/>
-		<true/>
-		<true/>
-		<false/>
-		<true/>
-		<false/>
-		<false/>
-		<false/>
-		<false/>
-		<true/>
-		<false/>
-		<false/>
-		<true/>
-		<true/>
-		<true/>
-		<false/>
-	</array>
-</dict>
-</plist>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Default.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Default.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -22,8 +22,8 @@
 		<false/>
 		<false/>
 		<false/>
+		<true/>
 		<false/>
-		<true/>
 		<false/>
 		<false/>
 		<false/>
@@ -34,6 +34,9 @@
 		<false/>
 		<false/>
 		<false/>
+		<false/>
+		<false/>
+		<false/>
 	</array>
 </dict>
 </plist>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Minefield.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Minefield.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -22,8 +22,8 @@
 		<false/>
 		<false/>
 		<false/>
+		<true/>
 		<false/>
-		<true/>
 		<false/>
 		<false/>
 		<false/>
@@ -32,7 +32,10 @@
 		<false/>
 		<true/>
 		<true/>
-		<true/>
+		<false/>
+		<false/>
+		<false/>
+		<false/>
 		<false/>
 	</array>
 </dict>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Pro Mode.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Pro Mode.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -34,6 +34,9 @@
 		<false/>
 		<false/>
 		<false/>
+		<false/>
+		<false/>
+		<false/>
 	</array>
 </dict>
 </plist>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Shoppa.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Shoppa.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -17,7 +17,6 @@
 	<key>gamemod</key>
 	<array>
 		<false/>
-		<false/>
 		<true/>
 		<true/>
 		<false/>
@@ -27,12 +26,16 @@
 		<false/>
 		<false/>
 		<false/>
+		<false/>
 		<true/>
 		<false/>
 		<false/>
 		<true/>
 		<true/>
-		<true/>
+		<false/>
+		<false/>
+		<false/>
+		<false/>
 		<false/>
 	</array>
 </dict>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Timeless.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Timeless.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -22,11 +22,14 @@
 		<false/>
 		<false/>
 		<false/>
+		<true/>
+		<false/>
+		<false/>
+		<false/>
 		<false/>
 		<true/>
 		<false/>
 		<false/>
-		<false/>
 		<true/>
 		<false/>
 		<false/>
--- a/project_files/HedgewarsMobile/Resources/Settings/Schemes/Tunnel Hogs.plist	Wed Oct 27 00:23:38 2010 -0400
+++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Tunnel Hogs.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -18,7 +18,6 @@
 	<array>
 		<false/>
 		<false/>
-		<false/>
 		<true/>
 		<false/>
 		<false/>
@@ -27,6 +26,7 @@
 		<false/>
 		<false/>
 		<false/>
+		<false/>
 		<true/>
 		<false/>
 		<false/>
@@ -34,6 +34,9 @@
 		<true/>
 		<true/>
 		<false/>
+		<false/>
+		<false/>
+		<false/>
 	</array>
 </dict>
 </plist>
--- a/project_files/HedgewarsMobile/Resources/Settings/credits.plist	Wed Oct 27 00:23:38 2010 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<array>
-	<array>
-		<string>Andrey &quot;UnC0Rr&quot; Korotaev</string>
-		<string>Igor &quot;Displacer&quot; Ulyanov</string>
-		<string>Derek &quot;Nemo&quot; Pomery</string>
-		<string>Martin &quot;Affect&quot; Boze</string>
-		<string>David &quot;Krawek&quot; Cuadrado</string>
-		<string>Martin &quot;Ttsmj&quot; Minarik</string>
-		<string>Kristian &quot;TheXception&quot; Lehmann</string>
-		<string>Vittorio &quot;Koda&quot; Giovara</string>
-		<string>Mario &quot;Smaxx&quot; Liebisch</string>
-		<string>Carlos &quot;Palewolf&quot; Vives</string>
-		<string>Richard &quot;Sheepluva&quot; Korlyi</string>
-		<string>Henning &quot;Prg&quot; Kühn</string>
-	</array>
-	<array>
-		<string>Tiyuri</string>
-		<string>Joshua Frese</string>
-		<string>Stanko Tadić</string>
-		<string>Julien Koesten</string>
-		<string>Joshua O&apos;Sullivan</string>
-		<string>Nils Luck</string>
-		<string>Trey Perry</string>
-	</array>
-	<array>
-		<string>Stephen &quot;Armagon&quot; Alexander</string>
-		<string>Finn &quot;Tiyuri&quot; Brice</string>
-		<string>Jonatan Nilsson</string>
-		<string>Daniel Martin</string>
-	</array>
-	<array>
-		<string>Romulo Fernandes Machado</string>
-		<string>Svetoslav Stefanov</string>
-		<string>Petr Řezáček</string>
-		<string>Jie Luo</string>
-		<string>Andrey Korotaev</string>
-		<string>Nina Kuisma</string>
-		<string>Antoine Turmel</string>
-		<string>Peter Hüwe, Mario Liebisch</string>
-		<string>Luca Bonora</string>
-		<string>Adam Etienne</string>
-		<string>Maciej Mroziński, Wojciech Latkowski, Maciej Górny</string>
-		<string>Fábio Canário</string>
-		<string>Andrey Korotaev</string>
-		<string>Jose Riha</string>
-		<string>Carlos Vives</string>
-		<string>Niklas Grahn</string>
-		<string>Eugene V. Lyubimkin</string>
-	</array>
-	<array>
-		<string>Aleksey Andreev</string>
-		<string>Aleksander Rudalev</string>
-		<string>Natasha Stafeeva</string>
-		<string>Adam Higerd</string>
-	</array>
-	<array>
-		<string>Engine, frontend, net server author</string>
-		<string>Desktop frontend improvements</string>
-		<string>Many engine and frontend improvements</string>
-		<string>Drillrocket, Ballgun, RC Plane weapons</string>
-		<string>Mine number and time game settings</string>
-		<string>Desktop frontend improvements</string>
-		<string>Desktop frontend improvements</string>
-		<string>Mac OS X and iPhone version</string>
-		<string>Gamepad support, OpenGL wizard</string>
-		<string>Many engine improvements and graphics</string>
-		<string>Many engine and server improvements</string>
-		<string>Maze maps</string>
-	</array>
-	<array>
-		<string></string>
-		<string></string>
-		<string></string>
-		<string></string>
-		<string></string>
-		<string></string>
-		<string>Some hats</string>
-	</array>
-	<array>
-		<string>Hedgehogs voice</string>
-		<string></string>
-		<string></string>
-		<string></string>
-	</array>
-	<array>
-		<string>Brazilian Portuguese</string>
-		<string>Bulgarian</string>
-		<string>Czech</string>
-		<string>Chinese</string>
-		<string>English</string>
-		<string>Finnish</string>
-		<string>French</string>
-		<string>German</string>
-		<string>Italian</string>
-		<string>Japanese</string>
-		<string>Polish</string>
-		<string>Portuguese</string>
-		<string>Russian</string>
-		<string>Slovak</string>
-		<string>Spanish</string>
-		<string>Swedish</string>
-		<string>Ukrainian</string>
-	</array>
-	<array>
-		<string></string>
-		<string></string>
-		<string></string>
-		<string></string>
-	</array>
-</array>
-</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Resources/Settings/iFrontend/basicFlags_en.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array>
+	<dict>
+		<key>default</key>
+		<integer>100</integer>
+		<key>image</key>
+		<string>Damage</string>
+		<key>max</key>
+		<integer>300</integer>
+		<key>min</key>
+		<integer>10</integer>
+		<key>title</key>
+		<string>Damage Modifier</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>45</integer>
+		<key>image</key>
+		<string>Time</string>
+		<key>max</key>
+		<integer>100</integer>
+		<key>min</key>
+		<integer>1</integer>
+		<key>title</key>
+		<string>Turn Time</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>100</integer>
+		<key>image</key>
+		<string>Health</string>
+		<key>max</key>
+		<integer>200</integer>
+		<key>min</key>
+		<integer>50</integer>
+		<key>title</key>
+		<string>Initial Health</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>15</integer>
+		<key>image</key>
+		<string>SuddenDeath</string>
+		<key>max</key>
+		<integer>50</integer>
+		<key>min</key>
+		<integer>0</integer>
+		<key>title</key>
+		<string>Sudden Death Timeout</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>5</integer>
+		<key>image</key>
+		<string>Box</string>
+		<key>max</key>
+		<integer>9</integer>
+		<key>min</key>
+		<integer>0</integer>
+		<key>title</key>
+		<string>Crate Drops</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>3</integer>
+		<key>image</key>
+		<string>Time</string>
+		<key>max</key>
+		<integer>3</integer>
+		<key>min</key>
+		<integer>0</integer>
+		<key>title</key>
+		<string>Mines Time</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>4</integer>
+		<key>image</key>
+		<string>Mine</string>
+		<key>max</key>
+		<integer>80</integer>
+		<key>min</key>
+		<integer>1</integer>
+		<key>title</key>
+		<string>Mines Number</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>0</integer>
+		<key>image</key>
+		<string>Dud</string>
+		<key>max</key>
+		<integer>100</integer>
+		<key>min</key>
+		<integer>0</integer>
+		<key>title</key>
+		<string>Dud Mines Probability</string>
+	</dict>
+	<dict>
+		<key>default</key>
+		<integer>2</integer>
+		<key>image</key>
+		<string>Damage</string>
+		<key>max</key>
+		<integer>40</integer>
+		<key>min</key>
+		<integer>0</integer>
+		<key>title</key>
+		<string>Explosives</string>
+	</dict>
+</array>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Resources/Settings/iFrontend/credits.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array>
+	<array>
+		<string>Andrey &quot;UnC0Rr&quot; Korotaev</string>
+		<string>Igor &quot;Displacer&quot; Ulyanov</string>
+		<string>Derek &quot;Nemo&quot; Pomery</string>
+		<string>Martin &quot;Affect&quot; Boze</string>
+		<string>David &quot;Krawek&quot; Cuadrado</string>
+		<string>Martin &quot;Ttsmj&quot; Minarik</string>
+		<string>Kristian &quot;TheXception&quot; Lehmann</string>
+		<string>Vittorio &quot;Koda&quot; Giovara</string>
+		<string>Mario &quot;Smaxx&quot; Liebisch</string>
+		<string>Carlos &quot;Palewolf&quot; Vives</string>
+		<string>Richard &quot;Sheepluva&quot; Korlyi</string>
+		<string>Henning &quot;Prg&quot; Kühn</string>
+	</array>
+	<array>
+		<string>Tiyuri</string>
+		<string>Joshua Frese</string>
+		<string>Stanko Tadić</string>
+		<string>Julien Koesten</string>
+		<string>Joshua O&apos;Sullivan</string>
+		<string>Nils Luck</string>
+		<string>Trey Perry</string>
+	</array>
+	<array>
+		<string>Stephen &quot;Armagon&quot; Alexander</string>
+		<string>Finn &quot;Tiyuri&quot; Brice</string>
+		<string>Jonatan Nilsson</string>
+		<string>Daniel Martin</string>
+	</array>
+	<array>
+		<string>Romulo Fernandes Machado</string>
+		<string>Svetoslav Stefanov</string>
+		<string>Petr Řezáček</string>
+		<string>Jie Luo</string>
+		<string>Andrey Korotaev</string>
+		<string>Nina Kuisma</string>
+		<string>Antoine Turmel</string>
+		<string>Peter Hüwe, Mario Liebisch</string>
+		<string>Luca Bonora</string>
+		<string>Adam Etienne</string>
+		<string>Maciej Mroziński, Wojciech Latkowski, Maciej Górny</string>
+		<string>Fábio Canário</string>
+		<string>Andrey Korotaev</string>
+		<string>Jose Riha</string>
+		<string>Carlos Vives</string>
+		<string>Niklas Grahn</string>
+		<string>Eugene V. Lyubimkin</string>
+	</array>
+	<array>
+		<string>Aleksey Andreev</string>
+		<string>Aleksander Rudalev</string>
+		<string>Natasha Stafeeva</string>
+		<string>Adam Higerd</string>
+	</array>
+	<array>
+		<string>Engine, frontend, net server author</string>
+		<string>Desktop frontend improvements</string>
+		<string>Many engine and frontend improvements</string>
+		<string>Drillrocket, Ballgun, RC Plane weapons</string>
+		<string>Mine number and time game settings</string>
+		<string>Desktop frontend improvements</string>
+		<string>Desktop frontend improvements</string>
+		<string>Mac OS X and iPhone version</string>
+		<string>Gamepad support, OpenGL wizard</string>
+		<string>Many engine improvements and graphics</string>
+		<string>Many engine and server improvements</string>
+		<string>Maze maps</string>
+	</array>
+	<array>
+		<string></string>
+		<string></string>
+		<string></string>
+		<string></string>
+		<string></string>
+		<string></string>
+		<string>Some hats</string>
+	</array>
+	<array>
+		<string>Hedgehogs voice</string>
+		<string></string>
+		<string></string>
+		<string></string>
+	</array>
+	<array>
+		<string>Brazilian Portuguese</string>
+		<string>Bulgarian</string>
+		<string>Czech</string>
+		<string>Chinese</string>
+		<string>English</string>
+		<string>Finnish</string>
+		<string>French</string>
+		<string>German</string>
+		<string>Italian</string>
+		<string>Japanese</string>
+		<string>Polish</string>
+		<string>Portuguese</string>
+		<string>Russian</string>
+		<string>Slovak</string>
+		<string>Spanish</string>
+		<string>Swedish</string>
+		<string>Ukrainian</string>
+	</array>
+	<array>
+		<string></string>
+		<string></string>
+		<string></string>
+		<string></string>
+	</array>
+</array>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Resources/Settings/iFrontend/gameFlags_en.plist	Wed Oct 27 00:24:03 2010 -0400
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array>
+	<dict>
+		<key>description</key>
+		<string>Land can not be destroyed</string>
+		<key>image</key>
+		<string>Solid</string>
+		<key>title</key>
+		<string>Solid Land</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Add an indestructable border around the terrain</string>
+		<key>image</key>
+		<string>Border</string>
+		<key>title</key>
+		<string>Add Border</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Teams will start on opposite sides of the terrain (two teams only)</string>
+		<key>image</key>
+		<string>TeamsDivide</string>
+		<key>title</key>
+		<string>Divide Team</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Lower gravity</string>
+		<key>image</key>
+		<string>LowGravity</string>
+		<key>title</key>
+		<string>Low Gravity</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Assisted aiming with laser sight</string>
+		<key>image</key>
+		<string>LaserSight</string>
+		<key>title</key>
+		<string>Laser Sight</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>All hogs have a personal forcefield</string>
+		<key>image</key>
+		<string>Invulnerable</string>
+		<key>title</key>
+		<string>Invulnerable</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Enable random mines</string>
+		<key>image</key>
+		<string>Mines</string>
+		<key>title</key>
+		<string>Add Mines</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Gain 80% of the damage you do back in health</string>
+		<key>image</key>
+		<string>Vampiric</string>
+		<key>title</key>
+		<string>Vampirism Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Share your opponents pain, share their damage</string>
+		<key>image</key>
+		<string>Karma</string>
+		<key>title</key>
+		<string>Karma Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Your hogs are unable to move, test your aim</string>
+		<key>image</key>
+		<string>Artillery</string>
+		<key>title</key>
+		<string>Artillery Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Defend your fort and destroy the opponents (two teams only)</string>
+		<key>image</key>
+		<string>Forts</string>
+		<key>title</key>
+		<string>Fort Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Order of play is random instead of in room order</string>
+		<key>image</key>
+		<string>RandomOrder</string>
+		<key>title</key>
+		<string>Random Order</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Play with a King. If he dies, your side loses</string>
+		<key>image</key>
+		<string>King</string>
+		<key>title</key>
+		<string>King Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Take turns placing your hedgehogs pre-game</string>
+		<key>image</key>
+		<string>PlaceHog</string>
+		<key>title</key>
+		<string>Place Hedgehogs</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Ammo is shared between all clan teams</string>
+		<key>image</key>
+		<string>SharedAmmo</string>
+		<key>title</key>
+		<string>Clan Shares Ammo</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Disable girders when generating random maps</string>
+		<key>image</key>
+		<string>DisableGirders</string>
+		<key>title</key>
+		<string>Disable Girders</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Disable land objects when generating maps</string>
+		<key>image</key>
+		<string>DisableLandObjects</string>
+		<key>title</key>
+		<string>Disable Land Objects</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>AI-controlled hogs respawn on death</string>
+		<key>image</key>
+		<string>AISurvival</string>
+		<key>title</key>
+		<string>AI Survival Mode</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Attacking does not end your turn</string>
+		<key>image</key>
+		<string>InfAttack</string>
+		<key>title</key>
+		<string>Unlimited Attacks</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Weapons are reset to starting values each turn</string>
+		<key>image</key>
+		<string>ResetWeps</string>
+		<key>title</key>
+		<string>Reset Weapons</string>
+	</dict>
+	<dict>
+		<key>description</key>
+		<string>Each hedgehog has its own ammo.</string>
+		<key>image</key>
+		<string>PerHogAmmo</string>
+		<key>title</key>
+		<string>Per Hedgehog Ammo</string>
+	</dict>
+</array>
+</plist>
--- a/share/hedgewars/Data/Locale/es.txt	Wed Oct 27 00:23:38 2010 -0400
+++ b/share/hedgewars/Data/Locale/es.txt	Wed Oct 27 00:24:03 2010 -0400
@@ -1,5 +1,5 @@
 ; Spanish locale
-; Revision 3205
+; Revision 3987
 
 00:00=Granada
 00:01=Granada de frag.
@@ -43,6 +43,14 @@
 00:39=Platillo volante
 00:40=Cóctel molotov
 00:41=Birdy
+00:42=Dispositivo portátil de portales
+00:43=Piano
+00:44=Limbuger añejo
+00:45=Rifle sinusoidal (beta)
+00:46=Lanzallamas
+00:47=Bomba lapa
+00:48=Mazo
+00:49=Resurrección (beta)
 
 01:00=¡Luchad!
 01:01=Empate
@@ -56,6 +64,9 @@
 01:09=Sincronizando...
 01:10=Activar esta herramienta no hará que tu turno acabe.
 01:11=Esta herramienta o arma todavía no está disponible.
+01:12=¡Última ronda antes de la muerte súbita!
+01:13=¡%1 rondas hasta la muerte súbita!
+01:14=¡Prepárate, %1!
 
 ; Eventos
 ; El erizo (%1) ha muerto
@@ -361,6 +372,13 @@
 02:10=Es un pájaro, es un avión...
 02:10=¡Eliminado!
 
+; El erizo (%1) abandona (el equipo ha salido de la partida)
+02:11=¡%1 tiene que irse a mimir!
+02:11=¡%1 tiene que irse a la cama!
+02:11=Parece que %1 está demasiado ocupado para seguir jugando
+02:11=¡Teletranspórtame, Scotty!
+02:11=%1 tiene que irse
+
 ; Categorías de armamento
 03:00=Arma arrojadiza
 03:01=Arma arrojadiza
@@ -404,6 +422,14 @@
 03:39=Herramienta de transporte
 03:40=Bomba incendiaria
 03:41=Amigo chillón
+03:42=I'm making a note here...
+03:43=Performing Beathoven's deadly sonata
+03:44=Consumir preferentemente antes de 1923
+03:45=¡El poder de la ciencia!
+03:46=¡Caliente caliente caliente!
+03:47=Stick these somewhere useful!
+03:48=Pablo clavó un clavito
+03:49=Hace exactamente lo que dice
 
 ; Descripciones de armamento ( líneas delimitadas con | )
 04:00=Ataca a tus enemigos usando una sencilla granada.|Explotará una vez el temporizador llegue a cero.|1-5: ajustar temporizador.|Atacar: mantener presionado para lanzar más lejos.
@@ -411,12 +437,12 @@
 04:02=Ataca a tus enemigos usando un proyectil balístico.|¡Atención al viento, modificará su trayectoria!|Atacar: mantener presionado para lanzar más lejos.
 04:03=Lanza un abejorro explosivo que buscará el objetivo marcado.|No dispares a máxima potencia para mejorar su precisión.|Ratón: seleccionar objetivo.|Atacar: mantener presionado para lanzar más lejos.
 04:04=Ataca a tus enemigos usando una escopeta de dos cañones.|Las balas se dispersan, así que no necesitarás|un tiro directo para herir a tus oponentes.|Atacar: abrir fuego (dos tiros).
-04:05=¡Ve bajo tierra! Usa el martillo neumático para excavar|un pozo en el suelo y alcanzar otras áreas.|Atacar: empezar o terminar de cavar.
+04:05=¡Entiérrate! Usa el martillo neumático para excavar|un pozo en el suelo y alcanzar otras áreas.|Atacar: empezar o terminar de cavar.
 04:06=¿Aburrido? ¿Sin posibilidad de atacar? ¿Racionas tu munición?|¡No hay problema! ¡Adelante, pasa esta turno, gallina!|Atacar: pasa este turno sin hacer nada.
 04:07=Cubre grandes distancias usando hábilmente la cuerda.|Gana inercia para empujar a otros erizos|o deja caer granadas u otras armas sobre ellos.|Atacar: lanza o suelta la cuerda.|Salto: deja caer el arma seleccionada.
 04:08=Mantén alejados a tus enemigos desplegando minas|en pasadizos estrechos o justo bajo sus pies.|¡Asegúrate de alejarte rápidamente para no activarla tú mismo!|Atacar: deposita una mina ante ti.
 04:09=¿No confías en tu puntería? Con la desert eagle|tienes 4 disparos para conseguir alcanzar a tu enemigo.|Atacar: abrir fuego (hasta 4 veces).
-04:10=La fuerza bruta siempre es una opción. Lanza este clásico|explosivo cerca de tus enemigos y huye.|Atacar: deposita la dinamita ante ti.
+04:10=La fuerza bruta siempre es una opción. Coloca este clásico|explosivo cerca de tus enemigos y huye.|Atacar: deposita la dinamita ante ti.
 04:11=¡Manda a tus enemigos lejos de ti de un buen batazo!|Acaba con ellos lanzándolos fuera del mapa o al agua.|¿O qué tal lanzarles algunas minas?|Atacar: batear cualquier cosa delante de ti.
 04:12=Enfréntate cara a cara con tus enemigos|y libera el poder de tus puños sobre ellos.|Útil para lanzarlos fuera del mapa o al agua.|Atacar: ejecutar el puño de fuego.
 04:13=SIN USAR
@@ -429,7 +455,7 @@
 04:20=Te permite jugar este turno con otro de tus erizos.|Atacar: activar.|Tabulador: cambiar entre erizos una vez activada.
 04:21=Lanza un proyectil que se fragmentará al impactar, enviando|una lluvia explosiva sobre tus enemigos.|Atacar: lanzar a máxima potencia.
 04:22=¡Siéntete como Indiana Jones! El látigo es un arma muy útil|en ciertas situaciones, especialmente para deshacerte de|erizos enemigos enviándolos fuera del mapa o al agua.|Atacar: golpear cualquier cosa delante de ti.
-04:23=Si no tienes nada que perder, esto puede serte útil.|Sacrifica a tu erizo lanzándolo como un cohete que despejará|cualquier cosa que encuentre en su camino, explotando al final.|Atacar: manda a tu erizo a la perdición.
+04:23=Si no tienes nada que perder, esto puede serte útil.|Sacrifica a tu erizo lanzándolo como un cohete que despejará|cualquier cosa que encuentre en su camino, detonando al final.|Atacar: manda a tu erizo a la perdición.
 04:24=¡Feliz cumpleaños! Esta tarta bípeda caminará|hasta tus enemigos para darles una fiesta sorpresa explosiva.|La tarta es capaz de atravesar casi cualquier tipo de terreno,|pero evita que se quede atascada.|Atacar: enviar la tarta de camino o hacerla detonar.
 04:25=Utiliza este disfraz para seducir a tus enemigos,|haciéndoles perder la cabeza y saltar como locos hacia ti|(y de paso hacia el agua o una mina).|Atacar: disfrazarte y lanzar un beso a tus enemigos.
 04:26=Lanza esta jugosa sandía a tus enemigos.|Una vez el temporizador llegue a cero se fragmentará|en rodajas deliciosamente explosivas sobre tus enemigos.|Atacar: mantener presionado para lanzar más lejos.
@@ -440,14 +466,22 @@
 04:31=El avión teledirigido es el arma ideal para recoger cajas|o atacar enemigos lejanos.|Cargado con 3 bombas, el avión explotará|si choca contra algo.|Atacar: lanzar el avión o dejar caer las bombas.|Cursores: controlar el avión.
 04:32=¡Mucho mejor que cualquier dieta! Salta más alto y más lejos|o haz que tus enemigos vuelen incluso más lejos.|Atacar: activar.
 04:33=A veces uno necesita una pequeña ayuda para acabar con sus enemigos.|Atacar: activar.
-04:34=¡Na, na, no me tocas!|Atacar: activar.
+04:34=¡Na, na, na, no me tocas!|Atacar: activar.
 04:35=A veces el reloj corre demasiado deprisa. Consigue un poco|de tiempo extra para finalizar tu ataque.|Atacar: activar.
 04:36=Vaya, parece que tu puntería apesta. Por suerte para ti|la tecnología moderna está de tu lado.|Atacar: activar.
 04:37=No le temas a la luz del día. Sólo durará un turno, pero|te permitirá absorber la fuerza vital de tus enemigos|cuando les ataques.|Atacar: activar.
 04:38=El rifle de francotirador puede ser el arma más destructiva|de todo tu arsenal, pero es muy inefectiva en distancias cortas.|El daño infligido es proporcional a la distancia respecto del objetivo.|Atacar: abrir fuego (un disparo).
 04:39=Vuela hasta otras partes del mapa usando un platillo volante.|Puede ser complicado de controlar, pero conseguirás llegar|a sitios que nunca hubieras imaginado accesibles.|Atacar: activar.|Cursores: acelerar en esa dirección (un golpe cada vez).
 04:40=Alza un muro de fuego usando esta botella|llena de (en breve, ardiendo) líquido inflamable.|Atacar: mantener presionado para lanzar más lejos.
-04:41=¡Demostrando que lo natural puede ser mejor|que lo artificial, Birdy puede no sólo|transportar tu erizo como el platillo volante,|sino también lanzar huevos envenenados a tus enemigos!|Atacar: activar y lanzar huevos.|Cursores: aletear en esa dirección.
+04:41=¡Demostrando que lo natural puede ser mejor|que lo artificial, Birdy puede no sólo|transportar tu erizo como el platillo volante,|sino también lanzar huevos envenenados a tus enemigos!|Atacar: activar/lanzar huevos.|Cursores: aletear en esa dirección.
+04:42=El dispositivo portátil de portales es capaz de|transportar instantáneamente minas, armas o ¡incluso erizos!|Úsalo adecuadamente y tu campaña será un... |¡ÉXITO ALUCINANTE!|Atacar: disparar un portal.|Cambiar: alternar el color a disparar.
+04:43=¡Haz un debut explosivo en el mundo del espectáculo!|Lanza un piano desde lo más alto del firmamento, pero ten cuidado...|¡alguien debe tocarlo, y eso puede costarte la vida!|Ratón: seleccionar objetivo.|F1-F9: tocar el piano.
+04:44=¡No es simplemente queso, es un arma biológica!|No causará mucho daño al detonar, pero ten por seguro|que cualquiera que se acerque demasiado|a su oloroso rastro quedará gravemente intoxicado.|1-5: ajustar temporizador.|Atacar: mantener presionado para lanzar más lejos.
+04:45=Al fin una utilidad para todas esas clases de física.|Dispara una devastadora onda sinusoidal que mandará|a tus enemigos al infierno matemático.|Ten cuidado, el retroceso de este arma es considerable.|Atacar: disparar.
+04:46=Envuelve a tus enemigos en siseante fuego líquido.|¡Se derretirán de placer!|Atacar: activar.|Arriba/abajo: modificar trayectoria.|Izquierda/derecha: modificar potencia de fuego.
+04:47=¡Dos bombas lapa, doble diversión!|Útiles para planear reacciones en cadena, atrincherarte...|¡o las dos cosas!.|Atacar: mantener presionado para lanzar más lejos (dos disparos).
+04:48=¿Por qué la gente siempre la toma con los topos?|¡Golpear erizos es aún más divertido!|Un buen mazazo puede reducir en un tercio la|vida de cualquier erizo y enterrarlo completamente.|Atacar: activar.
+04:49=¡Resucita a tus aliados!|Pero ten cuidado, también resucitarás a tus enemigos.|Atacar: mantener presionado para resucitar lentamente.|Arriba: acelerar resurrección.
 
 ; Game goal strings
 05:00=Modos de juego
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts	Wed Oct 27 00:23:38 2010 -0400
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts	Wed Oct 27 00:24:03 2010 -0400
@@ -76,7 +76,7 @@
     </message>
     <message>
         <source>Cannot save record to file %1</source>
-        <translation>No se pudo guardar entrada en el fichero %1</translation>
+        <translation>No se pudo almacenar una entrada en el fichero %1</translation>
     </message>
     <message>
         <source>new</source>
@@ -88,7 +88,17 @@
     </message>
     <message>
         <source>DefaultTeam</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipo predeterminado</translation>
+    </message>
+    <message>
+        <source>Hedgewars Demo File</source>
+        <comment>File Types</comment>
+        <translation>Fichero de demo de Hedgewars</translation>
+    </message>
+    <message>
+        <source>Hedgewars Save File</source>
+        <comment>File Types</comment>
+        <translation>Partida guardada de Hedgewars</translation>
     </message>
 </context>
 <context>
@@ -138,7 +148,7 @@
     </message>
     <message>
         <source>Wacky</source>
-        <translation>Loco</translation>
+        <translation>Lunático</translation>
     </message>
     <message>
         <source>Tunnel size</source>
@@ -245,7 +255,10 @@
 registered on Hedgewars.org
 Please provide your password below
 or pick another nickname in game config:</source>
-        <translation type="unfinished"></translation>
+        <translation>El nick %1 ya está registrado 
+en Hedgewars.org. Por favor,
+introduce ahora tu clave de acceso
+o elige otro nick en las preferencias del juego:</translation>
     </message>
 </context>
 <context>
@@ -334,53 +347,53 @@
     </message>
     <message>
         <source>Details</source>
-        <translation type="unfinished"></translation>
+        <translation>Detalles</translation>
     </message>
     <message>
         <source>Health graph</source>
-        <translation type="unfinished"></translation>
+        <translation>Gráfica de puntos de vida</translation>
     </message>
     <message>
         <source>Ranking</source>
-        <translation type="unfinished"></translation>
+        <translation>Clasificación</translation>
     </message>
     <message>
         <source>The best shot award was won by &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;p&gt;El premio al mejor disparo es para &lt;b&gt;%1&lt;/b&gt;, con &lt;b&gt;%2&lt;/b&gt; pts.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
         <source>The best killer is &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; kills in a turn.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;p&gt;El mejor guerrero es &lt;b&gt;%1&lt;/b&gt;, con &lt;b&gt;%2&lt;/b&gt; muerte en un solo turno.&lt;/p&gt;</numerusform>
+            <numerusform>&lt;p&gt;El mejor guerrero es &lt;b&gt;%1&lt;/b&gt;, con &lt;b&gt;%2&lt;/b&gt; muertes en un solo turno.&lt;/p&gt;</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;p&gt;Un total de &lt;b&gt;%1&lt;/b&gt; erizo murió esta ronda.&lt;/p&gt;</numerusform>
+            <numerusform>&lt;p&gt;Un total de &lt;b&gt;%1&lt;/b&gt; erizos murieron esta ronda.&lt;/p&gt;</numerusform>
         </translation>
     </message>
     <message>
         <source>(%1 kill)</source>
-        <translation type="unfinished"></translation>
+        <translation>(%1 baja)</translation>
     </message>
     <message>
         <source>(%1 kills)</source>
-        <translation type="unfinished"></translation>
+        <translation>(%1 bajas)</translation>
     </message>
     <message>
         <source>&lt;b&gt;%1&lt;/b&gt; thought it&apos;s good to shoot his own hedgehogs with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;b&gt;%1&lt;/b&gt; prefiere disparar a sus miembros, con un total de &lt;b&gt;%2&lt;/b&gt; pts.</translation>
     </message>
     <message>
         <source>&lt;b&gt;%1&lt;/b&gt; killed &lt;b&gt;%2&lt;/b&gt; of his own hedgehogs.</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;b&gt;%1&lt;/b&gt; acabó con &lt;b&gt;%2&lt;/b&gt; de sus propios miembros.</translation>
     </message>
     <message>
         <source>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;b&gt;%1&lt;/b&gt; tenía demasiado miedo y pasó &lt;b&gt;%2&lt;/b&gt; turnos.</translation>
     </message>
 </context>
 <context>
@@ -396,237 +409,242 @@
     <message>
         <source>Simply pick the same color as a friend to play together as a team. Each of you will still control his or her own hedgehogs but they&apos;ll win or lose together.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Elige el mismo color que tus amigos para hacer una alianza con ellos. Cada uno de vosotros controlará sus propios erizos, pero la victoria o derrota será compartida por vuestra facción.</translation>
     </message>
     <message>
         <source>Some weapons might do only low damage but they can be a lot more devastating in the right situation. Try to use the Desert Eagle to knock multiple hedgehogs into the water.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puede que algunas armas hagan poco daño, pero pueden ser realmente devastadoras si son usadas en el momento correcto. Prueba a usar la Desert eagle para empujar erizos enemigos al agua, por ejemplo.</translation>
     </message>
     <message>
         <source>If you&apos;re unsure what to do and don&apos;t want to waste ammo, skip one round. But don&apos;t let too much time pass as there will be Sudden Death!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si no tienes claro qué vas a hacer y prefieres no desperdiciar munición puedes pasar un turno. ¡Pero ten cuidado, si dejas pasar muchos turnos puede que empiece la muerte súbita!</translation>
     </message>
     <message>
         <source>Want to save ropse? Release the rope in mid air and then shoot again. As long as you don&apos;t touch the ground you&apos;ll reuse your rope without wasting ammo!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Andas escaso de cuerdas? Suelta la cuerda mientras estés en el aire y vuelve a dispararla de nuevo. ¡Mientras no toques el suelo seguirás usando la misma cuerda sin desperdiciar munición adicional!</translation>
     </message>
     <message>
         <source>If you&apos;d like to keep others from using your preferred nickname on the official server, register an account at http://www.hedgewars.org/.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si prefieres que nadie más use tu nick en el servidor oficial puedes registrarlo en http://www.hedgewars.org</translation>
     </message>
     <message>
         <source>You&apos;re bored of default gameplay? Try one of the missions - they&apos;ll offer different gameplay depending on the one you picked.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Estás cansado del modo de juego de siempre? Prueba alguna de las misiones, encontrarás en ellas nuevos tipos de juego dependiendo de la que elijas.</translation>
     </message>
     <message>
         <source>By default the game will always record the last game played as a demo. Select &apos;Local Game&apos; and pick the &apos;Demos&apos; button on the lower right corner to play or manage them.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El juego intentará guardar la última partida como una demo de forma predeterminada. Más tarde puedes ir a &quot;Juego local&quot; y visitar la sección de &quot;Demos&quot; en la esquina inferior derecha para reproducirlas o gestionarlas.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If you&apos;ve got problems, ask on our forums but please don&apos;t expect 24/7 support!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es un juego gratuito de código abierto que hemos creado en nuestro tiempo libre. Si tienes algún problema estaremos encantados de ayudarte en nuestros foros o canal de IRC, pero no esperes que estemos allí las 24 horas del día.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If you like it, help us with a small donation or contribute your own work!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es un juego gratuito de código abierto que hemos creado en nuestro tiempo libre. Si te gusta podrías considerar el ayudarnos con una pequeña donación o contribuyendo tu propio código, gráficos o audios.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. Share it with your family and friends as you like!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es un juego gratuito de código abierto que hemos creado en nuestro tiempo libre. ¡Compártelo con tu família y amigos tanto como quieras!</translation>
     </message>
     <message>
         <source>From time to time there will be official tournaments. Upcoming events will be announced at http://www.hedgewars.org/ some days in advance.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>De cuando en cuando celebramos torneos oficiales. Puedes mantenerte al día sobre los próximos eventos en http://www.hedgewars.org</translation>
     </message>
     <message>
         <source>Hedgewars is available in many languages. If the translation in your language seems to be missing or outdated, feel free to contact us!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars está disponible en varios idiomas. Si no encuentras traducción a tu idioma o piensas que la actual es de baja calidad o está desactualizada estaremos encantados de aceptar tu colaboración para mejorarla.</translation>
     </message>
     <message>
         <source>Hedgewars can be run on lots of different operating systems including Microsoft Windows, Mac OS X and Linux.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es un juego multiplataforma que puede ser ejecutado en diversos sistemas operativos, incluyendo Windows, Mac OS X y Linux.</translation>
     </message>
     <message>
         <source>Always remember you&apos;re able to set up your own games in local and network/online play. You&apos;re not restricted to the &apos;Simple Game&apos; option.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Recuerda: puedes crear tus propias partidas multijugador tanto en local como por red, no estás limitado a jugar contra la máquina.</translation>
     </message>
     <message>
         <source>While playing you should give yourself a short break at least once an hour.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Tu salud es lo primero. Recuerda descansar unos minutos al menos una vez por cada hora de juego.</translation>
     </message>
     <message>
         <source>If your graphics card isn&apos;t able to provide hardware accelerated OpenGL, try to enable the low quality mode to improve performance.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si tu tarjeta gráfica no soporta aceleración gráfica mediante OpenGL prueba a habilitar el modo de baja calidad gráfica en la pantalla de opciones, puede que mejore el rendimiento del juego.</translation>
     </message>
     <message>
         <source>We&apos;re open to suggestions and constructive feedback. If you don&apos;t like something or got a great idea, let us know!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Siempre estamos abiertos a sugerencias y opiniones constructivas. Si hay algo que no te guste o tienes grandes ideas que te gustaría ver en el juego, háznoslo saber.</translation>
     </message>
     <message>
         <source>Especially while playing online be polite and always remember there might be some minors playing with or against you as well!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si juegas a través de internet recuerda mantener tus buenos modales y siempre ten en cuenta que puede que estés jugando con o contra menores de edad.</translation>
     </message>
     <message>
         <source>Special game modes such as &apos;Vampirism&apos; or &apos;Karma&apos; allow you to develop completely new tactics. Try them in a custom game!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Los modos de juego especiales como &quot;vampirismo&quot; o &quot;karma&quot; te permiten desarrollar tácticas de juego completamente nuevas. ¡Pruébalos en tu próxima partida!</translation>
     </message>
     <message>
         <source>The Windows version of Hedgewars supports Xfire. Make sure to add Hedgwars to its game list so your friends can see you playing.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La versión para Windows de Hedgewars soporta Xfire. Recuerda añadie Hedgewars a tu lista de juegos favoritos para que tus amigos sepan cuándo estás jugando.</translation>
     </message>
     <message>
         <source>You should never install Hedgewars on computers you don&apos;t own (school, university, work, etc.). Please ask the responsible person instead!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Nunca instales Hedgewars en ordenadores que no te pertenezcan tales como los de tu escuela, universidad o trabajo sin perdir permiso primero a las personas responsables de los mismos.</translation>
     </message>
     <message>
         <source>Hedgewars can be perfect for short games during breaks. Just ensure you don&apos;t add too many hedgehogs or use an huge map. Reducing time and health might help as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es realmente genial para jugar partidas rápidas durante pausas o descansos; sólo recuerda no añadir muchos erizos y no usar mapas excesivamente grandes para que la partida no se alargue demasiado. Reducir la duración de los turnos o la vida inicial también puede ayudar.</translation>
     </message>
     <message>
         <source>No hedgehogs were harmed in making this game.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Ningún erizo fue lastimado durante la creación de este juego.</translation>
     </message>
     <message>
         <source>Hedgewars is Open Source and Freeware we create in our spare time. If someone sold you the game, you should try get a refund!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars es un juego gratuito de código abierto que hemos creado en nuestro tiempo libre. Si alguien te vendió el juego deberías pedirle que te devuelva tu dinero.</translation>
     </message>
     <message>
         <source>Connect one or more gamepads before starting the game to be able to assign their controls to your teams.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Conecta tus mandos al ordenador antes de iniciar el juego para poder asignar correctamente los controles de a equipo.</translation>
     </message>
     <message>
         <source>Create an account on %1 to keep others from using your most favourite nickname while playing on the official server.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Crea una cuenta con tu nick en %1 para evitar que otras personas puedan usarlo en el servidor oficial.</translation>
     </message>
     <message>
         <source>If your graphics card isn&apos;t able to provide hardware accelerated OpenGL, try to update the associated drivers.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si tu tarjeta gráfica no es capaz de usar aceleración gráfica mediante OpenGL prueba a instalar drivers más actualizados.</translation>
     </message>
     <message>
         <source>There are three different jumps available. Tap [high jump] twice to do a very high/backwards jump.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hay tres tipos de salto en el juego. Presiona [salto alto] dos veces para realizar un salto muy alto, vertical y ligeramente hacia atrás.</translation>
     </message>
     <message>
         <source>Afraid of falling off a cliff? Hold down [precise] to turn [left] or [right] without actually moving.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Te da miedo caerte por una cornisa? Mantén presionado [aumentar precisión] para voltearte a [izquierda] o [derecha] sin moverte del sitio.</translation>
     </message>
     <message>
         <source>Some weapons require special strategies or just lots of training, so don&apos;t give up on a particular tool if you miss an enemy once.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Algunas armas pueden requerir estrategias especiales o mucho entrenamiento antes de ser usadas correctamente. No tires la a toalla con alguna de ellas sólo porque has fallado el tiro la primera vez.</translation>
     </message>
     <message>
         <source>Most weapons won&apos;t work once they touch the water. The Homing Bee as well as the Cake are exceptions to this.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La mayoría de armas se desactivarán al tocar el agua. El abejorro y la tarta son algunas de las excepciones a la regla.</translation>
     </message>
     <message>
         <source>The Old Limbuger only causes a small explosion. However the wind affected smelly cloud can poison lots of hogs at once.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>La explosión del limbuger añejo es relativamente pequeña, pero produce una nube de gas venenoso que será arrastrada por el viento, siendo capaz de intoxicar a varios erizos a la vez.</translation>
     </message>
     <message>
         <source>The Piano Strike is the most damaging air strike. You&apos;ll lose the hedgehog performing it, so there&apos;s a huge downside as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El piano es el ataque aéreo más destructivo del juego, aunque perderás el erizo que lo lance, así que úsalo con cuidado.</translation>
     </message>
     <message>
         <source>The Homing Bee can be tricky to use. It&apos;s turn radius depends on it&apos;s velocity, so try to not use full power.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El abejorro puede ser complicado de usar. Su maniobrabilidad depende de su velocidad, así que intenta no lanzarlo a máxima potencia.</translation>
     </message>
     <message>
         <source>Sticky Mines are a perfect tool to create small chain reactions knocking enemy hedgehogs into dire situations ... or water.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Las bombas lapa son perfectas para crear reacciones en cadena y mandar a tus enemigos al agua... o la Luna.</translation>
     </message>
     <message>
         <source>The Hammer is most effective when used on bridges or girders. Hit hogs will just break through the ground.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El mazo es mucho más efectivo si lo usas sobre vigas o puentes. Los erizos golpeados simplemente caerán por el agujero como Alicia por la madriguera.</translation>
     </message>
     <message>
         <source>If you&apos;re stuck behind an enemy hedgehog, use the Hammer to free yourself without getting damaged by an explosion.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Si estás atrapado tras un erizo enemigo puedes usar el mazo para abrirte paso sin resultar dañado por una explosión.</translation>
     </message>
     <message>
         <source>The Cake&apos;s maximum walking distance depends on the ground it has to pass. Use [attack] to detonate it early.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El alcance de la tarta depende de lo escarpado del terreno que tenga que atravesar, aunque puedes pulsar [atacar] para detonarla antes de que el contador llegue a cero.</translation>
     </message>
     <message>
         <source>The Flame Thrower is a weapon but it can be used for tunnel digging as well.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>El lanzallamas es un arma, pero puede usarse para excavar túneles en caso de necesidad.</translation>
     </message>
     <message>
         <source>Use the Incinerating Grenade to temporary keep hedgehogs from passing terrain such as tunnels or platforms.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puedes usar el cóctel molotov para evitar que erizos enemigos crucen túneles angostos o puentes.</translation>
     </message>
     <message>
         <source>Want to know who&apos;s behind the game? Click on the Hedgewars logo in the main menu to see the credits.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Quieres saber quiénes son los desarrolladores del juego? Pulsa el logo del juego en la pantalla principal para ver los créditos.</translation>
     </message>
     <message>
         <source>Like Hedgewars? Become a fan on %1 or join our group at %2. You could follow us on %3 as well!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Te gusta Hedgewars? Puedes hacerte fan en %1 o unirte a nuestro grupo en %2. ¡Y también puedes seguirnos en %3!</translation>
     </message>
     <message>
         <source>Feel free to draw your own graves, hats, flags or even maps and themes! But note that you&apos;ll have to share them somewhere to use them online.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¡Puedes dibujar tus propias tumbas, sombreros, banderas o incluso mapas y temas! Sólo ten en cuenta que el juego no es capaz de enviar archivos todavía, así que tendrás que enviar tú mismo los archivos a tus amigos para poder jugar en red con ellos.</translation>
     </message>
     <message>
         <source>Really want to wear a specific hat? Donate to us and receive an exclusive hat of your choice!</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>¿Te gustaría poder usar un sombrero especial, sólo para ti? Haz una donación y dinos qué sombrero quieres, lo dibujaremos para ti.</translation>
     </message>
     <message>
         <source>Keep your video card drivers up to date to avoid issues playing the game.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Mantén los drivers de tu tarjeta gráfica actualizados para evitar posibles problemas con este y otros juegos.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;My Documents\Hedgewars&quot;. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puedes encontrar los archivos de configuración del juego en la carpeta &quot;Mis Documentos\Hedgewars&quot;. Haz copias de seguridad de los mismos o cópialos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;Hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puedes encontrar los archivos de configuración del juego en la carpeta ~/.hedgewars. Haz copias de seguridad de los mismos o cópialos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
+    </message>
+    <message>
+        <source>You&apos;re able to associate Hedgewars related files (savegames and demo recordings) with the game to launch them right from your favorite file or internet browser.</source>
+        <comment>Tips</comment>
+        <translation>Puedes asociar los tipos de archivo relacionados, partidas guardadas y demos, con Hedgewars para lanzarlos directamente desde tu gestor de archivos o navegador favoritos.</translation>
     </message>
 </context>
 <context>
@@ -693,7 +711,7 @@
     </message>
     <message>
         <source>You can&apos;t edit teams from team selection. Go back to main menu to add, edit or delete teams.</source>
-        <translation type="unfinished"></translation>
+        <translation>No es posible editar equipos desde la pantalla de elección de equipo. Vuelve al menú principal para añadir, editar o borrar equipos.</translation>
     </message>
 </context>
 <context>
@@ -817,32 +835,33 @@
     </message>
     <message>
         <source>State:</source>
-        <translation type="unfinished"></translation>
+        <translation>Estado:</translation>
     </message>
     <message>
         <source>Rules:</source>
-        <translation type="unfinished"></translation>
+        <translation>Reglas:</translation>
     </message>
     <message>
         <source>Weapons:</source>
-        <translation type="unfinished"></translation>
+        <translation>Armas:</translation>
     </message>
     <message>
         <source>Search:</source>
-        <translation type="unfinished"></translation>
+        <translation>Búsqueda:</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished">Supr</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Aviso</translation>
     </message>
     <message>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
-        <translation type="unfinished"></translation>
+        <translation>La partida a la que intentas unirte ya ha empezado.
+¿Realmente deseas entrar en la sala?</translation>
     </message>
 </context>
 <context>
@@ -929,11 +948,23 @@
     </message>
     <message>
         <source>Disable land objects when generating random maps.</source>
-        <translation>Deshabilita los objetos en el terreno en los mapas generados aleatoriamente.</translation>
+        <translation>Deshabilita los objetos en los mapas generados aleatoriamente.</translation>
     </message>
     <message>
         <source>AI respawns on death.</source>
-        <translation type="unfinished"></translation>
+        <translation>La computadora resucita al morir.</translation>
+    </message>
+    <message>
+        <source>Attacking does not end your turn.</source>
+        <translation>Atacar no terminará tu turno.</translation>
+    </message>
+    <message>
+        <source>Weapons are reset to starting values each turn.</source>
+        <translation>La munición será reiniciada al comienzo de cada turno.</translation>
+    </message>
+    <message>
+        <source>Each hedgehog has its own ammo. It does not share with the team.</source>
+        <translation>Cada erizo tiene su propia munición y no la comparte con el resto del equipo.</translation>
     </message>
 </context>
 <context>
@@ -971,7 +1002,7 @@
     </message>
     <message>
         <source>Campaign Mode (...). IN DEVELOPMENT</source>
-        <translation type="unfinished"></translation>
+        <translation>Campaña (...) EN DESARROLLO</translation>
     </message>
 </context>
 <context>
@@ -1104,51 +1135,51 @@
     </message>
     <message>
         <source>Community</source>
-        <translation type="unfinished"></translation>
+        <translation>Comunidad</translation>
     </message>
     <message>
         <source>Any</source>
-        <translation type="unfinished"></translation>
+        <translation>Cualquiera</translation>
     </message>
     <message>
         <source>In lobby</source>
-        <translation type="unfinished"></translation>
+        <translation>En espera</translation>
     </message>
     <message>
         <source>In progress</source>
-        <translation type="unfinished"></translation>
+        <translation>En progreso</translation>
     </message>
     <message>
         <source>Default</source>
-        <translation type="unfinished">Predeterminado</translation>
+        <translation>Predeterminado</translation>
     </message>
     <message>
         <source>Pro mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Modo pro</translation>
     </message>
     <message>
         <source>Shoppa</source>
-        <translation type="unfinished"></translation>
+        <translation>Shoppa</translation>
     </message>
     <message>
         <source>Basketball</source>
-        <translation type="unfinished"></translation>
+        <translation>Baloncesto</translation>
     </message>
     <message>
         <source>Minefield</source>
-        <translation type="unfinished"></translation>
+        <translation>Campo de minas</translation>
     </message>
     <message>
         <source>Barrel mayhem</source>
-        <translation type="unfinished"></translation>
+        <translation>Bodega infernal</translation>
     </message>
     <message>
         <source>Tunnel hogs</source>
-        <translation type="unfinished"></translation>
+        <translation>Erizos subterráneos</translation>
     </message>
     <message>
         <source>Crazy</source>
-        <translation type="unfinished"></translation>
+        <translation>Lunático</translation>
     </message>
 </context>
 <context>
@@ -1349,15 +1380,17 @@
     </message>
     <message>
         <source>Tip: </source>
-        <translation type="unfinished"></translation>
+        <translation>Consejo:</translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk!</source>
-        <translation type="unfinished"></translation>
+        <translation>Esta es una versión experimental del juego y puede no ser compatible con otras versiones del mismo,
+así como carecer de algunas funcionalidades o simplemente funcionar mal. 
+¡Úsalo bajo tu propia responsabilidad!</translation>
     </message>
     <message>
         <source>Quality</source>
-        <translation type="unfinished"></translation>
+        <translation>Calidad</translation>
     </message>
 </context>
 <context>
@@ -1410,11 +1443,15 @@
     </message>
     <message>
         <source>Really delete this weapon set?</source>
-        <translation>¿Realmente desea borrar este set de armas?</translation>
+        <translation>¿Realmente quieres borrar este set de armas?</translation>
     </message>
     <message>
         <source>Can not overwrite default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>¡No se puede sobreescribir el set de armas por defecto &apos;%1&apos;!</translation>
+    </message>
+    <message>
+        <source>All file associations have been set.</source>
+        <translation>Se reestablecieron todas las asociaciones de tipo de archivo.</translation>
     </message>
 </context>
 <context>
@@ -1506,6 +1543,10 @@
         <source>Random Team</source>
         <translation>Equipo aleatorio</translation>
     </message>
+    <message>
+        <source>Associate file extensions</source>
+        <translation>Asociar tipos de archivo.</translation>
+    </message>
 </context>
 <context>
     <name>QTableWidget</name>
@@ -1644,7 +1685,19 @@
     </message>
     <message>
         <source>AI Survival Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Supervivencia contra la computadora</translation>
+    </message>
+    <message>
+        <source>Unlimited Attacks</source>
+        <translation>Ataques ilimitados</translation>
+    </message>
+    <message>
+        <source>Reset Weapons</source>
+        <translation>Reiniciar munición</translation>
+    </message>
+    <message>
+        <source>Per Hedgehog Ammo</source>
+        <translation>Munición individualizada</translation>
     </message>
 </context>
 <context>
@@ -1809,7 +1862,7 @@
     </message>
     <message>
         <source>slot 10</source>
-        <translation type="unfinished">posición 10</translation>
+        <translation>posición 10</translation>
     </message>
 </context>
 <context>