Procedure PreloadTiles(filename.s) LoadSprite(#TileImage,filename,#PB_Sprite_Memory) If IsSprite(#TileImage)=0 MessageRequester("Error","Couldn't load tiles.") ProcedureReturn EndIf UseBuffer(#TileImage) Global Dim TileGraphics.l(SpriteWidth(#TileImage)/#SpriteSize,SpriteHeight(#TileImage)/#SpriteSize) Global TileImageHeight.l : TileImageHeight=SpriteHeight(#TileImage) Global TileImageWidth.l : TileImageWidth=SpriteWidth(#TileImage) For i = 0 To TileImageWidth/#SpriteSize For j = 0 To TileImageHeight/#SpriteSize CompilerIf #_MAP_EDITOR_=0 TileGraphics(i,j)=CreateSprite(#PB_Any,#SpriteSize,#SpriteSize) UseBuffer(TileGraphics(i,j)) ClipSprite(#TileImage,i*#SpriteSize,j*#SpriteSize,#SpriteSize,#SpriteSize) DisplaySprite(#TileImage,0,0) CompilerElse TileGraphics(i,j)=GrabSprite(#PB_Any,i*#SpriteSize,j*#SpriteSize,#SpriteSize,#SpriteSize) CompilerEndIf Next Next FreeSprite(#TileImage) UseBuffer(-1) EndProcedure