# HG changeset patch # User unc0rr # Date 1303905443 -14400 # Node ID 8d64dcb566ea1a83b87e63b81077d89b6f65e383 # Parent f3cc6119f1febe50ea3d6cd7121dc57fb5aed3f5 Fix "Mixing signed expressions and longwords gives a 64bit result" warnings diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/CMakeLists.txt --- a/hedgewars/CMakeLists.txt Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/CMakeLists.txt Wed Apr 27 15:57:23 2011 +0400 @@ -57,6 +57,7 @@ uTextures.pas uTypes.pas uUtils.pas + uVariables.pas uVisualGears.pas uWorld.pas GSHandlers.inc diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/VGSHandlers.inc --- a/hedgewars/VGSHandlers.inc Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/VGSHandlers.inc Wed Apr 27 15:57:23 2011 +0400 @@ -684,7 +684,7 @@ if tmp > round(dY) then tdY:= -1; if tmp > 255 then tmp := 255; if tmp < 0 then tmp := 0; - Gear^.Tint:= (Gear^.Tint and $FFFFFF00) or tmp + Gear^.Tint:= (Gear^.Tint and $FFFFFF00) or Longword(tmp) end end end; diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uGears.pas --- a/hedgewars/uGears.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uGears.pas Wed Apr 27 15:57:23 2011 +0400 @@ -1081,7 +1081,6 @@ end; end else if Gear^.Kind <> gtStructure then // not gtHedgehog nor gtStructure begin - AddFileLog('Assigning hedgehog ' + inttostr(LongInt(AttackerHog)) + ' to gear ' + inttostr(Gear^.uid)); Gear^.Hedgehog:= AttackerHog; end; inc(Gear^.Damage, Damage); @@ -1141,7 +1140,7 @@ end; procedure AddMiscGears; -var i: LongInt; +var i: Longword; Gear: PGear; begin AddGear(0, 0, gtATStartGame, 0, _0, _0, 2000); diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uGearsRender.pas Wed Apr 27 15:57:23 2011 +0400 @@ -576,7 +576,7 @@ amRope: DrawRotated(sprHandRope, hx, hy, sign, aangle); amShotgun: DrawRotated(sprHandShotgun, hx, hy, sign, aangle); amDEagle: DrawRotated(sprHandDEagle, hx, hy, sign, aangle); - amSineGun: DrawRotatedF(sprHandSinegun, hx, hy, 73+(sign * (RealTicks div 73)) mod 8, sign, aangle); + amSineGun: DrawRotatedF(sprHandSinegun, hx, hy, 73 + (sign * LongInt(RealTicks div 73)) mod 8, sign, aangle); amPortalGun: if (CurWeapon^.Timer and 2) <> 0 then // Add a new Hedgehog value instead of abusing timer? DrawRotatedF(sprPortalGun, hx, hy, 0, sign, aangle) else @@ -996,7 +996,7 @@ else startX:= max(-LAND_WIDTH - 1024, endX - 2048); startY:= endY - 256; - DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + round((endX - startX) * (-power(2, -10 * LongInt(Gear^.Timer)/2000) + 1)), startY + WorldDy + round((endY - startY) * sqrt(1 - power((LongInt(Gear^.Timer)/2000)-1, 2))), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); + DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * (-power(2, -10 * LongInt(Gear^.Timer)/2000) + 1))), startY + WorldDy + LongInt(round((endY - startY) * sqrt(1 - power((LongInt(Gear^.Timer)/2000)-1, 2)))), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); end else // Disappearing begin @@ -1007,7 +1007,7 @@ else endX:= max(-LAND_WIDTH - 1024, startX - 2048); endY:= startY + 256; - DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY)) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); + DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1)))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + LongInt(round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY))) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); end; end else diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uLandGraphics.pas --- a/hedgewars/uLandGraphics.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uLandGraphics.pas Wed Apr 27 15:57:23 2011 +0400 @@ -61,9 +61,9 @@ // Mix colors nAlpha := min(255, oAlpha + nAlpha); - nRed := ((oRed * oAlpha) + (nRed * (255-oAlpha))) div 255; - nGreen := ((oGreen * oAlpha) + (nGreen * (255-oAlpha))) div 255; - nBlue := ((oBlue * oAlpha) + (nBlue * (255-oAlpha))) div 255; + nRed := ((oRed * oAlpha) + (nRed * Byte(255-oAlpha))) div 255; + nGreen := ((oGreen * oAlpha) + (nGreen * Byte(255-oAlpha))) div 255; + nBlue := ((oBlue * oAlpha) + (nBlue * Byte(255-oAlpha))) div 255; addBgColor := (nAlpha shl AShift) or (nRed shl RShift) or (nGreen shl GShift) or (nBlue shl BShift); end; diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uLandObjects.pas --- a/hedgewars/uLandObjects.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uLandObjects.pas Wed Apr 27 15:57:23 2011 +0400 @@ -368,7 +368,8 @@ procedure ReadThemeInfo(var ThemeObjects: TThemeObjects; var SprayObjects: TSprayObjects); var s, key: shortstring; f: textfile; - i, ii: LongInt; + i: LongInt; + ii: Longword; c1, c2: TSDL_Color; procedure CheckRect(Width, Height, x, y, w, h: LongWord); @@ -458,7 +459,7 @@ else if key = 'music' then MusicFN:= Trim(s) else if key = 'clouds' then begin - cCloudsNumber:= StrToInt(Trim(s)) * cScreenSpace div LAND_WIDTH; + cCloudsNumber:= Word(StrToInt(Trim(s))) * cScreenSpace div LAND_WIDTH; cSDCloudsNumber:= cCloudsNumber end else if key = 'object' then @@ -574,7 +575,7 @@ SDWaterColorArray[3]:= SDWaterColorArray[2]; end else if key = 'sd-water-opacity' then cSDWaterOpacity:= StrToInt(Trim(s)) - else if key = 'sd-clouds' then cSDCloudsNumber:= StrToInt(Trim(s)) * cScreenSpace div LAND_WIDTH + else if key = 'sd-clouds' then cSDCloudsNumber:= Word(StrToInt(Trim(s))) * cScreenSpace div LAND_WIDTH else if key = 'sd-flakes' then begin i:= Pos(',', s); diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uVariables.pas --- a/hedgewars/uVariables.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uVariables.pas Wed Apr 27 15:57:23 2011 +0400 @@ -87,14 +87,14 @@ cWaterRise : LongInt; cHealthDecrease : LongInt; - cCloudsNumber : LongInt; - cSDCloudsNumber : LongInt; + cCloudsNumber : LongWord; + cSDCloudsNumber : LongWord; cTagsMask : byte; zoom : GLfloat; ZoomValue : GLfloat; - cWaterLine : LongInt; + cWaterLine : Word; cGearScrEdgesDist: LongInt; GameTicks : LongWord; @@ -102,15 +102,15 @@ // originally from uConsts Pathz: array[TPathType] of shortstring; CountTexz: array[1..Pred(AMMO_INFINITE)] of PTexture; - LAND_WIDTH : LongInt; - LAND_HEIGHT : LongInt; + LAND_WIDTH : Word; + LAND_HEIGHT : Word; LAND_WIDTH_MASK : LongWord; LAND_HEIGHT_MASK : LongWord; cMaxCaptions : LongInt; cLeftScreenBorder : LongInt; cRightScreenBorder : LongInt; - cScreenSpace : LongInt; + cScreenSpace : Longword; cCaseFactor : Longword; cLandMines : Longword; diff -r f3cc6119f1fe -r 8d64dcb566ea hedgewars/uVisualGears.pas --- a/hedgewars/uVisualGears.pas Tue Apr 26 13:13:07 2011 +0200 +++ b/hedgewars/uVisualGears.pas Wed Apr 27 15:57:23 2011 +0400 @@ -597,7 +597,7 @@ var i: LongInt; begin for i:= 0 to cCloudsNumber - 1 do - AddVisualGear(cLeftScreenBorder + i * cScreenSpace div (cCloudsNumber + 1), LAND_HEIGHT-1184, vgtCloud) + AddVisualGear(cLeftScreenBorder + i * LongInt(cScreenSpace div (cCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud) end; procedure ChangeToSDClouds; @@ -615,7 +615,7 @@ end else vg:= vg^.NextGear; for i:= 0 to cSDCloudsNumber - 1 do - AddVisualGear(cLeftScreenBorder + i * cScreenSpace div (cSDCloudsNumber + 1), LAND_HEIGHT-1184, vgtCloud) + AddVisualGear(cLeftScreenBorder + i * LongInt(cScreenSpace div (cSDCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud) end; procedure AddFlakes;