164 prevPoint.X:= 0; |
164 prevPoint.X:= 0; |
165 prevPoint.Y:= cScreenHeight div 2; |
165 prevPoint.Y:= cScreenHeight div 2; |
166 WorldDx:= - (LAND_WIDTH div 2) + cScreenWidth div 2; |
166 WorldDx:= - (LAND_WIDTH div 2) + cScreenWidth div 2; |
167 WorldDy:= - (LAND_HEIGHT - (playHeight div 2)) + (cScreenHeight div 2); |
167 WorldDy:= - (LAND_HEIGHT - (playHeight div 2)) + (cScreenHeight div 2); |
168 AMxShift:= 210; |
168 AMxShift:= 210; |
169 SkyOffset:= (10 * min(0, -145 - (WorldDy - trunc(cScreenHeight/cScaleFactor) - (cScreenHeight div 2) + cWaterLine))) div 35; |
169 SkyOffset:= 0; |
170 HorizontOffset:= (10 * min(0, -145 - (WorldDy - trunc(cScreenHeight/cScaleFactor) - (cScreenHeight div 2) + cWaterLine))) div 55; |
170 HorizontOffset:= 0; |
171 end; |
171 end; |
172 |
172 |
173 procedure ShowAmmoMenu; |
173 procedure ShowAmmoMenu; |
174 const MENUSPEED = 15; |
174 const MENUSPEED = 15; |
175 var x, y, i, t, l, g: LongInt; |
175 var x, y, i, t, l, g: LongInt; |
448 if ZoomValue > zoom then |
448 if ZoomValue > zoom then |
449 begin |
449 begin |
450 zoom:= zoom + 0.002 * Lag; |
450 zoom:= zoom + 0.002 * Lag; |
451 if ZoomValue < zoom then zoom:= ZoomValue |
451 if ZoomValue < zoom then zoom:= ZoomValue |
452 end; |
452 end; |
453 |
|
454 offsetY:= 10 * min(0, -145 - (WorldDy - trunc(cScreenHeight/cScaleFactor) - (cScreenHeight div 2) + cWaterLine)); |
|
455 |
|
456 //SkyOffset:= offsetY div 35 + cWaveHeight; |
|
457 HorizontOffset:= offsetY div 35 + cWaveHeight; |
|
458 SkyOffset:= HorizontOffset; |
|
459 |
453 |
460 // Sky |
454 // Sky |
461 glClear(GL_COLOR_BUFFER_BIT); |
455 glClear(GL_COLOR_BUFFER_BIT); |
462 glEnable(GL_BLEND); |
456 glEnable(GL_BLEND); |
463 glEnable(GL_TEXTURE_2D); |
457 glEnable(GL_TEXTURE_2D); |
466 |
460 |
467 if not isPaused then MoveCamera; |
461 if not isPaused then MoveCamera; |
468 |
462 |
469 if not cReducedQuality then |
463 if not cReducedQuality then |
470 begin |
464 begin |
|
465 // Offsets relative to camera - spare them to wimpier cpus, no bg or flakes for them anyway |
|
466 ScreenBottom:= (WorldDy - trunc(cScreenHeight/cScaleFactor) - (cScreenHeight div 2) + cWaterLine); |
|
467 offsetY:= 10 * min(0, -145 - ScreenBottom); |
|
468 SkyOffset:= offsetY div 35 + cWaveHeight; |
|
469 HorizontOffset:= SkyOffset; |
|
470 if ScreenBottom > SkyOffset then |
|
471 HorizontOffset:= HorizontOffset + ((ScreenBottom-SkyOffset) div 20); |
|
472 |
471 // background |
473 // background |
472 DrawRepeated(sprSky, sprSkyL, sprSkyR, (WorldDx + LAND_WIDTH div 2) * 3 div 8, SkyOffset); |
474 DrawRepeated(sprSky, sprSkyL, sprSkyR, (WorldDx + LAND_WIDTH div 2) * 3 div 8, SkyOffset); |
473 DrawRepeated(sprHorizont, sprHorizontL, sprHorizontR, (WorldDx + LAND_WIDTH div 2) * 3 div 5, HorizontOffset); |
475 DrawRepeated(sprHorizont, sprHorizontL, sprHorizontR, (WorldDx + LAND_WIDTH div 2) * 3 div 5, HorizontOffset); |
474 |
476 |
475 DrawVisualGears(0); |
477 DrawVisualGears(0); |
476 end; |
478 |
477 |
479 // Waves |
478 // Waves |
480 DrawWater(255, SkyOffset); |
479 DrawWater(255, SkyOffset); |
481 DrawWaves( 1, 0 - WorldDx div 32, - cWaveHeight + offsetY div 35, 0.25); |
480 DrawWaves( 1, 0 - WorldDx div 32, - cWaveHeight + offsetY div 35, 0.25); |
482 DrawWaves( -1, 25 + WorldDx div 25, - cWaveHeight + offsetY div 38, 0.19); |
481 DrawWaves( -1, 25 + WorldDx div 25, - cWaveHeight + offsetY div 38, 0.19); |
483 DrawWaves( 1, 75 - WorldDx div 19, - cWaveHeight + offsetY div 45, 0.14); |
482 DrawWaves( 1, 75 - WorldDx div 19, - cWaveHeight + offsetY div 45, 0.14); |
484 DrawWaves(-1, 100 + WorldDx div 14, - cWaveHeight + offsetY div 70, 0.09); |
483 DrawWaves(-1, 100 + WorldDx div 14, - cWaveHeight + offsetY div 70, 0.09); |
485 end |
484 |
486 else |
|
487 DrawWaves(-1, 100, - (cWaveHeight + (cWaveHeight shr 1)), 0); |
485 |
488 |
486 DrawLand(WorldDx, WorldDy); |
489 DrawLand(WorldDx, WorldDy); |
487 |
490 |
488 DrawWater(255, 0); |
491 DrawWater(255, 0); |
489 |
492 |
517 |
520 |
518 DrawWater(cWaterOpacity, 0); |
521 DrawWater(cWaterOpacity, 0); |
519 |
522 |
520 // Waves |
523 // Waves |
521 DrawWaves( 1, 25 - WorldDx div 9, - cWaveHeight, 0.05); |
524 DrawWaves( 1, 25 - WorldDx div 9, - cWaveHeight, 0.05); |
522 //DrawWater(cWaterOpacity, - offsetY div 40); |
525 |
523 DrawWaves(-1, 50 + WorldDx div 6, - cWaveHeight - offsetY div 40, 0.03); |
526 if not cReducedQuality then |
524 DrawWater(cWaterOpacity, - offsetY div 20); |
527 begin |
525 DrawWaves( 1, 75 - WorldDx div 4, - cWaveHeight - offsetY div 20, 0.01); |
528 //DrawWater(cWaterOpacity, - offsetY div 40); |
526 DrawWater(cWaterOpacity, - offsetY div 10); |
529 DrawWaves(-1, 50 + WorldDx div 6, - cWaveHeight - offsetY div 40, 0.03); |
527 DrawWaves( -1, 25 + WorldDx div 3, - cWaveHeight - offsetY div 10, 0); |
530 DrawWater(cWaterOpacity, - offsetY div 20); |
|
531 DrawWaves( 1, 75 - WorldDx div 4, - cWaveHeight - offsetY div 20, 0.01); |
|
532 DrawWater(cWaterOpacity, - offsetY div 10); |
|
533 DrawWaves( -1, 25 + WorldDx div 3, - cWaveHeight - offsetY div 10, 0); |
|
534 end |
|
535 else |
|
536 DrawWaves(-1, 50, - (cWaveHeight shr 1), 0); |
528 |
537 |
529 |
538 |
530 {$WARNINGS OFF} |
539 {$WARNINGS OFF} |
531 // Target |
540 // Target |
532 if (TargetPoint.X <> NoPointX) and (CurrentTeam <> nil) and (CurrentHedgehog <> nil) then |
541 if (TargetPoint.X <> NoPointX) and (CurrentTeam <> nil) and (CurrentHedgehog <> nil) then |