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

Изучаем программирование на NML

СообщениеДобавлено: Ср дек 21, 2011 13:12
дворник
В целях популяризации NML и в частности, его использования для программирования xUSSR Railwayset решил завести такую тему. В соседней теме я иногда выкладываю архив с исходниками набора xUSSR Railwayset. Его можно собирать в GRF на своём компьютере под Windows. Ниже я постараюсь вкратце рассказать, как это сделать.

Для начала нужно скачать и установить себе MinGW. Идём по ссылке, качаем последнюю версию. На момент написания это 20111118. Запускаем, устанавливаем в папку без пробелов, например, "C:\MinGW". В списке компонентов (components) выбираем галочками "C Compiler", "C++ Compiler", "MSYS Basic System" и "MinGW Developer ToolKit". Затем начинается хорошо известная для пользователей Linux закачка и установка пакетов.

Затем нужно скачать и распаковать последнюю версию компилятора NML. Идёт по ссылке, закачиваем себе архив со словом "win32" в имени. Распаковываем его в отдельную папку, например, "c:\Nml". Там же можно сразу скачать архив с исходниками со словом "src", его можно будет распаковать и использовать в качестве справки по именам свойств, переменных, функций обратного вызова, имён констант и пр.

Очень рекомендую поставить себе систему контроля версий TortoiseHg, последнюю версию под нужную разрядность. Для совместной разработки и интеграции с другими разработчиками она будет незаменима.

После этого можно взять мой архив с исходниками xUSSR Railwayset из темы, распаковать в отдельную папку, подправить пути в файле config.bat и запускать compile.bat для сборки.

Как настроить config.bat под себя.

а) Нужно вписать правильный путь к MinGW и компилятору NML
Код: Выделить всё
set PATH=C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\DOSUtil\Nml3;%PATH%


б) Нужно вписать правильный (существующий) путь, куда будет копироваться получаемая GRF, чтобы она была видна в игре.

Код: Выделить всё
set GRFFOLDER=%USERPROFILE%\Documents\OpenTTD\content_download\data\my\ecs


В оригинальном файле config.bat используются пути для моей рабочей станции. У меня контент openttd располагается в профиле Windows, вместо "Мои документы" используется "Documents".

После первой сборки grf можно запустить игру, подключить набор и сохранить параметры.
После любой сборки не нужно перезапускать игру, достаточно в меню выбрать "Настройки NewGRF" и в появившемся окне нажать кнопку справа внизу "Применить изменения". Само собой, если меняются порядок идентификаторов ПС или размер моделек (shorten_vehicle), то надо сначала загнать такой транспорт в депо, иначе будет вылет.

Вот как бы и всё в кратце. Постараюсь ответить на вопросы по теме.
Надеюсь, кого-нибудь это заинтересует.

Re: Изучаем программирование на NML

СообщениеДобавлено: Вс сен 01, 2013 01:39
Vaulter
дворник писал(а):Для начала нужно скачать и установить себе MinGW

Для начала нужно скачать, установить и освоить себе Linux :)

Re: Изучаем программирование на NML

СообщениеДобавлено: Вс сен 01, 2013 14:25
George
Vaulter писал(а):
дворник писал(а):Для начала нужно скачать и установить себе MinGW

Для начала нужно скачать, установить и освоить себе Linux :)
linux у меня нет, но сет я собираю по несколько раз в день. Так что не нужно. Проверено лично. :D

Re: Изучаем программирование на NML

СообщениеДобавлено: Пн ноя 11, 2013 12:20
serg_p
Имею проблему. Упёрся в макс идентификаторов объектов. 255. Плюс есть сборки с ограничением на колво. грфов. Пытаюсь решить так. распаковать грф GRFCodec ом. вырезать картинку. вставить в другой грф, где есть объект для подмены, переставить координаты. не понимаю как правильно добавить в пнг.