merge
authorStepan777 <stepik-777@mail.ru>
Sun, 08 Jul 2012 13:18:52 +0400
changeset 7367 ad3f5f2e6ea9
parent 7365 26df99967963 (current diff)
parent 7354 b79b545bd568 (diff)
child 7369 46921fbe76d3
merge
hedgewars/uVariables.pas
--- a/gameServer/Actions.hs	Sat Jul 07 19:59:44 2012 +0400
+++ b/gameServer/Actions.hs	Sun Jul 08 13:18:52 2012 +0400
@@ -210,7 +210,6 @@
     ri <- clientRoomA
     rnc <- gets roomsClients
     (gameProgress, playersNum) <- io $ room'sM rnc ((isJust . gameInfo) &&& playersIn) ri
-    ready <- client's isReady
     master <- client's isMaster
 --    client <- client's id
     clNick <- client's nick
@@ -218,13 +217,14 @@
 
     if master then
         if gameProgress && playersNum > 1 then
-            mapM_ processAction [ChangeMaster, AnswerClients chans ["LEFT", clNick, msg], NoticeMessage AdminLeft, RemoveClientTeams ci]
+            mapM_ processAction [ChangeMaster, NoticeMessage AdminLeft, RemoveClientTeams ci, AnswerClients chans ["LEFT", clNick, msg]]
             else
             processAction RemoveRoom
         else
-        mapM_ processAction [AnswerClients chans ["LEFT", clNick, msg], RemoveClientTeams ci]
+        mapM_ processAction [RemoveClientTeams ci, AnswerClients chans ["LEFT", clNick, msg]]
 
     -- when not removing room
