hedgewars/uLandObjects.pas
changeset 3764 eb91c02f2d84
parent 3697 d5b30d6373fc
child 3936 0b982d340633
equal deleted inserted replaced
3763:2396a2731054 3764:eb91c02f2d84
   401 if MusicFN = '' then MusicFN:= s;
   401 if MusicFN = '' then MusicFN:= s;
   402 
   402 
   403 ReadLn(f, cCloudsNumber);
   403 ReadLn(f, cCloudsNumber);
   404 
   404 
   405 // TODO - adjust all the theme cloud numbers. This should not be a permanent fix
   405 // TODO - adjust all the theme cloud numbers. This should not be a permanent fix
   406 cCloudsNumber:= cCloudsNumber * (LAND_WIDTH div 2048);
   406 //cCloudsNumber:= cCloudsNumber * (LAND_WIDTH div 2048);
       
   407 
       
   408 // scale number of clouds depending on screen space (two times land width)
       
   409 cCloudsNumber:= cCloudsNumber * cScreenSpace div LAND_WIDTH;
   407 
   410 
   408 Readln(f, ThemeObjects.Count);
   411 Readln(f, ThemeObjects.Count);
   409 for i:= 0 to Pred(ThemeObjects.Count) do
   412 for i:= 0 to Pred(ThemeObjects.Count) do
   410     begin
   413     begin
   411     Readln(f, s); // filename
   414     Readln(f, s); // filename
   448 
   451 
   449 // snowflakes
   452 // snowflakes
   450 Readln(f, vobCount);
   453 Readln(f, vobCount);
   451 if vobCount > 0 then
   454 if vobCount > 0 then
   452     Readln(f, vobFramesCount, vobFrameTicks, vobVelocity, vobFallSpeed);
   455     Readln(f, vobFramesCount, vobFrameTicks, vobVelocity, vobFallSpeed);
       
   456 
       
   457 // adjust amount of flakes scaled by screen space
       
   458 vobCount:= vobCount * cScreenSpace div LAND_WIDTH;
       
   459 
   453 if (cReducedQuality and rqKillFlakes) <> 0 then
   460 if (cReducedQuality and rqKillFlakes) <> 0 then
   454     vobCount:= 0;
   461     vobCount:= 0;
   455 
   462 
   456 
   463 
   457 for i:= 0 to Pred(vobCount) do
   464 for i:= 0 to Pred(vobCount) do
   458     AddVisualGear( -cScreenWidth + random(cScreenWidth * 2 + LAND_WIDTH), random(1024+200) - 100 + LAND_HEIGHT, vgtFlake);
   465     AddVisualGear(cLeftScreenBorder + random(cScreenSpace), random(1024+200) - 100 + LAND_HEIGHT, vgtFlake);
   459 
   466 
   460 Close(f);
   467 Close(f);
   461 {$I+}
   468 {$I+}
   462 TryDo(IOResult = 0, 'Bad data or cannot access file ' + cThemeCFGFilename, true);
   469 TryDo(IOResult = 0, 'Bad data or cannot access file ' + cThemeCFGFilename, true);
   463 AddProgress;
   470 AddProgress;