X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_textures.pas;h=16b0655a01dbcd0f81117770a592c9104fa1d027;hb=67a536daf73aa6f586896b521dd4029a1068df27;hp=fbbbf9270f4cbb82dfc64726ec1b948a434f496d;hpb=1b388fd8ad2bc522ef747ddf51eba268bad868d1;p=d2df-sdl.git diff --git a/src/game/g_textures.pas b/src/game/g_textures.pas index fbbbf92..16b0655 100644 --- a/src/game/g_textures.pas +++ b/src/game/g_textures.pas @@ -87,7 +87,7 @@ type public constructor Create (aloop: Boolean; aspeed: Byte; len: Integer); - procedure Destroy; + procedure Invalidate; procedure reset (); procedure update (); @@ -99,6 +99,8 @@ type procedure loadState (st: TStream; out mAlpha: Byte; out mBlending: Boolean); function totalFrames (): Integer; inline; + function IsInvalid (): Boolean; + function IsValid (): Boolean; public property played: Boolean read mPlayed; @@ -285,6 +287,8 @@ end; constructor TAnimState.Create (aloop: Boolean; aspeed: Byte; len: Integer); begin + Self := Default(TAnimState); + assert(len >= 0); mLength := len; @@ -296,7 +300,7 @@ begin mPlayed := false; end; -procedure TAnimState.Destroy; +procedure TAnimState.Invalidate; begin Self := Default(TAnimState); end; @@ -380,6 +384,16 @@ begin result := mLength end; +function TAnimState.IsInvalid (): Boolean; +begin + result := mLength <= 0 +end; + +function TAnimState.IsValid (): Boolean; +begin + result := mLength > 0 +end; + procedure TAnimState.saveState (st: TStream; mAlpha: Byte; mBlending: Boolean); begin if (st = nil) then exit;