INNE Podstawy kodowania NewGRF-ów
#1
Question 
Cześć wszystkim.
Ktoś prosił o kurs pisania NewGRF. Ja troszkę tego liznąłem i chyba jestem gotów na przekazanie tej wiedzy innym osobom.

Uwaga: tutorial traktuje o języku NML. Jeśli nie przeraża cię natłok liczb heksadecymalnych, spróbuj NFO. Kurs po angielsku na TTDPatch Wiki:
http://wiki.ttdpatch.net/tiki-index.php?...phicsSpecs

1. Instalacja

Po pierwsze, musisz przygotować sobie środowisko do pracy. Niestety, to trochę skomplikowane.
Musisz pobrać:
- Interpreter języka Python:
http://python.org

UWAGA/WARNING/ACHTUNG! - Pobierz wersję 2.7, na wersji 3.3 NML nie zadziała.

- Dodatkowe biblioteki do interpretera
Python Image Library (PIL):
http://www.pythonware.com/products/pil/
PLY:
http://www.dabeaz.com/ply/
-No i oczywiście NML:
http://bundles.openttdcoop.org/nml/nightlies/LATEST/
Wybierasz nml-r_tu.jest.jakaś.liczba.src.tar.gz i pobierasz. Każdy archiwizator to otworzy. Jeśli nie masz, pobierz 7-zip
http://7-zip.org

Jeśli już pobrałeś instalator Pythona, zainstaluj go, a PIL i PLY wrzuć do folderu C:/tu_zainstalowałem_pythona/lib

Następnie kliknij prawym przyciskiem na ikonę Mój Komputer, wybierz Właściwości...
[Obrazek: 353tutorial1.png]

W okienku "Właściwości systemu" wybieramy zakładkę "Zaawansowane" i przycisk "Zmienne środowiskowe". Jeśli w zmiennych systemowych znajduje się zmienna PATH, edytujemy ją, dodając po średniku ścieżkę do Pythona. Jeśli takiej zmiennej nie ma, tworzymy ją.

Jeśli masz Linuksa, pobierz wszystko co trzeba używając wbudowanego menedżera pakietów i możesz od razu przystąpić do pracy. (dlatego lubię Pingwiny).

2. Od czegoś trzeba zacząć

Uwaga - na tym etapie zakładam, że nie rozwaliłeś monitora, nie połamałeś klawiatury i nie wyrzuciłeś komputera przez okno próbując zainstalować wszystko co trzeba pod Windowsem.

Odpal dowolny edytor tekstu. Napisz w nim takie coś:
Kod:
grf {
    grfid: "BV01";
    name: string(STR_GRF_NAME);
    desc: string(STR_GRF_DESCRIPTION);
    version: 1;
    min_compatible_version: 1;
}

A więc teraz rozłóżmy to na kawałki.
grfid: - czterobajtowy identyfikator GRF-u. "Cztery bajty" tu oznacza "cztery znaki". Z reguły pierwsze dwa znaki są inicjałami bądź skrótem nicku twórcy (tu: BV - BarthVader), zaś trzeci i czwarty są dowolne.
name: - nazwa GRF-u zapisana w postaci łańcucha znaków, wyświetlana w oknie wyboru GRFu - więcej niżej
desc: - skrót od description - opis GRF-u, wyświetlany w oknie wyboru GRF-u
version: - wersja GRF-u, w połączeniu z min_compatible_version informuje o wstecznej kompatybilności z poprzednimi wersjami GRF-u. Generalnie unika się stosowania tych parametrów.

No to napisałeś swój pierwszy GRF, który na razie nie robi nic. Zapisz efekt pracy, z rozszerzeniem .pnml lub .nml

Następna lekcja - budowanie GRF-u.


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