Autor Wątek:  Różne mariuszowe narzędzia  (Przeczytany 132412 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #30 dnia: 01 Października 2015, 01:45:54 »
poprawka do korektora:
Bylo zle i program sie sypal, gdy w definicji trojkata byl material, ale nie wystepowalo ambient lub diffuse lub specular. Nie wiedzialem, ze takie definicje trojkatow sa mozliwe. Blad ten moze ujawnic sie w wielu moich narzedziach analizujacych trojkaty, ktore to na dzien dzisiejszy nie ruszam (zbyt wiele ich bylo). Natomiast co do korektora, mialem zgloszenie, wiec go dostosowalem.
ps. Nie moge pisac wielkiego p.
« Ostatnia zmiana: 12 Listopada 2016, 21:15:12 wysłana przez Mariusz1970 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #31 dnia: 12 Października 2015, 16:39:50 »
Na prosbe, dodalem do korektora, opcje korekcji wspolrzednej wysokosciowej, gdy dany includ jest w obszarze trackow road i river. Dodatkowo jest mozliwosc poprzez wpisanie pojedynczej gwiazdki w plik ini, aby wszystkie includy sie korektorowaly.
Link:

  Dodano: 13 Października 2015, 20:30:06
Kolejna modyfikacja korektora. Zastosowalem mechanizm antyping-pongowy przy przesuwaniu drzew od skrajni toru. Chodzi o to, ze jesli dane drzewo rosnie pomiedzy torami, to program odsuwal od jednego toru, a przysuwal do drugiego toru. Skutkiem tego bylo i tak drzewo wchodzace w tor, tylko w inny tor. Teraz program wykrywa taka sytuacje i dane drzewo usuwa.
« Ostatnia zmiana: 12 Listopada 2016, 21:15:48 wysłana przez Mariusz1970 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #32 dnia: 11 Listopada 2015, 18:46:30 »
Kolejne narzedzie (exe)
Program sluzy do wylapywania bledow w deklaracji wpisow mmd i nazw submodeli w t3d z katalogu DYNAMIC.
Generalnie chodzi o to, aby wylapywac nazwy submodeli, ktore sa zadeklarowane w mmd, a w plikach t3d takich nazw submodeli brak.
Sprawdzeniu podlegaja:
1) Dla glownego modelu sprawdzane sa nazwy submodeli, ktore maja we wpisie w mmd "anim" i "prefix:"
2) Dla plikow kabin sprawdzane sa nazwy submodeli, ktore maja we wpisie w mmd "rot" lub "mov"
3) Dla plikow kabin sprawdzane sa nazwy submodeli, ktore maja we wpisie w mmd "i-"
   Dla tych wpisow sprawdzne sa submodele, ktore koncza sie na "_on" i "_off". Brak ktoregos z nich, spowoduje wygenerowanie bledu.
4) Nie rozroznia wielkosci liter przy analizie (nie wiem, czy to dobrze, czy zle, ale w razie czego, moge to zmienic)

Pliki t3d kabin sa identyfikowane jako cab1model i cab2model. Plik z cab0model nie jest brany pod analize.
Niewszystkie wypisane bledy musza byc bledami.
« Ostatnia zmiana: 12 Listopada 2016, 21:16:16 wysłana przez Mariusz1970 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #33 dnia: 19 Grudnia 2015, 14:03:45 »
Aktualizacja tooli z pierwszego postu.
Aktualizacja zawiera:
1) Poprawkę do edytora scenerii (plik tory_semafory_przejazdy), głównie w obszarze półautomatycznego dodawania eventów sem_info, wygaszania semaforów. Poprawkę tę nazwałbym jako krytyczną. Mogły pojawić się błędy z nieodpowiednim przypisaniem eventów w specyficznych sytuacjach w sceneriach.
2) Poprawkę na narzędzie duplikaty_trojkatow_t3d.xls
Poprawka związana jest z możliwością ustawiania, które ze zduplikowanych trójkątów usunąć z pliku t3d, a które zostawić (czy zostawiać ostatniego ze zduplikowanych, czy pierwszego)
3) Dodane narzędzie budynki_nocne.xls, które umożliwia wstawianie świateł w oknach budynków dla nocnych scenerii.
4) Dodane narzędzie mmd_t3d.xls
Umożliwia identyfikowanie braków submodeli w pliku t3d, a nazwy tych submodeli występująw deklaracjach w pliku mmd pojazdu dynamic.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #34 dnia: 14 Maja 2016, 12:50:27 »
1) Dodałem narzędzie do łączenia trójkątów. Nie jestem do końca pewien, czy wystąpią negatywne skutki jego działania.
2) Dodałem nowe funkcjonalności do edytora scenerii oraz poprawki do zauważonych błędów. Do nowych funkcjonalności nalezą m.in. możliwość rotacji prostokąta na obszarze którego postawione mają być drzewa oraz możliwość rotacji prostokąta dla stawiania pionowych trójkątów służących np. jako ściany lasów. Ulepszone także wstawianie budynków.
3) Poniżej link do testowej scenerii.
http://eu07.pl/userfiles/23403/priv-a_test.rar
Zawiera ona Dębicę z L053, na której za pomocą paru kliknięć w edytorze, stworzone zostało osiedle jak również dodane zostały postaci na peronach (również parę kliknięć).
Ponieważ ja nie korzystam z żadnej dostępnej paczki całościowej, więc struktura jest inna, plik rar zawiera wszystkie używane pliki przez ten wycinek scenerii. W związku z tym, aby nie robić sobie bałaganu, zalecam uruchomienie jej na kopii MaSzyny. Mam nadzieję, że na nowych exe się to uruchomi.

