1.4.3: сползание FPS и текстура пирамиды - перенос исправлений 1.5.1 на игру 3.2

В 1.4.2 (игра 3.2) оставалась та же утечка, что чинилась в 1.5.1: шкала некромантии
fill="{% cvar('necroNecromancyProgressCVar') / 20 }" набирала по одной отслеживаемой
переменной за кадр (ошибка игры в BindingNcalcFunctions.cvar / BindingInfoNcalc.RegisterVariable;
в 3.2 эти классы совпадают с 3.3 построчно). CVarBindingLeakPatch - без изменений из 888cf1e.

Пирамида Ереси при Texture Quality ниже Full: CustomBlockPaint берёт мип под размер атласа,
бандл necroatlas - пересобранный с ignoreMipmapLimit (оба из 888cf1e).

Сборка: игра на машине уже 3.3, поэтому DLL собрана против справочной сборки 3.2,
сгенерированной из декомпиляции 3.2 (только метаданные). Проверка метода: пересборка
нетронутой 1.4.2 дала те же 1049 ссылок на внешний код, что и опубликованная DLL; в 1.4.3
добавилось 9 ссылок, все есть в DLL 1.5.1, собранной против настоящей игры.
В игре 3.2 НЕ проверено.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-09-30 10:48:20 +03:00
co-authored by Claude Opus 5.5
parent f4470b784f
commit 205b4d7071
9 changed files with 70 additions and 8 deletions
+4
View File
@@ -0,0 +1,4 @@
FIX: the frame rate no longer sinks during a session. Before, FPS went from 60 down to 15-30 within 10-15 minutes of playing, even standing still, and only reloading the world brought it back. Thanks to Megaladon43, sanovskiy and zomb1 for the reports and tests.
The cause is a bug in the game's own UI bindings: an expression that reads a CVar registers one more watcher each time it is recalculated, and a fresh watcher triggers a recalculation again the next frame. The purple Necromancy progress bar above the XP bar (added in 1.3.0) hit exactly that, so it gained one watcher per frame and the game walked the whole growing list every frame. The mod now registers a CVar watcher once per binding.
FIX: the Pyramid of Heresy is textured again when Texture Quality is set below Full. On lower settings the game's block atlas is smaller than the pyramid texture and the mod used to skip it.
This is the same fix as in 1.5.1, brought to game 3.2. Drop-in over 1.4.2, saves carry over. For game version 3.2 only; for game 3.3 use 1.5.1. Single-player. The mod ships Harmony libraries, so EasyAntiCheat must be off.