# HG changeset patch # User Xeli # Date 1313958020 -7200 # Node ID 4ad07103cfae7d950b50d4b762eb2ffa4eb4b521 # Parent 06558ee35f515c893360260fbb4eb84e77bda9b3# Parent c18aed7ad618459e576f62ddf82ca9ec56b5589c merge diff -r 06558ee35f51 -r 4ad07103cfae CMakeLists.txt --- a/CMakeLists.txt Sun Aug 21 22:18:54 2011 +0200 +++ b/CMakeLists.txt Sun Aug 21 22:20:20 2011 +0200 @@ -161,7 +161,8 @@ set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Si" ${pascal_compiler_flags_cmn}) set(haskell_compiler_flags_cmn "-O2" "-w" "-fno-warn-unused-do-bind") else(Optz) - set(pascal_compiler_flags_cmn "-O-" "-g" "-gh" "-gl" "-dDEBUGFILE" ${pascal_compiler_flags_cmn}) +# set(pascal_compiler_flags_cmn "-O-" "-g" "-gh" "-gl" "-dDEBUGFILE" ${pascal_compiler_flags_cmn}) + set(pascal_compiler_flags_cmn "-O-" "-g" "-gl" "-dDEBUGFILE" ${pascal_compiler_flags_cmn}) set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind") endif(Optz) diff -r 06558ee35f51 -r 4ad07103cfae QTfrontend/about.cpp --- a/QTfrontend/about.cpp Sun Aug 21 22:18:54 2011 +0200 +++ b/QTfrontend/about.cpp Sun Aug 21 22:20:20 2011 +0200 @@ -79,6 +79,8 @@ "Few engine and frontend improvements: Richard Karolyi <sheepluva@ercatec.net>
" "Maze maps: Henning Kühn <prg@cooco.de>
" "Engine and frontend improvements: Henrik Rostedt <henrik.rostedt@gmail.com>
" + "Lua game modes and missions: John Lambert <redgrinner@gmail.com>
" + "Android port: Richard Deurwaarder <xeli@xelification.com>
" "

" + QLabel::tr("Art:") + "

" @@ -95,6 +97,8 @@ "
" "Nils Lück <nils.luck.design@gmail.com>" "
" + "Guillaume Englert <genglert@hybird.org>" + "
" "Hats: Trey Perry <tx.perry.j@gmail.com>" "

") + QLabel::tr("Sounds:") + "

" @@ -121,6 +125,7 @@ "Italian: Luca Bonora <bonora.luca@gmail.com>
" "Japanese: ADAM Etienne <etienne.adam@gmail.com>
" "Korean: Anthony Bellew <webmaster@anthonybellew.com>
" + "Lithuanian: Lukas Urbonas <lukasu08@gmail.com>
" "Polish: Maciej Mroziński <mynick2@o2.pl>, Wojciech Latkowski <magik17l@gmail.com>, Piotr Mitana, Maciej Górny
" "Portuguese: Fábio Canário <inufabie@gmail.com>
" "Russian: Andrey Korotaev <unC0Rr@gmail.com>
" diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/GSHandlers.inc Sun Aug 21 22:20:20 2011 +0200 @@ -358,8 +358,9 @@ if (Gear^.nImpactSounds > 0) and ((Gear^.Damage <> 0) or ((Gear^.State and (gstCollision or gstMoving)) = (gstCollision or gstMoving))) and - ((Gear^.dX.QWordValue > _0_1.QWordValue) or - (Gear^.dY.QWordValue > _0_1.QWordValue)) then + (((Gear^.Radius < 3) and (Gear^.dY < -_0_1)) or + ((Gear^.Radius >= 3) and ((Gear^.dX.QWordValue > _0_1.QWordValue) or + (Gear^.dY.QWordValue > _0_1.QWordValue)))) then PlaySound(TSound(ord(Gear^.ImpactSound) + LongInt(GetRandom(Gear^.nImpactSounds))), true); end; @@ -794,8 +795,8 @@ begin if (GameTicks and $30) = 0 then AddVisualGear(gX, gY, vgtBeeTrace); - Gear^.dX := Gear^.Elasticity * (Gear^.dX + _0_000064 * (Gear^.TargetX - gX)); - Gear^.dY := Gear^.Elasticity * (Gear^.dY + _0_000064 * (Gear^.TargetY - gY)); + Gear^.dX := Gear^.Elasticity * (Gear^.dX + _0_000064 * (Gear^.Target.X - gX)); + Gear^.dY := Gear^.Elasticity * (Gear^.dY + _0_000064 * (Gear^.Target.Y - gY)); // make sure new speed isn't higher than original one (which we stored in Friction variable) t := Gear^.Friction / Distance(Gear^.dX, Gear^.dY); Gear^.dX := Gear^.dX * t; @@ -2372,7 +2373,7 @@ Gear^.X := Gear^.X + cAirPlaneSpeed * Gear^.Tag; if (Gear^.Health > 0)and(not (Gear^.X < Gear^.dX))and(Gear^.X < Gear^.dX + cAirPlaneSpeed) then - begin + begin dec(Gear^.Health); case Gear^.State of 0: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * @@ -2385,10 +2386,10 @@ Gear^.Tag, _0, Gear^.Timer + 1); //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed * // Gear^.Tag, _0, 5000); - end; + end; Gear^.dX := Gear^.dX + int2hwFloat(30 * Gear^.Tag); StopSound(Gear^.SoundChannel, 4000); - end; + end; if (GameTicks and $3F) = 0 then AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace); @@ -2417,14 +2418,14 @@ end; Gear^.Y := int2hwFloat(topY-300); - Gear^.dX := int2hwFloat(Gear^.TargetX - 5 * Gear^.Tag * 15); + Gear^.dX := int2hwFloat(Gear^.Target.X - 5 * Gear^.Tag * 15); // calcs for Napalm Strike, so that it will hit the target (without wind at least :P) if (Gear^.State = 2) then Gear^.dX := Gear^.dX - cBombsSpeed * Gear^.Tag * 900 // calcs for regular falling gears - else if (int2hwFloat(Gear^.TargetY) - Gear^.Y > _0) then - Gear^.dX := Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(Gear^.TargetY) - Gear^.Y) * 2 / + else if (int2hwFloat(Gear^.Target.Y) - Gear^.Y > _0) then + Gear^.dX := Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(Gear^.Target.Y) - Gear^.Y) * 2 / cGravity) * Gear^.Tag; Gear^.Health := 6; @@ -2460,14 +2461,14 @@ AllInactive := false; HHGear := Gear^.Hedgehog^.Gear; - tx := int2hwFloat(Gear^.TargetX); - ty := int2hwFloat(Gear^.TargetY); + tx := int2hwFloat(Gear^.Target.X); + ty := int2hwFloat(Gear^.Target.Y); x := HHGear^.X; y := HHGear^.Y; if (Distance(tx - x, ty - y) > _256) or - not TryPlaceOnLand(Gear^.TargetX - SpritesData[sprAmGirder].Width div 2, - Gear^.TargetY - SpritesData[sprAmGirder].Height div 2, + not TryPlaceOnLand(Gear^.Target.X - SpritesData[sprAmGirder].Width div 2, + Gear^.Target.Y - SpritesData[sprAmGirder].Height div 2, sprAmGirder, Gear^.State, true, false) then begin PlaySound(sndDenied); @@ -2526,8 +2527,8 @@ AllInactive := false; HHGear := Gear^.Hedgehog^.Gear; - if not TryPlaceOnLand(Gear^.TargetX - SpritesData[sprHHTelepMask].Width div 2, - Gear^.TargetY - SpritesData[sprHHTelepMask].Height div 2, + if not TryPlaceOnLand(Gear^.Target.X - SpritesData[sprHHTelepMask].Width div 2, + Gear^.Target.Y - SpritesData[sprHHTelepMask].Height div 2, sprHHTelepMask, 0, false, false) then begin HHGear^.Message := HHGear^.Message and not gmAttack; @@ -2549,12 +2550,12 @@ HHGear^.dX.isNegative := (Gear^.X.QWordValue <> 0); Gear^.X := HHGear^.X; Gear^.Y := HHGear^.Y; - HHGear^.X := int2hwFloat(Gear^.TargetX); - HHGear^.Y := int2hwFloat(Gear^.TargetY); + HHGear^.X := int2hwFloat(Gear^.Target.X); + HHGear^.Y := int2hwFloat(Gear^.Target.Y); HHGear^.State := HHGear^.State or gstMoving; playSound(sndWarp) end; - Gear^.TargetX:= NoPointX + Gear^.Target.X:= NoPointX end; //////////////////////////////////////////////////////////////////////////////// @@ -4581,13 +4582,13 @@ dec(i); tmp:= t^.ar[i]; if (tmp^.State and gstNoDamage) = 0 then - if (tmp^.Kind = gtHedgehog) then + if (tmp^.Kind = gtHedgehog) or (tmp^.Kind = gtMine) or (tmp^.Kind = gtExplosives) then begin //tmp^.State:= tmp^.State or gstFlatened; ApplyDamage(tmp, CurrentHedgehog, tmp^.Health div 3, dsUnknown); //DrawTunnel(tmp^.X, tmp^.Y - _1, _0, _0_5, cHHRadius * 6, cHHRadius * 3); tmp2:= AddGear(hwRound(tmp^.X), hwRound(tmp^.Y), gtHammerHit, 0, _0, _0, 0); - tmp2^.Hedgehog:= tmp^.Hedgehog; + tmp2^.IntersectGear:= tmp; SetAllToActive end else @@ -4602,54 +4603,56 @@ procedure doStepHammerHitWork(Gear: PGear); var - i, ei: LongInt; - HHGear: PGear; + i, j, ei: LongInt; + HitGear: PGear; begin AllInactive := false; - HHGear := Gear^.Hedgehog^.Gear; + HitGear := Gear^.IntersectGear; dec(Gear^.Timer); - if (HHGear = nil) or (Gear^.Timer = 0) or ((Gear^.Message and gmDestroy) <> 0) then - begin + if (HitGear = nil) or (Gear^.Timer = 0) or ((Gear^.Message and gmDestroy) <> 0) then + begin DeleteGear(Gear); exit - end; + end; if (Gear^.Timer mod 5) = 0 then - begin + begin AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust); - i := hwRound(Gear^.X) - Gear^.Radius - LongInt(GetRandom(2)); - ei := hwRound(Gear^.X) + Gear^.Radius + LongInt(GetRandom(2)); + i := hwRound(Gear^.X) - HitGear^.Radius + 2; + ei := hwRound(Gear^.X) + HitGear^.Radius - 2; + for j := 1 to 4 do DrawExplosion(i - GetRandom(5), hwRound(Gear^.Y) + 6*j, 3); + for j := 1 to 4 do DrawExplosion(ei + GetRandom(5), hwRound(Gear^.Y) + 6*j, 3); while i <= ei do - begin - DrawExplosion(i, hwRound(Gear^.Y) + 3, 3); + begin + for j := 1 to 11 do DrawExplosion(i, hwRound(Gear^.Y) + 3*j, 3); inc(i, 1) - end; + end; if CheckLandValue(hwRound(Gear^.X + Gear^.dX + SignAs(_6,Gear^.dX)), hwRound(Gear^.Y + _1_9) , lfIndestructible) then - begin + begin Gear^.X := Gear^.X + Gear^.dX; Gear^.Y := Gear^.Y + _1_9; + end; end; - SetAllHHToActive; - end; if TestCollisionYwithGear(Gear, 1) then - begin + begin Gear^.dY := _0; - SetLittle(HHGear^.dX); - HHGear^.dY := _0; - end + SetLittle(HitGear^.dX); + HitGear^.dY := _0; + end else - begin + begin Gear^.dY := Gear^.dY + cGravity; Gear^.Y := Gear^.Y + Gear^.dY; if hwRound(Gear^.Y) > cWaterLine then Gear^.Timer := 1 - end; - - Gear^.X := Gear^.X + HHGear^.dX; - HHGear^.X := Gear^.X; - HHGear^.Y := Gear^.Y - int2hwFloat(cHHRadius); + end; + + Gear^.X := Gear^.X + HitGear^.dX; + HitGear^.X := Gear^.X; + SetLittle(HitGear^.dY); + HitGear^.Active:= true; end; procedure doStepHammerHit(Gear: PGear); diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/HHHandlers.inc Sun Aug 21 22:20:20 2011 +0200 @@ -376,8 +376,8 @@ end; if Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NeedTarget <> 0 then begin - newGear^.TargetX:= TargetPoint.X; - newGear^.TargetY:= TargetPoint.Y + newGear^.Target.X:= TargetPoint.X; + newGear^.Target.Y:= TargetPoint.Y end; // Clear FollowGear if using on a rope/parachute/saucer etc so focus stays with the hog's movement diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/hwengine.pas Sun Aug 21 22:20:20 2011 +0200 @@ -234,6 +234,8 @@ val(gameArgs[2], cScreenHeight); val(gameArgs[3], cReducedQuality); cLocaleFName:= gameArgs[4]; + if (Length(cLocaleFName) > 6) then cLocale := Copy(cLocaleFName,1,5) + else cLocale := Copy(cLocaleFName,1,2); UserNick:= gameArgs[5]; isSoundEnabled:= gameArgs[6] = '1'; isMusicEnabled:= gameArgs[7] = '1'; @@ -279,8 +281,6 @@ LoadLocale(UserPathz[ptLocale] + '/en.txt'); // Do an initial load with english LoadLocale(Pathz[ptLocale] + '/en.txt'); // Do an initial load with english - if (Length(cLocaleFName) > 6) then cLocale := Copy(cLocaleFName,1,5) - else cLocale := Copy(cLocaleFName,1,2); if cLocaleFName <> 'en.txt' then begin // Try two letter locale first before trying specific locale overrides @@ -495,6 +495,8 @@ //////////////////////////////////////////////////////////////////////////////// begin GetParams(); + if (Length(cLocaleFName) > 6) then cLocale := Copy(cLocaleFName,1,5) + else cLocale := Copy(cLocaleFName,1,2); if GameType = gmtLandPreview then GenLandPreview() else if GameType = gmtSyntax then DisplayUsage() diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uAIMisc.pas --- a/hedgewars/uAIMisc.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uAIMisc.pas Sun Aug 21 22:20:20 2011 +0200 @@ -146,6 +146,7 @@ AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 50, -50) else if (Gear^.State and gstAttacking) <> 0 then AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 100, -50); // mine is on + gtSMine: AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 50, -30); gtDynamite: AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 150, -75); gtHedgehog: begin if Gear^.Damage >= Gear^.Health then diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uGears.pas Sun Aug 21 22:20:20 2011 +0200 @@ -209,7 +209,7 @@ FillChar(gear^, sizeof(TGear), 0); gear^.X:= int2hwFloat(X); gear^.Y:= int2hwFloat(Y); -gear^.TargetX:= NoPointX; +gear^.Target.X:= NoPointX; gear^.Kind := Kind; gear^.State:= State; gear^.Active:= true; @@ -1409,7 +1409,7 @@ begin t:= CheckGearsCollision(Ammo); // Just to avoid hogs on rope dodging fire. -if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtRope) and +if (CurAmmoGear <> nil) and ((CurAmmoGear^.Kind = gtRope) or (CurAmmoGear^.Kind = gtJetpack) or (CurAmmoGear^.Kind = gtBirdy)) and (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex = -1) and (sqr(hwRound(Ammo^.X) - hwRound(CurrentHedgehog^.Gear^.X)) + sqr(hwRound(Ammo^.Y) - hwRound(CurrentHedgehog^.Gear^.Y)) <= sqr(cHHRadius + Ammo^.Radius)) then begin diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uGearsRender.pas Sun Aug 21 22:20:20 2011 +0200 @@ -885,11 +885,11 @@ i: Longword; startX, endX, startY, endY: LongInt; begin - if Gear^.TargetX <> NoPointX then + if Gear^.Target.X <> NoPointX then if Gear^.AmmoType = amBee then - DrawRotatedF(sprTargetBee, Gear^.TargetX + WorldDx, Gear^.TargetY + WorldDy, 0, 0, (RealTicks shr 3) mod 360) + DrawRotatedF(sprTargetBee, Gear^.Target.X + WorldDx, Gear^.Target.Y + WorldDy, 0, 0, (RealTicks shr 3) mod 360) else - DrawRotatedF(sprTargetP, Gear^.TargetX + WorldDx, Gear^.TargetY + WorldDy, 0, 0, (RealTicks shr 3) mod 360); + DrawRotatedF(sprTargetP, Gear^.Target.X + WorldDx, Gear^.Target.Y + WorldDy, 0, 0, (RealTicks shr 3) mod 360); case Gear^.Kind of gtGrenade: DrawRotated(sprBomb, x, y, 0, Gear^.DirAngle); diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uScript.pas --- a/hedgewars/uScript.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uScript.pas Sun Aug 21 22:20:20 2011 +0200 @@ -1232,8 +1232,13 @@ gear:= GearByUID(lua_tointeger(L, 1)); if gear <> nil then begin - lua_pushinteger(L, gear^.TargetX); - lua_pushinteger(L, gear^.TargetY) + lua_pushinteger(L, gear^.Target.X); + lua_pushinteger(L, gear^.Target.Y) + end + else + begin + lua_pushnil(L); + lua_pushnil(L) end end; lc_getgeartarget:= 2; @@ -1249,8 +1254,8 @@ gear:= GearByUID(lua_tointeger(L, 1)); if gear <> nil then begin - gear^.TargetX:= lua_tointeger(L, 2); - gear^.TargetY:= lua_tointeger(L, 3) + gear^.Target.X:= lua_tointeger(L, 2); + gear^.Target.Y:= lua_tointeger(L, 3) end end; lc_setgeartarget:= 0 diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uStore.pas --- a/hedgewars/uStore.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uStore.pas Sun Aug 21 22:20:20 2011 +0200 @@ -21,13 +21,13 @@ unit uStore; interface -uses sysutils, uConsts, SDLh, GLunit, uTypes; +uses sysutils, uConsts, SDLh, GLunit, uTypes, uLandTexture; procedure initModule; procedure freeModule; -procedure StoreLoad; -procedure StoreRelease; +procedure StoreLoad(reload: boolean = false); +procedure StoreRelease(reload: boolean = false); procedure RenderHealth(var Hedgehog: THedgehog); procedure AddProgress; procedure FinishProgress; @@ -118,7 +118,7 @@ SDL_FreeSurface(tmpsurf) end; -procedure StoreLoad; +procedure StoreLoad(reload: boolean); var s: shortstring; procedure WriteNames(Font: THWFont); @@ -290,48 +290,67 @@ if AltPath = ptNone then if ii in [sprHorizont, sprHorizontL, sprHorizontR, sprSky, sprSkyL, sprSkyR, sprChunk] then // FIXME: hack begin - tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); - if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent) + if not reload then + begin + tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); + if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent) + end + else tmpsurf:= Surface end else begin - tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); - if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent or ifCritical) + if not reload then + begin + tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); + if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent or ifCritical) + end + else tmpsurf:= Surface end else begin - tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); - if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent); - if tmpsurf = nil then tmpsurf:= LoadImage(UserPathz[AltPath] + '/' + FileName, ifAlpha or ifTransparent); - if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[AltPath] + '/' + FileName, ifAlpha or ifCritical or ifTransparent); + if not reload then + begin + tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); + if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent); + if tmpsurf = nil then tmpsurf:= LoadImage(UserPathz[AltPath] + '/' + FileName, ifAlpha or ifTransparent); + if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[AltPath] + '/' + FileName, ifAlpha or ifCritical or ifTransparent) + end + else tmpsurf:= Surface end; if tmpsurf <> nil then - begin + begin if getImageDimensions then - begin + begin imageWidth:= tmpsurf^.w; imageHeight:= tmpsurf^.h - end; + end; if getDimensions then - begin + begin Width:= tmpsurf^.w; Height:= tmpsurf^.h - end; + end; if (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR]) then - begin + begin Texture:= Surface2Tex(tmpsurf, true); Texture^.Scale:= 2 - end + end else - begin + begin Texture:= Surface2Tex(tmpsurf, false); // HACK: We should include some sprite attribute to define the texture wrap directions if ((ii = sprWater) or (ii = sprSDWater)) and ((cReducedQuality and (rq2DWater or rqClampLess)) = 0) then glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - end; + end; glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, priority); - if saveSurf then - Surface:= tmpsurf else SDL_FreeSurface(tmpsurf) +// This should maybe be flagged. It wastes quite a bit of memory. + if not reload then + begin +{$IFNDEF DARWIN & WIN32} + if saveSurf then Surface:= tmpsurf else SDL_FreeSurface(tmpsurf) +{$ELSE} + Surface:= tmpsurf +{$ENDIF} + end end else Surface:= nil @@ -384,7 +403,7 @@ {$ENDIF} end; -procedure StoreRelease; +procedure StoreRelease(reload: boolean); var ii: TSprite; ai: TAmmoType; i, t: LongInt; @@ -393,23 +412,36 @@ begin FreeTexture(SpritesData[ii].Texture); SpritesData[ii].Texture:= nil; - if SpritesData[ii].Surface <> nil then + if (SpritesData[ii].Surface <> nil) and not reload then + begin SDL_FreeSurface(SpritesData[ii].Surface); - SpritesData[ii].Surface:= nil; + SpritesData[ii].Surface:= nil + end end; SDL_FreeSurface(MissionIcons); FreeTexture(ropeIconTex); + ropeIconTex:= nil; FreeTexture(HHTexture); + HHTexture:= nil; FreeTexture(PauseTexture); + PauseTexture:= nil; FreeTexture(ConfirmTexture); + ConfirmTexture:= nil; FreeTexture(SyncTexture); + SyncTexture:= nil; // free all ammo name textures for ai:= Low(TAmmoType) to High(TAmmoType) do + begin FreeTexture(Ammoz[ai].NameTex); + Ammoz[ai].NameTex:= nil + end; // free all count textures for i:= Low(CountTexz) to High(CountTexz) do + begin FreeTexture(CountTexz[i]); + CountTexz[i]:= nil + end; // free all team and hedgehog textures for t:= 0 to Pred(TeamsCount) do @@ -417,16 +449,25 @@ if TeamsArray[t] <> nil then begin FreeTexture(TeamsArray[t]^.NameTagTex); + TeamsArray[t]^.NameTagTex:= nil; FreeTexture(TeamsArray[t]^.CrosshairTex); + TeamsArray[t]^.CrosshairTex:= nil; FreeTexture(TeamsArray[t]^.GraveTex); + TeamsArray[t]^.GraveTex:= nil; FreeTexture(TeamsArray[t]^.HealthTex); + TeamsArray[t]^.HealthTex:= nil; FreeTexture(TeamsArray[t]^.AIKillsTex); + TeamsArray[t]^.AIKillsTex:= nil; FreeTexture(TeamsArray[t]^.FlagTex); + TeamsArray[t]^.FlagTex:= nil; for i:= 0 to cMaxHHIndex do begin FreeTexture(TeamsArray[t]^.Hedgehogs[i].NameTagTex); + TeamsArray[t]^.Hedgehogs[i].NameTagTex:= nil; FreeTexture(TeamsArray[t]^.Hedgehogs[i].HealthTagTex); + TeamsArray[t]^.Hedgehogs[i].HealthTagTex:= nil; FreeTexture(TeamsArray[t]^.Hedgehogs[i].HatTex); + TeamsArray[t]^.Hedgehogs[i].HatTex:= nil; end; end; end; @@ -908,6 +949,7 @@ var flags: Longword = 0; ico: PSDL_Surface; buf: array[byte] of char; + reinit: boolean; {$IFDEF SDL13}x, y: LongInt;{$ENDIF} begin s:= s; // avoid compiler hint @@ -943,9 +985,12 @@ // set window title SDL_WM_SetCaption('Hedgewars', nil); - + reinit:= false; if SDLPrimSurface <> nil then begin +{$IFDEF DARWIN | WIN32} + reinit:= true; +{$ENDIF} AddFileLog('Freeing old primary surface...'); SDL_FreeSurface(SDLPrimSurface); SDLPrimSurface:= nil; @@ -982,6 +1027,12 @@ AddFileLog('Setting up OpenGL (using driver: ' + shortstring(SDL_VideoDriverName(buf, sizeof(buf))) + ')'); SetupOpenGL(); + if reinit then + begin + StoreRelease(true); + StoreLoad(true); + UpdateLandTexture(0, LAND_WIDTH, 0, LAND_HEIGHT) + end; end; procedure initModule; diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uTypes.pas --- a/hedgewars/uTypes.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uTypes.pas Sun Aug 21 22:20:20 2011 +0200 @@ -228,8 +228,7 @@ Y : hwFloat; dX: hwFloat; dY: hwFloat; - TargetX : LongInt; - TargetY : LongInt; + Target : TPoint; Kind: TGearType; Pos: Longword; doStep: TGearStepProcedure; diff -r 06558ee35f51 -r 4ad07103cfae hedgewars/uVariables.pas --- a/hedgewars/uVariables.pas Sun Aug 21 22:18:54 2011 +0200 +++ b/hedgewars/uVariables.pas Sun Aug 21 22:20:20 2011 +0200 @@ -2006,7 +2006,7 @@ AttackVoice: sndNone; Bounciness: 1000); Slot: 3; - TimeAfterTurn: 1000; + TimeAfterTurn: 3000; MinAngle: 0; maxAngle: 0; isDamaging: true; diff -r 06558ee35f51 -r 4ad07103cfae project_files/hedgewars.pro --- a/project_files/hedgewars.pro Sun Aug 21 22:18:54 2011 +0200 +++ b/project_files/hedgewars.pro Sun Aug 21 22:20:20 2011 +0200 @@ -133,6 +133,7 @@ TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_it.ts TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_ja.ts TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_ko.ts +TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_lt.ts TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_nl.ts TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_pl.ts TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_pt_BR.ts diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png has changed diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Locale/fr.txt --- a/share/hedgewars/Data/Locale/fr.txt Sun Aug 21 22:18:54 2011 +0200 +++ b/share/hedgewars/Data/Locale/fr.txt Sun Aug 21 22:20:20 2011 +0200 @@ -437,10 +437,10 @@ 04:38= Le fusil à lunette peut être une des armes les plus dévastatrices|de tout votre arsenal, toutefois il est totalement inefficace|en combat rapproché. Les dommages qu'il cause augmentent suivant|la distance de la cible.|Attaque : Tirez (deux fois) 04:39=Volez vers d'autres secteurs de la carte en utilisant une soucoupe|volante. Ce moyen de transport, pas facile à dompter, vous|emportera vers presque tous les horizons du champ de bataille|Attaque : Activer|Haut/Gauche/Droite : Prenez de l'altitude et controllez votre direction 04:40=Mettez le feu à un territoire en utilisant cette bouteille remplie|de liquide inflammable.|Attaque : maintenez pour tirer avec plus de force -04:41=Une arme naturelle qui peut suffire à remplacer la soucoupe volante. |Cet oiseau a du manger un vieux fromage pourri (du Limburger vous dites ?) car ses oeufs ont comme quelquechose de ... toxique. Le piaf peut donc transporter votre hérisson et|balancer des œufs sur vos ennemis !|Attaque : Activez et larguez des œufs|Haut/Gauche/Droite: voltigez vers une direction. +04:41=Une arme naturelle qui peut suffire à remplacer la soucoupe volante.|Cet oiseau a du manger un vieux fromage pourri (du Limburger vous dites ?)|car ses oeufs ont comme quelquechose de ... toxique.|Le piaf peut donc transporter votre hérisson et balancer des œufs|sur vos ennemis !|Attaque : Activez et larguez des œufs|Haut/Gauche/Droite: voltigez vers une direction. 04:42=Ce fusil à portails est capable de transporter instantanément hérissons,|tonneaux ou mines entre deux points du terrain. |Utilisez-le intelligemment et votre campagne sera un ... GRAND SUCCÈS !|Attaque : Crée un portail|Modificateur : Change la couleur du portail 04:43=Faites de vos débuts musicaux un succès explosif !| Lâchez un piano depuis les cieux, mais attention ... si quelqu'un doit|jouer dessus, cela pourrait lui coûter la vie !|Curseur : Choix de la cible|F1-F9 : Jouer du piano -04:44=Ce n'est pas juste un fromage, c'est une arme bactériologique !|Si il ne provoque que de faibles dommages, sa puissance se trouve dans sa durée. Il empoisonnera tous les malchanceux touchés par l'odeur et réduira leur vie à l'agonie !|1-5 : Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force +04:44=Ce n'est pas juste un fromage, c'est une arme bactériologique !|Si il ne provoque que de faibles dommages, sa puissance se|trouve dans sa durée. Il empoisonnera tous les malchanceux|touchés par l'odeur et réduira leur vie à l'agonie !|1-5 : Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force 04:45=Tous ces cours de physique ont finalement payé,|lancez une onde Sinus dévastatrice sur vos ennemis.|Attention au recul ! (cette arme est incomplète)|Attaque : Activez 04:46=Aspergez vos ennemis de flammes liquides ou creusez vous un passage dans le sol.|Hardi !|Attaque : Activez|Haut/Bas : Continuez à viser|Droite/Gauche : Changer la puissance de tir 04:47=Doublez le fun avec deux mines, piquantes, furtives et collantes.|Provoquez une réaction en chaine dévastatrice et/ou défendez-vous ! |Attaque : maintenez pour tirer avec plus de force (deux fois) diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Locale/hedgewars_lt.ts --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts Sun Aug 21 22:20:20 2011 +0200 @@ -0,0 +1,3089 @@ + + + + + AmmoSchemeModel + + + new + + + + + copy of + + + + + DrawMapWidget + + + + File error + + + + + Cannot open file '%1' for writing + + + + + Cannot read file '%1' + + + + + FreqSpinBox + + + Never + + + + + Every %1 turn + + + + + + + + + GameCFGWidget + + + Edit schemes + + + + + Edit weapons + + + + + When this option is enabled selecting a game scheme will auto-select a weapon + + + + + Error + + + + + Illegal ammo scheme + + + + + HWChatWidget + + + %1 *** %2 has been removed from your ignore list + + + + + %1 *** %2 has been added to your ignore list + + + + + %1 *** %2 has been removed from your friends list + + + + + %1 *** %2 has been added to your friends list + + + + + HWForm + + + + DefaultTeam + + + + + + Error + + + + + Please select record from the list above + + + + + OK + + + + + Unable to start the server + + + + + Cannot save record to file %1 + + + + + Hedgewars Demo File + File Types + + + + + Hedgewars Save File + File Types + + + + + HWGame + + + en.txt + + + + + Cannot open demofile %1 + + + + + HWMapContainer + + + Map + + + + + Filter + + + + + All + + + + + Small + + + + + Medium + + + + + Large + + + + + Cavern + + + + + Wacky + + + + + Type + + + + + Small tunnels + + + + + Medium tunnels + + + + + Large tunnels + + + + + Small floating islands + + + + + Medium floating islands + + + + + Large floating islands + + + + + Themes + + + + + Seed + + + + + Set + + + + + HWNetServersModel + + + Title + + + + + IP + + + + + Port + + + + + HWNewNet + + + The host was not found. Please check the host name and port settings. + + + + + Connection refused + + + + + Room destroyed + + + + + You got kicked + + + + + %1 *** %2 has joined the room + + + + + %1 *** %2 has joined + + + + + + %1 *** %2 has left + + + + + + %1 *** %2 has left (%3) + + + + + Password + + + + + Your nickname %1 is +registered on Hedgewars.org +Please provide your password below +or pick another nickname in game config: + + + + + Quit reason: + + + + + Nickname + + + + + Some one already uses + your nickname %1 +on the server. +Please pick another nickname: + + + + + KB + + + SDL_ttf returned error while rendering text, most propably it is related to the bug in freetype2. It's recommended to update your freetype lib. + + + + + PageAdmin + + + Fetch data + + + + + Server message for latest version: + + + + + Server message for previous versions: + + + + + Latest version protocol number: + + + + + MOTD preview: + + + + + Clear Accounts Cache + + + + + Set data + + + + + PageConnecting + + + Connecting... + + + + + Cancel + + + + + PageDrawMap + + + Undo + + + + + Clear + + + + + Load + + + + + Save + + + + + Load drawn map + + + + + + Drawn Maps (*.hwmap);;All files (*.*) + + + + + Save drawn map + + + + + PageEditTeam + + + General + + + + + Advanced + + + + + PageGameStats + + + Details + + + + + Health graph + + + + + Ranking + + + + + The best shot award was won by <b>%1</b> with <b>%2</b> pts. + + + + + The best killer is <b>%1</b> with <b>%2</b> kills in a turn. + + + + + + + + + A total of <b>%1</b> hedgehog(s) were killed during this round. + + + + + + + + + (%1 kill) + + + + + + + + + <b>%1</b> thought it's good to shoot his own hedgehogs with <b>%2</b> pts. + + + + + + + + + <b>%1</b> killed <b>%2</b> of his own hedgehogs. + + + + + + + + + <b>%1</b> was scared and skipped turn <b>%2</b> times. + + + + + + + + + PageMain + + + Local Game (Play a game on a single computer) + + + + + Network Game (Play a game across a network) + + + + + 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'll win or lose together. + Tips + + + + + 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. + Tips + + + + + If you're unsure what to do and don't want to waste ammo, skip one round. But don't let too much time pass as there will be Sudden Death! + Tips + + + + + Want to save ropes? Release the rope in mid air and then shoot again. As long as you don't touch the ground you'll reuse your rope without wasting ammo! + Tips + + + + + If you'd like to keep others from using your preferred nickname on the official server, register an account at http://www.hedgewars.org/. + Tips + + + + + You're bored of default gameplay? Try one of the missions - they'll offer different gameplay depending on the one you picked. + Tips + + + + + By default the game will always record the last game played as a demo. Select 'Local Game' and pick the 'Demos' button on the lower right corner to play or manage them. + Tips + + + + + Hedgewars is Open Source and Freeware we create in our spare time. If you've got problems, ask on our forums but please don't expect 24/7 support! + Tips + + + + + 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! + Tips + + + + + Hedgewars is Open Source and Freeware we create in our spare time. Share it with your family and friends as you like! + Tips + + + + + Hedgewars is Open Source and Freeware we create in our spare time. If someone sold you the game, you should try get a refund! + Tips + + + + + From time to time there will be official tournaments. Upcoming events will be announced at http://www.hedgewars.org/ some days in advance. + Tips + + + + + Hedgewars is available in many languages. If the translation in your language seems to be missing or outdated, feel free to contact us! + Tips + + + + + Hedgewars can be run on lots of different operating systems including Microsoft Windows, Mac OS X and Linux. + Tips + + + + + Always remember you're able to set up your own games in local and network/online play. You're not restricted to the 'Simple Game' option. + Tips + + + + + Connect one or more gamepads before starting the game to be able to assign their controls to your teams. + Tips + + + + + Create an account on %1 to keep others from using your most favourite nickname while playing on the official server. + Tips + + + + + While playing you should give yourself a short break at least once an hour. + Tips + + + + + If your graphics card isn't able to provide hardware accelerated OpenGL, try to enable the low quality mode to improve performance. + Tips + + + + + If your graphics card isn't able to provide hardware accelerated OpenGL, try to update the associated drivers. + Tips + + + + + We're open to suggestions and constructive feedback. If you don't like something or got a great idea, let us know! + Tips + + + + + Especially while playing online be polite and always remember there might be some minors playing with or against you as well! + Tips + + + + + Special game modes such as 'Vampirism' or 'Karma' allow you to develop completely new tactics. Try them in a custom game! + Tips + + + + + The Windows version of Hedgewars supports Xfire. Make sure to add Hedgewars to its game list so your friends can see you playing. + Tips + + + + + You should never install Hedgewars on computers you don't own (school, university, work, etc.). Please ask the responsible person instead! + Tips + + + + + Hedgewars can be perfect for short games during breaks. Just ensure you don't add too many hedgehogs or use an huge map. Reducing time and health might help as well. + Tips + + + + + No hedgehogs were harmed in making this game. + Tips + + + + + There are three different jumps available. Tap [high jump] twice to do a very high/backwards jump. + Tips + + + + + Afraid of falling off a cliff? Hold down [precise] to turn [left] or [right] without actually moving. + Tips + + + + + Some weapons require special strategies or just lots of training, so don't give up on a particular tool if you miss an enemy once. + Tips + + + + + Most weapons won't work once they touch the water. The Homing Bee as well as the Cake are exceptions to this. + Tips + + + + + The Old Limbuger only causes a small explosion. However the wind affected smelly cloud can poison lots of hogs at once. + Tips + + + + + The Piano Strike is the most damaging air strike. You'll lose the hedgehog performing it, so there's a huge downside as well. + Tips + + + + + The Homing Bee can be tricky to use. Its turn radius depends on its velocity, so try to not use full power. + Tips + + + + + Sticky Mines are a perfect tool to create small chain reactions knocking enemy hedgehogs into dire situations ... or water. + Tips + + + + + The Hammer is most effective when used on bridges or girders. Hit hogs will just break through the ground. + Tips + + + + + If you're stuck behind an enemy hedgehog, use the Hammer to free yourself without getting damaged by an explosion. + Tips + + + + + The Cake's maximum walking distance depends on the ground it has to pass. Use [attack] to detonate it early. + Tips + + + + + The Flame Thrower is a weapon but it can be used for tunnel digging as well. + Tips + + + + + Use the Molotov or Flame Thrower to temporary keep hedgehogs from passing terrain such as tunnels or platforms. + Tips + + + + + Want to know who's behind the game? Click on the Hedgewars logo in the main menu to see the credits. + Tips + + + + + Like Hedgewars? Become a fan on %1 or follow us on %2! + Tips + + + + + Feel free to draw your own graves, hats, flags or even maps and themes! But note that you'll have to share them somewhere to use them online. + Tips + + + + + Really want to wear a specific hat? Donate to us and receive an exclusive hat of your choice! + Tips + + + + + Keep your video card drivers up to date to avoid issues playing the game. + Tips + + + + + You'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. + Tips + + + + + You can find your Hedgewars configuration files under "My Documents\Hedgewars". Create backups or take the files with you, but don't edit them by hand. + Tips + + + + + You can find your Hedgewars configuration files under "Library/Application Support/Hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand. + Tips + + + + + You can find your Hedgewars configuration files under ".hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand. + Tips + + + + + PageMultiplayer + + + Start + + + + + PageNet + + + Error + + + + + Please select server from the list above + + + + + PageNetGame + + + Control + + + + + Error + + + + + Please enter room name + + + + + OK + + + + + PageNetType + + + LAN game + + + + + Official server + + + + + PageOptions + + + New team + + + + + Edit team + + + + + Delete team + + + + + You can't edit teams from team selection. Go back to main menu to add, edit or delete teams. + + + + + New scheme + + + + + Edit scheme + + + + + Delete scheme + + + + + New weapon set + + + + + Edit weapon set + + + + + Delete weapon set + + + + + PagePlayDemo + + + + + + Error + + + + + + Please select record from the list + + + + + + OK + + + + + Rename dialog + + + + + Enter new file name: + + + + + Cannot rename to + + + + + Cannot delete file + + + + + PageRoomsList + + + Room Name: + + + + + State: + + + + + Rules: + + + + + Weapons: + + + + + Search: + + + + + Create + + + + + Join + + + + + Refresh + + + + + Clear + + + + + Admin features + + + + + This game is in lobby. +You may join and start playing once the game starts. + + + + + This game is in progress. +You may join and spectate now but you'll have to wait for the game to end to start playing. + + + + + There are %1 clients connected to this room. + + + + + + + + + There are %1 teams participating in this room. + + + + + + + + + %1 is the host. He may adjust settings and start the game. + + + + + Random Map + + + + + Random Maze + + + + + Games may be played on precreated or randomized maps. + + + + + The Game Scheme defines general options and preferences like Round Time, Sudden Death or Vampirism. + + + + + The Weapon Scheme defines available weapons and their ammunition count. + + + + + + Error + + + + + Please enter room name + + + + + + OK + + + + + Please select room from the list + + + + + Warning + + + + + The game you are trying to join has started. +Do you still want to join the room? + + + + + %1 players online + + + + + + + + + PageScheme + + + Defend your fort and destroy the opponents, two team colours max! + + + + + Teams will start on opposite sides of the terrain, two team colours max! + + + + + Land can not be destroyed! + + + + + Add an indestructable border around the terrain + + + + + Lower gravity + + + + + Assisted aiming with laser sight + + + + + All hogs have a personal forcefield + + + + + All (living) hedgehogs are fully restored at the end of turn + + + + + Gain 80% of the damage you do back in health + + + + + Share your opponents pain, share their damage + + + + + Your hogs are unable to move, put your artillery skills to the test + + + + + Order of play is random instead of in room order. + + + + + Play with a King. If he dies, your side dies. + + + + + Take turns placing your hedgehogs before the start of play. + + + + + Ammo is shared between all teams that share a colour. + + + + + Disable girders when generating random maps. + + + + + Disable land objects when generating random maps. + + + + + AI respawns on death. + + + + + Attacking does not end your turn. + + + + + Weapons are reset to starting values each turn. + + + + + Each hedgehog has its own ammo. It does not share with the team. + + + + + You will not have to worry about wind anymore. + + + + + Wind will affect almost everything. + + + + + Teams in each clan take successive turns sharing their turn time. + + + + + Random + + + + + Seconds + + + + + Copy + + + + + New + + + + + Delete + + + + + PageSelectWeapon + + + Default + + + + + New + + + + + Copy + + + + + Delete + + + + + PageSinglePlayer + + + Simple Game (a quick game against the computer, settings are chosen for you) + + + + + Multiplayer (play a hotseat game against your friends, or AI teams) + + + + + Campaign Mode (...). IN DEVELOPMENT + + + + + Training Mode (Practice your skills in a range of training missions). IN DEVELOPMENT + + + + + Demos (Watch recorded demos) + + + + + Load (Load a previously saved game) + + + + + QAction + + + Info + + + + + Kick + + + + + Ban + + + + + Follow + + + + + + Ignore + + + + + + Add friend + + + + + Unignore + + + + + Remove friend + + + + + Update + + + + + Restrict Joins + + + + + Restrict Team Additions + + + + + Start + + + + + QCheckBox + + + Show ammo menu tooltips + + + + + Alternative damage show + + + + + Append date and time to record file name + + + + + Check for updates at startup + + + + + Frontend fullscreen + + + + + Frontend effects + + + + + Enable frontend sounds + + + + + Enable frontend music + + + + + Fullscreen + + + + + Enable sound + + + + + Enable music + + + + + Show FPS + + + + + QComboBox + + + + + Mission + + + + + generated map... + + + + + generated maze... + + + + + hand drawn map... + + + + + Human + + + + + Level + + + + + + Community + + + + + (System default) + + + + + Disabled + + + + + Red/Cyan + + + + + Cyan/Red + + + + + Red/Blue + + + + + Blue/Red + + + + + Red/Green + + + + + Green/Red + + + + + Side-by-side + + + + + Top-Bottom + + + + + Wiggle + + + + + Red/Cyan grayscale + + + + + Cyan/Red grayscale + + + + + Red/Blue grayscale + + + + + Blue/Red grayscale + + + + + Red/Green grayscale + + + + + Green/Red grayscale + + + + + + + Any + + + + + In lobby + + + + + In progress + + + + + QGroupBox + + + Team Members + + + + + Team Settings + + + + + Fort + + + + + Key binds + + + + + Net game + + + + + Teams + + + + + Schemes and Weapons + + + + + Misc + + + + + Audio/Graphic options + + + + + Game Modifiers + + + + + Basic Settings + + + + + Playing teams + + + + + QLabel + + + Version + + + + + This program is distributed under the GNU General Public License + + + + + Developers: + + + + + Art: + + + + + Sounds: + + + + + Translations: + + + + + Special thanks: + + + + + Game Options + + + + + Style + + + + + Scheme + + + + + + Weapons + + + + + Host: + + + + + Port: + + + + + Name + + + + + Type + + + + + Grave + + + + + Flag + + + + + Voice + + + + + Tip: + + + + + This development build is 'work in progress' and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk! + + + + + Server name: + + + + + Server port: + + + + + Game scheme + + + + + Net nick + + + + + Password + + + + + Locale + + + + + Resolution + + + + + Quality + + + + + Stereo rendering + + + + + Initial sound volume + + + + + FPS limit + + + + + Restart game to apply + + + + + Damage Modifier + + + + + Turn Time + + + + + Initial Health + + + + + Sudden Death Timeout + + + + + Sudden Death Water Rise + + + + + Sudden Death Health Decrease + + + + + % Rope Length + + + + + Crate Drops + + + + + % Health Crates + + + + + Health in Crates + + + + + Mines Time + + + + + Mines + + + + + % Dud Mines + + + + + Explosives + + + + + % Get Away Time + + + + + Scheme Name: + + + + + QLineEdit + + + unnamed + + + + + QMainWindow + + + Hedgewars %1 + + + + + QMessageBox + + + Teams + + + + + Really delete this team? + + + + + + Schemes + + + + + Can not delete default scheme '%1'! + + + + + Network + + + + + Connection to server is lost + + + + + All file associations have been set. + + + + + File association failed. + + + + + Error + + + + + Failed to open data directory: +%1 +Please check your installation + + + + + Really delete this game scheme? + + + + + + + Weapons + + + + + Can not overwrite default weapon set '%1'! + + + + + Can not delete default weapon set '%1'! + + + + + Really delete this weapon set? + + + + + QObject + + + Error + + + + + Cannot create directory %1 + + + + + OK + + + + + Nickname + + + + + Please enter your nickname + + + + + QPushButton + + + + default + + + + + OK + + + + + Cancel + + + + + more + + + + + + Go! + + + + + Random Team + + + + + + Setup + + + + + Start server + + + + + Connect + + + + + Update + + + + + Specify + + + + + Ready + + + + + Start + + + + + Associate file extensions + + + + + + Play demo + + + + + Rename + + + + + Delete + + + + + Load + + + + + QTableWidget + + + Room Name + + + + + C + + + + + T + + + + + Owner + + + + + Map + + + + + Rules + + + + + Weapons + + + + + SelWeaponWidget + + + Weapon set + + + + + Probabilities + + + + + Ammo in boxes + + + + + Delays + + + + + + new + + + + + + copy of + + + + + TCPBase + + + + Error + + + + + Unable to start the server: %1. + + + + + Unable to run engine: %1 ( + + + + + ToggleButtonWidget + + + Fort Mode + + + + + Divide Teams + + + + + Solid Land + + + + + Add Border + + + + + Low Gravity + + + + + Laser Sight + + + + + Invulnerable + + + + + Reset Health + + + + + Vampirism + + + + + Karma + + + + + Artillery + + + + + Random Order + + + + + King + + + + + Place Hedgehogs + + + + + Clan Shares Ammo + + + + + Disable Girders + + + + + Disable Land Objects + + + + + AI Survival Mode + + + + + Unlimited Attacks + + + + + Reset Weapons + + + + + Per Hedgehog Ammo + + + + + Disable Wind + + + + + More Wind + + + + + Tag Team + + + + + binds + + + + up + + + + + + left + + + + + + right + + + + + + down + + + + + precise aim + + + + + long jump + + + + + high jump + + + + + attack + + + + + put + + + + + switch + + + + + ammo menu + + + + + slot 1 + + + + + slot 2 + + + + + slot 3 + + + + + slot 4 + + + + + slot 5 + + + + + slot 6 + + + + + slot 7 + + + + + slot 8 + + + + + slot 9 + + + + + slot 10 + + + + + timer 1 sec + + + + + timer 2 sec + + + + + timer 3 sec + + + + + timer 4 sec + + + + + timer 5 sec + + + + + find hedgehog + + + + + zoom in + + + + + zoom out + + + + + reset zoom + + + + + chat + + + + + chat history + + + + + pause + + + + + quit + + + + + confirmation + + + + + volume down + + + + + volume up + + + + + change mode + + + + + capture + + + + + hedgehogs +info + + + + + binds (categories) + + + Basic controls + + + + + Weapon controls + + + + + Camera and cursor controls + + + + + Other + + + + + binds (descriptions) + + + Move your hogs and aim: + + + + + Traverse gaps and obstacles by jumping: + + + + + Fire your selected weapon or trigger an utility item: + + + + + Pick a weapon or a target location under the cursor: + + + + + Switch your currently active hog (if possible): + + + + + Pick a weapon or utility item: + + + + + Set the timer on bombs and timed weapons: + + + + + Move the camera to the active hog: + + + + + Move the cursor or camera without using the mouse: + + + + + Modify the camera's zoom level: + + + + + Talk to your team or all participants: + + + + + Pause, continue or leave your game: + + + + + Modify the game's volume while playing: + + + + + Toggle fullscreen mode: + + + + + Take a screenshot: + + + + + Toggle labels above hedgehogs: + + + + + binds (keys) + + + Axis + + + + + + (Up) + + + + + + (Down) + + + + + Hat + + + + + (Left) + + + + + (Right) + + + + + Button + + + + + Keyboard + + + + + Mouse: Left button + + + + + Mouse: Middle button + + + + + Mouse: Right button + + + + + Mouse: Wheel up + + + + + Mouse: Wheel down + + + + + Backspace + + + + + Tab + + + + + Clear + + + + + Return + + + + + Pause + + + + + Escape + + + + + Space + + + + + Delete + + + + + Numpad 0 + + + + + Numpad 1 + + + + + Numpad 2 + + + + + Numpad 3 + + + + + Numpad 4 + + + + + Numpad 5 + + + + + Numpad 6 + + + + + Numpad 7 + + + + + Numpad 8 + + + + + Numpad 9 + + + + + Numpad . + + + + + Numpad / + + + + + Numpad * + + + + + Numpad - + + + + + Numpad + + + + + + Enter + + + + + Equals + + + + + Up + + + + + Down + + + + + Right + + + + + Left + + + + + Insert + + + + + Home + + + + + End + + + + + Page up + + + + + Page down + + + + + Num lock + + + + + Caps lock + + + + + Scroll lock + + + + + Right shift + + + + + Left shift + + + + + Right ctrl + + + + + Left ctrl + + + + + Right alt + + + + + Left alt + + + + + Right meta + + + + + Left meta + + + + + A button + + + + + B button + + + + + X button + + + + + Y button + + + + + LB button + + + + + RB button + + + + + Back button + + + + + Start button + + + + + Left stick + + + + + Right stick + + + + + Left stick (Right) + + + + + Left stick (Left) + + + + + Left stick (Down) + + + + + Left stick (Up) + + + + + Left trigger + + + + + Right trigger + + + + + Right stick (Down) + + + + + Right stick (Up) + + + + + Right stick (Right) + + + + + Right stick (Left) + + + + + DPad + + + + diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Locale/lt.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Locale/lt.lua Sun Aug 21 22:20:20 2011 +0200 @@ -0,0 +1,176 @@ +locale = { + [":("] = ":(", + ["!!!"] = "!!!", + ["..."] = "...", + ["Accuracy Bonus!"] = "Taiklumo Bonusas!", + ["a Hedgewars mini-game"] = "Eþiu karu mini þaidimas", -- Space_Invasion, The_Specialists + ["Aiming Practice"] = "Taiklumo Treniruotë", --Bazooka, Shotgun, SniperRifle + ["Ammo"] = "Kulkos", + ["Ammo Depleted!"] = "Nusodrintojo Kulkos!", + ["Ammo Maniac!"] = "Kulku Maniakas!", + ["Available points remaining: "] = "Pajamumu taðku liko: ", + ["Bat balls at your enemies and|push them into the sea!"] = "Dauþk is kamuoliu i savo prieðus|ir nustumk juos i jûra!", + ["Bat your opponents through the|baskets and out of the map!"] = "Dauþk savo obonentus pro kaðes|ir ið þemëlapio!", + ["Bazooka Training"] = "Bazukos Treniruotë", + ["Best laps per team: "] = "Geriausi ratai per komanda: ", + ["Best Team Times: "] = "Geriausios komandos laikai: ", + ["Bloody Rookies"] = "Prakeikti Eiliniai", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree + ["Boom!"] = "Boom!", + ["BOOM!"] = "BOOM!", + ["Boss defeated!"] = "Bosas Nugalëtas!", + ["Boss Slayer!"] = "Bosu Þudikas!", + ["CAPTURE THE FLAG"] = "Pagriebk Vëliava", + ["Careless"] = "Neatsargus", + ["Clumsy"] = "Durnelis", + ["Codename: Teamwork"] = "Kodas: Komandinis Darbas", + ["Complete the track as fast as you can!"] = "Apvaryk trasa taip greitai kaip gali!", + ["Congratulations!"] = "Sveikinu!", + ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Sveikinu! Tu pradanginai visus taikinius|per leista laika.", --Bazooka, Shotgun, SniperRifle + ["Control pillars to score points."] = "Valdyk stulpus ir gausi taðku.", + ["Cybernetic Empire"] = "Kibernetinë Karalystë", + ["DAMMIT, ROOKIE!"] = "PO VELNIU EILINI!", + ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "PO VELNIU EILINI NULIPK MAN NUO GALVOS!", + ["Dangerous Ducklings"] = "Pavojingos Antis", + ["Deadweight"] = "Dedveitas", + ["Depleted Kamikaze!"] = "Nusodrintojo Kamikaze!", + ["Destroy invaders to score points."] = "Sunaikink Isiverþëjus Ir Gauk Taðku.", + ["Drone Hunter!"] = "Drone Medþiotojas!", + ["Drowner"] = "Skendëjas", + ["Each turn you get 1-3 random weapons"] = "Kekviena Eile Gausi 1-3 Atsitiktiniu Ginklu", + ["Each turn you get one random weapon"] = "Kekviena Eile Gausi Po Viena Atsitiktini Ginkla", + ["Eliminate all enemies"] = "Nugalëk Visus Prieðus", + ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Sunaikink Visus taikinius kol neiðseko laikas.|Ðitai misijai gausi nesibaigianèiu kulku.", --Bazooka, Shotgun, SniperRifle + ["Eliminate Poison before the time runs out"] = "Sunaikink Nuodus kol nepasibaigë laikas", + ["Eliminate the Blue Team"] = "Sunaikink Mëlyna komanda", + ["Eliminate the enemy specialists."] = "Sunaikink prieðus specialistus.", + ["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "- Sunaikink Tipa 3378 |- Silpnaus atsparumo tvirtovë turi iðlikti", + ["Enjoy the swim..."] = "Pasimëgauk Rlaukimu...", + ["[Enter]"] = "[ENTER"], + ["Fastest lap: "] = "Greièiausias Ratas: ", + ["Feeble Resistance"] = "Silpnaus Atsparumo Tvirtovë", + ["Fire"] = "Ugnis", + ["Flag captured!"] = "Vëliava Pagrobta!", + ["Flag respawned!"] = "Vëliava Atsigavo!", + ["Flag returned!"] = "Vëliava Sugraþinta!", + ["Flags, and their home base will be placed where each team ends their first turn."] = "Vëliavos, Ir Ju Bazës Bus Padëtos Kur Kekviena Komanda Pabaigs Ëjima.", + ["GAME BEGUN!!!"] = "Þaidimas Prasidëjo!!!", + ["Game Modifiers: "] = "Þaidimo Modifikatoriai: ", + ["GAME OVER!"] = "Þaidimas Baigtas!", + ["Game Started!"] = "Þaidimas Prasidëjo!", + ["Get on over there and take him out!"] = "Nueik Ten Ir Nudauþk Ji!", + ["Goal"] = "Ðaunu!", + ["GO! GO! GO!"] = "Bëk! Bëk! Bëk!", + ["Good birdy......"] = "Geras Paukðtelis......", + ["Good luck out there!"] = "Sëkmës Tau Ten!", + ["GOTCHA!"] = "Prigavau!", + ["Hahahaha!"] = "Hahahaha!", + ["Haha, now THAT would be something!"] = "Haha, na tai jau butu kaþkas!", + ["Hapless Hogs"] = "Nelaimingi Eþiai", + [" Hapless Hogs left!"] = " Nelaimingu Eþiu Liko!", + ["Heavy"] = "Sunku", + ["Hedgewars-Basketball"] = "Eþiukaru-Krepðinis", + ["Hedgewars-Knockball"] = "Eþiukaru-Trenktaskamuolys", + ["Heh, it's not that bad."] = "Heh,nëra taip blogai.", + ["Hit Combo!"] = "Pataikimo Bonusas!", + ["Hmmm..."] = "Hmmm...", + ["Hooray!"] = "Hurah!", + ["Hunter"] = "Medþiotojas", --Bazooka, Shotgun, SniperRifle + ["Instructor"] = "Instruktorius", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings + ["invaders destroyed"] = "isiverþëjai sunaikinti", + ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Geras dalykas kad MARAS dar po 99 eiliu...", + ["Jumping is disabled"] = "Ðokimas ira iðjungtas", + ["Kamikaze Expert!"] = "Kamikazes Ekspertas!", + ["KILLS"] = "Nuþudymai", + ["[Left Shift]"] = "[Kairis Shiftas"], + ["Listen up, maggot!!"] = "Paklausyk eilini!!", + ["|- Mines Time:"] = "|- Minu Laikas:", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork + ["MISSION FAILED"] = "Misija Nepavyko", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork + ["MISSION SUCCESS"] = "Misija Pavyko", + ["MISSION SUCCESSFUL"] = "Misija Buvo Ivykdita", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork + ["Movement: [Up], [Down], [Left], [Right]"] = "Judëjimas: [I Virðu, [I Apaèia], [I Kaire], [I Deðine]"], + ["Multi-shot!"] = "Dvigubas-Ðuvis!", + ["Nameless Heroes"] = "Bevardþiai Herojiai", + ["NEW CLAN RECORD: "] = "Naujas Klano Rekordas: ", + ["NEW fastest lap: "] = "Naujas Greièiausias Ratas: ", + ["NEW RACE RECORD: "] = "Naujas Lenktyniu Rekordas: ", + ["NOT ENOUGH WAYPOINTS"] = "Neuþtenka Kelio Taðku", + ["Not So Friendly Match"] = "Ne Toks Jau Ir Draugiðkas Turnyras", -- Basketball, Knockball + ["Oh no! Just try again!"] = "O NE! Tiesiog Bandyk Vël", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork + ["Oh no! Time's up! Just try again."] = "O NE! Baigësi Laikas! Tiesiog Bandyk Vël.", --Bazooka, Shotgun, SniperRifle + ["Operation Diver"] = "Operacijos Vairuotojas", + ["Opposing Team: "] = "Pasiprieðinanti Komanda: ", + ["Pathetic Hog #%d"] = "Niekam Tikes Eþys #%d", + ["Per-Hog Ammo"] = "Kulkos Per-Eþy", + ["Place more waypoints using [ENTER]"] = "Padëk Daugiau Kelio Taðku Su [ENTER"], + ["points"] = "taðkai", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle + ["Poison"] = "Nuodai", + ["Power Remaining"] = "Jëgos Liko", + ["Press [Precise] to skip intro"] = "Spausk [TaikluNusitaikima kad baigtum iëjima"], + ["Race complexity limit reached."] = "Lenktyniu Sudëtingumo Limitas Pasiektas.", + [" - 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"] = " - Graþink prieðu vëliava i savo baze ir gausi taðku | - Pirma komanda su 3 vëliavom laimi | - Taðkus gausi tik tada kaip tavo vëliava bazëje | - Eþiai pames vëliava jeigu mirs, arba paskes | - Pamestos vëliavos gali buti graþintos arba pavogtos | - Eþiai atsikelia kaip nuþudyti", + ["Round Limit"] = "Raundu Limitas", + ["Rounds Complete"] = "Raundai Ivykditi", + ["RULES OF THE GAME [Press ESC to view]"] = "ÞAIDIMO TAISYKLES [Spausk ESC Kad Parodytu"], + ["s|"] = "s|", + ["Save as many hapless hogs as possible!"] = "Iðgelbëk kuo daugiau nelaimingu eþiu!", + ["SCORE"] = "Taðkai", + ["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!"] = "Iki!", + ["s"] = "s", -- GaudyRacer, Space_Invasion + ["Shield boosted! +30 power"] = "Skydas Pagerintas! +30 jëga", + ["Shield Depleted"] = "Skydas Nusodrintas", + ["Shield is fully recharged!"] = "Skydas Pilnai Pakrautas!", + ["Shield Master!"] = "Skydu Profas!", + ["Shield Miser!"] = "Skydu Ðykðtuolis!", + ["Shield OFF:"] = "Skydas Iðjungtas:", + ["Shield ON:"] = "Skydas Ijungtas:", + ["Shield Seeker!"] = "Skydo Ieðkotojas!", + ["Shotgun Team"] = "Ðratinio Ðautuvo Komanda", + ["Shotgun Training"] = "Ðratinio Ðautuvo Treniruotë", + ["Shots Left: "] = "Liko Ðuviu: ", -- GaudyRacer, Tumbler + ["Silly"] = "Durnelis", + ["Sinky"] = "Paskenduolis", + ["%s is out and Team %d|scored a penalty!| |Score:"] = "%s Iðkrito ir komanda %d|gavo bausme!| |Score:", -- Basketball, Knockball + ["%s is out and Team %d|scored a point!| |Score:"] = "%s Iðkrito ir komanda %d|gavo taðka!| |Score:", -- Basketball, Knockball + ["Sniper Training"] = "Snaiperio Treniruotë", + ["Sniperz"] = "Snaiperiai", + ["Sponge"] = "Kempinë", + ["Spooky Tree"] = "Baisusis Medis", + ["STATUS UPDATE"] = "Bûsenos Atnaujinimas", -- GaudyRacer, Space_Invasion + ["Switched to "] = "Pakeistas i ", + ["Team %d: "] = "Komanda %d: ", + ["Team Scores"] = "Komandos Taðkai", -- Control, Space_Invasion + ["That Sinking Feeling"] = "Tas Skendimo Jausmas", + ["That was pointless."] = "Tai Buvo Beprasmiðka.", + ["The enemy is hiding out on yonder ducky!"] = "Prieðas pasislëpes ant kitos anties!", + ["The flag will respawn next round."] = "Vëliava atsigaus kita raunda.", + ["The Nameless One"] = "Bevardis", + ["THE SPECIALISTS"] = "Specialistai", + ["This rain is really something..."] = "Ðis lietus tikrai kaþkas...", + ["TIME: "] = "Laikas: ", + ["Timed Kamikaze!"] = "Laikina Kamikaze!", + ["Time Extended!"] = "Laikas Prailgintas!", + ["Time Left: "] = "Liko Laiko: ", + ["Toggle Shield"] = "Perjungti i skyda", + ["Toxic Team"] = "Toksinë Komanda", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork + ["TRACK COMPLETED"] = "Trasa Ivykdita", + ["Track Time: "] = "Trasos Laikas: ", + ["TrophyRace"] = "Trophëju Trasa", + ["T_T"] = "T_T", + ["Turn Time"] = "Eilës Laikas", + ["Unit 3378"] = "Tipas 3378", + ["Unlimited Attacks"] = "Nesibaigianèios Atakos", + ["User Challenge"] = "Vartotojo Iðukis", + ["Use your rope to get from start to finish as fast as you can!"] = "Naudok virve kad nusigautum nuo starto iki finiðo taip greitai kaip gali!", + ["v.06"] = "v.06", + ["Victory for the "] = "Pergalë ", -- CTF_Blizzard, Capture_the_Flag + ["Waypoint placed."] = "Kelio Taðkas Pasiektas.", + ["Weapons Reset"] = "Ginklai Atgaivinti", + ["WINNING TIME: "] = "Laimëjimo Laikas: ", + ["You'd almost swear the water was rising!"] = "Galima pamanyti kad vanduo tikrai kyla!", + ["You have SCORED!!"] = "Tu gavai TAÐKU!!", + ["You saved"] = "Tu uþsisavinai", + ["You've failed. Try again."] = "Tau nepavyko. Bandyk vël.", + ["You've reached the goal!| |Time: "] = "Tu pasiekiai taikini!| |Laikas: ", + ["'Zooka Team"] = "'Zukos Komanda", + } diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Locale/lt.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Locale/lt.txt Sun Aug 21 22:20:20 2011 +0200 @@ -0,0 +1,526 @@ +; Lietuviškai + +00:00=Granata +00:01=Klasterinė Granata +00:02=Bazuka +00:03=Sekanti Bitė +00:04=Šratinis Šautuvas +00:05=Kasimo iranga (Žemyn) +00:06=Praleisti Eile +00:07=Virvė +00:08=Mina +00:09=Pistoletas +00:10=Dinamitas +00:11=Beisbolo Lazda +00:12=Shoryukenas +00:13=sekundė +00:14=Parašiutas +00:15=Oro Ataka +00:16=Minų Streikas +00:17=Kasimo Iranga (I Šonus) +00:18=Konstrukcija +00:19=Teleportacija +00:20=Pakeisti Ežy +00:21=Klasterinis Sviedinys +00:22=Botagas +00:23=Kamikadzė +00:24=Tortas +00:25=Suviliojimas +00:26=Arbūzo Bomba +00:27=Pragariška Rankinė Granata +00:28=Besikasanti Raketa +00:29=Kamuoliu Ginklas +00:30=Napalmas +00:31=RBV Lektuvelis +00:32=Maža Gravitacija +00:33=Ekstra Žala +00:34=Nemirtingas +00:35=Ekstra Laikas +00:36=Lazeris +00:37=Vampirismas +00:38=Snaiperis +00:39=Skrendanti Lėkštė +00:40=Molotovo Kokteilis +00:41=Paukštelis +00:42=Teleportuojantis Prietaisas +00:43=Piano Streikas +00:44=Senas Sūris +00:45=Sinuso Ginklas (Betoje) +00:46=Ugniasvaidis +00:47=Limpanti Mina +00:48=Kūjis +00:49=Atgaivinimas +00:50=Besikasanciu Raketu Streikas +00:51=Purvo Kamuolys +00:52=Joks Ginklas Nepasirinktas +00:53=TARDIS +00:54=Struktūra +00:55=Žemės Purškimas + +01:00=Kaukimės! +01:01=Lygiosios +01:02=%1 Laimejo! +01:03=Garsas %1% +01:04=Sustabdyta +01:05=Tikrai išeiti (Y/Esc)? +01:06=Maras! +01:07=%1 Liko +01:08=Degalai +01:09=Kraunasi... +01:10=Naudojant šita iranki nepabaigs jusu eilės! +01:11=Sitas Ginklas Arba Irankis Dar Negali Buti Panaudotas! +01:12=Paskutinis raundas iki maro! +01:13=%1 raundu iki maro! +01:14=Pasiruošk, %1! +01:15=Nežymus +01:16=Žemas +01:17=Normalus +01:18=Aukštas +01:19=Ekstremalus +01:20=%1 Atsokti + +; Event messages +; Hog (%1) died +02:00=%1 spirė i kibira! +02:00=%1 pamatė šviesa! +02:00=%1 nematė kad taip nutiks! +02:00=%1 mojuoja ate! +02:00=%1 nuėjo i geresne vietele! +02:00=%1 sutiko savo kurėja! +02:00=%1 nebegali išsilaikyti! +02:00=%1 atliko savo pareigas! +02:00=%1 pasiaukoja! +02:00=%1 baige savo karjera! +02:00=%1 krito kaip musė! +02:00=%1 uzsivertė! +02:00=%1 sako ate! +02:00=%1 bus prisimintas! +02:00=%1 turejo išeiti! +02:00=%1 paliko žmona ir vaikus +02:00=%1 paleido savo paskutine bazuka +02:00=%1 metė savo paskutine granata +02:00=%1 iškepe paskutini savo torta +02:00=%1 paleido paskutine virve +02:00=%1 pakvietė paskutini savo oro streika +02:00=%1 paskutini karta uztaise savo šratini šautuva +02:00=%1 mete paskutini savo arbūza +02:00=%1 ištrauke paskutini savo pistoleta +02:00=%1 gavo daugiau negu galejo pakelt +02:00=%1 pamiršo kad nera nemirtingas +02:00=%1 išėjo žaisti geresni žaidima +02:00=%1 supykes paliko gyvenima +02:00=%1 Susivaro +02:00=vargšas %1... +02:00=%1 verčiau žaistu wormux +02:00=%1 blokavo šuvius su juo veidu +02:00=%1 vaidino heroju +02:00=%1 rado savo vieta Valhalloj +02:00=%1 išėjo iš pastato +02:00=%1 eina dinozauru keliu +02:00=%1 pritraukia ežius arčiau ekstinkcijos +02:00=%1 atnešė ašara mano akiai +02:00=%1 ira ex-ežys +02:00=%1 stumia dūra +02:00=%1 gimes mirti +02:00=Sakykit ate %1 +02:00=Paskutini karta matote %1 +02:00=%1 sutiko paskutini kilima +02:00=Rukyk juos jei turi ju, %1 +02:00=%1 pajaucia ka reiškia Susivaryti Iki Nulio +02:00=%1 išejo +02:00=%1 nebėra +02:00=%1 pradingo +02:00=%1 nepaaiškinamai mirė +02:00=Atsiprašome %1 tau laikas išeiti +02:00=%1 žiuri i žaidima iš dangaus +02:00=Ate %1, mes taves beveik nežinojom! +02:00=%1 galvojo kad kulkos neskauda +02:00=%1 butu panaudojes ekstra givybe +02:00=Ar cia ira daktaras? + +; Hog (%1) Drowned +02:01=%1 žaidžia submarina! +02:01=%1 mimikuoja titanika! +02:01=%1 plaukia kaip akmuo! +02:01=%1 pluduriuoja kaip plyta! +02:01=%1 apžiuri gilumas +02:01=%1 nemėgo vandens +02:01=%1 taškosi +02:01=%1 pamiršo gelbijimosi rata +02:01=%1 tikrai galejo mokintis kaip plaukti +02:01=%1 paliko savo plafkes namie +02:01=%1 ira nublokštas +02:01=%1 ira vienas šlapias ežys +02:01=%1 pamirso atsinešti savo gelbijimosi kostiuma +02:01=%1 gaudo žuvis +02:01=%1 miega su žuvimis +02:01=%1 galvoja kad vandens psihikos užknisa šitame žaidime +02:01=%1 užsimanė gerti +02:01=Jūra pasijėmė %1 +02:01=%1 dingo jūroj +02:01=%1 galejo atsinešti nardimo iranga +02:01=%1 ira palaidotas jūroje +02:01=%1 turi skendimo jausma +02:01=%1 praktikuoja savo plaukimo teknika +02:01=%1 eina ieškoti titaniko +02:01=%1 nera Jėzus +02:01=%1 ieško Nemo +02:01=%1 neria ant galvos +02:01=Turi pamastyti kiek ten daug ežiu +02:01=%1 padidina jūra +02:01=%1 nebuvo itrauktas i Navy +02:01=%1 mimikuoja mirusia žuvi +02:01=Bent jau nenuėjai žemyn tuoletu, %1 +02:01=Sonikas nemokėjo plaukti nemokėjo ir %1 +02:01=%1 nori žaisti delfinus +02:01=%1 nuejo i Aquaria +02:01=%1 rado prarasta atlantijos miesta +02:01=%1 bando pajimti pagrindini vaidmeni Bioshock 3 +02:01=Tavo šuniuko stylius galėtu panaudoti šiek tiek daugiau praktikos, %1 +02:01=%1 galėjo atsinešti laiva +02:01=%1 nepatinka vandens sportas +02:01=%1 visada pucia burbulus +02:01=%1 užkliuvo už dumblio +02:01=%1 galvoja kad druskinas vanduo ira gerai odai +02:01=%1 gavo druskino vandens i žaisdas +02:01=%1 ėjo lenta +02:01=%1 nusiprausė +02:01=%1 ira šlapias šlapias šlapias +02:01=%1 nugurguliavo +02:01=Ir sakei kad nereikia plafkiu %1 + +; Round starts +02:02=Kaunamės! +02:02=Užsitaise ir pasiruoše! +02:02=Pasiruoškite karui! +02:02=Kas pasiruošes veiksmui! +02:02=Pradedam ši vakarėli +02:02=Paskutinis stovintis ežys laimi +02:02=Varom! +02:02=Išsitaškom! +02:02=Judam! +02:02=Tai prasideda... +02:02=Tai kažko tikrai didelis startas +02:02=Sveiki atvyke i ežiu karus +02:02=Sveiki atvyke i karo lauka +02:02=Sutraiškikit savo priešus! +02:02=Tegul geriausias ežys laimi +02:02=Pergalė arba Mirtis +02:02=Laimėtojas gaus torta +02:02=Pralošimas nėra pasirinkimas +02:02=VAROOOOOM! +02:02=Ežiu karai, pristatyta jums nuo Hedgewars.org +02:02=GL HF +02:02=Džiaukis kad tau nereikės kovoti prieš Tiyuri +02:02=Džiaukis kad tau nereikės kovoti prieš unC0Rr +02:02=Džiaukis kad tau nereikės kovoti prieš Nemo +02:02=Džiaukis kad tau nereikės kovoti prieš Smaxx +02:02=Džiaukis kad tau nereikės kovoti prieš Uncharted +02:02=Parodyk ka sugebi! +02:02=Pralaimėtojai viska išvalo! +02:02=Pradėkime šia amžiaus kova +02:02=Pradėkime šia legendine kova +02:02=Pradėkime šia nuožmia kova +02:02=Pradėkime šia metu kova +02:02=Pradėkime šia mėnesio kova +02:02=Pradėkime šia savaitės kova +02:02=Pradėkime šia dienos kova +02:02=Pradėkime šia valandos kova +02:02=Išspausk save iki limito! +02:02=Nugalėk prieša! +02:02=Sėkmės +02:02=Pasilinksmink +02:02=Kaukis geroje kovoje +02:02=Kovok negražiai +02:02=Kaukis su garbe +02:02=Nepasiduok +02:02=Niekada nepasiduok +02:02=Išdrapstik ir sutraiškyk! +02:02=Pradėkime šia beprotiška kova! +02:02=Tikiuosi kad tu pasiruošes pavargti! +02:02=Varom Varom Varom! +02:02=Judam ežiai! +02:02=Pristatyk jiem tai! +02:02=Nebijok! +02:02=Buk drasus ir laimėk + +; Round ends (win; unused atm) +02:03=... + +; Round ends (draw; unused atm) +02:04=... + +; New Health Crate +02:05=Atskrenda pagalba! +02:05=Medikas! +02:05=Pagalba iš dangaus! +02:05=Givybės dėžė tau +02:05=Gera givybė... Dėžės formoi! +02:05=Woho! +02:05=Nauji lipdukai! +02:05=Štai tai tau padės geriau jaustis +02:05=Givybės šaltinis! +02:05=Tai turėtu pagelbėti! +02:05=Čiupk tai +02:05=Sveikas užkandis +02:05=Vaistai skausmui +02:05=Gerk tik: Tiek kiek gali surasti! +02:05=Siuntinis jums +02:05=Yay! + +; New ammo crate +02:06=Daugiau ginklu! +02:06=Pastiprinimas! +02:06=Užsitaisom ir pasiruošiam! +02:06=Idomu koks ten ginklas? +02:06=Dėžės! +02:06=Kas galėtu buti viduje? +02:06=Kalėdos ateina anksti ežiu karuose +02:06=Dovana! +02:06=Specialus Pristatymas! +02:06=Buvo sunku pranešti pro apsauga.. +02:06=Naikinantis ginklai iš dangaus +02:06=Sprogstancios medziagos viduje +02:06=Pajimk tai arba susprogdink tavo pasirinkimas +02:06=Jega! +02:06=Mmmmm Kulkos +02:06=Dėžė! +02:06=Oro Paštas! +02:06=Kad ir kas bebutu šitoje dežėje tai ne pica +02:06=Pajimk tai! +02:06=Ginklai Ginklai Ginklai +02:06=Neleisk Priešui To Pajimti! +02:06=Blizgantis Nauji Žaislai! +02:06=Paslaptinga Dėžė! + +; New utility crate +02:07=Irankiu Laikas! +02:07=Tai Gali Praversti... +02:07=Naudingi Irankiai! +02:07=Išnaudok Šia Dėže +02:07=Atsargiai Žemiau +02:07=Dar Daugiau Naudingu Irankiu! +02:07=Irankiai tau! +02:07=Tai Turėtu Buti Gera! +02:07=Naudok Tai Išmintingai +02:07=Ooo Sunki Dėžė +02:07=Tau Gali Šito Prireikti + +; Hog (%1) skips his turn +02:08=%1 ira toks nuobodus... +02:08=%1 net nesumirksėjo +02:08=%1 ira vienas tingus ežys +02:08=%1 ira tusčiagalvis +02:08=%1 pasidave +02:08=Tu miegi tu praloši, %1 +02:08=%1 gedingai praleidžia eile +02:08=%1 ira tikrai tingus +02:08=%1 reikėtu daugiau motivacijos +02:08=%1 ira pacifistas +02:08=%1 atsiduso +02:08=%1 pailsi +02:08=%1 atostogauja +02:08=%1 netiki savo galimybėmis +02:08=%1 nusprendė apsoluciai nieko nedaryti +02:08=%1 leidžia priešui susinaikinti pačiam +02:08=%1 butu niekam tikes vakarėliuose +02:08=%1 pasislepė +02:08=%1 praleido savo šansa +02:08=%1 nusprendė kad geriausias dalykas kuri jis gali daryti ira niekas +02:08=%1 ira bailys +02:08=Puck Puck Puck, %1 ira visčiukas +02:08=%1 atrodo truputi geltonas +02:08=%1 ira didelis bailys! +02:08=%1 laukia maro +02:08=%1 ira ne kovojimo tipo +02:08=%1 pergalvoja savo prasme gyvenime +02:08=%1 ir taip niekada nešaudė taikliai +02:08=%1 nenorėjo eiti i armija pirmoje vietoje +02:08=Baik švaistyti musu laika, %1 +02:08=Aš nusiviliau tavimi, %1 +02:08=Nagi tu gali geriau %1 +02:08=%1 palužo +02:08=%1 turi ka veikti ir be kovojimo +02:08=%1 persigando +02:08=%1 užmigo + +; Hog (%1) hurts himself only +02:09=%1 turėtu treniruoti taikluma! +02:09=%1 nekenčia saves +02:09=%1 stovi netoje pusėje! +02:09=%1 pasielgė kaip emo +02:09=%1 netaip laikė ginkla +02:09=%1 mėgsta save žaloti +02:09=%1 leidžia priešui mėgautis jo faillu +02:09=%1 neprižiuri saves +02:09=%1 susivarė +02:09=%1 susimovė +02:09=Nekoks šuvis, %1 +02:09=%1 galėtu buti atsargesnis su pavojingais ginklais +02:09=%1 turėtu pakeisti karjera +02:09=Blogiausias. Šuvis. Gyvenime! +02:09=Ne ne ne %1, šauk i PRIEŠA! +02:09=%1 turėtu naikinti tik prieša +02:09=%1 artėja prie savizudybės +02:09=%1 padeda priešui +02:09=Tai buvo kvaila %1 +02:09=%1 Palauk KA?? +02:09=%1 susimaišė +02:09=%1 sužaloja save +02:09=%1 myli žeminti save +02:09=%1 ira durnelis! +02:09=%1 neatsargus +02:09=%1 parodo priešui ka sugeba +02:09=%1 sumaišė ataka su šuoliu +02:09=Nesijaudink %1, Nikas Ninuostabus +02:09=%1 taip pasielgė specialiai +02:09=Aš niekam nesakysiu jeigu tu nesakysi, %1 +02:09=Kaip gėdinga! +02:09=Aš tikras kad niekas to nematė %1 +02:09=%1 turėjo perskaityti manuala +02:09=%1 ginklas tikrai sugedo + +; Hog shot an home run (using the bat and another hog) +02:10=Koks smugis! +02:10=Tai Paukštis Tai Lėktuvas... +02:10=Šitas iškrito! + +; Hog (%1) has to leave (team is gone) +02:11=%1 turi eiti i lova! +02:11=%1 atrodo per daug užsijėmes kad galėtu žaisti +02:11=išsigando! +02:11=%1 turi eiti + +; Weapon Categories +03:00=Granata Su Laikmačiu +03:01=Granata Su Laikmačiu +03:02=Balistinis Ginklas +03:03=Vadovautas Ginklas +03:04=Ginklas (Keleta Šuviu) +03:05=Kasimosi Irankis +03:06=Veiksmas +03:07=Transporto Priemonė +03:08=Artumo Bomba +03:09=Ginklas (Keleta Šuviu) +03:10=BOOM! +03:11=Bonk! +03:12=Kovos Menai +03:13=UNUSED +03:14=Transporto Priemonė +03:15=Aviacinė Ataka +03:16=Aviacinė Ataka +03:17=Kasimosi Irankis +03:18=Naudingas Irankis +03:19=Transporto Priemonė +03:20=Veiksmas +03:21=Balistinis Ginklas +03:22=Vadink Mane Indiana! +03:23=(Tikrai) Kovos Menai +03:24=Tortas NĖRA melas! +03:25=Kostiumas +03:26=Sultinga Granata +03:27=Liepsnojanti Granata +03:28=Balistinis Ginklas +03:29=Balistinis Ginklas +03:30=Aviacinė Ataka +03:31=Pulteliu Valdoma Bomba +03:32=Laikinas Efektas +03:33=Laikinas Efektas +03:34=Laikinas Efektas +03:35=Laikinas Efektas +03:36=Laikinas Efektas +03:37=Laikinas Efektas +03:38=Ginklas (Keleta Šuviu) +03:39=Transporto Priemonė +03:40=Deginanti Granata +03:41=Paukščiukas +03:42=Dimensijos... +; the misspelled "Beethoven" is intentional (-> to beat) +03:43=Atliekant Mirtina Nata +03:44=Geriausias Prieš: 1923 +03:45=Mokslo Galia +03:46=Karšta Karšta Karšta! +03:47=Prilipdyk Jas Kur Nors Naudingai! +03:48=Kūjio laikas! +03:49=Daro ka ir galvoji +03:50=Kurmio Fanas +03:51=Rastas Ant Žemės +03:52=UNUSED +03:53=Tipas 40 +03:54=Pastatyk Ka Nors + +; Weapon Descriptions (use | as line breaks) +04:00=Atakuok savo priešus su paprasta granata.|Ji sprogs kaip jos laikmatis pasieks nuli.|1-5: Nustatyk granatos laikmati|Ataka: Laikyk kad mestum stipriau +04:01=Atakuok savo priešus naudodamas klasterine granata.|Ji pasiskirstis i mažesnes bombas kaip jos|laikmatis pasieks nuli.|1-5: Nustato granatos laikmati|Ataka: Laikyk kad mestum stipriau +04:02=Atakuok savo priešus paleisdamas balistini objekta|kuris gali buti valdomas vėjo.|Ataka: Laikyk kad šautum stipriau +04:03=Paleisk sprogstančia bite kuri seks prieša|arba pasirinkta taikini. Nešauk su pilna jėga|nes tai gadina taikluma.|Pelė: Pasirink taikini|Ataka: Laikyk kad šautum stipriau +04:04=Atakuok savo priešus naudodamas šratini šautuva.|Ačiu jo pasiskirstimui tau nereikia nusitaikity tiesiai i prieša|kad padarytum žalos.|Ataka: Šauna (Keleta Kartu) +04:05=Judėk po žeme naudok kasimo iranga|kad galėtum nusileisti i tuneli arba i kita vietove.|Ataka: Pradėti ir nustoti kasima +04:06=Nusibodo? Nėra Kaip Pulti? Taupai Kulkas?|Jokiu Problemu! Tiesiog praleisk savo eile, baily!|Ataka: Praleidžia tavo eile be veiksmo +04:07=Nuvaryk toli ir greitai|su virve. Numesk ežius i vandeni|arba numesk ant ju granata arba panašius ginklus.|Ataka: Šauk arba atleisk virve|Ilgas Šuolis: Meta granatas arba panašius ginklus +04:08=Laikyk savo priešus kuo toliau numesdamas|mina siauruose praėjimuose arba prie ju kojiu. Tik|buk tikras kad pabėgsi kad pats jos neaktyvuotum!|Ataka: Meta mina tau prie kojiu +04:09=Neesi tikras apie savo taikluma? Naudok pistoleta|su keturiais šuviais.|Ataka: Šauti (Keleta Kartu) +04:10=Stipri ataka visada pasirinkimas. Numesk ši|klasikini sprogmeni priešui prie kojiu ir atsitrauk.|Ataka: Mesk dinamita prie savo kojiu +04:11=Atsikratyk priešo ežiu nudauždamas juos|per vietove i vandeni. Arba|Nudaužk keleta minu savo draugams|Ataka: Daužia viska prieš tave +04:12=Prieik arti priešininko ir paleisk šia|beveik mirtina kovos menu teknika.|Ataka: Padaryk nuostabuji shoryukena. +04:13=UNUSED +04:14=Bijai Aukščiu? Geriau griebk parašiuta.|Jis išsiskleis|kaip busi arti žemės|išsaugok savo eži ir saugiai nusileisk.|Ataka: Išskleidžia parašiuta|Ilgas Šuolis: Meta granatas arba panašius ginklus +04:15=Pakviesk oro streika|kuris paleis linija bombu.|I Kaire/I Dešine: Atakos pusė|Pelė: Pasirink savo taikini +04:16=Iškviesk lėktuva kuris išmes|minu i parinkta vietove.|I Kaire/I Dešine: Atakos pusė|Pelė: Pasirink savo taikini +04:17=Reikia apsaugos? Naudok šia kasimo iranga|kad pasidarytum tuneli kuris tave|pridengs.|Ataka: Pradėk arba nustok kasti +04:18=Reikia apsaugos ar nori pereiti nepereinama vietove?|Padėk keleta platformu ir iveik kliūtis|I Kaire/I Dešine: Pasirink platforma|Pelė: Padėk platforma +04:19=Panaudota teisingu momentu ji gali išgelbėti tavo ežy|tai teleportacija|naudok išmintingai.|Pelė: Pasirink kur teleportuotis +04:20=Leidžia tau pasikeisti ežy|Ataka: Ijunk ežiu keitimasi +04:21=Šauk sviedini kuris sprogs i daugiau bombu|kaip ka nors palies.|Ataka: Šauna pilna jėga +04:22=Netik Indianui Džonsui! Botagas|ira naudingas ginklas dauguma situacijiu. Ipač|kaip norėtum numesti ka nors nuo kalno.|Ataka: Daužk viska priešais tave +04:23=Jeigu neturi ka prarasti,tai gali praversti.|Paaukok ežy leisdamas ji i priešus.|Ataka: Paleisk mirtna ataka +04:24=Su Gimtadieniu! Paleisk ši torta, leisk jam nueiti|arti tavo priešu ir duok jiems sprogstanti vakarėli|tortas praeina visas vietoves tik ant jo ira laikmatis taigi paskubėk.|Ataka: Pradėk torta arba leisk jam nutupti ir sprogti +04:25=Naudok ši kostiuma kad priviliotum priešo ežius ir jie pašoktu iki taves|taip tu gali juos ivilioti i duobes ar kur tik nori.|Ataka: Naudok ši kostiuma ir bandyk suvilioti kita ežy +04:26=Mesk ši sultinga arbūza i savo priešus.|Kaip laikas pasibaigs jis išsiskirstis i arbūzo skiltelias.|1-5: Nustatyk bombos laika|Ataka: Laikyk kad mestum stipriau +04:27=Leisk savo priešams degti pragaro liepsnoje|naudojant šia pragariška granata. Don't get too close to|the explosion as smaller fires might last longer.|Attack: Hold to shoot with more power +04:28=Kaip paleisi šia raketa i žeme|ji pradės kastis ir susprogs|ji sprogsta po kiek laiko arba kaip nebera zemės|Ataka: Laikyk kad šautum stipriau +04:29=Tai ne vaiku žaislas! Kamuoliu ginklas|išauna tona spalvotu kamuoliuku kurie sprogsta.|Ataka: Šauna pilna galia|I Viršu/I Apačua: Nuolatinis nusitaikimas +04:30=Pakviesk napalma.Jis išdegins viska kas tik trugdys|ir padarys daug žalos|tik atsargiai ugnis reguoja i vėji.|I Kaire/I Dešine: Atakos pusė|Pelė: Pasirink savo taikini +04:31=RBV Lėktuvėlis ira puikus ginklas rinkti dėžėms|pulti tolimus ežius.Gali numesti bombu|ir i juos atsitrenkti.|Ataka: Paleisti lėktuva arba mesti bombas|Ilgas Šuolis: Paleidžia dramatine muzika|I Kaire/I Dešine: Valdyk lėktuvėli +04:32=Maža gravitacija ira efektyviau negu dieta! Šok|aukščiau ir toliau arba leisk savo priešam skristi dar toliau.|Ataka: Aktyvuoti +04:33=Kartais tau reikia pagalbos padaryti daugiau žalos.|Ataka: Aktyvuoti +04:34=Negalite manes paliesti!|Ataka: Aktyvuoti +04:35=Kartais laikas bėga per daug greitai.Pačiupk ekstra|sekundžiu kad pabaigtum savo ataka.|Ataka: Aktyvuoti +04:36=Na, kartais tu tiesiog blogas taiklume.Gauk modernios pagalbos.|Ataka: Aktyvuoti +04:37=Nebijok dienos šviesos. Tai galios tik viena eile|bet aktyvuos pasigydima nuo žalios kokia padarai|kitiem ežiam.|Ataka: Aktyvuoti +04:38=Snaiperis gali buti pats pavojingiausias ginklas|visame tavo arsenale, gaila kad jis niekam tikes iš arti.|Taigi iš kuo toliau šauni tuo daugiau žalos padarai|Ataka: Šauna (Keleta Kartu) +04:39=Skrisk i kitas žemėlapio vietas.|Skraidanti lėkštė gali nunešti tave kur tik pageidauji|tik ja sunku ivaldyti.|Ataka: Aktivuok|I viršu/I Kaire/I Dešine: Spaudinėk lėtai|Ilgas šuolis: Mes granatas arba panašius ginklus +04:40=Padegink vietove |su buteliu pripildytu degančiu skysčiu.|Ataka: Laikyk kad mestum stipriau +04:41=Tai kažkas keistesnio už skrendančias lėkštes tai valdomas paukštis.|Paukščiukas nešioja tavo ežy po žemėlapi|ir meta kiaušinius ant tavo priešu!|Ataka: Aktyvuoja ir meta kiaušinius|I Viršu/I Kaire/I Dešine: Valdyk paukšti +04:42=Šitas nešiojimas teleportacijos irankis|gali teleportuoti ir tave ir tavo priešus per visa žemėlapi|ir leidžia tau imesti i ji visokius ginklus|Naudok ji išmintingai|IR LAIMĖSI!|Ataka: Šauk Portala|Jungiklis: Rinkis portalo spalvas +04:43=Mesk milziniska pienina ant savo priešu galvu!|Bet atsargiai|Tai gali kainuoti tau tavo gyvibe|Pelė: Pasirink taikini |F1-F9: Grok Pianu +04:44=Tai ne tik suris, tai tikrai senas suris!|Jis nepadarys daug žalos|bet kaip laikmatis pasieks nuli jis |užnuodis visus kurie pajaučia kvapa!|1-5: Nustatyk granatos laikmati|Ataka: Laikyk kad mestum stipriau +04:45=Visos tos psyhikos klasės pagaliau atsimokėjo|Paleisk smarkia vėjo banga|i savo priešus.|Atsargiai, šitas ginklas nejuokauja. (Šitas Ginklas Dar Nebaigtas)|Ataka: Šauna +04:46=Apdenk savo priešus ugnies apvalkalu.|Karštoka!|Ataka: Aktivuok|I Viršu/I apačia: Nenustok taikitis |Kaire/Dešinė: Perstatyk spjovimo galia +04:47=Dvigubai idomiau Su dviem lipniom minom!|Padaryk grandine reakcija arba apsigink save (arba abu!)|Ataka: Laikyti kad mestum stipriau (dvigubai) +04:48=Kūjis netik viniui ikalti bet ir|daužti ežiui per galva|nujima priešininko gyvibe ir dar numuša ji i žeme.|Ataka: Aktivuoti +04:49=Atgaivink Savo Draugus!|Bet atsargiai tai atgaivina ir tavo priešus.|Ataka: Laikyk paspaudes ataka kad atgaivintum lėtai|I Viršu: Pagreitina atgaivinima + +; Game goal strings +05:00=Žaidimo režimai +05:01=Taikomos šios taisyklės +05:02=Fortai: Gink savo forta; nugalėk savo priešus! +05:03=Maža gravitacija: Žėk kur eini! +05:04=Nemirtingumas: Ežiai ira (beveik) nemirtingi +05:05=Vampirizmas: Ežiai bus pagyditi su žala kuria jie padaro +05:06=Karma: Priešo ežiai nukentės taip pat kaip ir tavo +05:07=Apgink Karali: Neleisk savo karaliui mirti!|Padėk karali: Pasirink apginta startavimo pozicija savo karaliui +05:08=Padėk Ežius: Padėk savo ežius prieš žaidima +05:09=Artilerija: Ežiai negali vaiksčioti +05:10=Nesunaikinoma Vietovė: Daugiausia ginklu nesunaikins vietovės +05:11=Pasidalintos Kulkos: Visos komandos tomis pačiomis spalvomis pasidalina kulkomis +05:12=Minu Laikmačiai: Minos detonuosis po %1 second(s) +05:13=Minu Laikmačiai: Minos detonuosis iškart +05:14=Minu Laikmačiai: Minos detonuosis po 0 - 5 sekundžiu +05:15=Žalos Modifikatorius: Visi ginklai darys %1% žalos +05:16=Visu ežiu gyvibės atsitato kaip baigi eile +05:17=AI Ežiai atsikelia po mirties +05:18=Nesibaigiančios Atakos +05:19=Ginklai atstatyti kaip baigi eile +05:20=Ginklai nesidalinami tarp ežiu +05:21=Komandinis Režimas: Komandos klane visi juda po eile|Pasidalintas laikas: Komandos klane pasidalina laiku \ No newline at end of file diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Scripts/Locale.lua --- a/share/hedgewars/Data/Scripts/Locale.lua Sun Aug 21 22:18:54 2011 +0200 +++ b/share/hedgewars/Data/Scripts/Locale.lua Sun Aug 21 22:20:20 2011 +0200 @@ -1,9 +1,14 @@ -- Library for localizing strings in lua scripts -local lang = loadfile(GetDataPath() .. "Locale/" .. tostring(L) .. ".lua") +local lang = loadfile(GetUserDataPath() .. "Locale/" .. tostring(L) .. ".lua") if lang ~= nil then lang() +else + lang = loadfile(GetDataPath() .. "Locale/" .. tostring(L) .. ".lua") + if lang ~= nil then + lang() + end end function loc(text) diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua Sun Aug 21 22:18:54 2011 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua Sun Aug 21 22:20:20 2011 +0200 @@ -5,7 +5,7 @@ --------------------------------------------------- --------------------------------------------------- --------------------------------------------------- ---- Space Invasion Code Follows (0.7) +--- Space Invasion Code Follows (0.8) --------------------------------------------------- --------------------------------------------------- -- VERSION HISTORY @@ -100,6 +100,12 @@ --(during the length of the game) aka non-repeatable -- 10/25/50 kills (+25/+50/+100 points) +----------------- +--0.8 +----------------- +-- added a HUD for turntimeleft, ammo, shield +-- shieldhealth hits 0 properly + -------------------------- --notes for later -------------------------- @@ -242,6 +248,7 @@ local Timer100 = 0 +local vTag = {} ----------------------------------------------- -- CIRCLY GOODIES @@ -290,6 +297,58 @@ -- some lazy copypasta/modified methods ------------------------------------------- + + +function HideTags() + + for i = 0, 3 do + SetVisualGearValues(vTag[i],0,0,0,0,0,1,0, 0, 240000, 0xffffff00) + end + +end + +function DrawTag(i) + + zoomL = 1.3 + + xOffset = 40 + + if i == 0 then + yOffset = 40 + tCol = 0xffba00ff + tValue = TimeLeft + elseif i == 1 then + zoomL = 1.1 + yOffset = 70 + tCol = 0x00ff00ff + tValue = primShotsLeft + elseif i == 2 then + zoomL = 1.1 + xOffset = 40 + 35 + yOffset = 70 + tCol = 0xa800ffff + tValue = shieldHealth - 80 + end + + DeleteVisualGear(vTag[i]) + vTag[i] = AddVisualGear(0, 0, vgtHealthTag, 0, false) + g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(vTag[i]) + SetVisualGearValues ( + vTag[i], --id + -(ScreenWidth/2) + xOffset, --xoffset + ScreenHeight - yOffset, --yoffset + 0, --dx + 0, --dy + zoomL, --zoom + 1, --~= 0 means align to screen + g7, --frameticks + tValue, --value + 240000, --timer + tCol --GetClanColor( GetHogClan(CurrentHedgehog) ) + ) + +end + function RebuildTeamInfo() -- make a list of individual team names @@ -597,6 +656,7 @@ else AddCaption(loc("Ammo") .. ": " .. primShotsLeft) end + DrawTag(1) CopyPV(CurrentHedgehog, morte) -- new addition x,y = GetGearVelocity(morte) @@ -689,6 +749,13 @@ HealthCaseProb = 0 MinesNum = 0 Explosives = 0 + + for i = 0, 3 do + vTag[0] = AddVisualGear(0, 0, vgtHealthTag, 0, false) + end + + HideTags() + end function onGameStart() @@ -768,6 +835,9 @@ tumbleStarted = false SetMyCircles(false) end + + HideTags() + --------------- --------------- --AddCaption("num g: " .. numGears() ) @@ -804,7 +874,7 @@ if beam == true then shieldHealth = shieldHealth - 1 - if shieldHealth <= 80 then + if shieldHealth < 80 then -- <= 80 shieldHealth = 80 beam = false AddCaption(loc("Shield Depleted"),0xff0000ff,capgrpMessage) @@ -850,6 +920,9 @@ TimeLeft = (TurnTime/1000) --45 FadeAlpha = 0 AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), gtGrenade, 0, 0, 0, 1) + DrawTag(0) + DrawTag(1) + DrawTag(2) SetMyCircles(true) end end @@ -868,6 +941,7 @@ if TimeLeft >= 0 then --AddCaption(LOC_NOT("Time Left: ") .. TimeLeft) + DrawTag(0) end end @@ -893,6 +967,7 @@ leftOn = false rightOn = false SetMyCircles(false) + HideTags() --nw WriteLnToConsole("Player is out of luck") if shieldMiser == true then @@ -1206,6 +1281,7 @@ PlaySound(sndHellishImpact4) TimeLeft = TimeLeft + 4 AddCaption(loc("Time Extended!") .. "+" .. 4 .. loc("sec"), 0xff0000ff,capgrpMessage ) + DrawTag(0) morte = AddGear(vCircX[i], vCircY[i], gtExplosives, 0, 0, 0, 1) SetHealth(morte, 0) @@ -1223,6 +1299,7 @@ PlaySound(sndShotgunReload) primShotsLeft = primShotsLeft + 3 AddCaption("+" .. 3 .. " " .. loc("Ammo"), 0x00ff00ff,capgrpMessage) + DrawTag(1) GK = GK + 1 if GK == 3 then @@ -1252,6 +1329,7 @@ shieldHealth = 250 AddCaption(loc("Shield is fully recharged!"),0xa800ffff,capgrpMessage) end + DrawTag(2) OK = OK + 1 if OK == 3 then @@ -1815,6 +1893,7 @@ g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(pShield) --SetVisualGearValues(pShield, GetX(CurrentHedgehog), GetY(CurrentHedgehog), g3, g4, g5, g6, g7, 200, g9, g10 ) SetVisualGearValues(pShield, GetX(CurrentHedgehog), GetY(CurrentHedgehog), g3, g4, g5, g6, g7, 200, g9, 0xa800ffff-0x000000ff - -shieldHealth ) + DrawTag(2) else SetVisualGearValues(pShield, GetX(CurrentHedgehog), GetY(CurrentHedgehog), g3, g4, g5, g6, g7, 0, g9, g10 ) end diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Themes/Golf/Chunk.png Binary file share/hedgewars/Data/Themes/Golf/Chunk.png has changed diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Themes/Golf/Sky.png Binary file share/hedgewars/Data/Themes/Golf/Sky.png has changed diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Themes/Golf/SkyL.png Binary file share/hedgewars/Data/Themes/Golf/SkyL.png has changed diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Themes/Golf/SkyR.png Binary file share/hedgewars/Data/Themes/Golf/SkyR.png has changed diff -r 06558ee35f51 -r 4ad07103cfae share/hedgewars/Data/Themes/Golf/horizont.png Binary file share/hedgewars/Data/Themes/Golf/horizont.png has changed