При портировании Renewation для Ultimate Mayhem столкнулся с весьма своеобразной проблемой. Сомневаюсь, что тут кто то поможет с решением, но в любом случае для форума, особенно во время текущего затишья, наличие описания данной проблемы лишним не будет.
Итак, в Renewation все карты, даже стандартные, имеют префикс перед названием ([DM], [SV], [RR]и т.п.), обозначающий режим карты. Для этого в W4M в Scripts.xml для каждой карты добавляется строковое значение с названием, а в самом контейнере карты ссылка на языковой файл заменяется ссылками на эти строки. Аналогично пытаюсь сделать и в WUM, и данный метод должен работать - в моде Multiplayer Map Pack названия прописаны аналогично и все работает.
Итого добавил 143 новых строки. И столкнулся с проблемой - в память игры загружается только 13 строк, вместо остальных в списке карт битые ссылки.
В логе игры обнаружилась следующая ошибка:
Код
3641 | * XCtr | *** Could not read container ****
3642 | * XCtr | The storage layout of the container has most likely been changed.
3644 | * XCtr | The last class to load was
Повторяется ровно 130 раз, именно столько строк в память не загрузилось.
А далее странная закономерность. На скрине ниже отметил красным строки, которые успешно попали в память игры и оказалось, что это ровно каждая пятая строка, но после загрузки 13 строк это правило уже не действует.