index 5ec00178c0d905258d602e97c2889366cf6f24a9..79b3c2b62adf1cb753eb97af83b948eecc104ec8 100644 (file)
type
TOnceAnim = record
AnimType: Byte;
+ Alpha: Byte;
x, y: Integer;
oldX, oldY: Integer;
Animation: TAnimationState;
end;
procedure r_GFX_OnceAnim (AnimType, x, y: Integer);
- var find_id: DWORD; a: TAnimationState;
+ var find_id: DWORD; a: TAnimationState; alpha: Byte;
begin
if not gpart_dbg_enabled then exit;
find_id := FindOnceAnim();
+ alpha := 0;
case AnimType of
R_GFX_NONE: a := nil;
R_GFX_TELEPORT: a := TAnimationState.Create(false, 6, 10); // !!! speed can be 3
begin
AnimType := R_GFX_SMOKE;
a := TAnimationState.Create(false, 3, 10);
- a.alpha := 150;
+ alpha := 150;
end;
R_GFX_EXPLODE_SKELFIRE: a := TAnimationState.Create(false, 8, 3);
R_GFX_EXPLODE_PLASMA: a := TAnimationState.Create(false, 3, 4);
assert(false)
end;
OnceAnims[find_id].AnimType := AnimType;
+ OnceAnims[find_id].Alpha := alpha;
OnceAnims[find_id].Animation := a;
-// OnceAnims[find_id].Animation.Blending := Anim.Blending;
-// OnceAnims[find_id].Animation.alpha := Anim.alpha;
OnceAnims[find_id].x := x;
OnceAnims[find_id].y := y;
end;
begin
fx := nlerp(oldx, x, gLerpFactor);
fy := nlerp(oldy, y, gLerpFactor);
- r_AnimationState_Draw(gfxFrames[AnimType], Animation, x, y, TMirrorType.None);
+ r_AnimationState_Draw(gfxFrames[AnimType], Animation, x, y, Alpha, TMirrorType.None, False);
end;
end;
end;