Ich seh da nicht ganz durch aber hiermit kannst du dir die clipping informationen anzeigen lassen:
(z.b. ist tid in deinem programm eins höher als in tiled angezeigt)
Code:
...
Global NewMap m.s()
Procedure DisplayTile(tid, x, y)
If tid > 0
ding=#False
If tid <= (sw / tileset(0)\tileWidth)
calcX = (tid * tileset(0)\tileWidth)-tileset(0)\tileWidth
ClipSprite(0, calcX, 0, tileset(0)\tileWidth, tileset(0)\tileHeight)
ding=#True
EndIf
For q = 2 To (sh / tileset(0)\tileHeight)-1
If tid > (sw / tileset(0)\tileWidth) And tid <= (sw / tileset(0)\tileWidth)*q
tcalc = (sw / tileset(0)\tileWidth) * (q-1)
calcX = ((tid - tcalc) * tileset(0)\tileWidth)-tileset(0)\tileWidth
calcY = tileset(0)\tileHeight * (q-1)
ClipSprite(0, calcX, calcY, tileset(0)\tileWidth, tileset(0)\tileHeight)
Break
EndIf
Next q
DisplayTransparentSprite(0, x, y)
key.s = ""+x+","+y
m(key) = ""
;m(key) + ""+x+","+y+","
m(key) + ""+tid+","
;m(key) + ""+calcX+","+calcY+","
;m(key) + ""+tileset(0)\tileWidth+","+tileset(0)\tileHeight
;m(key) + ""+","+ding
EndIf
EndProcedure
...
ClearScreen($66)
ClearMap(m())
;DrawIsoMap(xmap1, cx, cy)
DrawIsoMap(xmap2, cx, cy)
;DrawIsoMap(xmap3, cx, cy)
StartDrawing(ScreenOutput())
ForEach m()
_x = Val(StringField(MapKey(m()),1,","))
_y = Val(StringField(MapKey(m()),2,","))
DrawText(_x,
_y,
m())
Box(_x,_y,1,1,$ffffffff)
Next
StopDrawing()