1256 |
1256 |
1257 glPushMatrix; |
1257 glPushMatrix; |
1258 glTranslatef(WorldDx, WorldDy, 0); |
1258 glTranslatef(WorldDx, WorldDy, 0); |
1259 glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldFade[0]); |
1259 glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldFade[0]); |
1260 |
1260 |
1261 VertexBuffer[0].X:= leftX-120; |
1261 VertexBuffer[0].X:= leftX-20; |
1262 VertexBuffer[0].Y:= -3000; |
1262 VertexBuffer[0].Y:= -3000; |
1263 VertexBuffer[1].X:= leftX-120; |
1263 VertexBuffer[1].X:= leftX-20; |
1264 VertexBuffer[1].Y:= cWaterLine+cVisibleWater; |
1264 VertexBuffer[1].Y:= cWaterLine+cVisibleWater; |
1265 VertexBuffer[2].X:= leftX-70; |
1265 VertexBuffer[2].X:= leftX+30; |
1266 VertexBuffer[2].Y:= cWaterLine+cVisibleWater; |
1266 VertexBuffer[2].Y:= cWaterLine+cVisibleWater; |
1267 VertexBuffer[3].X:= leftX-70; |
1267 VertexBuffer[3].X:= leftX+30; |
1268 VertexBuffer[3].Y:= -3000; |
1268 VertexBuffer[3].Y:= -3000; |
1269 |
1269 |
1270 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1270 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1271 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1271 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1272 |
1272 |
1273 VertexBuffer[0].X:= rightX+120; |
1273 VertexBuffer[0].X:= rightX+20; |
1274 VertexBuffer[1].X:= rightX+120; |
1274 VertexBuffer[1].X:= rightX+20; |
1275 VertexBuffer[2].X:= rightX+70; |
1275 VertexBuffer[2].X:= rightX-30; |
1276 VertexBuffer[3].X:= rightX+70; |
1276 VertexBuffer[3].X:= rightX-30; |
1277 |
1277 |
1278 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1278 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1279 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1279 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1280 |
1280 |
1281 glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldEnd[0]); |
1281 glColorPointer(4, GL_UNSIGNED_BYTE, 0, @WorldEnd[0]); |
1282 |
1282 |
1283 VertexBuffer[0].X:= -5000; |
1283 VertexBuffer[0].X:= -5000; |
1284 VertexBuffer[1].X:= -5000; |
1284 VertexBuffer[1].X:= -5000; |
1285 VertexBuffer[2].X:= leftX-120; |
1285 VertexBuffer[2].X:= leftX-20; |
1286 VertexBuffer[3].X:= leftX-120; |
1286 VertexBuffer[3].X:= leftX-20; |
1287 |
1287 |
1288 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1288 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1289 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1289 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1290 |
1290 |
1291 VertexBuffer[0].X:= rightX+5000; |
1291 VertexBuffer[0].X:= rightX+5000; |
1292 VertexBuffer[1].X:= rightX+5000; |
1292 VertexBuffer[1].X:= rightX+5000; |
1293 VertexBuffer[2].X:= rightX+120; |
1293 VertexBuffer[2].X:= rightX+20; |
1294 VertexBuffer[3].X:= rightX+120; |
1294 VertexBuffer[3].X:= rightX+20; |
1295 |
1295 |
1296 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1296 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]); |
1297 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1297 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer)); |
1298 |
1298 |
1299 glPopMatrix; |
1299 glPopMatrix; |
1301 glEnableClientState(GL_TEXTURE_COORD_ARRAY); |
1301 glEnableClientState(GL_TEXTURE_COORD_ARRAY); |
1302 |
1302 |
1303 glColor4ub($FF, $FF, $FF, $FF); // must not be Tint() as color array seems to stay active and color reset is required |
1303 glColor4ub($FF, $FF, $FF, $FF); // must not be Tint() as color array seems to stay active and color reset is required |
1304 glEnable(GL_TEXTURE_2D); |
1304 glEnable(GL_TEXTURE_2D); |
1305 |
1305 |
1306 DrawLine(leftX-100, -3000, leftX-100, cWaterLine+cVisibleWater, 3.0, $FF, $00, $FF, $FF); |
1306 DrawLine(leftX, -3000, leftX, cWaterLine+cVisibleWater, 3.0, $FF, $00, $FF, $FF); |
1307 DrawLine(rightX+100, -3000, rightX+100, cWaterLine+cVisibleWater, 3.0, $FF, $00, $FF, $FF); |
1307 DrawLine(rightX, -3000, rightX, cWaterLine+cVisibleWater, 3.0, $FF, $00, $FF, $FF); |
1308 end; |
1308 end; |
1309 |
1309 |
1310 // this scale is used to keep the various widgets at the same dimension at all zoom levels |
1310 // this scale is used to keep the various widgets at the same dimension at all zoom levels |
1311 SetScale(cDefaultZoomLevel); |
1311 SetScale(cDefaultZoomLevel); |
1312 |
1312 |