Initial commit

This commit is contained in:
2025-07-17 20:36:20 +02:00
commit 069402c4ec
37 changed files with 7849 additions and 0 deletions

143
Sprite.pbi Normal file
View File

@@ -0,0 +1,143 @@
;-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