48 end; |
48 end; |
49 rounded: array[0..MAXROPEPOINTS + 2] of TVertex2f; |
49 rounded: array[0..MAXROPEPOINTS + 2] of TVertex2f; |
50 end; |
50 end; |
51 |
51 |
52 implementation |
52 implementation |
53 uses uRender, uUtils, uVariables, uAmmos, Math, uVisualGears; |
53 uses uRender, uUtils, uVariables, uAmmos, Math, uVisualGearsList; |
54 |
|
55 const |
|
56 // hog tag mask |
|
57 //htNone = $00; |
|
58 htTeamName = $01; |
|
59 htName = $02; |
|
60 htHealth = $04; |
|
61 htTransparent = $08; |
|
62 |
54 |
63 procedure DrawRopeLinesRQ(Gear: PGear); |
55 procedure DrawRopeLinesRQ(Gear: PGear); |
64 begin |
56 begin |
65 with RopePoints do |
57 with RopePoints do |
66 begin |
58 begin |
690 DrawSpriteRotated(sprHandPlane, hx, hy, sign, 0); |
682 DrawSpriteRotated(sprHandPlane, hx, hy, sign, 0); |
691 defaultPos:= false |
683 defaultPos:= false |
692 end; |
684 end; |
693 amGirder: begin |
685 amGirder: begin |
694 DrawSpriteRotated(sprHandConstruction, hx, hy, sign, aangle); |
686 DrawSpriteRotated(sprHandConstruction, hx, hy, sign, aangle); |
|
687 if WorldEdge = weWrap then |
|
688 begin |
|
689 if hwRound(Gear^.X) < leftX+256 then |
|
690 DrawSpriteClipped(sprGirder, |
|
691 rightX+(ox-leftX)-256, |
|
692 oy-256, |
|
693 LongInt(topY)+WorldDy, |
|
694 LongInt(rightX)+WorldDx, |
|
695 cWaterLine+WorldDy, |
|
696 LongInt(leftX)+WorldDx); |
|
697 if hwRound(Gear^.X) > rightX-256 then |
|
698 DrawSpriteClipped(sprGirder, |
|
699 leftX-(rightX-ox)-256, |
|
700 oy-256, |
|
701 LongInt(topY)+WorldDy, |
|
702 LongInt(rightX)+WorldDx, |
|
703 cWaterLine+WorldDy, |
|
704 LongInt(leftX)+WorldDx) |
|
705 end; |
695 DrawSpriteClipped(sprGirder, |
706 DrawSpriteClipped(sprGirder, |
696 ox-256, |
707 ox-256, |
697 oy-256, |
708 oy-256, |
698 LongInt(topY)+WorldDy, |
709 LongInt(topY)+WorldDy, |
699 LongInt(rightX)+WorldDx, |
710 LongInt(rightX)+WorldDx, |