![]() |
«И будь бы я негром преклонных годов, и то бы без страха и лени я...» © не Тимас.
0. Долго ли, коротко ли, но собрана таблица маршрутов для «Комсомольской». Добавлена отсутствовавшая проектная возможность замыкания двух маневровых маршрутов на приёмоотправочный путь. 1. Для «Тимасовской» набрана полностью таблица простых маршрутов, составные маршруты набраны на 84%. Разбираемся с правильностью использования кнопок маршрутного набора в разных случаях. 2. Замыкание маршрутов восстановлено полностью, идёт возня с размыканием. 3. Рассмотрен вопрос о целесообразности изменения размера субблока с 16px на 22 или 26px. Поскольку 22px особо погоды не сделало, а при 26px один парк станции целиком не влазит в монитор шириной 1920px, то принято решение ничего не менять. Возможно, поиграемся с расположением на «Тимасовской» кнопок и подписей, но в целом глобального перетруха не будет. Нечего сомнительными улучшениями заниматься! 4. Поковыряли графику на предмет вывода альфа-канала через API-функцию AlphaBlend. Работает. Пока не сильно понятно, устроит ли это при рисовании спрайтов ездючин, но порядок работы с ней освоен. Причина сомнений — необходимость домножать исходный спрайт на альфа-канал и вопрос в том, всегда ли будет нужен именно домноженный спрайт. Вопрос оставлен до выяснения или до появления творческого настроения. 5. Использовали вышеописанную работу с альфа-каналом в выводе показаний маршрутного указателя. Заодно отказались в нём от пиксельного шрифта в пользу битовых матриц. 5.1. Все возможные матрицы по методическим указаниям И-317-08 забиты в статические данные вместо описания их в самой вводной. Там нет матриц для знаков «Отключить ток» и «Включить ток», но мы пока до станций стыкования с безостановочным пропуском двухсистемных локомотивов не доросли! 6. «...все трубы в округе чинил бы за то, чтоб дали в дома отопление!» © Тимас. 6.1. Мёрзнем! 7. Больше творческих мыслей и картиночек, как всегда, в Дискорде! |
«Маршруты релейные, маршруты знакомые. Засядем с паяльником, воткнём наугад...» © Тимас.
0. Добили замыкание и размыкание на Комсомольской. 1. На Тимасовской отлаживать будем за счёт опции «Маршрут при ВУ от одной кнопки». После отладки данная опция будет удалена, как не соответствующая реализму. Также будут удалены ещё несколько опций на вкладке «ЭЦ», возникшие во времена, когда автор не до конца представлял себе работу маршрутного набора. 2. Напрогались различные часы, каждые со своим жизненным циклом. Механические на Салюте (пока без завода), вторичные на Тимасовской, электронные на Комсомольской. На Нейске будут релейные, которых в реальности не существовало, но по условиям развития техники они вполне могли быть построены. На Сферической — тоже механические. 3. Создан программный объект увязки структуры вводной. Он чётко привязан к конкретной станции. Нужен для того, чтобы можно было иметь прямые ссылки на рабочие места смежных работников (например, отправить помощника за документами в техконтору). Из-за этого потерялась возможность создать диспетчерскую централизацию. Хорошо это или плохо, пока не понятно. Возможно, объект структуры таки вымрет со временем или во что-то реинкарнируется, и тогда снова можно будет думать о ДЦ, но пока вот так. С точки зрения моделей СЦБ, пешеходной и путевой ДЦ вполне реализуема надстройкой над станционными системами. 4. Ещё немного поигрались с альфа-каналом. Это дало некоторый результат, но не прибавило творческих мыслей. 5. Ищется дисковый телефон с тяжёлым эбонитовым/бакелитовым корпусом и исправным номеронабирателем для записи звуков набора всех десяти цифр. Тяжёлый — чтобы не было дребезга пластмассы, т.к. номеронабиратель вмонтирован в корпус стойки связи. Планируется перевести некоторых смежных работников с кнопок селектора на телефонную связь. В основном это касается контрагентов на путях необщего пользования. 6. Так, что у нас давно не болело?... 7. А в свободное от безделья время гоняются поезда на Праге. Это чтобы мозги не закисали... |
«Вспомнить всё!» © не Тимас.
0. Давным-давно в далёкой-далёкой галактике было снесено и закомментировано очень много кода. Потом были придуманы новые более оптимальные структуры данных и алгоритмы. Но старые алгоритмы оказали значительное сопротивление и оказались стойкими к мутациям, посему с ними идёт байтопролитная война. Это байтораздирающее зрелище творится уже на протяжении 0588 серий! 1. Продолжаем расставлять недостающие кнопки и лампочки на пульте Комсомольской. Ещё не всё! 2. На Тимасовской запустили маршруты от одной кнопки. Временно до написания нового набора и новой индикации этого набора. ПисАться будет одновременно с Нейском. 3. Наличие маршрутов на Тимасовской позволило отладить старые вещи на новый лад: автодействие светофоров, замыкание охранных стрелок, размыкание неиспользованной части поедного маршрута на путь со стрелкой в пути. Остались из крупного: негабаритные секции, местное управление и полуавтоматика. 4. Запустили часы на релейной логике на Нейске. Работают, включая пятисекундный отсчёт. 5. Взялись-таки за переработку прототипного графика для Нейска. Задача — разобраться с оборотом составов МВПС и бригад и курсированием по дням недели. 6. Массово живём воспоминаниями о жизни на другой Планете в другую эпоху. Эх, вытащить бы оттуда всё виденное и слышанное, да систематизировать бы! 7. А у Праги новое обновление. посему пинаем разработчиков на тему новых вкусных глюков! |
«Ловись, глюки, большие и маленькие!» © не Тимас.
0. Помаленьку идёт процесс вспоминания того, что было раньше. Восстановлены зависимости для стрелки в пути, негабаритных стыков и охранных стрелок. Идёт битва с автовозвратом стрелок в охранное положение. Вместе с тем, по стрелкам в пути есть недоделки, которые в имеющихся вводных не проявятся. Скорее всего, на Сферической будет предусмотрен ещё один вариант путевого развития, и тогда уже отладится всё разом. 1. Местное управление — пока не решено. Возможно, только после набора маршрутов, т.е. после Нейска. 2. Была предпринята попытка по-быстрому за'spawn'ить БПЛА (Бесконтактная Полифункциональная Лаборатория-Автомат) на входе в путевую модель. Не получилось. БПЛА нужна для того, чтобы отладить кодирование в маршрутах приёма (ездючина со станции не может пока выехать на перегон) и отладить фиксацию прибытия при ПАБ (которая в теории работает, но надо убедиться). 3. Для хотя бы БПЛА требуется сразу некоторое количество структур данных, через которые будет передаваться информация о новом составе. Помимо собственно списка ездючин, нужно упоминание депо и бригады, грузов, их назначений, диапазонов номеров ездючин и т.д. Посему начата проработка вопроса входа подвижных единиц в путевую модель. Пока намечено два spawner'а — для депо и соседней станции. Возможно, появится ещё и третий — для немоделируемого тупикового маневрового района или товарного двора. 3.1. Суть в том, что на Т нецентрализованные стрелки товарного двора начинаются сразу от стыка светофора М70. Если бы туда ездили только ради товарного двора, то вышеописанный вопрос бы не стоял. Но туда ездят ещё и для того, чтобы подать вагоны под третий пакгауз (тупик за М72). Поэтому какое-то путевое развитие за М70 иметь всё же надо. Кроме того, товарный двор не является веером тупиков, направленных в одну сторону. Там есть две «рыбы», маневровый может обгоняться и выезжать как вагонами вперёд, так и тепловозом вперёд. Посему общий концепт упирается в то, как писать весь алгоритм проведения манёвров на товарном дворе без непосредственных команд на движение и прицепку-отцепку. Если такой алгоритм напишется, это решит многие проблемы в будущем! 4. Также прорабатывается вопрос нескольких точек входа в симуляцию в разные дни недели и времена года. Для облегчения этого немного переписали кодирование. Теперь в начале симуляции все светофоры автоблокировки ещё не принимают код. Соот-но, в загружаемой вводной изначально не будет подвижных единиц. Они будут расставлены индивидуально при выборе точки старта. 4.1. Под это дело будет снесена оставшаяся часть графики подвижного состава и написана новая база данных по нему. 5. Был восстановлен доступ к DropBox, и туда залита более старая, но более стабильная сборка 0458. Курбеление и ключи-жезлы в ней ещё работают. 6. Зима. Гоняю Прагу, шуршу пластмассовыми детальками. 7. Рассказал на ещё одном форуме про этот проект. Народам интересно. Посему рассказывать буду и тут и там! |
«А у нас огонь погас. А у вас?» © не Тимас.
0. Огонь погас, но его включили. А вот старый старый комп включиться не захотел. Блок питания выработал свой ресурс и на нём сдохла «дежурка». Комп сборки декабря 2007, в общей сложности наработал в режиме 24/7 чуть более восьми лет. И вот теперь я стал счастливым обладателем двух дохлых компов! 1. Из информационных потерь — половина 0600 сборки. Каждая сборка резервируется на файл-сервере, посему всё остальное цело. Так что совершенно не критично. Там логически понятно, что дальше после 0599 писать! Информация и мысли тоже все на файл-сервере, так что информационных потерь нету! 2. Перебрался на ноут, прикрутив к нему освободившиеся клавиатуру и монитор. Работает стабильно. 3. Ну и самое интересное в этом бардаке то, что я пытаюсь перетащить проект с Delphi7 на XE2. Опыта перетаскивания проектов, компонентов и модулей у меня нету, посему процесс идёт очень вяло. Не факт, что вообще всё заработает. Но, ежели заработает, это добавит возможностей для добавления новых возможностей в программу (встроенная система помощи, аппаратная поддержка альфа-канала в спрайтах и т.д.). Посему пока пытаюсь. Кто имел подобный опыт — не откажусь тому позадавать вопросики! 4. До помирания компа была доделана работа ДСН не только на моделируемой станции, но и на всём участке, а также зависимости по негабаритным стыкам и автовозврату стрелок. По автовозврату и негабаритам также выведена справочная информация. 5. Начато приведение электропитания ламп и ячеек индикации на пульте к реализму: что от каких полюсов питается. 6. «Не румяный гриб в лесу, а поганый грипп в носу.» © не Тимас. 7. А в свободное время продолжаю шуршать детальками... |
«Не перевелись ещё стрелки на Нейске-Северном!» © Тимас.
0. Проект полностью переехал на Delphi XE2. Вообще это была совершенно безумная идея: лезти с полуживым кодом в новую систему. Нормальные программисты рекомендуют сначала отладить всё, а потом перебираться. Чтобы старые глюки на новый лад не вылезали! Но это жеж нормальные программисты, я к таковым не отношусь! 0.1. Видимых потерь нету. Были проблемы с иной обработкой события OnClick в списках, но это уже в прошлом. Графика и звуки переехали нормально. 1. Вместе с тем, остались и старые проблемы с исчерпанием ресурсов GDI при разовом экспорте спрайтов пульта в файл. Если эту операцию прерывать (хоть по таймеру, хоть по ShowMsg), то экспорт проходит нормально. Проблема именно в том, что сразу надо вытащить и нарисовать много (1300+) спрайтов. На проблему косвенно влияет количество загруженных из DLL PNG-картинок. В будущем сия проблема может проявиться при генерации спрайтов сразу всего нового состава при его spawn'е в точке входа. Потому как там оси-колёса (телеги, надписи, шторки/окна, груз) — всё раздельно. Посмотрим. Вопрос отложен до перетруха базы подвижного состава. 2. Идёт сборка пульта вводной Салют. Про неё — да, иногда вспоминается! 3. По Нейску активно рисуется в AutoCAD'е график из прототипных данных. Параллельно рассчитываются обороты, занятие перронных путей, и придумываются всякие дополнительные интересности. 4. По Тимасовской и остальным — полностью доделано питание индикации пульта. По мере появления мыслей пишется реакция объектов СЦБ на потерю и восстановление электропитания. Поскольку теперь симуляция гораздо ближе к реализму, приходится учитывать поведение отдельных ключевых для работы схем релеев. Вместе с тем, ранее непонятные вещи постепенно становятся понятными просто по той причине, что они правильно смоделированы. 4.1. При всём при этом есть некоторые огрехи. Например, хвостом висит фиктивная стрелочная секция 22ФСП. И висеть её до тех пор, пока не будут написаны секции «крестов» для Нейска. Потому как логика индикации там у них общая. 4.2. Хвостом висят переезды. Хоть по станции, хоть по перегону. Ждут или ездючину на перегон, или описанную ранее БПЛА. Чтобы код перекрывала в рельсовой цепи для участка приближения. 4.3. Набор маршрутов, местное управление стрелками и остальные хвосты (кроме станции стыкования родов тяги) — тоже после Нейска. 5. Со звуками номеронабирателя пришлось поступить совершенно также, как и со звуками от электрожезлового аппарата. Это дороже, но надёжнее. Просить кого-то о чём-то совершенно бесполезно. Проверено лично! 6. Взят чёткий курс на полный отказ от новомодных англоязычных словечек, имеющих альтернативу в родном языке. Это может ещё более сузить круг общения. 7. А чехи на ныне используемом компьютере не растягиваются во весь экран. Их разрешение в 800х600px висит мелкой картинкой посередине чёрного фона. Посему чехи временно не в почёте. Зато уже полтора месяца в вялотекущем режиме гоняю «Виртономику». И не надоедает! |
«Это в городе коронавирус, а за городом — чума!» © не Тимас.
0. Продолжается активная возня с Нейскими графиками! Я не думал, что там всё так тяжко. Хотя большинство оборотов даже сводятся, но это далеко не всё! 1. Дорисован пульт во вводной «Салют». Отладить там ПАБ не представляется возможным, пока не будет связи с соседними станциями. А связь ждёт рисования и программирования работы коммутатора УКСС-8. 2. Создан объект точки входа в симуляцию. Пока он только выставляет дату и раскидывает аншлаги по пульту, но в будущем будет расставлять подвижной состав и задавать начальные состояния некоторых других объектов (например, время явки бригад, которые уже загружены в симуляцию и сидят в ездючинах). 3. Со звуками от телефона ничего не вышло: номеронабиратель оказался слишком тихим и мягким. Хотелось бы с характерными щелчками. 4. Кнопочным релеям внезапно вернулась индикация. Просто под руку попалась, да мысль пришла. 5. Было принято решение отказаться от «контрольной точки» — момента в симуляции, когда надо было сбросить сохранёнку автору программы для оценки работы программных объектов и разрешения работы симуляции дальше. Собст-но, отказ-то был именно от сбора отладочной статистики, т.к. объекты раздроблены на более мелкие, и глюки теперь ловить гораздо легче. 6. «А нам всё равно! А нам всё равно! Мы маркетингу верить не хотим!» © Тимас. 7. «Виртономика» крутится, детальки шуршат. Мысли свежие, неочищенные, немытые, в сетчатой упаковке! |
«Отрисована, оцифрована. По ID в файле ввдоной прописана...» © Тимас.
0. Вводная «Нейск-Северный», как говорят издатели, «ушла в набор». Это значит, что закончено формирование путевого развития централизованной части станции и начато формирование файла вводной. На станции 639 узлов путевой модели, 120+ стрелок, 130+ остряков (присутствуют «англичанки»), какое-то количество светофоров и рельсовых цепей. Всё это в текстовом режиме набирается в файл вводной. 1. Перечитаны типовые решения по древней системе централизации ТР-26. С их помощью удалось окончательно разобраться со всеми кнопками на фото мнемосхемы прототипной для Нейска станции. Расстановка изостыков и светофоров немного изменена, но расстановка кнопок будет соответствовать прототипным типовым решениям. Вопросов в этой части не осталось. 2. Написана процедура постановки состава на путь в любой точке путевой модели. На самом деле не совсем любой, субсекция должна быть длиннее максимально длинной в составе ездючины. Но, главное, что сей алгоритм корректно работает в любом направлении (как относительно экрана, так и относительно чётности и порядка узлов в описании субсекции). Он будет использоваться как при загрузке вводной (вместо статических составов они будут расставляться в зависимости от выбранной точки входа), так и при въезде нового состава в симуляцию «из-за угла монитора». 3. Поставлена задача создать групповой маневровый светофор, расположенный в створе с корнями остряков пошёрстной стрелки и обслуживающий оба направления с неё. 4. Также рассматривается вопрос о групповых выходных светофорах, но с ними пока сложнее. Сложность представляет собой описание восприятия машинистом в «алгоритме зрения» показания повторительного и основного светофора. Скорее всего, вопрос останется до запуска вводной «Сферическая». 5. По причине возни с Нейском собственно сборок с новыми возможностями в коде крайне мало. Но это не значит, что процесс остановлен. 6. Самоизолировался ещё больше, хотя и до этого было неплохо быть самоизолированным! 7. Больше новостей, обсуждений и картиночек — в соотв. канале в Дискорде. |
Этот выпуск новостей проекта всё время находился на самоизоляции, не сумел получить цифровой пропуск и поэтому не смог выйти в свет...
|
«"Columbia Pictures" не представляет, как на "Мосфильме" картинки снимают...» © не Тимас.
0. Нарисована огромная мнемосхема для вводной «Нейск-Северный». Пути на ней немножко вразброс, но это обусловлено как необычностью путевого развития, так и желанием сделать мнемосхему более наглядной. 1. Пишется работа секций с глухими пересечениями, коих там семь штук! Очень интересно с точки зрения СЦБ, но на пальцах объяснять бессмысленно. 2. Нарисованы цифры и написан код для указателей номера поезда и времени отправления (на аппарате управления, не для пассажиров!). В реальности в релейных системах такие указатели не применялись, но в условиях планируемой густоты движения и работе в одно лицо они просто необходимы. По условиям вводной считается, что ими управляет дежурный по отправлению, выдающий предупреждения машинистам электросекций. Он же, скорее всего, будет согласовывать с дежурным по депо изменение графика оборота составов при сбоях в движении, но это гораздо позднее. 3. Были несколько попраны принципы клеточности пульта. Если на пульте клеточки не нарисованы, это не значит, что их там нет. Так вот, теперь спрайты элементов мнемосхемы и объектов индикации могут быть произвольно смещены относительно «родной» ячейки. Намного смещать смысла нет, но всё равно это дало некую свободу в наборе мнемосхемы. И, главное, это сильно сократило одинаковые спрайты, отличающиеся только смещением. Раньше приходилось использовать всякие «половинки» глазков индикации, попадающих на стык ячеек, теперь этого нет. Также это позволит изображать светофоры по диагонали, что улучшит восприятие отдельных участков мнемосхемы. 4. Начат мозговой штурм новых алгоритмов набора маршрутов. Есть мысль отказаться от понятия составных маршрутов. Сам набор должен инициировать все составляющие маршруты. 5. Производятся попытки вытрухнуть из базы спрайтов всё лишнее и начать сборку новой базы подвижного состава. Пока без графики. 6. С грустью вспоминается период самоизоляции с практически полным отсутствием людей, минимумом машин и тишиной на улице. 7. На «Виртономику» забито, т.к. для дальнейшего развития она потребует слишком много времени. А детальки продолжают шуршать. |
«Восемьдесят три процента всех дней в году начинаются одинаково: звенит будильник.» © не Тимас.
0. Продолжается возня по «Нейску». Начат сбор карты участка и расстановка светофоров на поле и на мнемосхеме. Светофоров много, процесс долог. 1. Соот-но, дальше будет настройка таблицы маршрутов. Маршрутов ещё больше, чем светофоров, процесс ещё более долог. 2. Параллельно идёт некоторая возня по восстановлению старых и поиску новых старых глюков. Иногда даже успешно идёт. Например, восстановлена работа «трёх жёлтых» и «синего» на маршрутном. 3. Внезапно написалась работа со внешним стендом. Идея: визуализация показаний отдельных светофоров на стенде. Для Т-1 — это все входные светофоры, для К — последовательность из проходных, входного и выходных (в чётную сторону). Просто для наглядности. Написанное не тестировалось за неимением внешнего стенда. Автор ждёт, когда инженеры Китежградского завода маготехники освоят магию приёма байтов через COM-порт. [SPOILER]Фактически используется односторонняя передача без всяких дополнительных увязок. Каждый светофор отправляет два байта информации. Установленные биты соответствуют горящим огням. Всего из слова значащих бит 11, для всех светофоров и их типов они одинаковы по цветам. Планируется, что управление огнями светофоров на стенде будет происходить на основе сдвиговых регистров. В конце цикла передачи передаётся слово 0x8000, по которому внешний стенд управляет синхронизацией. Количество светофоров для каждой вводной может быть различным, это не имеет значения ни для прошивки внешнего стенда, ни для самой программы. Управление мигающими огнями происходит на стороне программы. Сигнальные показания маршрутных указателей не передаются. А стрел для коротких блок-участков пока вообще нет в проекте.[/SPOILER] 4. Вернулся вопрос о четвёртой (по номеру) вводной — станции «Сферическая». Пока на уровне техпроцесса. 5. Переезды — в процессе. 6. Организм автора начисто отказался переносить жару свыше +29 градусов. С полным отвержением продуктов питания и полным нежеланием шевелиться. Посему в творческом процессе произошёл двухнедельный перерыв. В настоящее время работа организма восстанавливается. 7. А диван работает. Транслирует! |
«Нам выпал счастливый, но трудный билет — мы века двадцатого дети...» © не Тимас.
0. Продолжается возня по Нейску. Светофоры на станции расставлены полностью. Идёт расстановка светофоров и сборка СЦБ на прилегающих перегонах и далее по участку. Пересмотр концепции входа поездов согласно графику движения потребовал дополнения путевой модели. Да так, что по одному из направлений она шагнула ажно на три перегона. Сама путевая модель, кроме грузового района станции Нейск-Северный, собрана полностью: 1001 субсекция и 896 узлов. СЦБ по станциям, который будут управляться ИИ поездного диспетчера, делается только по главным путям, т.к. полностью такие станции моделироваться не будут. 1. Вход, а, скорее, даже выход поездов сильно привязан к графику движения. Но в нём есть некоторые особенности, которые до проектирования Нейска в расчёт не брались. Одни и те же цифры на графике могут иметь разное значение с точки зрения теории графика. Мало того, что для многопарковых станций время может быть указано для конкретного парка, а не для оси станции, так ещё и электросекции сильно портят настроение. Например, если платформы для электросекций расположены в горловине на стрелках или вообще плюс-минус на первом удалении, то для электросекций, имеющих остановку, время будет указано не по оси станции, а именно по этой платформе. Соот-но, по оси станции оно будет раньше или позже. Это и затрудняет ввод поездов в модель единым алгоритмом. 2. Ввод будет производиться на соседней или не очень соседней станции на п/о путь от выходного светофора направления, противоположного вводу. Вопрос о стартовой скорости пока открыт, т.к. в пределах этого пути возможна остановка. Время, на которое надо сдвинуть ввод, чтобы ось станции была проследована на график, будет зависеть от скорости ввода. Возможно несколько путей для ввода поездов разных категорий (на Хрустале — подходе к Тимасовской — главный путь неперронный, электросекции и местные пассажирские поезда надо будет выставлять на боковой). Сам алгоритм постановки уже написан. 3. Выход поездов из модели также будет происходить на станционном пути перед выходным светофором попутного направления. При этом надо будет смоделировать удаление выходящего поезда по блок-участкам для правильного кодирования. Чтобы после занятости не появлялся зелёный. Ест-но, от скорости ушедшего поезда и заданных расстояний. Возможно, без учёта скорости, т.к. поезда могут собраться в кучу и ехать на жёлтый друг за другом. 4. Поставлена задача и есть мысли создать одиночный маршрутный указатель в горловине станции. Материалы есть, схемы изучены, концепция понятна. 5. Поставлена задача таки разобраться с необслуживаемым примыканием на перегоне, оборудованном автоблокировкой. С примыканием на ПАБ и так всё понятно, но хочется именно на АБ. Примеры есть, но типовых материалов нет и распросить некого. Хочется сделать такую штуку на Сферической. 6. С увеличением долготы ночи началось осеннее обострение. 7. А шар, видимо, всё-таки рванул... |
«За одного небитого двух битых даю!» © Тимас.
0. Да, даю! И отбираю. В самое ближайшее время я таки стану счастливым обладателем отборного (ну или отобранного) компьютера! 1. По Нейску полностью собрано «поле». Начата сборка индикации повторителей светофоров на табло. По её окончании будет некоторый перерыв в разработке. 2. Есть мысли, как написать набор маршрутов. Его работа должна состоять из двух этапов: сформировать список стрелок от нажатий сигнальных и вариантных кнопок и найтить по этому списку требуемые маршруты. Реализация — после перерыва. 3. Помимо Сферической, обдумываются техпроцессы ещё пары вводных, но уже для второй очереди. 4. Примерно разобрался с техпроцессом пункта перестановки вагонов. Интересная технология. Но, по большей части, пограничные станции слишком крупные для моделирования. Надо думать! 5. Переезды и местное — по-прежнему висят! 6. С нетерпением жду второй волны самоизоляции. Чтобы снова была тишина и покой. 7. «User is not in the sudoers file». Но это пока. |
«Ходят тут всякие. А потом пингвины пропадают!» © не Тимас.
0. Пингвины больше не пропадают. А вот окна, наоборот, исчезают бесследно. Пока некоторые товарищи радостно воют и ноют о глюках и слежке, на отборный (ну или отобранный) компьютер я просто взял и поставил Debian. Вот так и сразу! Я не связан игрушками и какими-то специфическими программами, посему потери совершенно невелики и восполнимы. 1. Соот-но, проект переехал на Debian (Lazarus + FreePascal). 2. Есть места, где необходимо заменить WinAPI на что-то более внятное, эти вопросы решаются в процессе переноса кода. Например: вывод шрифта под углом. Ещё местами надо много чего переименовать, т.к. встроенные процедуры и функции имеют другие имена. 3. На базе логики компонента CellGameBoard будет написано семейство своих компонентов, более заточенных под конкретные требования. Шрифт ЛСД (Liquid_Crystal_Display) в систему поставлен. Но в компонентах семейства VisInform он будет заменён матричным выводом, как символы для маршрутных указателей. Также будет написан компонент для лепесткового табло типа советского аналога Pragotron'а. 4. Выкинул BASS.dll, бо он есть только для arm64-архитектуры. Веду теоретические изыскания по OpenAL. Что-нибудь откуда-нибудь выдрать и вставить. Возможно, даже поиграюсь с трёхмерностью звуков, хотя это не главное. 5. Выкинул NativeXML, бо больше не вижу смысла использовать шифрование файлов (читается как «делайте там, что хотите, всё равно не разберётесь!»). Перебираюсь на встроенный DOM. Он, кстати, оказался строже в отношении структуры файла, нашёл некоторое количество отсутствующих разделяющих пробелов и неправильно закрытых тегов. Понятия вводной и симуляции по-прежнему остаются раздельными, но суть файла будет сильно зависеть от его местоположения и наличия некоторых разделов (напр., в запущенной вводной совершенно бессмысленен раздел со стартовыми точками и действиями по запуску вводной - превращения её в симуляцию). 6. Ну и да, проект переименован в SimStRa - СИМулятор СТанционной РАботы. Бо из игры он давно вырос, а тренажёрной задачи я ставить не хочу. Проект будет распространяться с открытым исходным кодом по лицензии GPL. Отдельные "чужие" части проекта будут распространяться по лицензии LGPL. Тема переименована. 7. Wiki будет со временем прикрыта и заменена полноценной системой помощи. Надо только разобраться, в чём лучше её писать. |
«Что такое осень? Пандемия. Вирус наступает новой тучей...» © не Тимас.
0. Переезд под GNU Linux можно считать состоявшимся. От исходного кода отгрызены все ссылки на графику, звуки и диалоговые окна, и в этом виде он радостно переехал на Free Pascal. 1. NativeXML, хоть и хорош, но таки выкинут и заменён стандартным DOM-объектом. Работает прекрасно. Файлы читаются и пишутся, комментарии удаляются (чтобы списочность объектов не нарушать). Ест-но, всё это переехало с CP1251 на UTF8. 2. Идёт возня с тарболами. Это такой архив без сжатия. Смысл: не проверять каждый файл графики и звуков отдельно, а проверять только целостность тарбола по MD5. Мне не жалко, если кто чего утащит или пририсует своё, ради этого я и перешёл на GPL-лицензирование. Кому надо - и так это сделают. Хочется просто обезопасить алгоритмы, бо в ряде мест они сильно зависят от картинки спрайта. 3. Переписано чтение и сохранение списка объектов. Вместо динамических массивов постепенно идёт переход на списки. Причём список может быть как ссылочным, так и владельцем загруженных объектов. Как-то раньше об их совмещении я не задумывался. 4. На базе григорьевского CellGameBoard пишется свой собственный набор компонентов для работы с сеточками. Компонент непосредственно пульта написан, но ещё не проверялся. ВизИнформ пишется. Знаков там будет побольше, нежели 64 в оригинальном табло. Но рисоваться они будут программно, а не с использованием пиксельного шрифта. 5. Праготрон (лепестковое табло) написан и проверен. Работает, только шелестящих звуков не будет. Немножко играюсь со скоростью листания. Но это же потом, когда вся математика начнёт считаться в цикле. Из интересного - совмещение одинаковых по начертанию кириллических и латинских символов. Лепестков всего 80, по пять фаз в каждом перелистывании. Был опытным путём подобран шрифт (Noto Mono) и размер (16px), а сами спрайты лепестков сформированы программно. Алгоритмы изменения яркости через преобразование RGB -> HSB -> RGB были написаны пару лет назад, сейчас они как раз пригодились. 5.1. Параллельно с этим освоил работу с UTF8-строками, где число занимаемых байт не соответствует числу символов. 6. «Но при этом маски носят все на подбородке...» © оттуда же. 7. По звукам сделал предварительные изыскания, но ещё не копал глубоко. Всё впереди! |
[QUOTE=Timas;596826]
2. Идёт возня с тарболами. Это такой архив без сжатия.[/QUOTE] их обычно юзают с сжатием, типа tar.gz или tar.bz2 |
[QUOTE=Garikk;596833]...их обычно [I]юзают[/I] с сжатием, типа tar.gz или tar.bz2...[/QUOTE]
Используют. Но мне в данный конкретный момент это не нужно. Посему просто голая обёртка, которую один раз проверил по MD5 и уже спокоен, что все файлы там на месте. В таком случае отпадает надобность в раздельной проверке размеров и неизменности спрайтов. А для сводного спрайта индикации пульта вообще критична структура, потому как он, будучи правимым на лету по части яркости лампочек, может некорректно отработать при сбое этой структуры. В собст-но TrainMania'и этой проблемы практически не было, т.к. там компонент сетки хранил загруженный сводный спрайт в ресурсах программы, а потом загружал и дербанил поячеечно на маленькие картинки. Его там, конечно, тоже можно было покурочить сторонними средствами, но это уже маловероятно. Ну и да, я совершенно не запрещаю сам процесс раскурочивания. Кому захочется - пускай терзают. Может быть, даже мне пришлют чего интересного. А так - давеча доразбирался с заголовками внутри тарбола и эту тему закрыл. Конечно, лишних 1024 байта на каждый файл - это не слишком хорошо. Но на текущий момент вполне годится. |
«Кто не знает электровоз ЧС2-605 - в советской школе не учился!» © не Тимас.
0. Проект понемногу возвращается в привычное русло. Параллельно вытрухаются многочисленные огрехи, до которых не доходили руки. 1. Доведён до рабочего состояния и признан годным к эксплоатации модуль работы со всякого рода сеточками. Пульт, табло «Праготрон», табло «ВизИнформ». Доделан хвост с цветной индикацией на «Визинформе», теперь при редактировании текста цвет каждого символа следует за его местоположением. «Праготрон» используется в окне «О программе» и, в будущем, в качестве вокзального табло для контроля жизни вокзала. «ВизИнформ», как и прежде, будет для полей ввода, вывода, блокнота и прочей мелочёвки. Есть варианты для ввода времени и работы с восьми- и (новое) двенадцатизначными (международными) номерами подвижных единиц. Появилась опция (ранее - всегда) автоматического расчёта контрольного знака (алгоритм Луна), при её отсутствии некорректный номер выделяется цветом. 2. Главное окно программы постепенно превращается в "лаунчер", где производится выбор вводной, выбор точки входа и задание имени пользователя. После этого уже будет открываться окно с пультом, там и происходит основная работа с программой. 3. Соот-но, добавлен ряд объектов, обеспечивающих такой подход к запуску симуляций. Концепт разделения вводной и симуляции остаётся прежним, только теперь файлы вводных остаются неизменными, а сами симуляции будут сохраняться в отдельных подпапках. 4. Список точек входа в симуляцию и действий по превращению вводной в симуляцию переезжает в статические данные. Нет смысла таскать его в запущенной симуляции. 5. Написан менеджер графики. Перечень спрайтов начат заново. Графика подвижного состава пока выкинута. Улучшена работа с пиксельным шрифтом. 6. Рассматривается вопрос о введении нескольких логик для светофорной сигнализации, а также совершенно ином алгоритме их визуализации. 7. Работа с внешним стендом, которая так и не была завершена, временно прекращена. Если найдётся аналог модуля для FPC, то она будет возобновлена. |
«Ах, как долго-долго едем. Как трудна...» © не Тимас.
0. Продолжается перетрух главной модели на предмет её переезда с динамических массивов на списки объектов. С учётом возможности владения объектами или только предаставления ссылок на них. 1. Немного поковырян график по Нейску. Три из четырёх желаемых поездов добавлены, для четвёртого требуется достаточно серьёзная хирургия. Вопрос отложен. 2. По Сферической придумана местная грузовая работа с двухсистемными локомотивами. 3. Добыты РУ-30 за 1965 год (родоначальник всех остальных РУ). Вопрос по "американской" нумерации проходных светофоров не прояснился. 4. Discord под Linux приобрёл повышенную растворимость в эфире, приходится пока пользоваться web-мордой. Посему опять без голоса. 5. Достроил LEGO-вагон-салон. Ещё не выкладывал. Фотки будут на DB, как и по прежним проектам. 6. «Ах, как тихо, тихо в мире. Как трудна...» © не Тимас. 7. В связи с несогласием с последней редакцией Правил пользования настоящим форумом (обнаружена дискриминация по политическим взглядам) мною принято решение о прекращении пользования данным форумом и отзыве своих разработок с него. Никогда не лез в политику (хотя политическую экономию очень люблю), но всегда был против какой-либо дискриминации где-либо. Письмо с требованием об удалении моих разработок и отключении данного аккаунта будет направлено администрации данного форума в ближайшее время. Разработка проекта будет продолжена лишь для себя любимого. Всем спасибо, все свободны. |
Текущее время: 17:31. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim