Hey guys,
In my game, I have (0,0) at the bottom left, and slick-util was built for the orgin being the top left. I browsed the source and found that the drawing code for the font lies in line 247 of TrueTypeFont.java.
I changed it to:
/**
* Draw a textured quad
*
* @param drawX
* The left x position to draw to
* @param drawY
* The top y position to draw to
* @param drawX2
* The right x position to draw to
* @param drawY2
* The bottom y position to draw to
* @param srcX
* The left source x position to draw from
* @param srcY
* The top source y position to draw from
* @param srcX2
* The right source x position to draw from
* @param srcY2
* The bottom source y position to draw from
*/
private void drawQuad(float drawX, float drawY, float drawX2, float drawY2,
float srcX, float srcY, float srcX2, float srcY2) {
float DrawWidth = drawX2 - drawX;
float DrawHeight = drawY2 - drawY;
float TextureSrcX = srcX / textureWidth;
float TextureSrcY = srcY / textureHeight;
float SrcWidth = srcX2 - srcX;
float SrcHeight = srcY2 - srcY;
float RenderWidth = (SrcWidth / textureWidth);
float RenderHeight = (SrcHeight / textureHeight);
GL.glTexCoord2f(TextureSrcX, TextureSrcY + RenderHeight);
GL.glVertex2f(drawX, drawY);
GL.glTexCoord2f(TextureSrcX + RenderHeight, TextureSrcY + RenderHeight);
GL.glVertex2f(drawX + DrawWidth, drawY );
GL.glTexCoord2f(TextureSrcX + RenderWidth, TextureSrcY);
GL.glVertex2f(drawX + DrawWidth, drawY + DrawHeight);
GL.glTexCoord2f(TextureSrcX, TextureSrcY);
GL.glVertex2f(drawX, drawY + DrawHeight);
}
to mirror the text upside down, based off the quad rendering code from another class in my game that actually works.
Also, I setup my projection view like this:
{//Init OpenGL Code
//Setup an XNA-like clear color
GL11.glClearColor(0.4f, 0.6f, 0.9f, 0f);
// Map the internal OpenGL coordinate system to the entire screen
GL11.glViewport(0, 0, gameWindow[0], gameWindow[1]);
// Init OpenGL Window
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, gameWindow[0], 0, gameWindow[1], 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
}
This is what the code turns into.
Can anyone help me?!?
Thanks waco