Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Маршруты (http://www.trainsim.ru/forum/forumdisplay.php?f=19)
-   -   MSTS Mapper (http://www.trainsim.ru/forum/showthread.php?t=15895)

Net 28.11.2012 18:29

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)

le Sandro 28.11.2012 18:52

Молодца...
Такого софта порой ой как не хватает. Как допилишь, рекомендую выложить на trainsim.com. Оторвут с потрохами.

E69 28.11.2012 18:56

Ну красиво, да) Не знаю насколько практично.
[QUOTE]есть идеи по поводу отрисовки профилей заданных участков (пока не умеет)..[/QUOTE]Кстати да, такая же мысль, глядя на скрины,- построить бы план-профиль участка, и схемы станций заодно ещё)) Можно будет режимные генерировать)))

Сохранение в файл нужно, хотя бы без разбивки на куски.

Net 28.11.2012 19:02

[QUOTE=E69;373411]Сохранение в файл нужно, хотя бы без разбивки на куски.[/QUOTE]

это как раз самый легкий вариант. я про него думал в первую очередь. просто спрашивается разрешение, какое должно быть у картинки по большей стороне, и вся сцена рендерится в файл во мгновение.

зы. на текущей граф-библиотеке держало порядка 11000 пикселей на сколько-то там, на более простой держало 25000 и около того. просто здесь сглаживание линий есть, но я еще подумаю :)

GeneZone 28.11.2012 19:47

[QUOTE=Net;373404]
будет ли кто таким пользоваться? :D
[/QUOTE]

Будет, конечно. Я, например, точно буду. Молодец [B]Net[/B] - так держать!

Net 29.11.2012 01:38

причесал междумордие, научил сохранять все галочки, размеры и позиции в 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]

Zabor 29.11.2012 01:49

Айс! Будет очень полезная штука для сценаристов и вообще всех причастных, некоторые летают по Степанкам понятия не имея в каком направлении :D, типа куда рельса приведет, а так можно карту распечатать и на стенку повесить.

КЕ 29.11.2012 10:10

Ай, хочу!;)

E69 29.11.2012 12:26

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

Net 29.11.2012 12:54

уже научен фильтровать названия станций (не платформ). рисуется только одно название, если на станции их несколько и все имеют одинаковое название.. если же разные (опечатка, латиница с кириллицей, или на самом деле разные станции), то рисуется все, как есть.
раздвигать, по этому поводу были мысли с поворотом текста перпендикулярно платформе..

Seafarer 29.11.2012 13:57

[QUOTE=Zabor;373486]Айс! Будет очень полезная штука, можно карту распечатать и на стенку повесить.[/QUOTE]

:eek:Жесть +1

Конечно буду пользоваться!

Zabor 29.11.2012 14:11

А что тут такого, приколол Степанки этак на паре А2 и поехал, на следующий сценарий поверх наколол Лесногорск и дальше поехал. :D

Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)).

Net 29.11.2012 14:41

[QUOTE=Zabor;373590]Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)).[/QUOTE]

дык у меня такие мысли и были :) задаем dpi, формат бумаги, ориентацию :D
и пускай себе режет на куски, которые потом клеить.. ну или если это A1, то меньше клеить :)

А1 при 300 dpi это 10000 х 7000, а степановку чтобы более менее нормально видеть, надо 20000 х 15000, то есть надо A0, а это уже 120х84 см, один квадратный метр :D

projecter 29.11.2012 15:19

[QUOTE=Zabor;373590]...можно было утащить на комп без МСТС и распечатать на работе...[/QUOTE]

А не проще сделать на компе с МСТС *.pdf-файл и утащить его в любое место, где есть возможность вывода на печать? ;)

Net 29.11.2012 22:40

прикольный в степановке tdb. из 8416 светофоров только 8102 имеют TrItemRData и собсно координаты. это столько трешака? :) вычистить бы его

Zabor 30.11.2012 00:23

Дык остальные занулены, это просто статика, никому не мешают =)).

Net 30.11.2012 01:42

хух, поборол глюки отрисовки на большом зуме, не хотел жертвовать сглаживанием, уж больно красиво. платформы сделал 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 и считать по радиусам кривых опорные точки и рисовать дуги.. мне не очень нравятся угловатые треки.

Net 30.11.2012 04:14

научил отбивать текстовые подписи в зависимости от угла наклона платформы. интересно получается :)
до:
[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]

Net 01.12.2012 01:05

научил сегодня отображать координаты в статусбаре, подгонять масштаб карты под размер маршрута при его открытии, добавил зум-уровень аля 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]

Net 02.12.2012 13:35

итак, добавились километровые знаки (пока еще не отбиваются от пути, чтоб не налезали)
[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)..

честно говоря, осталось сохранение цивильное сделать. и отбивку километровых знаков от пути, как со станциями.. и готов релиз

Net 02.12.2012 19:42

научил собирать список платформ (ну они и так вообще-то были :)), и показывать по ним инфу: станция, платформа, длина платформы в метрах и ближайжий километровый знак (в степановке, где несколько веток с одинаковым километражом, может быть запутывающим).
всю инфу можно скопировать в буфер или перейти на карте к выбранной станции. в списке есть инкрементальный поиск по названию станции и сортировка по любому столбцу.

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]

Паштет 02.12.2012 21:48

Net, а что за параметр [I]время стоянки[/I]? Сколько сценарии не делал, ни разу на него не нарывался.

Net 02.12.2012 22:31

это 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]

Seafarer 02.12.2012 22:36

