hedgewars/GearDrawing.inc
changeset 3393 595655a09b26
parent 3392 9d5d01b52ae8
child 3396 e5b3e5f2818e
equal deleted inserted replaced
3392:9d5d01b52ae8 3393:595655a09b26
     2 var i, t: LongInt;
     2 var i, t: LongInt;
     3     amt: TAmmoType;
     3     amt: TAmmoType;
     4     hx, hy, cx, cy, tx, ty, sx, sy, m: LongInt;  // hedgehog, crosshair, temp, sprite, direction
     4     hx, hy, cx, cy, tx, ty, sx, sy, m: LongInt;  // hedgehog, crosshair, temp, sprite, direction
     5     lx, ly, dx, dy, ax, ay, aAngle, dAngle, hAngle: real;  // laser, change
     5     lx, ly, dx, dy, ax, ay, aAngle, dAngle, hAngle: real;  // laser, change
     6     defaultPos, HatVisible: boolean;
     6     defaultPos, HatVisible: boolean;
       
     7     VertexBuffer: array [0..1] of TVertex2f;
     7     HH: PHedgehog;
     8     HH: PHedgehog;
     8 begin
     9 begin
     9 HH:= PHedgehog(Gear^.Hedgehog);
    10 HH:= PHedgehog(Gear^.Hedgehog);
    10 if HH^.Unplaced then exit;
    11 if HH^.Unplaced then exit;
    11 m:= 1;
    12 m:= 1;
   107                 ty:= round(ly + ay * (LAND_WIDTH div 4));
   108                 ty:= round(ly + ay * (LAND_WIDTH div 4));
   108                 end;
   109                 end;
   109 
   110 
   110             //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then
   111             //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then
   111                 begin
   112                 begin
       
   113                 glDisable(GL_TEXTURE_2D);
   112                 glEnable(GL_LINE_SMOOTH);
   114                 glEnable(GL_LINE_SMOOTH);
   113                 glDisable(GL_TEXTURE_2D);
   115 
   114                 glLineWidth(1.0);
   116                 glLineWidth(1.0);
       
   117 
   115                 Tint($FF, $00, $00, $C0);
   118                 Tint($FF, $00, $00, $C0);
   116                 glBegin(GL_LINES);
   119                 VertexBuffer[0].X:= hx + WorldDx;
   117                 glVertex3f(hx + WorldDx, hy + WorldDy, 0);
   120                 VertexBuffer[0].Y:= hy + WorldDy;
   118                 glVertex3f(tx + WorldDx, ty + WorldDy, 0);
   121                 VertexBuffer[1].X:= tx + WorldDx;
   119                 glEnd();
   122                 VertexBuffer[1].Y:= ty + WorldDy;
   120                 glLineWidth(5.0);
   123 
   121                 glBegin(GL_LINES);
   124                 glEnableClientState(GL_VERTEX_ARRAY);
   122                 glVertex3f(tx + WorldDx - 0.5, ty + WorldDy, 0);
   125                 glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
   123                 glVertex3f(tx + WorldDx + 0.5, ty + WorldDy, 0);
   126                 glDrawArrays(GL_LINES, 0, Length(VertexBuffer));
   124                 glEnd();
       
   125                 Tint($FF, $FF, $FF, $FF);
   127                 Tint($FF, $FF, $FF, $FF);
       
   128                 glEnable(GL_TEXTURE_2D);
   126                 glDisable(GL_LINE_SMOOTH);
   129                 glDisable(GL_LINE_SMOOTH);
   127                 glEnable(GL_TEXTURE_2D);
       
   128                 end;
   130                 end;
   129             end;
   131             end;
   130         // draw crosshair
   132         // draw crosshair
   131         cx:= Round(hwRound(Gear^.X) + dx * 80);
   133         cx:= Round(hwRound(Gear^.X) + dx * 80);
   132         cy:= Round(hwRound(Gear^.Y) + dy * 80);
   134         cy:= Round(hwRound(Gear^.Y) + dy * 80);