Witam wszystkich serdecznie.
Podjąłem decyzję o udostępnieniu niedokończonego narzędzia do edycji plików scenerii, bo być może zbiorę jakiś feedback, uwagi, być może ktoś nawet pomoże w tworzeniu tego narzędzia.
Na chwilę obecną mówimy o wersji 0.7.0 - czyli jak z numerka wersji wynika - jest to alpha, wersja testowa, nie ma jeszcze wszystkich funkcji, które chcę w nim zaimplementować.
Po pierwsze: po co kolejny edytor i co on właściwie potrafi?
ScnEdit jest w odróżnieniu od większości istniejących i rozwijanych edytorów scenerii edytorem czysto tekstowym, który znacząco wspomaga bezpośrednią pracę nad plikami scenerii, zwłaszcza plikami ctr zawierającymi zdarzenia. Ponadto bezpośrednia edycja plików źródłowych daje największą kontrolę nad ich strukturą i działaniem.
Ponieważ pliki scenerii mają swoją oryginalną składnię, potrzebny był edytor, który potrafi tę składnię rozpoznać i oznaczyć odpowiednimi stylami i kolorami. Definicje obiektów i zdarzeń są bez wyróżniania różnymi kolorami praktycznie zupełnie nieczytelne, stanową ściany tekstu gdzie jakiegokolwiek błędu można bardzo długo szukać, nie mówiąc już o tym, że łatwo ten błąd popełnić.
Mój edytor prezentuje tekst w kolorze, ponadto kolory można wybrać z kilku gotowych schematów, w zależności czy ktoś preferuje jasne tło, ciemne, czy może łagodne dla oczu, a jednocześnie czytelne. W przyszłych wersjach pojawi się także opcja tworzenia własnych schematów kolorów.
Kolejną ważną cechą edytora jest drzewo projektu, które zawiera wszystkie pliki dołączane przez główny plik scenerii. Koniec z szukaniem plików. Otwieramy główny plik w scenerii, wszystkie odwołania do innych plików zostaną umieszczone w drzewie projektu po prawej stronie i stamtąd można je natychmiast otworzyć. Pliki otwierane są w zakładkach, które można dowolnie przenosić, przyklejać do krawędzi okna czy nawet przenieść na inny monitor.
Bardzo przydatną funkcją jest globalne wyszukiwanie symboli (F12). Po zaznaczeniu symbolu w pliku i wciśnięciu F12 w oknie na dole wyświetli się lista wszystkich odwołań do tego symbolu. Kolejna wersja będzie umożliwiać także globalną zmianę nazwy tego symbolu.
Ostatnią ukończoną przeze mnie funkcją jest sortowanie i nazywanie torów nienazwanych. Po wybraniu tej opcji na pliku, w którym znajdują się definicje torów zostaną one posortowane w sposób taki, że odcinki połączone ze sobą będą występować w pliku kolejno po sobie, a ich nazwy będą także odzwierciedlać tę kolejność, jeśli wcześniej odcinki tych nazw nie posiadały. Kolejne przypisywane do ciągłych odcinków nazwy mają też zawartą w sobie odległość w metrach od pierwszego odcinka serii. Jeśli po nazwanym 100 metrowym odcinku "peron_1" będą występować kolejne 3 o długości 100m, zostaną nazwane "peron_1_100", "peron_1_200" i "peron_1_300". Dzięki temu w pliku z definicjami torów będzie bezpośrednio widać układ torów i przypisywanie do nich zdarzeń będzie dużo łatwiejsze.
Zupełnie przy okazji operacji sortowania i nazywania torów, każdemu torowi zostanie także przypisana jego długość, która jest parametrem opcjonalnym i czasami ma po prostu wartość zero. Mimo, że ten parametr nie jest istotny dla symulatora, może być pomocny przy przypisywaniu zdarzeń i orientacji w układzie torów.
Jeśli w pliku z torami znajdują się także definicje innych obiektów, posortowane definicje torów zostaną umieszczone na początku tego pliku, wszystko poza definicjami torów zostanie umieszczone na końcu pliku, po komentarzu "Original content". Operacja sortowania i nazywania torów jest całkowicie bezpieczna i była przetestowana na kilku scenariuszach.
Wszystkie w edytorze (w tym sortowanie i nazywanie torów) można cofać via Ctrl+Z. Działa to nawet po zapisaniu pliku, dzięki czemu można przetestować zmianę i jeśli nie zadziałała właściwie, cofnąć ją i jeszcze raz zapisać plik.
Edytor jest praktycznie codziennie intensywnie rozwijany. Wersja 1.0 ma umożliwiać zastępowanie globalne symboli, pokazywać podpowiedzi do wszystkich elementów składni, obsługiwać zakładki i makra, a także umożliwiać wyszukiwanie obiektów po współrzędnych X, Z (np spisanych z symulatora). Podobne sortowanie i nazywanie jak w przypadku torów będzie także działać dla trakcji.
Dojdzie jeszcze (przy współpracy @youBy) bardzo rozbudowany moduł wspomagania tworzenia rzeczywistych rozkładów jazdy, w oparciu o trasę i parametry składu. Być może uda się nawet jakoś zautomatyzować tworzenie rozkładów dynamicznych.
Zapraszam do testów, zgłaszania uwag i pomysłów. W sumie nazwa jest do zmiany :) Pomysły na nową nazwę mile widziane, podobnie jeśli chodzi o ikonkę.
Program powinien działać pod systemami Windows Vista i nowszymi, jest rozwijany i testowany głównie pod Windows 8.1. Wszystkie znane bugi z poprzedniej wersji zostały poprawione. Do optymalnego działania zalecane są komputery z procesorami wielordzeniowymi (i5 i lepsze), gdyż edytor dość intensywnie wykorzystuje wielowątkowość. Dostępne są 2 wersje językowe, polska i angielska, wybierane automatycznie zgodnie z językiem ustawionym w Windows.
Instalka:http://nisza.org/dl/ScnEdit-0.7.0.msiŹródła:https://github.com/HTD/ScnEditWersja portable (x86)http://nisza.org/dl/ScnEdit-0.7.0.7z.NET Framework 4.5.1 (wymagane)http://www.microsoft.com/pl-PL/download/details.aspx?id=40779Razem z wydaniem wersji 1.0 pojawi się także oficjalna strona projektu z tutorialami video, jak wykonać w edytorze różne skomplikowane zadania.