Private Global ix# Global iy# Global jx# Global jy# c_setupTrans(0) Public Function c_setupTrans(theta#) Local c#,s# c=Cos(theta) s=Sin(theta) ix=c iy=-s jx=s jy=c End Function Function DrawImageBlock(Img:TImage,X#,Y#,Width#,Height#,TX#,TY#,TWidth#,THeight#,Frame%=0,Rotation#=0,MX#=0,MY#=0) Local texEnabled:Int = glIsEnabled(GL_TEXTURE_2D) If texEnabled=0 Then glEnable(GL_TEXTURE_2D) c_setupTrans(rotation) Local UF:Float = TX / Img.Width Local VF:Float = TY / Img.Height Local UT:Float = (TX+TWidth) / Img.Width Local VT:Float = (TY+THeight) / Img.Height Local frm:TGLImageFrame = TGLImageFrame(Img.frames[frame]) glBindTexture(GL_TEXTURE_2D,frm.name) glBegin GL_QUADS glTexCoord2f(UF,VF) glVertex2f(mx+x*ix+y*iy,my+x*jx+y*jy) glTexCoord2f(UT,VF) glVertex2f(mx+(x+width)*ix+y*iy,my+(x+width)*jx+y*jy) glTexCoord2f(UT,VT) glVertex2f(mx+(x+width)*ix+(y+height)*iy,my+(x+width)*jx+(y+height)*jy) glTexCoord2f(UF,VT) glVertex2f(mx+x*ix+(y+height)*iy,my+x*jx+(y+height)*jy) glEnd If texEnabled=0 Then glDisable(GL_TEXTURE_2D) End Function
I wouldn't recommend un-private-ing the globals there.