-
Notifications
You must be signed in to change notification settings - Fork 0
instrukcja
extrazi edited this page Jun 25, 2023
·
7 revisions
EN PL |
Introduction |
Przykład (Bardzo prosty pociąg): include(fset.m4) // all local IDs, texts, etc include(fset_templates.m4) // vehicle templates setfeature(_TRAIN) grfinit(GRF_FRENCHSET, grfname(ALL,"French Set Protoype v0.02 12/12/2011") grfdescription(ALL, UTF8 CRLF T_LGRAY " © 2010 - 2012 by Jacopo Coletto.") grfurl(ALL, "http://www.frenchset.fr") grfpalette(DOS) grfversion(2) grfminversion(1) ) //------------------------------------------------------------------ // tank locomotive "030T Tramway" //------------------------------------------------------------------ definevehicle(_030TRAMWAY,{"030T Tramway"}, newgraphics() intro(1-1-1881) climate(TEMPERATE) reliability(16) vehlife(23) modlife(60) enginetype(STEAM) railtype(RAIL) speed(45 km/h) power(125 hp) runningcost(55) dualhead(NO) capacity(0) weight(15 t) price(2) aiusage(0) effort(35 kN) vehlen(3/8) // make 62.5% shorter seteffect(steam(4)) // set position of steam effect retire(16) // 16 years flags(FLIPPING) // allow "flipping" in OTTD ) //------------------------------------------------------------------ // short passenger coach //------------------------------------------------------------------ definevehicle(_MSP, {"Passenger coach"}, newgraphics() intro(1-1-1881) climate(TEMPERATE) vehlife(30) modlife(120) loadamount(4) speed(40 km/h) enginetype(WAGON) railtype(RAIL) runningcost(5) dualhead(NO) cargotype(MENU) // use first refittable capacity(18) weight(5 t) price(40) cargoclasses(+PASS, -EXPRESS) // exclude "tourists" vehlen(4/8) // make 50% shorter retire(16) // 16 years ) namevehicle(_MSP, D,"Reisezugwagen", F,"Voiture voyageur", E,UTF8 "Vagón de pasajeros", I,"Carrozza viaggiatori" ) //------------------------------------------------------------------ // graphics: tank locomotive "030T Tramway" //------------------------------------------------------------------ spriteblock( set( template({TMPL_NG_6M},030T_Tramway.pcx, x(10,26,58,100, 128,144,176,218), y(10)) ) ) def(0) spriteset(move(0),load(0)) //------------------------------------------------------------------ // graphics: menu entry for "030T Tramway" //------------------------------------------------------------------ spriteblock( set( sprite(030T_Tramway.pcx 260 10 _WEST) // black ) ) def(1) spriteset(move(0),load(0)) //------------------------------------------------------------------ // graphics: tramway coach //------------------------------------------------------------------ spriteblock( set( template({TMPL_NG_6M},voyageurs_courte.pcx, x(10,26,58,100, 10,26,58,100), y(10)) ) ) def(2) spriteset(move(0),load(0)) makevehicle(_030TRAMWAY, link(ref(1), MENU) // purchase menu entry default(ref(0)) // locomotive override(_MSP, ref(2)) // tramway coach )
Powyższy przykład daje tylko pierwsze wrażenie. Ten manual zapewni dokładny wgląd w to, jak kodować (prawie) wszystkie 'features' dostępne w TTD: pojazdy, stacje, domy, branże, obiekty itp. oraz jak w łatwy do zrozumienia sposób wykorzystać najbardziej zawiłe cechy 'newGRFs' TTDPatch .
Części poniższych tekstów zakładają, że czytelnik ma minimalne pojęcie o standardowych informacjach i zrozumieniu terminologii związanej z tworzeniem oprogramowania.
Content (provisional) |
- Instalacja
-
Bazowe koncepcje:
- Pliki GRF, parametry, nfo, ...
- Struktura języka m4nfo przegląd
- funkcje (trainsi, stacje, ...)
- Strukturyzacja plików źródłowych
- Słownictwo i notacja:
- Typy danych, jednostki, wartości fixed, stałe
- Bloki, funkcja if(), nawiasy kwadratowe, cbr(), ...
- Pojęcie grafiki
- Real sprites, TTD sprites, sprite replacement, recolour sprites
- Grouping sprites: spriteblock(), set()
- Sprite layout: spriteset()
- Pojęcie funkcji
- Property functions
- Funkcje układu
- Funkcje wydajności
- Funkcje pomocnicze
- Funkcje globalne: funkcje losowe, zdarzenie dźwiękowe, 'resetowanie' , getcolour
- Funkcje ogólne: niezależne od 'features', np. obsługa błędów lub rozgałęzianie wewnątrz newGRF, definicja ciągów tekstowych
- newGRF initialisation
- Obsługa 'callbacks'
- Obsługa tekstu , użytkowanie etykiety w rozproszonych plikach
- Obsługa dźwięku
- Templating
- Ogólne
- Przepływ kontroli , obsługa parametrów
- Error handling, komunikaty, dezaktywacja newGRF
- Funkcje globalne, ustawienie kosztów podstawowych, 'nadpisanie' newGRF
- Recolouring
- bloki funkcyjne m4nfo
- Funkcje wewnętrzne m4nfo , przypisywanie 'cech' , export/import
- Strony dotyczące funkcji:
-
trains
- train properties
- train functions, tabela translacji ładunków, tabela translacji typu kolejowego
- train callbacks
- road vehicles
- ships
-
stations
- właściwości stacji
- funkcje stacji, układ kafli
- 'callbacks' stacji
- houses
- canals and rivers
- mosty [...]
- objects
- industry tiles
- industries
- cargoes
- 'railtypy'
- towns
- font glyphs [...]
- nazwy miast [...]
-
trains
- Dodatek:
- TTDPatch flagi
- TTD domyślne branże -> instrukcja nfo
- TTD domyślne kafle branżowe -> instrukcja nfo
- TTD koszty bazowe -> instrukcja nfo
- TTD efekty dźwiękowe ???
- TTD domyślne identyfikatory pojazdów -> instrukcja nfo
- TTD domyślne właściwości domu -> instrukcja nfo
- TTD strefy miejsowości -> Marcin
- TTD klasy kafli, krajobraz -> Marcin
- TTD domyślne translacje kolorów -> instrukcja nfo
- TTD kafel stoków
- TTD strings -> instrukcja nfo
- TTD kody 'ciągów'
- Index
- Ogólne
- Trains
- Pojazdy drogowe
- Statki
- Stacje
- Domy
- Canals/rivers
- Objects
- Industry tiles
- Industries
- Cargoes
- Typy kolei
- Towns