Type FlameAnim As Any PTR Flame(0 to 19) As Integer AnimCounter(0 to 8) As Integer X(0 to 8) As Integer Y(0 to 8) As Integer CurrCounter Declare Constructor() Declare Sub MakeFlame(XPos as Integer, YPos as Integer) Declare Sub Control() Declare Sub G() End Type Constructor FlameAnim() Dim as Integer a For a = 0 to 19 Flame(a) = LoadImgFile("res\anim\flame" & STR(a) & ".bmp") Next a For a = 0 to 8 AnimCounter(a) = -1 Next a End Constructor Sub FlameAnim.MakeFlame(XPos as Integer, YPos as Integer) AnimCounter(CurrCounter) = 19 X(CurrCounter) = XPos * 64 Y(CurrCounter) = YPos * 64 CurrCounter += 1 If CurrCounter > 8 then CurrCounter = 0 End Sub Sub FlameAnim.Control() Dim as Integer a For a = 0 to 8 AnimCounter(a) -= 1 If AnimCounter(a) < -1 then AnimCounter(a) = -1 Next a End Sub Sub FlameAnim.G() Dim as Integer a For a = 0 to 8 If AnimCounter(a) > -1 then Put (X(a), Y(a)), Flame(INT(AnimCounter(a))), ALPHA, 255 Endif Next a End Sub