INNE Podstawy kodowania NewGRF-ów
#4
Popełniłem błąd - napisałem zanim pomyślałem. Od nowa.
Kod:
grf {
grfid: "BV01";
name: string(STR_GRF_NAME);
desc: string(STR_GRF_DESCRIPTION);
version: 13;
min_compatible_version: 1;
}
Od nowa. To jest blok "grf" w którym deklaruje się podstawowe dane GRF-u. Musi się on pojawić w każdym GRF-ie.

grfid: czteroznakowe ID, dzięki któremu GRF jest odróżniany od innych i nie można go wczytać dwa razy
name: nazwa GRF-u
desc: opis GRF-u, wyświetlany w Ustawieniach NewGRF
version: wersja GRF-u, w postaci numerka
min_compatible_version: najstarsza wersja GRF-u, z którą zgodna jest wersja obecna.

Wszystkie nazwy (pojazdów, budynków, przedsiębiorstw), a także opis GRF-u nie są podane bezpośrednio w kodzie. W kodzie podaje się tylko odsyłacz do osobnego pliku językowego.

Kod:
name: string(STR_GRF_NAME);
oznacza, że w miejscu nazwy GRF-u wyświetli się zdanie STR_GRF_NAME w języku, jakim posługuje się OTTD, lub po angielsku, jeśli GRF nie jest przetłumaczony na ten język.

Przykład pliku językowego.
Kod:
##grflangid 0x01
STR_GRF_NAME                   :Polish PKP Set Extended RC2
STR_GRF_DESCRIPTION            :Coding: BarthVader, Drawing: Czajnikowiec, Alkomat, creators of original PKP Set

Najwygodniej zrobić osobny podfolder na pliki językowe w tym samym folderze, w którym znajduje się projekt.

Pierwsza linijka informuje kompilator, że to jest plik językowy. Dwie ostatnie cyfry mówią jaki to język. Lista możliwych dwóch ostatnich cyfr:
http://hg.openttdcoop.org/nml/raw-file/t...uage-files
(na stronie jest tabelka po angielsku).

UWAGA!
  • Musi istnieć co najmniej jeden plik językowy. Nazw nie można podawać bezpośrednio w kodzie.
  • Musisz utworzyć plik językowy w języku angielskim (odmiana brytyjska), w którym znajdą się wszystkie użyte przez ciebie zdania. Jeśli planujesz napisać GRF tylko po polsku, to i tak plik językowy musi być zakodowany jak dla brytyjskiego angielskiego. W takim wypadku NML nie zaakceptuje tzw. "ogonków", wyrzucając błąd podobny do poniższego:

    Kod:
    nmlc: The default language file ("./POLSKIE_DROGI/lang/english.lng") contains non-utf8 characters

  • Plik z angielskim językiem musi nazywać się "english.lng", z polskim - "polish.lng", z każdym innym "angielska_nazwa_języka.lng"


Generalnie to podsumowanie lekcji 2 i 3. Wypowiedzcie się w dyskusji, czy może być. Jeśli tak, dalsza część będzie utrzymana w tym stylu, i poproszę admina o wywalenie wszystkich części poza tą o instalacji.


Wiadomości w tym wątku
Podstawy kodowania NewGRF-ów - przez bvader95 - 21-02-2011, 01:26
RE: Podstawy kodowania NewGRF-ów - przez bvader95 - 22-02-2011, 17:58
RE: Podstawy kodowania NewGRF-ów - przez bvader95 - 23-02-2011, 03:51

Skocz do:

[-]
Zamknięcie forum OpenTTD Polska
Forum OpenTTD Polska zostało wyłączone. Obecnie znajduje się tu archiwum dyskusji o dodatkach tworzonych przez naszą społeczność.
Po aktualne treści i dyskusje zapraszamy na nasz discord! :)

[-]
Discord