Aktualizacja w pierwszym poście.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #35 dnia: 26 Maja 2016, 16:54:57 »
Poprawka do edytora: możliwość definiowania do 10 rodzajów gęstości sadzenia drzew.
Do tej pory na narysowany prostokąt, na obszarze którego mają być zasadzone drzewa, trzeba było podać liczbę bezwzględną drzew. To było niewygodne, bo wraz ze zmianą obszaru prostokąta, należało dobierać odpowiednią liczbę drzew. Teraz jest możliwość definiowania gęstości na kwadrat o bokach 100x100, a program w zależności od powierzchni
narysowanego prostokąta, automatycznie dostosowuje liczbę drzew, do tegoż prostokąta. Użytkownik podczas zalesiania wybiera z listy tylko gęstość (bardzo gęsto, gęsto, rzadko itp.).
Aktualizacja w pierwszym poście.

  Dodano: 28 Maja 2016, 17:58:04
Aby nie zaśmiecać tego wątku:
http://eu07.pl/forum/index.php/topic,27908.msg422469.html#msg422469
Napiszę tutaj:
Coś kiedyś kombinowałem z ułatwianiem pisania scenariuszy. Oczywiście pod funkcje exe 664 :) . Co udało mi się zrobić w moim edytorku:
1) W znacznym stopniu zautomatyzowanie:
a) przypisywań sem_info, SHP, wygaszanie semków
b) przypisywań sterowania rogatkami działającymi jako SSP
c) dodawanie dla AI sygnałów RP przed przecięciami  torów z drogami (nawet gdy nie ma przejazdu)
Ten punkt 1 to baza, na której można dalej się bawić w eventy.
2) Interaktywne wyznaczanie szlaku. Na mapie klikamy na tor, który będzie początkiem szlaku i klikamy na tor obok, który wskaże kierunek wyszukiwania szlaku. Kiedy automat natrafi na rozwidlenie (zwrotnica, rozjazd krzyżowy), użytkownik wskazuje przełączenie się danego rozjazdu co widać na mapie. Jeśli natrafi się z rozwidlenia (np. punkt p3 zwrotnicy), program automatycznie przełącza daną zwrotnice. Cały wyznaczany szlak, zaznaczany jest na kolor czerwony (tory). Jeśli się użytkownik pomyli, ma możliwość cofnięcia się. Wyznaczona droga jest zapisywana pod wskazaną nazwę przeż użytkownika, aby można było do niej wrócić (np. gdy wyznaczamy jakiś etap dla jednego składu, przechodzimy do wyznaczenia szlaku innemu składowi, a później chcemy wrócić do kontynuowania wyznaczania szlaku dla pierwszego składu). Na podstawie wyznaczonego szlaku, można automatycznie wypisać mijane semafory i przejazdy (gdyby SSP było komuś niewystarczające). Na podstawie mijanych semaforów, program wskazuje kolejne semafory i użytkownik podaje jaki sygnał ma się wyświetlić. Teraz już mamy na wyznaczonym szlaku, pożądany stan zwrotnic i stanów semaforów. Można, aby program napisał event multiple (podaje się nazwę eventu i opóźnienie.) Program wypisze event dla tego szlaku, w którym będą zawarte informacje o zwrotnicach i semaforach. Jest możliwość wstawienia eventu dziękowego. Program pyta się, czy event ma być uzależniony od stanu komórki pamięci, czy od zajętości toru. Jeśli nie będzie uzależniony, to wypisze event multiple, jeśli będzie uzależniony np. od zajętości toru, użytkownik na mapie klika na tor od którego zjetości ma być wykonany vet. Jeśli ma być uzależniony od komórki pamięci, trzeba wskaż od jakiej i jaki ma być stan komórki, aby event się wykonał. Program również zapamiętuje aktulany stan zwrotnic, aby przy wyznaczaniu kolejnych szlaków, zazębiających się częściowo z już wyznaczonym, aby kluczowanie zwrotnic było odniesione od aktualnego stanu danej zwrotnicy (np. jeśli dana zwrotnica podczas wyznaczania szalku za pierwszym razem, była przełączona na jazdę w bok, a podczas wyznaczania kolejnego szlaku, też ma być przełączona w bok, to już nie będzie w evencie multple tej zwrotnicy). Można na życzenie tę funkcję wyłączyć, wtedy niezależnie od aktualnego stanu zwrotnicy, eventy sterujące zwrotnicą, będą zawsze wypisane w evencie multiple. Program pilnuje 8 eventow w multiple. Jeśli przekroczy, automatycznie dodaje event "CD"
3) Proste w użytkowaniu dodawanie i obsługa komórek pamięci, służące jako liczniki przejeżdżających składów. Można uzależnić wyznaczone eventy w punkcie drugim z daną komórką pamięci.i jej stanem. Automatycznie zwiększa się licznik komórki pamięci i jeśli uzależniamy multiple od komórki pamięci, to program w warunku wie, jaki jest aktualny stan danej komórki. Więc użytkownik nie musi o tym wiedzieć, pamiętać itp.
4) Proste dodawanie dźwiękowych komórek pamięci i udźwiękowienie scenerii.
5) Proste w użytkowaniu wstawianie komend dla AI
6) Proste wstawianie i sterowanie eventów losowych.
Nie wiem, czy czegoś nie pominąłem. Ogólnie starałem się, aby użytkownik pracował intuicyjnie, program prowadzi "za rękę" i praca głównie polega na klikaniu. Z nowych rzeczy, które pasują do nowych exe, to automatyczne dodawanie odcinków izolowanych i ich wyświetlanie.
To wszystko co zrobiłem, jest jednak zbyt mało, bo to już pół języka wyższego poziomu a pół jeszcze assembler. Brakuje automatycznego skryptowania "wszystkiego" co znajduje się w scenerii, łącznie z alternatywnymi przebiegami, a później  proste nimi sterowanie. Nie mam jednak koncepcji i czasu, aby wchodzić w to głębiej
« Ostatnia zmiana: 28 Maja 2016, 18:02:00 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #36 dnia: 11 Czerwca 2016, 16:25:55 »
Jak korektor się zachowuje gdy pod obiektem znajdują się dwie warstwy uwzględnianych trójkątów? Mamy przykładowo kosz nad peronem i nad trawą pod peronem. Odnoszę wrażenie, że czasami łapana jest płaszczyzna niżej. Gdy mam je w osobnych scmach to załatwiło by sprawę puszczanie korektora na trawie, zaremowanie trawy, puszczenie korektora na peronach?
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #37 dnia: 11 Czerwca 2016, 17:08:50 »
W zalozeniu, jesli do danego punktu jest wiecej niz jeden trojkat, to wynikowa wysokosc jest ta wieksza (wybierana maksymalna). To akurat powinno dzialac dobrze. Jesli cos nie tak, to poprosze przykladowe dane, sprawdze.

  Dodano: 11 Czerwca 2016, 17:19:15
Aha, bo Ra sie tez na to nacial, nalezy uwazac na zakres od/do. Byc moze nizszy sie zalapal na zakres, wyzszy juz nie.
« Ostatnia zmiana: 11 Czerwca 2016, 17:19:15 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #38 dnia: 11 Czerwca 2016, 17:25:47 »
Widełki nastawione na 0.5:11.
[inc]
*
[tekstury]
grassdarkgreen4
asphaltgray1
brick-gray
per7plyty
[drogi]
0
[rzeki]
0
Przetwarzane drawinowo z testu (dziś będzie nowa paczka; w starej jest chyba tylko teren e3d). Nie łapie wszystkich bochnia/bochnia_przejscie.inc i niektórych tablic z nazwą stacji. Różnica między peronem a ziemią to 0.8 m.
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #39 dnia: 11 Czerwca 2016, 17:33:57 »
A mozesz wystawic sprawdzane scm?

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #40 dnia: 11 Czerwca 2016, 17:38:40 »
Poprawiłem ręcznie już, wiec nie wiem czy złapie, ale powinno, bo przed operacją też te elementy były na dobrych wysokościach.
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #41 dnia: 11 Czerwca 2016, 17:42:08 »
To w tym wystawionym jest cos do korektorowania, czy nie? Pogubilem sie. Jesli jest, to powiedz, co konkretnie bylo zle (jaki wpis).
Albo inaczej, daj zakres 0/100 i jesli nadal bedziesz uwazal, ze jest cos zle, do daj znac (upieram sie przy zakresie, moze braku tekstury podloza w ini, albo dziwny wpis).
« Ostatnia zmiana: 11 Czerwca 2016, 17:48:29 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #42 dnia: 11 Czerwca 2016, 17:49:29 »
Potraktuj to korektorem z podanymi wcześniej ustawieniami. Zobacz czy wpisy bochnia/bochnia_przejscie.inc pozostaną na poziomie peronu 0.8 czy zostaną przeniesione na poziom gruntu 0. Zakresami się pobawię ale już nie dziś.
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #43 dnia: 11 Czerwca 2016, 17:52:37 »
Mimo wszystko upieram sie co do kolejnosci dzialan, jaka zaproponowalem.

  Dodano: 11 Czerwca 2016, 19:32:03
Przeanalizowalem jeden przypadek:
include bochnia/bochnia_przejscie.inc drawinowo_przejscie1a -21967.2 2.03 2608.45 90.0 end
Zmienil na 0.8
Dla tego punktu znalazl tylko dwa ponizsze trojkaty:
node 1000 0 none triangles material ambient: 255.0 255.0 255.0 diffuse: 255.0 255.0 255.0 specular: 255.0 255.0 255.0  endmaterial grassdarkgreen4
-22056.8 0.0 2598.02 2.44139e-007 0.999989 0.00476183  3388.85 468.081 end
-22040.1 0.0 2690.2 0.0 1.0 0.0  3387.18 477.299 end
-21956.8 0.0 2598.02 0.0 0.999991 0.00416656  3378.85 468.081
endtri

