- 344
- 1
- 47
Решил я значит вернуться к моддинингу мк, да? И решил я значит сделать кастомный инвентарь, о да...
Сам код:
Так вот, образовалась у меня маленькая проблемка. Я привязываю текстурку к гуишке инвентаря, но при уменьшении/увеличивании окна она как-бы двигается... И выходит примерная анархия:
Сам код:
Java:
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.drawPanorama();
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
double minX = 0.0D;
double minY = 0.0D;
double maxX = 1.0D;
double maxY = 1.0D;
double screenRatio = (double)super.width / (double)super.height;
double textureRatio = 1.7777777777777777D;
if(screenRatio > textureRatio) {
minY = (1.0D - textureRatio / screenRatio) / 2.0D;
maxY = 1.0D - (1.0D - textureRatio / screenRatio) / 2.0D;
} else if(textureRatio > screenRatio) {
minX = (1.0D - screenRatio / textureRatio) / 2.0D;
maxX = 1.0D - (1.0D - screenRatio / textureRatio) / 2.0D;
}
tessellator.addVertexWithUV(0.0D, (double)super.height, (double)super.zLevel, minX, maxY);
tessellator.addVertexWithUV((double)super.width, (double)super.height, (double)super.zLevel, maxX, maxY);
tessellator.addVertexWithUV((double)super.width, 0.0D, (double)super.zLevel, maxX, minY);
tessellator.addVertexWithUV(0.0D, 0.0D, (double)super.zLevel, minX, minY);
tessellator.draw();
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
GL11.glDisable(3042);
}
private void drawPanorama()
{
int h = this.mc.displayHeight;
int w = this.mc.displayWidth;
//TODO
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glDepthMask(false);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
this.mc.getTextureManager().bindTexture(menu[(int) img_num]);
Tessellator var3 = Tessellator.instance;
var3.startDrawingQuads();
var3.addVertexWithUV(0.0D, (double) height, -90.0D, 0.0D, 1.0D);
var3.addVertexWithUV((double) width, (double) height, -90.0D, 1.0D,
1.0D);
var3.addVertexWithUV((double) width, 0.0D, -90.0D, 1.0D, 0.0D);
var3.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D);
var3.draw();
GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
int k = (int) width - 200;
int l = (int) height / 2 + 10;
}
Так вот, образовалась у меня маленькая проблемка. Я привязываю текстурку к гуишке инвентаря, но при уменьшении/увеличивании окна она как-бы двигается... И выходит примерная анархия:
Последнее редактирование: