15
This looks fixed but I wanted to add an additional comment. In bigosfty's example there is an alternative to taking 1 pixel off the width and height off the texture co-ordinates. Extrude the original tile/sprite edges by 1 to 2 pixels instead, but have the texture co-ordinates set to the original tile/sprite size. So, if a tile/sprite is 64x64 large, then the new tile/sprite would be 66x66 large with the top left corner of the texture starting at 1,1 and ending at 65,65. Does that make sense? Doing this manually in a paint program is a bit of a pain but you could automate the process or use something like Texture Packer. Incidentally, doing this will also get rid of the edge artifacts even without having to modify the default OpenGL texture parameters in GLBasic.
EDIT: I added an attachment example. Its the same code and image from tile.rar although I've changed a couple of things:-
1) I extruded the edges of 1.png by 2 pixels each edge so that the original texture of 200x200 is now 204x204. If you look in the Media folder you should find the original 1.png sprite and the new one called 2.png
2) To reflect the extruded edges the drawing code is now...
sx = 200
sy = 200
...
POLYVECTOR x1,y1,2,2,color
POLYVECTOR x1,y1+y2,2,sy+2,color
POLYVECTOR x1+x2,y1+y2,sx+2,sy+2,color
POLYVECTOR x1+x2,y1,sx+2,2,color
Instead of
GETSPRITESIZE num, sx, sy
...
POLYVECTOR x1,y1,0,0,color
POLYVECTOR x1,y1+y2,0,sy,color
POLYVECTOR x1+x2,y1+y2,sx,sy,color
POLYVECTOR x1+x2,y1,sx,0,color
Obviously it wouldn't be right to hard code the texture coordinates this way for each sprite. For the purposes of the example its ok though.