Autor Wątek:  Format mmd zgodny z YAML  (Przeczytany 5067 razy)

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

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10131
    • Zobacz profil
  • Otrzymane polubienia: 2596
Format mmd zgodny z YAML
« dnia: 25 Stycznia 2017, 17:18:53 »
Ra proponuje dostosować format mmd do specyfikacji YAML, póki co zostawiając stary parser. Ale ta zmiana pozwoli łatwo uprościć go w przyszłości. Można po potraktować jako wytyczne do nowych plików mmd. Jak ktoś ma ochotę zrobić przynajmniej część tych punktów na starych na repo, to oczywiście zachęcam. Nierangowych chętnych zapraszam do aplikacji do WPC.

http://rainsted.com/pl/Symulator/MaSzyna/Pliki_MMD
Mój kanał youtube

Offline MaciejM

  • Administrator
  • Wiadomości: 4051
    • Zobacz profil
  • Otrzymane polubienia: 1117
Odp: Format mmd zgodny z YAML
« Odpowiedź #1 dnia: 25 Stycznia 2017, 17:25:25 »
Jakie korzyści da ta zmiana?

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 120
Odp: Format mmd zgodny z YAML
« Odpowiedź #2 dnia: 25 Stycznia 2017, 18:08:47 »
Wprowadzenie parsera YAML zamiast obecnego w przyszłości. Umożliwi to czytanie całego drzewa zależności bez potrzeby zachowania ustalonej kolejności wpisów.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5904
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 428
Odp: Format mmd zgodny z YAML
« Odpowiedź #3 dnia: 25 Stycznia 2017, 18:56:32 »
No to nie tak chop, bo ja i tak uważam, że kolejność wpisów powinna być zachowana dla porządku. Natomiast rozumiem, że parser łyknie to w całości bez szukania konkretnej linijki.

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 120
Odp: Format mmd zgodny z YAML
« Odpowiedź #4 dnia: 25 Stycznia 2017, 20:28:54 »
Bardziej chodzi o to, że teraz jak zdefiniujesz cabdefinition to muszą być konkretne wpisy i innych nie przyjmuje. Docelowo powinno być w drzewach dotyczących poszczególnych części.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Sowik2

  • Wiadomości: 18
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Format mmd zgodny z YAML
« Odpowiedź #5 dnia: 26 Stycznia 2017, 16:38:05 »
Próbowałem przystosować do tego przykładowy plik, ale internetowe parsery wywalają błędy na kwadratowych nawiasach przy nazwach dźwięków. Po ich usunięciu wszystko gra. Czy w takim razie nie będzie potrzebna zmiana nazewnictwa w dźwiękach?

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10131
    • Zobacz profil
  • Otrzymane polubienia: 2596
Odp: Format mmd zgodny z YAML
« Odpowiedź #6 dnia: 28 Stycznia 2017, 00:03:08 »
Cytat: Ra
Cudzysłów trzeba wtedy dawać, czego na razie nie weźmie maszynowy parser.
Mój kanał youtube

Offline tmj

  • Deweloper
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Format mmd zgodny z YAML
« Odpowiedź #7 dnia: 28 Stycznia 2017, 02:52:48 »
Teraz juz wezmie, jesli trzeba -- dodalem "nowemu" parserowi ta umiejetnosc, tzn. jesli napotka cudzyslow, to wciaga wszystko co jest za nim, az do napotkania nastepnego cudzyslowu i traktuje to jako pojedynczy token. Ale zeby nie bylo za rozowo wymusza to ograniczenie parsera do pobierania symboli (przynajmniej tych tekstowych) pojedynczo, tzn
parser.getTokens(); parser >> token;
parser.getTokens(); parser >> token;

itd, co bedzie wymagac troche pogrzebania w kodzie w miejscach  gdzie czytanych jest teraz kilka symboli naraz. Na szczescie zbyt wiele ich chyba nie ma.

edit: w sumie szybciej wyszlo przerobic parser troche bardziej. Teraz obsluguje cudzyslowy, ale jest kompatybilny wstecz i nie wymaga gmerania w reszcie kodu. Lenistwo ftw.
« Ostatnia zmiana: 28 Stycznia 2017, 04:28:51 wysłana przez tmj »

Offline Sowik2

  • Wiadomości: 18
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Format mmd zgodny z YAML
« Odpowiedź #8 dnia: 31 Stycznia 2017, 16:24:06 »
Faktycznie nie doczytałem o cudzysłowach. Przerobiłem wstępnie jeden plik i na exe @tmj wszystko działa. Do tego można to zrobić na dwa sposoby (chodzi mi tutaj o wcięcia):
1.
models: 1xxa.t3d
 animations: 5 0 0 4 2 0 -1
 animwheelprefix: wheel0
 endmodels :
2.
model:
 models: 1xxa.t3d
 animations: 5 0 0 4 2 0 -1
 animwheelprefix: wheel0
 endmodels :
Celowo dałem słowo "model" a nie "models", bo wtedy exe się wysypywało (wiadomo czemu). Drugi sposób daje (oprócz dostosowania do standardu) porządek, a słowo "model" można wymienić na inne. W przyszłości można by było nawet te dwa słowa wymienić ze sobą, co wymaga zmian(y) w exe. Natomiast sposób pierwszy łyka exe @tmj, ale internetowy parser yaml wywala błędy w postaci tego, że chce połknąć całe wcięcie jako jeden token, bo ma wpisaną nazwę modelu po dwukropku. Więc pytam się jakby to miało być zrobione oraz czy nie dałoby się wyrzucić słów endmodels i endsounds?

Offline tmj

  • Deweloper
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Format mmd zgodny z YAML
« Odpowiedź #9 dnia: 31 Stycznia 2017, 16:45:55 »
endmodels i endsounds na chwile obecna obecna informuja .exe o koncu danej sekcji, i bez nich ladowanie utkneloby w petli. Byc moze daloby sie to rozwiazac zmiana w .exe procedury ladowania, jesli to konieczne, ale bez spogladania w kod nie jestem pewien na 100%

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5904
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 428
Odp: Format mmd zgodny z YAML
« Odpowiedź #10 dnia: 31 Stycznia 2017, 17:01:59 »
Ja bym sie zbytnio nie spieszyl z likwidacja komend end. Przynajmniej do czasu zapewnienia stabilnosci. Zrobienie tego mimochodem bo latwe, moze sie skomplikowac.

Offline Sowik2

  • Wiadomości: 18
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Format mmd zgodny z YAML
« Odpowiedź #11 dnia: 31 Stycznia 2017, 19:17:22 »
Nie jest to konieczne, mówię o jakieś tam przyszłości, pytam się tylko według którego wariantu możnaby to przekonwertować.

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10131
    • Zobacz profil
  • Otrzymane polubienia: 2596
Odp: Format mmd zgodny z YAML
« Odpowiedź #12 dnia: 31 Stycznia 2017, 19:58:15 »
Wariant drugi mi się podoba. Klucz "models" nie ma za bardzo sensu, bo zawsze był tylko modelem zewnętrznym.
Mój kanał youtube

Offline Sowik2

  • Wiadomości: 18
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Format mmd zgodny z YAML
« Odpowiedź #13 dnia: 31 Stycznia 2017, 20:25:08 »
Mi też się ten klucz nie podoba. No dobra, będę to pomału robił, ale mam jeszcze szkołę na głowie, więc trochę po szkole, a reszta w weekendy. To nie jest znów takie trudne.