equal
deleted
inserted
replaced
82 var i, t: integer; |
82 var i, t: integer; |
83 r: TSDL_Rect; |
83 r: TSDL_Rect; |
84 team: PTeam; |
84 team: PTeam; |
85 tdx, tdy: real; |
85 tdx, tdy: real; |
86 |
86 |
87 procedure DrawRepeated(spr: TSprite); |
87 procedure DrawRepeated(spr: TSprite; Shift: integer); |
88 var i, w: integer; |
88 var i, w: integer; |
89 begin |
89 begin |
90 w:= SpritesData[spr].Width; |
90 w:= SpritesData[spr].Width; |
91 i:= WorldDx mod w; |
91 i:= Shift mod w; |
92 if i > 0 then dec(i, w); |
92 if i > 0 then dec(i, w); |
93 repeat |
93 repeat |
94 DrawSprite(spr, i, WorldDy + 1024 - SpritesData[spr].Height, 0, Surface); |
94 DrawSprite(spr, i, WorldDy + 1024 - SpritesData[spr].Height, 0, Surface); |
95 inc(i, w) |
95 inc(i, w) |
96 until i > cScreenWidth |
96 until i > cScreenWidth |
107 r.y:= 0; |
107 r.y:= 0; |
108 r.w:= cScreenWidth; |
108 r.w:= cScreenWidth; |
109 SDL_FillRect(Surface, @r, cSkyColor) |
109 SDL_FillRect(Surface, @r, cSkyColor) |
110 end; |
110 end; |
111 // background |
111 // background |
112 DrawRepeated(sprSky); |
112 DrawRepeated(sprSky, WorldDx * 3 div 8); |
113 DrawRepeated(sprHorizont); |
113 DrawRepeated(sprHorizont, WorldDx * 3 div 5); |
114 |
114 |
115 // Waves |
115 // Waves |
116 {$WARNINGS OFF} |
116 {$WARNINGS OFF} |
117 for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy - 64, 0, Surface); |
117 for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy - 64, 0, Surface); |
118 for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 192) and $FF), cWaterLine + WorldDy - 48, 0, Surface); |
118 for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 192) and $FF), cWaterLine + WorldDy - 48, 0, Surface); |