После просьбы моего друга фина, известного под ником GX, убрать ошибку в игре на загрузку HD HUD'а при больших картах, я начал копать Worms3D.exe. И добрался до интересной информации в Worms3D.Exe .
Все ограничения на память загружаемых ресурсов являются текстовыми константами!!!
И если поменять эти значения игра расширяет область памяти автоматически!!!
Вот эти константы:
Код
XString.ArenaSize = 1500000
XContainer.ArenaSize = 4000000
MField.ArenaSize = 32000000
XLua.ArenaSize = 196608
ScriptArena.ArenaSize = 131072
AnimArena.ArenaSize = 3000000
ParticleObjects.ArenaSize = 524288
LandArena.ArenaSize = 524288
AiArena.ArenaSize = 270000
ObjectRegArena.ArenaSize = 8192
InputArena.ArenaSize = 24576
CameraArena.ArenaSize = 8192
MessageRelayArena.ArenaSize = 8192
FrontendArena.ArenaSize = 8192
OtherStuffArena.ArenaSize = 16384
XLua.ArenaSize = 262144
ParticleEmmiter.ArenaSize = 12288
DRM.MaxInstances = 4330
DRM.MaxHooks = 512
MRS.MaxMessages = 901
MRS.MaxInterests = 4096
GRM.MaxBitmaps = 700
GRM.MaxMeshes = 500
GRM.MaxCustom = 100
GRM.MaxSpriteSets = 200
GRM.MaxText = 150
GRM.MaxNulls = 200
XOM.Arena.LogEvents = 0
XOM.EventLog.Enable = 0
XOM.EventLog.BufferSize = 64000000
XOM.EventLog.UseHighMemory = 1
XOM.EventLog.Pipe.MaxSendInterval = 10000
XOM.EventLog.Pipe.MaxPacketSize = 1000
XOM.EventLog.Pipe.BufferSize = 100000
Core.MaxTasks = 512
Core.MessageBufferSize = 32768
Core.MaxLogicTasks = 128
Core.MaxServiceTasks = 64
По ошибке которая возникала при нехватки видеопамяти я вышел на MField.ArenaSize = 32000000. В среднем это 32 Мегабайта.
Я изменил этот размер до 96мб и о чудо!!! Карта загрузилась без ошибок!
Так же сегодня Woitek ругался на ограничения в Lua, якобы нельзя писать более 128 функций. И после моего совета он увеличил
XLua.ArenaSize = 999999
ScriptArena.ArenaSize = 999999
После чего игра стала воспринимать большее количество функций!!!
Опытным путем я установил так же что большие карты вылетают по ограничению LandArena.ArenaSize. Но когда я увеличивал память игра попросту зависала. поэтому это не выход. Ну что может выход будет найден в будущем. Но то что мы уже можем использовать HD текстуры в W3D не боясь за вылеты это факт!!!