index cc10d127d89fb67e0a73a1e191771e8328b3e842..aefbabbb9144cca15a9bf7a6a16fb91aaf61b59d 100644 (file)
MAPDEF, utils, e_log, wadreader,
ImagingTypes, Imaging, ImagingUtility,
r_graphics, g_options, r_animations, r_textures,
MAPDEF, utils, e_log, wadreader,
ImagingTypes, Imaging, ImagingUtility,
r_graphics, g_options, r_animations, r_textures,
- g_basic, g_map, g_weapons, g_textures, g_player, g_phys, g_game
+ g_basic, g_map, g_weapons, g_animations, g_player, g_phys, g_game
;
const
;
const
end;
RedFlagFrames: DWORD;
BlueFlagFrames: DWORD;
end;
RedFlagFrames: DWORD;
BlueFlagFrames: DWORD;
- FlagAnimState: TAnimationState;
+ FlagAnimState: TAnimState;
{$IFDEF ENABLE_GIBS}
function r_PlayerModel_GetGibRect (m, id: Integer): TRectWH;
{$IFDEF ENABLE_GIBS}
function r_PlayerModel_GetGibRect (m, id: Integer): TRectWH;
procedure r_PlayerModel_Initialize;
begin
procedure r_PlayerModel_Initialize;
begin
- FlagAnimState := TAnimationState.Create(True, 8, 5);
+ FlagAnimState := TAnimState.Create(True, 8, 5);
end;
procedure r_PlayerModel_Finalize;
begin
end;
procedure r_PlayerModel_Finalize;
begin
- FlagAnimState.Free;
- FlagAnimState := nil;
+ FlagAnimState.Invalidate;
end;
procedure ExtAnimFromBaseAnim(MName: String; AIdx: Integer);
end;
procedure ExtAnimFromBaseAnim(MName: String; AIdx: Integer);
fa := PlayerModelsArray[pm.id].FlagAngle;
p.X := IfThen(pm.Direction = TDirection.D_LEFT, FLAG_BASEPOINT.X, 64 - FLAG_BASEPOINT.X);
p.Y := FLAG_BASEPOINT.Y;
fa := PlayerModelsArray[pm.id].FlagAngle;
p.X := IfThen(pm.Direction = TDirection.D_LEFT, FLAG_BASEPOINT.X, 64 - FLAG_BASEPOINT.X);
p.Y := FLAG_BASEPOINT.Y;
- r_AnimationState_DrawEx(
+ r_AnimState_DrawEx(
FramesID,
FlagAnimState,
X + IfThen(pm.Direction = TDirection.D_LEFT, fp.X - 1, 2 * FLAG_BASEPOINT.X - fp.X + 1) - FLAG_BASEPOINT.X,
FramesID,
FlagAnimState,
X + IfThen(pm.Direction = TDirection.D_LEFT, fp.X - 1, 2 * FLAG_BASEPOINT.X - fp.X + 1) - FLAG_BASEPOINT.X,
if (pm.Direction = TDirection.D_LEFT) and (Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].base <> 0) then
begin
FramesID := Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].base;
if (pm.Direction = TDirection.D_LEFT) and (Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].base <> 0) then
begin
FramesID := Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].base;
- r_AnimationState_Draw(FramesID, pm.AnimState, X, Y, Alpha, TMirrorType.None, False);
+ r_AnimState_Draw(FramesID, pm.AnimState, X, Y, Alpha, TMirrorType.None, False);
end
else
begin
FramesID := Models[pm.id].Frames[TDirection.D_RIGHT, pm.CurrentAnimation].base;
end
else
begin
FramesID := Models[pm.id].Frames[TDirection.D_RIGHT, pm.CurrentAnimation].base;
- r_AnimationState_Draw(FramesID, pm.AnimState, X, Y, Alpha, Mirror, False);
+ r_AnimState_Draw(FramesID, pm.AnimState, X, Y, Alpha, Mirror, False);
end;
// Маска модели:
end;
// Маска модели:
if (pm.Direction = TDirection.D_LEFT) and (Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].mask <> 0) then
begin
FramesID := Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].mask;
if (pm.Direction = TDirection.D_LEFT) and (Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].mask <> 0) then
begin
FramesID := Models[pm.id].Frames[TDirection.D_LEFT, pm.CurrentAnimation].mask;
- r_AnimationState_Draw(FramesID, pm.AnimState, X, Y, Alpha, TMirrorType.None, False);
+ r_AnimState_Draw(FramesID, pm.AnimState, X, Y, Alpha, TMirrorType.None, False);
end
else
begin
FramesID := Models[pm.id].Frames[TDirection.D_RIGHT, pm.CurrentAnimation].mask;
end
else
begin
FramesID := Models[pm.id].Frames[TDirection.D_RIGHT, pm.CurrentAnimation].mask;
- r_AnimationState_Draw(FramesID, pm.AnimState, X, Y, Alpha, Mirror, False);
+ r_AnimState_Draw(FramesID, pm.AnimState, X, Y, Alpha, Mirror, False);
end;
e_Colors.R := 255;
end;
e_Colors.R := 255;