Вопрос по исходным кодам (переменные структуры Tile)

Вопросы разработки OpenTTD, обсуждение новых сборок и патчей, решение проблем новых версий.

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

Вопрос по исходным кодам (переменные структуры Tile)

Сообщение Q » Ср фев 27, 2008 16:29

Решил поизучать исходники на предмет создания патча (пока что для себя, но если получится - обязательно поделюсь). Обнаружил странную вещь: из исходников следует, что показания ЖД светофора записываются в переменную m4 структуры Tile. В то время как на вики сайта http://openttd.org обнаружились забавные документы: раз и два
В них написано, что на самом деле значения сигналов хранятся не в m4, а вовсе даже в m2! Очевидно, документ устарел, хотя дата стоит довольно свежая (1-е февраля). В связи с этим возник вопрос, может кто знает: есть ли свежая документация, в частности, интересует, для чего используются переменные структуры Tile. Понятное дело, что можно почерпнуть информацию из кода, но очень уж муторно в нем копаться.
Рыться на tt-forums не хочется по тем же причинам (+ плохое знание английского).
____________________
Сорри, если сморозил тупость, прошу сильно не пинать :)
Аватара пользователя
Q
Диспетчер
Диспетчер
 
Сообщения: 174
Зарегистрирован: Вс апр 03, 2005 23:07
Откуда: Москва, Солнцево

Сообщение Neko » Сб мар 01, 2008 07:00

Привет, коллега!

Описания сигналов могут быть как только в m2, так и в m2 и в m4.
Всё очень сильно зависит от конкретной сборки и от тех патчей, которые ты на эту сборку накрутил.
Дело здесь вот в чём.
Если берётся обычная ночнушка без излишних патчей, то у нас имеются в наличии только обычные и пресигналы.
Тогда для их описания достаточно двух битов в слове m2
00: normal signals
01: pre-signals
10: exit-signals
11: combo-signals

Но если ты на эту ночнушку решишь навесить любой патч, который реализует PBS, то тогда двух битов для описания сигналов уже будет мало, а надо будет три бита, а само описание сигналов уходит из m2 в m4
000: normal signals
001: pre-signals
010: exit-signals
011: combo-signals
100: PBS signals

Теперь про художественную литературу, которую следует читать.
В первую очередь для решения твоих проблем надо читать файл landscape.html из папки docs именно в той сборке, которую ты собираешься потрошить. Счтитается, что там находится самая актуальная инфа именно для этой сборки.
Инфа в ВИКИ содержит описалово официального релиза, поэтому там не будет описаний для ещё не до конца отлаженных новых патчей, которые ещё не включены в официальный релиз.
Следует очень внимательно относиться к патчам, которые связаны с сигналами (PBS, фонари на мостах и туннелях etc), ибо они очень сильно могут покорёжить m2 и m4. В этих патчах надо внимательно просматривать комменты к модулям, просканировать diff на наличие '.m2' и '.m4', чтобы посмотреть, что там делается.

Удачи!

Держи нас в курсе своих разработок и дай возможность потестировать, хотя бы на уровне исходных текстов.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Q » Пн мар 03, 2008 17:35

Neko, спасибо огромное.
Насчет разработки, кое-что мне стало понятнее, по крайней мере, теперь я знаю, что именно буду реализовывать.
Для начала сделаю патч, предотвращающий появление клинчей на проходных станциях.
Глобально, есть желание немного доработать напильником поведение пресигналов, сделать однопутки, позволяющие пропускать поезда "пакетами", и, вероятно, свой аналог ПБС, поскольку с традиционным ПБС все это хозяйство окажется несовместимо :(
Если красный зажигают, значит это кому-нибудь нужно
Аватара пользователя
Q
Диспетчер
Диспетчер
 
Сообщения: 174
Зарегистрирован: Вс апр 03, 2005 23:07
Откуда: Москва, Солнцево

Сообщение Neko » Ср мар 05, 2008 02:25

Q писал(а):Для начала сделаю патч, предотвращающий появление клинчей на проходных станциях.


Мне интересно будет посмотреть на твоё видение решения этой проблемы.
В своё время я эту проблему решал с помощью разных алгоритмов быстрого реверса в патчах "Клин клином" и "Станционный смотритель (ака Михалыч)".
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва


Вернуться в Разработка OpenTTD

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

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