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

Модераторы: eraserkry, Smoky555, ihim4, Wowan, Группа модераторов

Изучаем программирование на 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), то надо сначала загнать такой транспорт в депо, иначе будет вылет.

Вот как бы и всё в кратце. Постараюсь ответить на вопросы по теме.
Надеюсь, кого-нибудь это заинтересует.
дворник
Президент
Президент
 
Сообщения: 563
Зарегистрирован: Сб дек 05, 2009 22:57

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

Сообщение Vaulter » Вс сен 01, 2013 01:39

дворник писал(а):Для начала нужно скачать и установить себе MinGW

Для начала нужно скачать, установить и освоить себе Linux :)
Здоровье приносит ту свободу, которую очень немногие понимают, пока не теряют его.
skype: andrey-zaharov
Аватара пользователя
Vaulter
Директор
Директор
 
Сообщения: 437
Зарегистрирован: Вт авг 02, 2005 14:35
Откуда: Санкт-Петербург

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

Сообщение George » Вс сен 01, 2013 14:25

Vaulter писал(а):
дворник писал(а):Для начала нужно скачать и установить себе MinGW

Для начала нужно скачать, установить и освоить себе Linux :)
linux у меня нет, но сет я собираю по несколько раз в день. Так что не нужно. Проверено лично. :D
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1346
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

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

Сообщение serg_p » Пн ноя 11, 2013 12:20

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


Вернуться в xUSSR Set

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron