hedgewars/uWorld.pas
changeset 10265 7e8d4cd76ce7
parent 10263 6ef900411158
child 10275 6c91047f59b6
equal deleted inserted replaced
10264:cb4331b032f4 10265:7e8d4cd76ce7
  1177 procedure RenderWorldEdge(Lag: Longword);
  1177 procedure RenderWorldEdge(Lag: Longword);
  1178 var
  1178 var
  1179     VertexBuffer: array [0..3] of TVertex2f;
  1179     VertexBuffer: array [0..3] of TVertex2f;
  1180     c1, c2: LongWord; // couple of colours for edges
  1180     c1, c2: LongWord; // couple of colours for edges
  1181 begin
  1181 begin
  1182 if (WorldEdge = weSea) or (WorldEdge = weSky) or (WorldEdge = weBounce) then
  1182 if WorldEdge <> weNone then
  1183     begin
  1183     begin
  1184 (* I think for a bounded world, will fill the left and right areas with black or something. Also will probably want various border effects/animations based on border type.  Prob also, say, trigger a border animation timer on an impact. *)
  1184 (* I think for a bounded world, will fill the left and right areas with black or something. Also will probably want various border effects/animations based on border type.  Prob also, say, trigger a border animation timer on an impact. *)
  1185 
  1185 
  1186     glDisable(GL_TEXTURE_2D);
  1186     glDisable(GL_TEXTURE_2D);
  1187     glDisableClientState(GL_TEXTURE_COORD_ARRAY);
  1187     glDisableClientState(GL_TEXTURE_COORD_ARRAY);
  1188     glEnableClientState(GL_COLOR_ARRAY);
  1188     if WorldEdge = weWrap then
       
  1189         glColor4ub($00, $00, $00, $20)
       
  1190     else
       
  1191         begin
       
  1192         glEnableClientState(GL_COLOR_ARRAY);
       
  1193         glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldFade[0]);
       
  1194         end;
  1189 
  1195 
  1190     glPushMatrix;
  1196     glPushMatrix;
  1191     glTranslatef(WorldDx, WorldDy, 0);
  1197     glTranslatef(WorldDx, WorldDy, 0);
  1192     glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldFade[0]);
       
  1193 
  1198 
  1194     VertexBuffer[0].X:= leftX-20;
  1199     VertexBuffer[0].X:= leftX-20;
  1195     VertexBuffer[0].Y:= -3000;
  1200     VertexBuffer[0].Y:= -3500;
  1196     VertexBuffer[1].X:= leftX-20;
  1201     VertexBuffer[1].X:= leftX-20;
  1197     VertexBuffer[1].Y:= cWaterLine+cVisibleWater;
  1202     VertexBuffer[1].Y:= cWaterLine+cVisibleWater;
  1198     VertexBuffer[2].X:= leftX+30;
  1203     VertexBuffer[2].X:= leftX+30;
  1199     VertexBuffer[2].Y:= cWaterLine+cVisibleWater;
  1204     VertexBuffer[2].Y:= cWaterLine+cVisibleWater;
  1200     VertexBuffer[3].X:= leftX+30;
  1205     VertexBuffer[3].X:= leftX+30;
  1201     VertexBuffer[3].Y:= -3000;
  1206     VertexBuffer[3].Y:= -3500;
  1202 
  1207 
  1203     glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
  1208     glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
  1204     glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
  1209     glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
  1205 
  1210 
  1206     VertexBuffer[0].X:= rightX+20;
  1211     VertexBuffer[0].X:= rightX+20;
  1263         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 3.0, c1);
  1268         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 3.0, c1);
  1264         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 1.0, c2)
  1269         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 1.0, c2)
  1265         end
  1270         end
  1266     else if WorldEdge = weWrap then
  1271     else if WorldEdge = weWrap then
  1267         begin
  1272         begin
  1268         DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 5.0, $A0, $30, $60, max(50,255-LeftImpactTimer));
  1273         {DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 5.0, $A0, $30, $60, max(50,255-LeftImpactTimer));
  1269         DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 2.0, $FF0000FF);
  1274         DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 2.0, $FF0000FF);
  1270         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 5.0, $A0, $30, $60, max(50,255-RightImpactTimer));
  1275         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 5.0, $A0, $30, $60, max(50,255-RightImpactTimer));
  1271         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 2.0, $FF0000FF);
  1276         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 2.0, $FF0000FF);}
  1272         end
  1277         end
  1273     else
  1278     else
  1274         begin
  1279         begin
  1275         DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 5.0, $2E8B5780);
  1280         DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 5.0, $2E8B5780);
  1276         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 5.0, $2E8B5780)
  1281         DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 5.0, $2E8B5780)