Показать сообщение отдельно
Старый 17.09.2012, 14:18   #156
NoiSe
Опытный
 
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
NoiSe стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Ted Посмотреть сообщение
Дык вот и весь вопрос - как различать стыковой/бесстыковой путь, как вообщем его описывать?
Если без трексаундов так получается надо вообще какой-то другой объект придумывать, чтобы размечать пути.
не.. это не наш метод изобретать объекты.
Проще использовать трексаунд как объект широкого назначения.
Допустим у нас по умолчанию все пути без стыковые ,а стыковой путь
будет метится TrackType 1 на станциях(хотя это же можно узнать из обьекта SidingItem)

Если после стрелки на этом пути нет никаких TrackType и есть SidingItem значит считаем что мы на станции и устанавливаем TrackType = 1 для SMS и включаем генератор стыков через 25M для кабины.
К стати по номеру пути в SidingItem можно устанавливать степень разбитости пути и переключать генератор стыков на 12.5м если допустим номер пути больше 5.

стрелка будет узнаваться другим методом из трека ,а значит метить её не будем

если после стрелки на этом пути нет никаких TrackType и нет SidingItem
значит считаем что мы на перегоне и переключаем генератор стыков на 600 метров.

^это вариант работы по умолчанию.

ниже будет вариант работы если TrackType расставлен на треке
это когда станция маленькая и главный путь без стыковой.
Сразу после стрелки на трек ставим отметку TrackType 0
Цитата:
Сообщение от Ted Посмотреть сообщение
Может модифицировать ttype.dat? В каждом типе добавить параметры пути, такие как частота стыков и тогда уж, допустим номер TrackType, который передаётся СМС для каждого типа и/или звуковые эффекты, связанные с данным типом.
Можно и чего не модифицировать а принять как константы
допустим так
TrackType 0 без стыковой 600м
TrackType 1 25м
TrackType 2 12.5м
TrackType 3 стрелка прямо
TrackType 4 стрелка на боковой
TrackType 5 без стыковой 600м + кривая
TrackType 6 25м + кривая
TrackType 7 .... резерв (маркер события или еще чего)

прикольней было-бы так

TrackType 1 без стыковой 600м
TrackType 2 25м
TrackType 4 12.5м
TrackType 8 кривая
TrackType 16 стрелка прямо
TrackType 32 стрелка на боковой

тогда
TrackType 9 без стыковой 600м + кривая
TrackType 10 25м + кривая

но в SMS нет математических операций

Цитата:
Сообщение от Ted Посмотреть сообщение
А может вообще по-другому воспроизводить стыки? Если у нас в ttype будет указано расстояние между стыками для данного типа пути, тогда движок может просто при "прохождении стыков" отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot звук стыка.
всё бы было хорошо и возможно будет работать но в SMS нужно выставлять задержки по осевой формуле(файлы к примеру так делать) и задержки будут динамические с учетом скорости.
У поляков в EU07 так и сделано но нормально не работает(пропускает события) то в семплах захлёбывается. И MSTS была такая схема.
Вся проблема в звуковом двигле который видимо выделяет один поток для стука колёс.
Для того чтобы такая схема работала нужно ювелирно подбирать длину семпла иначе будет перехлёст семплов(когда один еще не доиграл а нужно уже играть другому) и пропуск проигрывания.
Да и к тому-же сделать очень короткие семплы стука нельзя так как есть минимум после которого звук становится не похож на правду.

Справедливости ради в ZDSimulator эта схема работает но там со звуком всё гораздо проще.

Цитата:
Сообщение от Ted Посмотреть сообщение
Я думаю, что и просто Halt надо сделать - для того чтобы конкретно высвобождать поток и следующий триггер уже мог начать воспроизводить новый звук
С этим спорить не буду потому это должно быть частью конструкции
Halt()
DisableStream()

так будет правильнее и Halt можно использовать отдельно

Последний раз редактировалось NoiSe; 17.09.2012 в 14:24.
NoiSe вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА