# HG changeset patch # User Henek # Date 1296332169 -3600 # Node ID 7cddc9201a1d50df5bc575025f2ccc0f351ff603 # Parent b4c84db92d8ff19910cd8809932408dd341708c9 added dummy for tardis and ugly icons for tardis and structure also added ability to add goals for lua, but forgot it so might not work diff -r b4c84db92d8f -r 7cddc9201a1d QTfrontend/hwconsts.cpp.in --- a/QTfrontend/hwconsts.cpp.in Sat Jan 29 14:54:08 2011 -0500 +++ b/QTfrontend/hwconsts.cpp.in Sat Jan 29 21:16:09 2011 +0100 @@ -37,10 +37,10 @@ int cMaxTeams = 6; QString * cDefaultAmmoStore = new QString( - "9391929422199121032235111001201000000211110101011129" - "0405040541600655546554464776576666666155510101115411" - "0000000000000205500000040007004000000000200000000600" - "1311110312111111123114111111111111111211111101111121" + "93919294221991210322351110012010000002111101010111299" + "04050405416006555465544647765766666661555101011154111" + "00000000000002055000000400070040000000002000000006000" + "13111103121111111231141111111111111112111111011111211" ); int cAmmoNumber = cDefaultAmmoStore->size() / 4; @@ -49,40 +49,40 @@ << qMakePair(QString("Default"), *cDefaultAmmoStore) << qMakePair(QString("Crazy"), QString( // TODO: Remove Piano's unlimited uses! - "999999999999999999299999999999999929999999990999999" - "111111011111111111111111111111111111111111110111111" - "000000000000000000000000000000000000000000000000000" - "131111031211111112311411111111111111121111010111111" + "99999999999999999929999999999999992999999999099999922" + "11111101111111111111111111111111111111111111011111111" + "00000000000000000000000000000000000000000000000000000" + "13111103121111111231141111111111111112111101011111111" )) << qMakePair(QString("Pro Mode"), QString( - "909000900000000000000900000000000000000000000000000" - "000000000000000000000000000000000000000000000000000" - "000000000000020550000004000700400000000020000000000" - "111111111111111111111111111111111111111110010111111" + "90900090000000000000090000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000" + "00000000000002055000000400070040000000002000000000000" + "11111111111111111111111111111111111111111001011111111" )) << qMakePair(QString("Shoppa"), QString( - "000000990000000000000000000000000000000000000000000" - "444441004424440221011212122242200000000200040001001" - "000000000000000000000000000000000000000000000000000" - "111111111111111111111111111111111111111110110111111" + "00000099000000000000000000000000000000000000000000000" + "44444100442444022101121212224220000000020004000100111" + "00000000000000000000000000000000000000000000000000000" + "11111111111111111111111111111111111111111011011111111" )) << qMakePair(QString("Clean Slate"),QString( - "101000900001000001100000000000000000000000000000100" - "040504054160065554655446477657666666615551010111541" - "000000000000000000000000000000000000000000000000000" - "131111031211111112311411111111111111121111110111111" + "10100090000100000110000000000000000000000000000010000" + "04050405416006555465544647765766666661555101011154111" + "00000000000000000000000000000000000000000000000000000" + "13111103121111111231141111111111111112111111011111111" )) << qMakePair(QString("Minefield"), QString( - "000000990009000000030000000000000000000000000000000" - "000000000000000000000000000000000000000000000000000" - "000000000000020550000004000700400000000020000000060" - "111111111111111111111111111111111111111111110111111" + "00000099000900000003000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000" + "00000000000002055000000400070040000000002000000006000" + "11111111111111111111111111111111111111111111011111111" )) << qMakePair(QString("Thinking with Portals"), QString( - "900000900200000000210000000000000011000009000000000" - "040504054160065554655446477657666666615551010111541" - "000000000000020550000004000700400000000020000000060" - "131111031211111112311411111111111111121111110111111" + "90000090020000000021000000000000001100000900000000000" + "04050405416006555465544647765766666661555101011154111" + "00000000000002055000000400070040000000002000000006000" + "13111103121111111231141111111111111112111111011111111" )); QColor *colors[] = { diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uAIAmmoTests.pas --- a/hedgewars/uAIAmmoTests.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uAIAmmoTests.pas Sat Jan 29 21:16:09 2011 +0100 @@ -105,6 +105,7 @@ (proc: nil; flags: 0), // amResurrector (proc: nil; flags: 0), // amDrillStrike (proc: @TestSnowball; flags: 0), // amSnowball + (proc: nil; flags: 0), // amTardis (proc: nil; flags: 0) // amStructure ); diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uGears.pas Sat Jan 29 21:16:09 2011 +0100 @@ -520,7 +520,6 @@ gear^.nImpactSounds:= 1; gear^.Radius:= 13; gear^.Elasticity:= _0_3; - gear^.Timer:= 5000; gear^.Health:= 50; end; end; diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uGearsRender.pas Sat Jan 29 21:16:09 2011 +0100 @@ -944,7 +944,6 @@ DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0); end; gtSwitcher: DrawSprite(sprSwitch, x - 16, y - 56, (GameTicks shr 6) mod 12); - gtStructure, gtTarget: begin Tint($FF, $FF, $FF, round($FF * Gear^.Timer / 1000)); DrawSprite(sprTarget, x - 16, y - 16, 0); @@ -1025,6 +1024,7 @@ //DrawRotatedF(sprFlake, x-SpritesData[sprFlake].Width div 2, y-SpritesData[sprFlake].Height div 2, Gear^.Timer, 1, Gear^.DirAngle); DrawRotatedF(sprFlake, x, y, Gear^.Timer, 1, Gear^.DirAngle) end; + gtStructure: DrawSprite(sprTarget, x - 16, y - 16, 0); end; if Gear^.RenderTimer and (Gear^.Tex <> nil) then DrawCentered(x + 8, y + 8, Gear^.Tex); diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uScript.pas --- a/hedgewars/uScript.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uScript.pas Sat Jan 29 21:16:09 2011 +0100 @@ -1307,6 +1307,8 @@ ScriptSetString('Map', ''); ScriptSetString('Theme', ''); +ScriptSetString('Goals', ''); + ScriptCall('onGameInit'); // pop game variables @@ -1330,6 +1332,7 @@ ParseCommand('map ' + ScriptGetString('Map'), true); if ScriptGetString('Theme') <> '' then ParseCommand('theme ' + ScriptGetString('Theme'), true); +LuaGoals:= ScriptGetString('Goals'); if ScriptExists('onAmmoStoreInit') then begin diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uTypes.pas --- a/hedgewars/uTypes.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uTypes.pas Sat Jan 29 21:16:09 2011 +0100 @@ -116,7 +116,7 @@ amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 - amResurrector, amDrillStrike, amSnowball, amStructure); + amResurrector, amDrillStrike, amSnowball, amTardis, amStructure); TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); @@ -351,7 +351,7 @@ sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime, sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack, sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, sidSineGun, sidFlamethrower, - sidSMine, sidHammer, sidResurrector, sidDrillStrike, sidSnowball, sidNothing, sidStructure); + sidSMine, sidHammer, sidResurrector, sidDrillStrike, sidSnowball, sidNothing, sidTardis, sidStructure); TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused, sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uVariables.pas --- a/hedgewars/uVariables.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uVariables.pas Sat Jan 29 21:16:09 2011 +0100 @@ -148,6 +148,8 @@ hiTicks: Word; + LuaGoals : shortstring; + const cHHFileName = 'Hedgehog'; cCHFileName = 'Crosshair'; @@ -2002,6 +2004,34 @@ ejectX: 0; ejectY: 0), +// Tardis (just a copy of teleport til nemo arives) + (NameId: sidTardis; + NameTex: nil; + Probability: 200; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or + ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut or + ammoprop_Utility or + ammoprop_DontHold; + Count: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amTardis; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 2; + PosSprite: sprAmTeleport; + ejectX: 0; + ejectY: 0), + // Structure (NameId: sidStructure; NameTex: nil; @@ -2324,6 +2354,8 @@ vobSDCount:= 30 * cScreenSpace div LAND_WIDTH; vobSDVelocity:= 0; vobSDFallSpeed:= 0; + + LuaGoals:= ''; end; procedure freeModule; diff -r b4c84db92d8f -r 7cddc9201a1d hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Sat Jan 29 14:54:08 2011 -0500 +++ b/hedgewars/uWorld.pas Sat Jan 29 21:16:09 2011 +0100 @@ -122,6 +122,9 @@ // if special game flags/settings are changed, add them to the game mode notice window and then show it g:= ''; // no text/things to note yet +// add custom goals from lua script if there are any +if LuaGoals <> '' then g:= LuaGoals + '|'; + // check different game flags (goals/game modes first for now) g:= AddGoal(g, gfKing, gidKing); // king? diff -r b4c84db92d8f -r 7cddc9201a1d share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png has changed diff -r b4c84db92d8f -r 7cddc9201a1d share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png has changed diff -r b4c84db92d8f -r 7cddc9201a1d share/hedgewars/Data/Locale/en.txt --- a/share/hedgewars/Data/Locale/en.txt Sat Jan 29 14:54:08 2011 -0500 +++ b/share/hedgewars/Data/Locale/en.txt Sat Jan 29 21:16:09 2011 +0100 @@ -53,7 +53,8 @@ 00:50=Drill Strike 00:51=Mudball 00:52=No weapon selected -00:53=Structure +00:53=TARDIS +00:54=Structure 01:00=Let's fight! 01:01=Round draw @@ -436,6 +437,10 @@ 03:48=It's Hammer time! 03:49=Does what you guess 03:50=Moles fan +03:51=Found on the ground +03:52=UNUSED +03:53=Type 40 +03:54=Build something ; Weapon Descriptions (use | as line breaks) 04:00=Attack your enemies using a simple grenade.|It will explode once its timer reaches zero.|1-5: Set grenade's timer|Attack: Hold to throw with more power