# HG changeset patch # User unC0Rr # Date 1316888209 -14400 # Node ID 519f8a58c0210619cc0d96a7a3a768da872851f0 # Parent 10913a80cb503297a0c33a77d11bc1ff2ab81ac2 Fix a bunch of warnings (also improves speed a bit in 32 bit code) diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/GSHandlers.inc Sat Sep 24 22:16:49 2011 +0400 @@ -509,6 +509,7 @@ //////////////////////////////////////////////////////////////////////////////// procedure doStepMolotov(Gear: PGear); var + s: Longword; i, gX, gY: LongInt; dX, dY: hwFloat; Fire: PGear; @@ -520,8 +521,8 @@ CalcRotationDirAngle(Gear); // let's add some smoke depending on speed - i:= max(32,152 - hwRound(Distance(Gear^.dX,Gear^.dY)*120))+random(10); - if (GameTicks mod i) = 0 then + s:= max(32,152 - hwRound(Distance(Gear^.dX,Gear^.dY)*120))+random(10); + if (GameTicks mod s) = 0 then begin // adjust angle to match the texture if Gear^.dX.isNegative then i:= 130 else i:= 50; @@ -4809,7 +4810,7 @@ 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); + for j := 1 to 4 do DrawExplosion(ei + LongInt(GetRandom(5)), hwRound(Gear^.Y) + 6*j, 3); while i <= ei do begin for j := 1 to 11 do DrawExplosion(i, hwRound(Gear^.Y) + 3*j, 3); diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/HHHandlers.inc Sat Sep 24 22:16:49 2011 +0400 @@ -1017,7 +1017,7 @@ //////////////////////////////////////////////////////////////////////////////// procedure doStepHedgehogFree(Gear: PGear); -var prevState, i: Longword; +var prevState: Longword; begin prevState:= Gear^.State; diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/uAIMisc.pas --- a/hedgewars/uAIMisc.pas Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/uAIMisc.pas Sat Sep 24 22:16:49 2011 +0400 @@ -80,7 +80,7 @@ procedure FillTargets; var i, t: Longword; - f, e: Longword; + f, e: LongInt; begin Targets.Count:= 0; f:= 0; @@ -233,7 +233,7 @@ with Targets.ar[i] do begin dmg:= hwRound(_0_01 * cDamageModifier - * min((r + cHHRadius div 2 - DistanceI(Point.x - x, Point.y - y).Round) div 2, r) * cDamagePercent); + * min((r + cHHRadius div 2 - LongInt(DistanceI(Point.x - x, Point.y - y).Round)) div 2, r) * cDamagePercent); if dmg > 0 then begin diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/uLand.pas --- a/hedgewars/uLand.pas Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/uLand.pas Sat Sep 24 22:16:49 2011 +0400 @@ -1234,16 +1234,16 @@ for w:= 0 to 23 do for x:= leftX to rightX do begin - Land[cWaterLine-1 - w, x]:= lfIndestructible; + Land[Longword(cWaterLine) - 1 - w, x]:= lfIndestructible; if (x + w) mod 32 < 16 then c:= AMask else c:= AMask or RMask or GMask; // FF00FFFF if (cReducedQuality and rqBlurryLand) = 0 then - LandPixels[cWaterLine-1 - w, x]:= c + LandPixels[Longword(cWaterLine) - 1 - w, x]:= c else - LandPixels[(cWaterLine-1 - w) div 2, x div 2]:= c + LandPixels[(Longword(cWaterLine) - 1 - w) div 2, x div 2]:= c end end; diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/uLandGraphics.pas --- a/hedgewars/uLandGraphics.pas Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/uLandGraphics.pas Sat Sep 24 22:16:49 2011 +0400 @@ -47,10 +47,10 @@ function addBgColor(OldColor, NewColor: LongWord): LongWord; // Factor ranges from 0 to 100% NewColor var - oRed, oBlue, oGreen, oAlpha, nRed, nBlue, nGreen, nAlpha: LongWord; + oRed, oBlue, oGreen, oAlpha, nRed, nBlue, nGreen, nAlpha: byte; begin - oAlpha := (OldColor shr AShift) and $FF; - nAlpha := (NewColor shr AShift) and $FF; + oAlpha := (OldColor shr AShift); + nAlpha := (NewColor shr AShift); // shortcircuit if (oAlpha = 0) or (nAlpha = $FF) then begin @@ -58,18 +58,18 @@ exit end; // Get colors - oRed := (OldColor shr RShift) and $FF; - oGreen := (OldColor shr GShift) and $FF; - oBlue := (OldColor shr BShift) and $FF; + oRed := (OldColor shr RShift); + oGreen := (OldColor shr GShift); + oBlue := (OldColor shr BShift); - nRed := (NewColor shr RShift) and $FF; - nGreen := (NewColor shr GShift) and $FF; - nBlue := (NewColor shr BShift) and $FF; + nRed := (NewColor shr RShift); + nGreen := (NewColor shr GShift); + nBlue := (NewColor shr BShift); // Mix colors - nRed := min(255,((nRed*nAlpha) div 255) + ((oRed*oAlpha*(255-nAlpha)) div 65025)); - nGreen := min(255,((nGreen*nAlpha) div 255) + ((oGreen*oAlpha*(255-nAlpha)) div 65025)); - nBlue := min(255,((nBlue*nAlpha) div 255) + ((oBlue*oAlpha*(255-nAlpha)) div 65025)); + nRed := min(255,((nRed*nAlpha) div 255) + ((oRed*oAlpha*byte(255-nAlpha)) div 65025)); + nGreen := min(255,((nGreen*nAlpha) div 255) + ((oGreen*oAlpha*byte(255-nAlpha)) div 65025)); + nBlue := min(255,((nBlue*nAlpha) div 255) + ((oBlue*oAlpha*byte(255-nAlpha)) div 65025)); nAlpha := min(255, oAlpha + nAlpha); addBgColor := (nAlpha shl AShift) or (nRed shl RShift) or (nGreen shl GShift) or (nBlue shl BShift); @@ -780,8 +780,8 @@ procedure Smooth(X, Y: LongInt); begin // a bit of AA for explosions -if (Land[Y, X] = 0) and (Y > topY+1) and - (Y < LAND_HEIGHT-2) and (X>leftX+1) and (X LongInt(topY) + 1) and + (Y < LAND_HEIGHT-2) and (X > LongInt(leftX) + 1) and (X < LongInt(rightX) - 1) then begin if ((((Land[y, x-1] and lfDamaged) <> 0) and (((Land[y+1,x] and lfDamaged) <> 0)) or ((Land[y-1,x] and lfDamaged) <> 0)) or (((Land[y, x+1] and lfDamaged) <> 0) and (((Land[y-1,x] and lfDamaged) <> 0) or ((Land[y+1,x] and lfDamaged) <> 0)))) then diff -r 10913a80cb50 -r 519f8a58c021 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Sat Sep 24 17:12:46 2011 +0200 +++ b/hedgewars/uWorld.pas Sat Sep 24 22:16:49 2011 +0400 @@ -31,7 +31,7 @@ procedure DrawWorldStereo(Lag: LongInt; RM: TRenderMode); procedure ShowMission(caption, subcaption, text: ansistring; icon, time : LongInt); procedure HideMission; -procedure ShakeCamera(amount: LongWord); +procedure ShakeCamera(amount: LongInt); procedure InitCameraBorders; procedure MoveCamera; procedure onFocusStateChanged; @@ -914,11 +914,11 @@ DrawCaptions; // Teams Healths -if TeamsCount * 20 > cScreenHeight div 7 then // take up less screen on small displays +if TeamsCount * 20 > Longword(cScreenHeight) div 7 then // take up less screen on small displays begin SetScale(1.5); smallScreenOffset:= cScreenHeight div 6; - if TeamsCount * 20 > cScreenHeight div 5 then Tint($FF,$FF,$FF,$80); + if TeamsCount * 20 > Longword(cScreenHeight) div 5 then Tint($FF,$FF,$FF,$80); end else smallScreenOffset:= 0; for t:= 0 to Pred(TeamsCount) do @@ -957,7 +957,7 @@ // this approach should be faster than drawing all borders one by one tinted or not if highlight then begin - if TeamsCount * 20 > cScreenHeight div 5 then Tint($FF,$FF,$FF,$80) + if TeamsCount * 20 > Longword(cScreenHeight) div 5 then Tint($FF,$FF,$FF,$80) else Tint($FF, $FF, $FF, $FF); // draw name @@ -979,7 +979,7 @@ if smallScreenOffset <> 0 then begin SetScale(cDefaultZoomLevel); - if TeamsCount * 20 > cScreenHeight div 5 then Tint($FF,$FF,$FF,$FF); + if TeamsCount * 20 > Longword(cScreenHeight) div 5 then Tint($FF,$FF,$FF,$FF); end; // Lag alert @@ -1312,7 +1312,7 @@ if missionTex <> nil then FreeTexture(missionTex); end; -procedure ShakeCamera(amount: LongWord); +procedure ShakeCamera(amount: LongInt); begin if isCursorVisible then exit; amount:= Max(1, round(amount*zoom/2));