equal
deleted
inserted
replaced
81 procedure DrawWorld(Lag: integer; Surface: PSDL_Surface); |
81 procedure DrawWorld(Lag: integer; Surface: PSDL_Surface); |
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 |
|
87 procedure DrawRepeated(spr: TSprite); |
|
88 var i, w: integer; |
|
89 begin |
|
90 w:= SpritesData[spr].Width; |
|
91 i:= WorldDx mod w; |
|
92 if i > 0 then dec(i, w); |
|
93 repeat |
|
94 DrawSprite(spr, i, WorldDy + 1024 - SpritesData[spr].Height, 0, Surface); |
|
95 inc(i, w) |
|
96 until i > cScreenWidth |
|
97 end; |
|
98 |
86 begin |
99 begin |
87 // Sky |
100 // Sky |
88 inc(RealTicks, Lag); |
101 inc(RealTicks, Lag); |
89 r.h:= WorldDy; |
102 r.h:= WorldDy; |
90 if r.h > 0 then |
103 if r.h > 0 then |
94 r.y:= 0; |
107 r.y:= 0; |
95 r.w:= cScreenWidth; |
108 r.w:= cScreenWidth; |
96 SDL_FillRect(Surface, @r, cSkyColor) |
109 SDL_FillRect(Surface, @r, cSkyColor) |
97 end; |
110 end; |
98 // background |
111 // background |
99 for i:= 0 to (cScreenWidth shr 6) do |
112 DrawRepeated(sprSky); |
100 DrawGear(sSky, i*64, WorldDy, Surface); |
113 DrawRepeated(sprHorizont); |
101 |
|
102 for i:= -1 to 3 do |
|
103 DrawGear(sHorizont, i * 512 + (((WorldDx * 3) div 5) and $1FF), cWaterLine - 256 + WorldDy, Surface); |
|
104 |
114 |
105 // Waves |
115 // Waves |
106 {$WARNINGS OFF} |
116 {$WARNINGS OFF} |
107 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); |
108 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); |