changeset 3693 | 09892cdb8f95 |
parent 3689 | e2be39ee19f0 |
child 3697 | d5b30d6373fc |
3680:aaf832c6fbd7 | 3693:09892cdb8f95 |
---|---|
113 @doStepFeather, |
113 @doStepFeather, |
114 @doStepHealthTag, |
114 @doStepHealthTag, |
115 @doStepSmokeTrace, |
115 @doStepSmokeTrace, |
116 @doStepSmokeTrace, |
116 @doStepSmokeTrace, |
117 @doStepExplosion, |
117 @doStepExplosion, |
118 @doStepBigExplosion |
118 @doStepBigExplosion, |
119 @doStepChunk |
|
119 ); |
120 ); |
120 |
121 |
121 function AddVisualGear(X, Y: LongInt; Kind: TVisualGearType; State: LongWord = 0): PVisualGear; |
122 function AddVisualGear(X, Y: LongInt; Kind: TVisualGearType; State: LongWord = 0): PVisualGear; |
122 var gear: PVisualGear; |
123 var gear: PVisualGear; |
123 t: Longword; |
124 t: Longword; |
296 gear^.State:= 8; |
297 gear^.State:= 8; |
297 //gear^.Z:= cSmokeZ |
298 //gear^.Z:= cSmokeZ |
298 end; |
299 end; |
299 vgtBigExplosion: begin |
300 vgtBigExplosion: begin |
300 gear^.Angle:= random(360); |
301 gear^.Angle:= random(360); |
302 end; |
|
303 vgtChunk: begin |
|
304 gear^.Frame:= random(4); |
|
305 t:= random(1024); |
|
306 sp:= 0.001 * (random(85) + 47); |
|
307 dx:= AngleSin(t).QWordValue/4294967296 * sp; |
|
308 dy:= AngleCos(t).QWordValue/4294967296 * sp; |
|
309 if random(2) = 0 then dx := -dx; |
|
310 (*if random(2) = 0 then*) dy := -2 * dy; |
|
301 end; |
311 end; |
302 end; |
312 end; |
303 |
313 |
304 if State <> 0 then gear^.State:= State; |
314 if State <> 0 then gear^.State:= State; |
305 |
315 |
453 end; |
463 end; |
454 vgtSmokeRing: begin |
464 vgtSmokeRing: begin |
455 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
465 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
456 DrawRotatedTextureF(SpritesData[sprSmokeRing].Texture, Gear^.scale, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, 0, 1, 200, 200, Gear^.Angle); |
466 DrawRotatedTextureF(SpritesData[sprSmokeRing].Texture, Gear^.scale, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, 0, 1, 200, 200, Gear^.Angle); |
457 end; |
467 end; |
468 vgtChunk: DrawRotatedF(sprChunk, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle); |
|
458 end; |
469 end; |
459 case Gear^.Kind of |
470 case Gear^.Kind of |
460 vgtSmallDamageTag: DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |
471 vgtSmallDamageTag: DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |
461 vgtSpeechBubble: if Gear^.Tex <> nil then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |
472 vgtSpeechBubble: if Gear^.Tex <> nil then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |
462 vgtHealthTag: if Gear^.Tex <> nil then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |
473 vgtHealthTag: if Gear^.Tex <> nil then DrawCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); |