# HG changeset patch # User unc0rr # Date 1213815454 0 # Node ID 4fe2c4c57d10686751512b0e1d92314c6139e009 # Parent 583667e81d213999f98ebde885fed4b4f69c1b09 Winners clan hedgehogs smiling with big smile diff -r 583667e81d21 -r 4fe2c4c57d10 hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Wed Jun 18 18:46:11 2008 +0000 +++ b/hedgewars/uConsts.pas Wed Jun 18 18:57:34 2008 +0000 @@ -173,6 +173,7 @@ gstHHHJump = $00002000; gstAnimation = $00004000; gstHHDeath = $00008000; + gstWinner = $00010000; gm_Left = $00000001; gm_Right = $00000002; diff -r 583667e81d21 -r 4fe2c4c57d10 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Wed Jun 18 18:46:11 2008 +0000 +++ b/hedgewars/uGears.pas Wed Jun 18 18:57:34 2008 +0000 @@ -523,6 +523,16 @@ defaultPos:= false end else +if (Gear^.State and gstWinner) <> 0 then + begin + DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, + hwSign(Gear^.dX), + 2, + 0, + 0); + defaultPos:= false + end else + if (Gear^.State and gstHHDriven) <> 0 then begin hx:= hwRound(Gear^.X) + 1 + 8 * hwSign(Gear^.dX) + WorldDx; @@ -737,7 +747,7 @@ with PHedgehog(Gear^.Hedgehog)^ do begin - if ((Gear^.State{ and not gstAnimation}) = 0) + if ((Gear^.State and not gstWinner) = 0) or (bShowFinger and ((Gear^.State and gstHHDriven) <> 0)) then begin t:= hwRound(Gear^.Y) - cHHRadius - 12 + WorldDy; diff -r 583667e81d21 -r 4fe2c4c57d10 hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Wed Jun 18 18:46:11 2008 +0000 +++ b/hedgewars/uTeams.pas Wed Jun 18 18:57:34 2008 +0000 @@ -96,7 +96,7 @@ function CheckForWin: boolean; var AliveClan: PClan; s: shortstring; - t, AliveCount: LongInt; + t, AliveCount, i, j: LongInt; begin AliveCount:= 0; for t:= 0 to Pred(ClansCount) do @@ -112,22 +112,29 @@ TurnTimeLeft:= 0; if AliveCount = 0 then - begin // draw - AddCaption(trmsg[sidDraw], $FFFFFF, capgrpGameState); - SendStat(siGameResult, trmsg[sidDraw]); - AddGear(0, 0, gtATFinishGame, 0, _0, _0, 2000) - end else // win - with AliveClan^ do - begin - if TeamsNumber = 1 then - s:= Format(trmsg[sidWinner], Teams[0]^.TeamName) // team wins - else - s:= Format(trmsg[sidWinner], Teams[0]^.TeamName); // clan wins + begin // draw + AddCaption(trmsg[sidDraw], $FFFFFF, capgrpGameState); + SendStat(siGameResult, trmsg[sidDraw]); + AddGear(0, 0, gtATFinishGame, 0, _0, _0, 3000) + end else // win + with AliveClan^ do + begin + if TeamsNumber = 1 then + s:= Format(trmsg[sidWinner], Teams[0]^.TeamName) // team wins + else + s:= Format(trmsg[sidWinner], Teams[0]^.TeamName); // clan wins - AddCaption(s, $FFFFFF, capgrpGameState); - SendStat(siGameResult, s); - AddGear(0, 0, gtATFinishGame, 0, _0, _0, 2000) - end; + for j:= 0 to Pred(TeamsNumber) do + with Teams[j]^ do + for i:= 0 to cMaxHHIndex do + with Hedgehogs[i] do + if (Gear <> nil) then + Gear^.State:= gstWinner; + + AddCaption(s, $FFFFFF, capgrpGameState); + SendStat(siGameResult, s); + AddGear(0, 0, gtATFinishGame, 0, _0, _0, 3000) + end; SendStats end; diff -r 583667e81d21 -r 4fe2c4c57d10 share/hedgewars/Data/Graphics/Hedgehog.png Binary file share/hedgewars/Data/Graphics/Hedgehog.png has changed