node 1000 0 none triangles material ambient: 100.0 100.0 100.0 diffuse: 255.0 255.0 255.0 specular: 100.0 100.0 100.0 endmaterial brick-gray
-21916.7 0.8 2611.33 0.0 1.57079 0.0 14.5869 -29.4911 end
-21916.7 0.8 2605.57 0.0 1.5708 0.0 15.4131 -29.4911 end
-22418.7 0.8 2605.57 0.0 1.5708 0.0 15.4131 59.4911
endtri
Wiec nie da rady zrobic z tego 2 z groszem :)
W zalaczeniu ekstrakt wszystkich trojkatow w poblizu tego punktu. Nie widac tam trojkata, ktory mialby wiecej niz 0.8
Rowniez log z korekcji.
« Ostatnia zmiana: 11 Czerwca 2016, 19:40:51 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #44 dnia: 12 Czerwca 2016, 10:10:17 »
No i to jest poprawny wynik. Pobawię się tym dzisiaj.
Autor stwierdził, że dobrym punktem na pivot przejścia będzie 1.304 m nad jego podstawą i w incu nie jest to nijak skorygowane... Te tabliczki pewnie mają tak samo. Przepraszam za zamieszanie.
« Ostatnia zmiana: 12 Czerwca 2016, 10:56:43 wysłana przez Stele »
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #45 dnia: 08 Sierpnia 2016, 14:20:54 »
Napisałem kolejne narzędzie, ale w wersji exe:
Załączam tutaj instrukcję:
Program służy do:
1) Wyciągania wszystkich plików używanych przez scenerie.
2) Identyfikacji brakujących plików sceneryjnych.
3) Identyfikacji nieużywanych plików w katalogach MODELS, SCENERY, SOUNDS, TEXTURES.
4) Identyfikacji plików *.wav używanych przez DYNAMIC
5) Identyfikacji brakujących plików *.wav dla DYNAMIC

Takie narzędzie pisałem dawno pod Excela i wychodząc naprzeciwko użytkownikom, którzy nie mają Excela, stworzyłem plik wykonywalny exe. W porównaniu do wersji Excelowskiej, program dostosowałem do obecnych zastosowań.
Te nowe rzeczy to:
1) Wyszukiwanie plików graficznych, gdy nie są podane jawne rozszerzenia
2) Dodanie wyłapywania plików w dyrektywie //$f pl – na ogół są to opisy scenariusza - plik w katalogu INNE
3) Dodanie wyłapywania plików napisów do nagrań plików *.wav – pliki *.txt w katalogu SOUNDS o ile dany plik z napisami istnieje.
4) Dodanie wyłapywania plików rozkładu jazdy w evencie zawierającym polecenie TimeTable:
5) Przy okazji dodałem identyfikację używanych i brakujących plików *.wav używanych przez DYNAMIC, czyli przez tabor.
Jeśli o czymś zapomniałem dodać w programie, aby wyłapywać używane pliki proszę o zgłoszenie tego faktu.

Specyfikacja programu:
1) Identyfikacja używanych, brakujących plików przez scenerie, czyli wszystkie *.scn, *.scm, *.ctr, *.inc, *.t3d, *.e3d, tekstury (*.dds, *.tga, *.bmp, *.tex). Wyłapuje również używane tekstury w plikach e3d, tak więc sprawdzana paczka z Maszyną może zawierać pliki t3d, jak również e3d.
2) Dodatkowo dla plików sceneryjnych, wyłapuje w dyrektywach
a)  //$i - screen z logiem scenerii
b) //$f pl – plik dodatkowy (na ogół opisy scenerii, rozkłady jazdy z katalogu INNE). Nie wyłapuje już odniesień, gdy dany plik posiada zawarty w tej dyrektywie, odwołuje się do jakiś plików w katalogu INNE.
3) Identyfikacja używanych, brakujących plików *.wav używanych przez DYNAMIC, czyli przez tabor.
4) W wyniku działania powyższych punktów, identyfikację plików nieużywanych nieużywanych katalogach: MODELS, SCENERY, SOUNDS, TEXTURES.
5) Wyświetlania wyniku analizy z podziałem na kategorie plików: 
a) Używane sceneryjne
b) Nieużywane
c) Braki sceneryjne
d) Wyjątki – co się pod tym kryje, opisane jest poniżej w punkcie 2d Pracy z programem.
e) Używane *.wav DYNAMIC
f) Braki *.wav DYNAMIC
6) Kopiowanie/przesuwanie pod wskazaną ścieżką oraz usuwanie plików:
a) Używanych sceneryjnych
b) Nieużywanych
c) Używanych *.wav DYNAMIC

Praca z programem:
1) Wgrać pliki: wyciagnij_pliki.exe, wyciagnij_pliki.ini w dowolne miejsce na komputerze
2) Edytować plik wyciagnij_pliki.ini. W pliku tym, są zawarte sekcje, które należy sobie dostosować:
a) [sciezka_dostepu] – podaje się ścieżkę dostępu do głównego katalogu Maszyny.
b) [domyslne_rozszerzenie] – podaje się domyślne rozszerzenie tekstur. W zasadzie, pogram automatycznie szuka rozszerzeń plików, lecz podanie jakiejś wymusza priorytet wyszukiwania i tak dla wpisanego :
- dds priorytet ma się następująco:  *.dds, *.tga, *.bmp, *.tex
- tga priorytet ma się następująco:  *.tga, *.dds, *.bmp, *.tex
- bmp priorytet ma się następująco:  *.bmp, *.tga, *.dds, *.tex
- tex priorytet ma się następująco:  *.tex, *.tga, *.dds, *.bmp
c) [sciezka_kopiowania_przesuwania] – wskazuje ścieżkę kopiowania/przesuwania używanych i nieużywanych plików, jeśli będziemy chcieli korzystać z opcji operacji na plikach.
d) [pomijane_foldery_pliki] – podaje się pliki lub foldery, które mają być pomijane przy analizie, aby nie zaciemnić obrazu analizy np. folder Textures\Tabor\ (korzystają z tego folderu modele taboru, które program nie analizuje). To nazwałem jako wyjątki.
 
3) Uruchomić program, wybrać scenerię lub scenerie do analizy, i tak:
a) Jeśli zależy nam na  wyciągnięciu  używanych  plików z danej scenerii, zaznaczamy tylko daną scenerię do analizy.
b) Jeśli zależy nam na wyłapaniu nieużywanych plików jak również braków z całej Maszyny, zaznaczamy wszystkie scenerie.
c) Jeśli zależy nam na wyłapaniu używanych i braków plików *.wav używanych przez DYNAMIC (tabor), zaznaczamy dowolną scenerię do analizy. Program zawsze przy pewnym etapie analizy, analizuje pliki *.mmd w celu wyłapania używanych plików *.wav przez DYNAMIC.
4) Nacisnąć przycisk Analiza. Program zaczyna analizować dane. Wyświetla się bieżący etap, na którym jest program, aby nie było wrażenia, że się zawiesił.
5) Po wykonaniu analizy, mamy możliwość wyświetlenia wyniku analizy z podziałem na kategorie plików opisanym w punkcie 5 Specyfikacji programu. Jeśli chcemy skopiować poszczególne wyświetlane pozycje do schowka, zaznaczamy te pozycje. Zaznaczenie powoduje automatyczne skopiowanie do schowka.
6) Jeśli chcemy skopiować/przesunąć/usunąć dane pliki z danej kategorii, wybieramy kategorie plików, polecenie i naciskamy przycisk Wykonaj.
7) Po wykonaniu procesu analizy, tworzy się plik wynik.txt w katalogu, w którym wgrany jest program. Plik ten można sobie edytować ręcznie w zależności od specyficznych potrzeb.
8) Aktywacja przycisków Wyświetl i Wykonaj, uzależniona jest od istnienia pliku wynik.txt. Tak więc po analizie, można zamknąć program i w dowolnym momencie uruchomić program i spoglądać na wynik analizy, pod warunkiem, że nie dokonaliśmy przesuwania i usuwania plików.

Program może nie być pozbawiony błędów. Jeśli ktoś zauważy coś niepokojącego, proszę o zgłoszenie tego faktu. Ja miałem trudności w odczycie plików z drutami na Całkowie. Wygenerowany plik z drutami nie zawiera typowej informacji o końcach linii i w zasadzie cały plik traktowany jest, jako jedna linia danych. Teoretycznie zabezpieczyłem się przed tym, ale pewności nie mam, jak się to zachowa u  innych. Jeśli ktoś rozbije linijkę, w której jest event przypisujący plik rozkładu jazdy, też program może nie wyłapać pliku z rozkładem jazdy. Następną niepewną sytuacją, o której kiedyś się mówiło, lecz nie weszło chyba w życie, to pliki *.wav w folderze SCENERY. Jakieś tam widzę, lecz nie są wykorzystywane. Jak to powinno być nie wiem i w związku z tym, program nie jest na to przygotowany. Może też być problem, jeśli w scenerii ktoś dołączy poprzez include, tematyczną część scenerii i po endzie doda komentarze z dużą ilością spacji. W tym przypadku program potraktuje ten inlud, jako typowy includ z parametrami.

Trochę statystyk dla Maszyny 15.04 z patchem 16.05
1) Brakujących sceneryjnych plików: 36
2) Brakujących *.wav używanych przez Dynamic: 2
3) Nieużywanych plików w katalogach: MODELS, SCENERY, SOUNDS, TEXTURES : 6707 a z wyłączeniem folderu Textures\tabl\: 2254
Na ile w nieużywanych jest plików „na zaś” a na ile zupełnie niepotrzebnych, tego nie wiem.

