hedgewars/uLand.pas
changeset 10197 c57798251b55
parent 10189 875607ce793d
child 10198 e9cbe111c0df
equal deleted inserted replaced
10196:514e338f2eaf 10197:c57798251b55
   196 end;
   196 end;
   197 
   197 
   198 procedure ColorizeLand(Surface: PSDL_Surface);
   198 procedure ColorizeLand(Surface: PSDL_Surface);
   199 var tmpsurf: PSDL_Surface;
   199 var tmpsurf: PSDL_Surface;
   200     r: TSDL_Rect;
   200     r: TSDL_Rect;
   201     y: LongWord; // stupid SDL 1.2 uses stupid SmallInt for y which limits us to 32767.  But is even worse if LandTex is large, can overflow on 32767 map.
   201     y: LongInt; // stupid SDL 1.2 uses stupid SmallInt for y which limits us to 32767.  But is even worse if LandTex is large, can overflow on 32767 map.
   202 begin
   202 begin
   203     tmpsurf:= LoadDataImage(ptCurrTheme, 'LandTex', ifCritical or ifIgnoreCaps);
   203     tmpsurf:= LoadDataImage(ptCurrTheme, 'LandTex', ifCritical or ifIgnoreCaps);
   204     r.y:= 0;
   204     r.y:= 0;
   205     y:= 0;
   205     y:= 0;
   206     while y < LAND_HEIGHT do
   206     while y < LAND_HEIGHT do
   304         for x:= 0 to LAND_WIDTH - 1 do
   304         for x:= 0 to LAND_WIDTH - 1 do
   305             Land[y, x]:= lfBasic;
   305             Land[y, x]:= lfBasic;
   306     {$HINTS OFF}
   306     {$HINTS OFF}
   307     SetPoints(Template, pa, @fps);
   307     SetPoints(Template, pa, @fps);
   308     {$HINTS ON}
   308     {$HINTS ON}
       
   309     
   309     for i:= 1 to Template.BezierizeCount do
   310     for i:= 1 to Template.BezierizeCount do
   310         begin
   311         begin
   311         BezierizeEdge(pa, _0_5);
   312         BezierizeEdge(pa, _0_5);
   312         RandomizePoints(pa);
   313         RandomizePoints(pa);
   313         RandomizePoints(pa)
   314         RandomizePoints(pa)