DrawTexturedModalRect сжимает картинку, расширение экрана

Версия Minecraft
1.7.10
Здравствуйте. Снова проблемы с наложением png-к на Gui, начинает уже вымораживать эта куча нюансов, связанная с рендерингом. Пытался поправить сам, но не получилось, нужна помощь.

Перед описанием проблем, сброшу код GuiContainer:
Java:
public class PassGui extends GuiContainer {

    public PassInventory inv;
    
    public PassGui(EntityPlayer player) {
        super(new PassContainer(player));
        
        this.allowUserInput = false;
        /*this.xSize = 864;
        this.ySize = 468;*/
        
        this.xSize = 353;
        this.ySize = 550;
    }

    public static final ResourceLocation background = new ResourceLocation("gamepass", "textures/gui/lich.png");
    
    @Override
    protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.mc.getTextureManager().bindTexture(background);
        int cornerX = (this.width - this.xSize) / 2;
        int cornerY = (this.height - this.ySize) / 2;
        GamePassMod.getLogger().info("cornerX: "+cornerX+", cornerY: "+cornerY+", width: "+this.width+", height: "+this.height+", xSize: "+this.xSize+", ySize: "+this.ySize);
        drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize);
    }

}

Проблема 1: что-то странное происходит с файлом внутри ассетов.

Имею картинку размером 1024x1024, надо наложить по центру экрана в виде бэкграунда. Пихаю в ассеты, перезагружаю их через F3+T. Всё отображается, но размер не тот совершенно, что должен быть. Пример в двух скриншотах:
1588551825748.png
1588551800328.png
В общем-то, с этим явно какая-то дичь. Картинка в размерах уменьшается и начинает дублироваться по экрану. Кто-то ранее с таким встречался? Прошу помочь по возможности.

Проблема 2: расширение экрана.

В коде можно заметить дебаговую строку, которая каждый рендер-тик бросает в консоль конфигурации экрана и Gui. Это сделано было для того, чтобы выявить проблему с другим Gui, которое стояло на этом же коде, но так же не работало. То дублировалось, то ещё что-то, в зависимости от того, что менял. В чём же подвох? А вот в чём: расширение экрана меняется в зависимости от скалирования интерфейса и размеров самого экрана (параметры width и height).
Прикрепляю 3 вариации ответа в консоль с кодом выше:
Малый размер: INFO: cornerX: 783, cornerY: 234, width: 1920, height: 1018, xSize: 353, ySize: 550
Обычный размер: INFO: cornerX: 303, cornerY: -20, width: 960, height: 509, xSize: 353, ySize: 550
Крупный размер: INFO: cornerX: 63, cornerY: -147, width: 480, height: 255, xSize: 353, ySize: 550

P.S. Пока записывал результаты тестов с консоли, заметил, что размер картинки, выводимой через drawTexturedModalRect зависит от скалирования интерфейса.
Вытекает общий вопрос: как текстуру правильнее подогнать под размер интерфейса? Можно ли отвязать её от размеров интерфейса и тупо рендерить на экран(в таком случае будет вылезать при маленьких размерах интерфейса, скорее всего)?

Видимо, я запутался во всей этой горе набранной информации, что не могу найти какую-то простую истину. Прошу указать мне на мою ошибку и дать совет, как сделать правильнее в этой ситуации.
Спасибо :)
 
Решение
1. Тебе же вроде объясняли в предыдущих темах. drawTexturedModalRect рассчитан на изображение 256х256. Хочешь свой размер - юзай другой метод, он есть в GuiScreen, там последние два параметра - это размеры изображения.
2. При открытии гуи ставь скейл на нормал, при закрытии ставь обратно на тот что был.
Исходный размер картинки, которую прислал дизайнер 600x600, это захват всех элементов, которые видно на скриншоте выше с минимальными пробелами. Там та же самая проблема.

Кстати, высота только самого бэкграунда Gui 550 пикселей, а это уже выход за "границы" высоты при нормальном размере интерфейса. Сейчас попробовал обрезать оттуда вообще всё лишнее и оставить только фон. Получилась картинка 550x550 и выглядит она с кодом выше как-то вот так:
1588553925292.png
 

tox1cozZ

aka Agravaine
8,455
598
2,892
1. Тебе же вроде объясняли в предыдущих темах. drawTexturedModalRect рассчитан на изображение 256х256. Хочешь свой размер - юзай другой метод, он есть в GuiScreen, там последние два параметра - это размеры изображения.
2. При открытии гуи ставь скейл на нормал, при закрытии ставь обратно на тот что был.
 
1. Тебе же вроде объясняли в предыдущих темах. drawTexturedModalRect рассчитан на изображение 256х256. Хочешь свой размер - юзай другой метод, он есть в GuiScreen, там последние два параметра - это размеры изображения.
С этим окей, вроде как разобрался в использовании другого метода с указанием размера.

2. При открытии гуи ставь скейл на нормал, при закрытии ставь обратно на тот что был.
Не подскажете, через какой метод можно изменить скейл?
 
Сверху