« Ostatnia zmiana: 12 Listopada 2016, 21:18:04 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #46 dnia: 08 Sierpnia 2016, 15:54:18 »
Czyli generator drutów w php daje linuksowe końce wiersza? Miałem z nim strasznie problemy by go skłonić do współpracy.
Jedyne wawy w scenery to dźwięki odjazdów dla kierownika pociągu, chyba że się coś zawieruszyło.
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #47 dnia: 08 Sierpnia 2016, 16:43:16 »
No coś z tym generatorem nie tak. W załączeniu przesyłam wynik analizy dla Maszyny. Wystarczy wgrać ten plik do folderu, gdzie wgrany jest program i można popatrzeć na wynik, oczywiście rozpakowując załączony plik. Co do wavów  w scenery, nie mogłem ręcznie znaleźć do nich odniesień jak rówież program. Więc nie wiem co to za pliki. Widoczne one są w załączonym wyniku.
« Ostatnia zmiana: 08 Sierpnia 2016, 16:46:54 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Różne mariuszowe narzędzia
« Odpowiedź #48 dnia: 08 Sierpnia 2016, 18:02:14 »
Odniesień do wavów nie ma, bo są szukane na podstawie rozkładu przez exe. Póki nie ma innych wavów w scenery, mógłby sprawdzać czy w tym samym folderze co wav jest txt o takiej samej nazwie i wtedy ignorować, albo całkiem ignorować wavy w scenery. Dźwięki prędzej mogą być w dynamic. Tu mogło by się przydać coś wyszukującego duble dźwięków i dźwięki użyte tylko w jednym pojeździe. Teraz dźwięki w dynamic loguje jako braki (dl2).
Przy brakach użyteczne byłoby, jakby zapisywał gdzie było odniesienie doń. Teraz każdego trzeba szukać ręcznie notatnikiem. Mam też sporo "braków" w postaci przykładowo d:\pctga\textures\textures\zwroty34r300pods.tga co exe łyka przez podwójne szukanie tekstury (jak nie znajdzie textures/dir/filename to szuka textures/filename). Ale to nieeleganckie i też można by posprzątać.
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #49 dnia: 08 Sierpnia 2016, 19:33:05 »
Dodane:
1) Pliki *.wav w SCENERY na podstawie rozkładu jazdy.
2) Szukanie *.wav dla DYNAMICA w ścieżce w której znajduje się dany DYNAMIC (aby nie pokazywał braków wav).
Natomiast co do reszty, to tak:
1) Kiedyś exe textures\textures\file.ext logowało błędy. Teraz być może już nie. Nie ruszałem w tym względzie nic, bo nie wiem, czy aby na pewno nie loguje błędu, a także jak sam wspomniałeś nieładnie to wygląda. Lepiej to wyczyścić.
2) Wypisywanie odniesień w przypadku braku - nie ruszałem. Zbyt wiele musiałbym zmienić. Dodatkowo istnieje narzędzie Excela, gdzie wypisuje błędne odniesienia .
3) Co do dubli *.wav w Dynamicach, się pomyśli, ale nie teraz. Teraz tak relaksacyjnie na urlopie coś skrobnąłem, ale bez przesady :)

  Dodano: 08 Sierpnia 2016, 21:36:58
A co mi tam :), w załączeniu nowy wynik analizy, po naniesionych poprawkach w programie.

  Dodano: 09 Sierpnia 2016, 11:40:52
Taka ciekawostka, dwa pliki wav, są używane zarówno przez dynamic, jak również scenerie:
sounds\carmotor2.wav
sounds\silence1.wav

carmotor, ok, ale po co w scenerii dodawać dźwięk z ciszą?
« Ostatnia zmiana: 09 Sierpnia 2016, 11:40:52 wysłana przez Mariusz1970 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #50 dnia: 17 Września 2016, 02:22:08 »
Narzedzie do drutowania, wersja alfa, plik exe.

  Dodano: 20 Września 2016, 05:22:43
Kolejna wersja exe do drutowania:
Zmieniłem algorytm wyszukiwania sąsiadów danego słupa. Wydaje się lepszy od poprzedniego, no ale zawsze jest jakaś niepewność, że coś w jakiejś sytuacji może być nie tak. Dodatkowo dodałem funkcję o którą prosił matek123.

  Dodano: 21 Września 2016, 02:20:45
« Ostatnia zmiana: 12 Listopada 2016, 21:18:54 wysłana przez Mariusz1970 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #51 dnia: 25 Września 2016, 22:46:25 »
Kolejna wersja exe do drutowania:
Dodałem nowe funkcje:
1) Graficzne wyświetlanie miejsc, gdzie dany słup nie jest odrutowany z dwóch stron. Jest możliwość identyfikacji tego słupa.
2) Ręczne drutowanie dwóch słupów na podstawie informacji uzyskanej z funkcji 1.

  Dodano: 27 Września 2016, 17:22:41
Kolejna wersja:
Aby nie musieć zapamiętywać numery ID słupów do ręcznego drutowania, jest możliwość poprzez kliknięcie przy graficznym wyświetlaniu miejsc potencjalnie nie odrutowanych, dodanie ID słupa do drutowania. Czyli w zasadzie praca z programem polega na klikaniu.
Sorry, że wersja za wersją, ale pomysły rodzą się stopniowo. Ja już nie przewiduje więcej w tym programie usprawnień.

  Dodano: 27 Września 2016, 20:09:13
Zmieniłem także parametry drutów w pliku ini. Były one przepisane ze skryptu php i były częściowo nieprawidłowe.
« Ostatnia zmiana: 12 Listopada 2016, 21:19:32 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Różne mariuszowe narzędzia
« Odpowiedź #52 dnia: 27 Września 2016, 22:20:01 »
Właśnie chciałem napisać, że poczekam ze dwa dni i zobaczę czy na pewno nie wypuścisz nowej wersji...
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #53 dnia: 29 Września 2016, 21:45:26 »
Ech. firleju, prorok czy jak ;)
Kolejna wersja:
Musiałem, bo wyłapałem babolka w specyficznych sytuacjach.
Oto wyciąg z instrukcji:
Cytuj
7) [Przedzial przy ktorym nastapi symulowany obrot slupa o 180 stopni] - Przy każdym połączeniu słupów, program sprawdza wartość różnicy kątów słupów wg osi Z. Jeśli wartość będzie mieściła się  w tym określonym przedziale, funkcja będzie się aktywowała.
Zdarza się, że dwa dane słupy, które mają zostać odrutowane, wyglądały na postawione względem siebie prawidłowo w scenerii. Jednak któryś z nich powinien być powinien być odwrócony o 180 stopni. Gdyby się tak to zostawiło, to druty by się krzyżowały. Jest to błąd w scenerii. Aby nie odwracać słupa w scenerii, program dokona wirtualnego obrotu słupa o180 stopni. Wtedy druty się nie będą krzyżowały. Ta metoda ma swoją wadę, mianowicie, gdy odwracany wirtualnie słup ma dodatkowo rotacje w osiach X i/lub Y, wtedy druty nie trafią na miejsce izolatorów. Wersja obecna exe do drutowania, oprócz wirtualnego obrotu słupa, zeruje w scenerii rotację w osiach X i Y. Czyli program może zmieniać scenerię. Program dokonuje zerowania za każdym razem, gdy trafi na taką sytuację.. Więc jeśli w scenerii pod tym względem jest duży bałagan, program będzie długo drutował scenerie, gdyż podczas drutowania, jeśli zdarzy się taka sytuacja, to program przerywa drutowanie, zmienia scenerię zerując rotacje w osiach X i Y i ponownie drutuje,  aż znowu natrafi na taką sytuację. Może być wtedy wrażenia zapętlenia się programu. Nie należy wtedy przerywać.
Próbowałem różnych opcji poradzenia sobie z taką sytuacją, jednak ta wydaje się najbardziej niezawodna. Jedną z prób, którą próbowałem, zmieniała fizycznie w scenerii słup o 180 stopni w osi Z, pozostawiając rotacje X i Y nie zmieniane. Dawało to pozytywy efekt, ale nie zawsze. Bywały sytuacje , że słupy były odwracane jak domino i na odwróconych było dobrze, jednak, gdy następny słup w kolejce do domina, powinien zostać odwrócony, odwrócony nie został, bo nie łapał się na przedział. Efektem było ponowne krzyżowanie się drutów, tylko na innej parze słupów. Obecne rozwiązanie również minimalizuje powstanie efektu domina.
Inną metodą, była metoda zmiany kolejności wstawiania drutów dla jednego słupa, zapisanych w konfiguracji, czyli pierwszy drut pierwszego drutowanego słupa był drutowany z ostatnim drutem drugiego słupa zapisanego w konfiguracji. Drugi drut pierwszego słupa z przedostatnim drutem drugiego słupa, itd. Jednak ta metoda też się nie zawsze sprawdza. Zależy to od specyfikacji konfiguracji drutów. Dla jednych typów słupów było ok., dla innych już nie.
Tak więc z testów mi wyszło, iż ta obecna metoda jest najbardziej niezawodna.

Jeśli ktoś ma pomysł jak to inaczej rozwiązać, proszę o opis.

W związku z tym, że program może dokonać zmian w scenerii, należy dla bezpieczeństwa zrobić sobie kopię zapasową scenerii.
Powyższą funkcję można dezaktywować, wpisując przedział o dużych liczbach np. 10000 10000
Poniżej pseudo rysunki objaśniające sytuacje z krzyżowanie się drutów:



a) sytuacja prawidłowa, np. rotacja słupa 1 i 2 po 90 stopni w osiach Z
_1                                                            _1
O                                                              O 
_2                                                            _2

b) sytuacja nieprawidłowa np. rotacja słupa 1 90 stopni,  2 270 stopni w osiach Z
_1                                                            _2
O                                                              O 
_2                                                            _1

Druty przebiegają od 1 do 1 i od 2 do 2. Widać, że w sytuacji b druty będą się krzyżowały.
Gdyby okazało się, symulowane odwrócenie w jakimś miejscu coś zepsuło, można skorzystać z funkcji opisanej w punkcie II.3. Można wtedy w pliku druty.scm usunąć te druty, następnie za pomocą funkcji opisanej w punkcie II.2 ponownie je połączyć, ale tym razem dezaktywujemy przedział symulowanego obrotu. W tej sytuacji, program wskaże, że te słupy są odrutowane 3 razy, ale tym się nie przejmować.

Dodatkowo dodałem przy okazji nową funkcję:
Cytuj
3) Wyświetlanie graficzne miejsc, gdzie program dokonał symulowanego odwrócenia słupa.

