966a144a64
Тик. Моды тикали из покадрового хука, то есть получали столько тиков, сколько кадров успевает нарисовать машина. На 200 fps это в семь раз быстрее игры: таймер мода уезжал, а счётчик тиков модов расходился с миром, поверх которого он нарисован. Теперь тик вызывается рядом с runTick(), внутри того же цикла, так что у мода ровно двадцать шагов в секунду независимо от частоты кадров. HUD. Экран загрузки мира рисует сам, мимо хвоста кадра. Пока генерируется ландшафт, LoadingScreenRenderer рисует в собственный framebuffer, блитит его в окно и сам вызывает updateDisplay() — до десяти раз в секунду, из потока, который занят генерацией. Всё, что нарисовано из покадрового хука, стирается следующим таким выводом, поэтому оверлей пропадал на всю загрузку и возвращался уже в мире. Добавлен отдельный вход в тот же код рисования оверлеев, вызываемый после блита и до вывода в окно. Заодно разделены две ошибки в RsxBootstrap: сбой тика и сбой отрисовки больше не выключают друг друга, у каждого своя защита. Проверено вживую: оверлей виден на экране генерации ландшафта.