hedgewars/uWorld.pas
changeset 2288 c01b8258918d
parent 2287 e34b5363ae91
child 2290 bf87ca44782e
equal deleted inserted replaced
2287:e34b5363ae91 2288:c01b8258918d
   222 	glColor4f(1, 1, 1, 1); // disable coloring
   222 	glColor4f(1, 1, 1, 1); // disable coloring
   223 	glEnable(GL_TEXTURE_2D)
   223 	glEnable(GL_TEXTURE_2D)
   224 	end
   224 	end
   225 end;
   225 end;
   226 
   226 
       
   227 procedure DrawWaves(Dir, dX, dY: LongInt);
       
   228 var i: LongInt;
       
   229 begin
       
   230 for i:= -1 to cWaterSprCount do
       
   231 	DrawSprite(sprWater,
       
   232 		i * cWaveWidth + ((WorldDx + (RealTicks shr 6) * Dir + dX) mod cWaveWidth) - (cScreenWidth div 2),
       
   233 		cWaterLine + WorldDy + dY,
       
   234 		0)
       
   235 end;
       
   236 
   227 procedure DrawWorld(Lag: LongInt);
   237 procedure DrawWorld(Lag: LongInt);
   228 var i, t: LongInt;
   238 var i, t: LongInt;
   229     r: TSDL_Rect;
   239     r: TSDL_Rect;
   230     tdx, tdy: Double;
   240     tdx, tdy: Double;
   231     grp: TCapGroup;
   241     grp: TCapGroup;
   261     // background
   271     // background
   262     DrawRepeated(sprSky, WorldDx * 3 div 8);
   272     DrawRepeated(sprSky, WorldDx * 3 div 8);
   263     DrawRepeated(sprHorizont, WorldDx * 3 div 5);
   273     DrawRepeated(sprHorizont, WorldDx * 3 div 5);
   264 
   274 
   265     DrawVisualGears(0);
   275     DrawVisualGears(0);
   266 
       
   267     // Waves
       
   268     {$WARNINGS OFF}
       
   269     for i:= -1 to cWaterSprCount do DrawSprite(sprWater,  i * cWaveWidth  + ((WorldDx + (RealTicks shr 6)      ) mod cWaveWidth) - (cScreenWidth div 2), cWaterLine + WorldDy - (cWaveHeight*2), 0);
       
   270     for i:= -1 to cWaterSprCount do DrawSprite(sprWater,  i * cWaveWidth + ((WorldDx - (RealTicks shr 6) + 100) mod cWaveWidth) - (cScreenWidth div 2), cWaterLine + WorldDy - (cWaveHeight + cWaveHeight div 2), 0);
       
   271     {$WARNINGS ON}
       
   272     end;
   276     end;
       
   277 
       
   278 // Waves
       
   279 DrawWaves( 1,  0, - (cWaveHeight * 2));
       
   280 DrawWaves(-1, 100, - (cWaveHeight + cWaveHeight div 2));
   273 
   281 
   274 
   282 
   275 DrawLand(WorldDx, WorldDy);
   283 DrawLand(WorldDx, WorldDy);
   276 
   284 
   277 DrawWater(255);
   285 DrawWater(255);
   303 DrawVisualGears(1);
   311 DrawVisualGears(1);
   304 
   312 
   305 DrawWater(cWaterOpacity);
   313 DrawWater(cWaterOpacity);
   306 
   314 
   307 // Waves
   315 // Waves
       
   316 DrawWaves( 1, 25, - cWaveHeight);
       
   317 DrawWaves(-1, 50, - (cWaveHeight div 2));
       
   318 DrawWaves( 1, 75, 0);
       
   319 
       
   320 
   308 {$WARNINGS OFF}
   321 {$WARNINGS OFF}
   309 for i:= -1 to cWaterSprCount do DrawSprite(sprWater,  i * cWaveWidth  + ((WorldDx + (RealTicks shr 6) +  25) mod cWaveWidth) - (cScreenWidth div 2), cWaterLine + WorldDy - cWaveHeight, 0);
       
   310 for i:= -1 to cWaterSprCount do DrawSprite(sprWater,  i * cWaveWidth  + ((WorldDx - (RealTicks shr 6) +  50) mod cWaveWidth) - (cScreenWidth div 2), cWaterLine + WorldDy - (cWaveHeight div 2), 0);
       
   311 for i:= -1 to cWaterSprCount do DrawSprite(sprWater,  i * cWaveWidth  + ((WorldDx + (RealTicks shr 6) +  75) mod cWaveWidth) - (cScreenWidth div 2), cWaterLine + WorldDy     , 0);
       
   312 
       
   313 
       
   314 // Target
   322 // Target
   315 if TargetPoint.X <> NoPointX then DrawSprite(sprTargetP, TargetPoint.X + WorldDx - 16, TargetPoint.Y + WorldDy - 16, 0);
   323 if TargetPoint.X <> NoPointX then DrawSprite(sprTargetP, TargetPoint.X + WorldDx - 16, TargetPoint.Y + WorldDy - 16, 0);
   316 
   324 
   317 {$WARNINGS ON}
   325 {$WARNINGS ON}
   318 SetScale(2.0);
   326 SetScale(2.0);