Na dniach, jeśli uda mi się zmobilizować, to uporządkuje wątek z moimi narzędziami. Odnośniki będą w pierwszym poście w tym wątku, wraz z opisem zmian od ostatnich uploadowań.
« Ostatnia zmiana: 12 Listopada 2016, 21:20:12 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Różne mariuszowe narzędzia
« Odpowiedź #54 dnia: 29 Września 2016, 21:50:34 »
Niecałe 48 godzin :D
A tak poza tym to czy na pewno jest sens fizyczne zapisywanie do pliku (obrócenie słupa)? Może wszystko robić w pamięci?
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #55 dnia: 29 Września 2016, 21:53:13 »
Zależy o czym piszesz, mówiąc "fizycznie". W pamięci obraca oś Z, ale fizycznie zeruje osie X i Y. Opisałem dlaczego. Tzn musiałby obliczać na nowo rotację w X i Y. Może masz rację, jednak nie wiem jak to się zachowa i nie wiem też jak obliczyć też nowe rotację w X i Y? Wystarczy zmienić znak na przeciwny? Sprawdzę, dam odpowiedź.

  Dodano: 29 Września 2016, 22:14:42
Dobra, jest ok. Będzie następna wersja ;)
A ja się męczyłem. Jakoś pod wpływem chwili i twojego postu, mnie olśniło. Dzięki ;)

  Dodano: 29 Września 2016, 22:36:53
Jednak nie, jest prawie dobrze. Zbyt szybko się ucieszyłem. Druty w tej sytuacji, zbyt mocno (parę cm) nie są ucelowane w izolatory. Dla mnie jest to nie do przyjęcia. Więc następnej wersji nie będzie, chyba, że ktoś da pomysła. Cholera, straciłem przez swoją głupotę, źródła z fizycznym zerowaniem rotacji X/ Y.

  Dodano: 30 Września 2016, 10:47:26
No to się udało w pamięci obracać słupy, ufff. Oprócz zmiany znaku na przeciwny
dla rotacji w  X i Y, trzeba również na znak przeciwny zmienić jedną ze współrzędnych konfigurujących druty na słupie. Dałem możliwość w pliku ini, wybrania, która to współrzędna dla danego typu słupa ma być wymnażana przez -1. Jest to parametr opcjonalny.
Trudność polegała na tym, że program liczył wirtualny obrót a fizycznie słup stał tak, jakby nie odwrócony. Przedstawia to rysunek 4. Niebieska linia, to drut. Również wersja z zerowaniem rotacji w X i Y miała tę wadę. Nie zauważyłem tego, bo trzeba się przyjrzeć z bliska drutom.
Także gorąco polecam testowanie. Wymyślanie może różnych sytuacji w testach.



Link do ostatniej wersji:
« Ostatnia zmiana: 12 Listopada 2016, 21:20:50 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Różne mariuszowe narzędzia
« Odpowiedź #56 dnia: 30 Września 2016, 13:08:21 »
Czy program sam "drutuje" scenerię czy trzeba do niej coś najpierw wstawić?
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #57 dnia: 30 Września 2016, 13:28:07 »
W zasadzie, to nie rozumiem pytania :), ale cos postaram sie odpowiedziec. W scenerii musza byc slupy do drutowania np. teletechniczne. Charakterystyka tych slupow musi byc w pliku druty.ini. W pliku konfiguracyjnym rowniez ustala sie jakies tam parametry. Gdy juz jest to gotowe, wybieramy z listy scenerie do drutowania. Wynikowy plik, to druty.scm, ktory includujemy w scenerii.

  Dodano: 30 Września 2016, 13:49:55
Wazne jest, aby przy dodawaniu nowego slupa w konfiguracji, dobrze dobrac parametry. Ja na poczatku przy konfigurowaniu, wstawialem 2 slupy bez zadnych rotacji i dodawalem kolejne paramerty drutow, metoda prob. Jak mialem to ustalone, dodawalem rotacje w XYZ, sprawdzalem efekt. Nastepnie jeden z nich w osi Z, obracalem o 180 stopni i dobieralem parametr Obrot= (Y albo X albo XY albo nic). Jesli mam to wszystko wykonane, dopiero drutuje scenerie. 
« Ostatnia zmiana: 30 Września 2016, 13:49:55 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Różne mariuszowe narzędzia
« Odpowiedź #58 dnia: 30 Września 2016, 13:57:45 »
No już rozumiem. Jakoś ciągle byłem pewien, że mówisz o trakcji ;)
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Różne mariuszowe narzędzia
« Odpowiedź #59 dnia: 01 Października 2016, 17:09:49 »
Kolejna wersja :P
Dodałem możliwość wyświetlania miejsc, gdzie krzyżują się druty między słupami.

Ps. Wiem, nawiedzony jestem

  Dodano: 01 Października 2016, 20:59:36
I kolejna:
Dodana funkcja usuwająca druty pomiędzy wybranymi dwoma słupami. Dodany też przycisk pomocy.
W zasadzie to już kompletny edytor drutów.
« Ostatnia zmiana: 12 Listopada 2016, 21:21:34 wysłana przez Mariusz1970 »