`Display settings. `setErrorMode(2) setWindowTitle("Warlordocracy") setWindowSize(1024,768,0) setVirtualResolution(1024,768) setOrientationAllowed(1,1,1,1) setSyncRate(60,0) setScissor(0,0,0,0) useNewDefaultFonts(1) `Basic variables. global map `Currently loaded map. global camX `Camera position X. global camY `Camera position Y. global numImages `Number of images. global numSprites `Number of sprites. global numObj `Number of objects. dim image$[9999] `Image filenames. dim sprite[9999] `Image ID of sprite. `Map variables. dim mapNumObj[100] `Number of objects on particular map. dim mapTile$[500,500,100] `Map terrain tile (PNG). dim mapBlock[500,500,100] `Tile blocks movement (1=yes). dim mapBlockFly[500,500,100] `Tile blocks flying (1=yes). dim mapBlockVis[500,500,100] `Tile blocks sight (1=yes). dim mapWater[500,500,100] `Tile requires swimming (1=yes). `Object variables. dim objName$[5000,100] `Name of object (blank=none). dim objImg$[5000,100] `Tile (PNG). dim objType[5000,100] `Type (0=normal, 1=item, 2=mobile, 3=effect). dim objBlock[5000,100] `Object blocks movement (1=yes). dim objBlockFly[5000,100] `Object blocks flying (1=yes). dim objBlockVis[5000,100] `Object blocks sight (1=yes). dim objColSizeX[5000,100] `Object X collision size (odd numbers only). dim objColSizeY[5000,100] `Object Y collision size. dim objDrawPri[5000,100] `Draw object over/under others (0=normal, 1=under, 2=over). `Load essential assets. loadImage(1,"blank.png") numSprites = 0 drawMap() remstart createSprite(1,1) drawSprite(1) setSpriteX(1,0) setSpriteY(1,0) createSprite(2,1) drawSprite(2) setSpriteX(2,32) setSpriteY(2,0) remend `Main game loop. do print(screenFPS()) print(numSprites) sync() loop function img(filename$) `Load image and save filename to array. if numImages>9998 then exitfunction 1 `Return blank image. if filename$="" then exitfunction 1 if getFileExists(filename$)=0 then exitfunction 1 for i = 2 to numImages if image$[i]="" image$[i] = filename$ loadImage(1,filename$) numImages = i exitfunction i endif next i endfunction 1 function drawMap() `Draw the current map. drawTiles() drawObjects() endfunction function drawTiles() `Draw map terrain tiles. for x = 1 to 500 for y = 1 to 500 i = 1 `img(mapTile$[x,y,map]) numSprites = numSprites+1 createSprite(numSprites,i) drawSprite(numSprites) setSpriteX(numSprites,(x-1)*32) setSpriteY(numSprites,(y-1)*32) next y next x endfunction function drawObjects() `Draw objects on map. `... endfunction