Эту утилиту, кроме ее оригинальных функций, можно будет с большим успехом использовать для склейки альтернативных путей ( через другие станции или в объезд таковых )...По google Earth можно точно проложить, но для контроля - самая что не на есть подходящая программа будет...

Net 02.12.2012 22:39

немного не понял, как ее для склейки использовать? :rolleyes:

зы.
:) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся [S]маршрутизаторы[/S] [S]маршрутчики[/S] маршрутисты :D

Seafarer 02.12.2012 22:48

[QUOTE=Net;374309]немного не понял, как ее для склейки использовать? :rolleyes:

зы.
:) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся [S]маршрутизаторы[/S] [S]маршрутчики[/S] маршрутисты :D[/QUOTE]

Смотри, Тоха, я в своем маршруте проложил ветку Лубны - Ромодан - Хорол - Веселый Подол - Глобино - Рублевка - Кагамлыцкая - Кременчуг - Крюков - Бурты - Павлыш - Корыстовка - Знаменка - Кировоград....От Рублевки до Буртов есть ветка через Светловодск - 27 км...Мне кроме того, чтоб угадать точное размещение, нужно было выводить еще и высоту профиля...Развести 2 ветки, а потом их точно свести - потенциальный геморрой...С качественным масштабированием в твоей утилите - задача облегчается...Ведь склеивал то я не в последний раз...

Net 03.12.2012 00:09

я понял.. да, замеры вещь полезная.
вот еще вспомнил про вывод географических координат в статус-баре, как там сейчас тайловые сидят — а надо ли они будут? я предполагаю, что полезно, ибо с гуглом хорошо синхронизироваться..
но их надо еще научиться расчитывать. я пока тайловые считал, слегка сломал мозг. если у кого есть методика — бросайте в меня.

[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, список показывается в том же состоянии (сортировка, фильтр, текст поиска), в каком и был.

зы. также добавился прогрессбар загрузки маршрута :)

Zabor 03.12.2012 00:36

О обрастает функционалом, ты только сам не запутайся =)).

Эм... еще бы у светофорчиков их типы писать, а если Тимаса то рисунок светофора строить в соответствии с формулой, чтобы выглядел как на схеме из ТРА.

ухожу, ухожу. :D

Net 03.12.2012 00:45

:eek: ацкий изверг. :D может их еще анимировать, и шобы со временем лампы горели? и анимацию сцбиста дяди Пети, который ту лампу меняет :rofl:
а типы светофоров то можно. для отладки в самый раз. я запишу в TODO пока что. как припечет, скажете :)
хотя это понять можно. кто с чем в мстс трах@ется, тому того и не хватает :)

Zabor 03.12.2012 01:03

[QUOTE=Net;374333]:eek: ацкий изверг...[/QUOTE]
- Доктор! Мне же больно!
- Я знаю.
:D

Дядю Петю то зачем =)), а что такого, там все просто

[CODE]if(substr(TrSignalType,0,6)=='T_Head_'){
// оно, строим рисунок по формуле =))
}else{
// не оно, выводим рисунок без схемы
}[/CODE]

Ну хоть тип напиши. :o :)

Net 03.12.2012 01:06

а какие там хоть типы бывают, или где смотреть? :) набросай, пожалуйста, а то я щас в развалке (в отладке :D) сижу чешу репу, почему название одной платформы не отбивает подальше :D

Zabor 03.12.2012 01:23

В .tdb TrItemTable - SignalItem - TrSignalType третий параметр, только там собственно головка и надо еще проверять совпадающие, чтобы преобразовать, например накладка двух голов T_Head_YR_xW и T_Head_YRG_W по одним и тем же координатам должна давать только полное значение YRG_W, если есть х то запись опускается - это дополнительная башка.

Но это только для Тимаса, у Славы например другое именование голов proh3L_AB3, PredVhod и т.д.

У Алексея даже боюсь смотреть, поколотит еще =)).

В общем построить название светофора можно только для сигналки Тимаса, где в названии голов заложены формулы светофоров, в остальных случаях только условное обозначение, или надо делать базы для каждой сигналки.

Net 03.12.2012 01:26

в общем, строковое название :) понял.

Zabor 03.12.2012 01:36

Можно конечно и по TrItemId + TrItemRData (тайл) сходить посмотреть что там стоит в параметре FileName соответствующей TrItemId секции Signal, но это адская рекурсия по всем W, т.е. полный геморрой. :crazy:

weirdo 03.12.2012 04:49

по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66.
и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине).

Net 03.12.2012 09:01

[QUOTE=weirdo;374373]по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66.
и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине).[/QUOTE]

а вот это дельное предложение!
сейчас считается напрямик (не по путям) к центру платформы.
округлять к меньшему это можно сделать :)

Net 03.12.2012 17:02

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

GeneZone 03.12.2012 17:16

Да, просто ОТЛИЧНО! Вот кому надо было утилиты писать(типа DEMEXа).
[B]Net[/B], а профиль не планируется?

Net 03.12.2012 18:50

профиль планируется, но не в первом релизе... есть куча сторонней работы, с которой я переключился.
принимаются идеи :)

зы. сделаны подписи типов светофоров. Игорь, я надеюсь, на них не надо делать фильтрацию как с платформами? :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]
сделал окно поиска платформ немодальным. суть не поменялась, но теперь удобнее шариться по карте, окно себе висит сбоку :)

Zabor 03.12.2012 19:30

О! Класс!

Антон, забей на маркеры и направление - будет каша из обратно кодирующихся, хотя можно опять навесить опцию "показывать обратное кодирование АЛСН", если их головы можно просто и быстро отличить конечно.


Текущее время: 23:45. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim