hedgewars/uLandObjects.pas
changeset 9721 1833dadcebf0
parent 9295 f8819c3dde54
child 9768 08799c901a42
equal deleted inserted replaced
9720:453a1c29b7e4 9721:1833dadcebf0
   126             else
   126             else
   127                 if LandPixels[(cpY + y) div 2, (cpX + x) div 2] = 0 then 
   127                 if LandPixels[(cpY + y) div 2, (cpX + x) div 2] = 0 then 
   128                     LandPixels[(cpY + y) div 2, (cpX + x) div 2]:= p^[x];
   128                     LandPixels[(cpY + y) div 2, (cpX + x) div 2]:= p^[x];
   129 
   129 
   130             if (Land[cpY + y, cpX + x] <= lfAllObjMask) and ((p^[x] and AMask) <> 0) then
   130             if (Land[cpY + y, cpX + x] <= lfAllObjMask) and ((p^[x] and AMask) <> 0) then
   131                 begin
   131                 Land[cpY + y, cpX + x]:= lfObject or extraFlags
   132                 Land[cpY + y, cpX + x]:= lfObject;
       
   133                 Land[cpY + y, cpX + x]:= Land[cpY + y, cpX + x] or extraFlags
       
   134                 end;
       
   135             end;
   132             end;
   136     p:= @(p^[Image^.pitch shr 2])
   133     p:= @(p^[Image^.pitch shr 2])
   137     end;
   134     end;
   138 
   135 
   139 if SDL_MustLock(Image) then
   136 if SDL_MustLock(Image) then
   278     tmpsurf:= LoadDataImageAltPath(ptCurrTheme, ptGraphics, 'Girder', ifCritical or ifTransparent or ifIgnoreCaps);
   275     tmpsurf:= LoadDataImageAltPath(ptCurrTheme, ptGraphics, 'Girder', ifCritical or ifTransparent or ifIgnoreCaps);
   279 
   276 
   280     rr.x:= x1;
   277     rr.x:= x1;
   281     while rr.x < x2 do
   278     while rr.x < x2 do
   282         begin
   279         begin
   283         // For testing only. Intent is to flag this on objects with masks, or use it for an ice ray gun
   280         // I should theme flag this. also snow...
   284         if (Theme = 'Snow') or (Theme = 'Christmas') then 
   281         if (Theme = 'Snow') or (Theme = 'Christmas') then 
   285             BlitImageAndGenerateCollisionInfo(rr.x, y, min(x2 - rr.x, tmpsurf^.w), tmpsurf, lfIce)
   282             BlitImageAndGenerateCollisionInfo(rr.x, y, min(x2 - rr.x, tmpsurf^.w), tmpsurf, lfIce)
   286         else
   283         else
   287             BlitImageAndGenerateCollisionInfo(rr.x, y, min(x2 - rr.x, tmpsurf^.w), tmpsurf);
   284             BlitImageAndGenerateCollisionInfo(rr.x, y, min(x2 - rr.x, tmpsurf^.w), tmpsurf);
   288         inc(rr.x, tmpsurf^.w);
   285         inc(rr.x, tmpsurf^.w);