+    ready <- client's isReady
     when (not master || (gameProgress && playersNum > 1)) . io $ do
         modifyRoom rnc (\r -> r{
                 playersIn = playersIn r - 1,
--- a/hedgewars/uAIAmmoTests.pas	Sat Jul 07 19:59:44 2012 +0400
+++ b/hedgewars/uAIAmmoTests.pas	Sun Jul 08 13:18:52 2012 +0400
@@ -694,9 +694,11 @@
 
 function TestBaseballBat(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, a, v1, v2: LongInt;
-    x, y: LongInt;
+    x, y, trackFall: LongInt;
     dx, dy: real;
 begin
+    if Me^.Hedgehog^.BotLevel < 3 then trackFall:= afTrackFall
+    else trackFall:= 0;
     Level:= Level; // avoid compiler hint
     ap.ExplR:= 0;
     ap.Time:= 0;
@@ -714,10 +716,10 @@
 
         v1:= RateShove(Me, x - 10, y
                 , 33, 30, 115
-                , -dx, -dy, afTrackFall);
+                , -dx, -dy, trackFall);
         v2:= RateShove(Me, x + 10, y
                 , 33, 30, 115
-                , dx, -dy, afTrackFall);
+                , dx, -dy, trackFall);
         if (v1 > valueResult) or (v2 > valueResult) then
             if (v2 > v1) 
                 or {don't encourage turning for no gain}((v2 = v1) and (not Me^.dX.isNegative)) then
@@ -742,8 +744,10 @@
 
 function TestFirePunch(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, v1, v2, i: LongInt;
-    x, y: LongInt;
+    x, y, trackFall: LongInt;
 begin
+    if Me^.Hedgehog^.BotLevel = 1 then trackFall:= afTrackFall
+    else trackFall:= 0;
     Level:= Level; // avoid compiler hint
     ap.ExplR:= 0;
     ap.Time:= 0;
@@ -756,11 +760,11 @@
         begin
         v1:= v1 + RateShove(Me, x - 10, y - 10 * i
                 , 18, 30, 40
-                , -0.45, -0.9, afTrackFall or afSetSkip);
+                , -0.45, -0.9, trackFall or afSetSkip);
         end;
     v1:= v1 + RateShove(Me, x - 10, y - 90
             , 18, 30, 40
-            , -0.45, -0.9, afTrackFall);
+            , -0.45, -0.9, trackFall);
 
 
     // now try opposite direction
@@ -769,11 +773,11 @@
         begin
         v2:= v2 + RateShove(Me, x + 10, y - 10 * i
                 , 18, 30, 40
-                , 0.45, -0.9, afTrackFall or afSetSkip);
+                , 0.45, -0.9, trackFall or afSetSkip);
         end;
     v2:= v2 + RateShove(Me, x + 10, y - 90
             , 18, 30, 40
-            , 0.45, -0.9, afTrackFall);
+            , 0.45, -0.9, trackFall);
 
     if (v2 > v1) 
         or {don't encourage turning for no gain}((v2 = v1) and (not Me^.dX.isNegative)) then
@@ -796,8 +800,10 @@
 
 function TestWhip(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, v1, v2: LongInt;
-    x, y: LongInt;
+    x, y, trackFall: LongInt;
 begin
+    if Me^.Hedgehog^.BotLevel = 1 then trackFall:= afTrackFall
+    else trackFall:= 0;
     Level:= Level; // avoid compiler hint
     ap.ExplR:= 0;
     ap.Time:= 0;
@@ -811,19 +817,19 @@
     RateShove call)}
     v1:= RateShove(Me, x - 15, y
             , 30, 30, 25
-            , -1, -0.8, afTrackFall or afSetSkip);
+            , -1, -0.8, trackFall or afSetSkip);
     v1:= v1 +
         RateShove(Me, x, y
             , 30, 30, 25
-            , -1, -0.8, afTrackFall);
+            , -1, -0.8, trackFall);
     // now try opposite direction
     v2:= RateShove(Me, x + 15, y
             , 30, 30, 25
-            , 1, -0.8, afTrackFall or afSetSkip);
+            , 1, -0.8, trackFall or afSetSkip);
     v2:= v2 +
         RateShove(Me, x, y
             , 30, 30, 25
-            , 1, -0.8, afTrackFall);
+            , 1, -0.8, trackFall);
 
     if (v2 > v1) 
         or {don't encourage turning for no gain}((v2 = v1) and (not Me^.dX.isNegative)) then
--- a/hedgewars/uVariables.pas	Sat Jul 07 19:59:44 2012 +0400
+++ b/hedgewars/uVariables.pas	Sun Jul 08 13:18:52 2012 +0400
@@ -2628,7 +2628,6 @@
     ExplosionBorderColor:= $FF808080;
     WaterOpacity:= $80;
     SDWaterOpacity:= $80;
-    GrayScale:= false;
 
     LuaGoals:= '';
 end;
@@ -2655,6 +2654,7 @@
     cScriptName     := '';
     cReadyDelay     := 5000;
     cStereoMode     := smNone;
+    GrayScale       := false;
 end;
 
 end.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/da.lua	Sun Jul 08 13:18:52 2012 +0400
@@ -0,0 +1,220 @@
+locale = {
+        [":("] = ":(",
+        ["!!!"] = "!!!",
+        ["..."] = "...",
+        ["Accuracy Bonus!"] = "Præcisionsbonus",
+        ["Achievement Unlocked"] = "Bedrift Fuldført", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_That_Sinking_Feeling, Tumbler
+        ["a Hedgewars mini-game"] = "et Hedgewars-minispil", -- Space_Invasion, The_Specialists
+        ["Aiming Practice"] = "Sigtetræning", --Bazooka, Shotgun, SniperRifle
+        ["Ammo"] = "Ammunition",
+        ["Ammo Depleted!"] = "Ammunition Udtømt",
+        ["ammo extended!"] = "ammunition udstrakt",
+        ["Ammo is reset at the end of your turn."] = "Ammunition nulstilles i slutningen af turen",
+        ["Ammo Maniac!"] = "Ammunitionsgalskab",
+        ["Available points remaining: "] = "Tilgængeligt point tilbage: ",
+        ["[Backspace]"] = "[Tilbage]",
+        ["Bamboo Thicket"] = "Bambusbuskads",
+        ["Barrel Eater!"] = "Tøndeæder!",
+        ["Barrel Launcher"] = "Tøndekaster",
+        ["Bat balls at your enemies and|push them into the sea!"] = "Slå bolde på dine fjender og|skub dem i havet!",
+        ["Bat your opponents through the|baskets and out of the map!"] = "Slå dine modstandere gennem|kurvene og ud af banen!",
+        ["Bazooka Training"] = "Træning med Bazooka",
+        ["Best laps per team: "] = "Bedste omgang per hold: ",
+        ["Best Team Times: "] = "Bedste Holdtid: ",
+        ["Bloody Rookies"] = "Forbandede Begyndere", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+        ["Boom!"] = "Bum!",
+        ["BOOM!"] = "BUM!",
+        ["Boss defeated!"] = "Boss besejret!",
+        ["Boss Slayer!"] = "Boss-morder!",
+        ["Build a track and race."] = "Byg en bane og ræs.",
+        ["CAPTURE THE FLAG"] = "EROBR FLAGET",
+        ["Careless"] = "Sløset",
+        ["Change Weapon"] = "Skift Våben",
+        ["Clumsy"] = "Kluntet",
+        ["Codename: Teamwork"] = "Kodeord: Samarbejde",
+        ["Complete the track as fast as you can!"] = "Gennemfør banen så hurtigt som muligt!",
+        ["Congratulations!"] = "Tillykke!",
+        ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Tillykke! Du har elimineret alle målene|inden for den tilladte tidsramme.", --Bazooka, Shotgun, SniperRifle
+        ["Control pillars to score points."] = "Kontroller søjler for at score point.",
+        ["Cybernetic Empire"] = "Kybernetisk Imperium",
+        ["DAMMIT, ROOKIE!"] = "FOR HELVEDE, REKRUT!",
+        ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "FOR HELVEDE, REKRUT! KOM NED DERFRA!",
+        ["Dangerous Ducklings"] = "Farlige Ællinger",
+        ["Deadweight"] = "Dødvægt",
+        ["Demolition is fun!"] = "Nedrivning er sjovt!",
+        ["Depleted Kamikaze!"] = "Udtømt Kamikaze!",
+        ["Destroy invaders to score points."] = "Tilintetgør indtrængere for at score point.",
+        ["Double Kill!"] = "Dobbeltdrab!",
+        ["Drone Hunter!"] = "Dronjæger!",
+        ["Drowner"] = "Drukner",
+        ["Each turn you get 1-3 random weapons"] = "Hver tur får du 1-3 tilfældige våben",
+        ["Each turn you get one random weapon"] = "Hver tur får du ét tilfældigt våben",
+        ["Eliminate all enemies"] = "Eliminer alle fjender",
+        ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Eliminer all mål før tiden løber ud.|Du har uendelig ammunition under denne mission.", --Bazooka, Shotgun, SniperRifle
+        ["Eliminate Poison before the time runs out"] = "Eliminer Giften før tiden løber ud",
+        ["Eliminate the Blue Team"] = "Eliminer det Blå Hold",
+        ["Eliminate the enemy before the time runs out"] = "Eliminer fjenden før tiden løber ud", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
+        ["Eliminate the enemy hogs to win."] = "Eliminer fjendens pindsvin for at vinde.",
+        ["Eliminate the enemy specialists."] = "Eliminer fjendens specialister.",
+        ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "- Eliminer Enhed 3378 |- Sølle Modstandere skal overleve",
+        ["Energetic Engineer"] = "Energisk Ingeniør",
+        ["Enjoy the swim..."] = "Nyd svømmeturen...",
+        ["[Enter]"] = "[Enter]",
+        ["Fastest lap: "] = "Hurtigste omgang: ",
+        ["Feeble Resistance"] = "Sølle Modstand",
+        ["Fire"] = "Skyd",
+        ["Flag captured!"] = "Flag erobred!",
+        ["Flag respawned!"] = "Flag gendannet!",
+        ["Flag returned!"] = "Flag returneret!",
+        ["Flags, and their home base will be placed where each team ends their first turn."] = "Flag og deres hjemmebase bliver placeret der hvor hvert hold afslutter sin første tur.",
+        ["Flamer"] = "Hetzer",
+        ["Friendly Fire!"] = "Egenbeskydning!",
+        ["fuel extended!"] = "brændstof udstrakt!",
+        ["GAME BEGUN!!!"] = "SPILLET ER STARTET!!!",
+        ["Game Modifiers: "] = "Spilmodifikatorere",
+        ["GAME OVER!"] = "SPILLET ER FÆRDIGT!",
+        ["Game Started!"] = "Spillet er Startet!",
+        ["Get on over there and take him out!"] = "Kom derover og tag ham ud!",
+        ["Goal"] = "Mål",
+        ["GO! GO! GO!"] = "GO! GO! GO!",
+        ["Good birdy......"] = "God pipfugl......",
+        ["Good luck out there!"] = "Held og lykke derude!",
+        ["Good so far!"] = "Godt indtil videre!",
+        ["Good to go!"] = "Klar!",
+        ["GOTCHA!"] = "FIK DIG!",
+        ["Grab Mines/Explosives"] = "Snup Miner/Sprængstof",
+        ["Hahahaha!"] = "Hahahaha!",
+        ["Haha, now THAT would be something!"] = "Haha, ja DET ville være noget!",
+        ["Hapless Hogs"] = "Uheldige Pindsvin",
+        [" Hapless Hogs left!"] = " Uheldige Pindsvin gik!",
+        ["Health crates extend your time."] = "Kasse med helbredelse forlænger din tid.",
+        ["Heavy"] = "Tung",
+        ["Hedgewars-Basketball"] = "Hedgewars-Basketball",
+        ["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+        ["Heh, it's not that bad."] = "Heh, det er ikke så slemt.",
+        ["Hit Combo!"] = "Slagkombi!",
+        ["Hmmm..."] = "Hmmm...",
+        ["Hooray!"] = "Hurra!",
+        ["Hunter"] = "Jæger", --Bazooka, Shotgun, SniperRifle
+        ["Instructor"] = "Instruktør", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+        ["invaders destroyed"] = "indtrængere tilintetgjorte",
+        ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Det er heldigt at PLUDSELIG DØD er 99 ture væk...",
+        ["Jumping is disabled"] = "Hop er deaktiveret",
+        ["Kamikaze Expert!"] = "Kamikaze-ekspert!",
+        ["Keep it up!"] = "Hold gejsten!",
+        ["Killing spree!"] = "Drabsorgie!",
+        ["KILLS"] = "DRAB",
+        ["Last Target!"] = "Sidste Mål!",
+        ["[Left Shift]"] = "[Venstre Shift]",
+        ["Listen up, maggot!!"] = "Lyt efter, maddike!",
+        ["Lively Lifeguard"] = "Livlig Livredder",
+        ["Mine Deployer"] = "Mineudsætter",
+        ["Mine Eater!"] = "Mineæder",
+        ["|- Mines Time:"] = "|- Tid til Miner:", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+        ["MISSION FAILED"] = "MISSION MISLYKKEDES", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+        ["MISSION SUCCESS"] = "MISSION LYKKEDES",
+        ["MISSION SUCCESSFUL"] = "MISSION VAR SUCCESFULD", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+        ["Movement: [Up], [Down], [Left], [Right]"] = "Bevægelse: [Op], [Ned], [Venstre], [Højre]",
+        ["Multi-shot!"] = "Flerskud!",
+        ["Nameless Heroes"] = "Navnløse Helte",
+        ["New Barrels Per Turn"] = "Nye Tønder Per Tur",
+        ["NEW CLAN RECORD: "] = "NY KLANREKORD: ",
+        ["NEW fastest lap: "] = "NY hurtigste omgang: ",
+        ["New Mines Per Turn"] = "Nyt Antal Miner Per Tur",
+        ["NEW RACE RECORD: "] = "NY RÆSREKORD: ",
+        ["Newton's Hammock"] = "Newtons Hængekøje",
+        ["NOT ENOUGH WAYPOINTS"] = "IKKE NOK RUTEPUNKTER",
+        ["Not So Friendly Match"] = "Ikke Så Venlig Kamp", -- Basketball, Knockball
+        ["Oh no! Just try again!"] = "Åh nej! Bare prøv igen!", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+        ["Oh no! Time's up! Just try again."] = "Åh nej! Tiden er løbet ud! Bare prøv igen.", --Bazooka, Shotgun, SniperRifle
+        ["Operation Diver"] = "Operation Dykker",
+        ["Opposing Team: "] = "Modstander: ",
+        ["Pathetic Hog #%d"] = "Patetisk Pindsvin #%d",
+        ["Pathetic Resistance"] = "Patetisk Modstand", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
+        ["Per-Hog Ammo"] = "Ammunition Per Pindsvin",
+        ["Place more waypoints using [ENTER]"] = "Placer flere rutepunkter med [ENTER]",
+        ["Place more waypoints using the 'Air Attack' weapon."] = "Placer flere rutepunkter med 'Luftangreb'-våbnet",
+        ["points"] = "point", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle
+        ["Poison"] = "Gift",
+        ["Power Remaining"] = "Kraft Tilbage",
+        ["Prepare yourself"] = "Gør dig klar",
+        ["Press [Precise] to skip intro"] = "Tryk på [Præcis] for at springe introen over",
+        ["Race complexity limit reached."] = "Kompleksitetsgrænsen for ræset er nået.",
+        ["RACER"] = "RACER",
+        [" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = " - Returner fjendens flag til din base for at score | - Første hold til at erobre 3 flag vinder | - Du kan kun score når dit flag er ved din base | Pindsvin taber flaget hvis de dør eller drukner | - Tabte flag kan returneres eller generobres | - Pindsvin genopliver når de bliver dræbt",
+        ["Round Limit:"] = "Rundebegrænsning: ",
+        ["Round Limit"] = "Rundebegrænsning",
+        ["Rounds Complete: "] = "Runder Færdiggjort: ",
+        ["Rounds Complete"] = "Runder Færdiggjort",
+        ["RULES OF THE GAME [Press ESC to view]"] = "SPILLETS REGLER [Tryk på ESC for at se]",
+        ["s|"] = "s|",
+        ["Save as many hapless hogs as possible!"] = "Red så mange uheldige pindsvin som muligt!",
+        ["SCORE"] = "SCORE",
+        ["sec"] = "sek.", -- CTF_Blizzard, TrophyRace, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+        ["See ya!"] = "Ses!",
+        ["selected!"] = "valgt",
+        ["s"] = "s", -- GaudyRacer, Space_Invasion
+        ["Shield boosted! +30 power"] = "Skjold forstærket! +30 kraft",
+        ["Shield Depleted"] = "Skjold Udtømt",
+        ["Shield is fully recharged!"] = "Skjold er fuldt genopladt!",
+        ["Shield Master!"] = "Skjoldmester!",
+        ["Shield Miser!"] = "Skjoldgnier!",
+        ["Shield OFF:"] = "Skjold SLÅET FRA:",
+        ["Shield ON:"] = "Skjold SLÅET TIL:",
+        ["Shield Seeker!"] = "Skjoldsøger!",
+        ["Shotgun Team"] = "Haglgeværdshold",
+        ["Shotgun Training"] = "Træning med Haglgevær",
+        ["shots remaining."] = "skud tilbage.",
+        ["Silly"] = "Fjollet",
+        ["Sinky"] = "Synkende",
+        ["%s is out and Team %d|scored a penalty!| |Score:"] = "%s er ude og Hold %d|scored en straf!| |Score:", -- Basketball, Knockball
+        ["%s is out and Team %d|scored a point!| |Score:"] = "%s er ude og Hold %d|scored et point!| |Score:", -- Basketball, Knockball
+        ["Sniper Training"] = "Træning med Sniperriffel",
+        ["Sniperz"] = "Sniperz",
+        ["Sponge"] = "Svamp",
+        ["Spooky Tree"] = "Uhyggeligt Træ",
+        ["STATUS UPDATE"] = "STATUSOPDATERING", -- GaudyRacer, Space_Invasion
+        ["Switched to "] = "Skiftede til ",
+        ["Team %d: "] = "Hold %d: ",
+        ["Team Scores"] = "Holdscore", -- Control, Space_Invasion
+        ["That Sinking Feeling"] = "Følelsen af at Synke",
+        ["That was pointless."] = "Det var meningsløst.",
+        ["The enemy is hiding out on yonder ducky!"] = "Fjenden gemmer sig på rapanden derover!",
+        ["The flag will respawn next round."] = "Flaget gendannes næste runde.",
+        ["The Nameless One"] = "Den Navnløse Ene",
+        ["THE SPECIALISTS"] = "SPECIALISTERNE",
+        ["This one's tricky."] = "Den her er drilagtig.",
+        ["This rain is really something..."] = "Det her regnvejr er virkelig noget...",
+        ["TIME: "] = "TID: ",
+        ["Timed Kamikaze!"] = "Tidsindstillet Kamikaze!",
+        ["Time Extended!"] = "Tid Forlænget!",
+        ["Time Extension"] = "Tidsforlængelse",
+        ["Toggle Shield"] = "Slå Skjold Til/Fra",
+        ["Toxic Team"] = "Giftigt Hold", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+        ["TRACK COMPLETED"] = "BANE FULDFØRT",
+        ["TRACK FAILED!"] = "BANE MISLYKKEDES!",
+        ["TrophyRace"] = "TrofæRæs",
+        ["T_T"] = "T_T",
+        ["Tumbling Time Extended!"] = "Tumlende Tid Forlænget",
+        ["Turn Time"] = "Tid til Tur",
+        ["Unit"] = "Enhed",
+        ["Unit 3378"] = "Enhed 3378",
+        ["Unit 835"] = "Enhed 835",
+        ["Unlimited Attacks"] = "Uendelige Angreb",
+        ["Unstoppable!"] = "Ustoppelig!",
+        ["User Challenge"] = "Brugerudfordring",
+        ["Use your rope to get from start to finish as fast as you can!"] = "Brug dit reb til at komme fra start til slut så hurtigt som muligt!",
+        ["Victory for the "] = "Sejr for ", -- CTF_Blizzard, Capture_the_Flag
+        ["Waypoint placed."] = "Rutepunkt placeret.",
+        ["Way-Points Remaining"] = "Rutepunkter Tilbage",
+        ["Weapons Reset"] = "Våben Nulstillede",
+        ["Well done."] = "Godt klaret.",
+        ["Will this ever end?"] = "Slutter det her nogensinde?",
+        ["WINNING TIME: "] = "VINDENDE TID: ",
+        ["You'd almost swear the water was rising!"] = "Man kunne næsten sværge på at vandet steg!",
+        ["You have SCORED!!"] = "Du har SCORET!!",
+        ["You saved"] = "Du reddede",
+        ["You've failed. Try again."] = "Det lykkedes dig ikke. Prøv igen.",
+        ["You've reached the goal!| |Time: "] = "Du har nået målet!| |Tid: ",
+        ["'Zooka Team"] = "'Zooka-hold",
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/missions_da.txt	Sun Jul 08 13:18:52 2012 +0400
@@ -0,0 +1,32 @@
+Basic_Training_-_Bazooka.name=Grundliggende Træning med Bazooka
+Basic_Training_-_Bazooka.desc="Nøglen er et bruge vinden til din fordel!"
+
+Basic_Training_-_Grenade.name=Grundliggende Træning med Granater
+Basic_Training_-_Grenade.desc="Husk, FØRST hiver du splitten ud OG SÅ kaster du!"
+
+Basic_Training_-_Shotgun.name=Grundliggende Træning med Haglgevær
+Basic_Training_-_Shotgun.desc="Skyd først, spørg bagefter!"
+
+Basic_Training_-_Sniper_Rifle.name=Grundliggende Træning med Sniperriffel
+Basic_Training_-_Sniper_Rifle.desc="Bum, Lige i Hovedet!"
+
+User_Mission_-_Dangerous_Ducklings.name=Mission: Farlige Ællinger
+User_Mission_-_Dangerous_Ducklings.desc="Udmærket, rekrut! Nu skal vi se om du kan huske hvad du har lært!"
+
+User_Mission_-_Diver.name=Mission: Dykker
+User_Mission_-_Diver.desc="Det der 'amfibieangreb' er sværere end det ser ud..."
+
+User_Mission_-_Teamwork.name=Mission: Samarbejde
+User_Mission_-_Teamwork.desc="Kærlighed gør ondt en gang imellem."
+
+User_Mission_-_Spooky_Tree.name=Mission: Uhyggeligt Træ
+User_Mission_-_Spooky_Tree.desc="Der er masser af kasser derude. Men jeg håber virkelig ikke den fugl er sulten."
+
+User_Mission_-_Bamboo_Thicket.name=Mission: Bambusbuskads
+User_Mission_-_Bamboo_Thicket.desc="Døden kommer oppefra."
+
+User_Mission_-_That_Sinking_Feeling.name=Mission: Følelsen af at Synke
+User_Mission_-_That_Sinking_Feeling.desc="Vandet stiger hurtigt og tiden er knap. Mange har prøvet, men få sejret. Kan du redde dem alle sammen?"
+
+User_Mission_-_Newton_and_the_Hammock.name=Mission: Newton og Hængekøjen
+User_Mission_-_Newton_and_the_Hammock.desc="Husk, grislinger: Et legemes hastighed forbliver uændret med mindre legemet bliver påvirket af krafter udefra."
\ No newline at end of file
--- a/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Sat Jul 07 19:59:44 2012 +0400
+++ b/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Sun Jul 08 13:18:52 2012 +0400
@@ -11,12 +11,13 @@
     <comment xml:lang="es">Demo de Hedgewars</comment>
     <comment xml:lang="fr">Démonstration d'Hedgewars</comment>
     <comment xml:lang="it">Demo di Hedgewars</comment>
-	<comment xml:lang="ko">헤즈와스 데모</comment>
+    <comment xml:lang="ko">헤즈와스 데모</comment>
     <comment xml:lang="pl">Demo gry Hedgewars</comment>
-	<comment xml:lang="pt">Hedgewars Demo</comment>
+    <comment xml:lang="pt">Hedgewars Demo</comment>
     <comment xml:lang="sk">Demo hry Hedgewars</comment>
     <comment xml:lang="cs">Ukázka hry Hedgewars</comment>
     <comment xml:lang="sv">Demo för Hedgewars</comment>
+    <comment xml:lang="da">Hedgewars-demo</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21572"/>
@@ -30,13 +31,14 @@
     <comment xml:lang="de">Hedgewars gespeichertes Spiel</comment>
     <comment xml:lang="es">Partida guardada de Hedgewars</comment>
     <comment xml:lang="fr">Parties enregistrées d'Hedgewars</comment>
-	<comment xml:lang="ko">헤즈와스 저장된 게임</comment>
+    <comment xml:lang="ko">헤즈와스 저장된 게임</comment>
     <comment xml:lang="it">Partita salvata di Hedgewars</comment>
     <comment xml:lang="pl">Zapis gry Hedgewars</comment>
-	<comment xml:lang="pt">Partida guardada de Hedgewars</comment>
+    <comment xml:lang="pt">Partida guardada de Hedgewars</comment>
     <comment xml:lang="sk">Uložená hra Hedgewars</comment>
     <comment xml:lang="cs">Uložená hra Hedgewars</comment>
     <comment xml:lang="sv">Sparfil för Hedgewars</comment>
+    <comment xml:lang="da">Gemt Hedgewars-spil</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21587"/>
--- a/share/hedgewars/Data/misc/hwengine.desktop.in	Sat Jul 07 19:59:44 2012 +0400
+++ b/share/hedgewars/Data/misc/hwengine.desktop.in	Sun Jul 08 13:18:52 2012 +0400
@@ -15,6 +15,7 @@
 GenericName[sk]=Engine hry Hedgewars, pre prehrávanie uložených hier a demo súborov
 GenericName[cs]=Engine hry Hedgewars pro přehrávání uložených her a ukázkových souborů
 GenericName[sv]=Hedgewarsmotorn, för att öppna demo- och sparfiler
+GenericName[da]=Kæmpende Pindsvin
 Icon=hedgewars.png
 Exec=${CMAKE_INSTALL_PREFIX}/bin/hwengine ${HEDGEWARS_DATADIR}/hedgewars/Data %f
 Path=/tmp