143 lines
3.5 KiB
Plaintext
143 lines
3.5 KiB
Plaintext
;-Sprite
|
|
Enumeration
|
|
#Spr_Black
|
|
#Spr_White
|
|
#Spr_Cursor
|
|
#Spr_SelectedBackground
|
|
#Spr_DelCursor
|
|
#Spr_BenchA
|
|
#Spr_BenchB
|
|
#Spr_BenchC
|
|
#Spr_BckgrndFadeUp
|
|
#Spr_BckgrndFadeDown
|
|
#Spr_UD
|
|
#Spr_LR
|
|
#Spr_RD
|
|
#Spr_DL
|
|
#Spr_LU
|
|
#Spr_UR
|
|
#Spr_Cross
|
|
#Spr_Locked
|
|
#Spr_Pointer
|
|
#Spr_Health
|
|
#Spr_Timer
|
|
#Spr_EarthBreak
|
|
#Spr_Dead
|
|
#Spr_JewelBlue
|
|
#Spr_JewelRed
|
|
#Spr_JewelGreen
|
|
#Spr_Eye
|
|
#Spr_Hammer
|
|
#Spr_Remove
|
|
#Spr_Gravity
|
|
#Spr_Freeze
|
|
#Spr_X2
|
|
#Spr_X4
|
|
#Spr_X8
|
|
#Spr_Logo
|
|
#Spr_Sc
|
|
#Spr_Remix
|
|
#Spr_Thy
|
|
#Spr_Frozen
|
|
#Spr_Vinyl
|
|
#Spr_FontA
|
|
#Spr_FontA_End = #Spr_FontA+90
|
|
#Spr_FontB
|
|
#Spr_FontB_End= #Spr_FontB+90
|
|
#Spr_End
|
|
EndEnumeration
|
|
|
|
Structure GameSprite
|
|
SpriteId.i
|
|
ClipX.l
|
|
ClipY.l
|
|
ClipWidth.l
|
|
ClipHeight.l
|
|
DisplayWidth.f
|
|
DisplayHeight.f
|
|
EndStructure
|
|
|
|
Global Dim GameSprite.GameSprite(#Spr_End)
|
|
|
|
Procedure RecordSprite(SpriteNo.l,SpriteId.i,ClipX.l,ClipY.l,ClipWidth.l,ClipHeight.l,DisplayWidth.f, DisplayHeight.f)
|
|
GameSprite(SpriteNo)\SpriteId=SpriteId
|
|
GameSprite(SpriteNo)\ClipX=ClipX
|
|
GameSprite(SpriteNo)\ClipY=ClipY
|
|
GameSprite(SpriteNo)\ClipWidth=ClipWidth
|
|
GameSprite(SpriteNo)\ClipHeight=ClipHeight
|
|
GameSprite(SpriteNo)\DisplayWidth=DisplayWidth
|
|
GameSprite(SpriteNo)\DisplayHeight=DisplayHeight
|
|
EndProcedure
|
|
|
|
Procedure DisplayClipSprite(SpriteNo.i,X.l,Y.l,Opacity.l=255,GameScale.f=1,BckWidth.f=-1,BckHeight.f=-1)
|
|
|
|
If IsSprite(GameSprite(SpriteNo)\SpriteId)
|
|
ClipSprite(GameSprite(SpriteNo)\SpriteId,GameSprite(SpriteNo)\ClipX,GameSprite(SpriteNo)\ClipY,GameSprite(SpriteNo)\ClipWidth,GameSprite(SpriteNo)\ClipHeight)
|
|
If BckWidth=-1
|
|
BckWidth=GameSprite(SpriteNo)\DisplayWidth*GameScale*GUI\BlockSize
|
|
EndIf
|
|
If BckHeight=-1
|
|
BckHeight=GameSprite(SpriteNo)\DisplayHeight*GameScale*GUI\BlockSize
|
|
EndIf
|
|
ZoomSprite(GameSprite(SpriteNo)\SpriteId,BckWidth,BckHeight)
|
|
DisplayTransparentSprite(GameSprite(SpriteNo)\SpriteId,X,Y,Opacity)
|
|
Else
|
|
Debug "Error with sprite"
|
|
EndIf
|
|
EndProcedure
|
|
|
|
Procedure LoadSpriteSheet()
|
|
Protected n.l
|
|
|
|
CompilerIf #UsePackFile=#True
|
|
CatchSpriteFromPackage(0,"SpriteSheetx192.png")
|
|
|
|
CompilerElse
|
|
LoadSprite(0,"Datas\SpriteSheetx192.png",#PB_Sprite_AlphaBlending)
|
|
CompilerEndIf
|
|
|
|
If IsSprite(0)
|
|
Protected SpriteSize.l=SpriteWidth(0)/10
|
|
For n=0 To 9
|
|
RecordSprite(#Spr_Black+n,0,n*SpriteSize,0,SpriteSize,SpriteSize,1,1)
|
|
Next
|
|
|
|
|
|
;Piepeline
|
|
For n=0 To 7
|
|
RecordSprite(#Spr_UD+n,0,n*SpriteSize,SpriteSize,SpriteSize,SpriteSize,1,1)
|
|
Next
|
|
;Pointer
|
|
RecordSprite(#Spr_Pointer,0,8*SpriteSize,SpriteSize,SpriteSize,SpriteSize,1,1)
|
|
|
|
; Bonus
|
|
For n=0 To 9
|
|
RecordSprite(#Spr_Health+n,0,n*SpriteSize,SpriteSize*2,SpriteSize,SpriteSize,1,1)
|
|
Next
|
|
|
|
For n=0 To 5
|
|
RecordSprite(#Spr_Gravity+n,0,n*SpriteSize,SpriteSize*3,SpriteSize,SpriteSize,1,1)
|
|
Next
|
|
|
|
|
|
RecordSprite(#Spr_Logo,0,0,SpriteSize*4,SpriteSize*7,SpriteSize*2,7,2)
|
|
RecordSprite(#Spr_Remix,0,0,SpriteSize*6,SpriteSize*4,SpriteSize,4,1)
|
|
RecordSprite(#Spr_Thy,0,SpriteSize*7,SpriteSize*3,SpriteSize*3,SpriteSize*3,3,3)
|
|
RecordSprite(#Spr_Frozen,0,0,SpriteSize*7,SpriteSize*8,SpriteSize,8,1)
|
|
RecordSprite(#Spr_Sc,0,0,SpriteSize*8,SpriteSize*3,SpriteSize*2,3,2)
|
|
RecordSprite(#Spr_Vinyl,0,SpriteSize*8,SpriteSize*6,SpriteSize*2,SpriteSize*4,2,4)
|
|
Else
|
|
MessageRequester("Error", "Can't Load SpriteSheet ", 0)
|
|
End
|
|
EndIf
|
|
EndProcedure
|
|
|
|
|
|
|
|
|
|
|
|
; IDE Options = PureBasic 6.00 LTS (Windows - x64)
|
|
; CursorPosition = 117
|
|
; FirstLine = 59
|
|
; Folding = -
|
|
; EnableXP |