63 |
63 |
64 Tint($C0, $C0, $C0, $FF); |
64 Tint($C0, $C0, $C0, $FF); |
65 |
65 |
66 glVertexPointer(2, GL_FLOAT, 0, @RopePoints.rounded[0]); |
66 glVertexPointer(2, GL_FLOAT, 0, @RopePoints.rounded[0]); |
67 glDrawArrays(GL_LINE_STRIP, 0, RopePoints.Count + 2); |
67 glDrawArrays(GL_LINE_STRIP, 0, RopePoints.Count + 2); |
68 Tint($FF, $FF, $FF, $FF); |
68 untint; |
69 |
69 |
70 glPopMatrix; |
70 glPopMatrix; |
71 |
71 |
72 glEnable(GL_TEXTURE_2D); |
72 glEnable(GL_TEXTURE_2D); |
73 //glDisable(GL_LINE_SMOOTH) |
73 //glDisable(GL_LINE_SMOOTH) |
220 if (Gear^.State and gstHHDeath) <> 0 then |
220 if (Gear^.State and gstHHDeath) <> 0 then |
221 begin |
221 begin |
222 DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos); |
222 DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos); |
223 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
223 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
224 DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos + 8); |
224 DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos + 8); |
225 Tint($FF, $FF, $FF, $FF); |
225 untint; |
226 exit |
226 exit |
227 end |
227 end |
228 else if (Gear^.State and gstHHGone) <> 0 then |
228 else if (Gear^.State and gstHHGone) <> 0 then |
229 begin |
229 begin |
230 DrawSpriteRotatedF(sprTeleport, sx, sy, Gear^.Pos, sign, 0); |
230 DrawSpriteRotatedF(sprTeleport, sx, sy, Gear^.Pos, sign, 0); |
261 |
261 |
262 if HH^.Effects[hePoisoned] <> 0 then |
262 if HH^.Effects[hePoisoned] <> 0 then |
263 begin |
263 begin |
264 Tint($00, $FF, $40, $40); |
264 Tint($00, $FF, $40, $40); |
265 DrawTextureRotatedF(SpritesData[sprSmokeWhite].texture, 2, 0, 0, sx, sy, 0, 1, 22, 22, (RealTicks shr 36) mod 360); |
265 DrawTextureRotatedF(SpritesData[sprSmokeWhite].texture, 2, 0, 0, sx, sy, 0, 1, 22, 22, (RealTicks shr 36) mod 360); |
266 Tint($FF, $FF, $FF, $FF) |
266 untint |
267 end; |
267 end; |
268 |
268 |
269 |
269 |
270 if ((Gear^.State and gstWinner) <> 0) and |
270 if ((Gear^.State and gstWinner) <> 0) and |
271 ((CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtPickHammer)) then |
271 ((CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtPickHammer)) then |
360 end; |
360 end; |
361 // draw crosshair |
361 // draw crosshair |
362 CrosshairX := Round(hwRound(Gear^.X) + dx * 80 + GetLaunchX(HH^.CurAmmoType, sign * m, Gear^.Angle)); |
362 CrosshairX := Round(hwRound(Gear^.X) + dx * 80 + GetLaunchX(HH^.CurAmmoType, sign * m, Gear^.Angle)); |
363 CrosshairY := Round(hwRound(Gear^.Y) + dy * 80 + GetLaunchY(HH^.CurAmmoType, Gear^.Angle)); |
363 CrosshairY := Round(hwRound(Gear^.Y) + dy * 80 + GetLaunchY(HH^.CurAmmoType, Gear^.Angle)); |
364 |
364 |
|
365 setTintAdd(true); |
365 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
366 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
366 DrawTextureRotated(CrosshairTexture, |
367 DrawTextureRotated(CrosshairTexture, |
367 12, 12, CrosshairX + WorldDx, CrosshairY + WorldDy, 0, |
368 12, 12, CrosshairX + WorldDx, CrosshairY + WorldDy, 0, |
368 sign * (Gear^.Angle * 180.0) / cMaxAngle); |
369 sign * (Gear^.Angle * 180.0) / cMaxAngle); |
369 Tint($FFFFFFFF); |
370 untint; |
|
371 setTintAdd(false); |
370 end; |
372 end; |
|
373 |
371 hx:= ox + 8 * sign; |
374 hx:= ox + 8 * sign; |
372 hy:= oy - 2; |
375 hy:= oy - 2; |
373 aangle:= Gear^.Angle * 180 / cMaxAngle - 90; |
376 aangle:= Gear^.Angle * 180 / cMaxAngle - 90; |
374 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind <> gtTardis) then |
377 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind <> gtTardis) then |
375 begin |
378 begin |
420 if HatTex^.w > 64 then |
423 if HatTex^.w > 64 then |
421 begin |
424 begin |
422 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
425 Tint(HH^.Team^.Clan^.Color shl 8 or $FF); |
423 DrawTextureRotatedF(HatTex, 1.0, -1.0, -6.0, ox, oy, 32, i, 32, 32, |
426 DrawTextureRotatedF(HatTex, 1.0, -1.0, -6.0, ox, oy, 32, i, 32, 32, |
424 i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); |
427 i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); |
425 Tint($FF, $FF, $FF, $FF) |
428 untint |
426 end |
429 end |
427 end |
430 end |
428 end; |
431 end; |
429 DrawAltWeapon(Gear, ox, oy); |
432 DrawAltWeapon(Gear, ox, oy); |
430 defaultPos:= false |
433 defaultPos:= false |
661 amSeduction: begin |
664 amSeduction: begin |
662 DrawSpriteRotated(sprHandSeduction, hx, hy, sign, aangle); |
665 DrawSpriteRotated(sprHandSeduction, hx, hy, sign, aangle); |
663 DrawCircle(ox, oy, 248, 4, $FF, $00, $00, $AA); |
666 DrawCircle(ox, oy, 248, 4, $FF, $00, $00, $AA); |
664 //Tint($FF, $0, $0, $AA); |
667 //Tint($FF, $0, $0, $AA); |
665 //DrawTexture(ox - 240, oy - 240, SpritesData[sprVampiric].Texture, 10); |
668 //DrawTexture(ox - 240, oy - 240, SpritesData[sprVampiric].Texture, 10); |
666 //Tint($FF, $FF, $FF, $FF); |
669 //untint; |
667 end; |
670 end; |
668 amVampiric: DrawSpriteRotatedF(sprHandVamp, hx, hy, (RealTicks div 125) mod 4, sign, aangle); |
671 amVampiric: DrawSpriteRotatedF(sprHandVamp, hx, hy, (RealTicks div 125) mod 4, sign, aangle); |
669 amRCPlane: begin |
672 amRCPlane: begin |
670 DrawSpriteRotated(sprHandPlane, hx, hy, sign, 0); |
673 DrawSpriteRotated(sprHandPlane, hx, hy, sign, 0); |
671 defaultPos:= false |
674 defaultPos:= false |
915 begin |
918 begin |
916 dec(t, Team^.NameTagTex^.h + 2); |
919 dec(t, Team^.NameTagTex^.h + 2); |
917 DrawTextureCentered(ox, t, Team^.NameTagTex) |
920 DrawTextureCentered(ox, t, Team^.NameTagTex) |
918 end; |
921 end; |
919 if (cTagsMask and htTransparent) <> 0 then |
922 if (cTagsMask and htTransparent) <> 0 then |
920 Tint($FF, $FF, $FF, $FF) |
923 untint |
921 end; |
924 end; |
922 if (Gear^.State and gstHHDriven) <> 0 then // Current hedgehog |
925 if (Gear^.State and gstHHDriven) <> 0 then // Current hedgehog |
923 begin |
926 begin |
924 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtResurrector) then |
927 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtResurrector) then |
925 DrawTextureCentered(ox, sy - cHHRadius - 7 - HealthTagTex^.h, HealthTagTex); |
928 DrawTextureCentered(ox, sy - cHHRadius - 7 - HealthTagTex^.h, HealthTagTex); |
966 else |
969 else |
967 DrawTextureFromRectDir(sx-16 + sign*2, sy+16-iceoffset, r.w, r.h, @r, HHTexture, sign); |
970 DrawTextureFromRectDir(sx-16 + sign*2, sy+16-iceoffset, r.w, r.h, @r, HHTexture, sign); |
968 |
971 |
969 |
972 |
970 if HH^.Effects[heFrozen] < 150000 then |
973 if HH^.Effects[heFrozen] < 150000 then |
971 Tint($FF, $FF, $FF, $FF); |
974 untint; |
972 end; |
975 end; |
973 |
976 |
974 |
977 |
975 if cVampiric and |
978 if cVampiric and |
976 (CurrentHedgehog^.Gear <> nil) and |
979 (CurrentHedgehog^.Gear <> nil) and |
977 (CurrentHedgehog^.Gear = Gear) then |
980 (CurrentHedgehog^.Gear = Gear) then |
978 begin |
981 begin |
979 Tint($FF, 0, 0, max($40, round($FF * abs(1 - (RealTicks mod 1500) / 750)))); |
982 Tint($FF, 0, 0, max($40, round($FF * abs(1 - (RealTicks mod 1500) / 750)))); |
980 DrawSprite(sprVampiric, sx - 24, sy - 24, 0); |
983 DrawSprite(sprVampiric, sx - 24, sy - 24, 0); |
981 end; |
984 end; |
982 Tint($FF, $FF, $FF, $FF) |
985 untint |
983 end; |
986 end; |
984 |
987 |
985 |
988 |
986 procedure RenderGear(Gear: PGear; x, y: LongInt); |
989 procedure RenderGear(Gear: PGear; x, y: LongInt); |
987 var |
990 var |
1015 gtRCPlane: begin |
1018 gtRCPlane: begin |
1016 aangle:= Gear^.Angle * 360 / 4096; |
1019 aangle:= Gear^.Angle * 360 / 4096; |
1017 if Gear^.Tag < 0 then aangle:= 360-aangle; |
1020 if Gear^.Tag < 0 then aangle:= 360-aangle; |
1018 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
1021 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
1019 DrawSpriteRotatedF(sprPlane, x, y, 0, Gear^.Tag, aangle - 90); |
1022 DrawSpriteRotatedF(sprPlane, x, y, 0, Gear^.Tag, aangle - 90); |
1020 Tint($FF, $FF, $FF, $FF); |
1023 untint; |
1021 DrawSpriteRotatedF(sprPlane, x, y, 1, Gear^.Tag, aangle - 90) |
1024 DrawSpriteRotatedF(sprPlane, x, y, 1, Gear^.Tag, aangle - 90) |
1022 end; |
1025 end; |
1023 gtBall: DrawSpriteRotatedF(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
1026 gtBall: DrawSpriteRotatedF(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
1024 |
1027 |
1025 gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? |
1028 gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? |
1043 begin |
1046 begin |
1044 //Tint($33, $33, $FF, max($40, round($FF * abs(1 - (GameTicks mod (6000 div Gear^.Health)) / 750)))); |
1047 //Tint($33, $33, $FF, max($40, round($FF * abs(1 - (GameTicks mod (6000 div Gear^.Health)) / 750)))); |
1045 Tint($f5, $db, $35, max($40, round($FF * abs(1 - (GameTicks mod 1500) / (750 + Gear^.Health))))); |
1048 Tint($f5, $db, $35, max($40, round($FF * abs(1 - (GameTicks mod 1500) / (750 + Gear^.Health))))); |
1046 //Tint($FF, $FF, $FF, max($40, round($FF * abs(1 - (RealTicks mod 1500) / 750)))); |
1049 //Tint($FF, $FF, $FF, max($40, round($FF * abs(1 - (RealTicks mod 1500) / 750)))); |
1047 DrawSprite(sprVampiric, x - 24, y - 24, 0); |
1050 DrawSprite(sprVampiric, x - 24, y - 24, 0); |
1048 Tint($FF, $FF, $FF, $FF) |
1051 untint |
1049 end |
1052 end |
1050 end; |
1053 end; |
1051 gtBee: DrawSpriteRotatedF(sprBee, x, y, (GameTicks shr 5) mod 2, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1054 gtBee: DrawSpriteRotatedF(sprBee, x, y, (GameTicks shr 5) mod 2, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1052 gtPickHammer: DrawSprite(sprPHammer, x - 16, y - 50 + LongInt(((GameTicks shr 5) and 1) * 2), 0); |
1055 gtPickHammer: DrawSprite(sprPHammer, x - 16, y - 50 + LongInt(((GameTicks shr 5) and 1) * 2), 0); |
1053 gtRope: DrawRope(Gear); |
1056 gtRope: DrawRope(Gear); |
1137 DrawAltWeapon(Gear, x + 1, y - 3) |
1140 DrawAltWeapon(Gear, x + 1, y - 3) |
1138 end; |
1141 end; |
1139 gtAirAttack: begin |
1142 gtAirAttack: begin |
1140 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
1143 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
1141 DrawSpriteRotatedF(sprAirplane, x, y, 0, Gear^.Tag, 0); |
1144 DrawSpriteRotatedF(sprAirplane, x, y, 0, Gear^.Tag, 0); |
1142 Tint($FF, $FF, $FF, $FF); |
1145 untint; |
1143 DrawSpriteRotatedF(sprAirplane, x, y, 1, Gear^.Tag, 0); |
1146 DrawSpriteRotatedF(sprAirplane, x, y, 1, Gear^.Tag, 0); |
1144 end; |
1147 end; |
1145 gtAirBomb: DrawSpriteRotated(sprAirBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1148 gtAirBomb: DrawSpriteRotated(sprAirBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1146 gtTeleport: begin |
1149 gtTeleport: begin |
1147 HHGear:= Gear^.Hedgehog^.Gear; |
1150 HHGear:= Gear^.Hedgehog^.Gear; |
1151 end; |
1154 end; |
1152 gtSwitcher: DrawSprite(sprSwitch, x - 16, y - 56, (GameTicks shr 6) mod 12); |
1155 gtSwitcher: DrawSprite(sprSwitch, x - 16, y - 56, (GameTicks shr 6) mod 12); |
1153 gtTarget: begin |
1156 gtTarget: begin |
1154 Tint($FF, $FF, $FF, round($FF * Gear^.Timer / 1000)); |
1157 Tint($FF, $FF, $FF, round($FF * Gear^.Timer / 1000)); |
1155 DrawSprite(sprTarget, x - 16, y - 16, 0); |
1158 DrawSprite(sprTarget, x - 16, y - 16, 0); |
1156 Tint($FF, $FF, $FF, $FF); |
1159 untint; |
1157 end; |
1160 end; |
1158 gtMortar: DrawSpriteRotated(sprMortar, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1161 gtMortar: DrawSpriteRotated(sprMortar, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1159 gtCake: if Gear^.Pos = 6 then |
1162 gtCake: if Gear^.Pos = 6 then |
1160 DrawSpriteRotatedF(sprCakeWalk, x, y, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90) |
1163 DrawSpriteRotatedF(sprCakeWalk, x, y, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90) |
1161 else |
1164 else |
1205 if (Gear^.State and gstDrowning) = 0 then |
1208 if (Gear^.State and gstDrowning) = 0 then |
1206 begin |
1209 begin |
1207 Tint($FF, $FF, $FF, $10); |
1210 Tint($FF, $FF, $FF, $10); |
1208 for i:= 8 downto 1 do |
1211 for i:= 8 downto 1 do |
1209 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y - hwRound(Gear^.dY * 4 * i), 0, 1, 128, 128); |
1212 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y - hwRound(Gear^.dY * 4 * i), 0, 1, 128, 128); |
1210 Tint($FF, $FF, $FF, $FF) |
1213 untint |
1211 end; |
1214 end; |
1212 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y, 0, 1, 128, 128); |
1215 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y, 0, 1, 128, 128); |
1213 end; |
1216 end; |
1214 gtPoisonCloud: begin |
1217 gtPoisonCloud: begin |
1215 if Gear^.Timer < 1020 then |
1218 if Gear^.Timer < 1020 then |
1217 else if Gear^.Timer > 3980 then |
1220 else if Gear^.Timer > 3980 then |
1218 Tint($C0, $C0, $00, (5000 - Gear^.Timer) div 8) |
1221 Tint($C0, $C0, $00, (5000 - Gear^.Timer) div 8) |
1219 else |
1222 else |
1220 Tint($C0, $C0, $00, $C0); |
1223 Tint($C0, $C0, $00, $C0); |
1221 DrawTextureRotatedF(SpritesData[sprSmokeWhite].texture, 3, 0, 0, x, y, 0, 1, 22, 22, (RealTicks shr 36 + Gear^.UID * 100) mod 360); |
1224 DrawTextureRotatedF(SpritesData[sprSmokeWhite].texture, 3, 0, 0, x, y, 0, 1, 22, 22, (RealTicks shr 36 + Gear^.UID * 100) mod 360); |
1222 Tint($FF, $FF, $FF, $FF) |
1225 untint |
1223 end; |
1226 end; |
1224 gtResurrector: begin |
1227 gtResurrector: begin |
1225 DrawSpriteRotated(sprCross, x, y, 0, 0); |
1228 DrawSpriteRotated(sprCross, x, y, 0, 0); |
1226 Tint($f5, $db, $35, max($00, round($C0 * abs(1 - (GameTicks mod 6000) / 3000)))); |
1229 Tint($f5, $db, $35, max($00, round($C0 * abs(1 - (GameTicks mod 6000) / 3000)))); |
1227 DrawTexture(x - 108, y - 108, SpritesData[sprVampiric].Texture, 4.5); |
1230 DrawTexture(x - 108, y - 108, SpritesData[sprVampiric].Texture, 4.5); |
1228 Tint($FF, $FF, $FF, $FF); |
1231 untint; |
1229 end; |
1232 end; |
1230 gtNapalmBomb: DrawSpriteRotated(sprNapalmBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1233 gtNapalmBomb: DrawSpriteRotated(sprNapalmBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1231 gtFlake: if Gear^.State and (gstDrowning or gstTmpFlag) <> 0 then |
1234 gtFlake: if Gear^.State and (gstDrowning or gstTmpFlag) <> 0 then |
1232 begin |
1235 begin |
1233 Tint((ExplosionBorderColor shr RShift) and $FF, |
1236 Tint((ExplosionBorderColor shr RShift) and $FF, |
1236 $FF); |
1239 $FF); |
1237 // Needs a nicer white texture to tint |
1240 // Needs a nicer white texture to tint |
1238 DrawTextureRotatedF(SpritesData[sprSnowDust].Texture, 1, 0, 0, x, y, 0, 1, 8, 8, Gear^.DirAngle); |
1241 DrawTextureRotatedF(SpritesData[sprSnowDust].Texture, 1, 0, 0, x, y, 0, 1, 8, 8, Gear^.DirAngle); |
1239 //DrawSpriteRotated(sprSnowDust, x, y, 0, Gear^.DirAngle); |
1242 //DrawSpriteRotated(sprSnowDust, x, y, 0, Gear^.DirAngle); |
1240 //DrawTexture(x, y, SpritesData[sprVampiric].Texture, 0.1); |
1243 //DrawTexture(x, y, SpritesData[sprVampiric].Texture, 0.1); |
1241 Tint($FF, $FF, $FF, $FF); |
1244 untint; |
1242 end |
1245 end |
1243 else //if not isInLag then |
1246 else //if not isInLag then |
1244 begin |
1247 begin |
1245 if isInLag and (Gear^.FlightTime < 256) then |
1248 if isInLag and (Gear^.FlightTime < 256) then |
1246 inc(Gear^.FlightTime, 8) |
1249 inc(Gear^.FlightTime, 8) |
1253 else |
1256 else |
1254 DrawSpriteRotatedF(sprFlake, x, y, Gear^.Timer, 1, Gear^.DirAngle); |
1257 DrawSpriteRotatedF(sprFlake, x, y, Gear^.Timer, 1, Gear^.DirAngle); |
1255 //DrawSprite(sprFlake, x-SpritesData[sprFlake].Width div 2, y-SpritesData[sprFlake].Height div 2, Gear^.Timer) |
1258 //DrawSprite(sprFlake, x-SpritesData[sprFlake].Width div 2, y-SpritesData[sprFlake].Height div 2, Gear^.Timer) |
1256 //DrawSpriteRotatedF(sprFlake, x-SpritesData[sprFlake].Width div 2, y-SpritesData[sprFlake].Height div 2, Gear^.Timer, 1, Gear^.DirAngle); |
1259 //DrawSpriteRotatedF(sprFlake, x-SpritesData[sprFlake].Width div 2, y-SpritesData[sprFlake].Height div 2, Gear^.Timer, 1, Gear^.DirAngle); |
1257 if Gear^.FlightTime > 0 then |
1260 if Gear^.FlightTime > 0 then |
1258 Tint($FF, $FF, $FF, $FF); |
1261 untint; |
1259 end; |
1262 end; |
1260 //gtStructure: DrawSprite(sprTarget, x - 16, y - 16, 0); |
1263 //gtStructure: DrawSprite(sprTarget, x - 16, y - 16, 0); |
1261 gtTardis: if Gear^.Pos <> 4 then |
1264 gtTardis: if Gear^.Pos <> 4 then |
1262 begin |
1265 begin |
1263 if Gear^.Pos = 2 then |
1266 if Gear^.Pos = 2 then |
1264 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF) |
1267 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF) |
1265 else |
1268 else |
1266 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000))))); |
1269 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000))))); |
1267 DrawSprite(sprTardis, x-24, y-63,0); |
1270 DrawSprite(sprTardis, x-24, y-63,0); |
1268 if Gear^.Pos = 2 then |
1271 if Gear^.Pos = 2 then |
1269 Tint($FF, $FF, $FF, $FF) |
1272 untint |
1270 else |
1273 else |
1271 Tint($FF,$FF,$FF,max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000))))); |
1274 Tint($FF,$FF,$FF,max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000))))); |
1272 DrawSprite(sprTardis, x-24, y-63,1); |
1275 DrawSprite(sprTardis, x-24, y-63,1); |
1273 if Gear^.Pos <> 2 then |
1276 if Gear^.Pos <> 2 then |
1274 Tint($FF, $FF, $FF, $FF) |
1277 untint |
1275 (* |
1278 (* |
1276 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or max($00, round(Gear^.Power * abs(1 - (RealTicks mod 500) / 250)))); |
1279 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or max($00, round(Gear^.Power * abs(1 - (RealTicks mod 500) / 250)))); |
1277 DrawTexture(x-6, y-70, SpritesData[sprVampiric].Texture, 0.25); |
1280 DrawTexture(x-6, y-70, SpritesData[sprVampiric].Texture, 0.25); |
1278 Tint($FF, $FF, $FF, $FF) |
1281 untint |
1279 *) |
1282 *) |
1280 end; |
1283 end; |
1281 gtIceGun: begin |
1284 gtIceGun: begin |
1282 HHGear := Gear^.Hedgehog^.Gear; |
1285 HHGear := Gear^.Hedgehog^.Gear; |
1283 if HHGear <> nil then |
1286 if HHGear <> nil then |
1311 end; |
1314 end; |
1312 gtGenericFaller: DrawCircle(x, y, 3, 3, $FF, $00, $00, $FF); // debug |
1315 gtGenericFaller: DrawCircle(x, y, 3, 3, $FF, $00, $00, $FF); // debug |
1313 end; |
1316 end; |
1314 if Gear^.RenderTimer and (Gear^.Tex <> nil) then |
1317 if Gear^.RenderTimer and (Gear^.Tex <> nil) then |
1315 DrawTextureCentered(x + 8, y + 8, Gear^.Tex); |
1318 DrawTextureCentered(x + 8, y + 8, Gear^.Tex); |
1316 if Gear^.State and gstFrozen <> 0 then Tint($FF, $FF, $FF, $FF) |
1319 if Gear^.State and gstFrozen <> 0 then untint |
1317 end; |
1320 end; |
1318 |
1321 |
1319 end. |
1322 end. |