diff -r d137a9da7701 -r 81dd71096b1f share/hedgewars/Data/Missions/Shotgun Training.hwt --- a/share/hedgewars/Data/Missions/Shotgun Training.hwt Sat Mar 06 13:22:52 2010 +0000 +++ b/share/hedgewars/Data/Missions/Shotgun Training.hwt Sat Mar 06 13:29:17 2010 +0000 @@ -14,6 +14,7 @@ -- The language to be used is stored in the global variable -- 'L' that is set by the game (string). -- Text may then be accessed using "arrayname[L]". + local caption = { ["en"] = "Bazooka Training", ["de"] = "Bazooka-Training" @@ -47,6 +48,16 @@ ["en"] = "Hunter", ["de"] = "Jäger" } + +-- To handle missing texts we define a small wrapper function that +-- we'll use to retrieve text. +local function loc(text) + if text == nil then return "**missing**" + elseif text[L] == nil then return text["en"] + else return text[L] + end +end + --------------------------------------------------------------- -- This variable will hold the number of destroyed targets. @@ -113,9 +124,9 @@ Theme = "nature" -- Create the player team - AddTeam(teamname[L], 14483456, "Simple", "Island", "Default") + AddTeam(loc(teamname), 14483456, "Simple", "Island", "Default") -- And add a hog to it - player = AddHog(hogname[L], 0, 1, "NoHat") + player = AddHog(loc(hogname), 0, 1, "NoHat") SetGearPosition(player, 2334, 1254); end @@ -132,7 +143,7 @@ -- A negative icon parameter (-n) represents the n-th weapon icon -- A positive icon paramter (n) represents the (n+1)-th mission icon -- A timeframe of 0 is replaced with the default time to show. - ShowMission(caption[L], subcaption[L], goal[L], -amShotgun, 0); + ShowMission(loc(caption), loc(subcaption), loc(goal), -amShotgun, 0); end -- This function is called every game tick. @@ -146,7 +157,7 @@ if TurnTimeLeft == 1 and score < score_goal then game_lost = true -- ... and show a short message. - ShowMission(caption[L], subcaption[L], timeout[L], -amSkip, 0); + ShowMission(loc(caption), loc(subcaption), loc(timeout), -amSkip, 0); -- How about killing our poor hog due to his poor performance? SetHealth(player, 0); -- Just to be sure set the goal time to 1 ms @@ -195,7 +206,7 @@ else if not game_lost then -- Otherwise show that the goal was accomplished - ShowMission(caption[L], subcaption[L], success[L], 0, 0); + ShowMission(loc(caption), loc(subcaption), loc(success), 0, 0); -- Also let the hogs shout "victory!" PlaySound(sndVictory) -- Save the time left so we may keep it.