![]() |
|
MSTS Mapper
всем доброго вечера!
наш ответ чемберлену, или TS Mapper заколебал в корень. хочу поделиться новостью про скоротечную разработку. буквально за пару дней наваял маппер, который хотел наваять уже года 3 как, с момента рождения менеджера сценариев. на текущий момент еще много задач в TODO, и местами подглючивает отрисовка, но уже очень даже юзабельно. [url=http://itmages.ru/image/view/780228/67f6bf30][img]http://storage6.static.itmages.ru/i/12/1128/s_1354113080_1790636_67f6bf3078.png[/img][/url][url=http://itmages.ru/image/view/780229/07bab538][img]http://storage7.static.itmages.ru/i/12/1128/s_1354113092_8493956_07bab538b7.png[/img][/url][url=http://itmages.ru/image/view/780230/602aaec1][img]http://storage9.static.itmages.ru/i/12/1128/s_1354113101_1441205_602aaec195.png[/img][/url][url=http://itmages.ru/image/view/780231/fc9b68c1][img]http://storage1.static.itmages.ru/i/12/1128/s_1354113110_4996937_fc9b68c129.png[/img][/url][url=http://itmages.ru/image/view/780232/07e13472][img]http://storage2.static.itmages.ru/i/12/1128/s_1354113119_4343419_07e13472ba.png[/img][/url] степановку грузит секунд 15, отрисовка всего маршрута с кучей всего полезного без ограничений - без тормозов, и есть куда улучшать. на этапе загрузки степановки жрет 200 метров, после – 50. что еще надо: · еще надо километраж; · надо Siding Items рисовать; · есть мысли улучшить вывод текста нормалью к платформе; · есть идеи по поводу отрисовки профилей заданных участков (пока не умеет).. · также хотелось бы добавить в статусбар координаты тайлов (и на тайле) и географические, при движении курсором по карте; · и есть идеи по сохранению в картинку (умела, но переделал на движок с зумом, и пока не переучил) — были мысли забить на идиотское жадное сохранение в 100500х100500 картинку, и сделать заместо этого нарезку в кучу картинок для последующей печати листов.. с заданием dpi, формата бумаги.. отрисовку в текущем уровне зума делать.. и как максимум – печатать прямо из программы. будет ли кто таким пользоваться? :D еще пару дней полирнуть какие мелочи, можно и использовать. сейчас, честно говоря, крайне забито свободное время, потому сделалось все молниеносно, но качественно, чтобы не было очередного унылого Gовна. потому из-за времени сейчас проект не сильно приоритетен (у меня еще неотрелизенный менеджер висит на шее :D) |
Молодца...
Такого софта порой ой как не хватает. Как допилишь, рекомендую выложить на trainsim.com. Оторвут с потрохами. |
Ну красиво, да) Не знаю насколько практично.
[QUOTE]есть идеи по поводу отрисовки профилей заданных участков (пока не умеет)..[/QUOTE]Кстати да, такая же мысль, глядя на скрины,- построить бы план-профиль участка, и схемы станций заодно ещё)) Можно будет режимные генерировать))) Сохранение в файл нужно, хотя бы без разбивки на куски. |
[QUOTE=E69;373411]Сохранение в файл нужно, хотя бы без разбивки на куски.[/QUOTE]
это как раз самый легкий вариант. я про него думал в первую очередь. просто спрашивается разрешение, какое должно быть у картинки по большей стороне, и вся сцена рендерится в файл во мгновение. зы. на текущей граф-библиотеке держало порядка 11000 пикселей на сколько-то там, на более простой держало 25000 и около того. просто здесь сглаживание линий есть, но я еще подумаю :) |
[QUOTE=Net;373404]
будет ли кто таким пользоваться? :D [/QUOTE] Будет, конечно. Я, например, точно буду. Молодец [B]Net[/B] - так держать! |
причесал междумордие, научил сохранять все галочки, размеры и позиции в xml. амбициозно добавил галочек из редактора маршрутов. будем надеяться, осилим :D
[url=http://itmages.ru/image/view/780931/ba43b98c][img]http://storage9.static.itmages.ru/i/12/1129/s_1354138618_4389713_ba43b98cff.png[/img][/url] |
Айс! Будет очень полезная штука для сценаристов и вообще всех причастных, некоторые летают по Степанкам понятия не имея в каком направлении :D, типа куда рельса приведет, а так можно карту распечатать и на стенку повесить.
|
Ай, хочу!;)
|
В идеале научить бы его подписи раздвигать... или отображать на мелких масштабах только один путь из нескольких параллельных.
|
уже научен фильтровать названия станций (не платформ). рисуется только одно название, если на станции их несколько и все имеют одинаковое название.. если же разные (опечатка, латиница с кириллицей, или на самом деле разные станции), то рисуется все, как есть.
раздвигать, по этому поводу были мысли с поворотом текста перпендикулярно платформе.. |
[QUOTE=Zabor;373486]Айс! Будет очень полезная штука, можно карту распечатать и на стенку повесить.[/QUOTE]
:eek:Жесть +1 Конечно буду пользоваться! |
А что тут такого, приколол Степанки этак на паре А2 и поехал, на следующий сценарий поверх наколол Лесногорск и дальше поехал. :D
Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)). |
[QUOTE=Zabor;373590]Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)).[/QUOTE]
дык у меня такие мысли и были :) задаем dpi, формат бумаги, ориентацию :D и пускай себе режет на куски, которые потом клеить.. ну или если это A1, то меньше клеить :) А1 при 300 dpi это 10000 х 7000, а степановку чтобы более менее нормально видеть, надо 20000 х 15000, то есть надо A0, а это уже 120х84 см, один квадратный метр :D |
[QUOTE=Zabor;373590]...можно было утащить на комп без МСТС и распечатать на работе...[/QUOTE]
А не проще сделать на компе с МСТС *.pdf-файл и утащить его в любое место, где есть возможность вывода на печать? ;) |
прикольный в степановке tdb. из 8416 светофоров только 8102 имеют TrItemRData и собсно координаты. это столько трешака? :) вычистить бы его
|
Дык остальные занулены, это просто статика, никому не мешают =)).
|
хух, поборол глюки отрисовки на большом зуме, не хотел жертвовать сглаживанием, уж больно красиво. платформы сделал 3-пиксельной толщины.
[url=http://itmages.ru/image/view/782418/ee474b96][img]http://storage1.static.itmages.ru/i/12/1130/s_1354225282_6460215_ee474b96d1.png[/img][/url] думаю вот, что придется курить tsection.dat и считать по радиусам кривых опорные точки и рисовать дуги.. мне не очень нравятся угловатые треки. |
научил отбивать текстовые подписи в зависимости от угла наклона платформы. интересно получается :)
до: [url=http://itmages.ru/image/view/782473/07b84e2d][img]http://storage2.static.itmages.ru/i/12/1130/s_1354233444_2718453_07b84e2d84.png[/img][/url][url=http://itmages.ru/image/view/782474/88fad448][img]http://storage3.static.itmages.ru/i/12/1130/s_1354233456_4313334_88fad44812.png[/img][/url] после (степановка выровнена пиксель в пиксель, хорошо листать разницу): [url=http://itmages.ru/image/view/782470/d80c75de][img]http://storage8.static.itmages.ru/i/12/1130/s_1354233409_2121528_d80c75dee8.png[/img][/url][url=http://itmages.ru/image/view/782471/449654ae][img]http://storage9.static.itmages.ru/i/12/1130/s_1354233428_7442738_449654aeb6.png[/img][/url] :D укуренный мозг [url=http://itmages.ru/image/view/782475/34f1bf38][img]http://storage4.static.itmages.ru/i/12/1130/s_1354233641_6108003_34f1bf3850.png[/img][/url][url=http://itmages.ru/image/view/782479/901e9f27][img]http://storage8.static.itmages.ru/i/12/1130/s_1354234147_2224326_901e9f279b.png[/img][/url] [size="1"][color="Silver"]Добавлено через 12 минут[/color][/size] еще немного курева со времени разработки функций трансляции тайловой системы координат в экранную, а затем в декартовую (сейчас такая последовательность: тайловая –> декартовая –> экранная). [url=http://itmages.ru/image/view/782480/ae900422][img]http://storage9.static.itmages.ru/i/12/1130/s_1354234329_2067197_ae9004227e.png[/img][/url][url=http://itmages.ru/image/view/782481/641419f6][img]http://storage1.static.itmages.ru/i/12/1130/s_1354234437_6625106_641419f62b.png[/img][/url] |
научил сегодня отображать координаты в статусбаре, подгонять масштаб карты под размер маршрута при его открытии, добавил зум-уровень аля google maps, сделал изменяемый размер шрифта для станций (от 7 до 10 кегля в зав-ти от зума). также сделал шаг сетки и шаг подписей адаптивными, масштабируются в зависимости от зума... и уменьшил минимальный масштаб. теперь уровень зума по масштабной линейке колеблется от 200 км до 24 м.
[url=http://itmages.ru/image/view/783597/5af989e8][img]http://storage1.static.itmages.ru/i/12/1201/s_1354309502_6154964_5af989e8e4.png[/img][/url] |
итак, добавились километровые знаки (пока еще не отбиваются от пути, чтоб не налезали)
[url=http://itmages.ru/image/view/785313/ad2a10e7][img]http://storage7.static.itmages.ru/i/12/1202/s_1354440524_8717716_ad2a10e799.png[/img][/url] ограничения скорости по маршруту (на двухпутках по два числа, да еще в оба направления, поэтому смотрибельно только на больших увеличениях) [url=http://itmages.ru/image/view/785314/e25813cf][img]http://storage8.static.itmages.ru/i/12/1202/s_1354440533_4592841_e25813cf61.png[/img][/url][url=http://itmages.ru/image/view/785315/46efc7a0][img]http://storage9.static.itmages.ru/i/12/1202/s_1354440540_1837935_46efc7a011.png[/img][/url][url=http://itmages.ru/image/view/785316/f7f74076][img]http://storage1.static.itmages.ru/i/12/1202/s_1354440548_8854733_f7f740763c.png[/img][/url] пункты заправки и переезды :D [url=http://itmages.ru/image/view/785317/ec891f7f][img]http://storage2.static.itmages.ru/i/12/1202/s_1354440555_9916827_ec891f7f69.png[/img][/url] названия станционных путей (выполняются зеленым цветом) [url=http://itmages.ru/image/view/785318/8b2a5490][img]http://storage3.static.itmages.ru/i/12/1202/s_1354440562_2769162_8b2a5490a6.png[/img][/url] мерная линейка :rolleyes: [url=http://itmages.ru/image/view/785319/0dfc6281][img]http://storage4.static.itmages.ru/i/12/1202/s_1354440569_8241020_0dfc628180.png[/img][/url] статистика :) (общая длина путей для оценки трудоемкости маршрута, а число километровых знаков более менее хорошо показывает «правильную» длину путей) [url=http://itmages.ru/image/view/785320/0727c6f8][img]http://storage5.static.itmages.ru/i/12/1202/s_1354440576_9416771_0727c6f8c9.png[/img][/url] ... увеличен предел зума с 24 м до 12 м (с 14 уровней до 15).. честно говоря, осталось сохранение цивильное сделать. и отбивку километровых знаков от пути, как со станциями.. и готов релиз |
научил собирать список платформ (ну они и так вообще-то были :)), и показывать по ним инфу: станция, платформа, длина платформы в метрах и ближайжий километровый знак (в степановке, где несколько веток с одинаковым километражом, может быть запутывающим).
всю инфу можно скопировать в буфер или перейти на карте к выбранной станции. в списке есть инкрементальный поиск по названию станции и сортировка по любому столбцу. 1: начинаем отсюда [url=http://itmages.ru/image/view/785803/8afdad88][img]http://storage1.static.itmages.ru/i/12/1202/s_1354460847_4327412_8afdad884e.png[/img][/url] 2: нашли платформу, Перейти [url=http://itmages.ru/image/view/785807/4a947088][img]http://storage5.static.itmages.ru/i/12/1202/s_1354460915_4446392_4a9470884e.png[/img][/url] 3: и тут внезапно :D [url=http://itmages.ru/image/view/785809/84c7079e][img]http://storage8.static.itmages.ru/i/12/1202/s_1354460948_2777243_84c7079e57.png[/img][/url] зы. должен заметить, что в списке отображаются все платформы маршрута, и по четному, и по нечетному направлению, вообще все. но на карте названия фильтруются по близости, чтобы не налегать друг на друга. зыы. степановку грузит 13 секунд, 220 МБ и падает до 75 МБ. [size="1"][color="Silver"]Добавлено через 32 минуты[/color][/size] добавил 2 колонки в окно платформ: Время стоянки и Число пассажиров [url=http://itmages.ru/image/view/785842/f472d2af][img]http://storage5.static.itmages.ru/i/12/1202/s_1354462897_6997827_f472d2afc8.png[/img][/url] |
Net, а что за параметр [I]время стоянки[/I]? Сколько сценарии не делал, ни разу на него не нарывался.
|
это PlatformMinWaitingTime, буквально Минимальное Время Ожидания, я так понял, читай посадки.
[size="1"][color="Silver"]Добавлено через 3 минуты[/color][/size] по совету MJack убрал из показа в списке платформ дубликаты. отсеяли PlatformItem'ы с флагом FFFF0000, т.к. там на каждую платформу по две записи - точка начала и точка конца.. стало чище :) [url=http://itmages.ru/image/view/786136/7f7a99ca][img]http://storage1.static.itmages.ru/i/12/1202/s_1354473099_8809184_7f7a99ca16.png[/img][/url] |
Эту утилиту, кроме ее оригинальных функций, можно будет с большим успехом использовать для склейки альтернативных путей ( через другие станции или в объезд таковых )...По google Earth можно точно проложить, но для контроля - самая что не на есть подходящая программа будет...
|
немного не понял, как ее для склейки использовать? :rolleyes:
зы. :) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся [S]маршрутизаторы[/S] [S]маршрутчики[/S] маршрутисты :D |
[QUOTE=Net;374309]немного не понял, как ее для склейки использовать? :rolleyes:
зы. :) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся [S]маршрутизаторы[/S] [S]маршрутчики[/S] маршрутисты :D[/QUOTE] Смотри, Тоха, я в своем маршруте проложил ветку Лубны - Ромодан - Хорол - Веселый Подол - Глобино - Рублевка - Кагамлыцкая - Кременчуг - Крюков - Бурты - Павлыш - Корыстовка - Знаменка - Кировоград....От Рублевки до Буртов есть ветка через Светловодск - 27 км...Мне кроме того, чтоб угадать точное размещение, нужно было выводить еще и высоту профиля...Развести 2 ветки, а потом их точно свести - потенциальный геморрой...С качественным масштабированием в твоей утилите - задача облегчается...Ведь склеивал то я не в последний раз... |
я понял.. да, замеры вещь полезная.
вот еще вспомнил про вывод географических координат в статус-баре, как там сейчас тайловые сидят — а надо ли они будут? я предполагаю, что полезно, ибо с гуглом хорошо синхронизироваться.. но их надо еще научиться расчитывать. я пока тайловые считал, слегка сломал мозг. если у кого есть методика — бросайте в меня. [size="1"][color="Silver"]Добавлено через 1 час 14 минут[/color][/size] спасибо MJack за идею улучшить поиск. взял готовый велосипед и получилось такое: [url=http://itmages.ru/image/view/786233/7bc9b94e][img]http://storage9.static.itmages.ru/i/12/1203/s_1354478900_2376440_7bc9b94ed7.png[/img][/url] живая фильтрация по мере набора текста. ищет по всем колонкам. после выбора платформы двойным щелчком или Enter или Перейти, и последующего открытия списка платформ по F8, список показывается в том же состоянии (сортировка, фильтр, текст поиска), в каком и был. зы. также добавился прогрессбар загрузки маршрута :) |
О обрастает функционалом, ты только сам не запутайся =)).
Эм... еще бы у светофорчиков их типы писать, а если Тимаса то рисунок светофора строить в соответствии с формулой, чтобы выглядел как на схеме из ТРА. ухожу, ухожу. :D |
:eek: ацкий изверг. :D может их еще анимировать, и шобы со временем лампы горели? и анимацию сцбиста дяди Пети, который ту лампу меняет :rofl:
а типы светофоров то можно. для отладки в самый раз. я запишу в TODO пока что. как припечет, скажете :) хотя это понять можно. кто с чем в мстс трах@ется, тому того и не хватает :) |
[QUOTE=Net;374333]:eek: ацкий изверг...[/QUOTE]
- Доктор! Мне же больно! - Я знаю. :D Дядю Петю то зачем =)), а что такого, там все просто [CODE]if(substr(TrSignalType,0,6)=='T_Head_'){ // оно, строим рисунок по формуле =)) }else{ // не оно, выводим рисунок без схемы }[/CODE] Ну хоть тип напиши. :o :) |
а какие там хоть типы бывают, или где смотреть? :) набросай, пожалуйста, а то я щас в развалке (в отладке :D) сижу чешу репу, почему название одной платформы не отбивает подальше :D
|
В .tdb TrItemTable - SignalItem - TrSignalType третий параметр, только там собственно головка и надо еще проверять совпадающие, чтобы преобразовать, например накладка двух голов T_Head_YR_xW и T_Head_YRG_W по одним и тем же координатам должна давать только полное значение YRG_W, если есть х то запись опускается - это дополнительная башка.
Но это только для Тимаса, у Славы например другое именование голов proh3L_AB3, PredVhod и т.д. У Алексея даже боюсь смотреть, поколотит еще =)). В общем построить название светофора можно только для сигналки Тимаса, где в названии голов заложены формулы светофоров, в остальных случаях только условное обозначение, или надо делать базы для каждой сигналки. |
в общем, строковое название :) понял.
|
Можно конечно и по TrItemId + TrItemRData (тайл) сходить посмотреть что там стоит в параметре FileName соответствующей TrItemId секции Signal, но это адская рекурсия по всем W, т.е. полный геморрой. :crazy:
|
по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66. и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине). |
[QUOTE=weirdo;374373]по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66. и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине).[/QUOTE] а вот это дельное предложение! сейчас считается напрямик (не по путям) к центру платформы. округлять к меньшему это можно сделать :) |
улучшил алгоритм отбивки текста от путей.. теперь перпендикуляры красивые.
уровень 3, до и после: [url=http://itmages.ru/image/view/786930/8225beb1][img]http://storage4.static.itmages.ru/i/12/1203/s_1354533427_3602911_8225beb1f0.png[/img][/url][url=http://itmages.ru/image/view/786932/35d5818f][img]http://storage6.static.itmages.ru/i/12/1203/s_1354533470_3071371_35d5818f16.png[/img][/url] уровень 4, до и после: [url=http://itmages.ru/image/view/786931/90143ed3][img]http://storage5.static.itmages.ru/i/12/1203/s_1354533454_3533734_90143ed341.png[/img][/url][url=http://itmages.ru/image/view/786934/dceb27fe][img]http://storage8.static.itmages.ru/i/12/1203/s_1354533485_1716215_dceb27fe23.png[/img][/url] оранжевые перпендикуляры мне понравились, наверное навешу на чекбокс, пускай рисуется при желании юзера. :) [size="1"][color="Silver"]Добавлено через 1 час 42 минуты[/color][/size] блин, красота [url=http://itmages.ru/image/view/787107/ed3c34f0][img]http://storage2.static.itmages.ru/i/12/1203/s_1354539679_2901528_ed3c34f090.png[/img][/url] |
Да, просто ОТЛИЧНО! Вот кому надо было утилиты писать(типа DEMEXа).
[B]Net[/B], а профиль не планируется? |
профиль планируется, но не в первом релизе... есть куча сторонней работы, с которой я переключился.
принимаются идеи :) зы. сделаны подписи типов светофоров. Игорь, я надеюсь, на них не надо делать фильтрацию как с платформами? :D вот статистику сделаем, сколько каких.. [size="1"][color="Silver"]Добавлено через 54 минуты[/color][/size] итак, заказ выполнен. [url=http://itmages.ru/image/view/787216/37658bcc][img]http://storage1.static.itmages.ru/i/12/1203/s_1354544753_6459431_37658bcc47.png[/img][/url] будем делать таблицу светофоров с [S]блекджеком и шлюхами[/S] поиском и локацией, как в случае с платформами [size="1"][color="Silver"]Добавлено через 10 минут[/color][/size] MJack пошел дальше и предложил добавить ItemId. сказано, выполнено [url=http://itmages.ru/image/view/787226/e975b2b5][img]http://storage3.static.itmages.ru/i/12/1203/s_1354545283_4682986_e975b2b5a1.png[/img][/url] были еще мысли вычитать направление светофора и прочую шелуху (вспоминаются времена Marker Correction Tool :D) [size="1"][color="Silver"]Добавлено через 14 минут[/color][/size] сделал окно поиска платформ немодальным. суть не поменялась, но теперь удобнее шариться по карте, окно себе висит сбоку :) |
О! Класс!
Антон, забей на маркеры и направление - будет каша из обратно кодирующихся, хотя можно опять навесить опцию "показывать обратное кодирование АЛСН", если их головы можно просто и быстро отличить конечно. |
Текущее время: 23:45. Часовой пояс GMT +4. |
|
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim