hedgewars/GearDrawing.inc
author nemo
Sun, 20 Jun 2010 22:35:10 -0400
changeset 3526 a1d2180fef42
parent 3508 a7ca07614a2d
child 3641 98319a621dc8
permissions -rw-r--r--
Replace SHA1 with adler32. For simple purposes of checking to see if players are playing the same map, this should be quite adequate and runs 15 times faster.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     1
procedure DrawHH(Gear: PGear);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     2
var i, t: LongInt;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     3
    amt: TAmmoType;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     4
    hx, hy, cx, cy, tx, ty, sx, sy, m: LongInt;  // hedgehog, crosshair, temp, sprite, direction
3483
54ff8cbabaa6 Engine:
smxx
parents: 3482
diff changeset
     5
    dx, dy, ax, ay, aAngle, dAngle, hAngle, lx, ly: real;  // laser, change
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     6
    defaultPos, HatVisible: boolean;
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
     7
    VertexBuffer: array [0..1] of TVertex2f;
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     8
    HH: PHedgehog;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
     9
begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    10
HH:= PHedgehog(Gear^.Hedgehog);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    11
if HH^.Unplaced then exit;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    12
m:= 1;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    13
if ((Gear^.State and gstHHHJump) <> 0) and not cArtillery then m:= -1;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    14
if (Gear^.State and gstHHDeath) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    15
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    16
    DrawSprite(sprHHDeath, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 26 + WorldDy, Gear^.Pos);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    17
    exit
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    18
    end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    19
else if (Gear^.State and gstHHGone) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    20
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    21
    DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    22
    exit
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    23
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    24
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    25
defaultPos:= true;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    26
HatVisible:= false;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    27
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    28
sx:= hwRound(Gear^.X) + 1 + WorldDx;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    29
sy:= hwRound(Gear^.Y) - 3 + WorldDy;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    30
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    31
if HH^.Effects[hePoisoned] then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    32
    begin
3392
9d5d01b52ae8 Engine:
smxx
parents: 3390
diff changeset
    33
    Tint($00, $FF, $40, $40);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    34
    DrawRotatedTextureF(SpritesData[sprSmokeWhite].texture, 2, 0, 0, sx, sy, 0, 1, 22, 22, (RealTicks shr 36) mod 360);
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
    35
    Tint($FF, $FF, $FF, $FF)
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    36
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    37
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    38
if ((Gear^.State and gstWinner) <> 0) and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    39
   ((CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtPickHammer)) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    40
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    41
    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    42
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    43
            2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    44
            0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    45
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    46
    defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    47
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    48
if (Gear^.State and gstDrowning) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    49
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    50
    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    51
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    52
            1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    53
            7,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    54
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    55
    defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    56
    end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    57
if (Gear^.State and gstLoser) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    58
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    59
    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    60
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    61
            2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    62
            3,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    63
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    64
    defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    65
    end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    66
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    67
if (Gear^.State and gstHHDriven) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    68
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    69
    if ((Gear^.State and gstHHThinking) = 0) and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    70
       (ShowCrosshair  or ((CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtRope))) and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    71
       ((Gear^.State and (gstAttacked or gstAnimation)) = 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    72
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    73
(* These calculations are a little complex for a few reasons:
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    74
   1: I need to draw the laser from weapon origin to nearest land
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    75
   2: I need to start the beam outside the hedgie for attractiveness.
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    76
   3: I need to extend the beam beyond land.
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    77
   This routine perhaps should be pushed into uStore or somesuch instead of continuuing the increase in size of this function.
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    78
*)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    79
        dx:= hwSign(Gear^.dX) * m * Sin(Gear^.Angle * pi / cMaxAngle);
3483
54ff8cbabaa6 Engine:
smxx
parents: 3482
diff changeset
    80
        dy:= -Cos(Gear^.Angle * pi / cMaxAngle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    81
        if cLaserSighting then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    82
            begin
3496
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    83
            lx:= GetLaunchX(HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].AmmoType, hwSign(Gear^.dX) * m, Gear^.Angle);
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    84
            ly:= GetLaunchY(HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].AmmoType, Gear^.Angle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    85
3496
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    86
            // ensure we start outside the hedgehog (he's solid after all)
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    87
            while abs(lx * lx + ly * ly) < (Gear^.radius * Gear^.radius) do
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    88
                begin
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    89
                lx:= lx + dx;
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    90
                ly:= ly + dy
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    91
                end;
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    92
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    93
            // add hog's position
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    94
            lx:= lx + hwRound(Gear^.X);
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    95
            ly:= ly + hwRound(Gear^.Y);
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    96
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
    97
            // decrease number of iterations required
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    98
            ax:= dx * 4;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
    99
            ay:= dy * 4;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   100
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   101
            tx:= round(lx);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   102
            ty:= round(ly);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   103
            hx:= tx;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   104
            hy:= ty;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   105
            while ((ty and LAND_HEIGHT_MASK) = 0) and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   106
                ((tx and LAND_WIDTH_MASK) = 0) and
3496
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
   107
                (Land[ty, tx] = 0) do // TODO: check for constant variable instead
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   108
                begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   109
                lx:= lx + ax;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   110
                ly:= ly + ay;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   111
                tx:= round(lx);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   112
                ty:= round(ly)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   113
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   114
            // reached edge of land. assume infinite beam. Extend it way out past camera
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   115
            if ((ty and LAND_HEIGHT_MASK) <> 0) or ((tx and LAND_WIDTH_MASK) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   116
                begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   117
                tx:= round(lx + ax * (LAND_WIDTH div 4));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   118
                ty:= round(ly + ay * (LAND_WIDTH div 4));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   119
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   120
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   121
            //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   122
                begin
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   123
                glDisable(GL_TEXTURE_2D);
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   124
                glEnable(GL_LINE_SMOOTH);
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   125
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   126
                glLineWidth(1.0);
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   127
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   128
                Tint($FF, $00, $00, $C0);
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   129
                VertexBuffer[0].X:= hx + WorldDx;
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   130
                VertexBuffer[0].Y:= hy + WorldDy;
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   131
                VertexBuffer[1].X:= tx + WorldDx;
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   132
                VertexBuffer[1].Y:= ty + WorldDy;
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   133
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   134
                glEnableClientState(GL_VERTEX_ARRAY);
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   135
                glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   136
                glDrawArrays(GL_LINES, 0, Length(VertexBuffer));
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   137
                Tint($FF, $FF, $FF, $FF);
3393
595655a09b26 Engine:
smxx
parents: 3392
diff changeset
   138
                glEnable(GL_TEXTURE_2D);
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   139
                glDisable(GL_LINE_SMOOTH);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   140
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   141
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   142
        // draw crosshair
3496
8fb007d36c09 Engine:
smxx
parents: 3485
diff changeset
   143
        cx:= Round(hwRound(Gear^.X) + dx * 80 + GetLaunchX(HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].AmmoType, hwSign(Gear^.dX) * m, Gear^.Angle));
3483
54ff8cbabaa6 Engine:
smxx
parents: 3482
diff changeset
   144
        cy:= Round(hwRound(Gear^.Y) + dy * 80 + GetLaunchY(HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].AmmoType, Gear^.Angle));
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   145
        DrawRotatedTex(HH^.Team^.CrosshairTex,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   146
                12, 12, cx + WorldDx, cy + WorldDy, 0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   147
                hwSign(Gear^.dX) * (Gear^.Angle * 180.0) / cMaxAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   148
        end;
3483
54ff8cbabaa6 Engine:
smxx
parents: 3482
diff changeset
   149
    hx:= hwRound(Gear^.X) + 8 * hwSign(Gear^.dX) + WorldDx;
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   150
    hy:= hwRound(Gear^.Y) - 2 + WorldDy;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   151
    aangle:= Gear^.Angle * 180 / cMaxAngle - 90;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   152
    if CurAmmoGear <> nil then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   153
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   154
        case CurAmmoGear^.Kind of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   155
            gtShotgunShot: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   156
                    if (CurAmmoGear^.State and gstAnimation <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   157
                        DrawRotated(sprShotgun, hx, hy, hwSign(Gear^.dX), aangle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   158
                    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   159
                        DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   160
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   161
            gtDEagleShot: DrawRotated(sprDEagle, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   162
            gtSniperRifleShot: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   163
                    if (CurAmmoGear^.State and gstAnimation <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   164
                        DrawRotatedF(sprSniperRifle, hx, hy, 1, hwSign(Gear^.dX), aangle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   165
                    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   166
                        DrawRotatedF(sprSniperRifle, hx, hy, 0, hwSign(Gear^.dX), aangle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   167
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   168
            gtBallgun: DrawRotated(sprHandBallgun, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   169
            gtRCPlane: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   170
                DrawRotated(sprHandPlane, hx, hy, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   171
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   172
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   173
            gtRope: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   174
                if Gear^.X < CurAmmoGear^.X then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   175
                    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   176
                    dAngle:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   177
                    hAngle:= 180;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   178
                    i:= 1
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   179
                    end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   180
                    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   181
                    dAngle:= 180;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   182
                    hAngle:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   183
                    i:= -1
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   184
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   185
                sx:= hwRound(Gear^.X) + WorldDx;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   186
                sy:= hwRound(Gear^.Y) + WorldDy;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   187
               if ((Gear^.State and gstWinner) = 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   188
                   begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   189
                   DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   190
                           i,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   191
                           1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   192
                           0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   193
                           DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + dAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   194
                   with HH^ do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   195
                       if (HatTex <> nil) then
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   196
                           begin
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   197
                           DrawRotatedTextureF(HatTex, 1.0, -1.0, -6.0, sx, sy, 0, i, 32, 32,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   198
                               i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle);
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   199
                           if HatTex^.w > 32 then
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   200
                               begin
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   201
                               Tint(HH^.Team^.Clan^.Color);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   202
                               DrawRotatedTextureF(HatTex, 1.0, -1.0, -6.0, sx, sy, 32, i, 32, 32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   203
                                   i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   204
                               Tint($FF, $FF, $FF, $FF)
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   205
                               end
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   206
                           end
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   207
                   end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   208
                DrawAltWeapon(Gear, sx, sy);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   209
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   210
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   211
            gtBlowTorch: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   212
                DrawRotated(sprBlowTorch, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   213
                DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   214
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   215
                        3,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   216
                        HH^.visStepPos div 2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   217
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   218
                with HH^ do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   219
                    if (HatTex <> nil) then
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   220
                        begin
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   221
                        DrawTextureF(HatTex,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   222
                            1,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   223
                            sx,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   224
                            hwRound(Gear^.Y) - 8 + WorldDy,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   225
                            0,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   226
                            hwSign(Gear^.dX),
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   227
                            32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   228
                            32);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   229
                        if HatTex^.w > 32 then
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   230
                            begin
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   231
                            Tint(HH^.Team^.Clan^.Color);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   232
                            DrawTextureF(HatTex,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   233
                                1,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   234
                                sx,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   235
                                hwRound(Gear^.Y) - 8 + WorldDy,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   236
                                32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   237
                                hwSign(Gear^.dX),
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   238
                                32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   239
                                32);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   240
                            Tint($FF, $FF, $FF, $FF)
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   241
                            end
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   242
                        end;
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   243
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   244
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   245
            gtShover: DrawRotated(sprHandBaseball, hx, hy, hwSign(Gear^.dX), aangle + 180);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   246
            gtFirePunch: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   247
                DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   248
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   249
                        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   250
                        4,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   251
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   252
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   253
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   254
            gtPickHammer: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   255
                defaultPos:= false;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   256
                dec(sy,20);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   257
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   258
            gtTeleport: defaultPos:= false;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   259
            gtWhip: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   260
                DrawRotatedF(sprWhip,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   261
                        sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   262
                        sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   263
                        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   264
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   265
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   266
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   267
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   268
            gtKamikaze: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   269
                if CurAmmoGear^.Pos = 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   270
                    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   271
                            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   272
                            1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   273
                            6,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   274
                            0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   275
                else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   276
                    DrawRotatedF(sprKamikaze,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   277
                            hwRound(Gear^.X) + WorldDx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   278
                            hwRound(Gear^.Y) + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   279
                            CurAmmoGear^.Pos - 1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   280
                            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   281
                            aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   282
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   283
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   284
            gtSeduction: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   285
                if CurAmmoGear^.Pos >= 6 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   286
                    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   287
                            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   288
                            2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   289
                            2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   290
                            0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   291
                else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   292
                    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   293
                    DrawRotatedF(sprDress,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   294
                            hwRound(Gear^.X) + WorldDx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   295
                            hwRound(Gear^.Y) + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   296
                            CurAmmoGear^.Pos,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   297
                            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   298
                            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   299
                    DrawSprite(sprCensored, hwRound(Gear^.X) - 32 + WorldDx, hwRound(Gear^.Y) - 20 + WorldDy, 0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   300
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   301
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   302
                end;
3485
ab91c56a9050 Engine (Henek):
smxx
parents: 3483
diff changeset
   303
            gtFlamethrower: begin
ab91c56a9050 Engine (Henek):
smxx
parents: 3483
diff changeset
   304
                DrawRotatedF(sprHandFlamethrower, hx, hy, (RealTicks div 125) mod 4, hwSign(Gear^.dX), aangle);
ab91c56a9050 Engine (Henek):
smxx
parents: 3483
diff changeset
   305
                if CurAmmoGear^.Tex <> nil then DrawCentered(sx, sy - 40, CurAmmoGear^.Tex)
ab91c56a9050 Engine (Henek):
smxx
parents: 3483
diff changeset
   306
                end;
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   307
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   308
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   309
        case CurAmmoGear^.Kind of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   310
            gtShotgunShot,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   311
            gtDEagleShot,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   312
            gtSniperRifleShot,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   313
            gtShover: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   314
                DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   315
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   316
                        0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   317
                        4,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   318
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   319
                defaultPos:= false;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   320
                HatVisible:= true
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   321
            end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   322
        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   323
    end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   324
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   325
    if ((Gear^.State and gstHHJumping) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   326
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   327
    DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   328
        hwSign(Gear^.dX)*m,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   329
        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   330
        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   331
        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   332
    HatVisible:= true;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   333
    defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   334
    end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   335
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   336
    if (Gear^.Message and (gm_Left or gm_Right) <> 0) and (not isCursorVisible) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   337
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   338
        DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   339
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   340
            0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   341
            HH^.visStepPos div 2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   342
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   343
        defaultPos:= false;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   344
        HatVisible:= true
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   345
        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   346
    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   347
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   348
    if ((Gear^.State and gstAnimation) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   349
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   350
        if (TWave(Gear^.Tag) < Low(TWave)) or (TWave(Gear^.Tag) > High(TWave)) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   351
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   352
            Gear^.State:= Gear^.State and not gstAnimation;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   353
            end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   354
        else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   355
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   356
            DrawRotatedF(Wavez[TWave(Gear^.Tag)].Sprite,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   357
                    sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   358
                    sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   359
                    Gear^.Pos,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   360
                    hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   361
                    0.0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   362
            defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   363
            end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   364
        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   365
    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   366
    if ((Gear^.State and gstAttacked) = 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   367
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   368
        if HH^.Timer > 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   369
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   370
            // There must be a tidier way to do this. Anyone?
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   371
            if aangle <= 90 then aangle:= aangle+360;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   372
            if Gear^.dX > _0 then aangle:= aangle-((aangle-240)*HH^.Timer/10)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   373
            else aangle:= aangle+((240-aangle)*HH^.Timer/10);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   374
            dec(HH^.Timer)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   375
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   376
        amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   377
        case amt of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   378
            amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   379
            amMortar: DrawRotated(sprHandMortar, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   380
            amMolotov: DrawRotated(sprHandMolotov, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   381
            amBallgun: DrawRotated(sprHandBallgun, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   382
            amDrill: DrawRotated(sprHandDrill, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   383
            amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   384
            amShotgun: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   385
            amDEagle: DrawRotated(sprHandDEagle, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   386
            amSineGun: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
3428
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   387
            amPortalGun: if (HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].Timer and 2) <> 0 then // Add a new Hedgehog value instead of abusing timer?
3396
e5b3e5f2818e More portal changes. Allows for a multishoot utility. Hopefully not breaking anything.
nemo
parents: 3393
diff changeset
   388
                            DrawRotatedF(sprPortalGun, hx, hy, 0, hwSign(Gear^.dX), aangle)
e5b3e5f2818e More portal changes. Allows for a multishoot utility. Hopefully not breaking anything.
nemo
parents: 3393
diff changeset
   389
                      else
3428
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   390
                            DrawRotatedF(sprPortalGun, hx, hy, 1+(HH^.Ammo^[HH^.CurSlot, HH^.CurAmmo].Timer and 1), hwSign(Gear^.dX), aangle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   391
            amSniperRifle: DrawRotatedF(sprSniperRifle, hx, hy, 0, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   392
            amBlowTorch: DrawRotated(sprHandBlowTorch, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   393
            amCake: DrawRotated(sprHandCake, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   394
            amGrenade: DrawRotated(sprHandGrenade, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   395
            amWatermelon: DrawRotated(sprHandMelon, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   396
            amSkip: DrawRotated(sprHandSkip, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   397
            amClusterBomb: DrawRotated(sprHandCluster, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   398
            amDynamite: DrawRotated(sprHandDynamite, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   399
            amHellishBomb: DrawRotated(sprHandHellish, hx, hy, hwSign(Gear^.dX), aangle);
3475
95345f98da19 Engine:
smxx
parents: 3461
diff changeset
   400
            amGasBomb: DrawRotated(sprHandCheese, hx, hy, hwSign(Gear^.dX), aangle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   401
            amMine: DrawRotated(sprHandMine, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   402
            amSeduction: DrawRotated(sprHandSeduction, hx, hy, hwSign(Gear^.dX), aangle);
3482
106d1f983b48 Engine:
smxx
parents: 3481
diff changeset
   403
            amVampiric: DrawRotatedF(sprHandVamp, hx, hy, (RealTicks div 125) mod 4, hwSign(Gear^.dX), aangle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   404
            amRCPlane: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   405
                DrawRotated(sprHandPlane, hx, hy, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   406
                defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   407
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   408
            amGirder: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   409
                DrawRotated(sprHandConstruction, hx, hy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   410
                DrawSpriteClipped(sprGirder,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   411
                                  sx-256,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   412
                                  sy-256,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   413
                                  LongInt(topY)+WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   414
                                  LongInt(rightX)+WorldDx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   415
                                  cWaterLine+WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   416
                                  LongInt(leftX)+WorldDx)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   417
                end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   418
            amBee: DrawRotatedF(sprHandBee, hx, hy, (RealTicks div 125) mod 4, hwSign(Gear^.dX), aangle);
3481
c385a7dad025 Engine:
smxx
parents: 3476
diff changeset
   419
            amFlamethrower: DrawRotatedF(sprHandFlamethrower, hx, hy, (RealTicks div 125) mod 4, hwSign(Gear^.dX), aangle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   420
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   421
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   422
        case amt of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   423
            amAirAttack,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   424
            amMineStrike: DrawRotated(sprHandAirAttack, sx, hwRound(Gear^.Y) + WorldDy, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   425
            amPickHammer: DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   426
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   427
                        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   428
                        2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   429
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   430
            amTeleport: DrawRotatedF(sprTeleport, sx, sy, 0, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   431
            amKamikaze: DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   432
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   433
                        1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   434
                        5,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   435
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   436
            amWhip: DrawRotatedF(sprWhip,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   437
                        sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   438
                        sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   439
                        0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   440
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   441
                        0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   442
        else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   443
            DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   444
                hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   445
                0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   446
                4,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   447
                0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   448
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   449
            HatVisible:= true;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   450
            (* with HH^ do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   451
                if (HatTex <> nil)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   452
                and (HatVisibility > 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   453
                    DrawTextureF(HatTex,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   454
                        HatVisibility,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   455
                        sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   456
                        hwRound(Gear^.Y) - 8 + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   457
                        0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   458
                        hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   459
                        32,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   460
                        32); *)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   461
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   462
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   463
        case amt of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   464
            amBaseballBat: DrawRotated(sprHandBaseball,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   465
                    hwRound(Gear^.X) + 1 - 4 * hwSign(Gear^.dX) + WorldDx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   466
                    hwRound(Gear^.Y) + 6 + WorldDy, hwSign(Gear^.dX), aangle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   467
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   468
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   469
        defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   470
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   471
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   472
end else // not gstHHDriven
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   473
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   474
    if (Gear^.Damage > 0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   475
    and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   476
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   477
        DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   478
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   479
            2,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   480
            1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   481
            Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   482
        defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   483
        end else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   484
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   485
    if ((Gear^.State and gstHHJumping) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   486
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   487
        DrawHedgehog(sx, sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   488
            hwSign(Gear^.dX)*m,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   489
            1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   490
            1,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   491
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   492
        defaultPos:= false
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   493
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   494
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   495
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   496
with HH^ do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   497
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   498
    if defaultPos then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   499
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   500
        DrawRotatedF(sprHHIdle,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   501
            sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   502
            sy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   503
            (RealTicks div 128 + Gear^.Pos) mod 19,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   504
            hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   505
            0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   506
        HatVisible:= true;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   507
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   508
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   509
    if HatVisible then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   510
        if HatVisibility < 1.0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   511
            HatVisibility:= HatVisibility + 0.2
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   512
        else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   513
    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   514
        if HatVisibility > 0.0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   515
            HatVisibility:= HatVisibility - 0.2;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   516
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   517
    if (HatTex <> nil)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   518
    and (HatVisibility > 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   519
        if DefaultPos then
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   520
            begin
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   521
            DrawTextureF(HatTex,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   522
                HatVisibility,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   523
                sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   524
                hwRound(Gear^.Y) - 8 + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   525
                (RealTicks div 128 + Gear^.Pos) mod 19,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   526
                hwSign(Gear^.dX),
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   527
                32,
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   528
                32);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   529
            if HatTex^.w > 32 then
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   530
                begin
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   531
                Tint(HH^.Team^.Clan^.Color);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   532
                DrawTextureF(HatTex,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   533
                    HatVisibility,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   534
                    sx,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   535
                    hwRound(Gear^.Y) - 8 + WorldDy,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   536
                    (RealTicks div 128 + Gear^.Pos) mod 19 + 32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   537
                    hwSign(Gear^.dX),
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   538
                    32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   539
                    32);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   540
                Tint($FF, $FF, $FF, $FF)
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   541
                end
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   542
            end
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   543
        else
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   544
            begin
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   545
            DrawTextureF(HatTex,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   546
                HatVisibility,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   547
                sx,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   548
                hwRound(Gear^.Y) - 8 + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   549
                0,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   550
                hwSign(Gear^.dX)*m,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   551
                32,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   552
                32);
3445
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   553
            if HatTex^.w > 32 then
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   554
                begin
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   555
                Tint(HH^.Team^.Clan^.Color);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   556
                DrawTextureF(HatTex,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   557
                    HatVisibility,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   558
                    sx,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   559
                    hwRound(Gear^.Y) - 8 + WorldDy,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   560
                    32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   561
                    hwSign(Gear^.dX)*m,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   562
                    32,
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   563
                    32);
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   564
                Tint($FF, $FF, $FF, $FF)
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   565
                end
1ce844170014 Engine:
smxx
parents: 3440
diff changeset
   566
            end
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   567
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   568
if (Gear^.State and gstHHDriven) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   569
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   570
(*    if (CurAmmoGear = nil) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   571
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   572
        amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   573
        case amt of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   574
            amJetpack: DrawSprite(sprJetpack, sx-32, sy-32, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   575
            end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   576
        end; *)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   577
    if CurAmmoGear <> nil then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   578
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   579
        case CurAmmoGear^.Kind of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   580
            gtJetpack: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   581
                       DrawSprite(sprJetpack, sx-32, sy-32, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   582
                       if (CurAmmoGear^.MsgParam and gm_Up) <> 0 then DrawSprite(sprJetpack, sx-32, sy-32, 1);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   583
                       if (CurAmmoGear^.MsgParam and gm_Left) <> 0 then DrawSprite(sprJetpack, sx-32, sy-32, 2);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   584
                       if (CurAmmoGear^.MsgParam and gm_Right) <> 0 then DrawSprite(sprJetpack, sx-32, sy-32, 3);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   585
                       if CurAmmoGear^.Tex <> nil then DrawCentered(sx, sy - 40, CurAmmoGear^.Tex);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   586
                       DrawAltWeapon(Gear, sx, sy)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   587
                       end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   588
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   589
        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   590
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   591
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   592
with HH^ do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   593
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   594
    if ((Gear^.State and not gstWinner) = 0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   595
        or (bShowFinger and ((Gear^.State and gstHHDriven) <> 0)) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   596
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   597
        t:= hwRound(Gear^.Y) - cHHRadius - 12 + WorldDy;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   598
        if (cTagsMask and htTransparent) <> 0 then
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   599
            Tint($FF, $FF, $FF, $80);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   600
        if ((cTagsMask and htHealth) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   601
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   602
            dec(t, HealthTagTex^.h + 2);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   603
            DrawCentered(hwRound(Gear^.X) + WorldDx, t, HealthTagTex)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   604
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   605
        if (cTagsMask and htName) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   606
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   607
            dec(t, NameTagTex^.h + 2);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   608
            DrawCentered(hwRound(Gear^.X) + WorldDx, t, NameTagTex)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   609
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   610
        if (cTagsMask and htTeamName) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   611
            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   612
            dec(t, Team^.NameTagTex^.h + 2);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   613
            DrawCentered(hwRound(Gear^.X) + WorldDx, t, Team^.NameTagTex)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   614
            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   615
        if (cTagsMask and htTransparent) <> 0 then
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   616
            Tint($FF, $FF, $FF, $FF)
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   617
        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   618
    if (Gear^.State and gstHHDriven) <> 0 then // Current hedgehog
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   619
        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   620
        if bShowFinger and ((Gear^.State and gstHHDriven) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   621
            DrawSprite(sprFinger, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 64 + WorldDy,
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   622
                        GameTicks div 32 mod 16);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   623
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   624
        if (Gear^.State and gstDrowning) = 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   625
            if (Gear^.State and gstHHThinking) <> 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   626
                DrawSprite(sprQuestion, hwRound(Gear^.X) - 10 + WorldDx, hwRound(Gear^.Y) - cHHRadius - 34 + WorldDy, (RealTicks shr 9) mod 8)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   627
        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   628
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   629
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   630
if HH^.Effects[hePoisoned] then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   631
    begin
3392
9d5d01b52ae8 Engine:
smxx
parents: 3390
diff changeset
   632
    Tint($00, $FF, $40, $80);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   633
    DrawRotatedTextureF(SpritesData[sprSmokeWhite].texture, 1.5, 0, 0, sx, sy, 0, 1, 22, 22, 360 - (RealTicks shr 37) mod 360);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   634
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   635
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   636
if Gear^.Invulnerable then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   637
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   638
    Tint($FF, $FF, $FF, max($40, floor($FF * abs(1 - ((RealTicks div 2 + Gear^.uid * 491) mod 1500) / 750))));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   639
    DrawSprite(sprInvulnerable, sx - 24, sy - 24, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   640
    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   641
if cVampiric and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   642
   (CurrentHedgehog^.Gear <> nil) and
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   643
   (CurrentHedgehog^.Gear = Gear) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   644
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   645
    Tint($FF, $FF, $FF, max($40, floor($FF * abs(1 - (RealTicks mod 1500) / 750))));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   646
    DrawSprite(sprVampiric, sx - 24, sy - 24, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   647
    end;
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   648
    Tint($FF, $FF, $FF, $FF)
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   649
end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   650
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   651
procedure DrawGears;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   652
var Gear, HHGear: PGear;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   653
    i: Longword;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   654
    startX, endX, startY, endY: LongInt;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   655
begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   656
Gear:= GearsList;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   657
while Gear<>nil do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   658
    begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   659
    case Gear^.Kind of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   660
       gtAmmo_Bomb: DrawRotated(sprBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
3475
95345f98da19 Engine:
smxx
parents: 3461
diff changeset
   661
       gtGasBomb: DrawRotated(sprCheese, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
3476
1ec68b8d3bd1 Henek adds a flamethrower, updates some translations, and tweaks how fire works.
nemo
parents: 3475
diff changeset
   662
       gtMolotov: DrawRotated(sprMolotov, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   663
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   664
       gtRCPlane: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   665
                  if (Gear^.Tag = -1) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   666
                     DrawRotated(sprPlane, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, -1,  DxDy2Angle(Gear^.dX, Gear^.dY) + 90)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   667
                  else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   668
                     DrawRotated(sprPlane, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy,0,DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   669
                  if ((TrainingFlags and tfRCPlane) <> 0) and (TrainingTargetGear <> nil) and ((Gear^.State and gstDrowning) = 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   670
                     DrawRotatedf(sprFinger, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, GameTicks div 32 mod 16, 0, DxDy2Angle(Gear^.X - TrainingTargetGear^.X, TrainingTargetGear^.Y - Gear^.Y));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   671
                  end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   672
       gtBall: DrawRotatedf(sprBalls, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tag,0, Gear^.DirAngle);
3428
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   673
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   674
       gtPortal: if ((Gear^.Tag and 1) = 0) // still moving?
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   675
                 or (Gear^.IntersectGear = nil) or (Gear^.IntersectGear^.IntersectGear <> Gear) // not linked&backlinked?
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   676
                 or ((Gear^.IntersectGear^.Tag and 1) = 0) then // linked portal still moving?
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   677
                      DrawRotatedf(sprPortal, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tag, hwSign(Gear^.dX), Gear^.DirAngle)
46a2694867bc portal:
sheepluva
parents: 3422
diff changeset
   678
                 else DrawRotatedf(sprPortal, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 4 + Gear^.Tag div 2, hwSign(Gear^.dX), Gear^.DirAngle);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   679
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   680
       gtDrill: DrawRotated(sprDrill, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   681
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   682
        gtHedgehog: DrawHH(Gear);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   683
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   684
    gtAmmo_Grenade: DrawRotated(sprGrenade, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   685
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   686
           gtGrave: DrawTextureF(PHedgehog(Gear^.Hedgehog)^.Team^.GraveTex, 1, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks shr 7+Gear^.uid) and 7, 1, 32, 32);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   687
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   688
             gtBee: DrawRotatedF(sprBee, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks shr 5) mod 2, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   689
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   690
      gtPickHammer: DrawSprite(sprPHammer, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 50 + LongInt(((GameTicks shr 5) and 1) * 2) + WorldDy, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   691
            gtRope: DrawRope(Gear);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   692
            gtMine: if (((Gear^.State and gstAttacking) = 0)or((Gear^.Timer and $3FF) < 420)) and (Gear^.Health <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   693
                           DrawRotated(sprMineOff, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   694
                       else if Gear^.Health <> 0 then DrawRotated(sprMineOn, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   695
                       else DrawRotated(sprMineDead, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   696
            gtCase: case Gear^.Pos of
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   697
                         posCaseAmmo  : begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   698
                                        i:= (GameTicks shr 6) mod 64;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   699
                                        if i > 18 then i:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   700
                                        DrawSprite(sprCase, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 24 + WorldDy, i);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   701
                                        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   702
                         posCaseHealth: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   703
                                        i:= ((GameTicks shr 6) + 38) mod 64;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   704
                                        if i > 13 then i:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   705
                                        DrawSprite(sprFAid, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 24 + WorldDy, i);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   706
                                        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   707
                         posCaseUtility: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   708
                                        i:= (GameTicks shr 6) mod 70;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   709
                                        if i > 23 then i:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   710
                                        i:= i mod 12;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   711
                                        DrawSprite(sprUtility, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 24 + WorldDy, i);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   712
                                        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   713
                         end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   714
      gtExplosives: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   715
                    if ((Gear^.State and gstDrowning) <> 0) then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   716
                        DrawSprite(sprExplosivesRoll, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 24 + WorldDy, 0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   717
                    else if Gear^.State and gstAnimation = 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   718
                        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   719
                        i:= (GameTicks shr 6 + Gear^.uid*3) mod 64;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   720
                        if i > 18 then i:= 0;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   721
                        DrawSprite(sprExplosives, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 24 + WorldDy, i)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   722
                        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   723
                    else if Gear^.State and gsttmpFlag = 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   724
                        DrawRotatedF(sprExplosivesRoll, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) +4 + WorldDy, 0, 0, Gear^.DirAngle)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   725
                    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   726
                        DrawRotatedF(sprExplosivesRoll, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) +4 + WorldDy, 1, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   727
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   728
        gtDynamite: DrawSprite2(sprDynamite, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 25 + WorldDy, Gear^.Tag and 1, Gear^.Tag shr 1);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   729
     gtClusterBomb: DrawRotated(sprClusterBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   730
         gtCluster: DrawSprite(sprClusterParticle, hwRound(Gear^.X) - 8 + WorldDx, hwRound(Gear^.Y) - 8 + WorldDy, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   731
           gtFlame: DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks div 128 + LongWord(Gear^.Tag)) mod 8, 1, 16, 16);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   732
       gtParachute: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   733
                    DrawSprite(sprParachute, hwRound(Gear^.X) - 24 + WorldDx, hwRound(Gear^.Y) - 48 + WorldDy, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   734
                    DrawAltWeapon(Gear, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   735
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   736
       gtAirAttack: if Gear^.Tag > 0 then DrawSprite(sprAirplane, hwRound(Gear^.X) - SpritesData[sprAirplane].Width div 2 + WorldDx, hwRound(Gear^.Y) - SpritesData[sprAirplane].Height div 2 + WorldDy, 0)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   737
                                     else DrawSprite(sprAirplane, hwRound(Gear^.X) - SpritesData[sprAirplane].Width div 2 + WorldDx, hwRound(Gear^.Y) - SpritesData[sprAirplane].Height div 2 + WorldDy, 1);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   738
         gtAirBomb: DrawRotated(sprAirBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   739
        gtTeleport: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   740
                    HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   741
                    if not PHedgehog(Gear^.Hedgehog)^.Unplaced then DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(Gear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   742
                    DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   743
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   744
        gtSwitcher: DrawSprite(sprSwitch, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 56 + WorldDy, (GameTicks shr 6) mod 12);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   745
          gtTarget: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   746
                    Tint($FF, $FF, $FF, floor($FF * Gear^.Timer / 1000));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   747
                    DrawSprite(sprTarget, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0);
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   748
                    Tint($FF, $FF, $FF, $FF);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   749
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   750
          gtMortar: DrawRotated(sprMortar, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   751
          gtCake: if Gear^.Pos = 6 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   752
                     DrawRotatedf(sprCakeWalk, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   753
                  else
3508
a7ca07614a2d correct cake sit-down animation so that it doesn't sit down in mid-air anymore
sheepluva
parents: 3496
diff changeset
   754
                     DrawRotatedf(sprCakeDown, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 5 - Gear^.Pos, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   755
       gtSeduction: if Gear^.Pos >= 14 then DrawSprite(sprSeduction, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   756
      gtWatermelon: DrawRotatedf(sprWatermelon, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   757
      gtMelonPiece: DrawRotatedf(sprWatermelon, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 1, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   758
     gtHellishBomb: DrawRotated(sprHellishBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   759
           gtBirdy: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   760
                    if Gear^.State and gstAnimation = gstAnimation then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   761
                        begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   762
                        if Gear^.State and gstTmpFlag = 0 then // Appearing
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   763
                            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   764
                            endX:= hwRound(Gear^.X);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   765
                            endY:= hwRound(Gear^.Y);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   766
                            if Gear^.Tag < 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   767
                                startX:= max(LAND_WIDTH + 1024, endX + 2048)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   768
                            else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   769
                                startX:= max(-LAND_WIDTH - 1024, endX - 2048);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   770
                            startY:= endY - 256;
3407
dcc129c4352e Engine:
smxx
parents: 3396
diff changeset
   771
                            DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + floor((endX - startX) * (-power(2, -10 * LongInt(Gear^.Timer)/2000) + 1)), startY + WorldDy + floor((endY - startY) * sqrt(1 - power((LongInt(Gear^.Timer)/2000)-1, 2))), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   772
                            end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   773
                        else // Disappearing
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   774
                            begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   775
                            startX:= hwRound(Gear^.X);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   776
                            startY:= hwRound(Gear^.Y);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   777
                            if Gear^.Tag > 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   778
                                endX:= max(LAND_WIDTH + 1024, startX + 2048)
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   779
                            else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   780
                                endX:= max(-LAND_WIDTH - 1024, startX - 2048);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   781
                            endY:= startY + 256;
3407
dcc129c4352e Engine:
smxx
parents: 3396
diff changeset
   782
                            DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + floor((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + floor((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY)) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   783
                            end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   784
                        end
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   785
                    else
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   786
                        DrawTextureF(SpritesData[sprBirdy].Texture, 1, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   787
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   788
             gtEgg: DrawRotatedTextureF(SpritesData[sprEgg].Texture, 1, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 16, 16, Gear^.DirAngle);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   789
           gtPiano: begin
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   790
                    if (Gear^.State and gstDrowning) = 0 then
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   791
                        begin
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   792
                        Tint($FF, $FF, $FF, $10);
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   793
                        for i:= 8 downto 1 do
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   794
                            DrawRotatedTextureF(SpritesData[sprPiano].Texture, 1, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy - hwRound(Gear^.dY * 4 * i), 0, 1, 128, 128, 0);
3390
1d4926d10a9e Engine:
smxx
parents: 3387
diff changeset
   795
                        Tint($FF, $FF, $FF, $FF)
3387
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   796
                        end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   797
                    DrawRotatedTextureF(SpritesData[sprPiano].Texture, 1, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 128, 128, 0);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   798
                    end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   799
         end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   800
      if Gear^.RenderTimer and (Gear^.Tex <> nil) then DrawCentered(hwRound(Gear^.X) + 8 + WorldDx, hwRound(Gear^.Y) + 8 + WorldDy, Gear^.Tex);
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   801
      Gear:= Gear^.NextGear
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   802
      end;
733f4001b8b9 Break out DrawHH/DrawGear to reduce scrolling in uGears.pas, add portal graphics
nemo
parents:
diff changeset
   803
end;