Страница 1 из 1

Ассерт при наложении патчей

СообщениеДобавлено: Пт окт 19, 2012 10:34
pi1985
Ребята, помогите.
Хочу создать себе сборку с понравившимися патчами.
Накладываю патч ATC-speed-control, правлю места, которые автоматически не пропатчились, компилирую.
Результат: в расширенные настройки зайти нельзя - ассерт.
То же самое с патчем светофоры на мостах. Светофоры поставить можно, а при открытии расширеных настроек Строительство - Сигналы тоже ловится ассерт.
Как правильно накладывать такие патчи? Может, я что-то не допатчил?

Re: Ассерт при наложении патчей

СообщениеДобавлено: Пт окт 19, 2012 12:10
Vaulter
saveload.h / saveload.cpp
разобратся с версиями сохраненки, и настроек

Re: Ассерт при наложении патчей

СообщениеДобавлено: Пт окт 19, 2012 16:29
Ghost
pi1985 писал(а):Накладываю патч ATC-speed-control, правлю места, которые автоматически не пропатчились, компилирую.
Результат: в расширенные настройки зайти нельзя - ассерт.
То же самое с патчем светофоры на мостах. Светофоры поставить можно, а при открытии расширеных настроек Строительство - Сигналы тоже ловится ассерт.
Как правильно накладывать такие патчи? Может, я что-то не допатчил?

Раньше настройки декларировались в файле settings.h, теперь в settings.ini. Если патч относительно старый, то про settings.ini он не знает.
У меня такой косяк был, когда настройки в settings.h и списки в settings_gui.cpp не совпадали (ошибка при построении дерева настроек).

СообщениеДобавлено: Сб окт 20, 2012 08:26
pi1985
Ghost, Vaulter, спасибо. Буду копать.

Re:

СообщениеДобавлено: Сб окт 20, 2012 19:33
Ghost
pi1985 писал(а):Ghost, Vaulter, спасибо. Буду копать.

Повспоминал. Именно такой косяк был на заре накладывания патчей, когда был добавлен пункт меню настроек, в txt были добавлены соответствующие строки, а в settings.ini параметр, соответствующий пункту, не был добавлен, т.к. я тогда еще не знал о нем, думал, что все в settings.h прописывается, и все недоумевал, когда при компиляции студия меняла h-файл. Так что смотри, что было добавлено в файл settings_gui.cpp (прямо по патчу поиском), а потом смотри наличие соответствующего по имени параметра в settings.ini и settings.h.

Re: Ассерт при наложении патчей

СообщениеДобавлено: Вт окт 23, 2012 08:43
pi1985
Ковырял вчера патч Генерация грузов городом.
В settings.ini запись добавил, в settings_gui.cpp проверил - всё есть. Скомпилировал - ассерт при отображении этого пункта настроек.
Потом скачал хардпак и посмотрел, как там сделано в settings.ini . Исправил. Аналогично.
Думал, думал. Исправил в english.txt
Код: Выделить всё
STR_CONFIG_SETTING_TOWN_CARGO_FACTOR :{LTBLUE}Town cargo generation factor (less < 0 < more): {ORANGE}{STRING1}

на
Код: Выделить всё
STR_CONFIG_SETTING_TOWN_CARGO_FACTOR  :Town cargo generation factor (less < 0 < more): {ORANGE}{STRING2}

После этого настройки заработали.
{LTBLUE} - видимо цвет.
А что такое {STRING2} и {STRING1} и чем они отличаются?

Re: Ассерт при наложении патчей

СообщениеДобавлено: Вт окт 23, 2012 12:22
Vaulter
хардпак ты старый патчик брал, скорее всего.

строки настроек изменены были со схемы
STRING_ID: {LTBLUE}description: {ORANGE}{STRING1}
на
STRING_ID: description: {STRING2}

глянул бы выше или ниже соседней в english.txt

зы: http://wiki.openttd.org/Strings

Re: Ассерт при наложении патчей

СообщениеДобавлено: Вт окт 23, 2012 14:34
pi1985
Vaulter писал(а):глянул бы выше или ниже соседней в english.txt

Собственно, я так и сделал.

Спасибо за ссылку. Изучаю. :D

Re: Ассерт при наложении патчей

СообщениеДобавлено: Вт окт 23, 2012 20:08
Ghost
pi1985 писал(а):
Vaulter писал(а):глянул бы выше или ниже соседней в english.txt

Собственно, я так и сделал.

Спасибо за ссылку. Изучаю. :D

Цифра - количество параметров данного типа. Для национальных файлов работает только {STRING}. Если надо несколько параметров, то перечисляешь столько раз, сколько надо ({STRING2}=>{STRING} {STRING}). При использовании в национальных файлах {STRINGx} отображается соответствующая строка из файла english.txt.