Trainz Content Creators Guide PL 1-04– Redukcja LOD (Level of Detail), oraz: – Rozszerzone opisy...

193

Transcript of Trainz Content Creators Guide PL 1-04– Redukcja LOD (Level of Detail), oraz: – Rozszerzone opisy...

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

2

Version 1.04 Grudzie ń 2004

Copyright© Auran Pty Ltd 2004

Content Creators Guide jest wciąŜ uaktualniany i nieustannie poszerzany o nową wiedzę na

temat tworzenia dodatków do symulacji Trainz. Ta wersja dotyczy Trainz Railroad Simulator 2004.

Zawiera poprawki w stosunku do poprzedniego wydania Content Creators Giude oraz informacje

o nowych funkcjach wprowadzonych w TRS 2004. Najnowsze wiadomości dostępne są

na stronie internetowej: www.Railroadsimulator.com

Tłumaczenie z angielskiego oryginału:

Jac(e)k Norris Konsultacja merytoryczna i korekta:

Chester

Lipiec/Sierpień 2006 r

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

3

Dodatkowe informacje Czytając ten dokument, zapoznaj się takŜe z „Trainz Railroad Simulator 2004 User Activity Creation Guide”, który jest częścią instalacji TRS2004. Pokazuje on przykłady plików config.txt i źródeł skryptów dla wszystkich dostępnych, opublikowanych dodatków. Zawiera on takŜe teorię oraz tutoriale. Domyślna lokalizacja tego dokumentu to: C:\Program Files\Auran\TRS2004\Scripts\docs\index.c hm W Internecie dostępne są następujące dodatkowe informacje: Główne elementy • Przykłady plików dodatków do TRS zawierające pliki konfiguracyjne. http://www.auran.com/trainz/creation/Trainz_custom.zip • Przykłady plików 3D Studio Max i Gmax z załączonymi teksturami. http://www.auran.com/trainz/creation/source_files.zip

Tabor • pakiet plików TRS wagonu PRR 40’Boxcar, pliki źródłowe i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Box_Car.zip • pakiet plików TRS wagonu GATX-Oilco Tank Car, pliki źródłowe i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Tank_Car.zip • pakiet plików TRS wagonu Coal Hopper, pliki źródłowe i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Coal_Hopper.zip • pakiet plików TRS wagonu Container Flat, pliki źródłowe i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Container_Flat.zip

Wnętrza taboru • kabina lokomotywy DD40x, pliki źródłowe wnętrza i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_dd40_interior.zip • kabina parowozu PB15, pliki źródłowe i opis dodatku. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_PB15_interior.zip

Dźwięki parowozu http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Steam_Sound.zip

Edytor efektów cząsteczkowych (dymu, pary, mgły, itp.) http://www.auran.com/TRS2004/downloads/contentcreation/Twinkles.zip

Inne • Nowe pluginy Max 4 & 5 wspomagające w TRS bump-mapping i opis bump-mappingu. http://www.auran.com/TRS2004/downloads/contentcreation/TRS_Max4_Plugin_Bump.zip • Redukcja detali siatki 3D dodatku (Level Of Detail - LOD) http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Level_of_Detail.zip • Zastępowanie tektury ładunku wagonów (Load Texture Replacement) http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Load_Texture_Replacement.zip • Opis zdarzeń animacji (Animation Event). http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Animation_Events.zip

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

4

SPIS TREŚCI

ROZDZIAŁ 1 – PODSTAWY...............................................................................................................................................7

WPROWADZENIE...................................................................................................................................................................7 PROCEDURY..........................................................................................................................................................................8 CO TO JEST KUID? ...............................................................................................................................................................9 FORMAT KUID2...................................................................................................................................................................9 ID uŜytkownika (User ID) ..................................................................................................................................................9 ID zawartości (dodatku) ..................................................................................................................................................10 Zakresy numeracji ID zawartości ....................................................................................................................................10 ID wersji ..........................................................................................................................................................................11 Wpis TRAINZ BUILD ......................................................................................................................................................12

CO ROBIĆ A CZEGO UNIKAĆ - TWORZĄC DODATKI... ...........................................................................................................13

ROZDZIAŁ 2 – KLASY I KODY.......................................................................................................................................14

KLASA KATEGORII (CATEGORY CLASS) .................................................................................................................14 KODY REGIONU (REGION CODE) ...............................................................................................................................18 KODY ERY (EPOKI) ........................................................................................................................................................21

ROZDZIAŁ 3 – PLIKI CONFIG.TXT I TYP DODATKU (KIND). ...............................................................................22

PLIKI CONFIG.TXT.........................................................................................................................................................22 Ogólne wymagania, co do zawartości pliku config.txt.....................................................................................................23

WPIS EFFECTS.....................................................................................................................................................................27 Wpis effect: kind name.....................................................................................................................................................27 Wpis effect: kind corona ..................................................................................................................................................28 Wpis effect: kind texture-replacement..............................................................................................................................29 Wpis effect: kind attachment ............................................................................................................................................29 Wpis effect: kind animation..............................................................................................................................................31

DODATEK TYPU: HTML (KIND: HTML-ASSET)........................................................................................................32 DODATEK TYPU: PRODUKT (KIND: PRODUCT).......................................................................................................33 DODATEK TYPU: PRODUKT-KATEGORIA ( KIND: PRODUCT-CATEGORY) ......................................................33 Wprowadzenie..................................................................................................................................................................33 Wizualizacja towarów (produktów) w grze TRS 2004 .....................................................................................................33 Towar paliwo lotnicze (aviation fuel) ..............................................................................................................................35 Towar węgiel (coal) .........................................................................................................................................................36 Towar ropa naftowa (crude oil).......................................................................................................................................36 Towar drobnica (general goods) .....................................................................................................................................37 Towar kontener 20 stóp (20 ft container) ........................................................................................................................38 Towar kontener 40 stóp (40 ft container) ........................................................................................................................39 Towar olej napędowy (diesel fuel) ...................................................................................................................................40 Towar tarcica (lumber)....................................................................................................................................................40 Towar benzyna (petrol fuel).............................................................................................................................................40 Towar woda (water).........................................................................................................................................................41 Towar wióry (woodchips) ................................................................................................................................................41 Towar pasaŜer (passenger)..............................................................................................................................................42

DODATEK TYPU: SILNIK LOKOMOTYWY (KIND: ENGINE)..................................................................................43 Opis pliku config.txt dodatku ENGINE............................................................................................................................47 Opis pliku config.txt dodatku ENGINE lokomotywy parowej (parowozu).......................................................................49 Komentarz i nowe wpisy ..................................................................................................................................................49

DODATEK TYPU WÓZEK TABORU (JEZDNY I NAPĘDOWY) (KIND: BOGEY)............................................................51 DODATEK TYPU: TABOR (KIND: TRAINCAR) ..........................................................................................................51 Wyjaśnienie poszczególnych wpisów w pliku config.txt dodatku TRAINCAR: ................................................................53 Przykłady dodatków typu TRAINCAR w Internecie .........................................................................................................54

DODATEK TYPU: DŹWIĘK SILNIKA LOKOMOTYWY (KIND: ENGINESOUND) .................................................55 ENGINESOUND – lokomotywy spalinowe i elektryczne.................................................................................................55 ENGINESOUND – lokomotywy parowe (parowozy).......................................................................................................56

DODATEK TYPU: DŹWIĘK SYRENY LOKOMOTYWY (KIND: HORNSOUND) ....................................................57 DODATEK TYPU: MASZYNISTA (KIND: DRIVERCHARACTER) ...........................................................................57

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

5

DODATEK TYPU: WNĘTRZE (KIND: INTERIOR)......................................................................................................58 Wyjaśnienie wpisów w pliku config.txt dodatku typu WNĘTRZE (INTERIOR):..............................................................65 Tworzenie wnętrza kabiny lokomotywy dla TRS 2004 ....................................................................................................67 Wnętrza lokomotyw parowych (parowozów) ...................................................................................................................73 Animowane dźwignie .......................................................................................................................................................82

DODATEK TYPU: PANTOGRAF (KIND: PANTOGRAPH) .........................................................................................85 DODATEK TYPU: ŚRODOWISKO (KIND: ENVIRONMENT) ....................................................................................85 DODATEK TYPU: WODA (KIND: WATER2) ...............................................................................................................85 Spokojna woda (Calm Water) ..........................................................................................................................................86 Wzburzona woda (Choppy Water) ...................................................................................................................................87 Gładka woda (Glassy Water) ...........................................................................................................................................87 Pomarszczona woda (Rough Water)................................................................................................................................88

DODATEK TYPU: MAPA (KIND MAP).........................................................................................................................88 DODATEK TYPU: SESJA MASZYNISTY (KIND: PROFILE) ......................................................................................88 DODATEK TYPU: PRZEMYSŁ (KIND: INDUSTRY) ...................................................................................................91 DODATEK TYPU PORTAL (KIND:PROTAL)...............................................................................................................92 DODATEK TYPU MULTIPRZEMYSŁ (KIND: MULTI INDUSTRY NEW) ................................................................94 DODATEK TYPU STACJA PASAśERSKA (KIND: PASSENGER STATION)...........................................................96 DODATEK TYPU WAGON PASAśERSKI (KIND: PASSENGER VEHICLE)............................................................99 DODATEK TYPU: STAŁE TORY (KIND: FIXEDTRACK).........................................................................................100 DODATEK TYPU: TORY - SPLINE (KIND: TRACK – RAILS) ....................................................................................101 DODATEK TYPU: DROGA - SPLINE (KIND: TRACK – ROAD) .................................................................................102 DODATEK TYPU: MOST (KIND: BRIDGE – BRIDGE).............................................................................................103 DODATEK TYPU: TUNEL - SPLINE (KIND: BRIDGE – TUNNEL) ............................................................................105 DODATEK TYPU: MOST, TUNEL, TOROWISKO - DWA TORY - SPLINE (KIND: BRIDGE – DOUBLE TRACK)105 DODATEK TYPU: OGRANICZENIE PRĘDKOŚCI (KIND: MOSPEEDBOARD) .....................................................106 DODATEK TYPU: DŹWIGNIA ROZJAZDU (KIND: MOJUNCTION)......................................................................108 DODATEK TYPU: OBROTNICA (KIND: MOTURNTABLE).....................................................................................109 DODATEK TYPU: PRZEJAZD KOLEJOWY (KIND: MOCROSSING) ......................................................................111 DODATEK TYPU SIATKA 3D (KIND: MESH)............................................................................................................112 DODATEK TYPU TEKSTURA (KIND: TEXTURE) ....................................................................................................112 DODATEK TYPU GRUPA TEKSTUR (KIND: TEXTURE-GROUP)..........................................................................112 DODATEK TYPU SCENARIUSZ (KIND: ACTIVITY)................................................................................................113 DODATEK TYPU BUILDABLE (KIND: BUILDABLE) .............................................................................................114 DODATKOWE WPISY W PLIKU CONFIG.TXT .........................................................................................................114

ROZDZIAŁ 4 – KRÓTKI PRZEWODNIK MODELOWANIA I STRU KTURA FOLDERÓW ............................115

LICZBA WIELOKĄTÓW MODELU.............................................................................................................................116 TABOR KOLEJOWY (TRAINCAR)........................................................................................................................................118 Numeracja lokomotyw ...................................................................................................................................................120 Mapowanie nierówności powierzchni (Bump mapping) i „wypolerowanie” materiału (Specular) ..............................120

MAPOWANIE NIERÓWNOŚCI POWIERZCHNI – BUMP MAPPING ......................................................................121 Teoria mapowania nierówności powierzchni ................................................................................................................121 Bump mapping w TRS2004............................................................................................................................................121 Tworzenie tekstury „mapa normalnych RGB” .............................................................................................................122 Materiały z bump mappingiem.......................................................................................................................................123 Konwencja nazewnictwa materiałów z bump mappingiem...........................................................................................124 Zdarzenia animacji (Animation Events)........................................................................................................................125 Redukcja siatki 3D „Level Of Detail” ...........................................................................................................................126 Zastępowanie tekstur towarów (Load Texture Replacement).......................................................................................130 Struktura folderu dodatku typu TRAINCAR oraz konwencja nazewnictwa ...................................................................133 Odwołania do innych dodatków typu TABOR („ALIASING”) ......................................................................................134

WÓZKI (BOGEY) ...............................................................................................................................................................135 PANTOGRAFY (PANTOGRAPH) ..........................................................................................................................................139 TEKSTURA PODŁOśA (GROUNDTEXTURE).........................................................................................................................140 MAPY PRZESUNIĘCIA WYSOKOŚCI (DIPLACEMENTS) ........................................................................................................140 ŚRODOWISKO (ENVIRONMENT) ........................................................................................................................................140 SCENERIA (SCENERY) .......................................................................................................................................................141 Dodatki typu Scenery oświetlone w nocy .......................................................................................................................141 Dodatki typu Scenery zawierające animacje .................................................................................................................141 Specjalne dodatki typu Scenery – Obrotnice (Turntables).............................................................................................142 Specjalne dodatki typu Scenery – Przejazdy kolejowe (Level Crossings)......................................................................142 Dodatki typu Scenery zawierające dźwięk .....................................................................................................................142

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

6

LINIE (SPLINES) ................................................................................................................................................................143 TORY (TRACKS)................................................................................................................................................................143 Tory (Rails) ....................................................................................................................................................................143 Mosty (Bridges)..............................................................................................................................................................144 Tunele (Tunnels) ............................................................................................................................................................144

OBIEKTY PRZYTOROWE (TRACKSIDE)...............................................................................................................................145

ROZDZIAŁ 5 – EFEKTY CZ ĄSTECZKOWE I SKRYPTY........................................................................................146

WPROWADZENIE...............................................................................................................................................................146 METODA 1 – PFX Z PLIKU CONFIG.TXT ........................................................................................................................147 Dodawanie bloku i wpisów „smoke”.............................................................................................................................147 Sekcja główna bloku „smoke”:......................................................................................................................................147 Sekcja właściwości emisji ..............................................................................................................................................148

METODA 2 – TWINKLES PFX ........................................................................................................................................149 SKRYPTY DŹWIĘKOWE..............................................................................................................................................150 PORADNIK DO SKRYPTÓW W TRS 2004 ..................................................................................................................152 Wprowadzenie................................................................................................................................................................152 Tworzymy prosty scenariusz ..........................................................................................................................................152 Tablica ciągu znaków (String-Table).............................................................................................................................155 Klasy i skrypty................................................................................................................................................................156

ROZDZIAŁ 6 – NARZ ĘDZIA I KUID ............................................................................................................................157

CZĘŚĆ 1 ............................................................................................................................................................................157 Stacja Załadowcza Trainz (Trainz Download Station).................................................................................................157 Aplikacja Trainz Download Helper ...............................................................................................................................159

CZĘŚĆ 2 ............................................................................................................................................................................160 WYKAZ KUID OPUBLIKOWANYCH DODATKÓW ...............................................................................................................160 TABOR (TRAINCARS)...................................................................................................................................................160 WÓZKI (BOGEYS).........................................................................................................................................................163 PANTOGRAFY (PANTOGRAPHS) ...............................................................................................................................165 DŹWIĘKI SYRENY (HORNSOUND).............................................................................................................................165 DŹWIĘKI SILNIKA (ENGINESOUND) ........................................................................................................................165 WNĘTRZA (INTERIORS) ..............................................................................................................................................165 SILNIKI (ENGINESPEC) ..............................................................................................................................................166 SIATKI 3D (MESH) .......................................................................................................................................................166 SCENERIA (SCENERY).................................................................................................................................................166 PRZEMYSŁ (INDUSTRY)..............................................................................................................................................178 STACJA PASAśERSKA (PASSENGER-STATION) .......................................................................................................178 TORY (TRACKS)............................................................................................................................................................179 STAŁE TORY (FIXED TRACKS)...................................................................................................................................181 LINIE (SPLINES)...........................................................................................................................................................182 OBIEKTY PRZYTOROWE (TRACKSIDE) ....................................................................................................................184 ŚRODOWISKO (ENVIROMENT)..................................................................................................................................190 TEKSTURY (TEXTURE)................................................................................................................................................190 MAPY (MAPS) ...............................................................................................................................................................190 TOWARY (PRODUCT)..................................................................................................................................................190 KATEGORIA TOWARU (PRODUCT-CATEGORY) ....................................................................................................190 SAMOUCZKI (TUTORIALS).........................................................................................................................................190 KOMENDY (BEHAVIOUR)...........................................................................................................................................191 SESJA MASZYNISTY (PROFILE) .................................................................................................................................191 MASZYNISTA (DRIVER CHARACTER).......................................................................................................................191

PODZIĘKOWANIA ..............................................................................................................................................................192

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

7

Rozdział 1 – Podstawy

Wprowadzenie Witaj w Przewodniku Twórcy Dodatków (CCG) dla Trainz Railroad Simulator 2004. Ten dokument jest przeznaczony dla osób mających zamiar tworzyć trójwymiarowe dodatki dla TRS 2004 oraz dla osób zainteresowanych tym, jak tworzy się takie dodatki. Celem tego dokumentu jest pokazanie, w jaki sposób dodatki 3D powinny być zbudowane, aby były kompatybilne z TRS 2004 i następnymi wersjami Trainz. Prosimy wszystkich twórców o ścisłe przestrzeganie i stosowanie się do procedur opisanych w tym dokumencie. Zaoszczędzi to póź-niejszej pracy i da pewność, Ŝe stworzone dodatki będą działały takŜe w następnych wersjach Trainz. Tworzenie dodatków musi podlegać pewnym standardom, dlatego uznaliśmy, Ŝe najlepszą formą osiągnięcia tego jest tworzenie dodatków według pewnych ogólnych kryteriów. Prosimy wszys-tkich twórców o niezwłoczne dostosowanie się do procedur opisanych w tym dokumencie. Ze swo-jej strony AURAN dołoŜy wszelkich starań, aby dodatki stworzone według procedur tu opisanych, były obsługiwane przez następne wersje gry Trainz Railroad Simulator. Ten dokument zawiera takŜe obszerną sekcję wyjaśniającą procedury uŜyte przez AURAN do tworzenia wnętrz (kabin) lokomotyw. Sprawdź na stronie http://www.Railroadsimulator.com dodatkowe informacje i uaktualnienie tego dokumentu. Zamieszczane tam będą kolejne wersje Content Creators Guide. Zamieszczony na w/w stronie WWW dodatkowy dokument „Content Creation Tips and Tricks” zawiera rozszerze-nie wiadomości na temat niektórych opisanych tu dodatków oraz opisuje, jak eksportować doda-tki, aby działały one w grze Trainz. Wersja 1.04 Content Creators Guide (grudzień 2004) zawiera opis następujących nowych dodatków i funkcji dla TRS 2004: – Portale (Portals), – Multi-Przemysł (Multi Industry), – Dodatki PasaŜer, – Bump Mapping, – Zastępowanie tekstur, – Zdarzenia animacji, – Listę limitów polygonów dla modeli 3D, – Redukcja LOD (Level of Detail), oraz: – Rozszerzone opisy i diagramy wpisów „Kind” w plikach config.txt, – Poprawki w stosunku do poprzedniej wersji CCG, – Dodatkowe informacje o dodatkach lokomotyw parowych, – Uaktualniony wykaz KUID opublikowanych dodatków do TRS. Zapoznaj się dodatkowo z dokumentem „Content Creation Tips and Tricks”, aby poszerzyć jeszcze bardziej swoją wiedzę o tworzeniu dodatków dla TRS 2004.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

8

Procedury Tworzenie nowych dodatków dla TRS 2004 przebiega generalnie w pięciu krokach: 1) Planowanie Ten wstępny etap polega na zebraniu jak największej ilości informacji na temat rzeczywistego obiektu, na bazie którego zamierzasz stworzyć dodatek. Czyli – szkiców, rysunków technicznych w widoku z przodu, z boku i z góry, specyfikacji technicznej (np. dla lokomotyw), fotografii (na tekstury) itp. DuŜo niezbędnych informacji moŜna znaleźć w Internecie… 2) Przygotowanie tekstur Tworzenie tekstur do opracowywanego modelu jest bardzo waŜnym elementem procesu tworzenia dodatku. Przygotowanie dobrej tekstury jest jedną z najtrudniejszych rzeczy, ale jednocześnie decyduje o tym, czy o stworzonym modelu powiesz „taki sobie…”, czy powiesz „wspaniały!”. Tekstury przygotować moŜna w dowolnym programie graficznym do obróbki grafiki bitmapowej. MoŜe to być „Adobe Photoshop”, „Paint Shop Pro” lub równie dobry i darmowy „Gimp”. 3) Tworzenie modelu 3D (Mesh) Tworzenie modelu 3D opracowywanego obiektu i nałoŜenie tekstur. Powstaje plik z rozszerzeniem *.IM. Plik ten to „Indeksowana Siatka” modelu 3D. Takie pliki są tworzone podczas eksportowania modelu 3D z programu 3D Studio Max, przy pomocy plug-inu Auran Jet Trainz lub z programu Gmax, przy pomocy dodatku Trainz Asset Creation Studio. WaŜne: poprzednie wersje TRS uŜywają plików „Progresywnej Siatki” (rozszerzenie *.pm). Z powodu zastosowania w TRS2004 nowego elementu, jakim jest redukcja siatki obiektu („Level of Detail”) – uŜywa on tylko plików *.IM, a pliki *.pm stają się powoli przestarzałe. Gmax jest darmowym (obecnie) programem, napisanym przez firmę Discreet (obecnie wykupioną przez Autodesk), na potrzeby tworzenia dodatków do gier. Jest to „okrojona” (bez moŜliwości renderingu) wersja programu „3D Studio Max”. Jednak Gmax nie ma opcji eksportu modeli do formatu Trainz (*.IM). Aby moŜna było wyeksportować model do formatu *.IM potrzebna jest „nakładka” na Gmax o nazwie „Trainz Asset Creation Studio”. Oba programy (Gmax i zawierający TACS – Trainz Content Creation Pack) moŜna pobrać na stronie: http://www.auran.com/trainz/contentcreation.htm Do zainstalowania/uruchomienia Gmax-a potrzebny jest „User Identification Code” – kod, który otrzymasz mailem po darmowym zarejestrowaniu Gmax-a na stronie: http://www.turbosquid.com/RegisterGmax/ Czym więc jest Gmax? To program do modelowania trójwymiarowego, w którym wykonasz trójwymiarowe obiekty takie, jak lokomotywy, wagony, budynki, inne obiekty typu Scenery oraz Trackside i inne. Osoby znające 3DS Max będą się poruszać w nim pewnie, osoby pozostałe muszą się przygotować na solidną porcję nauki… Jednak warto poświęcić czas na naukę - zaowocuje to moŜliwością późniejszego tworzenia arcydzieł i arcydziełek do TRS! 4) Utworzenie pliku „ Config.txt” dla dodatku KaŜdy element (dodatek) dla Trainz musi mieć swój własny plik konfiguracyjny (config.txt). Taki plik jest plikiem tekstowym, który umieszczany jest w folderze dodatku, którego dotyczy. W zaleŜności od typu dodatku, róŜne wpisy są wpisami wymaganymi w pliku config.txt, ale zawsze musi on zawierać opis i tzw. KUID (co to jest KUID dowiesz się za chwilę). Dodatki stworzone do Trainz są zawsze przypisane do grup zawartości nazywanych KIND. KIND jest typem zawartości, którego specyficzne właściwości są rozpoznawane przez Trainz. Na przykład jednym z typów zawartości KIND jest TRACK. Trainz „rozumie”, Ŝe ten typ zawartości naleŜy do grupy KIND, po której mogą się poruszać lokomotywy i wagony oraz inny tabor kolejowy. Inne grupy zawartości KIND są opisane dalej w tym dokumencie. Plik config.txt tworzy się w prostym edytorze tekstowym, np. w Notatniku. Plik musi zostać zapisany w kodowaniu znaków UTF-8, nie moŜna zapisywać go w kodowaniu ANSI. Nie naleŜy stosować do tworzenia plików config.txt rozbudowanych edytorów tekstu, takich jak np. MSWord,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

9

poniewaŜ moŜe on dodawać do tekstu róŜne, niewidoczne znaki formatujące, które w pliku config.txt są zbędne i niepoŜądane. Plik config.txt musi znajdować się w tym samym folderze, co tworzony dodatek, razem z plikami dodatku wyeksportowanymi z programu 3D. Dalej w tym dokumencie pokazano strukturę folderów oraz przykładowe pliki config.txt i ich wymaganą zawartość dla kaŜdego typu dodatku do TRS 2004. 5) Stworzenie pliku *.cdp, który mo Ŝna publikowa ć. Wraz z Twoim TRS2004 został zainstalowany program „Dyspozytor Zawartości” (skrót do niego znajdziesz w menu <TRS2004>). Domyślna lokalizacja tego programu to: C:\Program Files\Auran\TRS2004\ContentDispatcher.ex e. To przy pomocy tego programu tworzy się paczki z rozszerzeniem *.cdp, które moŜna opubliko-wać w Auran Download Station lub w dziale Download na PTT. Dyspozytor zawartości (ContentDispatcher) jest bardzo uŜyteczną aplikacją, poniewaŜ oprócz tego, Ŝe tworzy ze wszystkich plików składających się na dodatek do TRS jeden plik (*.cdp), ułatwiający pobieranie z Internetu i zainstalowanie dodatku, to takŜe automatycznie sprawdza czy nie popełniono błędu podczas tworzenia dodatku. Potrafi teŜ wskazać (wyświetlić) ewentual-ne błędy w pliku config.txt. Dlatego teŜ zaleca się stosowanie tej aplikacji do tworzenia paczek *.cdp. Dyspozytor zawartości dodaje do paczki *.cdp z dodatkiem informacje niezbędne do opublikowa-nia go na DLS Auranu (i w Download PTT teŜ). Stosowanie innych programów do tworzenia plików *.cdp moŜe powodować błędy w procesie publikacji Twojego dodatku lub teŜ błędy przy instalacji (np. utrata istotnych informacji uwidocznionych w sekcji „obsolete-table” pliku config.txt). Dodatkowe informacje na temat wpisu obsolete-table w pliku config.txt znajdują się na następnej stronie, a takŜe na stronie 25. Sposób tworzenia paczki *.cdp z dodatkiem, oraz zasady publikacji w Auran Download Station opisano w rozdziale 6 – „NARZĘDZIA I KUID”.

Co to jest KUID? KUID jest unikalnym, seryjnym numerem, który jest przypisany do kaŜdego dodatku (i elementu zawartości) Trainz. MoŜna go porównać do kreskowego kodu paskowego.

Format KUID2 Nowy KUID2 w TRS2004 zawiera trzy numery przedzielone dwukropkiem. Poprzedni KUID zawierał tylko dwa numery. Kolejne numery w KUID2 naleŜy odczytywać wg schematu: <KUID2:ID_uŜytkownika : ID_zawartości(dodatku) : ID_wersji>

ID uŜytkownika (User ID) Pierwszy od lewej numer w KUID2 to ID UŜytkownika (User ID) – autora dodatku. To ten sam numer, o który prosi Trainz przy pierwszym uruchomieniu. Swój User ID otrzymasz na Planet Auran po zarejestrowaniu swojego egzemplarza gry TRS 2004:

https://www.auran.com/planetauran/login_f.php

KaŜdy członek społeczności Trainz, który jest jednocześnie członkiem Planet Auran, otrzymuje swój własny unikalny User ID. MoŜesz się dziwić, po co Ci User ID, jeŜeli nie zamierzasz tworzyć dodatków do TRS. Ale kiedy np. stworzysz w grze własną mapę i zechcesz podzielić się nią z kolegami, wtedy stajesz się równieŜ twórcą dodatku do TRS!

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

10

ID zawarto ści (dodatku) Środkowy (drugi z lewej) numer w KUID2 to ID zawartości - dodatku (Content ID). Ten (unikalny dla kaŜdego dodatku!) numer, kaŜdy twórca nadaje tworzonemu przez siebie dodatkowi, aby odróŜnić go od innych przez siebie stworzonych. Jedynym wypadkiem, w którym nie trzeba przypisywać ID zawartości do tworzonego przez siebie dodatku jest zapisywanie tworzonej mapy. Mapy otrzymują automatycznie ID zawartości, od numeru 100 000 poprzez kolejne, w miarę zapisywania kolejnych map. Numery poniŜej 100 000 zarezerwowane są dla tych członków społeczności TRS, którzy tworzą pozostałe dodatki (poza modułem Geodety w Trainz).

Zakresy numeracji ID zawarto ści W poprzednich wersjach Trainz stosowano zakresy numeracji ID zawartości dla poszczególnych typów dodatków przy nadawaniu KUID. W TRS2004, w związku z licznymi prośbami i sugestiami twórców dodatków, zaniechano konieczności stosowania zakresów numeracji ID zawartości, dla poszczególnych typów dodatków. Oczywiście, jeŜeli ktoś chce, moŜe w dalszym ciągu stosować zakresy numeracji ID zawartości, podczas nadawania KUID stworzonym przez siebie dodatkom.

Zakres ID zawartości Typ dodatku Ikona Kategoria

(Download Station)

1 - 9999 Lokomotywy Lokomotywy

10000 - 14999 Wagony pasaŜerskie Tabor

15000 - 19999 Wagony towarowe Tabor

20000 - 20999 Drogi Teren

21000 - 21999 Tekstury Tekstury

22000 - 22999 Drzewa (roślinność) Szczegóły terenu

23000 - 23999 Znaki i sygnalizatory (oprócz sygnalizacji kolejowej)

Akcesoria Trackside

24000 - 24999 Sygnalizacja kolejowa Akcesoria Trackside

25000 - 25999 Budynki mieszkalne Budynki

26000 - 26999 Budynki komercyjne Budynki

27000 - 27999 Budynki przemysłowe Budynki

28000 - 28999 Budynki kolejowe Budynki

29000 - 29999 Transport lądowy (samochody) Pojazdy

30000 - 30999 Transport morski Pojazdy

31000 - 31999 Transport lotniczy Budynki

32000 - 32999 Mosty Tory

33000 - 33999 Tunele Tory

35000 - 35999 Ludzie Ludzie

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

11

36000 - 36999 Zwierzęta Zwierzęta

37000 - 37999 Obiekty Spline (włącznie z drogami, liniami energetycznymi itp.)

Drogi

38000 - 38999 Tory Tory

39000 - 39999 Budynki publiczne (Policja, StraŜ, Szpital, itd.) Budynki

40000 - 40999 Budynki wojskowe Budynki

41000 - 49999 ZAREZERWOWANE

50000 - 50999 Wózki/Koła Wózki

51000 - 52999 Silniki lokomotyw RóŜne

53000 - 53999 Dźwięki silników RóŜne

54000 - 54999 Dźwięki syren lokomotyw RóŜne

55000 - 56999 Wnętrza RóŜne

57000 - 57999 Pantografy RóŜne

58000 - 58999 Obiekty sportowe (stadion, tor wyścigo-wy, basen, itp.) Budynki

60000 - 99999 RóŜne inne RóŜne

100000 - 999999999 ZAREZERWOWANE dla gry Trainz

Oryginał powyŜszej tabeli dostępny jest na stronie: http://www.auran.com/trainz/faq_DLS_KUIDRange.php Na marginesie: Oczywiście dwa róŜne dodatki, dwóch róŜnych twórców mogą mieć przypisany ten sam ID zawartości. Trainz i tak jest w stanie poprawnie zidentyfikować te dodatki dzięki User ID (ID zawartości to tylko część KUID!). Inaczej mówiąc: dodatek z KUID 1:1:1 i dodatek z KUID 2:1:1 – to dwa róŜne dodatki…

ID wersji Trzeci od lewej numer w KUID2 to ID kolejnej wersji dodatku. Domyślnym numerem pierwszej wersji dla wszystkich typów dodatków jest 0. Np. <KUID2:xxx:yyyyy:0> Istnienie takiego ID wersji dodatku jest niezbędnym warunkiem umieszczenia kolejnych wersji dodatku (po poprawkach) na Auran Trainz Download Station. ID wersji powinno otrzymywać kolejne numery tak, jak poniŜej: Pierwsza poprawka <KUID2:xxx:yyyyy:1> Druga poprawka <KUID2:xxx:yyyyy:2> Trzecia poprawka <KUID2:xxx:yyyyy:3>, itd. AŜ do osiągnięcia limitu maksymalnego ID wersji (czyli 127). Kiedy ID wersji osiągnie limit maksimum, naleŜy przypisać do takiego dodatku nowe ID zawartoś-ci, a poprzednie ID zawartości naleŜy wpisać w sekcji „obsolete-table” w pliku config.txt Nadając swojemu dodatkowi ID wersji w jego KUID, moŜesz jednak rozpocząć od dowolnego numeru wersji. Nie musisz takŜe stosować kolejności w numerach ID wersji, np. moŜesz zacząć od 1 (zalecane, o czym później), następna wersja moŜe mieć „od razu” numer 3 lub 4.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

12

Trainz, w trakcie uruchamiania gry, uŜyje dodatku z najwyŜszym ID wersji, jaki znajdzie. Tak więc stosowanie nowego formatu KUID2 (zawierającego ID wersji) dla tworzonych dodatków, zwalnia z obowiązku stosowania wpisów w sekcji obsolete-table. Proces zastępowania dodatku („obsoleting process”) jego nowszą wersją, jest moŜliwy dzięki nadaniu poprawionemu dodatkowi (np. po zauwaŜonych błędach) większego numeru ID wersji. Przykład 1: Dodatek z <KUID2:171456:38001:3> zostaje zastąpiony nowszą wersją, o numerze <KUID2:171456:38001:4>. Poprzednia wersja (<KUID2:171456:38001:3>) nie będzie wczytywana przy uruchamianiu gry. Przykład 2: Dodatek z <KUID:171456:27001> (format KUID z Trainz 1.5 UTC) zostanie zastąpiony nowszą wersją dodatku, posiadającą KUID w nowym formacie KUID2, i o numerze <KUID2:171456:27002:1>. W tym jednak przypadku, ze względu na to, Ŝe dwie wersje tego samego dodatku posiadają KUID w róŜnych formatach (starsza – KUID, nowsza – KUID2) konieczne jest zastosowanie wpisu w sekcji obsolete-table w pliku config.txt nowej wersji. Zawsze musisz stosować ten wpis w pliku config.txt nowej wersji, jeŜeli stara wersja dodatku, która ma być zastąpiona przez tą nowszą wersję, ma KUID w starym formacie (KUID – bez ID wersji, a nie KUID2). Wpis obsolete-table w pliku config.txt, w tym przykładzie wygląda tak:

obsolete-table { 0 <KUID:171456:27001> }

Po umieszczeniu dodatku na mapie, wyświetlana będzie jego najnowsza zainstalowana w grze wersja (z najwyŜszym ID wersji w KUID2). Przy wyszukiwaniu danego dodatku na Auran Download Station, automatycznie odnajdowana i instalowana będzie najnowsza wersja tego dodatku, oraz Auran Download Station wyświetli historię kolejnych wersji dla tego dodatku. Inne przykłady stosowania wpisu obsolete-table opisano na stronie 25 tego dokumentu. WaŜne uwagi: 1) <KUID2:xxx:yyyyy:0> jest dokładnie równowaŜny do <KUID:xxx:yyyyy> w starym formacie KUID. Takie dodatki będą odczytywane przez Trainz jako duplikaty i uŜywane jednocześnie. 2) Podobnie <KUID2:xxx:yyyyy:1> takŜe jest równowaŜny do <KUID:xxx:yyyyy>. 3) Rozpoczynanie numerowania ID wersji od 0 jest dopuszczalne, ale dla wersji z takim ID Auran Download Station wyświetli stary format KUID dodatku. RównieŜ po zainstalowaniu dodatku w grze, jego folder będzie miał nazwę o numerze KUID w starym formacie. Dlatego zaleca się rozpoczynanie numeracji ID wersji w KUID2 dodatku od numeru 1. 4) Auran Download Station wyświetla historię poprawek danego dodatku (jego poprzednie wersje). JeŜeli poprzednia wersja tworzonego przez Ciebie dodatku nie była publikowana na Auran Download Station, to nie wpisuj KUID tej poprzedniej wersji we wpisie obsolete-table w pliku config.txt nowej wersji. Spowoduje to błąd „History error notification” podczas próby pobierania dodatku z Auran Download Station. 5) ChociaŜ dopuszczalne jest stosowanie w numeracji ID wersji początkowych zer (np. ID wersji 02), to nie zaleca się takiego numerowania ID wersji dodatku w KUID2. Dowolna ilość zer na początku w ID wersji i tak jest odrzucana przez Trainz, co skutkuje tym, Ŝe ID wersji o numerze np. „02” oznacza dla Trainz to samo, co ID wersji „002” lub „2”! 6) Limity w KUID2:

a) UŜywaj tylko SWOJEGO ID UŜytkownika (User ID); b) UŜywaj dla ID zawartości (Content ID) liczby nie większej niŜ 2 biliony (2 000 000 000

000). Pamiętaj, Ŝe moŜesz zacząć ID zawartości od numeru 100 000!; c) UŜywaj dla ID wersji liczby MNIEJSZEJ LUB RÓWNEJ 127. 127 to limit maksimum!; d) Nigdy nie uŜywaj jako ID liczb ujemnych!

Wpis TRAINZ BUILD Wpis Trainz build jest systemem numeracji kolejnych wersji gry Trainz. Dodatki do gry mogą być tworzone do poszczególnych wersji gry, co oznacza, Ŝe mogą one korzystać ze specyficznych dla danej wersji gry funkcji i uwarunkowań. Konsekwencją tego jest fakt, Ŝe niektóre dodatki stworzone do następnych wersji gry, nie działają we wcześniejszych wersjach symulatora Trainz.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

13

Dodatki dla starszych wersji Trainz powinny działać w następnych wersjach gry, ale nie jest to regułą. Dodatki zawierające poprawki (kolejne wersje dodatków), w których zastosowano funkcje z nowszych wersji Trainz, na pewno nie będą działać w poprzednich wersjach symulatora Trainz. Auran Download Station rozpoznaje, dla jakiej wersji gry Trainz przeznaczony jest dany dodatek, i kiedy korzystasz z (wbudowanej w TRS) aplikacji Trainz Download Helper, to nie pozwoli ona na zainstalowanie w twojej grze dodatku niekompatybilnego z twoją wersją TRS. Numeracja poszczególnych wersji gry Trainz we wpisie trainz-build przedstawia się następująco: trainz-build 1.3 dla Trainz trainz-build 1.5 dla Ultimate Trainz Collection trainz-build 2.4 dla Trainz Railroad Simulator 2004 Dla poszczególnych wersji gry istnieją tzw. Service-Packi (Service Patches). Service-Pack 4 jest najnowszym Service-Pack’iem dla TRS 2004. Dlatego dodatki przeznaczone dla TRS 2004 powinny mieć we wpisie trainz build w pliku config.txt wpisaną wartość 2.4. Poprzednie wartości 2.0, 2.1 oraz 2.2 nie są stosowane.

Co robi ć a czego unika ć - tworz ąc dodatki... MoŜna i trzeba:

• Stosować Dyspozytora Zawartości (Content Dispatcher - CD) do pakowania i przesyłania swoich dodatków do Auran Download Station (DLS). Dyspozytor Zawartości formuje integralne części pakietów dla następnych wersji Trainz. Nie stosowanie tego zalecenia moŜe skutkować tym, Ŝe Twoje dodatki nie będą widoczne na Download Station, kiedy Trainz Download Helper będzie przeglądał jej zawartość.

• Upewnić się, Ŝe kaŜda nowa wersja dodatku została spakowana w CD i wysłana na DLS. Inaczej mówiąc: kiedy tylko udoskonalisz swój dodatek – wyślij nową wersję na DLS.

• Upewnić się, Ŝe nadałeś następny numer ID wersji poprawionemu dodatkowi. Nawet, jeśli udoskonalenie było niewielkie, zawsze wysyłając poprawiony dodatek na DLS musisz nadać mu nowe, większe od poprzedniego ID wersji).

• W przypadku dodatków korzystających z najnowszych funkcji i uwarunkowań – publikować swoje dodatki tylko za pośrednictwem Auran Download Station.

Niewskazane:

• W jakikolwiek sposób wydobywanie danych z plików z rozszerzeniem *.ja. Ten proces jest całkowicie nieobsługiwany i zawartość pozyskana w ten sposób na pewno nie będzie działać w następnych wersjach Trainz.

• Stosowanie innych programów, które bezpośrednio zmieniają zawartość plików składających się na dodatek. Nie rób tego nawet po to, by wprowadzić bardzo niewielkie zmiany w dodatku. Lepszym wyjściem będzie wprowadzenie poprawek tradycyjnie (Gmax, TACS), spakowanie i wysłanie (CD) kolejnej wersji dodatku na DLS.

• Dołączanie do swoich dodatków plików z rozszerzeniami *.exe, *.com lub *.bat. Takie pliki są potencjalnym źródłem kodu wirusów i są odrzucane przez Auran Download Station w procesie publikacji dodatku.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

14

Rozdział 2 – Klasy i kody

KLASA KATEGORII (CATEGORY CLASS) Klasę kategorii wpisuje się w pliku config.txt dla kaŜdego, tworzonego dodatku. Reprezentuje ona standaryzowany system powiązań i odniesień róŜnych typów lokomotyw, wagonów, obiektów Scenery, Spline i obiektów przemysłowych – interaktywnych (Industrial – oznaczonych symbolem IND). Następne wersje Trainz równieŜ będą uŜywały tych kodów klas, więc dodawanie ich do wszystkich tworzonych dodatków jest bardzo zalecane. Kategorie w kolorze czerwonym, to nowe kategorie, dodane w TRS 2004 Podstawowe klasy kategorii: Klasa “A” – lokomotywy -Motive Power Klasa “B” – budynki i budowle -Buildings and Stuctures Klasa “C” – wagony słuŜbowe -Cabeese Klasa “D” – tabor wojskowy -Defence Klasa “E” – środowisko -Environment Klasa “F” – roślinność -Foliage Klasa “G” – podłoŜe -Ground Klasa “H” – siatka -Mesh Klasa “I” – towar -Product Klasa “J” – tekstura -Texture Klasa “L” – lekki tabor i kolej jednoszynowa -Light Rail & Monorail Klasa “M” – tabor uŜytkowy -Maintenance Of Way Klasa “O” – organizm -Organism Klasa “P” – wagony pasaŜerskie i pocztowe -Passenger & Mail Cars Klasa “R” – wagony i zestawy trakcyjne -Railcars & Multiple Unit Sets Klasa “S” – obiekty spline -Splines Klasa “T” – obiekty track (tory) -Track Klasa “V” – pojazdy -Vehicles Klasa “W” – obiekty przytorowe -Wayside Klasa “X” – wagony towarowe -Freight Cars Klasa “Y” – mapy i scenariusze -Maps and Scenarios Klasa “Z” – części taboru -Train Parts KaŜda klasa kategorii moŜe posiadać kilka podkategorii podanych poniŜej. Wybierz najbardziej odpowiadająca klasę kategorii dla kaŜdego tworzonego przez siebie dodatku. Wybranie właściwej kategorii jest waŜne, poniewaŜ nowe wersje Trainz będą pozwalały uŜytkownikowi stosować kryteria sortowania obiektów według klasy kategorii, w oknie wyboru dodatku, w module Geodety i w module Maszynisty. A – LOKOMOTYWY -MOTIVE POWER AA – elektryczne lokomotywy wielosystemowe -Electric Multi-current AC – elektryczne lokomotywy, prąd stały -AC Electric AD – elektryczne lokomotywy, prąd przemienny -DC Electric AE – eksperymentalne lub specjalne -Experimental or Special AG – z turbiną gazową -Gas Turbine AH – spalinowe z przekładnią hydrauliczną -Diesel Hydraulic AL – spalinowe z przekładnią mechaniczną -Diesel & Diesel Electric

i elektryczną AM – napęd zwierzęcy -Mammal AS – lokomotywy tendrowe z ich tendrami -Steam Loco & Tender AT – lokomotywy bez tendrów (tendrzaki) -Steam Tank

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

15

B – BUDYNKI I BUDOWLE -BUILDINGS & STRUCTURES BC – komercyjne -Commercial (scenery non-functional) BI – przemysłowe -Industrial (scenery non-functional) BH – domy i mieszkalne -Home & Residential (scenery non-functional) BR – kolejowe -Railway (scenery non-functional) BS – specjalne (np. wojskowe) -Special (I.e. military) (scenery non-functional) BT – uliczne i chodnikowe -Traffic & Streetscape (scenery non-functional) BU – uŜytkowe (kościół, szpital) -Utility (incl. Civil buildings) (scenery non- functional) BIN – przemysłowe przetwarzające towary -Industry asset with product processing functionality BPF – stacje pasaŜerskie z funkcją -Passenger Station with passenger processing obsługi pasaŜerów functionality BPN – stacje pasaŜerskie bez pasaŜerów -Passenger Station (non-functional) BB – budowle z dołączalnymi torami lub -Buildable (Kind Buildable) innymi elementami rozciągalnymi Spline C – WAGONY SŁUśBOWE -CABEESE CB – wagon hamulcowy -Brake van CC – wagon brankard -Caboose D – WOJSKOWE -DEFENCE DA – ciągniki i pojazdy wojskowe -Military motive power DE – wojskowe pojazdy specjalne -Military experimental & special vehicles i eksperymentalne DP – wyposaŜenie wojskowe, pojazdy do -Military equipment - lab & personnel vehicles przewozu ludzi i laboratoria na kołach DX – wyposaŜenie wojskowe – ładunek -Military equipment - freight E – ŚRODOWISKO -ENVIRONMENT ES – niebo -Sky EW – woda -Water F – ROŚLINNOŚĆ -FOLIAGE FC – kaktus -Cactii FF – kwiaty -Flowers FO – sad i uprawa, pole -Orchards & Crops FS – krzew -Shrub FT – drzewo -Trees G – PODŁOśE -GROUND GA – jałowa ziemia (ugór) -Arid GL – bujna roślinność -Lush GS – sezonowa roślinność -Seasonal H – SIATKA 3D -MESH HM – siatka 3D -Mesh I – TOWAR -PRODUCT IC – kontener -Container Category IP – pasaŜer -Passenger Category IB – ładunek masowy -Bulkload Category IL – ładunek płynny -Liquid Category J – TEKSTURA -TEXTURE JC – aureola, poświata, łuna -Corona JI – ikona -Icon JP – tekstura efektu cząsteczkowego -Particle Effect Texture JO – inna tekstura -Other Texture

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

16

L – LEKKI TABOR I KOLEJ JEDNOSZYNOWA -LIGHT RAIL & MONORAIL LS – zestaw przegubowy -Articulated train sets LT – drezyna, autobus szynowy, tramwaj -Trolleys, trams & streetcars LM – pojazd jednoszynowy -Monorail vehicles M – TABOR UśYTKOWY -MAINTENANCE OF WAY MA – wagon mieszkalny -Camp vehicles MB – wagon balastowy -Ballast cars MC – dźwig /podnośnik -Cranes/lifting MD – wagon diagnostyczny -Diagnostic vehicles (e.g. dynamometer) ME – tabor do szkoleń -Instructional vehicles MF – tabor straŜacki -Fire vehicles MI – tabor inspekcyjny -Inspection vehicles MT – tabor do robót torowych (np. podbijarka) -Track vehicles (e.g. tamper) MP – pług odśnieŜny -Snow ploughs MS – tabor pogotowia sieciowego -Section cars (e.g. fairmont) MX – wyposaŜenie, ładunek -Freight equipment (for MoW traffic) MW – elementy pociągu do odchwaszczania środkami -Weed spray chemicznymi (CHMOT) O – ORGANIZM -ORGANISM OA – zwierzęta -Animal Kingdom OH – ludzie -Human OHD – maszynista -Locomotive Driver P – WAGON PASAśERSKI I POCZTOWY -PASSENGER & MAIL CARS PA – wagon na krótkie dystanse – do ruchu pod- -Suburban/short haul (no W.C.) miejskiego (bez W.C.) PB – wagon bagaŜowy -Baggage cars PC – wagon dalekobieŜny z miejscami do siedzenia -Coach/chair cars PD – wagon z kopułą -Dome cars PH – wagon barowy/kafeteria -Bar/cafeteria cars PL – wagon wypoczynkowy -Lounge cars PM – wagon pocztowy -Mail cars PO – wagon obserwacyjny -Observation cars PP – wagon zasilający -Power cars PR – wagon restauracyjny -Buffet/dining/restaurant cars PS – wagon sypialny -Sleeping cars PU – wagon specjalny -Special cars (e.g. Gaming Cars) PV – wagon prywatny -Private cars PX – złoŜony wagon pasaŜerski -Composite passenger cars R – WAGONY I ZESPOŁY TRAKCYJNE -RAILCARS & MULTIPLE UNIT SETS RA – elektryczne, prąd stały -AC electric RC – elektryczne, prąd przemienny -DC electric RD – spalinowe z przekładnią mechaniczną -Diesel & diesel electric i elektryczną RH – spalinowe z przekładnią hydrauliczną -Diesel hydraulic RP – benzynowe -Petrol RS – parowe -Steam S – OBIEKT SPLINE -SPLINES SF – płot, Ŝywopłot -Fences SR – droga -Roads SP – peron -Platforms SS – budowla -Structure SV – roślinność -Vegetation

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

17

T – OBIEKT TRACK -TRACK TB – most -Bridge TR – tor -Rails TT – tunel -Tunnel TF – stały tor -Fixed Track V – POJAZDY -VEHICLES VA – lotnicze -Air VL – lądowe -Land VS – morskie i wodne -Sea W – OBIEKTY PRZYTOROWE -WAYSIDE WA – sygnalizator -Signalling WS – wskaźnik nad- i przytorowy -Trackside signage WX – akcesoria -Accessories X – WAGONY TOWAROWE -FREIGHT CARS XA – wagon transportowy (Interaktywny) -Auto transporter XAA – wagon otwarty -Open sides XAB – wagon zamknięty (Interaktywny) -Auto box car XB – wagon zamknięty -Box car/covered van XBD – wagon do towarów niebezpiecznych -Dangerous goods XBG – wagon ogólnego przeznaczenia -General service XBI – izoterma -Insulated XF – platforma -Flat XFA – przegubowa -Articulated XFC – do przewozów kombinowanych -Intermodal XFD – obniŜona -Depressed center XFH – do cięŜkich ładunków -Heavy duty XFM – ogólnego przeznaczenia -General service XG – wagon odkryty -Gondola/open wagon XGB – rozładunek w dół -Bottom dumping XGC – kombinacja rozładunku dół/tył/bok -Combination bottom/end/side dumping XGE – rozładunek od czoła wagonu -End dumping XGR – rozładunek obrotowy -Rotary dumping XGS – rozładunek w bok -Side dumping XGT – przykryty (plandeka) -Covered XH – wagon samorozładowczy -Hopper XHB – rozładunek samoczynny w dół -Bottom dumping XHC – kombinacja rozładunku dół/tył/bok -Combination bottom/end/side dumping XHE – rozładunek samoczynny od czoła wagonu -End dumping XHR – rozładunek samoczynny obrotowy -Rotary dumping XHS – rozładunek samoczynny w bok -Side dumping XHT – przykryty -Covered XI – wagon hutniczy -Foundry XIB – wagon „butelka”/ „torpeda” -Bottle/torpedo cars XIT – wagon do transportu ŜuŜla -Tipper/slag cars XL – wagon do przewozu zwierząt -Livestock XLA – pojedynczy pokład -Single deck XLC – wiele pokładów (pięter) i boksów -Multiple deck and convertible XLH – wagon do przewozu koni -Horse box XR – wagony-chłodnie -Refrigerated XRI – chłodzone lodem -Ice chilled XRM – chłodzone agregatem chłodniczym -Mechanically chilled XS – specjalne -Special XSN – nowe cechy konstrukcyjne -Novelty XSU – niesklasyfikowane -Unclassified

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

18

XT – wagon cysterna -Tanker XTA – bez wyodrębnionego zbiornika -Domeless XTS – pojedynczy zbiornik -Single dome XTM – kilka zbiorników -Multiple dome XV – wagony wentylowane -Ventilated car/louvred van XVG – ogólnego przeznaczenia -General service XVP – do przewozu produktów -Produce service Y – MAPY I SCENARIUSZE -MAPS & SCENARIOS YM – mapa -Map YS – scenariusz -Scenario YP – profil/sesja maszynisty -Profile/Session YR – zasada -Rule YD – polecenie maszynisty -Driver Command YH – dodatek html -Html-Asset Z – CZĘŚĆ TABORU -TRAIN PARTS ZB – wózek jezdny/napędowy -Bogie/Truck ZE – silnik lokomotywy -Enginespec ZH – dźwięk syreny/sygnału -Hornsound ZI – wnętrze wagonu/lokomotywy -Interior ZP – pantograf -Pantographs ZS – dźwięk silnika lokomotywy -Enginesound

KODY REGIONU (REGION CODE) Kody Regionu to wpis (jedna lub kilka linii) w pliku config.txt. Określają one region świata, z którego pochodzi dany dodatek. Te, nowo dodane w TRS 2004, kody będą uŜywane w przy-szłych wersjach Trainz jako kryterium sortowania dodatków w oknie wyboru dodatków modułu Geodety. Dla dodatków, które mają mieć określonych kilka kodów regionu, naleŜy w pliku config.txt wpisać kaŜdy kod w oddzielnej linii. Na przykład lokomotywa, pochodząca z USA i z Kanady powinna mieć następujące wpisy: category-region-0 US category-region-1 CA Pierwszy kod regionu musi występować jako category-region-0. Następne kody regionu (w nowych liniach) zwiększają numerację o 1 dla kaŜdego następnego kodu regionu (category-region-1, category-region-2, itd.).

WaŜne: Nie pomijaj numerów kodu regionu! Na przykład wpisanie: category-region-0 US i jako następny

category-region-2 CA spowoduje, Ŝe ten drugi kod regionu zniknie lub nie zostanie odczytany w grze TRS!

Kody regionu są rozpoznawane przez Trainz następująco:AD Andora AE Zjednoczone Emiraty Arabskie AF Afganistan AG Antigua i Barbuda AI Anguilla AL Albania AM Armenia AN Antyle Holenderskie AO Angola AQ Antarktyka AR Argentyna AS Samoa Amerykańskie

AT Austria AU Australia AW Aruba AZ AzerbejdŜan BA Bośnia-Hercegowina BB Barbados BD Bangladesz BE Belgia BF Burkina Faso BG Bułgaria BH Bahrain BI Burundi

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

19

BJ Benin BM Bermudy BN Brunei Darussalam BO Boliwia BR Brazylia BS Wyspy Bahama BT Buthan BV Wyspa Bouvet BW Botswana BY Belarus BZ Belize CA Kanada CC Wyspy Ocos (Keeling) CF Republika Środkowej Afryki CG Kongo CH Szwajcaria CI WybrzeŜe Kości Słoniowej CK Wyspy Cook’a CL Chile CM Kamerun CN Chiny CO Kolumbia CR Costa Rica CS Czechosłowacja CU Kuba CV Wyspy Świąt BoŜego Narodzenia CY Cypr CZ Republika Czeska DE Niemcy DJ DŜibuti DK Dania DM Dominika DO Republika Dominikany DZ Algieria EC Ekwador EE Estonia EG Egipt EH Zachodnia Sahara ES Hiszpania ET Etiopia FI Finlandia FJ Wyspy FidŜi FK Wyspy Falklandy (Malwiny) FM Mikronezja FO Wyspy Faroe FR Francja GA Gabon GB Wielka Brytania GD Grenada GE Georgia GH Ghana GI Gibraltar GL Grenlandia GP Gwadelupa (francuska) GQ Gwinea Równikowa GF Gujana (francuska) GM Gambia GN Gwinea GR Grecja GT Gwatemala

GU Guam (USA) GW Gwinea Bissau GY Gujana HK Hong Kong HM Wyspy Heard & McDonald’a HN Honduras HR Chorwacja HT Haiti HU Węgry ID Indonezja IE Irlandia IL Izrael IN Indie IO Brytyjskie Indyjskie Terytorium ZaleŜne IQ Irak IR Iran IS Islandia IT Włochy JM Jamajka JO Jordania JP Japonia KE Kenia KG Kirgistan (była rep. radziecka) KH KambodŜa KI Kiribatti KM Wyspy Komory KN St.Kitts Nevis Anguilla KP Korea (Północna) KR Korea (Południowa) KW Kuwejt KY Wyspy Kajmany KZ Kazachstan (była rep. radziecka) LA Laos LB Liban LC Saint Lucia LI Lichtenstein LK Sri Lanka LR Liberia LS Lesotho LT Litwa LU Luksemburg LV Łotwa LY Libia MA Maroko MC Monako MD Mołdawia (była rep. radziecka) MG Madagaskar MH Wyspy Marshall’a ML Mali MM Myanmar MN Mongolia MO Martynika (francuska) MR Mauretania MS Wyspa Montserrat MT Malta MU Mauritius MV Malediwy MW Malawi MX Meksyk MY Malezja

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

20

MZ Mozambik NA Namibia NC Nowa Kaledonia (francuska) NE Niger NF Wyspa Norfolk NG Nigeria NI Nikaragua NL Holandia NO Norwegia NP Nepal NR Nauru NT Strefa Neutralna NU Niue NZ Nowa Zelandia OM Oman PA Panama PE Peru PF Polinezja (francuska) PG Papua – Nowa Gwinea PH Filipiny PK Pakistan PL Polska PM St. Pierre & Miquelon PN Pitcairn PT Portugalia PR Puerto Rico (USA) PW Palau PY Paragwaj QA Katar RE Reunion (francuskie) RO Rumunia RU Federacja Rosyjska (dawniej ZSRR) RW Ruanda SA Arabia Saudyjska SB Wyspy Salomona SC Seszele SD Sudan SE Szwecja SG Singapur SH Wyspy Świętej Heleny SI Słowenia SJ Wyspy Svalbard & Jan Mayen SK Republika Słowacji SL Sierra Leone SM San Marino SN Senegal SO Somalia SR Surinam ST Wyspa Św. Tomasza i Principe SU ZSRR SV Salwador SY Syria SZ Swaziland TC Wyspy Turks & Caicos TD Czad TF Francuskie Terytoria Południowe TG Togo TH Tajlandia TJ TadŜdŜykistan (była rep. radziecka) TK Tokelau

TL Wschodni Timor TM Turkmenistan (była rep. radziecka) TN Tunezja TO Wyspy Tonga TR Turcja TT Trynidad i Tobago TV Tuvalu TW Tajwan TZ Tanzania UA Ukraina UG Uganda UK Zjednoczone Królestwo Brytyjskie UM Amerykańskie (USA) Wyspy Środkowego Pacyfiku US Stany Zjednoczone Ameryki Płn. (USA) UY Urugwaj UZ Uzbekistan (była rep. radziecka) VA Watykan VC St.Vincent & Grenadines VE Wenezuela VG Wyspy Dziewicze (brytyjskie) VI Wyspy Dziewicze (USA) VN Wietnam VU Vanuatu WF Wyspy Wallis & Futuna WS Samoa YE Jemen YU Jugosławia ZA Południowa Afryka ZM Zambia ZR Zair ZW Zimbabwe

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

21

KODY ERY (EPOKI) Kody Ery to wpis (jedna lub kilka linii) w pliku config.txt. Określają one erę (epokę) kolejnictwa, z której pochodzi dany dodatek. Te, nowo dodane, kody będą uŜywane w przyszłych wersjach Trainz jako kryterium sortowania dodatków w oknie gry. Dla dodatków, które mają mieć określo-nych kilka kodów ery (epoki) regionu, naleŜy w pliku config.txt wpisać kaŜdy kod w oddzielnej linii. Na przykład lokomotywa, która była eksploatowana w latach 1960 i 1970 powinna mieć na-stępujące wpisy: category-era-0 1960s category-era-1 1970s Pierwszy kod ery musi występować jako category-era-0. Następne kody ery (w nowych liniach) zwiększają numerację o 1 dla kaŜdego następnego kodu ery (category-era-1, category-era-2, itd.).

WaŜne: Nie pomijaj numerów kodu ery! Na przykład wpisanie: category-era-0 1960s i jako następny

category-era-2 1970s spowoduje, Ŝe ten drugi kod ery zniknie lub nie zostanie odczytany w grze TRS!

Kody ery są rozpoznawane przez Trainz następująco: 1800s 1810s 1820s 1830s 1840s 1850s 1860s 1870s 1880s 1890s 1900s

1910s 1920s 1930s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 2010s

Przy czym zapis np. 1980s oznacza dekadę od początku roku 1980 do końca roku 1989.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

22

Rozdział 3 – Pliki config.txt i typ dodatku (KIND)

PLIKI CONFIG.TXT KaŜdy dodatek do TRS 2004 który stworzysz, musi posiadać swój własny plik config.txt. Ten plik, to zwykły plik tekstowy, który opisuje dodatek jako zawartość Trainz. Dodatki do TRS stają się o wiele bardziej „elastyczne” dzięki uŜyciu, nowo dodanych w TRS 2004, sekcji „mesh-table” w pliku config.txt. Ze względu na to, Ŝe kaŜda grupa dodatków – KIND ma odmienne wymagania, co do zawartości pliku config.txt, naleŜy bardzo dokładnie zapoznać się z opisami plików config.txt dla poszcze-gólnych grup typów KIND na następnych stronach. Przykład pliku config.txt – opis kaŜdej sekcji (wpisu) poniŜej: Niebieski tekst oznacza niezbędne wpisy i sekcje - zielony tekst: wpisy i sekcje opcjonalne.

kuid <KUID2:1234:5678:1> � KUID przykładowy mesh-table { default { mesh industry.lm ���� w tym przykładzie dodatek korzysta anim anim.kin z redukcji LOD – rozszerzenie pliku – .lm (LM). animation-loop-speed 1.0 JeŜeli dodatek nie korzysta z LOD – rozszerzenie auto-create 1 pliku będzie – .im effects { 0 { kind name fontsize 0.15 fontcolor 30,30,30 att a.name0 name name } 1 { kind corona att a.coronawhite frequency 1 directional 0 texture-kuid <KUID:-3:10111> } } } default-night { mesh nightwindows/nightwindows.im night-mesh-base default } attachedanimation { mesh meshname/meshname.im anim animname/animname.kin auto-create 1 att a.pointname att-parent default animation-loop-speed 1.0 } } kuid-table {

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

23

0 <KUID2:1234:6000:1> 1 <KUID2:1234:6001:3> } obsolete-table { 0 <KUID:1234:5677> } preview-mesh-kuid <KUID:##:####> username Moja Lokomotywa description „W opisie moŜna umieszczać kilka linii tekstu, a znaki cudzysłowu są tylko na początku i na końcu. Trainz automatycznie zawija linijki tekstu. Informacje tu umieszczone są wyświetlane na Auran Download Station jako opis dodatku. JeŜeli juŜ dodajesz ten (opcjonalny) wpis – uczyń go przejrzystym i zrozumiałym.” region Poland trainz-build 2.4 kind assetkind category-class AD category-region-0 PL category-region-1 UK category-era-0 1960s category-era-1 1970s author Jan Nowak organisation Modele Trainz contact-email [email protected] contact-website http://www.nowakTRS2004.pl

Ogólne wymagania, co do zawarto ści pliku config.txt ChociaŜ istnieje duŜa dowolność, co do kolejności umieszczania poszczególnych wpisów i sekcji w pliku config.txt, to naleŜy jednak zwrócić uwagę na: – prawidłową liczbę i układ nawiasów klamrowych. KaŜdy otwarty nawias klamrowy „{” musi zostać zamknięty nawiasem klamrowym „}”; – uŜycie spacji w odpowiednich (wymaganych) miejscach; – właściwe uŜycie duŜych bądź małych liter we wpisach zawierających nazwy (plików czy „punktów przyłączania”). Nazwa we wpisie musi być napisana tak samo, jak nazwa istniejącego pliku czy „punktu przyłączania”. Wielkość liter ma znaczenie! Stosowanie wcięć (klawisz TAB) w treści pliku config.txt nie jest obowiązkowe. Jednak dzięki takim wcięciom, treść pliku jest bardziej przejrzysta, co ułatwia odnajdywanie ewentualnych błędów. Podczas tworzenia paczki *.cdp z twoim dodatkiem przy pomocy programu Content Dispatcher (Dyspozytor Zawartości), plik config.txt i tak zostanie odpowiednio sformatowany. JeŜeli edytujesz istniejący juŜ plik config.txt jakiegoś dodatku, to nie usuwaj pozornie pustych linii na początku tego pliku, gdyŜ zawierają one niewidoczne informacje, z których korzysta Trainz. Wpis KUID Unikalny KUID dla kaŜdego dodatku. KUID zawiera podstawowe informacje o autorze i jego dodatku. Nowy format KUID2 pozwala na większą kontrolę nad poszczególnymi wersjami (po poprawkach) tego samego dodatku. Pozwala on wyeliminować potrzebę nadawania nowego KUID dla kaŜdej następnej wersji dodatku (dzięki ID wersji). Dokładnie zostało to opisane na stronie 9. Wpis mesh-table Jest to nowa i zalecana metoda umieszczania w grze większości obiektów 3D (siatkowych). Daje ona ogromną kontrolę nad umieszczanym w grze obiektem siatkowym czy animacją. Kilka rodzajów grup dodatków (zawartości) NIE KORZYSTA z sekcji „mesh-table”. NaleŜą do nich wszystkie mosty (KIND: Bridges), tunele (KIND: Tunnels), tory (KIND: Rails), Pantografy lokomotyw (KIND: Pantographs) oraz pozostałe obiekty typu Spline (KIND: Spline) np. płoty, ogrodzenia, sieć trakcyjna.

WaŜna uwaga: KaŜdy dodatek, który korzysta z sekcji „mesh-table” z pliku config.txt, nie będzie kompatybilny (nie będzie działał) w starszych wersjach Trainz (poniŜej TRS 2004). TRS 2004 wciąŜ będzie poprawnie rozpoznawał starsze dodatki z UTC (Ultimate

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

24

Trainz Collection). Nowsze oprogramowanie przewaŜnie jest kompatybilne wstecz, natomiast starsze nie rozpoznaje niektórych elementów formatowania oprogramo-wania nowszego (np. MSWord 2003 odczyta plik zapisany w MSWord 95, ale MSWord 95 nie odczyta lub zagubi część informacji z pliku zapisanego w MSWord 2003!). Po prostu o tym pamiętaj.

Wpis default Sekcja „default” to główna, nadrzędna sekcja dla dodatku 3D. Wpis mesh Główna nazwa siatki obiektu 3D. Ta sekcja moŜe zawierać ścieŜkę dostępu do pliku *.im (poda-waną względem folderu z plikiem config.txt). Sekcja zawiera nazwy plików z rozszerzeniem *.im, powstających po wyeksportowaniu obiektu 3D z programu 3DS Max lub Gmax (w przeciwieństwie do przestarzałego formatu plików *.pm.) lub odwołania do plików z rozszerzeniem *.lm, jeŜeli twój dodatek ma wykorzystywać redukcję siatki obiektu „Level of Detail (LOD)”. Ta redukcja polega na tym, Ŝe jeŜeli obiekt (w trakcje gry) znajduje się blisko obserwatora, to jest odwzorowany bardzo dokładnie. Z dalszej odległości jest odwzorowywany mniej dokładnie, co zmniejsza obciąŜenie procesora i RAM i przedkłada się na większą liczbę klatek na sekundę –fps– w trakcie gry). WaŜne: dodatki zawierajace pantografy (KIND: PANTOGRAPH) wciąŜ wymagają plików z rozszerzeniem *.pm. Aby uzyskać więcej informacji na temat redukcji siatki „Level of Detail (LOD)”, pobierz przykład z Internetu (i zapoznaj się z nim): http://www.auran.com/TRS2004/downloads/contentcreation/ TRS2004_Level_of_Detail.zip lub przeczytaj opis redukcji siatki LOD na stronie 126 tego dokumentu. Wpis anim Plik animacji (*.kin) wyeksportowany z 3DS Max lub Gmax. Ta sekcja moŜe zawierać ścieŜkę do-stępu do pliku *.kin (podawaną względem folderu z plikiem config.txt). Wpis animation-loop-speed 1.0 Ten wpis musi znaleźć się w tym miejscu, jeŜeli dodatek zawiera animację (np. opuszczanie zapór na przejeździe, przestawienie dźwigni zwrotnicy, itp.). Brak tego wpisu oznacza, Ŝe animacja nie będzie odtwarzana domyślnie, ale moŜe być odtwarzana przy pomocy skryptu. Wpis auto-create 1 Określa, Ŝe obiekt ma zostać wyrenderowany (wyświetlony) natychmiast (automatycznie) w module Maszynisty, po uruchomieniu sesji zawierającej dodatek. W niektórych przypadkach (dodatkach) moŜesz nie chcieć, aby obiekt był widoczny w grze (w module Maszynisty), np. nie-widoczny tor, niewidoczna droga, marker kierunku torów, dodatek kontrolowany przez skrypt, itp. JeŜeli dodasz wpis „auto-create 0” – obiekt będzie widoczny w module Geodety i jednocześnie bę-dzie niewidoczny w module Maszynisty. Wpis default-night Główna siatka „nocnego widoku” obiektu (plik *.im lub *.lm) dla obiektu 3D typu Scenery, prze-mysłowego (Industry-IND) i Taboru – lokomotywa, wagon - (TRAINCAR). Siatkę „widoku nocnego” eksportuje się oddzielnie. Wyeksportowany, „nocny” plik *.im (*.lm) umieszcza się w podfolderze (np. \noc) folderu z dodatkiem. Dokładny opis tworzenia „widoku nocnego” dla dodatku – budynku stacji moŜna znaleźć w tutorialu (niestety tylko w języku angielskim) na stronie: http://www.tafweb-trainz.co.uk/tutorial_bank_9.html Cały (od początku) tutorial tworzenia budynku stacji – „Creating a Model Building with Gmax”, a takŜe tutorial tworzenia drzew – „Creating Trees” dostępny na stronie: http://www.tafweb-trainz.co.uk/

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

25

Wpis night-mesh-base default Jest to powiązanie „widoku nocnego” obiektu 3D z „widokiem dziennym”. „Widok nocny” jest wówczas dostępny tylko wtedy, kiedy „widok dzienny” jest widoczny w module Maszynisty (auto-create 1). JeŜeli obiekt nie posiada „widoku nocnego” („nocnego” pliku *.im lub *.lm) – będzie wyglądał tak samo zarówno w dzień jak i w nocy. Przy wartości 0 wpisu auto-create (auto-create 0) – wyświetlanie domyślnej siatki 3D obiektu moŜe być kontrolowane przez skrypt. Wpis att Oznacza, Ŝe dana siatka 3D stanowi sub–element innej siatki i jest do niej przyłączana w punkcie a.nazwa_punktu, zawartym w siatce nadrzędnej. Nadrzędne siatki 3D oczywiście nie są do niczego podłączane i nie posiadają wpisu att w swoim pliku config.txt. Wpis att-parent „nazwa” Wpis definiuje nazwę nadrzędnej siatki 3D, do której dana sub-siatka 3D zostanie przyłączona (w punkcie a.nazwa_punktu ). Wpis kuid-table Lista KUID innych dodatków, niezbędnych do poprawnego działania tego dodatku. Ta lista musi być dodana, jeŜeli Twój dodatek wymaga do poprawnego działania zainstalowania innych dodatków (np. do elektrycznej lokomotywy niezbędne są: dodatek silnika, pantografów, syrena, wózki napędowe, wnętrze kabiny, itd.). Podczas instalowania dodatku z Internetu, niezbędne dodatki, wpisane tutaj, zostaną automatycznie wyszukane i doinstalowane przez aplikację Trainz Download Helper (składnik TRS 2004). Wpis obsolete-table Wpis „obsolete-table” opisuje historię dodatku – jego poprzednie wersje. Ten wpis był intensywnie uŜywany w poprzednich wersjach Trainz, kiedy to jakakolwiek (nawet drobna) poprawka w dodatku, wymagała nadania mu nowego KUID (z nowym ID zawartości). Wszystkie poprzednie KUID takiego poprawionego dodatku, musiały być wyszczególnione w tym wpisie. Aby ułatwić Ŝycie twórcom dodatków, wraz z Trainz 2004 wprowadzono nowy format KUID2, w którym występuje ID wersji. Dzięki temu, teraz w tym miejscu wpisuje się poprzedni KUID dodatku dopiero po wyczerpaniu maksymalnego limitu ID wersji (127 poprawek dla jednego dodatku). Program Trainz Download Helper wyszukuje i instaluje z Auran Download Station tylko najnowsze, uaktualnione wersje dodatku (z najwyŜszym ID wersji). JeŜeli dodatek jest nowym dodatkiem i nie ma jeszcze historii poprawek i poprzednich wersji – wpis „obsolete-table” powinien wyglądać następująco:

obsolete-table { }

Jest to niezbędna sekcja w pliku config.txt, nawet jeŜeli nie zawiera Ŝadnego wpisu.

Wpis preview-mesh-kuid Ten wpis dodaje się tylko wtedy, gdy dodatek ma drugą, dodatkową siatkę (drugi obiekt 3D – plik *.im), przeznaczoną do prezentowania podglądu dodatku w oknie wyboru dodatków, w mo-dule Geodety. UŜyteczne, kiedy tworzony dodatek jest bardzo „cięŜki” (składa się z duŜej liczby polygonów lub zawiera animacje) i jego wyświetlenie obciąŜa znacznie komputer (np. lotnisko za-wierające kilka animacji…). Zastosowanie dodatkowej (mniejszej) siatki 3D dla podglądu dodatku pozwala odciąŜyć komputer podczas wyświetlania podglądu dodatku. NaleŜy wpisać KUID doda-tku „podglądowego” stworzonego oddzielnie dla głównego dodatku. Wpis username Nazwa tworzonego przez Ciebie dodatku (najlepiej angielska, ale niekoniecznie). Nazwa ta jest widoczna w oknie wyboru dodatków w module Geodety. Wpis asset-filename Wpis asset-filename jest wpisem pomocniczym, słuŜącym w niektórych dodatkach do wskazania siatki 3D obiektu, albo pomocniczych elementów. Np. w dodatkach „rozciągalnych” (Spline) wpis asset-filename definiuje nazwę głównej siatki „rozciągliwej”. W przypadku lokomotyw wpis asset-filename to wskazówka do dwóch folderów: folderu o nazwie „art” (gdzie przechowywane są: plik ikony dodatku i plik podglądu dla dodatku, przeznaczony do wyświetlania w oknie wyboru

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

26

dodatków w module Geodety), oraz do folderu „running_numbers” (w którym są pliki cyfr two-rzących zmienny numer seryjny taboru – lokomotywy/wagonu). Wpis description Opis (w cudzysłowach) tworzonego dodatku (najlepiej po angielsku, ale niekoniecznie). Treść umieszczona w tym wpisie jest widoczna jako opis dodatku na Auran Download Station, po opu-blikowaniu tam twojego dodatku. Wpis region Nazwa państwa (regionu), z którego pochodzi tworzony dodatek. W zasadzie dowolna nazwa, stanowiąca pierwsze kryterium sortowania dodatków w oknie wyboru dodatków w module Geo-dety (pierwsza od góry lista rozwijalna – region). Wpis trainz-build Numer wersji Trainz, dla której przeznaczony jest dodatek (dla TRS 2004 z ServicePack-iem nr 4 domyślna wartość to 2.4). Opis na stronie 12 tego dokumentu. Wpis kind Grupa zawartości Trainz (w cudzysłowach), do której naleŜy dodatek. Musi to być jedna z grup zawartości KIND, np. Industry, Track, Scenery, Spline, itp. Wpis category-class Symbol jednej z klas kategorii dodatku, wyszczególnionych na stronie14 (i następnych stronach) tego dokumentu. Wpis category-region-0 Kod lub lista kodów regionu (państwa), z którego pochodzi tworzony dodatek. Opis i lista kodów regionu stronie 18 (i następnych stronach). W przypadku listy kodów regionu (kilka regionów) kaŜdy kolejny kod regionu umieszcza się w nowej linii. Pierwszy kod regionu nosi nazwę „category-region-0” i kaŜdy następny nazwę o jeden większą: category-region-1, category-region-2, itd. Wpis category-era-0 Kod lub lista kodów ery (epoki kolejnictwa), z której pochodzi dodatek. Podobnie, jak w przypad-ku kodu regionu, w przypadku listy kodów ery (kilka er - epok) kaŜdy kolejny kod ery umieszcza się w nowej linii. Pierwszy kod ery nosi nazwę „category-era-0” i kaŜdy następny nazwę o jeden większą: category-era-1, category-era-2, itd. Opis na stronie 21.

Inne wpisy W pliku config.txt moŜesz umieścić dodatkowe wpisy, zawierające następujące informacje: – author, contact-email oraz contact-website – tu moŜesz umieścić swoje nazwisko (pseu-donim), adres email, oraz adres Twojej strony WWW. Adresy pomogą innym uŜytkownikom Two-jego dodatku na znalezienie pomocy (w razie problemów) lub na przesyłanie przez nich sugestii na temat twojego dodatku. – organisation – wpis zawiera nazwę organizacji, do której naleŜy autor dodatku. Nazwa ta bę-dzie wyświetlana w Trainz Railyard, jeŜeli uŜywasz Joe’s Trainz lub Cripple Creek Logging Com-pany.

WaŜna uwaga: Poprzednie wersje symulatora Trainz korzystały z sekcji (wpisu) license w pliku config.txt, która zawierała warunki korzystania i rozpowszechniania dodatku. Ta sekcja nie jest konieczna w TRS2004, poniewaŜ szczegóły licencji dla swojego dodatku moŜesz wprowadzić w odpowiednim oknie dialogowym programu Content Dispatcher (Dyspozytor Zawartości), podczas tworzenia paczki *.cdp. Dodanie wpisu license w pliku config.txt spowoduje podwojenie szczegółów licencji dla Twojego dodatku, po jego zainstalowaniu w grze.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

27

Wpis effects (opcjonalna sekcja bloku „mesh-table”)

Wpis effect: kind name Niektóre dodatki mają edytowalne pole tekstowe, którego zawartość moŜna zmieniać w oknie „Edycja�Właściwości” (ikona „?”) tego dodatku, w module Geodety – pole „Nazwa” lub „Name” (np. tablica z nazwą stacji, znak drogowy z nazwą miejscowości, itp.). Oto przykładowa sekcja „effects” dla obiektu z edytowalnym polem tekstowym:

mesh-table { default { mesh industry.lm auto-create 1 effects { 0 { kind name fontsize 0.15 fontcolor 30,30,30 att a.name0 name “name” } 1 { kind name fontsize 0.3 fontcolor 30,30,30 att a.name1 name “name” } } } }

WaŜne: Nie musisz stosować kolejności numerowania bloków (0,1,2,3...), ani w ogóle numerowania bloków w sekcji effects. W przykładzie obok blok „0” moŜe nazywać się dowolnie, np. „sygnal_glowny”, itp. Sekcja name w bloku effects z numerem 0 moŜe być domyślnym napisem w polu edytowalnym lub moŜe zawierać cokolwiek. Stosowanie unikalnych nazw bloków names przydaje się podczas korzystania ze skryptów. Dla obiektu dwustronnego (np. tablica perono-wa) muszą być co najmniej dwa bloki name we wpisie effects (0 i 1) dla jednej i drugiej strony tablicy.

Wyjaśnienia wpisów w bloku effects: Wpis kind name Niezbędny wpis – rodzaj efektu. Wpis att a.name zawiera nazwę (a.name) punktu (Point z zakładki Helpers w Gmax). W przypadku dwóch lub więcej punktów (bloków name), kolejne nazwy powinny mieć na końcu cyfrę, zwiększającą się o 1 w stosunku do poprzedniej nazwy punktu (pamiętaj o tym na etapie tworzenia obiektu 3D w Gmax!) – a.name0, a.name1, itd. Pozostałe wpisy w blokach name definiują: fontsize – rozmiar czcionki napisu (dobierz eksperymentalnie tak, aby napis dało się odczytać,

ale jednocześnie tak, aby dało się wpisać jak najdłuŜszy napis), foncolor – kolor napisu w notacji RGB (składowe oddzielone przecinkiem. Np. 0,0,0 oznacza

kolor czarny, a 256,256,256 – kolor biały). Wstawiając w Gmax-ie punkt (Point z zakładki Helpers), naleŜy zadbać o właściwą orientację tego punktu w przestrzeni 3D: Przy domyślnym ustawieniu punktu (po jego wsta-wieniu), tekst układa się poziomo! Po wstawieniu punktu w Gmax-ie naleŜy go obrócić o 90o według osi X. UWAGA: obracamy sam punkt, a nie jego Pivot-

Point! Właściwą orientację wg osi X uzyskuje się wstawiając punkt w oknie widoku TOP.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

28

Wpis name (name „name”) Domyślnie umieszczony tekst w polu edytowalnym, po dodaniu obiektu na mapie w module Geodety. JeŜeli tego wpisu nie ma, to napis w polu dodatku będzie miał postać „0” i nie będzie edytowalny w module Geodety. JeŜeli wpis będzie miał postać name „name”, to w module Geodety podgląd dodatku będzie zawierał napis „name” i napis będzie moŜna edytować, po umieszczeniu dodatku na mapie. JeŜeli wpis będzie miał postać name Graceland (lub zamiast Graceland – jakakolwiek inna nazwa), to w module Geodety (w podglądzie dodatku i w dodatku dodanym na mapie) napis będzie miał pos-tać Graceland (lub inny zdefiniowany w tym wpisie) i nie będzie on edytowalny – będzie napisem przypisanym na stałe do pola edytowalnego. Nazwa zdefiniowana w tym wpisie będzie takŜe wyświetlana w oknie minimapy, w module Geo-dety (Ctrl+M).

Wpis effect: kind corona Corona to efekt Ŝarzenia się. Nie mylić z efektem wzrokowym występującym po spoŜyciu kilku piw ☺. To zwyczajna tekstura, która jest dołączana do „punktu przyłączania” umieszczonego wew-nątrz siatki obiektu 3D (np. w semaforze świetlnym). Wpisu (i efektu) „corona” moŜna uŜywać w przypadku kaŜdego dodatku, który posiada w pliku config.txt sekcję „mesh-table”. Oto przykładowy wpis „corona” w sekcji „mesh-table”:

mesh-table { default {

mesh asset.lm auto-create 1

effects { 0

{ kind corona att a.corona0 texture-kuid <KUID:-3:10110> frequency 2 directional 0 object-size 0.15

} 1

{ kind corona att a.corona1

} }

} }

Przykładami obiektów 3D korzystających z efektu corona są wspomniane juŜ semafory świetlne, oraz składniki TRS 2004 - obiekty Scenery – Lotnisko i jego elementy. Jumbo Jet – Boeing 747, samolot Cessna oraz wieŜa kontrolna lotniska, to obiekty uŜywające „pulsującego” efektu corona. Wyjaśnienie wpisów: Wpis kind corona (niezbędny) Niezbędny wpis - typ efektu Wpis att (niezbędny) “Punkt przyłączania” – punkt, w którym wyświetlana jest tekstura poświaty (punkt leŜący wewnątrz siatki obiektu, zdefiniowany w Gmax-ie), zdefiniowana we wpisie texture-kuid.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

29

Wpis texture-kuid (opcjonalny) Wpis zawiera KUID oddzielnego dodatku z teksturą dla efektu corona lub KUID wbudowanych w TRS 2004 tekstur efektu corona. Zobacz opis dodatku typu Tekstura (KIND: TEXTURE) na stronie 112. JeŜeli wpis KUID wskazuje na plik niezawierający tekstury efektu corona, wtedy zostanie uŜyta domyślna tekstura Trainz dla efektu corona (Ŝółto-pomarańczowa). Wpis frequency 2 (opcjonalny) Ta zmienna definiuje częstotliwość w Hz (lub „błyskach” na sekundę) dla „migającego” efektu corona (np. pulsujące światło semafora). Wartości: 1 dla jednego „błysku” na sekundę, 0.5 dla jednego „błysku” na 2 sekundy, 2 dla dwóch „błysków” na sekundę. Wpis directional 0 (opcjonalny) Domyślnym sposobem wyświetlania tekstur efektu corona, jest wyświetlanie ich z „punktu przy-łączania” od „strony” ujemnych wartości osi Z tego punktu. Jest to specjalnie uŜyteczny sposób dla taboru kolejowego (lokomotywy, wagony, itp.). Dla wartości 0 efekt corona widoczny jest z kaŜdej strony obiektu i pod kaŜdym kątem (tekstura efektu wyświetlana jest zawsze na wprost obserwatora) – przydatne w przypadku obiektów typu Scenery. Zmiana wartości tego wpisu na 1 spowoduje, Ŝe tekstura efektu corona będzie widoczna tylko od strony ujemnej wartości osi Z „punktu przyłączania” zdefiniowanego we wpisie att. Wpis object-size 0.15 (opcjonalny) Rozmiar efektu corona przy widoku „na wprost”. Domyślnie 0.15 (0,15m = 15 cm). Wbudowane w TRS 2004 tekstury efektu corona: • śółto-pomarańczowa, domyślna tekstura efektu corona (wyświetlana, jeśli we wpisie texture-kuid brak KUID oddzielnej tekstury) • Zielona tekstura efektu corona - <KUID:-3:10110> • Czerwona tekstura efektu corona - <KUID:-3:10112> • Biała tekstura efektu corona - <KUID:-3:10111>

Wpis effect: kind texture-replacement Ten efekt jest stosowany dla wagonów towarowych interaktywnych (oznaczonych symbolem IND), aby zastąpić widoczną teksturę ładunku (np. węgiel - na wióry). Kiedy węglarkę skonfigu-rujemy tak, Ŝeby mogła przyjmować kaŜdy rodzaj ładunku (w tym i wióry), wtedy w razie załado-wania do tej węglarki wiórów, tekstura wiórów zastąpi teksturę węgla w siatce 3D tej węglarki. Szczegółowe informacje na temat ustawień wpisu effect: kind texture-replacement moŜna uzyskać pobierając z Internetu plik z przykładem tego efektu z lokalizacji: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Load_Texture_Replacement.zip lub czytając opis efektu na stronie 130 tego dokumentu.

Wpis effect: kind attachment W TRS 2004 istnieje teraz moŜliwość przyłączania siatki tworzonego dodatku do siatki innego dodatku, poprzez odwołanie do KUID dodatku, który ma być „przyłączany”, umieszczone we wpisie „mesh-table” w pliku config.txt. Najlepszym tego przykładem są Stałe Tory w TRS 2004. Dzięki temu, Ŝe mają one strzałki w miejscach, do których moŜna przyłączyć następny odcinek toru, oszczędza się sporo pamięci RAM, stosując odwołanie do KUID dodatku strzałek (obiektu siatkowego 3D). Wpis ten jest potrzebny do tego, by poszczególne odcinki stałych torów mogły być ze sobą łączone. Przyłączanie siatek moŜna stosować tylko do dodatków naleŜących do grupy KIND: Scenery lub KIND: Mesh.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

30

Przykładowy wpis effect: kind attachment (stały tor):

username FT 10 Deg 700m Rad kind fixedtrack kuid <KUID2:####:#######:1> region Fixed track type Fixed track preview-mesh-kuid <KUID:-3:10099> mesh-table

{ default

{ mesh 10-700.im auto-create 1 effects

{ arrow0 {

kind attachment att a.track0a default-mesh <KUID:-3:10092> surveyor-only 1

} arrow1 {

kind attachment att a.track0e default-mesh <KUID:-3:10092> surveyor-only 1

} }

} } attached-track {

track0 {

track <KUID:-1:15> vertices {

0 a.track0a 1 a.track0c 2 a.track0e

} }

} OSTRZEśENIE: Nigdy nie stosuj w odwołaniu kind attachment własnego KUID dodatku, który właśnie tworzysz. Inaczej mówiąc KUID dodatku we wpisie kuid oraz KUID we wpisie preview-mesh-kuid MUSZ Ą BYĆ INNE, niŜ KUID we wpisach default-mesh , w blokach kind attachment . No chyba, Ŝe chcesz pokazać innym z bliska, jak wygląda okno błędu „Fatal Error”! ☺ Przykładowy plik config.txt dla strzałek na końcach odcinka toru:

kuid <KUID:-3:10092> kind mesh mesh-table {

default {

mesh arrow.im auto-create 1

} }

Jak wynika z powyŜszego przykładu, strzałki na końcach odcinka stałego toru to oddzielne obiekty 3D, utworzone w Gmax-ie i wyeksportowane do formatu *.im (dodatki z własnym KUID).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

31

Wyjaśnienie wpisów w blokach kind attachment: Wpis type Określa typ dodatku dla widoku „podglądu”, który zostanie uŜyty w oknie wyboru dodatku, w mo-dule Geodety (druga lista rozwijalna – typ dodatku). Wpis kind attachment (niezbędny) Niezbędny wpis - rodzaj efektu Wpis att (niezbędny) Zawiera nazwę „punktu przyłączania” (Point z zakładki Helpers w Gmax-ie) wstawionego do siatki 3D obiektu. W przykładzie powyŜej (kind attachment config.txt) jest to „punkt przyłączania” domyślnej siatki obiektu. Wpis default-mesh <KUID:####:#######> (niezbędny) KUID siatki 3D obiektu przyłączalnego (w przykładzie – czerwonych strzałek). Wpis surveyor-only 1 (opcjonalny) Dodanie tego wpisu powoduje, Ŝe przyłączalna siaka obiektu (strzałki) jest widoczna tylko w module Geodety i nie będzie widoczna w module Maszynisty. W przypadku torów, widoczność strzałek w module Geodety jest przydatna, aby było wiadomo gdzie odcinek toru się zaczyna i gdzie się kończy. Natomiast widoczność tych elementów w mo-dule Maszynisty jest zbędna, a nawet niepoŜądana. Wpis attached-track Wpis definiuje tory domyślne na powierzchni dodatku („rozpięte” pomiędzy „punktami przyłącza-nia”). Po podłączeniu do dodatku obiektu Spline, widok powierzchni torowiska dodatku uaktualni się odpowiednio do dołączonego obiektu Spline. Wpis zawiera nazwę toru – track0, KUID domyśl-nego toru oraz nazwy „punktów przyłączania” umieszczonych w modelu w programie 3D (3DS Max/Gmax), aby zdefiniować drogę przebiegu (krzywiznę) domyślnych torów przez model dodat-ku. Nazywając „punkty przyłączania”, naleŜy pamiętać o stosowaniu konwencji nazewnictwa a.nazwa, gdzie „nazwa”, to dowolna, zdefiniowana przez Ciebie nazwa. Jednak naleŜy uŜywać nazw „track” (np. a.track0a) dla torów oraz „road” (np. a.road0a) dla dróg. Zastosowanie nazwy zawierającej słowo „road” spowoduje wyświetlenie drogi z ruchem ulicznym. Na stronie 100 opisano szczegóły dotyczące „punktów przyłączania” oraz wymagania odnośnie ich orientacji w przestrzeni trójwymiarowej (3D).

Wpis effect: kind animation Ten wpis jest stosowany, gdy dodatek zawiera jakąkolwiek animację. Zazwyczaj animacje są kontrolowane przez skrypt dołączony do dodatku. Na przykład w parowozie PB15, w dodatku zawierającym jego wnętrze (kabinę), skrypt łączy ilość wytworzonej podczas jazdy pary, z zapotrzebowaniem parowozu na węgiel:

coalman {

mesh coalman/coalman.im auto-create 1 att-parent default att a.coalman effects

{ shovel

{ kind animation anim coalman/Coalman_shovel.kin }

wave { kind animation anim coalman/Coalman_wave.kin

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

32

} }

} itd...

Wyjaśnienie poszczególnych wpisów bloku kind animation: Wpis kind animation (niezbędny) Wpis niezbędny – rodzaj efektu Wpis anim (niezbędny) Zawiera nazwę pliku animacji wyeksportowanego z Gmax-a (*.kin) Wpis looped 1 (opcjonalny) Wpis stosowany tylko wtedy, gdy animacja ma być powtarzana (jest „zapętlona”). Domyślna wartość to 0 (animacja zostanie odtworzona tylko raz). Wpis speed 1 (opcjonalny) Współczynnik szybkości odtwarzania animacji. Domyślna wartość to 1 (pojedyncza szybkość). Wartość 2 oznacza podwójną szybkość, wartość 0.5 połowę domyślnej szybkości. Plik config.txt oraz plik skryptu dla wnętrza kabiny parowozu PB15 jest szczegółowo opisany w dalszej części tego dokumentu. DODATEK TYPU: HTML (KIND: HTML-ASSET) Dodatki html (kind: html-asset) wykorzystywane są przez skrypty Trainz, oraz przy tworzeniu niektórych reguł w module Geodety (typowym przykładem dodatku kind:html są samouczki dołączone do TRS 2004). Generalnie, tworzenie takich dodatków jest bardzo proste. W pliku config.txt tworzy się odwołanie do jednego lub kilku plików *.html. Przykład plików dodatku kind: html-asset:

Zawartość pliku config.txt: kind html-asset username “my html page” kuid <KUID:####:#####>

Zawartość pliku tut_1a.html:

<HTML> <BODY> <IMG SRC=’images/tut_1a.jpg’> </BODY> </HTML>

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

33

DODATEK TYPU: PRODUKT (KIND: PRODUCT) DODATEK TYPU: PRODUKT-KATEGORIA ( KIND: PRODUCT-CAT EGORY)

Wprowadzenie Towary (products) są wykorzystywane podczas gry przez interaktywny przemysł TRS 2004, oraz przez interaktywny tabor – wagony (z oznaczeniem IND). TRS 2004 pozwala na stosowanie jednego z czterech rodzajów towarów (produktów): ładunków płynnych (cieczy) - liquid, ładun-ków masowych (węgiel, ruda Ŝelaza, wióry, itp.) - bulk, kontenerów - container oraz pasaŜerów - passenger. Ten podrozdział nie tylko pozwoli Ci poznać rodzaje i kategorie towarów, ale takŜe pozwoli Ci le-piej zrozumieć sposób, w jaki towary są wykorzystywane w TRS 2004. Tak, jak typ towarów jest czymś innym niŜ same towary, tak przydzielanie towarów równieŜ podlega zróŜnicowanym zaleŜnościom. Tabor kolejowy (wagony) moŜe zostać skonfigurowany do przyjmowania kaŜdego (dowolnego) ładunku lub moŜe zostać skonfigurowany tak, aby przyjmo-wał tylko określony typ ładunku. Na przykład wagony pasaŜerskie mogą przyjmować „na pokład” tylko pasaŜerów, a węglarka moŜe przyjmować prawie kaŜdy rodzaj ładunku masowego (węgiel, wióry, tarcica, itp.)

Wizualizacja towarów (produktów) w grze TRS 2004 W TRS 2004 towary mogą być wyświetlane w następujący sposób: 1) Jako animowany ładunek Ta technika jest stosowana dla ładunków masowych, takich jak węgiel, wióry, zarówno w odnie-sieniu do interaktywnych zakładów przemysłowych, jak i do interaktywnych wagonów, oraz dla ładunków ciekłych, poprzez paskowy wskaźnik stanu załadowania wagonu, czy ilości towaru w zakładzie przemysłowym. Tego typu animacja nie jest animacją „zapętloną” – jest odtwarzana tylko raz. Weźmy za przykład animację stanu załadowania interaktywnego wagonu – węglarki. Animacja ma 30 klatek. Kiedy węglarka jest pusta – jest to pierwsza – zerowa klatka animacji. Kiedy jest pełna – jest to ostatnia, 29 klatka animacji (UWAGA: Klatki animacji w Gmax-ie nume-rowane są poczynając od 0. Tak więc, pierwszą klatką w animacji 30-klatkowej będzie klatka nr 0, a ostatnią klatka nr 29!). Zastępowanie tekstur ładunku jest dostępne dla dodatków zawierających niektóre typy wagonów towarowych. Szczegółowy opis tego, jak odbywa się zastępowanie tekstur ładunku znajduje się w archiwum ZIP, do pobrania z Internetu, z tej lokalizacji: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Load_Texture_Replacement.zip a takŜe na stronie 130 tego dokumentu. 2) Jako „przyłączalna siatka” – oddzielny obiekt 3D. Tej techniki uŜywa się w stosunku do ładunków naleŜących do kategorii kontener np. 20-to i 40-to stopowe kontenery, drobnica, tarcica, kłody. JeŜeli wagon ma moŜliwość przewoŜenia kilku typów towarów (np. platforma), to jest moŜliwe skonfigurowanie go do przewoŜenia kilku rodzajów ładunku, z pominięciem pliku config.txt (robi się to w module Geodety). Taka moŜliwość nie występuje w przypadku wagonów przeznaczonych do przewozu tylko jednego, określonego rodzaju towarów (np. wagony pasaŜerskie). 3) Jako stan załadowania w okienku „PokaŜ szczegóły”, w module Maszynisty. Ta technika wizualizacji ładunku moŜe oczywiście być stosowana dla kaŜdego typu towaru i dla kaŜdego wagonu, ale jest ona specjalnie stworzona do wizualizacji towaru w tych wagonach, w których nie da się „pokazać” ładunku w Ŝaden z poprzednich sposobów (np. w cysternie lub zamkniętych, zabudowanych wagonach towarowych). Zamknięte, zabudowane wagony towarowe mogą zostać skonfigurowane do przewozu drobnicy, ale nie w technice „przyłączalnej siatki” – więc ładunek taki nie będzie widoczny z zewnątrz wagonu. Uwaga: Cysterny i tendry parowozów mogą uŜywać oddzielnego obiektu siatkowego 3D o nazwie „loader” do wizualizacji procesu załadunku i rozładunku wagonu. Takie rozwiązanie jest sterowane poprzez skrypt interaktywnego zakładu przemysłowego i w pliku config.txt interaktyw-

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

34

nego wagonu musi istnieć wtedy odpowiedni wpis. Skrypty są opisane w pliku index.chm, znajdującym się w folderze C:\Program Files\Auran\TRS2004\Scripts\docs. W podrozdziale „DODATEK TYPU TABOR ( KIND: TRAINCAR)” na stronie 51 znajdują się przykła-dy interaktywnego taboru wbudowanego w TRS 2004, oraz przykłady plików config.txt ( i ich opisy) dla róŜnych typów interaktywnych wagonów. Lista KUID wbudowanych w TRS kategorii towarów: (kind: product-category) • Container (kontener) <KUID:-3:10042> • Bulk Load (ładunek masowy) <KUID:-3:10040> • Liquid Load (ładunek ciekły) <KUID:-3:10044> • Passenger (pasaŜer) <KUID:-3:10091> Plik config.txt kategorii Container: kind product-category kuid <KUID:-3:10042> username “Container” Plik config.txt kategorii Passenger: kind product-category kuid <KUID:-3:10091> username “Passenger” Plik config.txt kategorii Bulk: kind product-category kuid <KUID:-3:10040> username “Bulk Load” Plik config.txt kategorii Liquid: kind product-category kuid <KUID:-3:10044> username “Liquid Load” Lista KUID wbudowanych w TRS towarów (produktów): (kind: product) Towary kategorii Container: • 20-to stopowy kontener (20ft Container) <KUID:-3:10014> • 40-to stopowy kontener (40ft Container) <KUID:-3:10041> • Drobnica (General Goods) <KUID:-3:10013> • Kłody (Log) <KUID:-3:10001> • Tarcica (Lumber) <KUID:-3:10003> Towary kategorii Bulk: • Węgiel (Coal) <KUID:44179:60013> • Wióry (Woodchips) <KUID:-3:10002> Towary kategorii Liquid: • Paliwo lotnicze (Aviation Fuel) <KUID:-3:10045> • Ropa naftowa (Crude Oil) <KUID:-3:10010> • Olej napędowy (Diesel Fuel) <KUID:-3:10011> • Benzyna (Petrol Fuel) <KUID:-3:10012> • Woda (Water) <KUID:-3:10004> Towary kategorii Passenger: • PasaŜer (Passenger) <KUID:-3:10060>

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

35

Wyjaśnienie poszczególnych wpisów w przykładowych plikach config.txt towarów, zamieszczonych w dalszej części rozdziału: Wpis kind product Nowa w TRS 2004 grupa zawartości KIND. Wpis product-category KUID kategorii towaru, do której naleŜy towar. Wpis instance-type resource Stosowany wtedy, gdy towar nie ma siatki (nie jest oddzielnym obiektem 3D) lub ma jedną, jedy-ną siatkę 3D, wpisaną w sekcji „mesh-table” (np. liqud–płynny, bulk-masowy, itp.). Wpis instance-type instance Stosowany, gdy towar ma więcej niŜ jedną siatkę 3D we wpisie “mesh-table”. Np. pasaŜerowie, drobnica, itp. 200 to maksymalna wielkość tego parametru dla jednego dodatku typu Towar. Wpis icon-texture Obraz ikony reprezentującej ten towar podczas przypisywania ładunku do wagonu w okienku „PokaŜ szczegóły”, w module Maszynisty. Wpis mass Fizyczna masa towaru (czy to to samo, co wirtualna masa?) ☺ • Dla towarów naleŜących do kategorii Container oraz Passenger wpisuje się masę w kilogramach na sztukę (kg/szt.); • Dla towarów naleŜących do kategorii Liquid oraz Bulk wpisuje się masę w kilogramach na litr (kg/l) – czyli gęstość. Jednostkę kilogram na litr (kg/l) moŜna stosować zamiennie z jednostką tona na metr sześcienny (t/m3) – to jest taka sama wartość liczbowa. Wpis product-texture Tekstura, którą zostanie pokryta siatka 3D ładunku masowego. Wpis allows-mixing 1 Towary z takim wpisem mogą być łączone z innymi towarami z tej samej kategorii, podczas pojedynczej kolejki załadunku wagonu. Na przykład: na pojedynczą platformę (flatcar) załado-wane zostają jednocześnie tarcica i 20-to stopowy kontener. Domyślnie wartość tego parametru wynosi 0, co oznacza, Ŝe w pojedynczej kolejce załadunku wagonu załadowany zostanie towar naleŜący do tylko jednej kategorii. Patrząc na zagadnienie z innej strony, towary naleŜące do kategorii liquid (ciekłe) nigdy nie powinny mieć tego para-metru ustawionego na 1. Oczywiście moŜna zmieszać benzynę z olejem napędowym w jednej cysternie, ale silniki pojazdów, z tego co wiem, raczej nie lubią takich dwuskładnikowych paliw ☺. Pliki towarów i kategorii towarów znajdują się w folderze \scenarios (ale nie jest to obligatoryjne, moŜna umieścić je w innych folderach gry).

Towar paliwo lotnicze (aviation fuel) Plik config.txt dla paliwa lotniczego Struktura folderu Aviation Fuel: (Aviation Fuel): kind product kuid <KUID:-3:10045> username “Aviation Fuel” product-category <KUID:-3:10044> instance-type resource icon-texture “icon_texture.texture” mass 0.800 mesh-table { } Plik icon_texture.texture.txt:

Primary=AvGas.tga Alpha=AvGas.tga Tile=none

AvGas.tga 64x64 32 bit

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

36

Towar w ęgiel (coal) Plik config.txt dla węgla: Struktura folderu Coal: kind product kuid <KUID:44179:60013> username “Coal” instance-type resource product-category <KUID:-3:10040> icon-texture “icon_texture.texture” mass 0.860 product-texture “coal.texture” mesh-table { }

Plik icon_texture.texture.txt: Primary=Coal_icon.tga Alpha=Coal_icon.tga Tile=none Coal_icon.tga

64x64 32 bit

Towar ropa naftowa (crude oil) Plik config.txt dla ropy naftowej: Struktura folderu Crude Oil:

kind product kuid <KUID:-3:10010> username “Crude Oil” product-category <KUID:-3:10044> instance-type resource icon-texture “icon_texture.texture” mass 0.9 mesh-table { }

Plik icon_texture.texture.txt:

Primary=CrudeOil.tga Alpha=CrudeOil.tga Tile=none

CrudeOil.tga

64x64 32 bit

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

37

Towar drobnica (general goods) Plik config.txt towaru drobnica (general goods): Plik icon_texture.texture.txt:

kind product kuid <KUID:-3:10013> Primary=GeneralGoods.tga username “General Goods” Alpha=GeneralGoods.tga product-category <KUID:-3:10042> Tile=none instance-type instance icon-texture “icon_texture.texture” mass 1400 mesh-table { default { mesh general_goods.im auto-create 1 GeneralGoods.tga } 64x64 32 bit crate2 { mesh crate2.im Struktura folderu General Goods: auto-create 1 } crate3 { mesh crate3.im auto-create 1 } crate4 { mesh crate4.im auto-create 1 } crate5 { mesh crate5.im auto-create 1 } crate6 { mesh crate6.im auto-create 1 } crate7 { mesh crate7.im auto-create 1 } } allows-mixing 1

Wymiary obiektu 3D – drobnica (general goods): długość: 1,6m szerokość: 1,6m wysokość: 2,8m

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

38

Towar kontener 20 stóp (20 ft container)

Plik config.txt dla kontenera 20 stóp: Plik icon_texture.texture.txt: Primary=Containers20ft.tg

kind product Alpha=Containers20ft.tga kuid <KUID:-3:10014> Tile=none username “20ft Container” product-category <KUID:-3:10042> instance-type instance icon-texture “icon_texture.texture” mass 11000 mesh-table { default { mesh 20ft_container.im Containers20ft.tga auto-create 1 64x64 32 bit } 20ft_Pil Struktura folderu 20ft Container: { mesh 20ft_Pil.im auto-create 1 } 20ft_Capital { mesh 20ft_Capital.im auto-create 1 } 20ft_matsui { mesh 20ft_matsui.im auto-create 1 } 20ft_Gen1 { mesh 20ft_Gen1.im auto-create 1 } } allows-mixing 1

Wymiary kontenera 20-stóp: długość: 6,10m szerokość: 2,44m wysokość: 3,05m

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

39

Towar kontener 40 stóp (40 ft container) Plik config.txt dla kontenera 40 stóp: Plik icon_texture.texture.txt:

kind product Primary=Containers40ft.tga kuid <KUID:-3:10041> Alpha=Containers40ft.tga username “40ft Container” Tile=none product-category <KUID:-3:10042> instance-type instance icon-texture “icon_texture.texture” mass 22000 mesh-table { default { Containers40ft.tga mesh 40ft_container.im 64x64 32 bit auto-create 1 } pils Struktura folderu 40ft Container: { mesh 40ft_pils.im auto-create 1 } matsui { mesh 40ft_matsui.im auto-create 1 } capital { mesh 40ft_capital.im auto-create 1 } blue { mesh 40ft_blue.im auto-create 1 } } allows-mixing 1

Wymiary kontenera 40-stóp: długość: 12,20m szerokość: 2,44m wysokość: 3,05m

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

40

Towar olej nap ędowy (diesel fuel) Plik config.txt dla Plik icon_texture.texture.txt: Struktura folderu Diesel oleju napędowego: Primary=Diesel.tga Fuel: kind product Alpha=Diesel.tga kuid <KUID:-3:10011> Tile=none username “Diesel Fuel” product-category <KUID:-3:10044> instance-type resource icon-texture “icon_texture.texture” mass 0.830 mesh-table { } Diesel.tga

64x64 32 bit

Towar tarcica (lumber) Plik config.txt dla Plik icon_texture.texture.txt: Struktura folderu tarcicy: Primary=Lumber.tga Lumber: kind product Alpha=Lumber.tga kuid <KUID:-3:10003> Tile=none username “Lumber” product-category <KUID:-3:10042> instance-type resource icon-texture “icon_texture.texture” mass 8000 mesh-table { default Lumber.tga { 64x64 32 bit mesh lumberstack.im auto-create 1 Wymiary: } Kłody: Tarcica: } długość: 6,0m długość: 6,10m allows-mixing 1 średnica: 1,2m szerokość: 2,13m wysokość: 1,52m

Towar benzyna (petrol fuel) Plik config.txt dla Plik icon_texture.texture.txt: Struktura folderu benzyny: Primary=Petrol.tga Petrol: kind product Alpha=Petrol.tga kuid <KUID:-3:10012> Tile=none username “Petrol Fuel” product-category <KUID:-3:10044> instance-type resource icon-texture “icon_texture.texture” mass 0.7 mesh-table { } Petrol.tga 64x64 32 bit

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

41

Towar woda (water) Plik config.txt dla towaru woda: Plik icon_texture.texture.txt: kind product Primary=Water.tga kuid <KUID:-3:10004> Alpha=Water.tga username “Water” Tile=none product-category <KUID:-3:10044> instance-type resource icon-texture “icon_texture.texture” Struktura folderu Water: mass 1.0 mesh-table { } Water.tga

64x64 32 bit

Towar wióry (woodchips) Plik config.txt dla towaru wióry: Plik icon_texture.texture.txt: kind product Primary=WoodChips_icon.tga kuid <KUID:-3:10002> Alpha=WoodChips_icon.tga username “Woodchips” Tile=none instance-type resource product-category <KUID:-3:10040> icon-texture “icon_texture.texture” mass 0.400 Struktura folderu Woodchips: product-texture “woodchips.texture” mesh-table { }

WoodChips_icon.tga 64x64 32 bit

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

42

Towar pasa Ŝer (passenger) Towar (a raczej ładunek) kategorii pasaŜer (passenger) jest kontrolowany odmiennie od towarów pozostałych kategorii. Wszystkie anima-cje pasaŜerów, pliki siatek 3D (.im) oraz pliki tekstur znajdują się wewnątrz folderu Passenger. Plików tych jest tak duŜo, Ŝe (z braku miejsca) nie pokazano tu struktury folderu Passenger. ☺ Plik config.txt dla ładunku pasaŜer (wyciąg z pliku – waŜniejsze sekcje):

Plik icon_texture.texture.txt: Primary=passengers.tga Alpha=passengers.tga passengers.tga Tile=none 64x64 32 bit

kind product kuid <KUID:-3:10060> name “Passenger” product-category <KUID:-3:10091> instance-type instance icon-texture “icon_texture.texture” mass 65 mesh-table { male-suit { mesh MaleSuit.im effects { walk { kind animation anim MaleSuit_walk.kin looped 1 } pissedoff { kind animation anim MaleSuit_pissedoff.kin } lookatwatch { kind animation anim MaleSuit_lookatwatch.kin } lookdownline { kind animation anim MaleSuit_lookdownline.kin } shuffle { kind animation anim MaleSuit_shuffle.kin } sitdown { kind animation anim MaleSuit_sitdown.kin } sitdownloop1 { kind animation anim MaleSuit_sitdownloop1.kin } sitdownloop2 {

kind animation anim MaleSuit_sitdownloop2.kin } standup { kind animation anim MaleSuit_standup.kin } standloop1 { kind animation anim MaleSuit_standloop1.kin looped 1 } standloop2 { kind animation anim MaleSuit_standloop2.kin looped 1 } } } FemaleLongDress { mesh FemaleLongDress.im effects { walk kind animation anim FemaleLongDress_walk.kin looped 1 lookatwatch {

itd... } } }

itd... FemaleLongDressFat FemalemumBaby Female_Pants FemaleShortDress FemaleSuit KidFemale KidMale MaleFat MaleShirt MaleShorts } } }

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

43

DODATEK TYPU: SILNIK LOKOMOTYWY (KIND: ENGINE) Dodatek typu Engine definiuje osiągi i parametry techniczne lokomotywy. TRS 2004 wspiera takŜe system pary (parowozy) i dlatego pliki config.txt dodatku Engine silników lokomotyw mają przewidziane dodatkowe wpisy, przeznaczone dla lokomotyw parowych. Następne przykłady to pliki config.txt dla lokomotywy spalinowej SD40-2 oraz dla parowozu PB-15. OSTRZEśENIE: zmiana wartości parametrów w pliku config.txt dodatku typu Engine moŜe prowadzić do nieoczekiwanych zmian osiągów, parametrów technicznych i zmian parametrów trakcyjnych lokomotywy w grze (w module Maszynisty). Przed dokonaniem jakichkolwiek zmian wartości parametrów we wpisach pliku config.txt dodatku Engine, koniecznie zrób kopię zapasową oryginalnego pliku config.txt! Plik config.txt dodatku typu Engine lokomotywy spalinowej SD40-2: Domyślna lokalizacja dodatków typu Engine to: C:\Program Files\Auran\TRS2004\Engines kuid <KUID:-1:42004221> kind engine rem SD402 flowsize {

trainbrakepipe 170000 epreservoirpipe 0.1 no3pipe 0.1 no4pipe 0.1 auxreservoirvent 0.1 auxreservoir_no3 0.1 auxreservoir_trainbrakepipe 0.1 autobrakecylindervent 0.1 auxreservoir_autobrakecylinder 0.1 equaliser_mainreservoir 0.06 equaliservent 0.06 equaliserventhandleoff 0.1 equaliserventemergency 0.1 no3pipevent 1.5 no3pipe_mainreservoir 0.1 compressor 10 trainbrakepipe_reservoir 1 trainbrakepipevent 0.06 no3pipe_autobrakecylinder 0.1 epreservoirpipe_autobrakecylinder 0.1 mainreservoir_ep 0.1 vacuumbrakepipe 0.1 vacuumbrakepipereleasevent 0.1 vacuumbrakepipevent 0.1 vacuumbrakereservoir_vacuumbrakepipe 0.1 vacuumbrakecylinder_vacuumbrakepipe 0.1 highspeedexhauster_vacuumbrakepipe 0.1 }

volume { scale 1 trainbrakepipe 0.2 epreservoirpipe 0.2 no3pipe 0.2 no4pipe 0.2 auxreservoir 0.0384678 autobrakecylinder 0.00969387 vacuumbrakepipe 0 vacuumbrakereservoir 0 vacuumbrakecylinder 0 mainreservoir 0.9 equaliser 0.5 independantbrakecylinder 0.0103239 }

pressure { scale 1 compressor 0.00946941 mainreservoir 0.00946941 highspeedexhauster 0 brakepipe 0.00736041 brakeinitial 0.00693861 brakefull 0.0044992 indbrakefull 0.005075 trainbrakepipe_start 0.00553261

epreservoirpipe_start 0 no3pipe_start 0 no4pipe_start 0 auxreservoir_start 0.00553261 autobrakecylinder_start 0.00560291 vacuumbrakepipe_start 0 vacuumbrakereservoir_start 0 vacuumbrakecylinder_start 0 mainreservoir_start 0.00946941 equaliser_start 0.00553261 independantbrakecylinder_start 0.00560291 }

mass { scale 1 fuel 6.2156e+006 }

motor { resistance 1.7 adhesion 7 maxvoltage 600 maxspeed 40 brakeratio 55000 max-accel 3500 max-decel 9000 axle-count 6 surface-area 80 moving-friction-coefficient .03 air-drag-coefficient .00017 }

throttle-power {

0 { 0 0

} 1 {

0 107 4.4 34 2.2 62 6.6 31 8.8 25 13.3 18 22.2 11

} 2 {

0 224 2.2 125 4.4 68 6.6 62 8.8 50 13.3 36 22.2 22

}

ciąg dalszy na nast ępnej stronie…

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

44

3 { 0 373 2.2 187 4.4 125 6.6 93 8.8 75 13.3 53

} 4 {

0 448 2.2 249 4.4 166 6.6 125 8.8 100 13.3 71 22.2 45

} 5 {

0 618 2.2 309 4.4 206 6.6 154 8.8 123 13.3 88 22.2 56 35.5 36

} 6 {

0 747 2.2 374 4.4 249 6.6 187 8.8 149 13.3 107 22.2 68 35.5 44

} 7 {

0 872 2.2 436 4.4 291 6.6 218 8.8 174 13.3 124 22.2 79 35.5 51 44.4 42

} 8 {

0 996 2.2 498 4.4 332 6.6 249 8.8 199 13.3 142 22.2 90 35.5 58 44.4 48

} }

dynamic-brake {

0 { 0 0

} 1 {

1.333 0 2 30 5 25 10 15 12 0

} 2 {

1.333 0 3 50 10 35 14 20 15 0

} 3 {

1.333 0 3 60 10 40 17 20 22 0

} 4 {

1.333 0 4 80 10 60 20 20 25 0

} 5 {

1.333 0 5 190 10 70 25 25 29 0

} 6 {

1.333 0 5 250 10 80 29 70 32 0

} 7 {

1.333 0 5 250 10 100 32 60 36 0

} 8 {

1.33 0 5 250 10 100 36 50 40 0

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

45

Plik config.txt dodatku typu Engine parowozu PB-15: Domyślna lokalizacja dodatków typu Engine to: C:\Program Files\Auran\TRS2004\Engines kuid <KUID:44179:51002> kind steam-engine rem PB15 epbrakes 1 flowsize {

trainbrakepipe 170000 epreservoirpipe 0.1 no3pipe 0.1 no4pipe 0.1 auxreservoirvent 0.1 auxreservoir_no3 0.1 auxreservoir_trainbrakepipe 0.1 autobrakecylindervent 0.1 auxreservoir_autobrakecylinder 0.1 equaliser_mainreservoir 0.06 equaliservent 0.06 equaliserventhandleoff 0.1 equaliserventemergency 0.1 no3pipevent 1.5 no3pipe_mainreservoir 0.1 compressor 5 trainbrakepipe_reservoir 1 trainbrakepipevent 0.06 no3pipe_autobrakecylinder 0.1 epreservoirpipe_autobrakecylinder 0.1 mainreservoir_ep 0.1 vacuumbrakepipe 0.1 vacuumbrakepipereleasevent 0.1 vacuumbrakepipevent 0.1 vacuumbrakereservoir_vacuumbrakepipe 0.1 vacuumbrakecylinder_vacuumbrakepipe 0.1 highspeedexhauster_vacuumbrakepipe 0.1

} volume {

scale 1 trainbrakepipe 0.2 epreservoirpipe 0.2 no3pipe 0.2 no4pipe 0.2 auxreservoir 0.0384678 autobrakecylinder 0.00969387 vacuumbrakepipe 0 vacuumbrakereservoir 0 vacuumbrakecylinder 0 mainreservoir 1.0 equaliser 0.5 independantbrakecylinder 0.0103239

} pressure {

scale 1 compressor 0.00946941 mainreservoir 0.00946941 highspeedexhauster 0 brakepipe 0.00595441 brakeinitial 0.00560291 brakefull 0.00398601 indbrakefull 0.00398601 trainbrakepipe_start 0.00440781 epreservoirpipe_start 0 no3pipe_start 0 no4pipe_start 0

auxreservoir_start 0.00504051 autobrakecylinder_start 0.00489991 vacuumbrakepipe_start 0 vacuumbrakereservoir_start 0 vacuumbrakecylinder_start 0 mainreservoir_start 0.00876641 equaliser_start 0.00440781 independantbrakecylinder_start 0.00489991

} mass

{ scale 1 fuel 6.2156e+006

} motor {

resistance 1.3 adhesion 2.5 maxvoltage 600 maxspeed 21 brakeratio 55000 max-accel 1500 max-decel 5000 throttle-notches 32 axle-count 4 surface-area 150 moving-friction-coefficient 0.01 air-drag-coefficient 0.0001

} throttle-power {

0 { 0 0

} 1 {

0 35 5 28 10 18 12 0

} 2 {

0 85 5 70 10 60 15 30 30 0

} 3 {

0 140 5 93 10 70 15 62 30 0

} 4 {

2 187 5 109 10 93 15 87 30 0

} 5 {

0 281 5 218 10 109 15 87 30 0

} 6 {

0 343 5 265 10 172 15 125 30 0

} 7 {

0 359 5 343 10 187 15 156 30 0

} ciąg dalszy na nast ępnej stronie…

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

46

8 { 0 436 3.5 429 4.25 425 5 408 10 234 15 172 21 0

} } dynamic-brake {

0 { 0 0

} 1 {

1.333 0 2 30 5 25 6 15 7 0

} 2 {

1.333 0 2 50 5 35 7 20 8 0

} 3 {

1.333 0 2 60 5 40 7 20 8 0

} 4 {

1.333 0 3 80 7 60 10 20 12 0

} 5 {

1.333 0 5 90 9 70 12 25 15 0

} 6 {

1.333 0 5 150 9 80 13 70 17 0

}

7 { 1.333 0 5 200 10 100 16 60 19 0

} 8 {

1.33 0 5 200 10 150 18 50 21 0

} } steam {

; presure in kPa ; flow sizes in <?> ; volume in L ; mass in kg firebox-volume 1000.0 firebox-to-boiler-heat-flow 0.055 firebox-efficiency 0.995 boiler-volume 3000.0 water-injector-rate 4.0 westinghouse-volume 100 main-reservoir-volume 50.0 cylinder-volume 50.0 piston-volume-min 1.48 piston-volume-max 68.7 piston-area 0.177 piston-angular-offset 0.1 piston-to-atmosphere-flow 0.0021 safety-valve-low-pressure 956.0 safety-valve-low-flow 0.011 safety-valve-high-pressure 1010.0 safety-valve-high-flow 0.2 max-fire-coal-mass 50.0 max-fire-temperature 1873.0 shovel-coal-mass 2.0 burn-rate 0.0001 fuel-energy 100.0 boiler-to-piston-flow 0.0017

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

47

Opis pliku config.txt dodatku ENGINE PoniŜej podano domyślne wartości dla poszczególnych wpisów w pliku config.txt dodatku Engine dla lokomotywy spalinowej oraz ich objaśnienia. kind – typ dodatku rem – zawiera nazwę wyświetlaną w grze flowsize Przepływ, określony umownie jako średnica przewodu o przekroju koła, zasadniczo przyjmij te wartości: trainbrakepipe ......................................... 170000 epreservoirpipe ................................................. 0.1 no3pipe ............................................................. 0.1 no4pipe ............................................................ 0.1 auxreservoirvent .............................................. 0.1 auxreservoir_no3 ............................................. 0.1 auxreservoir_trainbrakepipe ............................ 0.1 autobrakecylindervent ...................................... 0.1 auxreservoir_autobrakecylinder ...................... 0.1 equaliser_mainreservoir .................................. 0.06 equaliservent ................................................... 0.06 equaliserventhandleoff ..................................... 0.1 equaliserventemergency .................................. 0.1 no3pipevent ..................................................... 1.5 no3pipe_mainreservoir .................................... 0.1 compressor .................................................... 10 trainbrakepipe_reservoir .................................. 1 trainbrakepipevent ........................................... 0.06 no3pipe_autobrakecylinder ............................. 0.1 epreservoirpipe_autobrakecylinder ................. 0.1 mainreservoir_ep ............................................. 0.1 vacuumbrakepipe ............................................ 0.1 vacuumbrakepipereleasevent .......................... 0.1 vacuumbrakepipevent ...................................... 0.1 vacuumbrakereservoir_vacuumbrakepipe ....... 0.1 vacuumbrakecylinder_vacuumbrakepipe ........ 0.1 highspeedexhauster_vacuumbrakepipe .......... 0.1 volume – objętość przewodów i objętości urządzeń scale 1 - współczynnik wielkości, z nadaną wartością, zasad- niczo przyjmij tę wartość. trainbrakepipe……………………….. 0.2 - główny przewód hamulcowy. epreservoirpipe ………………………0.2 - wpis dotyczy hamulca elektropneumatycznego, obe- cnie nieuŜywany w grze, zasadniczo przyjmij tę wa- rtość. no3pipe………………………………. 0.2 - przewód hamulca pomocniczego. no4pipe ……………………………….0.2 - wpis dotyczy odluźniacza hamulca, obecnie nieuŜy- wany w grze, zasadniczo przyjmij tę wartość. Auxreservoir…………………………..0.0384678 - zbiornik pomocniczy. Autobrakecylinder…………………… 0.00969387 - główny cylinder hamulcowy. vacuumbrakepipe …………….……...0 vacuumbrakereservoir……………… 0 vacuumbrakecylinder………………..0 - wpisy dotyczą hamulca próŜniowego, obecnie nie uŜywane w grze, zasadniczo przyjmij tę wartość.

mainreservoir …………………………0.9 - główny zbiornik hamulcowy. equaliser ………………………………0.5 - zbiornik wyrównawczy. independantbrakecylinder……………0.0103239 - cylinder hamulca pomocniczego lokomotywy. pressure Ciśnienia w układzie hamulcowym. scale 1 - współczynnik siły działania, z nadaną wartością, zasadniczo przyjmij tę wartość. Compressor…………………………...0.00946941 - (120psi wyraŜone w gramach na m2) maksymalne ciśnienie spręŜarki. mainreservoir………………………….0.00946941 - maksymalne ciśnienie głównego zbiornika hamulco- wego. highspeedexhauster …………………0 - wpis dotyczy hamulca próŜniowego, obecnie nieuŜy- wany w grze, zasadniczo przyjmij tę wartość. brakepipe ………………………….….0.00736041 - (80psi wyraŜone w gramach na m2) ciśnienie w całkowicie napełnionym głównym przewodzie ha- mulcowym brakeinitial………………………….…0.00693861 - (72psi wyraŜone w gramach na m2) ciśnienie w głów- nym przewodzie hamulcowym przy hamowaniu wstę- pnym. brakefull ………………………….…...0.0044992 - (57psi wyraŜone w gramach na m2) ciśnienie w głów- nym przewodzie hamulcowym przy hamowaniu peł- nym. indbrakefull …………………………...0.005075 - ciśnienie w cylindrze hamulca pomocniczego pod- czas hamowania. trainbrakepipe_start …………………0.00553261 - początkowe ciśnienie w głównym przewodzie hamul- cowym po uruchomieniu gry. epreservoirpipe_start ………………..0 - wpis dotyczy hamulca elektropneumatycznego, obe- cnie nieuŜywany w grze, zasadniczo przyjmij tę wartość. no3pipe_start …………………………0 no4pipe_start ………………………...0 - zasadniczo przyjmij te wartości. auxreservoir_start…………………….0.00553261 - początkowe ciśnienie w zbiorniku pomocniczym po uruchomieniu gry. autobrakecylinder_start ……………..0.00560291 - początkowe ciśnienie w głównym cylindrze hamulco- wym po uruchomieniu gry. vacuumbrakepipe_start ……………..0 vacuumbrakereservoir_start ………..0 vacuumbrakecylinder_start ………....0 - wpisy dotyczą hamulca prózniowego, obecnie nie- uŜywane w grze, zasadniczo przyjmij te wartości.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

48

mainreservoir_start …………………..0.00946941 - (100psi wyraŜone w gramach na m2) początkowe ciśnienie w głównym zbiorniku hamulcowym po uru- chomieniu gry. equaliser_start ……………………….0.00553261 - początkowe ciśnienie w zbiorniku wyrównawczym po uruchomieniu gry. independantbrakecylinder_start ……0.00560291 - początkowe ciśnienie w cylindrze hamulca pomocni- czego lokomotywy po uruchomieniu gry. mass scale 1 - wspołczynnik masy paliwa z nadanymi wartościami, aktualnie nieuŜywany w grze, zasadniczo przyjmij tę wartość. fuel …………………………………….6.2156e+006 - poziom paliwa, aktualnie nieuŜywany w grze, zasa- dniczo przyjmij tę wartość. motor resistance………………………….…..1.7 - sposób zasilania dla trybu DCC, większa wartość resistance oznacza mniejszą moc. adhesion ……………………………....2.5 - parametr określający przyczepność, wieksza wartość adhesion oznacza lepszą przyczepność. maxvoltage …………………………...600 - zasadniczo przyjmij tę wartość. maxspeed ………………………….….40 - maksymalna prędkość w trybie DCC, wyraŜona w metrach na sekundę. Brakeratio…………………………….. 55000 - siła hamowania przy uŜyciu hamulca. max-accel……………………………..3500 max-decel……………………………..9000 - parametry przyspieszenia (accel) i opóźnienia /zwal- niania (decel) w trybie DCC. axle-count……………………………..4 - liczba osi lokomotywy. surface-area …………………………80 - powierzchnia czoła lokomotywy. moving-friction-coefficient…………...0 .03 - współczynnik tarcia dynamicznego. air-drag-coefficient…………………...0.00017 - współczynnik oporu powietrza.

throttle-power - zmienne wartości dla przyspieszeń/opóźnień w trybie kabinowym (w kN): 1 { – pozycja nastawnika (1) 0 30 5 25 – przy prędkości = 5 – przyspieszenie = 25 10 15 12 0 } dynamic-brake - zmienne wartości opóźnień (zwalniania) podczas ha- mowania dynamicznego w trybie kabinowym 1 { – pozycja nastawnika (1) 1.333 0

2 30 5 25 – przy prędkości = 5 – opóźnienie = 25 10 15 12 0 }

Wyrównanie ci śnień (Equalisation of Pressures) Istnieje taki punkt w czasie hamowania, po którym dalsze redukowanie ciśnienia w głównym przewodzie hamulcowym, nie będzie juŜ powodowało zwiększania się siły hamowania. Jest on znany pod nazwą „pełny wydatek” lub „wyrównanie ciśnień”. Przykładowo, jeŜeli w lokomotywie, która ma maksy-malne ciśnienie układu hamulcowego wynoszące 90 psi, zredukujesz ciśnienie w głównym przewodzie hamulcowym o 26 psi, to 90 psi w głównym przewo-dzie hamulcowym składu, minus 26 psi redukcji, daje ciśnienie 64 psi w głównym przewodzie hamulcowym. Po przemnoŜeniu tego wyniku przez współczynnik 2.5:1 (stosunek objętości zbiornika pomocniczego i głównego cylindra hamulcowego) okaŜe się, Ŝe redukcja ciśnienia w głównym przewodzie hamulco-wym o 26 psi – zmienia ciśnienie w głównym cylindrze hamulcowym na poziom 64 psi. Ciśnienie w głównym przewodzie hamulcowym (i zbior-niku wyrównawczym) oraz w cylindrze hamulcowym są więc takie same. Dopóki taki stan się utrzymuje, do głównego cylindra hamulcowego nie wpłynie ani trochę więcej powietrza i dalsze redukowanie ciśnienia w głównym przewodzie hamulcowym nie spowoduje zwiększenia siły hamowania. Wyrównanie ciśnień występuje na skutek sprzęŜeń zwrotnych w głównym przewodzie hamulcowym składu pociągu. W układach hamulcowych o maksymalnym ciśnieniu: - 100 psi (np. lokomotywy angielskie – 7 bar) równo- waga ciśnień występuje przy poziomie 71 psi. - 90 psi (np. lokomotywy amerykańskie – USA) – przy poziomie 64 psi. - 72 psi (np. lokomotywy francuskie i australijskie) – przy poziomie 49 psi. Najprostszym sposobem ustawienia twojego własnego sprzęŜenia zwrotnego w układzie hamulcowym, w two-rzonym przez ciebie dodatku, jest skopiowanie bloku presure z pliku config.txt lokomotywy, która uŜywa odpowiadającego ci „wyrównania ciśnień”. WaŜne: konwertowanie jednostek PSI na g/m 2

Przykład: 90 psi... (90+14.7)x 0,0000703 104.7 x 0,0000703=0,00736041

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

49

Opis pliku config.txt dodatku ENGINE lokomotywy par owej (parowozu) W zasadzie stosuje się te same wpisy, co dla lokomotywy spalinowej, plus dodatkowo te opisane poniŜej: Legenda: ciśnienie - w kPa objętość - w litrach masa - w kilogramach przepływ - w nominalnych jednostkach dla danego

przepływu steam firebox-volume……………… 1000.0 - fizyczna objętość paleniska w litrach. firebox-to-boiler-heat-flow...…0.055 - współczynnik przepływu ciepła z paleniska do kotła i vice-versa. firebox-efficiency………..……0.995 - sprawność cieplna kotła, wartość 1.0 oznacza sprawność 100% ( w praktyce nieosiągalną!). boiler-volume……………..…..3000.0 - fizyczna objętość kotła w litrach. water-injector-rate………...….4.0 - wydajność inŜektora w litrach na sekundę. westinghouse-volume....….…100 - objętość układu hamulcowego Westinghouse w litrach (dm3). piston-volume-min……..….…1.48 - minimalna objętość przestrzeni cylindra parowego nad tłokiem. piston-volume-max….........…68.7 - maksymalna objętość przestrzeni cylindra parowego nad tłokiem. piston-area………….....…..…0.177 - powierzchnia robocza jednego cylindra parowego w m2. Zakłada się, Ŝe lokomotywa ma po jednym cylindrze z kaŜdej strony. piston-angular-offset……...…0.1 - zasadniczo przyjmij tę wartość, patrz dodatkowa

uwaga („wpis piston-angular-offsets”) w dalszej czę- ści, na stronie 50. piston-to-atmosphere-flow…..0.0021 - otwór, którym para po wykonaniu pracy uchodzi z cy- lindra do atmosfery, wielkość nominalnego otworu. safety-valve-low-pressure…..956.0 - niŜsza wartość ciśnienia kotła w kPa, powyŜej której zadziała zawór bezpieczeństwa (faza I). safety-valve-low-flow……...…0.011 - wielkość nominalnego otworu otwartego zaworu bez- pieczeństwa kotła (w fazie I ). safety-valve-high-pressure....1010.0 - wyŜsza wartość ciśnienia kotła w kPa, powyŜej której zawór bezpieczeństwa otworzy się bardziej (faza II). safety-valve-high-flow…….…0.2 - wielkość nominalnego otworu otwartego zaworu bez- pieczeństwa kotła (w fazie II). max-fire-coal-mass…....….…50.0 - maksymalna masa węgla, jaką moŜe przyjąć paleni- sko, w kilogramach. max-fire-temperature…......…1873.0 - maksymalna moŜliwa do osiągnięcia temperatura w skali KELVINA . shovel-coal-mass……........…2.0 - równowartość jednej szufli (wsadu) węgla w kilogra- mach burn-rate……………….......…0.0001 - współczynnik zuŜycia węgla. fuel-energy………………...…100.0 - względna energia cieplna w kJ uzyskiwana z jedne- go kilograma węgla boiler-to-piston-flow…….....…0.0017 - współczynnik względnej energii mechanicznej pary.

Komentarz i nowe wpisy Informacje podane powyŜej są specyficzne dla małych parowozów (np. PB 15). Większe parowo-zy, np. Big Boy, wymagają nieco innych ustawień i wpisów. PoniŜej omówiono specyficzne wyma-gania duŜych parowozów, dodatkowe wpisy w config.txt i dołączono kilka przykładów. firebox-volume westinghouse-volume main-reservoir-volume PowyŜsze wpisy nie są obecnie zaimplementowane w grze. boiler-volume……………..…..00000.0 maximum-volume…………….00000.0 minimum-volume……………..00000.0 PowyŜsze trzy wpisy są uŜywane zawsze razem. Ze względu na sposób, w jaki palenisko jest odwzorowane w Trainz, bazuje ono na wartościach tych wpisów, wyraŜających aktualną pojem-ność kotła w litrach. Ma to przełoŜenie na zuŜycie wody w kotle parowozu. Dla duŜych parowozów wartości wszystkich trzech wpisów powinny być pomnoŜone przez10, aby ograniczyć i urealnić zuŜycie wody. maximum-volume – wartość tego wpisu powinna wynosić 90% wartości wpisu boiler-volume, co symuluje „poduszkę” parową ponad lustrem wody w kotle. minimum-volume – wartość tego wpisu powinna wynosić 90% wartości wpisu maximum-volume, co odpowiada niskiemu poziomowi wody w kotle podczas pracy.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

50

Istnieją trzy zestawy wartości wyŜej wymienio-nych wpisów, dla róŜnych rodzajów parowozów: Dla małych lokomotyw z paleniskiem o powierz-chni poniŜej 10 m2: boiler-volume 37500.0 minimum-volume 28500.0 maximum-volume 32500.0 Dla średnich lokomotyw – powierzchnia paleni-ska od10 do 25 m2: boiler-volume 47500.0 minimum-volume 37750.0 maximum-volume 40500.0 Dla wielkich lokomotyw – powierzchnia paleni-ska powyŜej 25 m2: boiler-volume 95000.0 minimum-volume 73000.0 maximum-volume 81000.0 initial-boiler-temperature.........380 Te wpisy powinny zostać dodane, aby parowóz był gotowy do jazdy po rozpoczęciu sesji Maszy-nisty. Wartości tych wpisów, w połączeniu z wartościami wpisów firebox-to-boiler-heat-flowidle oraz burn-rate-idle pozwalają parowozowi pozos-tawać w stanie gotowości do jazdy tak długo, jak to potrzebne. Oznacza to nominalnie 80 - 90% ciśnienia roboczego w kotle. Pełne ciśnie-nie robocze nie jest na początku potrzebne, a przejście ze stanu gotowości do pełnego ciś-nienia roboczego zajmuje tylko chwilę. Większość parowozów osiąga pełne ciśnienie ro-bocze po wciśnięciu klawisza N, w celu urucho-mienia dmuchawy i po wciśnięciu klawisza spa-cji, w celu dorzucenia węgla do paleniska. NaleŜy jednak pamiętać, Ŝe długotrwałe utrzy-mywanie pełnego ciśnienia roboczego powoduje szybkie zuŜywanie się zapasów wody i węgla w lokomotywie. PoniŜsza tabela moŜe być pomocna przy usta-laniu początkowej temperatury kotła parowozu i odpowiadającego tej temperaturze ciśnienia roboczego: Wartości temperatury (np. 369) to wartości w stopniach Kelvin’a. Zapoznaj się z waŜnymi uwagami do tabeli, zamieszczonymi obok � 369 = 869kpa / 140psi = 460.3K 380 = 1008kpa / 146psi = 466.5K 381 = 1021kpa / 148psi = 467.0K 389 = 1122kpa / 163psi = 471.5K 389.6 = 1129kpa / 165psi = 471.8K 401 = 1275kpa / 185psi = 478.2K 404 = 1297kpa / 188psi = 479.8K 409 = 1374kpa / 199psi = 482.6K 410 = 1387kpa / 201psi = 483.2K 411 = 1401kpa / 203psi = 483.7K 412 = 1410kpa / 204psi = 484.3K

413 = 1414kpa / 206psi = 484.8K 424 = 1564kpa / 227psi = 490.9K 426 = 1589kpa / 230psi = 492.4K 455 = 1956kpa / 284psi = 508.2K Wpis piston-angular-offsets Określa liczbę „impulsów mocy” na kaŜdy obrót koła napędowego parowozu. Dla parowych silni-ków z dwoma cylindrami stosuje się wpis: piston-angular-offsets 0.0174,1.5254,3.0333,4.5413 Dla trzech cylindrów: piston-angular-offsets 0.0174,1.065,2.107,3.061, 4.206,5.253 Dla czterech cylindrów: piston-angular-offsets 0.0174,0.8028,1.5254,2.3736, 3.0333,3.9444,4.5413,5.5152 Wartości wpisu wyraŜone są w radianach (3.1416 radianów = 360 stopni kątowych) i determinują osiągnięcie najbardziej łagodnej operacji napędzania, jaka jest moŜliwa. Wartości zostają następnie usunięte z punktu impulsu dźwięku (systemu odgłosów pracy pa-rowozu. Zaleca się nie zmienianie tych prze-testowanych wartości. Wpisy firebox-to-boiler-heat-flow-idle 0.003 burn-rate-idle 0.003 Te dwa wpisy w połączeniu z wpisem initial-boilertemperature zatrzymują kocioł, kiedy loko-motywa jest w stanie gotowości do jazdy, np. jest nieobsługiwana, i nie potrzebuje Ŝad-nych zmian (jeśli nie zdecydujesz o zamknięciu dopływu wody i wygaszeniu paleniska w zapar-kowanej lokomotywie). Zapoznaj się z oddziel-nym dokumentem „Content Creation Tips and Tricks”, w którym opisano sposób, w jaki paro-wozy korzystają z tych wpisów, oraz jak moŜna zmieniać wartości tych wpisów, aby osiągnąć jak największy realizm. Uwagi do tabeli początkowych temperatur i ciśnień kotła: Trainz aktualnie nie uŜywa właściwych stopni Kelvin’a dla temperatury określonej we wpisie „initial-boiler-temperature” – dodawany jest współczynnik korekcyjny. Pogrubione wartości po lewej stronie tabeli (i tylko one) muszą zostać umieszczone we wpisie. Wartości w stopniach Kelvin’a po prawej stronie tabeli są reprezentacją aktualnej temperatury kotła dla odpowiedniego ciśnienia (środek ta-beli). Jeśli znasz początkowe ciśnienie kotła, np. 1275kpa, wpisz 401 jako wartość wpisu. Jeśli znasz początkową temperaturę kotła, np. 467K, wpisz 381 jako wartość wpisu.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

51

DODATEK TYPU WÓZEK TABORU (jezdny i nap ędowy) (KIND: BOGEY) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\bogeys „Bogey” to nazwa dodatku zawierającego wózki jezdne wagonów i wózki napędowe lokomotyw. PoniŜej przykład bloku bogey z pliku config.txt dodatku Traincar.

kuid <KUID2:###:#####:1> kind bogey animdist 2.1 mesh-table {

default { mesh Car_bogey.lm auto-create 1 } shadow { mesh Car_bogey_shadow/Car_bogeyshadow.im }

} obsolete-table {

} username mybogey description “ “ trainz-build 2.0 category-class AC category-region-0 AT category-era-0 1980s direct-drive 1 }

}

Wyjaśnienia wpisów dodatku bogey: animdist - opuść ten wpis, jeŜeli dodatek bogey nie zawiera animacji. Wpis zawiera odległość w metrach przeby-waną w ciągu 1 sekundy (30 klatek) animacji. WaŜne: animacje wózka (wyeksportowaną z Gmax-a lub 3DSMax-a) nazywano „anim.kin” i w poprzednich wersjach Trainz uŜywano w pliku config.txt wpisów:

anim anim.kin animation-loop-speed 1.0

Nie są one juŜ potrzebne. Trainz automatycznie roz-poznaje plik anim.kin dla wózka. Jeśli te dwa wpisy są dodane w pliku config.txt – powodują wyświetlenie w grze okna błędu o „zignorowaniu niewłaściwej spe-cyfikacji animacji”. Zapoznaj się w Rozdziale 4 – z instrukcją „Wskazówki modelowania wózków (bogeys) – str. 135. Uwaga: W przykładzie obok, dodatek typu wózek (bogey) uŜywa redukcji siatki LOD. Ustawienia UTC (bez wpisu mesh-table) oczywiście będą nadal dzia-łać, ale zaleca się stosowanie wpisu mesh-table. direct-drive WaŜne: wpis ten słuŜy „podpięciu” fizyki i syn-chronizacji dźwięków silnika parowozu z ani-macją układu jezdnego. Wpis stosuje się w wózkach parowozów (jednym na jeden paro-wóz). Poczytaj o dźwiękach silnika (enginesound) parowozu na stronie 56. Odwracanie animacji wózka: JeŜeli do nadwozia lokomotywy dołączono przedni wózek, oraz ten sam wózek dołączono do tylnego „punktu przyłączania” i obrócono go o 1800, to w pliku config.txt lokomotywy naleŜy dodać wpis bogey-r dla tego tylnego wózka. JeŜeli wózek zawie-ra animację, to będzie ona odtwarzana „od tyłu” (w przeciwnym kierunku). Aby tego uniknąć „punkt przyłączania” dla tego tylnego wózka równieŜ musi zostać obrócony o 1800 w Gmax-ie/3DSMax-ie tak, aby ustawiony był właściwie do kierunku obrotu kół wózka.

DODATEK TYPU: TABOR (KIND: TRAINCAR) Domyślna lokalizacja dodatków typu Traincar to: C:\Program Files\Auran\TRS2004\World\Custom\trains Dodatek typu Traincar to lokomotywa, wagon lub inny tabor jeŜdŜący po torach. Jedną z nowych cech TRS 2004 jest to, Ŝe niektóre wagony (oznaczone jako IND) są interaktywne. Mogą one przewodzić towary (ładunki) naleŜące do odpowiedniej kategorii, oraz wchodzić w interakcje (za- i wyładunek) z interaktywnymi zakładami przemysłowymi. Jako Ŝe istnieją róŜne towary, oraz róŜne kategorie towarów, kaŜdego rodzaju wagon wymaga odmiennych ustawień, zarówno co do wizualizacji ładunku, jak i wpisów w pliku config.txt. Najlepiej pobrać z Internetu przykłady róŜnych typów wagonów i zapoznać się z nimi. Spis linków znajduje się na stronie 54 tego dokumentu. Towary (produkty) i ich kategorie zostały opisane na stronie 33.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

52

PoniŜszy plik config.txt pochodzi z dodatku typu Traincar - lokomotywa. Zwróć uwagę na wpis „mesh-table” oraz ustawienia animacji.

kuid <KUID2:####:#####.1> category-class AC category-region-0 AU category-era-0 1970s category-era-1 1980s category-era-2 1990s category-era-3 2000s kuid-table { } obsolete-table { } mesh-table { default {

mesh loco_body/loco_body.lm auto-create 1

} shadow {

mesh loco_shadow/loco_shadow.im } fan1 {

mesh loco_body/fan/fan.im anim loco_body/fan/fan.kin auto-create 1 att a.fan0 att-parent default animation-loop-speed 1.0

} fan2 {

mesh loco_body/fan/fan.im anim loco_body/fan/fan.kin auto-create 1 att a.fan2 att-parent default animation-loop-speed 1.0

}

default-night-forward {

mesh loco_body/night/night.im auto-create 0 att a.bog0

att-parent default }

} bogey <KUID:####:#####> bogey-1 <KUID:####:#####> bogey-2-r <KUID:####:#####> pantograph <KUID:###:#####> interior <KUID:####:#####> engine 1 name Electric Loco mass 37000 company Queensland Rail origin AU kind traincar fonts 2 cabinsway 0 enginespec <KUID:####:#####> enginesound <KUID:####:#####> hornsound <KUID:####:#####> smoke_shade 0.3 smoke_random 2 smoke_slowlife 1 smoke_fastlife 6 smoke_height 7 smoke_fastspeed 4 smoke0 {

attachment a.exhaust0 mode speed enabled 1 maxspeedkph 120 file "lospeed.tfx"

} smoke1 {

attachment a.exhaust1 mode speed enabled 1 maxspeedkph 120 file "hispeed.tfx"

} description " "

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

53

Wyjaśnienie poszczególnych wpisów w pliku config.txt dod atku TRAINCAR: default-night-forward - nazwa dodatkowej siatki dołączonej do lokomotywy, w celu np. wyświetlania snopa świateł głównych w kierunku jazdy lokomotywy. Trainz rozpoznaje naz- wy i zmienia siatki odpowiednio do aktualnego kierun- ku jazdy. ZauwaŜ, Ŝe w powyŜszym przykładzie uŜyto wpisu auto-create 0 , aby tę dodatkową siatkę uczynić nie- widoczną po umieszczeniu lokomotywy w grze. Siat- ka stanie się widoczna w momencie włączenia świa- teł głównych lokomotywy. bogey - KUID przyłączanego wózka bogey (domyślnie w punktach a.bog0 oraz a.bog1), bogey-1 - KUID wózka bogey dla a.bog1 (wpis uŜywany tylko gdy wózek a.bog1 jest inny niŜ wózek a.bog0), bogey-r oraz bogey-1-r - wpis stosowany zamiennie dla „bogey”’ i „bogey-1”. Wózek bogey będzie miał odwróconą orientację w przestrzeni. WaŜne: moŜe to skutkować odtwarza- niem animacji „od tyłu” (wstecz), pantograph - KUID pantografu przyłączanego Do a.pant0, a.pant1, itd. Wpis uŜywany tylko wtedy, kiedy jest niezbędny (lokomotywy elektryczne), interior - KUID wymaganego dodatku z wnętrzem (typu inte- rior) wstawianego do punktu a.cabfront. Wpis uŜy- wany tylko wtedy, kiedy jest niezbędny (np. w loko- motywie), engine - status dodatku traincar:

0 = wagon 1 = lokomotywa

fonts - wpis określa ile rodzajów fontów numerycznych jest uŜywanych. Np.

0 = bez fontów 1 = jeden font

Tekstury cyfr (od digit_1.tga do digit_6.tga) zamienia- ne automatycznie z tekturami alfanumerycznymi (od alphanumber_0 do alphanumber_9) jako numery se- ryjne taboru, zmieniane w module Geodety na zakła- dce „Trains” po kliknięciu ikony „Właściwości” (ikona „?”).

2 = dwa fonty Tekstury cyfr (od digit_1a.tga do digit_6a.tga oraz od digit_1b.tga do digit_6b.tga) zamieniane automatycz- nie z tekturami alfanumerycznymi (od alphanumber_0a do alphanumber_9a oraz od alphanumber_0b do alphanumber_9b) jako numery seryjne taboru, zmieniane w module Geodety na za- kładce „Trains” po kliknięciu ikony „Właściwości” (ikona „?”),

running-numbers - numery seryjne taboru widoczne na taborze po uru- chomieniu gry, przed zmianą ich w module Geodety na zakładce „Trains” po kliknięciu ikony „Właściwo- ści” (ikona „?”). Ogólnie TRS 2004 pozwala stosować 4 typy numerów seryjnych (do 6 cyfr kaŜdy). WaŜne: ten wpis jest zbędny, jeŜeli we wpisie fonts wpisano wartość „0”, enginespec - KUID dodatku typu Engine do lokomotywy. Określa cechy fizyczne dla dodatku typu traincar. Opis dodatku tego typu w podrozdziale DODATEK TYPU SILNIK LOKOMOTYWY (KIND: ENGINE) na stronie 43. Domyślna lokalizacja dodatków Engine to: C:\Program Files\Auran\TRS2004\Engines\ enginesound - KUID dodatku typu Enginesound (odgłosy silnika) do lokomotywy. Opis dodatku tego typu w podrozdziale DODATEK TYPU DŹWIĘK SILNIKA (KIND: ENGINESOUND) na stronie 55. Domyślna lokalizacja dodatków Enginesound to: C:\Program Files\Auran\TRS2004\World\Custom\ enginesound\ hornsound - KUID dodatku typu Hornsound (dźwięk syreny – sygnału lokomotywy). Opis dodatku tego typu w podrozdziale DODATEK TYPU DŹWIĘK SYRENY (KIND: HORNSOUND) na stronie 57. Domyślna lokalizacja dodatków Hornsound to: C:\Program Files\Auran\TRS2004\World\Custom\ hornsound\ cabinsway „siła” - siła „kołysania”. Określa wielkość efektu „kołysania” w czasie jazdy, w widoku kabinowym. Ten efekt uza- leŜniony jest takŜe od prędkości lokomotywy. Nie wolno stosować wartości ujemnych. 0 oznacza brak kołysania; większe wartości (2, 6 itd.) to większe kołysanie, smoke0 - definiuje efekt dymu, pary i innych podobnych efek- tów. Zapoznaj się z rozdziałem: „EFEKTY CZĄSTECZKOWE I SKRYPTY” na stronie 146, description “ “ - opis modelu do modułu Lokomotywownia, light_color - kolor głównych świateł lokomotywy w notacji RGB. Np. 255,255,255 Pobierz z Internetu, i zapoznaj się z plikami źródłowy-mi wymienionymi na następnej stronie…

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

54

Przykłady dodatków typu TRAINCAR w Internecie Zapoznaj się z poniŜszymi przykładami poszczególnych rodzajów dodatków typu Traincar (po pobraniu ich z Internetu). Węglarka (COAL HOPPER) Węglarka (Coal Hopper) jest typowym przykładem wagonu, który uŜywa animacji do wizualizacji ładunku. Tego typu wagon moŜe takŜe zawierać animację otwierania drzwi, wychylania skrzyni samowyładowczej, oraz animację efektów cząsteczkowych (dym, para, kurz) kontrolowanych przez skrypt. Pobierz z Internetu plik archiwum ZIP, zawierający opis (w formacie PDF) dodatku wbudowanego w TRS 2004 o nazwie „Coal Hopper”, pliki źródłowe modelu 3D (w formacie Gmax i 3DS Max) i pliki wynikowe dodatku (w formacie Trainz): http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Coal_Hopper.zip Cysterna (TANK CAR) Cysterna (Tank Car) to typowy przykład wagonu towarowego – cysterny, który moŜe przewozić ładunki płynne. Pobierz z Internetu plik archiwum ZIP, zawierający opis (w formacie PDF) dodatku wbudowanego w TRS 2004 o nazwie „GATX Oilco Tank Car”, pliki źródłowe modelu 3D (w formacie Gmax i 3DS Max) i pliki wynikowe dodatku (w formacie Trainz): http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Tank_Car.zip Platforma kontenerowa (CONTAINER FLATCAR) Platforma kontenerowa (Container Flat) jest typowym przykładem wagonu, który moŜe przewozić róŜnorodne ładunki (dzięki opcji „przyłączania” siatki 3D ładunku do swojej siatki 3D). Pobierz z Internetu plik archiwum ZIP, zawierający opis (w formacie PDF) dodatku wbudowanego w TRS 2004 o nazwie „Container Flat”, pliki źródłowe modelu 3D (w formacie Gmax i 3DS Max) i pliki wynikowe dodatku (w formacie Trainz): http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Container_Flat.zip Wagon zamknięty (BOX CAR) Wagon zamknięty (Box Car) jest typowym przykładem wagonu o zamkniętym nadwoziu, który moŜe przewozić drobnicę, nie korzystając przy tym z „punktów przyłączania” siatki 3D. Pobierz z Internetu plik archiwum ZIP, zawierający opis (w formacie PDF) dodatku wbudowanego w TRS 2004 o nazwie „PRR 40ft Box Car ”, pliki źródłowe modelu 3D (w formacie Gmax i 3DS Max) i pliki wynikowe dodatku (w formacie Trainz): http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Box_Car.zip

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

55

DODATEK TYPU: DŹWIĘK SILNIKA LOKOMOTYWY (KIND: ENGINESOUND) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\enginesound\ Dodatki tego typu zawierają dźwięk (odgłosy pracy) silnika lokomotywy. Dodatki typu Engine-sound są powiązane z lokomotywą (dodatkiem typu Traincar) poprzez blok „enginesound” w pliku config.txt lokomotywy. Wraz ze wprowadzeniem w TRS 2004 systemu pary (parowozy), wprowadzono dodatkowe narzędzia do obsługi dźwięków (odgłosów) silników lokomotyw. Lokomotywy spalinowe i elektry-czne mają dźwięk silnika dołączany metodą Trainz UTC (opisaną poniŜej). Dźwięk pracy silnika tłokowego parowozów ma odmienne wymagania, opisane na stronie następnej.

ENGINESOUND – lokomotywy spalinowe i elektryczne

Struktura folderu Enginesound lokomotywy spalinowej lub elektrycznej: Plik config.txt dodatku enginesound lokomotywy spalinowej lub elektrycznej: kuid <KUID2:###:#####:1> kind enginesound obsolete-table { } category-era-0 category-region-0 category-class WaŜne: Pliki dźwięków (odgłosów pracy) silnika (w formacie *.wav) muszą znajdować się w tym samym podfolderze, co plik config.txt dodatku Enginesound . Kolejne pliki dźwiękowe składające się na odgłos pracy silnika twojego dodatku MUSZĄ mieć dokładnie takie same nazwy, jak pliki pokazane po lewej stronie.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

56

ENGINESOUND – lokomotywy parowe (parowozy) Dodatki z odgłosami pracy silnika tłokowego parowozu moŜesz tworzyć tylko dla TRS 2004 (i nas-tępnych wersji ☺). PoniŜej znajduje się spis niezbędnych dźwięków, oraz zwięzły opis tego, w jaki sposób dźwięki te są uŜywane przez TRS. Przykłady opisanych poniŜej plików dźwiękowych (w archiwum ZIP) moŜna pobrać z Internetu ze strony: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Steam_Sound.zip Pliki dźwiękowe z odgłosami pracy parowozu powinny być umieszczone w domyślnym folderze dodatku typu Enginesound. Te pliki dźwiękowe, to odgłosy, które wydaje parowóz, kiedy stoi (nie jedzie), w 1, 2 i 3 minucie takiego stanu. Pliki zawierają dźwięki typu: syczenie z paleniska, praca spręŜarki, generatora, itp.

• loco_stationary_fast.wav (w ciągu 1 minuty) • loco_stationary_med.wav (w ciągu 2 minuty) • loco_stationary_slow.wav (w ciągu 3 minuty)

Odgłosy „uderzenia” tłoków silnika parowego, odtwarzane są sekwencyjnie, co kaŜde 180 stopni obrotu korbowodów na kołach parowozu, poniŜej prędkości 40 km/h.

• piston_stroke1.wav • piston_stroke2.wav • piston_stroke3.wav • piston_stroke4.wav

Począwszy od prędkości 40 km/h wzwyŜ, odtwarzany jest w pętli (jest powtarzany) następny dźwięk (o nazwie podanej poniŜej), aŜ do momentu, gdy „uderzenia” tłoków silnika ustaną. Częstotliwość powtarzania dźwięku jest dopasowywana (przez TRS 2004) do bieŜącej prędkości jazdy parowozu.

• steam_loop.wav. Ogólny odgłos syku pary i dymu z komina parowozu:

• smoke_stack_hiss.wav Struktura folderu Enginesound parowozu:

Plik config.txt kuid <KUID2:###:#####:1> kind enginesound obsolete-table { } category-era-0 category-region-0 category-class

WaŜna UWAGA 1: MUSISZ nazwać wszystkie swoje pliki dźwiękowe dokładnie tak, jak w przykładzie powyŜej. WaŜna UWAGA 2: Wózek (bogey) napędowy parowozu zostaje połączony z tłokami silnika parowego i systemem fizyki poprzez wpis direct-drive 1 w pliku config.txt dodatku wózka (bogey). Po prawo przykład pliku config.txt wózka parowozu PB-15 � � Taki wpis w pliku config.txt wózka (bogey) napędowe-go parowozu jest NIEZBĘDNY, aby odgłosy „uderzeń” tłoków i odgłosy pracy silnika parowego były odtwarza-ne.

Plik config.txt wózka bogey parowozu PB_15_bogey2: kind bogey kuid <KUID:44179:50003> animdist 3.816 category-class AS category-region-0 AU category-era-0 1920s category-era-1 1930s category-era-2 1940s category-era-3 1950s category-era-4 1960s category-era-5 1970s category-era-6 1980s direct-drive 1

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

57

DODATEK TYPU: DŹWIĘK SYRENY LOKOMOTYWY (KIND: HORNSOUND) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\hornsound\ Ten typ dodatku zawiera dźwięk syreny (sygna-łu dźwiękowego) lokomotywy. Odwołanie do te-go dodatku musi znaleźć się we wpisie hornsound w pliku config.txt lokomotywy (dodatku typu Traincar). Plik config.txt dodatku Hornsound:

kind hornsound kuid <KUID:###:#####> category-era-0 category-region-0 category-class two-part 1

Struktura folderu Hornsound:

Wpisy w config.txt: two-part 1 - definiuje, Ŝe dźwięk syreny lokomotywy będzie inny w module Lokomotywowni i inny w module Maszy- nisty. Dźwięk w module Maszynisty jest zapętlany. Brak tego wpisu oznacza, Ŝe dźwięk syreny nie bę- dzie zapętlany (metoda z Trainz UTC).

Pliki dźwiękowe (*.wav): • horn.wav - dźwięk syreny dla modułu Lokomotywowni (nie za- pętlany), • horn_loop.wav - dźwięk syreny dla modułu Maszynisty, • horn_start.wav - początkowy plik dźwięku syreny, odtwarzany przed plikiem (dźwiękiem) zapętlanym, • idle.wav - domyślnie plik dźwiękowy dla dźwięku dzwonka lo- komotywy (klawisz „b” w module Maszynisty).

DODATEK TYPU: MASZYNISTA (KIND: DRIVERCHARACTER) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\textures\ Dodatek tego typu zawiera maszynistę (nowość w TRS 2004). Przykład dodatku typu Maszynista ( DriverCharacter) Z Internetu moŜna pobrać przykład tego dodatku ze strony: http://www.auran.com/TRS2004/downloads/contentcreation/DriverCharacter.zip

Aby uniknąć konfliktów radzimy zmienić nazwy źródłowych plików z pobranego archiwum ZIP. Plik config.txt dodatku DriverCharacter:

kind DriverCharacter dave64.tga face-texture dave64.texture kuid <KUID:-16:10129> mesh <KUID:-3:10130>

Wpisy w config.txt

face-texture - wpis definiuje ikonę maszynisty uŜywaną w grze TRS 2004. mesh - wpis zawierający KUID dodatku z siatką 3D wsta- wianą do siatki 3D lokomotywy w punkcie a.driver0 (tylko w module Maszynisty). Struktura folderu DriverCharacter Mesh:

kind mesh kuid <KUID:-3:10130> mesh-table

{ standing

{ mesh dave/dave.im

} sitting

{ mesh dave_lowres/dave_lowres.im

} }

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

58

DODATEK TYPU: WNĘTRZE (KIND: INTERIOR) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\interiors\ Dodatek tego typu zawiera wnętrze dodatku typu Traincar (lokomotywy lub wagonu). Odwołanie do tego dodatku zawarte jest we wpisie interior, w pliku config.txt dodatku Traincar. W TRS 2004, poprzez plik config.txt wnętrza, moŜna definiować ustawienia dla tego dodatku, uŜywając odwołań do jego siatki 3D. To daje wielkie moŜliwości w zastosowaniach skrypto-wych tego dodatku. Opisany dalej przykład dodatku z wnętrzem lokomotywy UP DD40, korzysta ze skryptu, ma animowane wycieraczki szyby przedniej i wentylatorki wnętrza, kontro-lowane przez przełączniki na tablicy rozdziel-czej. TakŜe włączenie świateł głównych loko-motywy, za pomocą wyłączników na tablicy rozdzielczej, powoduje renderowanie w grze siatki 3D lokomotywy z włączonymi światłami. Wnętrze lokomotywy UP DD40 jest najlepszym przykładem tego, czego moŜna dokonać uŜy-wając tylko standardowych „dźwigni”. Odsuwane okna, przestawialne osłony przeciw-słoneczne, obracany fotel maszynisty to ele-menty „działające” jako dźwignie. Na pewno nie oferują one swojej funkcjonalności z „realu”, ale dodają sporej porcji zabawy w grze! ☺ Pobierz z Internetu i zapoznaj się z przykładem wnętrza lokomotywy UP DD40, ze strony: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_dd40_interior.zip Pamiętaj: stworzone wnętrza, posiadające wpis „mesh-table” – nie będą działać w wersjach Trainz niŜszych od TRS 2004. Plik config.txt dodatku Interior lokomotywy DD40: kind interior script “DD40Cabin” class “DD40Cabin” kuid <KUID:-3:10085> cameralist {

camera0 -0.564, 0.984, 0.987, 13.528, -0.137 camera1 0.707, -0.333, 1.023, -6.189, -0.049 camera2 1.317, 0.949, 1.023, -13.501, -0.122 camera3 -1.058, 0.522, 0.887, 0.1, -0.089 camera4 -1.382, 0.78, 0.987, 6.592, -0.194 camera5 -1.361, 0.923, 1.137, 6.902, -0.503 camera6 -0.618, 0.715, 1.023, -0.983, -0.234

} cameradefault 3

mesh-table {

Wnętrze kabiny lokomotywy DD40: default {

mesh gen_dd40_int.im auto-create 1

} Fan_Switch {

kind lever auto-create 1 mesh switch_red.im att a.switch0

angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default } switchlight0 {

kind light mesh switchlight.pm att a.switch0 auto-create 0 att-parent default

} Wiper_Switch {

kind lever auto-create 1 mesh switch_red.im att a.switch1 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight1 {

kind light mesh switchlight.pm att a.switch1 auto-create 0 att-parent default

} Switch_3 {

kind lever

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

59

auto-create 1 mesh switch.pm att a.switch2 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight2 {

kind light mesh switchlight.pm att a.switch2 auto-create 0 att-parent default

} Switch_4 {

kind lever auto-create 1 mesh switch.pm att a.switch3 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight3 {

kind light mesh switchlight.pm att a.switch3 auto-create 0 att-parent default

} Switch_5 {

kind lever auto-create 1 mesh switch.pm att a.switch4 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight4 {

kind light mesh switchlight.pm att a.switch4 auto-create 0 att-parent default

} Switch_6 {

kind lever auto-create 1 mesh switch.pm att a.switch5 limits 0, 1 angles 0, -2

notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight5 {

kind light mesh switchlight.pm att a.switch5 auto-create 0 att-parent default

} Switch_7 {

kind lever auto-create 1 mesh switch.pm att a.switch6 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight6 {

kind light mesh switchlight.pm att a.switch6 auto-create 0 att-parent default

} Switch_8 {

kind lever auto-create 1 mesh switch.pm att a.switch7 limits 0, 1 angles 0, -2 notches 0, 1 notchheight 0, 0 mousespeed -1 radius 0.05 att-parent default

} switchlight7 {

kind light mesh switchlight.pm att a.switch7 auto-create 0 att-parent default

} reverser_lever {

kind lever auto-create 1 mesh reverser_lever.pm att a.reverser_lever limits 0, 2 angles 0.55, -0.55 notches 0, 0.5, 1 notchheight 1, 1, 1 att-parent default

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

60

} independantbrake_lever {

kind lever auto-create 1 mesh ind_brake_lever.pm att a.ind_brake_lever limits 0, 32 angles 0, -2.1 notches 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 notchheight 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 radius 0.15 att-parent default

} trainbrake_lever {

kind lever auto-create 1 mesh train_brake_lever.pm att a.train_brake_lever limits 0, 4 angles 0, -2.4 notches 0, 0.25, 0.27, 0.29, 0.31, 0.33, 0.35, 0.37, 0.39, 0.41, 0.43, 0.45, 0.47, 0.49, 0.5, 0.75, 1 notchheight 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1 radius 0.15 att-parent default

} throttle_lever {

kind lever auto-create 1 mesh throttle_lever.pm att a.thottle_lever limits 0, 8 angles 1.2, 0 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 1, 2, 2, 2, 2, 2, 2, 2, 1 radius 0.35 att-parent default

} dynamicbrake_lever {

kind lever auto-create 1 mesh dynamic_lever.pm att a.dynamic_brake limits 0, 2 angles 0, -1.2 notches 0, 0.5, 1 notchheight 1, 1, 1 radius 0.35 att-parent default

} light_switch {

kind lever auto-create 1 att a.light_switch mesh dial.pm limits 0, 1 angles 0, 4.5 notches 0, 0.5, 1 notchheight 0, 0, 0 att-parent default

}

ampmeter_needle {

kind needle auto-create 1 mesh ampmeter_needle.pm att a.ammeter limits 0, 1500 angles 0, 1.9 att-parent default

} bploco_equaliser {

kind needle auto-create 1 mesh whitepress_needle.pm att a.equaliser_pressure limits 0, 1000 att-parent default

} bplocomain_needle {

kind needle auto-create 1 mesh redpress_needle.pm att a.main_res_pressure limits 0, 1000 att-parent default

} bptrainbrakecylinder_needle {

kind needle auto-create 1 mesh redpress_needle.pm att a.brake_cyl_pressure limits 0, 1000 att-parent default

} bptrainbrakepipe_needle {

kind needle auto-create 1 mesh whitepress_needle.pm att a.brake_pipe_pressure limits 0, 1000 att-parent default

} speedo_needle {

kind needle auto-create 1 mesh whitepress_needle.pm att a.speedo limits 0, 48 att-parent default

} horn {

kind lever auto-create 1 mesh horn.pm att a.horn limits 0, 1 angles 0, -0.6 notches 0, 1 notchheight 3, 3 radius 0.16 mousespeed -2 att-parent default

} wheelslip_light

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

61

{ kind light auto-create 0 mesh wheelslip.pm

} swivel_chair {

kind lever auto-create 1 mesh chair.im att a.chair1 limits 0, 8 angles 6.8, -6.8 radius 0.5 mousespeed 0.2 att-parent default

} dial0 {

kind lever auto-create 1 att a.dial0 mesh dial.pm limits 0, 1 angles 0, 3.8 notches 0, 1 notchheight 0, 0 att-parent default

} dial1 {

kind lever auto-create 1 att a.dial1 mesh dial.pm limits 0, 1 angles 0, 3.8 notches 0, 1 notchheight 0, 0 att-parent default

} fan {

mesh fan.im anim fan.kin auto-create 1 att a.fan att-parent default

} visor0 {

mesh visor.im auto-create 1 att a.visor0 att-parent default kind lever mousespeed -1 limits 0, 1 angles 0, 1.7 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0

} visor1 {

mesh visor.im auto-create 1 att a.visor1 att-parent default kind lever mousespeed -1

limits 0, 1 angles 0, 1.7 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0

} sl_wind_R_Fr {

mesh sliding_wind_R_Fr.im auto-create 1 att a.sliding_wind_R_Fr att-parent default limits 0, 1.0 angles 0, 0.011 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0 kind lever

} sl_wind_R_Bk {

mesh sliding_wind_R_Bk.im auto-create 1 att a.sliding_wind_R_Bk att-parent default limits 0, 1.0 angles 0, -0.011 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0 mousespeed -1 kind lever

} sl_wind_L_Fr {

mesh sliding_wind_L_Fr.im auto-create 1 att a.sliding_wind_L_Fr att-parent default limits 0, 1.0 angles 0, -0.011 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0 kind lever

} sl_wind_L_Bk.im {

mesh sliding_wind_L_Bk.im auto-create 1 att a.sliding_wind_L_Bk att-parent default limits 0, 1.0 angles 0, 0.011 notches 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1 notchheight 0, 0, 0, 0, 0, 0, 0, 0, 0 mousespeed -1 kind lever

} wipers {

mesh wipers.im anim wipers.kin auto-create 1 att a.wipers att-parent default

} } Koniec pliku config.txt wnętrza lokomotywy DD-40.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

62

Plik DD40Cabin.gs Plik skryptu dla dodatku wnętrza (Interior), dla lokomotywy UP DD-40. Definiuje, Ŝe wyciera-czki i wentylatorki wnętrza mają być kontrolo-wane przez przełączniki na tablicy rozdzielczej, oraz Ŝe mają one być powiązane z lampkami kontrolnymi tablicy rozdzielczej. include “defaultlocomotivecabin.gs” class DD40CabinData isclass CabinData {

public bool animatingFan; public bool animatingWiper; public bool switchOn3; public bool switchOn4; public bool switchOn5; public bool switchOn6; public bool switchOn7; public bool switchOn8; };

class DD40Cabin isclass DefaultLocomotiveCabin

{ // Switches CabinControl cabin_fan_switch; CabinControl window_wipers; CabinControl switch3; CabinControl switch4; CabinControl switch5; CabinControl switch6; CabinControl switch7; CabinControl switch8; // Lights CabinControl cabin_fan_light; CabinControl window_wipers_light; CabinControl light3; CabinControl light4; CabinControl light5; CabinControl light6; CabinControl light7; CabinControl light8; thread void SlowFanDown(void); thread void SpeedFanUp(void); void UpdateFan(void); void UpdateWipers(void); thread void RunAnimation(void); float fanSpeed; bool isFanSpeedingUp; bool isFanSlowingDown; //! Attach this cabin to a game object (i.e. a locomotive). // // Param: obj Game object to attach this cabin to (usually a Locomotive). // void Attach(GameObject obj) {

inherited(obj); // get cabin data CabinData cd = loco.GetCabinData(); if(cd) { // reset the controls from saved values DD40CabinData ddcd =

cast<DD40CabinData>cd; float value = 0.0; // ANIMATING FAN if (ddcd.animatingFan) {

fanSpeed = 1.0; SetMeshAnimationSpeed(“fan”, 1.0); StartMeshAnimationLoop(“fan”); value = 1.0; } else value = 0.0; cabin_fan_switch.SetValue(value); cabin_fan_light.SetValue(value); // ANIMATING WIPER if (ddcd.animatingWiper) { value = 1.0; SetMeshAnimationSpeed(“wipers”, 1.0); StartMeshAnimationLoop(“wipers”); } else value = 0.0; window_wipers.SetValue(value); window_wipers_light.SetValue(value); // SWITCH 3 if (ddcd.switchOn3) value = 1.0; else value = 0.0; switch3.SetValue(value); light3.SetValue(value); // SWITCH 4 if (ddcd.switchOn4) value = 1.0; else value = 0.0; switch4.SetValue(value); light4.SetValue(value); // SWITCH 5 if (ddcd.switchOn5) value = 1.0; else value = 0.0; switch5.SetValue(value); light5.SetValue(value); // SWITCH 6 if (ddcd.switchOn6) value = 1.0; else value = 0.0; switch6.SetValue(value); light6.SetValue(value); // SWITCH 7 if (ddcd.switchOn7) value = 1.0; else value = 0.0; switch7.SetValue(value); light7.SetValue(value); // SWITCH 8 if (ddcd.switchOn8) value = 1.0; else value = 0.0; switch8.SetValue(value); light8.SetValue(value);

} else {

DD40CabinData ddd = new DD40CabinData(); loco.SetCabinData(ddd);

} }

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

63

void UserPressKey(string s)

{ if(s == “cabin-fans”) {

DD40CabinData cd = cast<DD40CabinData>l oco.GetCabinData(); cd.animatingFan = !cd.animatingFan; float value; if (cd.animatingFan) value = 1.0; else value = 0.0; cabin_fan_switch.SetValue(value); cabin_fan_light.SetValue(value); UpdateFan();

} if(s == “wipers”) {

DD40CabinData cd = cast<DD40CabinData>l oco.GetCabinData(); cd.animatingWiper = !cd.animatingWiper; float value; if (cd.animatingWiper) value = 1.0; else value = 0.0; window_wipers.SetValue(value); window_wipers_light.SetValue(value); UpdateWipers();

} } public void Init(void) {

inherited(); cabin_fan_switch = GetNamedControl(“fan_ switch”); window_wipers = GetNamedControl(“wiper_ switch”); switch3 = GetNamedControl(“switch_3”); switch4 = GetNamedControl(“switch_4”); switch5 = GetNamedControl(“switch_5”); switch6 = GetNamedControl(“switch_6”); switch7 = GetNamedControl(“switch_7”); switch8 = GetNamedControl(“switch_8”); cabin_fan_light = GetNamedControl(“switch light0”); window_wipers_light = GetNamedControl(“sw itchlight1”); light3 = GetNamedControl(“switchlight2”); light4 = GetNamedControl(“switchlight3”); light5 = GetNamedControl(“switchlight4”); light6 = GetNamedControl(“switchlight5”); light7 = GetNamedControl(“switchlight6”); light8 = GetNamedControl(“switchlight7”); RunAnimation();

} void UserSetControl(CabinControl p_control, float p_value)

{ DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); if (p_control == cabin_fan_switch)

{ bool wantFanAnimation = p_value > 0.5; if (wantFanAnimation != cd.animatingFan)

{ cd.animatingFan = wantFanAnimation; UpdateFan();

}

if (wantFanAnimation) cabin_fan_light.SetValue(1.0); else cabin_fan_light.SetValue(0.0);

} else if (p_control == window_wipers) {

bool wantWiperAnimation = p_value > 0.5; if (wantWiperAnimation != cd.animatingWiper)

{ cd.animatingWiper = wantWiperAnimation; UpdateWipers();

} if (wantWiperAnimation)

window_wipers_light.SetValue(1.0); else window_wipers_light.SetValue(0.0); } else if (p_control == switch3) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn) value = 1.0; light3.SetValue(value); cd.switchOn3 = value;

} else if (p_control == switch4) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn) value = 1.0; light4.SetValue(value); cd.switchOn4 = value;

} else if (p_control == switch5) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn) value = 1.0; light5.SetValue(value); cd.switchOn5 = value;

} else if (p_control == switch6) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn) value = 1.0; light6.SetValue(value); cd.switchOn6 = value;

} else if (p_control == switch7) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn) value = 1.0; light7.SetValue(value); cd.switchOn7 = value;

} else if (p_control == switch8) {

bool isOn = p_value > 0.5; float value = 0.0; if (isOn)

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

64

value = 1.0; light8.SetValue(value); cd.switchOn8 = value;

} else inherited(p_control, p_value); } thread void SlowFanDown(void) {

DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); if (isFanSlowingDown) return; isFanSlowingDown = true; isFanSpeedingUp = false; // Slow it down... while (fanSpeed > 0.1)

{ fanSpeed = fanSpeed - 0.1; SetMeshAnimationSpeed(“fan”, fanSpeed); Sleep(0.5); if (!isFanSlowingDown) return;

} fanSpeed = 0.0; StopMeshAnimation(“fan”); }

thread void SpeedFanUp(void) {

DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); if (isFanSpeedingUp) return; isFanSpeedingUp = true; isFanSlowingDown = false; // Speed it up... while (fanSpeed < 1.0)

{ fanSpeed = fanSpeed + 0.1; SetMeshAnimationSpeed(“fan”, fanSpeed); StartMeshAnimationLoop(“fan”); Sleep(0.5); if (!isFanSpeedingUp) return; }

fanSpeed = 1.0; SetMeshAnimationSpeed(“fan”, fanSpeed); //isFanSpeedingUp = false; } void UpdateFan(void) {

DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); if (cd.animatingFan) SpeedFanUp(); else SlowFanDown();

} void UpdateWipers(void) {

DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); // Don’t need to worry about else, as it will be handled when the loop is done. if (cd.animatingWiper) { SetMeshAnimationSpeed(“wipers”, 1.0); StartMeshAnimationLoop(“wipers”); }

}

thread void RunAnimation(void) {

DD40CabinData cd = cast<DD40CabinData>loc o.GetCabinData(); wait()

{ on “Animation-Event”, “wiperstop”: if (!cd.animatingWiper) StopMeshAnimation(“wipers”); continue;

} }

};

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

65

Wyjaśnienie wpisów w pliku config.txt dodatku typu WN ĘTRZE (INTERIOR): script class - wpisy zawierające nazwę pliku skryptu dla wnętrza, oraz nazwę klasy dodatku (nazwa klasy musi odpo- wiadać klasie zadeklarowanej wewnątrz skryptu). cameralist - lista kamer we wnętrzu. Wpisy zawierają numer ko- lejny kamery oraz współrzędne połoŜenia kamery w odniesieniu do punktu (Point z zakładki Helpers w Gmax) o nazwie a.cabfront. 0,0,0,0,0 - oznacza przesunięcia kamery w kierun- kach: lewo/prawo, przód/tył, góra/dół, obrót/pochy- lenie. Aby w najlepszy sposób dobrać parametry ca- mera , moŜna skorzystać z wpisu -freeintcam w pliku trainzoptions.txt . Dzięki temu wpisowi, obrót kame- ry we wnętrzu w czasie gry, sterowany jest klawisza- mi strzałek oraz myszką, a współrzędne aktualnego połoŜenia kamery wyświetlane są w lewym, dolnym rogu ekranu. MoŜna zrobić spis odpowiadających wartości do wstawienia we wpisy camera . cameradefault - numer domyślnej kamery, z której widok pojawia się po przejściu do trybu kabinowego w trakcie gry Urządzenia i przełączniki uŜywane we wnętrzu kabiny (INTERIOR ATTACHMENT TYPES): pantograph_lever - przełącznik/dźwignia pantografów. Do podnoszenia i opuszczania pantografów w lokomotywach elektry- cznych, horn - dźwignia/włącznik syreny – sygnału dźwiękowego lokomotywy, independantbrake_lever - dźwignia hamulca pomocniczego lokomotywy, reverser_lever - dźwignia nawrotnika (przód/0/tył), throttle_lever - dźwignia/koło nastawnika, trainbrake_lever - dźwignia hamulca głównego pociągu – jako taka, trainbrakelap_lever - dźwignia hamulca głównego wraz z poszczególnymi pozycjami hamowania, dynamicbrake_lever - dźwignia/przełącznik hamowania dynamicznego, bplocomain_needle - wskazówka manometru zbiornika głównego układu hamulcowego, bploco_equalizer - wskazówka manometru zbiornika wyrównawczego, bptrainbrakepipe_needle - wskazówka manometru głównego przewodu układu hamulcowego, bptrainbrakecylinder_needle - wskazówka manometru cylindra hamulcowego, speedo_needle - wskazówka prędkościomierza lokomotywy, ampmeter_needle - wskazówka amperomierza,

flow_needle - wskazówka manometru przepływomierza, windows - teksturowana siatka 3D o 50% przeźroczystości (semi-transparent) dla stworzenia efektu odbić (ref- leksów) światła. Ta siatka posiada identyczny, do siatki kabiny, punkt odniesienia (0,0,0), więc nie po- trzebuje punktu przyłączania w siatce kabiny, wheelslip_light - siatka 3D lampki ostrzegawczej poślizgu, która zapa- la się, gdy koła wózków napędowch lokomotywy wpadają w poślizg na szynach. Ta siatka posiada identyczny, do siatki kabiny, punkt odniesienia (0,0,0), więc nie potrzebuje punktu przyłączania w siatce 3D kabiny, switch0, switch1 itd… - przełączniki, light_switch - włącznik świateł głównych lokomotywy, Dodatkowe urządzenia i przełączniki we wnę-trzu kabiny (INTERIOR ATTACHMENT VARIA-BLES): Kinds: lever - dźwignie, przełączniki, tarcze wskaźników, itp., animated-lever - dźwignie i przełączniki zawierające animacje, np. w kabinie parowozu, collision-proxy - definicje zdarzeń po „najechaniu” wskaźnikiem my- szki na animowany przełącznik, dźwignię, needle - wskazówki zegarów, np. prędkościomierza, mano- metrów ciśnienia, pullrope - sznur (lina) uruchamiająca w niektórych lokomoty- wach syrenę (w grze klawisz F7), light - lampka ostrzegawcza poślizgu kół lokomotywy, mesh - plik dodatkowej siatki 3D, która ma zostać wstawio- na, att - „punkty przyłączania”, w których ma zostać wstawio- na dodatkowa siatka 3D. JeŜeli punkty „przyłączania” nie zostaną określone, dodatkowa siatka 3D zostanie wstawiona (przyłączona) do punktu (Point z zakładki Helpers w Gmax-ie) o nazwie a.cabfront (domyślny „punkt przyłączania” głównej siatki 3D modelu loko- motywy), limits - matematyczne wartości graniczne, uŜywane przez Trainz do określenia funkcji obiektów. Te wartości są róŜne, poniewaŜ róŜne obiekty uŜywają róŜnych ma- tematycznych i fizycznych jednostek miary. Na ogół stosuje się domyślne wartości uŜyte w dołączonych plikach config.txt, angles - maksymalne wartości obrotu, wyraŜone w radianach, odpowiednie dla odnośnych punktów „przyłączania”. Do zamiany stopni kątowych na radiany i odwrotnie pomocny będzie diagram „RADIANY-STOPNIE”, pokazany na następnej stronie,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

66

notches - pozycje nastawnika z wartościami kątowymi (w ra- dianach) kaŜdej z pozycji. Są one reprezentowane jako ułamki dziesiętne pomiędzy od 0 (włącznie) do 1 (włącznie), notchheight - „rozmiar” (zakres) dla kaŜdej pozycji nastawnika, radius - pozycja nastawnika w odniesieniu do „punktu przy- łączania”, mousespeed - wpis definiujący, Ŝe dla danego elementu będzie moŜna uŜywać myszki w trakcie gry. Wpis kontroluje prędkość poruszania się wskaźnika myszki oraz kie- runek jego ruchu podczas przełączania przełączni- ka/dźwigni:

• mousespeed -1 - odwraca kierunek ruchu wskaźnika myszki; • mousespeed 2 - podwójna prędkość ruchu wskaźnika myszki w domyślnym kierunku;.

• mousespeed -0.5 - odwrócony kierunek i zmniejszona o połowę prędkość ruchu wskaź- nika myszki,

test-collisions 0 - tego elementu nie będzie moŜna kontrolować w grze kursorem myszki. PoniewaŜ posiada on oddzielną siatkę 3D z animacją (np. animowane dźwignie/prze- łączniki), opacity - wpis zazwyczaj uŜywany dla siatki okien, aby nadać im przeźroczystość (a takŜe efekt odbić światła).

Diagram RADIANY-STOPNIE (dla właściwości angle)

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

67

Tworzenie wn ętrza kabiny lokomotywy dla TRS 2004

Wprowadzenie Dodatek typu Wnętrze (Interior) jest chyba najbardziej pracochłonnym ze wszystkich do-datków do TRS 2004. Ten fakt jest bez wątpie-nia powodem tego, Ŝe tak mało jest dodatko-wych wnętrz kabin. Na stworzenie od podstaw pojedynczego dodatku typu wnętrze trzeba poświęcić zazwyczaj około dwóch tygodni pracy po 8 godzin dziennie. I to, nie wliczając czasu poświęconego na przygotowania, projekto-wanie, przygotowanie tekstur, testowanie i po-prawianie dodatku! Firma Auran uŜywa progra-mów 3D Studio Max i Photoshop do tworzenia dodatków wnętrz. Przewagą 3DS Max nad Gmax-em jest moŜliwość renderowania stwo-rzonych modeli. W dalszej części tego opisu przekonasz się, Ŝe wyrenderowane obrazy mo-delu wnętrza kabiny są integralną częścią pro-cesu przygotowania tekstur dla dodatku. PoniewaŜ wnętrze kaŜdej kabiny jest unikalne, to z kaŜdym dodatkiem wnętrza wiąŜą się inne zagadnienia i wymagania. Np. wnętrze kabiny parowozu zawiera animację ognia w palenisku, animowane dźwignie i pokrętła zaworów. W elektrowozach występują pantografy i mier-niki elektryczne (woltomierze, amperomierze), a znowu lokomotywy spalinowe mają moŜliwość hamowania dynamicznego i inne specyficzne cechy i wymagania. Fazy modelowania i nakładania tekstur PoniŜej przedstawiono kolejne kroki przykła-dowego procesu tworzenia modelu 3D wnętrza, oraz tekstury i ich powiązania ze sobą, aby dać Ci pojęcie o strukturze dodatku typu Wnętrze (Interior): • faza 1 – poszukiwanie materiałów źródłowych i przygotowania; • faza 2 – modelowanie 3D; • faza 3 – rozmieszczenie tekstur wysokiej roz- dzielczości (hi–res); • faza 4 – rozmieszczenia źródeł światła w sce- nie 3D; • faza 5 – wyrenderowanie wnętrza modelu 3D kabiny (dla uzyskania właściwych tekstur); • faza 6 – właściwe teksturowanie modelu; • faza 7 – dodanie do modelu 3D wnętrza „pun- któw przyłączania”; • faza 8 – wyeksportowanie modelu do formatu Trainz i stworzenie pliku config.txt dla dodatku. Faza 1 – Poszukiwania i przygotowania Bardzo duŜo informacji moŜna znaleźć w Inter-necie. Firma Auran mała ten luksus, Ŝe mogła stworzyć ogólny szablon wnętrza kabiny, który

potem mogła wykorzystywać przy tworzeniu kolejnych, poszczególnych wnętrz. Szczególnie duŜo czasu warto poświęcić na poprawne przy-gotowanie warstwy okien i drzwi. TakŜe pozo-stałe główne elementy kabiny, takie jak ele-menty konstrukcji, przedziały elektryczne, dźwięki, itp., powinny zostać dokładnie dopra-cowane, aby wyglądały w grze dostatecznie przekonywująco. Warunkiem takiego dopraco-wania jest niewątpliwie dostępność odpowied-niej liczby informacji i materiałów źródłowych. Np. na pewno często spotkasz fotografie przed-stawiające pulpity sterownicze i widok „na wprost” przez przednie okna lokomotywy. Ale duŜo trudniej będzie znaleźć fotografie tylnej ściany kabiny (za plecami maszynisty)! Jest natomiast jedna rzecz, podczas tworzenia której nie musisz dysponować dokładną, tech-niczną dokumentacją. Wystarczy trochę wyob-raźni, nie tylko przestrzennej… Są to róŜnego rodzaju „dodatkowe” przedmioty w kabinie lo-komotywy. Weźmy za przykład animowane wiatraczki w kabinie lokomotywy DD40. Faza 2 – Modelowanie 3D Rozpoczynamy modelowanie, pamiętając, Ŝe tworzymy model na potrzeby gry. Musimy osiągnąć zamierzony efekt, tworząc model skła-dający się z jak najmniejszej ilości polygonów (wielokątów). Na tym etapie moŜemy dodać róŜne specyficzne elementy (np. wycieraczki szyb, przewody, podgrzewacze, itp.), które będą na koniec miały formę tektury i zostaną usunięte po fazie renderingu. WaŜne: wielu twórców gier i dodatków do nich, tworzy bardzo szczegółowe i zawierające olbrzy-mią liczbę polygonów modele dla celów rende-ringu. Następnie, tekstury powstałe w takim renderingu, są przypisywane do mniej szcze-gółowych modeli, zawierających mało polygo-nów. W tym kroku powinny zostać wymodelowane kontury kabiny, okna, dźwignie, róŜne akceso-ria, przewody. Limity liczby polygonów są w TRS 2004 trochę bardziej elastyczne, dzięki zwiększeniu moŜliwości „silnika graficznego” gry. Jednak nie przesadzaj! ☺ Jako wskazówkę, co do ilości polygonów w mo-delu wnętrza kabiny podano poniŜej liczbę poly-gonów dla poszczególnych elementów wnętrza kabiny róŜnych typów lokomotyw: Parowóz QR PB15 • kontur kabiny, elementy zewnętrzne widoczne z wnętrza, przewody, rurki, cylindry zbiorników, za- wory, palenisko = 7 941 polygonów; • zawór odcinający = 86 polygonów; • manometr kotła = 14 polygonów; • dźwignia hamulca = 86 polygonów; • dźwignia zwalniania hamulca = 40 polygonów;

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

68

• animowany panel ognia = 513 polygonów; • animowany zawór inŜektora = 122 polygony; • animowana dźwignia przepustnicy = 244 polygony; • animowana dźwignia nawrotnika = 132 polygony; • animowane siedzenie = 132 polygony; • dźwignia piasecznic = 28 polygonów; • dźwignia gwizdka = 68 polygonów; Elektrowóz SBB Krokodil (dostępny do pobrania w DLS) • kontur kabiny, tablica rozdzielcza, siedzenia, wskaź- niki, elementy zewn. widoczne z wewnątrz, gaśnica ppoŜ.= 3 362 polygony; • hamulec kołowy = 220 polygonów; • dźwignia syreny = 46 polygonów; • dźwignia nawrotnika = 124 polygony; • koło nastawnika = 154 polygony; Elektrowóz SNCF TGV • kontur kabiny, tablica rozdzielcza, siedzenia oraz okna = 1 886 polygonów; • dźwignia hamulca = 54 polygony; • dźwignia pantografu = 94 polygony; • pierścień nastawnika = 96 polygonów; • dźwignia nawrotnika = 38 polygonów; Lokomotywa spalinowa UP DD40 • kontur kabiny, tablica rozdzielcza, siedzenie maszy- nisty, wskaźniki, elementy zewn. widoczne z wew- nątrz, okna, podstawa dźwigni hamulca, gaśnica ppoŜ. = 2 629 polygonów; • animowany wiatraczek (z łopatkami) = 354 polygony; • obrotowe siedzenie = 180 polygonów; • osłona słoneczna = 94 polygonów; • animowane wycieraczki szyby = 96 polygonów; • dźwignia hamulca głównego = 60 polygonów; • dźwignia hamulca lokomotywy = 50 polygonów. Faza 3 – Rozmieszczenie tekstur wysokiej roz- dzielczości (Hi-res textures) To jest pierwszy, z trzech etapów teksturowania modelu, mający na celu stworzenie właściwych tekstur dla modelu. W edytorze materiałów w 3DS Max, w kanale „Diffuse” przypisujemy tekstury „hi-res” do kaŜdej powierzchni modelu, uŜywając modyfikatorów mapowania z panelu „Modify”: „UVW map” oraz „Unwrap UVW”. Obok, u góry - przykład tekstury „hi-res” przy-pisanej w pierwszym etapie do części modelu wnętrza kabiny lokomotywy DD40. WaŜne, aby dopasować wymiary posiadanych tekstur do wymiarów modelu 3D. Zapobiegnie to efektowi „ściskania” lub „rozciągnięcia” tekstury podczas mapowania powierzchni. Bardzo waŜną rzeczą jest takŜe zniwelowanie róŜnicy pomiędzy oświetlonym, a zacienionym wyglądem mater-iału (kanały „Ambient”, „Diffuse” i „Specular” w edytorze materiałów w 3DS Max) dla tekstur, które zostaną wyrenderowane podczas rendero-wania modelu wnętrza. Dodanie efektu „zabru-dzenia” i „zuŜycia” niektórych powierzchni, jest zwykle niezbędne dla uzyskania realistycznego

wyglądu (stosuj konsekwentnie dla wszystkich tekstur). W wielu przypadkach moŜna i naleŜy stworzyć kopię tekstury „hi-res” w odcieniach szarości i przypisać ją w edytorze materiałów, w 3DS Max, do kanału „Bump” głównej tekstury „hi-res”, co pozwoli na uzyskanie efektu nierów-ności (wypukłości) na mapowanych powierzch-niach. MoŜna takŜe ustawić kanały wypolerowa-nia „Specular”, oraz połyskliwości „Glossiness”, przed następnym krokiem tworzenia dodatku. Tekstura „hi-res” (800x887px) w kanale „Diffuse” dla kabiny DD40:

Tekstura „hi-res” (800x887px) w odcieniach szarości, uŜyta jako mapa nierówności w kanale „Bump” dla kabiny DD40:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

69

Faza 4 – Rozmieszczenie źródeł światła w scenie 3D Pierwszy etap teksturowania mamy za sobą. Czas teraz na bardzo waŜny krok – oświetlenie sceny 3D za pomocą źródeł światła. W 3DS Max zaimplementowano wiele róŜnych źródeł świa-tła. Do naszych zastosowań najbardziej nadają się te dwa:

reflektor kierunkowy (target spotlight) Główne źródło światła w naszej scenie 3D, imitujące słońce.

światło wypełniające (omni light) delikatne światło otaczające – wypełniające.

Dla kaŜdego źródła światła w 3DS Max usta-wienie ujemnej wartości parametru „multiplier”, zamienia je w źródło „cienia”. Wtedy nie emi-tuje ono, a „zabiera” światło ze sceny. Przydat-ne, gdy trzeba „dociemnić” jakiś element sceny 3D. Trzeba będzie poeksperymentować z umiejsco-wieniem źródeł światła i z ustawieniami ich intensywności („multiplier”), aby scena nabrała realistycznego wyglądu.

Omni light Omni light Multiplyer: 0.7 Multiplyer: 0.7 Contrast: 50 Contrast: 70 Soften Dif. Edge: 100.0 Soften Dif. Edge: 100.0 Far attenuation: Start: 2.0m Far attenuation: Start: 2.0m

End: 3.0m End: 3.0m Decay: none Decay: none Object shadows: On Object shadows: On

- Shadow map - Shadow map

Target Spotlight Multiplyer: 1.6 Contrast: 0.0 Soften Dif. Edge: 100.0 Far attenuation: Start: 9.0m

End: 14.0m Decay: none Object shadows: On - Shadow map

Omni light Multiplyer: 0.6 Contrast: 100 Soften Dif. Edge: 100.0 Far attenuation: Start: 5.0m

End: 10.0m Decay: none Object shadows: On - Shadow map Omni light Multiplyer: 0.4 Contrast: 10 Soften Dif. Edge: 100.0 Far attenuation: Start: 2.0m

End: 3.0m Decay: none Object shadows: On - Shadow map

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

70

Faza 5 – Wyrenderowanie wnętrza modelu 3D kabiny Ten krok, to jednocześnie drugi etap teksturo-wania modelu wnętrza kabiny. Polega on na wy-renderowaniu wszystkich detali kabiny (przód, tył, boki, podłoga, sufit, drzwi, pulpity, wnęki, itp.) i zapisanie wyników renderingu w plikach graficznych. W wyniku tego powstają tzw. teks-tury „realtime”. Istnieje bardzo uŜyteczny plug-in do 3DS Max o nazwie „Cast Shadows Only” autorstwa Blur Studios. To rodzaj materiału 3DS Max, który czyni obiekty niewidzialnymi, ale jednocześnie pozwala takim obiektom na rzucanie cienia. Bardzo uŜyteczny, jeŜeli chcesz kontrolować, które elementy sceny powinny zostać wyrende-rowane, a które nie. Przy pomocy tego plug-inu tworzy się drugą „powłokę” tej samej kabiny, z otworami okiennymi, która pomaga stworzyć poprawne cienie konturów okien i ich obramo-wań we wnętrzu kabiny, oraz dokończyć tekstu-rowanie modelu 3D dodatku wnętrza kabiny. Plug-in „Cast Shadows Only” do 3DS Max moŜna pobrać z Internetu ze strony: http://www.3dmaxer.dk/plugsdown4.asp?id=45 Ten plug-in 3DS Max wymaga do działania na-rzędzia o nazwie „Blurlib”, do pobrania pod adresem:http://www.3dmaxer.dk/plugsdown4.asp?id=43

Wnętrze kabiny lokomotywy DD40 po fazie 5:

Faza 6 – Właściwe teksturowanie modelu Ten krok polega na nałoŜeniu tekstur „real-time”, wyrenderowanych w fazie 5 do specjal-nego pliku graficznego, który to plik potrafi od-czytać TRS. Ilustracja po prawej stronie przed-stawia jeden z plików tekstur „realtime” wnę-

trza kabiny lokomotywy DD40. ZauwaŜ, Ŝe wyrenderowana tekstura, opisana wcześniej, jest teraz częścią pliku z teksturami „realtime”. Są tu teŜ wyrenderowane tekstury dwóch bocz-nych ścian i tylnej ściany kabiny. Drzwi przednie zostały obrócone o kąt 90 stopni, a takŜe za-mienione miejscem z renderingiem podłogi. To normalna praktyka, aby zoptymalizować wyko-rzystanie miejsca w pliku tekstury „realtime”. Kiedy juŜ stworzysz taki plik, konieczne będzie ponowne przypisanie poszczególnych fragmen-tów tekstury „realtime” odpowiednim płaszczy-znom modelu 3D. W większości przypadków polega to na ponownym przypisaniu modyfika-torów „UVW map” oraz „Unwrap UVW”. Tekstura „realtime” kabiny lokomotywy DD-40:

Faza 7 – Dodanie do modelu 3D wnętrza „pun- któw przyłączania” Kiedy nowe tekstury – „realtime” zostaną juŜ przypisane do modelu, nadchodzi kolej na po-dzielenie modelu na logiczne części i dodanie „punktów przyłączania”. WaŜne: wykonanie logicznego podziału modelu, opisanego poniŜej, zaoszczędzi później sporo czasu i frustracji. Przed wykonaniem tego po-działu, dobrze jest zapisać plik z „niepodzielo-nym” modelem jako kopię bezpieczeństwa! KaŜdy element modelu, który moŜe być poru-szany w trakcie gry lub posiada animację (np. dźwignie, koła nastawnika, przełączniki, wycie-raczki, itp.), musi zostać „odłączony” od głów-nej siatki 3D modelu. Aby to wykonać naleŜy zaznaczyć polygony składowe odłączanego elementu modelu i w panelu „Modify” 3DS Max kliknąć przycisk „Detach” (odłącz). NaleŜy rów-nieŜ nadać nazwę odłączonemu elementowi modelu.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

71

Aby uczynić sobie później Ŝycie łatwiejszym, wskazane jest przesunięcie, na tym etapie, punktu obrotu – „pivot point” kaŜdego nowo utworzonego (poprzez odłączenie) elementu modelu, do rzeczywistego punktu obrotu tego elementu. Np. wskazówki manometrów i mierni-ków, koła nastawników, pokrętła zaworów – powinny mieć punkt obrotu („pivot point”) usta-wiony w swoim centrum (geometryczny śro-dek), z orientacją obrotu wokół osi Z. Wychylane dźwignie i przełączniki powinny mieć punkt obrotu przy swojej podstawie i orientację obrotu wokół osi Y. Aby to wykonać w 3DS Max, naleŜy mając zaznaczony odpowiedni element, w panelu „Hierarchy” kliknąć na przycisk „Affect Pivot Only”. Od tej chwili moŜna przesuwać i obracać punkt obrotu („pivot point”) przy po-mocy narzędzi „Move” oraz „Rotate” do odpo-wiedniego połoŜenia. Uwaga dla u Ŝytkowników Gmax-a: Oczywiście moŜna pominąć fazy 3 oraz 6 i moŜna przygotować tekstury „realtime” od razu w formie pliku graficznego, w programie graficznym 2D. A następnie przypisać te tekstury do modelu 3D. Jednak, przyglądając się wnętrzom kabin lokomo-tyw dołączonych do TRS 2004 przez Auran, trzeba przyznać, Ŝe wykonanie dodatku wnętrza kabiny pełną, opisywaną tu techniką, dodaje reali-stycznej atmosfery kaŜdemu wnętrzu. Przeana-lizowanie rozkładu oświetlenia w prawdziwej kabinie, oraz refleksów i odbić na niektórych po-wierzchniach, a następnie zastosowanie efektów tych przemyśleń do tekstur i materiałów w swoim modelu wnętrza kabiny jest tym czynnikiem, który decyduje o tym, czy stworzysz bardzo realisty-czną, czy „koszmarną” kabinę. UŜycie 3DS Max w procesie tworzenia dodatku wnętrza pozwala pominąć, nieunikniony w Gmax, etap przypusz-czeń i zgadywania metodą prób i błędów. 3DS Max pozwoli od razu stworzyć kabinę z oświetle-niem przypominającym realistyczne oświetlenie. Wymaga to trochę dodatkowego czasu poświę-conego modelowi, ale wyniki są warte wysiłku! Kiedy wszystkie nowe obiekty w scenie (pow-stałe przez odłączanie) mają juŜ właściwie zorientowane punkty obrotu - czas na kolejny etap tej fazy – dodanie „punktów przyłączania”. „Punkty przyłączania” w 3DS Max tworzy się tak samo, jak w Gmax – w panelu „Create” zakład-ka „Helpers” i przycisk „Point” (ilustracja u góry obok). Nadając nazwy nowo utworzonym pun-ktom, pamiętaj o obowiązku stosowania w na-zwach konwencji: a.nazwa. „Punkty przyłącza-nia” są po prostu punktami w przestrzeni 3D, w które moŜe zostać wstawiona – dzięki odwo-łaniom (wpisom)

w pliku config.txt - inna siatka 3D (inny model 3D).

Kiedy dodasz juŜ wszystkie niezbędne „punkty przyłączania” do głównego modelu oraz do nowo utworzo-nych (przez odłącza-nie) elementów, musisz wyrównać pozycję (umiejscowie-nie) tych punktów do ustawionych wcześniej punktów obrotu („pivot point”). Mając zaznaczony jeden „punkt przyłączania”, kliknij ikonę „Align” � i w nowo otwartym oknie wybierz opcje: Align position: X, Y oraz Z Current and Target: Pivot Point Align orientation: X, Y oraz Z Operację powtórz dla kaŜdego „punktu przyłą-czania”. Owe „punkty przyłączania” są eksportowane do formatu Trainz, jako części głównej siatki 3D modelu. Obiekty do przyłączania (nowe elemen-ty utworzone poprzez „odłączanie” z głównego modelu) nie mogą być dołączone do sceny z głównym modelem podczas eksportowania. KaŜdy z takich elementów musi zostać wyeks-portowany do formatu Trainz z ODDZIELNEGO pliku 3DS Max-a, i w trakcie gry zostaje dołą-czony w odpowiednim punkcie modelu głów-nego, poprzez wpisy w config.txt głównego modelu. Nie znaczy to oczywiście, Ŝe trzeba zaraz usunąć te dodatkowe elementy z pliku głównego modelu 3D i modelować je od nowa, kaŜdy w oddzielnym pliku. Wystarczy zaznaczyć wyb-rany element i z menu FILE wybrać opcję „Save selected”. To pozwoli zapisać wyselekcjonowany element w nowym, oddzielnym pliku 3DS Max (naleŜy mu oczywiście nadać adekwatną do za-wartości nazwę). Po zapisaniu wybranego ele-mentu w oddzielnym pliku, moŜna go juŜ usu-nąć ze sceny głównego modelu 3D. Oczywiście operację trzeba powtórzyć dla wszystkich do-datkowych (powstałych przez „odłączanie”) ele-mentów z pliku głównego modelu 3D. Następnie trzeba (po kolei) otworzyć kaŜdy z plików 3DS Max, które właśnie zostały utwo-rzone (z dodatkowymi elementami do przyłą-czania) po to, aby przesunąć zapisany w nim

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

72

element do początku układu współrzędnych, (0,0,0) oraz nadać wartości 0,0,0 parametrom obrotu. To waŜna czynność, która umoŜliwia prawidłowe zorientowanie w przestrzeni 3D (w stosunku do przestrzeni 3D głównego mode-lu) kaŜdego z dodatkowych elementów. Kliknij prawym przyciskiem myszki po kolei kaŜ-

dą z ikon pokazanych obok (�) z głównego paska narzędzi 3DS Max, i w otwartym oknie wpisz

odpowiednie wartości (0,0,0). Czas teraz na wyeksportowanie wszystkich obiektów składających się na model wnętrza (główny model i elementy przeznaczone do dołączania) do formatu siatki Trainz (*.im). WaŜne: kiedy dźwignia lub inny dodatkowy element jest dołączany do głównej siatki modelu – jest on dołączany dokładnie w tym miejscu i w tej orientacji, jaką po-siadał w scenie 3D głównego modelu! Dlatego ustawienie wcześniej punktu obrotu („pivot point”) oraz wyrównanie (align) ”pun-któw przyłączania” w scenie 3D głównego modelu, i potem we własnej scenie 3D kaŜdego elementu, zniweluje moŜliwość występowania błędów podczas gry. Obrót powinien odbywać się zawsze wokół osi Z „punktu przyłączania”, natomiast w grze wyś-wietlany jest domyślnie w dodatnim połoŜeniu Y (zgodnie z ruchem wskazówek zegara), wokół osi Z. Wypisanie ustawień kątów w pliku config.txt pomoŜe wyregulować domyślne usta-wienie elementów obrotowych. Faza 8 – wyeksportowanie modelu do formatu Trainz i stworzenie pliku config.txt dla dodatku Eksportowanie obiektów z 3DS Max. Potrzebny jest tylko dodatek Trainz Exporter Plugin do 3D Studio Max (lub w przypadku Gmax – plug-in Asset Creation Studio). Obydwa dodatki moŜna pobrać z Internetu na stronie: http://www.auran.com/trainz/contentcreation.htm Zaznacz obiekty w scenie 3D, które mają zostać wyeksportowane, z menu wybierz File�Export Selected, wybierz Trainz Format i pamiętaj o wpisaniu rozszerzenia w oknie dialogowym „File name”. Wszystkie pliki siatek danego dodatku powinny zostać zapisane w jednym folderze, razem z plikiem config.txt dla dodatku. W przypadku, gdy tak nie jest, w pliku config.txt powinna znaleźć się ścieŜka dostępu do pliku(ów) siatek „.im” umieszczonych w innym folderze.

Przykład: fan

{ mesh fan/fan.im anim fan/fan.kin auto-create 1 att a.fan att-parent default

}

Po wyeksportowaniu siatki głównego modelu, musisz wyeksportować siatki WSZYSTKICH do-datkowych elementów modelu (przeznaczo-nych do przyłączania do głównej siatki). JeŜeli tego nie zrobisz, to w trakcie gry na pewno wy-stąpi „Fatal error” (bo plik config.txt będzie za-wierał odwołania do nieistniejących siatek). Stworzenie pliku Config.txt Warto pamiętać o kilku rzeczach: 1) Mesh-table dodatek Wnętrza (Interior) uŜywa tych samych właściwości i parametrów, co kaŜdy inny dodatek TRS zbudowany z siatki 3D. Musisz dodać wpis auto-create 1, aby twój dodatek w ogóle był widoczny w grze. Oczywiście moŜe zdarzyć się, Ŝe nie chcesz, aby jakiś dodatek był domyślnie widoczny. Za przykład weźmy lampki kontrolne przełączników. Mają one wpis auto-create 0 w pliku config.txt. i ich wido-czność w trakcie gry kontroluje skrypt (wido-czne są, gdy ich wyłącznik jest w pozycji „włą-czony”). 2) Animacje: WaŜne, Ŝeby nie dodawać wpisu animation-loop-speed 1 dla animowanych wycieraczek szyby i wiatraczków. Są one domyślnie wido-czne, ale animacja nie jest odtwarzana, ponie-waŜ jest ona kontrolowana przez skrypt. JeŜeli dodamy do pliku config.txt wpis animation-loop-speed 1, to animacja tych elementów bę-dzie automatycznie odtwarzana i powtarzana (niezaleŜnie od skryptu). 3) Dźwignie: Osłony przeciwsłoneczne, obrotowe siedzenia i odsuwane okna posiadają wpisy takie same, jak dla dźwigni. W tych trzech przypadkach wpis notchheights o wartości 0 oznacza, Ŝe te trzy elementy są wyświetlane w domyślnym połoŜeniu. W przypadku osłon przeciwsłonecznych oraz od-suwanych okien, kaŜdy z tych elementów posia-da numerowane pozycje połoŜenia. To pozwala w trakcie gry decydować o stopniu otwarcia ok-na, czy stopniu opuszczenia osłony przeciwsło-necznej ☺.Odsuwane okna mają bardzo duŜy promień (30 m) i bardzo mały kąt obrotu.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

73

Wnętrza lokomotyw parowych (parowozów) Wprowadzenie Generalnie dodatki typu WNĘTRZE lokomotyw parowych dla TRS 2004 wymagają tych samych ustawień i wpisów, co dodatki wnętrz kabin lokomotyw elektrycznych i spalinowych. Z wyją-tkiem kilku specyficznych szczegółów. Wiele z dźwigni ma róŜne, dodatkowe ruchome ele-menty, które wymagają animacji kontrolowanej wskaźnikiem myszy. To róŜnica w stosunku do „zwykłej” dźwigni, która jest tylko jednym „obrotowym” obiektem, z jednym punktem ob-rotu („pivot point”) i z jednym „punktem przy-łączania”. Nie tylko dźwignie zawierają róŜnice. Np. palenisko, samo w sobie, musi produkować animowany ogień i Ŝar. TakŜe ładowacz węgla – pomocnik maszynisty musi być „powiązany” z ustawieniami dotyczącymi węgla. Pobierz i zapoznaj się z plikami źródłowymi i z plikami wynikowymi wnętrza kabiny parowo-zu PB15: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_PB15_interior.zip Zapoznaj się takŜe z poniŜszym przykładem pliku config.txt parowozu PB15: kuid <KUID:-3:10191> kind interior script “pb15cabin” class “PB15Cabin” camera -0.769, 0.566, 0.617 cameralist {

camera0 0.817, 0.026, 0.654, 0.026, -0.146 camera1 -0.808, 0.474, 0.694, 0.214, -0.773 camera2 -1.429, 0.461, 0.617, 0.162, -0.075 camera3 -0.769, 0.566, 0.617,0.157, -0.125 camera4 0.703, 0.831, 0.694, -0.715, -0.561 camera5 1.344, 0.305, 0.617, -0.015, -0.049

} cameradefault 3 obsolete-table {

0 <KUID:44179:55003> } soundscript {

coal_on { trigger coal_on attachment a.coalman ambient 1 nostartdelay 1 repeat-delay 0,0.001 distance 5,200 sound

{ sound/coal_shovel2.wav

} } shovel_againstmetal

{ trigger shovel_againstmetal attachment a.coalman ambient 1 nostartdelay 1 repeat-delay 0,0.001 distance 5,200 sound

{ sound/shovel_hit.wav }

} step_metal

{ trigger step_metal attachment a.coalman ambient 1 nostartdelay 1 repeat-delay 0,0.001 distance 5,200 sound

{ sound/metal_footstep_left.wav }

} coal_off

{ trigger coal_off attachment a.coalman ambient 1 nostartdelay 1 repeat-delay 0,0.001 distance 5,200 sound

{ sound/coal_into_firebox1.wav }

} } mesh-table {

default { mesh PB_interior_main.im auto-create 1 }

trainbrake_lever { mesh brake_lever/brake_lever.im auto-create 1 att a.brake limits 0, 4 angles -0.75, 0.35 notches 0, 0.5,1.0 notchheight 1, 1, 1 radius 0.16 att-parent default kind lever }

left_window { mesh window_sides.im auto-create 1 limits 0, 1.0 angles 0, -1 notches 0, 1.0 notchheight 1,1 att a.window_l att-parent default

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

74

kind lever }

right_window { mesh window_sides.im auto-create 1 att a.window_r att-parent default limits 0, 1.0 angles 0, -1 notches 0, 1.0 notchheight 1,1 kind lever }

left_sliding_window { mesh window_sliding.im auto-create 1 att a.windowsliding_l att-parent default limits 0, 1.0 angles 0, -0.009 notches 0, 1.0 notchheight 1,1 kind lever }

right_sliding_window { mesh window_sliding.im auto-create 1 att a.windowsliding_r att-parent default limits 0, 1 angles 0, -0.009 notches 0, 1.0 notchheight 1,1 kind lever }

cylinder_drain { limits 0,4 angles 0,-0.3 mesh cylinder_clean/cylinder_clean.im auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 att a.cylinderclean att-parent default kind lever }

regulator { mesh regulator/regulator.im anim regulator/regulator.kin auto-create 1 att a.regulator limits 0, 1.0 x-notches 0, 0.25, 0.5, 0.75, 1.0 x-notchheight 1, 1, 1, 1, 1 att-parent default kind animated-lever test-collisions 0 mousespeed -1.0 }

regulator-collision-box { mesh regulator/selection_box/selection_ box.im att-parent regulator att a.selection_box

auto-create 1 kind collision-proxy opacity 0 collision-parent regulator }

seat0 { mesh seat/seat.im anim seat/seat.kin auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 att a.seat0 att-parent default kind animated-lever test-collisions 0 }

seat0-collision-box { mesh seat/selection_box/selection_box.im att-parent seat0 att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent seat0 }

seat1 { mesh seat/seat.im anim seat/seat.kin auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 att a.seat1 att-parent default kind animated-lever test-collisions 0 }

seat1-collision-box { mesh seat/selection_box/selection_box.im att-parent seat1 att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent seat1 }

water_injector_0 { mesh injector/injector.im anim injector/injector.kin auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 att a.injector0 att-parent default kind animated-lever test-collisions 0 mousespeed -1.0 }

water_injector_0-collision-box { mesh injector/selection_box/selection_ box.im att-parent water_injector_0 att a.selection_box

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

75

auto-create 1 kind collision-proxy opacity 0 collision-parent water_injector_0 }

water_injector_1 { mesh injector/injector.im anim injector/injector.kin auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 att a.injector1 att-parent default kind animated-lever test-collisions 0 mousespeed -1.0 }

water_injector_1-collision-box { mesh injector/selection_box/selection_ box.im att-parent water_injector_1 att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent water_injector_1 }

fire_plates { mesh fireplates/fireplates.im anim fireplates/fireplates.kin auto-create 1 kind animated-lever test-collisions 0 notches 0, 1.0 notchheight 1,1 limits 0, 1.0 }

fire_plates-collision-box { mesh fireplates/selection_box/selection_ box.im att-parent fire_plates att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent fire_plates }

water_valve0 { mesh water_valve/water_valve.im auto-create 1 att a.water_valve0 att-parent default kind lever }

water_valve1 { mesh water_valve/water_valve.im auto-create 1 att a.water_valve1 att-parent default kind lever }

water_valve2 { mesh water_valve/water_valve.im

auto-create 1 att a.water_valve2 att-parent default kind lever }

water_valve3 { mesh water_valve/water_valve.im auto-create 1 att a.water_valve3 att-parent default kind lever }

water_valve4 { mesh water_valve/water_valve.im auto-create 1 att a.water_valve4 att-parent default kind lever }

water_valve5 { mesh water_valve/water_valve.im auto-create 1 att a.water_valve5 att-parent default kind lever }

blowdown { kind lever mesh blowdown/blowdown.im auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 angles 0, 0.01 att a.blowdown att-parent default mousespeed -1.0 }

sanding_lever { kind lever mesh sanding_lever/sanding_lever.im auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 angles 0, 0.2 att a.sanding_lever att-parent default mousespeed -1.0 }

whistle_lever { kind lever mesh whistle_lever/whistle_lever.im auto-create 1 limits 0, 1.0 notches 0, 1.0 notchheight 1, 1 angles 0, 0.3 att a.whistle att-parent default }

bplocomain_needle { kind needle mesh main_res_needle/main_res_needle.im

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

76

auto-create 1 att a.reservoir_press_red att-parent default limits 0, 3600 }

bptrainbrakepipe_needle { kind needle mesh trainline_needle_black/trainline_ needle_black.im auto-create 1 att a.brake_press_black att-parent default limits 0, 3600 }

boiler_needle { kind needle mesh boiler_needle/boiler_needle.im att a.boiler_pressure limits 0, 1570 auto-create 1 }

reverser { mesh reverser/reverser.pm anim reverser/reverser.kin auto-create 1 kind animated-lever test-collisions 0 limits -1.0, 1.0 }

reverser-collision-box { mesh reverser/selection_box/selection_ box.im att-parent reverser att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent reverser }

waterglass_right { mesh waterglass_right.im anim waterglass_right.kin auto-create 1 limits 0, 100 kind animated-dial }

waterglass_left { mesh waterglass_left.im anim waterglass_left.kin auto-create 1 limits 0, 100 kind animated-dial }

firebox { mesh firebox.im auto-create 1 kind firebox light 0 test-collisions 0 }

fire { mesh fire.im auto-create 1 light 0 test-collisions 0 }

coal { mesh coal.im auto-create 1 light 0 test-collisions 0 }

fireglow { mesh fireglow.im auto-create 1 light 0 test-collisions 0 }

coalman { mesh coalman/coalman.im auto-create 1 att-parent default att a.coalman effects { shovel

{ kind animation anim coalman/Coalman_shovel.kin }

wave{ kind animation anim coalman/Coalman_wave.kin } idle1

{ kind animation anim coalman/Coalman_loop1.kin }

idle2 { kind animation anim coalman/Coalman_loop2.kin }

loop2shovel { kind animation anim coalman/Coalman_loop2shovel.kin }

shovel2loop { kind animation anim coalman/Coalman_shovel2loop.kin }

wipebrow { kind animation anim coalman/Coalman_wipebrow.kin }

} }

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

77

Plik PPB15Cabin.gs PoniŜej przedstawiono plik skryptu dodatku typu Wnętrze (Interior) parowozu PB15. Ten skrypt jest odpowiedzialny za powiązanie wszystkich specyficznych dla parowozu elementów sterowniczych z systemem fizyki parowozu, oraz za powiązania niektórych specyficznych funkcji parowozu, takich jak proces dosypywania węgla do paleniska.

include “train.gs” include “locomotive.gs” include “cabin.gs” class PB15CabinData isclass CabinData

{ public float fire_plates_val; public float left_window_val; public float right_window_val; public float left_sliding_window_val; public float right_sliding_window_val; public float seat0_val; public float seat1_val; public float sanding_lever_val; public float whistle_lever_val; public float regulator_lever_val; public float blowdown_lever_val; public bool fireboxDoorOpen; };

class PB15Cabin isclass Cabin {

Locomotive loco; CabinControl speedometer; CabinControl main_reservoir_needle; CabinControl brake_cylinder0_needle; CabinControl brake_cylinder1_needle; CabinControl no3_pipe_needle; CabinControl brake_pipe_needle; CabinControl equaliser_needle; CabinControl flow_needle; CabinControl ampmeter_needle0; CabinControl ampmeter_needle1; //CabinControl throttle_lever; CabinControl reverser_lever; CabinControl train_brake_lever; CabinControl train_lapbrake_lever; CabinControl loco_brake_lever; CabinControl dynamic_brake_lever; CabinControl wheelslip_light; CabinControl horn_rope; CabinControl pantograph_lever; CabinControl light_switch; CabinControl waterGlassLeft_dial, waterGlassRight_dial; CabinControl firebox; CabinControl boiler_needle; CabinControl regulator_lever; CabinControl fire_plates; CabinControl left_window; CabinControl right_window; CabinControl left_sliding_window; CabinControl right_sliding_window; CabinControl seat0; CabinControl seat1; CabinControl sanding_lever; CabinControl whistle_lever; CabinControl blowdown_lever; CabinControl waterInjector0, waterInjector1;

PB15CabinData cabinData;

bool shovellingCoal; bool waving; thread void RunAnimation(void);

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

78

public void Init(void) { speedometer = GetNamedControl(“speedo_needle”); main_reservoir_needle = GetNamedControl(“bplocomain_needle”); brake_cylinder0_needle = GetNamedControl(“bptrainbrakecylinder_needle”); brake_cylinder1_needle = GetNamedControl(“no3pipe_needle”); no3_pipe_needle = GetNamedControl(“bptrainbrakecylinder2_needle”); brake_pipe_needle = GetNamedControl(“bptrainbrakepipe_needle”); equaliser_needle = GetNamedControl(“bploco_equaliser”); flow_needle = GetNamedControl(“flow_needle”); ampmeter_needle0 = GetNamedControl(“ampmeter_needle”); ampmeter_needle1 = GetNamedControl(“ampmeter2_needle”); //throttle_lever = GetNamedControl(“throttle_lever”); train_brake_lever = GetNamedControl(“trainbrake_lever”); train_lapbrake_lever = GetNamedControl(“trainbrakelap_lever”); loco_brake_lever = GetNamedControl(“independantbrake_lever”); dynamic_brake_lever = GetNamedControl(“dynamicbrake_lever”); wheelslip_light = GetNamedControl(“wheelslip_light”); horn_rope = GetNamedControl(“horn”); light_switch = GetNamedControl(“light_switch”); waterGlassLeft_dial = GetNamedControl(“waterglass_left”); waterGlassRight_dial = GetNamedControl(“waterglass_right”); firebox = GetNamedControl(“firebox”); boiler_needle = GetNamedControl(“boiler_needle”); regulator_lever = GetNamedControl(“regulator”); reverser_lever = GetNamedControl(“reverser”); waterInjector0 = GetNamedControl(“water_injector_0”); waterInjector1 = GetNamedControl(“water_injector_1”); fire_plates = GetNamedControl(“fire_plates”); left_window = GetNamedControl(“left_window”); right_window = GetNamedControl(“right_window”); left_sliding_window = GetNamedControl(“left_sliding_window”); right_sliding_window = GetNamedControl(“right_sliding_window”); seat0 = GetNamedControl(“seat0”); seat1 = GetNamedControl(“seat1”); sanding_lever = GetNamedControl(“sanding_lever”); whistle_lever = GetNamedControl(“whistle_lever”); blowdown_lever = GetNamedControl(“blowdown_lever”); RunAnimation();

} //! Attach this cabin to a game object (i.e. a locomotive). // // Param: obj Game object to attach this cabin to (usually a Locomotive). // public void Attach(GameObject obj)

{ loco = cast<Locomotive>(obj); // get cabin data CabinData cd = loco.GetCabinData(); if(cd) { // reset the controls from saved values PB15CabinData pbcd = cast<PB15CabinData>cd; if(fire_plates) fire_plates.SetValue(pbcd.fire_plates_val); if(left_window) left_window.SetValue(pbcd.left_window_val); if(right_window) right_window.SetValue(pbcd.right_window_val); if(left_sliding_window) left_sliding_window.SetValue(pbcd.left_sliding_window_val); if(right_sliding_window) right_sliding_window.SetValue(pbcd.right_sliding_window_val); if(seat0) seat0.SetValue(pbcd.seat0_val); if(seat1)

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

79

seat1.SetValue(pbcd.seat1_val); if(sanding_lever) sanding_lever.SetValue(pbcd.sanding_lever_val); if(whistle_lever) whistle_lever.SetValue(pbcd.whistle_lever_val); if(regulator_lever) regulator_lever.SetValue(pbcd.regulator_lever_val); if(blowdown_lever) blowdown_lever.SetValue(pbcd.blowdown_lever_val); }

else { PB15CabinData pbd = new PB15CabinData(); loco.SetCabinData(pbd); }

} // the default locomotive config uses kPa to describe pressure dial ranges // this function converts from g/m^3 into kPa-above-atmospheric public float GetPressureParam(string param)

{ float pressureMultiplier = 1.0 / (0.145 * 0.0000703); float pressureBase = 14.7 * 0.0000703; return pressureMultiplier * (loco.GetEngineParam(param) - pressureBase); }

public void Update(void) { float value; Train train = loco.GetMyTrain(); // // Update Needles // if (speedometer) speedometer.SetValue(train.GetVelocity()); if (main_reservoir_needle) main_reservoir_needle.SetValue(GetPressureParam(“main-reservoir-pressure”)); value = GetPressureParam(“brake-cylinder-pressure”); if (brake_cylinder0_needle) brake_cylinder0_needle.SetValue(value); if (brake_cylinder1_needle) brake_cylinder1_needle.SetValue(value); if (no3_pipe_needle) no3_pipe_needle.SetValue(GetPressureParam(“no3-pipe-pressure”)); if (brake_pipe_needle) brake_pipe_needle.SetValue(GetPressureParam(“brake-pipe-pressure”)); if (equaliser_needle) equaliser_needle.SetValue(GetPressureParam(“equaliser-pressure”)); if (flow_needle) flow_needle.SetValue(GetPressureParam(“flow”)); value = loco.GetEngineParam(“current-drawn”); if (ampmeter_needle0) ampmeter_needle0.SetValue(value); if (ampmeter_needle1) ampmeter_needle1.SetValue(value); // // Update Levers // // This is done in case the game logic has changed any of the settings from what // the user selected. // //if (throttle_lever) // throttle_lever.SetValue(loco.GetEngineSetting(“throttle”));// * 8.0); if (reverser_lever) reverser_lever.SetValue(loco.GetEngineSetting(“reverser”)); if (train_brake_lever) train_brake_lever.SetValue(loco.GetEngineSetting(“train-auto-brake”)); if (train_lapbrake_lever) train_lapbrake_lever.SetValue(loco.GetEngineSetting(“train-lap-brake”)); if (loco_brake_lever) loco_brake_lever.SetValue(loco.GetEngineSetting(“loco-auto-brake”)); if (dynamic_brake_lever) dynamic_brake_lever.SetValue(loco.GetEngineSetting(“dynamic-brake”));

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

80

if (wheelslip_light) wheelslip_light.SetValue(loco.GetEngineParam(“wheelslip”)); if (horn_rope) horn_rope.SetValue(loco.GetEngineParam(“horn”)); if (pantograph_lever) pantograph_lever.SetValue(loco.GetEngineSetting(“pantograph”)); if (light_switch) light_switch.SetValue(loco.GetEngineSetting(“headlight”)); if (waterGlassLeft_dial) waterGlassLeft_dial.SetValue(loco.GetEngineParam(“steam-boiler-liquid-percent”)); if (waterGlassRight_dial) waterGlassRight_dial.SetValue(loco.GetEngineParam(“steam-boiler-liquid-percent”)); // update cabin data PB15CabinData cd = cast<PB15CabinData>loco.GetCabinData(); if(left_window) cd.left_window_val = left_window.GetValue(); if(right_window) cd.right_window_val = right_window.GetValue(); if(left_sliding_window) cd.left_sliding_window_val = left_sliding_window.GetValue(); if(right_sliding_window) cd.right_sliding_window_val = right_sliding_window.GetValue(); if(seat0) cd.seat0_val = seat0.GetValue(); if(seat1) cd.seat1_val = seat1.GetValue(); if(sanding_lever) cd.sanding_lever_val = sanding_lever.GetValue(); if(whistle_lever) cd.whistle_lever_val = whistle_lever.GetValue(); if(regulator_lever) cd.regulator_lever_val = regulator_lever.GetValue(); if(fire_plates) cd.fire_plates_val = fire_plates.GetValue(); if(blowdown_lever) cd.blowdown_lever_val = blowdown_lever.GetValue(); cd.fireboxDoorOpen = fire_plates.GetValue() > 0.9;

if (firebox) { firebox.SetNamedValue(“amount-burning-coal”, 0.5); if(fire_plates) {

firebox.SetNamedValue(“door-open”, fire_plates.GetValue()); }

firebox.SetNamedValue(“fire-life”, loco.GetEngineParam(“fire-temperature”) / 1600.0); firebox.SetNamedValue(“steam-piston-cycle”, loco.GetEngineParam(“steam-piston-cycle”));

} if (boiler_needle) {

boiler_needle.SetValue(GetPressureParam(“steam-boiler-pressure”)); } if (waterInjector0) waterInjector0.SetValue(loco.GetEngineSetting(“injector”)); if (waterInjector1) waterInjector1.SetValue(loco.GetEngineSetting(“injector”)); }

void UserSetControl(CabinControl p_control, float p_value) { Interface.Log(“control: “ + p_control.GetName() + “ value: “ + p_value); if (p_control == reverser_lever) loco.SetEngineSetting(“reverser”, p_value); // else if (p_control == throttle_lever) // loco.SetEngineSetting(“throttle”, p_value); else if (p_control == train_brake_lever) loco.SetEngineSetting(“train-auto-brake”, p_value); else if (p_control == train_lapbrake_lever) loco.SetEngineSetting(“train-lap-brake”, p_value); else if (p_control == loco_brake_lever) loco.SetEngineSetting(“loco-auto-brake”, p_value); else if (p_control == dynamic_brake_lever) loco.SetEngineSetting(“dynamic-brake”, p_value);

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

81

; // todo else if (p_control == pantograph_lever) loco.SetEngineSetting(“pantograph”, p_value); else if (p_control == light_switch) loco.SetEngineSetting(“headlight”, p_value); else if (p_control == regulator_lever) loco.SetEngineSetting(“regulator”, p_value); else if (p_control == waterInjector0 or p_control == waterInjector1) loco.SetEngineSetting(“injector”, p_value);

} void UserPressKey(string s)

{ if(s == “shovel-coal”) {

PB15CabinData cd = cast<PB15CabinData>loco.GetCabinData(); // if(cd.fireboxDoorOpen)

{ if(FireAddCoal())

{ if(!shovellingCoal)

{ if(!waving)

{ if(fire_plates) fire_plates.SetValue(1.0f); shovellingCoal = true; SetFXAnimationState(“idle1”, false); SetFXAnimationState(“idle2”, false); SetFXAnimationState(“loop2shovel”, false); SetFXAnimationState(“loop2shovel”, true);

} }

} }

} else if(s == “wave”)

{ if(!shovellingCoal)

{ if(!waving)

{ waving = true; SetFXAnimationState(“wave”, false); SetFXAnimationState(“wave”, true); }

} }

} thread void RunAnimation(void)

{ SetFXAnimationState(“idle1”, true); wait() {

on “Animation-Event”, “Coalman_loop1_end”: SetFXAnimationState(“idle1”, false); SetFXAnimationState(“idle2”, true); continue; on “Animation-Event”, “Coalman_loop2_end”: SetFXAnimationState(“idle2”, false); SetFXAnimationState(“idle1”, true); continue; on “Animation-Event”, “Coalman_loop2shovel_end”: SetFXAnimationState(“loop2shovel”, false); SetFXAnimationState(“shovel”, true); continue; on “Animation-Event”, “Coalman_shovel_end”: SetFXAnimationState(“shovel”, false); SetFXAnimationState(“wipebrow”, true); continue; on “Animation-Event”, “Coalman_wipebrow_end”: SetFXAnimationState(“wipebrow”, false);

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

82

SetFXAnimationState(“shovel2loop”, true); continue; on “Animation-Event”, “Coalman_shovel2loop_end”: SetFXAnimationState(“shovel2loop”, false); SetFXAnimationState(“idle1”, true); shovellingCoal = false; continue; on “Animation-Event”, “Coalman_wave_end”: SetFXAnimationState(“wave”, false); SetFXAnimationState(“idle1”, true); waving = false; continue;

} }

}; -------------------------------------------------------------------------------------------------------------------------

Animowane d źwignie Dla animowanych dźwigni stosuje się general-nie te same ustawienia i wpisy w config.txt, co dla innych animacji w TRS 2004. Elementy szkieletu „bones” (albo „dummies”) z 3DS Max lub Gmax muszą spełniać wymagania, co do nazw – w konwencji: b.r.nazwa. PoniewaŜ nowe, animowane dźwignie mogą być przestawiane w grze za pomocą myszki, muszą mieć właściwość pozwalającą na „chwytanie” kursorem myszki tylko uchwytu (a nie które-gokolwiek innego animowanego elementu) dźwigni. Z tego powodu animowane dźwignie wymagają zastosowania tzw. siatki kolizji (collision mesh) - kind: collisionproxy. Weźmy za przykład animowane drzwiczki paleniska parowozu - fireplates (z dźwigniami):

fire_plates {

mesh fireplates/fireplates.im anim fireplates/fireplates.kin auto-create 1 kind animated-lever test-collisions 0 notches 0, 1.0 notchheight 1,1 limits 0, 1.0

} fire_plates-collision-box {

mesh fireplates/selection_box/selection_box.im att-parent fire_plates att a.selection_box auto-create 1 kind collision-proxy opacity 0 collision-parent fire_plates

} Drzwiczki (fire_plates) to rodzaj animowanych dźwigni. MoŜna je poruszyć w grze za pomocą myszki, dzięki wpisowi test-collisions 0. ZauwaŜ, Ŝe element fire_plates-collision-box posiada wpis auto-create 1, ale takŜe wpis

opacity 0. Domyślną siatką 3D, do której przy-łączony jest ten element, jest fire_plates (wpis att-parent fire_plates). Dzięki temu porusza-jąc kursorem myszki w obrębie elementu fire_plates-collision-box moŜesz poruszać drzwiczkami paleniska w trakcie gry. „Punkt przyłączania” a.selection_box został nazwany a.r.handlearm/a.selection_box w 3DS Max, i został powiązany („Linked”) z animowa-nym „szkieletem” (bones) nazwanym b.r.handlearm. b.r.firebase, wspólrzędne punktu: (0,0,0)

WaŜne: ruchome „punkty przyłączania” dla innych modeli. „Punkty przyłączania” nazwane w konwencji a.nazwa, pozwalają na przyłączanie dodatko-wych siatek 3D modelu do tych punktów głów-nej siatki 3D. JeŜeli „punkt przyłączania” w głównej siatce, zostaje przemieszczony przez animację tej siatki, to ta specjalna konwencja nazw punktów musi zostać zachowana, aby moŜliwe było przyłączenie dodatkowej siatki do przesuwającego się „punktu przyłączania”.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

83

Na przykład dodatkowa siatka jest przyłączana do głównej siatki w punkcie a.lever. Ten „punkt przyłączania” głównej siatki obiektu musi być połączony (linked) z obiektem pozornym (dummy point) nazwanym b.r.pivot, który jest animowany. Musi on w modelu Gmax/3DS Max zostać nazwany a.r.pivot/a.lever. W pliku config.txt „punkt przyłączania” powinien zostać wprowadzony w odpowiednim wpisie jako a.lever. Siatka dodatkowa będzie wtedy „podą-Ŝać” za kaŜdą animacją głównej siatki 3D mode-lu. MoŜe się to okazać uŜyteczne w przypadku ru-chomych efektów typu corona, oraz animowa-nych siatek widoku „nocnego”. Efekty ognia i zuŜycia węgla w kabinie parowozu Te efekty są generowane automatycznie przez Trainz, jeŜeli odnajdzie on wpisy firebox, fire, coal, oraz fireglow w pliku config.txt.

firebox {

mesh firebox.im auto-create 1 kind firebox light 0 test-collisions 0

} fire {

mesh fire.im auto-create 1 light 0 test-collisions 0

} coal {

mesh coal.im auto-create 1 light 0 test-collisions 0

} fireglow {

mesh fireglow.im auto-create 1 light 0 test-collisions 0

} Zwróć uwagę na wpis light 0. Występuje on dlatego, Ŝe oświetlenie siatki ognia jest uza-leŜnone poprzez kod gry tak, aby ogień naśla-dował efekt stopniowego wzrostu Ŝarzenia się węgla, w miarę rozgrzewania się paleniska. Wyjaśnienia wpisów: firebox To teksturowany obiekt typu box. TRS dodaje efekt ognia, gdy temperatura paleniska rośnie, fire To kilka polygonów z teksturą „flametest2.tga”, nało-Ŝoną modyfikatorem plannar UVW . Mapowanie UVW jest automatycznie dobierane przez TRS tak, aby od-tworzyć kaŜdą klatkę animacji płonącego ognia. coal To prosta siatka z teksturą „coalfire.tga”, nałoŜoną mo-dyfikatorem plannar UVW . Mapowanie UVW jest auto-matycznie dobierane przez TRS w miarę wzrostu temperatury paleniska. fireglow To pojedynczy polygon, który działa jako widoczna poświata – łuna, po otwarciu drzwiczek paleniska. Jego widoczność jest kontrolowana przez TRS.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

84

siatka firebox (firebox mesh) siatka fireglow (fireglow mesh)

siatka coal (coal mesh) siatka fire (fire mesh) siatka fireglow (fireglow mesh)

tekstura flametest2.tga

tekstura coalfire.tga

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

85

DODATEK TYPU: PANTOGRAF (KIND: PANTOGRAPH)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\pants\ Dodatek tego typu zawiera animowany mecha-nizm na dachu lokomotyw elektrycznych, słuŜą-cy do odbioru energii elektrycznej z przewodów trakcji zawieszonych nad torami. Przyjrzyj się wpisom pantograph w plikach config.txt dodatków typu Traincar. WaŜne: dodatek tego typu moŜe być eksporto-wany WYŁĄCZNIE jako plik *.pm (siatka pro-gresywna). Wyeksportowanie dodatku do pliku *.IM spowoduje, Ŝe dodatek nie będzie działał! Plik config.txt dodatku typu Pantograph:

kuid <KUID2:###:#####:1> kind pantograph obsolete-table { } username description “ “ trainz-build 2.0 category-class AL category-region-0 US category-era-0 1960s

DODATEK TYPU: ŚRODOWISKO (KIND: ENVIRONMENT) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\ Environment\ Plik config.txt dodatku typu Environment:

kuid <KUID2:###:#####:1> kind environment region Britain normal mediumclouds storm mediumClouds_Storm night mediumClouds_Night obsolete-table { } username description “ ” trainz-build 2.0 category-class ES category-region-0 UK category-era-0

Wyjaśnienia wpisów w pliku config.txt dodatku Environment: region - określenie regionu dla modułu Geodety, normal - nazwa pliku graficznego dla pogodnego nieba. Powinien to być plik w formacie tga - 256x256 px 24bit, storm - nazwa pliku graficznego dla pochmurnego (burzo- wego) nieba. Powinien to być plik w formacie tga 256x256 px 24bit, night - nazwa pliku graficznego dla nocnego nieba. Powi- nien to być plik w formacie tga - 256x256 px, 24bit.

DODATEK TYPU: WODA (KIND: WATER2) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\ Environment\ WaŜne: nowy w TRS 2004 dodatek zawierający animowaną wodę (kind: water2), zastąpił po-przedni dodatek water (kind: water) z Trainz UTC. Dlatego teŜ dodatek typu water (kind water) nie jest juŜ obsługiwany przez TRS 2004. JeŜeli jakakolwiek mapa zawiera dodatek poprzedniego typu (kind: water) – zostanie on automatycznie uaktualniony do nowego typu kind water2. Zasadniczo dodatek Woda (Water2) nowego typu zawiera animowaną, przeźroczystą powie-rzchnię, z teksturowaniem wykorzystującym kanał bump (mapowanie nierówności powierz-chni). Animacja jest definiowana przez wpisy w pliku water.anim.txt. Rozmiar kafelków (tile) i właściwości materiału (dla obiektu 3D imitują-cego wodę), definiują wpisy w pliku water.config.txt (na następnej stronie). Na następnych stronach opisano dodatek Woda (Water2) dla spokojnej wody (Calm Water), dla wody wzburzonej (Choppy), gładkiej (Glassy) oraz pomarszczonej (Rough).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

86

Spokojna woda (Calm Water) Plik config.txt dla spokojnej Typowa struktura wody (Calm Water): folderu dodatku Water2:

water2a.tga kuid <KUID2:###:#####:1> kind water2 username “Glassy water” obsolete-table { } description “ ” trainz-build 2.0 category-class EW category-region-0 UK category-era-0 config.txt Calm Water

256 x 256 pixel 32bit tga Plik water.anim.txt dla spokojnej wody (Calm Water) Uwaga: tekst po znakach // do końca linii - to komentarze autora dodatku. version 1.00

// plik konfiguracyjny detali animacji DetailAnim // na podstawie pliku DefaultWater.config.txt DetailAnim {

animSampleRate = 10; // Tempo animacji (w klatkach na sekundę) animPeriod = 5; // Okres zapętlenia animacji w sekundach animSpeed = 2.0; // Prędkość fal animSize = 128,128; // Rozmiar obrazka w kanale Bump tekstury animWorldSize = 450.0; // „Rozmiar” jednego kafelka (tile) animMaxHeight = 0.4; // Maksymalna wysokość fali animScaleNormXY = 4.0; // Koordynaty X,Y skalowania tekstury, dla poprawienia interpolacji FFT

{ animFFTWindVec = -15.0,5.0; // Kierunek i prędkość wiatru, wpływająca na długość fali animPhillipsA = 1.0e-3; // Stała spektrum Phillips’a, wpływająca na wysokość fali animFFTSeed = 0;

} } Plik water.config.txt dla spokojnej wody (Calm Water) Uwaga: tekst po znakach // do końca linii - to komentarze autora dodatku. version 1.00

// Dane konfiguracyjne dla WaterManager-a WaterManager(„WaterManagerGeneric”) { WaterMaterial

{ materialColor = (0.20, 0.45, 0.45, 0.8); materialRI = 0.3; opacityTex = WaterOpacity.texture; opacityAmount = 0.5;

} // Skompilowane dane DetailAnim lub tekst ConfigData file ‘water.anim.txt’ // To jest teraz ładowane automatyczne przez Trainz, ale Trainz moŜe przechować plik animacji w oddzielnym folderze. // Plik z danymi DetailAnim = water.anim;

} // Konfiguracja geometrii wody (WaterGeometry) WaterGeometry

{ UVScrollVelocity = 0.0, 0.05; TileUVScale = 1.0, 1.0;

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

87

GridSpacing = 10.0; // „Rozmiar” jednej klatki siatki (jeśli zastosowano MaxAmp > 0) TileGridSize = 2, 2; // Liczba wierzchołków w jednym kafelku - tile (uŜywa więcej jeśli MaxAmp > 0) WaveFreq = 0.0; //0.15; MaxAmp = 0.0; //0.25; // Mesh animation // TileGridSize = 3, 3; // Liczba wierzchołków w jednym kafelku - tile (uŜywa więcej jeśli MaxAmp > 0) // WaveFreq = 0.15; // MaxAmp = 0.25;

}

Wzburzona woda (Choppy Water) Komentarze usunięto dla większej przejrzystości tekstu Plik config.txt Choppy Water:

kuid <KUID2:###:#####:0> kind water2 username “Choppy water” obsolete-table { } description “ ” trainz-build 2.0 category-class EW category-region-0 UK category-era-0

Plik water.anim.txt Choppy Water:

version 1.00 DetailAnim { animSampleRate = 10; animPeriod = 5; animSpeed = 5.0; animSize = 128,128; animWorldSize = 450.0; animMaxHeight = 1.0; animScaleNormXY = 4.0;

FFT { animFFTWindVec = -15.0,5.0; animPhillipsA = 1.0e-3; animFFTSeed = 0; }

}

Plik water.config.txt Choppy Water: version 1.00 WaterManager(“WaterManagerGeneric”) {

WaterMaterial { materialColor = (0.20, 0.45, 0.45, 0.8); materialRI = 0.3; opacityTex = WaterOpacity.texture; opacityAmount = 0.5; }

} WaterGeometry

{ UVScrollVelocity = 0.0, 0.05; TileUVScale = 1.0, 1.0; GridSpacing = 10.0; TileGridSize = 2, 2; WaveFreq = 0.0; MaxAmp = 0.0; }

Gładka woda (Glassy Water) Komentarze usunięto dla większej przejrzystości tekstu Plik config.txt Glassy Water:

kuid <KUID2:###:#####:0> kind water2 username “Glassy water” obsolete-table { } description “ ” trainz-build 2.0 category-class EW category-region-0 UK category-era-0

Plik water.anim.txt Glassy Water: version 1.00 DetailAnim {

animSampleRate = 1; animPeriod = 1; animSpeed = 1.0; animSize = 128,128; animWorldSize = 450.0; animMaxHeight = 0.0; animScaleNormXY = 4.0; FFT

{ animFFTWindVec = 0.0,0.0; animPhillipsA = 1.0e-3; animFFTSeed = 0; }

}

Plik water.config.txt Glassy Water: version 1.00 WaterManager(“WaterManagerGeneric”) {

WaterMaterial { materialColor = (0.20, 0.45, 0.45, 0.8); materialRI = 0.3; opacityTex = WaterOpacity.texture; opacityAmount = 0.5; }

} WaterGeometry

{ UVScrollVelocity = 0.0, 0.05; TileUVScale = 1.0, 1.0; GridSpacing = 10.0; TileGridSize = 2, 2; WaveFreq = 0.0; MaxAmp = 0.0;

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

88

Pomarszczona woda (Rough Water) Komentarze usunięto dla większej przejrzystości tekstu Plik config.txt Rough Water:

kuid <KUID2:###:#####:0> kind water2 username “Rough water” obsolete-table { } description “ ” trainz-build 2.0 category-class EW category-region-0 UK category-era-0

Plik water.anim.txt Rough Water: version 1.00 DetailAnim

{ animSampleRate = 10; animPeriod = 5; animSpeed = 5.0; animSize = 128,128; animWorldSize = 450.0; animMaxHeight = 2.0; animScaleNormXY = 4.0; FFT { animFFTWindVec = -12.0,4.0; animPhillipsA = 1.0e-3; animFFTSeed = 0; }

}

Plik water.config.txt Rough Water: version 1.00 WaterManager(“WaterManagerGeneric”) {

WaterMaterial { materialColor = (0.20, 0.45, 0.45, 0.8); materialRI = 0.3; opacityTex = WaterOpacity.texture; opacityAmount = 0.5; }

} WaterGeometry

{ UVScrollVelocity = 0.0, 0.05; TileUVScale = 1.0, 1.0; GridSpacing = 10.0; TileGridSize = 2, 2; WaveFreq = 0.0; MaxAmp = 0.0;

}

----------------------------------------------------------------------------------------------------------------------------------------------------

DODATEK TYPU: MAPA (KIND MAP) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\maps Plik config.txt dla stworzonych map jest auto-matycznie tworzony przez moduł Geodety TRS 2004. MoŜesz dodać do config.txt mapy skrypt dźwięków, jeśli masz Ŝyczenie (tak, jak w przy-kładzie poniŜej). Zapoznaj się z podrozdziałem o skryptach dźwięków „SKRYPTY DŹWIĘKOWE” – na stronie 150. Plik config.txt dodatku typu Map:

kind map kuid <KUID2:###:#####:1> username Britain workingscale 0 workingunits 0 water <KUID:-1:8009> region Britain soundscript {

morning { ambient 1 value-range 1, 0.1 volume 0.3 sound { ctry_day_1.wav } } night { ambient 1 value-range 0, 0.9 volume 0.3 sound

{ night_loop.wav }

} } ...

DODATEK TYPU: SESJA MASZYNISTY (KIND: PROFILE) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\profiles Profil to inna nazwa Sesji Maszynisty w TRS 2004. MoŜesz utworzyć wiele Sesji w module Geodety dla jednej trasy, z inną zawartością, punktami startowymi, przemysłem, itp. MoŜesz mieć róŜne składy pociągów w kaŜdej z Sesji. Moduł Geodety TRS 2004 automatycznie tworzy pliki config.txt oraz profile.dat dla Sesji (Profili) i zasadniczo te pliki nie powinny być modyfiko-wane „ręcznie”.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

89

DODATEK TYPU: TEKSTURA PODŁOśA (KIND: GROUNDTEXTURE) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Ground Plik config.txt dodatku typu Groundtexture:

kuid <KUID2:###:#####:1> kind groundtexture region Britain obsolete-table { } clutter-mesh <KUID2:###:#####:1> username description “ ” trainz-build 2.0 category-class GL category-region-0 UK category-era-0

Wpisy: region - określenie regionu dla modułu Geodety, clutter-mesh - wpis opcjonalny. Zobacz opis poniŜej. GROUNDTEXTURE CLUTTER MESH Tekstury podłoŜa mogą teraz odwoływać się do siatek 3D i siatki te mogą być wstawiane, kiedy podłoŜe jest pokrywane teksturą. Ponowne na-łoŜenie zwykłej tekstury (Painting) na podłoŜe z teksturą typu clutter-mesh – usuwa siatkę „clutter” i jej teksturę. Siatką „clutter” moŜe być standardowy obiekt typu Scenery lub typu Siat-ka (Mesh). Tekstury typu clutter-mesh mogą być pokrywane tylko materiałem nałoŜonym w programie 3D (3DS Max, Gmax). Liczba poly-gonów musi być bardzo mała. WaŜne: Dystans, na jakim nakładane są tekstury siat-kowe typu clutter-mesh jest bardzo krótki. Sugeruje-my, aby stosować te tekstury tylko dla zarośli i traw, tak jak w poniŜszym przykładzie.

Ground Clutter Mesh

DODATEK TYPU: SCENERY (KIND: SCENERY) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Scenery PoniŜszy przykład pokazuje, jak elastyczny moŜe być obiekt typu Scenery dzięki wpisom mesh-table. Dodatek z tego przykładu zawiera dwie animacje. Jedną jako animację części głównej siatki modelu 3D, a drugą jako dodat-kowy element 3D dołączany do siatki głównej poprzez „punkt przyłączania” (radar). WaŜne: zauwaŜ, Ŝe wpis występujący w Trainz UTC autoanimation 1 nie jest teraz konieczny. Wszystkie animacje definiowane są przez wpisy w bloku mesh-table. Podobnie, jak widok noc-ny obiektu (night mesh). Typowy plik config.txt dodatku Scenery:

kuid <KUID2:###:#####:1> kind scenery region Britain type Buildings light 1 nightmode home username kuid-table{ } obsolete-table { } mesh-table { default

{ mesh scenery_asset.im anim anim.kin auto-create 1 animation-loop-speed 1

effects { 0 { kind name fontsize 0.15 fontcolor 30,30,30 att a.name0 name name } 1 { kind corona att a.coronawhite frequency 1 directional 0 texture-kuid <KUID:-3:10111> }

} } default-night {

mesh night.im night-mesh-base default

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

90

radar { mesh radar/radar.im anim radar/radar.kin att a.radar att-parent default animation-loop-speed 1.0 }

} attached-track {

track_0 { track <KUID:-1:15> vertices

{ 0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d }

} } description “ ” trainz-build 2.0 category-class FS category-region-0 UK category-era-0

Wyjaśnienia wpisów w pliku config.txt dodatku Scenery: region - określenie regionu dla modułu Geodety, type - typ obiektu dla modułu Geodety, light - definiuje sposób oświetlania obiektu w grze. Obiekt moŜe być oświetlany światłem wypełniającym (tak jak w pochmurny dzień) lub światłem kierunkowym (tak jak w słoneczny dzień). Wartość 0 tego parame- tru oznacza oświetlanie wypełniające (ambient), a wartość 1 – oświetlenie kierunkowe, zaleŜne od połoŜenia słońca na niebie w trakcie gry. nightmode - wpis dodawany tylko wtedy, gdy obiekt (dodatek) po- siada wymodelowaną domyślną siatkę 3D widoku nocnego. MoŜliwe wartości dla tego parametru: home , lamp lub constant . - wartość home włącza nocny widok obiektu o zmie- rzchu i wyłącza ten widok w trakcie trwania nocy (np. domownicy kładą się spać). - wartość lamp włącza widok nocny obiektu o zmie- rzchu i wyłącza go o świcie. - wartość constant powoduje włączenie nocnego wi- doku obiektu przez całą dobę (nie marnuj prądu! ☺). attached-track (opcjonalny) - automatyczne generowanie obiektu typu Spline w dodatku (np. na przejeździe kolejowym). Obiekt Spline generowany jest pomiędzy punktami „przyłą- czania” umieszczonymi w głównej siatce 3D obiektu Scenery. Domyślna powierzchnia przebiegu obiektu Spline leŜąca w obiekcie Scenery zostaje zastąpiona widokiem obiektu Spline (róŜnym w zaleŜności od je-

go rodzaju), w momencie dołączenia tego obiektu do obiektu Scenery w module Geodety. Brzmi bardzo zawile ale jako przykład posłuŜy przejazd kolejowy (skrzyŜowanie torów z drogą dla samocho-dów). Przejazd, po dodaniu go na mapie, posiada tory oraz domyślną nawierzchnię drogi. Po dołączeniu dro-gi do przejazdu, domyślna nawierzchnia drogi na prze-jeździe, zmienia się na nawierzchnię taką, jaką ma dołączona droga. Tak samo w przypadku torów. Uwaga: moŜesz zablokować to uaktualnianie domyśl-nej powierzchni przebiegu obiektu Spline, dodając wpis useadjoiningtracktype 0 Przykład:

attached-track {

track0 {

track <KUID:-3:15> useadjoiningtracktype 0 vertices

{ 0 a.track0a 1 a.track0b

} }

} WaŜne: fundamentalne znaczenie ma orientacja w przestrzeni 3D „punktów przyłączania” dla obiektów Spline. Oś Y „punktu przyłączania” musi wskazywać na zewnątrz obiektu Scenery, a oś Z „punktu przyłą-czania” – w górę. Wpisy corona oraz name w bloku effects (opcja) - róŜne efekty (kind: effects) – zobacz na stronie 27. Wpisy dotyczące zmiany połoŜenia obiektu SCENERY (w module Geodety): snapgrid n - gdzie n to wartość w metrach definiująca, co ile met- rów będzie moŜna przesuwać obiekt Scenery w mo- dule Geodety. Zaleca się stosowanie dzielników licz- by 720 dla wartości tego parametru (np. 1, 2, 5, 10, 20, 30, 40, 45, 60,80, 90, 120, 180, 240, 360, 720). Domyślna wartość to 10. Przy definicji wpisu snap- mode (dalej) wyjaśniono, jak włączyć opcję „przesu- wania skokowego” dla obiektu Scenery. rotstep n - gdzie n to wartość w stopniach. Definiuje kąt o jaki moŜna obracać obiekt Scenery w module Geodety (np. 1, 10, 20, 90, 180, itd.). Domyślna wartość to 1.0 snapmode n - gdzie n to jedna z trzech wartości: 0 (domyślna), 1 lub 2. Wpis definiuje, czy obiekt Scenery ma być w module Geodety przesuwany dowolnie, czy o określoną liczbę jednostek (metrów).

0 (domyślnie) – przesuwanie dowolne, 1 – przesuwanie „skokowe” 2 – przesuwanie „skokowe” o połowę wartości pa- rametru snapgird .

zazwyczaj większość obiektów Scenery ma włączoną opcję 0 (równoznaczne z brakiem tego wpisu) – czyli przesuwanie dowolne.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

91

Uwaga: Nawet przy opcji przesuwania dowolnego, w module Geodety moŜna włączyć opcję ”skokowego” przesuwania obiektów Scenery (co domyślne 10 met-rów). W tym celu naleŜy trzymać wciśnięty klawisz Ctrl podczas przesuwania. rotate n - gdzie n to wartość 0 lub 1 (domyślnie). Ten para- metr definiuje, czy obiekt Scenery w module Geodety dopuszcza moŜliwość obrócenia go.

0 – obracanie zablokowane, 1 – obracanie moŜliwe (wartość domyślna, równoznaczna z brakiem tego wpisu).

rotate-yz-range min, max (np. rotate-yz-range –90, 90) - dwie wartości oddzielone przecinkiem definiujące mi- nimalną i maksymalną wartość obrotu WZDŁUś OSI POZIOMEJ obiektu Scenery, w module Geodety. Zazwyczaj większość obiektów Scenery, w module Geodety dopuszcza obrót tylko wokół swej osi piono- wej. Domyślne wartości tego parametru to: 0, 0 (równoznaczne z brakiem tego wpisu).. rollstep n - gdzie n to wartość w stopniach. Wpis do stosowania łącznie z wpisem rotate-yz-range , definiuje kąt o jaki moŜna obracać obiekt Scenery w module Geodety, wokół jego OSI POZIOMEJ (np. 1, 5, 20, itd.)... Domyślna wartość tego parametru to: 1,0 (równoznaczne z brakiem tego wpisu).

DODATEK TYPU: PRZEMYSŁ (KIND: INDUSTRY)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Scenery Dodatek do TRS 2004 typu Przemysł (Industry) moŜna najlepiej określić jako dodatek z funkcją przetwarzania towarów (kind: products). Tego typu dodatek moŜe wchodzić w interakcje z odpowiednimi (oznaczonymi jako IND) wagonami towarowymi, poprzez plik skryptu. Wpisy w plikach config.txt dodatków typu Sce-nery mogą z powodzeniem być uŜywane w pli-kach config.txt dodatków typu Przemysł (Indu-stry). W tym podrozdziale nie dołączono Ŝad-nych przykładowych plików dodatku typu Przemysł (Industry), poniewaŜ wszystkie dołą-czone do TRS 2004 tego typu dodatki (pliki config.txt oraz pliki skryptów (*.gs) zostały szczegółowo opisane w pliku pomocy instalowa-nym razem z grą TRS 2004, o nazwie „Trainz Railroad Simulator 2004 User Activity Creation Guide”. Domyślna lokalizacja tego pliku pomocy to: C:\Program Files\Auran\TRS2004\Scripts\ docs\index.chm

Wprowadzenie Wszystkie dodatki typu Przemysł (Industry) do TRS 2004 muszą posiadać moŜliwość przyłącza-nia torów (obiekty typu Spline), przyłączania obiektów Trigger, funkcję kolejek czynności. oraz muszą być zdolne do przetwarzania towa-rów (produktów). Specyficzne i wymagane wpisy w pliku config.txt dla dodatku Industry: Attached-track (wymagany) - tak, jak w opisie dla obiektów typu Scenery Przyłączane tory (obiekt Spline) są definio- wane przez wpis w pliku config.txt dodatku typu Przemysł (Industry). Attached-trigger (wymagany) - jest to punkt na przyłączonych torach, z ok- reślonym „promieniem wyszukiwania” (skła- du, pociągu). Kiedy kompatybilny (oznaczony jako IND) wagon towarowy wjedzie w „pro- mień wyszukiwania” – trigger powoduje wy- konanie komend zdefiniowanych w skrypcie dodatku typu Przemysł (Industry). Ustawienia triggerów definiowane są wpisami w pliku config.txt dodatku Przemysł. Queues (wymagany) - wpis definiuje, które z towarów (produktów) są przetwarzane przez ten dodatek (zakład przemysłowy). Wpis określa ilość początkową kaŜdego z towarów (produktów) po urucho- mieniu gry (moduł Maszynisty), oraz moŜe definiować sposób graficznej reprezentacji stanu zmagazynowanych towarów (poprzez animację za-/wyładunku lub „punkt/y przy- łączania”). Wszystkie animacje za-/wyładu- nku są definiowane poprzez wpisy w bloku mesh-table dodatku. Processes (wymagany) - wpis definiujący zapotrzebowanie i zuŜycie to- warów (produktów) zdefiniowanych we wpi- sie Queues , w sekundach okresu, w trakcie którego przetwarzanie towarów (produktów) ma miejsce. Wszystkie kolejki (Queues ), oraz procesy (Processes ) są ze sobą połączone i zdefiniowane w pliku skryptu dla danego dodatku typu Przemysł (Industry).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

92

Funkcja przetwarzania towarów dodatku typu Przemysł (Industry) Najlepiej zobrazuje tę funkcję przykład dodat-ków do TRS 2004 – kopalni węgla, węglarek i elektrowni. Kiedy puste węglarki wjeŜdŜają w „promień wy-szukiwania” triggera w kopalni węgla, skrypt tego triggera wchodzi w interakcję ze skryptem węglarek. System efektów cząsteczkowych ko-palni (particle effects – pfx) wyświetla symula-cję załadunku pustych węglarek, a skrypt węg-larek wyświetla animację ich ładunku (stają się one w pełni załadowane). Jednocześnie ładowa-nie pustych węglarek zmniejsza zasoby węgla na składowisku kopalni. Podobnie, kiedy pełne węglarki wjeŜdŜają w „promień wyszukiwania” triggera w elektrowni, wyświetlana jest anima-cja ich rozładunku (inicjacja własnego skryptu węglarki i systemu efektów cząstkowych). Jednocześnie w miarę rozładowywania kolej-nych węglarek, skrypt elektrowni powoduje wy-świetlanie animacji zwiększania się zasobów węgla na składowisku elektrowni. Animacja roz-ładunku węglarek jest zdefiniowana w pliku skryptu hopper.gs. Zastępowanie tekstur podczas rozładunku towa-rów z wagonów opisano w podrozdziale: „Wizualizacja towarów (produktów) w grze TRS 2004”, na stronie 33. WAśNE: „ZDARZENIA ANIMACJI” Poszczególne zdarzenia animacji i odpowiada-jące im dźwięki, mogą być połączone z odpo-wiadającymi im klatkami animacji, i poprzez pli-ki skryptów i pliki skryptow dźwiękowych dla kaŜdego dodatku typu Przemysł (Industry) i Scenery. Pozwala to na olbrzymią kontrolę nad przebiegiem animacji i odtwarzanych w trakcie niej dźwięków. Przykład zdarzeń animacji dostę-pny jest do pobrania z Internetu (archiwum ZIP zawierające pliki źródłowe i pliki wynikowe) ze strony: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Animation_Events.zip Zdarzenia animacji opisano teŜ na stronie 125. WAśNE: „IKONY TOWARÓW W OKNIE WŁAŚ-CIWOŚCI OBIEKTU” Auran dołączył do gry dodatki typu Przemysł (i kompatybilne z nimi oznaczone jako IND), które mają dodatkowy wpis w swoich plikach config.txt: icon0 <KUID:-3:10164> Jest to KUID plików ikon własnych tych dodat-ków (pliki w formacie tga 32x32 px - 32bit). Dla tworzonych dodatków tego moŜna zdefinio-wać do czterech takich plików (wpisy icon0, icon1, icon2 i icon3).

Uwaga: zwiększenie w TRS 2004 moŜliwości korzystania ze skryptów, znacząco ułatwia kon-trolowanie dodatków w trakcie gry i podnosi ich funkcjonalność. Dodanie obsługi skryptów jest logicznym kierunkiem rozwoju gry Trainz. Rozumiejąc fakt, Ŝe w poprzednich wersjach Trainz wielu twórców dodatków do gry nie znało moŜliwości, jakie oferują skrypty, w TRS 2004 zwiększyliśmy moŜliwość kontrolowania dodat-ków przy pomocy skryptów. MoŜliwa dzięki te-mu stała się współpraca w tym zakresie, pomię-dzy twórcami dodatków. W chwili obecnej do-stępnych jest wiele funkcjonalnych i uŜytecz-nych skryptów napisanych przez członków spo-łeczności Trainz. MoŜna je znaleźć na forach internetowych.

DODATEK TYPU PORTAL (KIND:PROTAL) Portal jest obiektem przemysłowym, który po-siada moŜliwość „tworzenia” i „emitowania” po-ciągów. Osiąga to przy pomocy funkcji skryp-tów TRS. PoniŜszy przykład pliku config.txt po-chodzi z podstawowego Portalu, wbudowanego w TRS 2004. Wpisy HTML zostały pominięte w sekcji string-table. Działający dodatek tego typu posiada wiele róŜnorodnych wpisów, które zwiększają funkcjonalność dodatku. Zapoznaj się z przykła-dem dodatku typu Portal dostępnym na płytach CD „Content Creation Art Source” (do zamówie-nia na stronie Auranu). Plik config.txt dodatku Portal:

kuid <KUID2:###:#####:1> kind industry region Australia type Industrial light 1 kuid-table { } obsolete-table { } description " " trainz-build 2.4 username Portal script PortalTunnel class PortalTunnel icon-texture icon_portal.tga category-region-0 AU category-era-0 2000s category-class BIN kuid-table {

loco <kuid:-1:100861> wagon <kuid:-1:100048> guardsvan <kuid:-1:100770>

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

93

mesh-table {

default {

mesh portal.im auto-create 1

effects { portalentry {

kind attachment att a.track0g default-mesh <KUID:-3:10239> surveyor-only 1

} portalend {

kind attachment att a.track0a default-mesh <KUID:-3:10238> surveyor-only 1

} }

} }

string-table { } consists {

aus-freight { 0 {

vehicle <kuid:-1:100725> running-number 4840

} 1 {

vehicle <kuid:-1:100828> } 2 {

vehicle <kuid:-1:100828> } 3 {

vehicle <kuid:-1:100048> } 4 {

vehicle <kuid:-1:100048> } vehicle <kuid:-1:100770> } show-in-consist-menu 0 coupling-mask 0 decoupling-mask 0 }

british-hst {

0 {

vehicle <kuid:-1:100039> running-number 7

} 1 {

vehicle <kuid:-1:100058> }

2 {

vehicle <kuid:-1:100059> facing 0

} 3 {

vehicle <kuid:-1:100062> facing 0

} show-in-consist-menu 0 coupling-mask 0 decoupling-mask 0

} attached-track

{ out_track0 {

track <KUID:-1:15> vertices {

0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d 4 a.track0e 5 a.track0f 6 a.track0g

} } } attached-trigger {

trig_end {

att a.track0d radius 10.0

} trig_entry {

att a.track0f radius 10.0

} }

icon0 <kuid:-3:10164 Wyjaśnienia wpisów w pliku config.txt dodatku Portal: Nie wszystkie wpisy zostały wyjaśnione poniŜej. Te niewyjaśnione, zostały opisane w rozdziale „Ogólne wymagania co do zawartości pliku config.txt”, na stronie 23 tego dokumentu. region - nazwa regionu dla modułu Geodety, type - typ dodatku dla modułu Geodety, light - określa typ oświetlenia dla obiektu – otaczające, czy kierunkowe. 0 oznacza oświetlenia otaczające (takie jak w pochmurny dzień), 1 oznacza oświetlenie kie- runkowe (takie jak w słoneczny dzień – z cieniami), zaleŜne od połoŜenia słońca na niebie w czasie gry. script - nazwa pliku skryptu uŜywanego przez dodatek, class - klasa skryptu uŜywanego przez dodatek,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

94

icon-texture - nazwa pliku ikony reprezentującej portal w menu po- leceń Maszynisty, category-class - klasa kategorii dodatku, klasy kategorii opisano na stronie 14 tego dokumentu, kuid-table - lista KUID dodatków wymaganych do poprawnego funkcjonowania Portalu (np. KUID-y wagonów wyka- zanych w sekcji consists ), default - nazwa pliku głównej siatki 3D dodatku, mesh - nazwa głównej siatki 3D dodatku, auto-create 1 - określa, Ŝe dodatek jest wyświetlany po dodaniu go na mapie w module Geodety lub po załadowaniu ma- py w module Maszynisty, zawierającej ten dodatek. Czasami, kiedy dodatek ma być kontrolowany tylko przez skrypt, moŜesz nie chcieć, aby był on „od razu” widoczny. Wtedy uŜyj wpisu auto-create 0 . effects kind attachment - przyłącza dodatkową siatkę 3D do siatki głównej 3D, za pomocą efektu kind attachment. KaŜdy efekt „przyłączania” jest dodawany według nazwy we wpi- sie, np. “portalentry ”. default-mesh - KUID dodatkowej siatki 3D do przyłączenia, att - nazwa „punktu przyłączania”, w którym zostanie wy- świetlona dodatkowa siatka 3D. Przy braku tego wpi- su domyślna siatka zostanie przyłączona w punkcie o współrzędnych 0,0,0 głównej siatki 3D modelu, surveyor-only 1 - przyłączona dodatkowa siatka 3D modelu będzie widoczna jedynie w module Geodety, string-table - lista opcji HTML, do których moŜna się odwoływać z poziomu skryptu podczas wyświetlania okna wła- ściwości dodatku w module Geodety. Zapoznaj się z przykładem dodatku typu Portal, dostępnym na pły- tach CD „Content Creation Art Source” (do zamówie- nia na stronie Auranu), consists - lista KUID wagonów, które mogą uczestniczyć w procesie produkcyjnym portalu, running-number - numer trakcyjny składu pociągu. MoŜna go zmienić w module Geodety. facing - określa czoło „emitowanego” przez portal składu po- ciągu.

0 oznacza odwrócony kierunek jazdy składu. 1 oznacza „do przodu” (domyślny kierunek jazdy składu),

show-in-consist-menu - wpis ustala, czy skład „wyemitowany” przez portal ma być kontrolowany tylko i wyłącznie przez skrypt, czy teŜ grający ma moŜliwość przejęcia nad nim kontroli (poprowadzenia go).

0 oznacza moŜliwość kontrolowania pociągu tylko z poziomu skryptu;

1 oznacza moŜliwość prowadzenia pociągu przez uŜytkownika,

coupling-mask - wpis decyduje, czy do składu pociągu „wyemitowa- nego” przez portal moŜna dołączyć inne wagony (po- lecenie „Połącz”).

0 oznacza, Ŝe skład pociągu nie moŜe być zmie- niany; 1oznacza, Ŝe skład pociągu moŜe być zmieniany,

decoupling-mask - wpis decyduje, czy ze składu pociągu „wyemitowa- nego” przez portal moŜna odłączać wagony (polece- nie „Rozłącz”).

0 oznacza, Ŝe skład pociągu nie moŜe być zmie- niany; 1 oznacza, Ŝe skład pociągu moŜe być zmieniany,

attached-track - nazwa torów, które zostaną domyślnie dołączone do portalu, numer KUID tych torów oraz nazwy „pun- któw przyłączania” głównej siatki 3D modelu portalu (dodanych w Gmax-ie/3DS Max-ie), pomiędzy który- mi ów tor zostanie połoŜony, attached-trigger - punkt wyzwalacza (trigger) leŜący na drodze prze- biegu dołączonych torów, z określonym promieniem wyszukiwania. Kiedy kompatybilny z portalem wagon (z wpisu consist) znajdzie się w tym promieniu, to zo- staną wykonane komendy (kontrolowane przez skrypt) powiązane z tym wyzwalaczem (triggerem). icon0 - nazwa pliku ikony reprezentującej portal w menu po- leceń Maszynisty,

DODATEK TYPU MULTIPRZEMYSŁ (KIND: MULTI INDUSTRY NEW) Jest to obiekt przemysłowy, który korzysta z procesów produkcji i zuŜycia towarów w TRS, oraz posiada moŜliwość rozładunku i załadunku wagonów na „dołączonych” do tego dodatku to-rach. Dodatek z tego przykładu posiada dołą-czone tory, „punkty przyłączania”, oraz pozwala na dodawanie uŜytkownikowi dowolnych budyn-ków. Jego działanie opiera się na skrypcie. Plik config.txt dodatku MultiIndustry New: kuid <KUID2:###:#####:1> kind industry region Australia type Industrial light 1 kuid-table { } description " " trainz-build 2.4 username Multiple_Industry_New obsolete-table { 0 <kuid:-19:10152> } nightmode lamp script MultipleIndustryNew class MultipleIndustryNew icon-texture icon_multiple.tga

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

95

preview-mesh-kuid <kuid:-3:10154> kuid-table {

coal <kuid:44179:60013> diesel <kuid:-3:10011> cont20ft <kuid:-3:10014> cont40ft <kuid:-3:10041> gengoods <kuid:-3:10013> logs <kuid:-3:10001> lumber <kuid:-3:10003> woodchips <kuid:-3:10002> oil <kuid:-3:10010> petrol <kuid:-3:10012> water <kuid:-3:10004> avgas <kuid:-3:10045>

} mesh-table {

default { mesh Multiple_Industry.im auto-create 1 effects {

arrow0 { att a.track0a default-mesh <kuid:-3:10092> surveyor-only 1 kind attachment

} arrow1 {

att a.track0f default-mesh <kuid:-3:10092> surveyor-only 1 kind attachment

} }

} } attached-track {

out_track0 { track <kuid:-1:15> vertices { 0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d 4 a.track0e 5 a.track0f

} }

} attached-trigger {

trig0 { att a.track0b radius 10 }

trig1 { att a.track0c radius 10] }

trig2 { att a.track0d radius 10 }

trig3 { att a.track0e radius 10 }

} queues {

queue1 { size 100 allowed-products { }

} queue2 {

size 100 allowed-products { }

} queue3 {

size 100 allowed-products { }

} queue4 {

size 100 allowed-products { }

} queue5 {

size 100 allowed-products { }

} queue6 {

size 100 allowed-products { }

} } processes {

multi_consumer_producer { start-enabled 1 duration 30 inputs { } outputs { }

} } icon0 <kuid:-3:10164> Wyjaśnienia wpisów w pliku config.txt dodatku MultiIndustry New: Nie wszystkie wpisy zostały wyjaśnione poniŜej. Te niewyjaśnione zostały opisane w rozdziale „Ogólne wymagania co do zawartości pliku config.txt” na stronie, 23 tego dokumentu. script - nazwa pliku skryptu uŜywanego przez dodatek, class - klasa skryptu uŜywanego przez dodatek, icon-texture - nazwa pliku ikony reprezentującej dodatek w menu poleceń Maszynisty, preview-mesh-kuid - jako Ŝe tory (dodatek typu Spline) nie są wyświetlane w oknie podglądu, w oknie wyboru dodatków w mo- dule Geodety, siatka 3D podglądu jest niezbędna – jest to oddzielny dodatek typu Siatka (Mesh), kuid-table - lista KUID dodatków niezbędnych do prawidłowego funkcjonowania dodatku MultiIndustry, w tym przy- kładzie KUID-y towarów uŜywanych przez dodatek), default - nazwa pliku głównej siatki 3D dodatku, mesh - nazwa głównej siatki 3D dodatku,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

96

auto-create 1 - określa, Ŝe dodatek jest wyświetlany po dodaniu go na mapie w module Geodety lub po załadowaniu ma- py w module Maszynisty, zawierającej ten dodatek. Czasami, kiedy dodatek ma być kontrolowany tylko przez skrypt, moŜesz nie chcieć, aby był on „od razu” widoczny. Wtedy uŜyj wpisu auto-create 0 . effects - efekty dołączane do modelu, arrow0 - nazwa efektu, w tym przypadku czerwonej strzałki dołączanej do modelu aby uwidocznić koniec od- cinka torów dodatku, att - nazwa „punktu przyłączania”, w którym zostanie wy- świetlona dodatkowa siatka 3D. Przy braku tego wpi- su domyślna siatka zostanie przyłączona w punkcie o współrzędnych 0,0,0 głównej siatki 3D modelu, default-mesh - nazwa pliku dołączanej siatki 3D modelu strzałek, surveyor-only 1 - przyłączona dodatkowa siatka 3D modelu będzie widoczna jedynie w module Geodety, kind - typ (KIND) dołączanego dodatku, attached-track - nazwa torów, które zostaną domyślnie dołączone do dodatku, numer KUID tych torów oraz nazwy „pun- któw przyłączania” głównej siatki 3D modelu dodatku (dodanych w Gmax-ie/3DS Max-ie), pomiędzy który- mi ów tor zostanie połoŜony, out_track0 - nazwa dołączonych torów, track - KUID niewidocznych torów, które zostaną dołączone do dodatku, w tym przykładzie czerwone, niewidocz- ne tory, vertices - lista „punktów przyłączania”, dodanych w Gmax/ 3DSMax, pomiędzy którymi zostanie połoŜony dołą- czony tor, attached-trigger - punkt wyzwalacza (trigger) leŜący na drodze prze- biegu dołączonych torów, z określonym promieniem wyszukiwania. Kiedy kompatybilny wagon znajdzie się w tym promieniu, to zostaną wykonane komendy (kontrolowane przez skrypt) powiązane z tym wyz- walaczem (triggerem). trig0 - nazwa wyzwalacza (trigger-a), radius - promień wyszukiwania wyzwalacza w metrach, queues - ten wpis zawiera nazwę kolejki, nazwę towaru oraz jego początkową ilość po uruchomieniu gry, size - początkowa wielkość kolejki (w jednostkach towa- rów), allowed-products - dozwolone towary, niewymienione nigdzie indziej, które mogą brać udział w procesach produkcyjnych dodatku MultiIndustry,

processes - zapotrzebowanie i zuŜycie towarów. MoŜesz określić wartość zapotrzebowania i zuŜycia towarów dla kaŜ- dej kolejki procesu produkcyjnego – w sekundach okresu, kiedy ów proces ma miejsce. start-enabled 1 - wpis określa, Ŝe dany proces produkcyjny ma być uruchomiony automatycznie po rozpoczęciu sesji w module Maszynisty, duration - czas trwania procesu produkcyjnego w sekundach, inputs - wielkość wejściowa (w jednostkach towarów) dla da- nego procesu, outputs - wielkość wyjściowa (w jednostkach towarów) dla da- nego procesu, icon0 - nazwa pliku ikony reprezentującej dodatek w menu poleceń Maszynisty.

DODATEK TYPU STACJA PASAśERSKA (KIND: PASSENGER STATION) Dodatek typu Stacja PasaŜerska ma wiele takich samych atrybutów, co dodatek typu Przemysł (Industry). Pozwala on jednak takŜe na załadu-nek i rozładunek pasaŜerów, oraz umoŜliwia „znikanie” pasaŜerów na peronie, z którego wsiedli oni do wagonu, jak i „pojawianie” się ich na peronie, na który wysiedli oni z wagonu. Działanie tych funkcji opiera się na skrypcie TRS. Przykładowy plik config.txt opisany poniŜej po-chodzi z bazowej stacji pasaŜerskiej, posiadają-cej dwa perony. Kilka podobnych do siebie „punktów przyłączania” zostało pominiętych dla oszczędności miejsca. Szczegółowe informacje na temat dodatku tego typu moŜna znaleźć w przewodniku „Passenger Station and Vehicle Assets Tutorial” dostępnym w Internecie pod adresem: http://files.auran.com/TRS2004/downloads/contentcreation/SP2-Passenger_Asset_Tutorial.zip Plik config.txt dodatku Stacja PasaŜerska:

kuid <KUID2:###:#####:1> username Small_Station Example kind industry light 1 region TRS2004 type Trackside icon-texture icon_small_station.tga script SmallStation class SmallStation passenger-height 1.204 kuid-table { passenger <kuid:-3:10060>

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

97

mesh-table { default { mesh small_station.im auto-create 1 effects {

0 { kind name fontsize 0.08 fontcolor 220,220,220 att a.name0 name name }

1 { kind name fontsize 0.08 fontcolor 220,220,220 att a.name1 name name }

2 { kind name fontsize 0.08 fontcolor 220,220,220 att a.name2 name name }

} }

} attached-track {

track_one { track <kuid:-1:15> vertices

{ 0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d }

} track_two {

track <kuid:-1:15> vertices { 0 a.track1a 1 a.track1b 2 a.track1c 3 a.track1d }

} }

attached-trigger { rigger_track_one_a {

att a.track0a radius 2 track track_one

} trigger_track_one_b {

att a.trigmain radius 19 track track_one

} trigger_track_one_c {

att a.track0d radius 2 track track_one

} trigger_track_two_a {

att a.track1a radius 2 track track_two

} trigger_track_two_b {

att a.trigmain radius 19 track track_two

} trigger_track_two_c {

att a.track1d radius 2 track track_two

} }

queues { passengers_on_0

{ passenger-queue 1 size 48 initial-count 0 product-kuid <kuid:-3:10060> attachment-points { 0 a.passon30 1 a.passsit02 2 a.passsit03 3 a.passsit04 4 a.passon32 5 etc }

} passengers_on_1 {

passenger-queue 1 size 40 initial-count 0 product-kuid <kuid:-3:10060> attachment-points { 0 a.passon61 1 a.passsit67 2 a.passon43 3 etc }

} passengers_off_0 {

passenger-queue 1 size 26 initial-count 0 product-kuid <kuid:-3:10060> attachment-points { 0 a.passoff01 1 a.passoff15 2 a.passoff03 3 etc }

} passengers_off_1 {

passenger-queue 1 size 26 initial-count 0 product-kuid <kuid:-3:10060> attachment-points { 0 a.passoff27 1 a.passoff44 2 a.passoff29 3 etc } }

} processes {

passenger_spawn_0 { start-enabled 1 duration 20

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

98

outputs { 0 {

amount 1 queue passengers_on_0

} }

} passenger_spawn_1 {

start-enabled 1 duration 20 outputs { 0 {

amount 1 queue passengers_on_1

} }

} passenger_delete_0 {

start-enabled 1 duration 3 inputs { 0 { amount 1 queue passengers_off_0 }

} }

passenger_delete_1 { start-enabled 1 duration 3 inputs { 0 {

amount 1 queue passengers_off_1

} }

} }

soundscript { dayloop {

repeat-delay 0 distance 8,130 sound { station_amb_2.wav

} }

} string-table {

smallstation_plat1 Platform 1 smallstation_plat2 Platform 2

} username-fr Gare_petite string-table-fr

{ smallstation_plat1 Plateforme 1 smallstation_plat2 Plateforme 2

} username-it Small_Station string-table-it

{ smallstation_plat1 Platform 1 smallstation_plat2 Platform 2

} username-de Kleiner_Bahnhof string-table-de

{ smallstation_plat1 Bahnsteig 1

smallstation_plat2 Bahnsteig 2 }

username-es Estación_Pequeña string-table-es

{ smallstation_plat1 Platform 1 smallstation_plat2 Platform 2

} icon0 <kuid:-3:10164>

Wyjaśnienia wpisów w pliku config.txt dodatku Stacja PasaŜerska: Nie wszystkie wpisy zostały wyjaśnione poniŜej. Te niewyjaśnione, zostały opisane w rozdziale „Ogólne wymagania co do zawartości pliku config.txt” na stronie 23 tego dokumentu. icon-texture - ikona dodatku widoczna w menu poleceń Maszynisty (polecenie „Jedź do...” –„Drive To” ), musi to być plik graficzny tga - 64x64 px, bez kanału alfa, passenger-height - ten wpis definiuje domyślną wysokość połoŜenia dla dodatków typu pasaŜer, tak aby dopasować ich poło- Ŝenie do wysokości peronów stacji, queues - wpis definiuje towar (ładunek) kategorii pasaŜer – początkową ilość pasaŜerów na peronach stacji. „Punkty przyłączania” dla pasaŜerów na peronach, dodawane w Gmax-ie/3DS Max-ie są podobne do siebie, stąd teŜ w tym przykładzie pokazano tylko kilka z nich, passenger_on_X - nazwa kolejki (queue) dla pasaŜerów na peronach, wpis musi mieć tę formę – gdzie X oznacza numer peronu (zaczynając od 0). Wpis kolejki „passenger off” musi być nazwany w ten sam sposób, size - liczba kolejek pasaŜerów musi odpowiadać liczbie „punktów przyłączania” dla pasaŜerów na peronach. Pamiętaj o specjalnej konwencji nazw tych punktów – dla siedzących pasaŜerów nazwa kończy się zapi- sem „sitNN”, gdzie NN to dowolne dwa znaki, za- zwyczaj cyfry, processes - „zapotrzebowanie” i „zuŜycie” pasaŜerów. MoŜesz określić wartość zapotrzebowania i zuŜycia towarów dla kaŜdej kolejki procesu – w sekundach okresu, kiedy ów proces ma miejsce. Ten proces odpowiada za „pojawianie się” i „znikanie” pasaŜerów na pero- nach, passenger_spawn_X - nazwa kolejki procesu „pojawiania się” pasaŜerów. Nazwa ta musi być w tej formie, gdzie X oznacza nu- mer peronu (zaczynając od 0). Wpis kolejki „pas- senger off” musi być nazwany w ten sam sposób, string_table - wpis określa nazwę dla kaŜdego z peronów stacji, icon0 - nazwa pliku ikony reprezentującej dodatek w menu poleceń Maszynisty.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

99

DODATEK TYPU WAGON PASAśERSKI (KIND: PASSENGER VEHICLE) Dodatek typu Wagon PasaŜerski pozwala na załadunek i rozładunek pasaŜerów do i z wago-nów. Do funkcjonowania tego typu dodatku nie jest potrzebny Ŝaden dodatkowy skrypt. Dodatek tego typu został zaprojektowany do współpracy z dodatkiem typu Stacja PasaŜer-ska. Szczegółowe informacje na temat dodatku tego typu moŜna znaleźć w przewodniku „Passenger Station and Vehicle Assets Tutorial” dostępnym w Internecie pod adresem: http://files.auran.com/TRS2004/downloads/contentcreation/SP2-Passenger_Asset_Tutorial.zip Plik config.txt dodatku Wagon PasaŜerski:

kuid <KUID2:###:#####:1> name BR MK1 RMB Example company British Railways kind traincar region TRS2004 kuid-table { } engine 0 mass 28000 bogey <kuid:-3:10061> enginespec <kuid:-1:42004201> soundscript {

door_open { trigger door_open nostartdelay 1 repeat-delay 1 distance 5,170 sound {

start.wav }

} door_close {

trigger door_close nostartdelay 1 repeat-delay 1 distance 5,170 sound {

start.wav }

} } mesh-table {

default { mesh mk1_rmb_body/mk1_rmb_body.lm auto-create 1

} shadow {

mesh mk1_rmb_shadow/mk1_rmb_shadow.pm }

left-passenger-door { mesh mk1_rmb_body/left_door/left_door.im anim mk1_rmb_body/left_door/left_door.kin auto-create 1 att a.doors att-parent default

}

right-passenger-door { mesh mk1_rmb_body/right_door/right_door.im anim mk1_rmb_body/right_door/right_door.kin auto-create 1 att a.doors att-parent default

} } queues {

passengers { size 44 initial-count 0 passenger-queue 1 product-kuid <kuid:-3:10060> attachment-points { 0 a.sit5a 1 a.sit1b 2 a.stand3c 3 etc } }

} icon0 <kuid:-3:10164> description "BR MK1 RMB Example Asset" name-fr "MK1 RMB de BR" name-de "BR MK1 RMB" name-es "BR - MK1 RMB" name-it "BR MK1 RMB"

Wyjaśnienia wpisów w pliku config.txt dodatku Wagon PasaŜerski: Nie wszystkie wpisy zostały wyjaśnione poniŜej. Te niewyjaśnione, zostały opisane w rozdziale „Ogólne wymagania co do zawartości pliku config.txt” na stronie 23 tego dokumentu. soundscript - opcjonalny plik skryptu dźwiękowego dla otwierania drzwi wagonu, operacji wyzwalanych triggerem, jako zdarzenie animacji z pliku animacji, mesh - nazwa siatki 3D modelu. W tym przykładzie plik z rozszerzeniem *.lod – obiekt korzysta z redukcji siatki „Level of Detail”, shadow - nazwa siatki 3D dla cienia dodatku. Siatka ta powin- na zostać umieszczona w podfolderze dodatku, left-passenger-door, right-passenger-door - nazwy „animowanych drzwi” – aby dodatek współ- pracował ze Stacjami PasaŜerskimi – wpis musi za- wierać nazwy w tej formie. Siatka 3D powinna zostać umieszczona w podfolderze dodatku, *.kin - plik animacji dla drzwi wagonu (*.kin) umieszczone- go w podfolderze dodatku, att-parent ‘name’ - nazwa „punktu przyłączania” dla animacji drzwi wa- gonu, umieszczonego w obrębie głównej siatki 3D. queues - wpis definiuje towar (ładunek) kategorii PasaŜer – początkową ilość pasaŜerów w wagonie. „Punkty przyłączania” dla pasaŜerów w wagonie, dodawane w Gmax-ie/3DS Max-ie są podobne do siebie, stąd teŜ w tym przykładzie pokazano tylko kilka z nich,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

100

passengers - nazwa pasaŜerów wybranych przez Ciebie do proce- su kolejki, size - liczba kolejek pasaŜerów musi odpowiadać liczbie „punktów przyłączania” dla pasaŜerów w wagonie. Pamiętaj o specjalnej konwencji nazw tych punktów – dla siedzących pasaŜerów nazwa kończy się zapisem “a.sitNN”, dla stojących – zapisem “a.standNN”, gdzie NN to dowolne dwa znaki, zazwyczaj cyfry. KaŜdy punkt musi posiadać unikalną nazwę, initial-count - początkowa liczba pasaŜerów w wagonie, passenger-queue - wartość 1 tego wpisu włącza obsługę pasaŜerów na stacjach dla tej kolejki, product-kuid - KUID pasaŜerów niezbędnych do poprawnego fun- kcjonowania dodatku Wagon PasaŜerski.

DODATEK TYPU: STAŁE TORY (KIND: FIXEDTRACK)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Fixedtrack\ Stałe tory mogą być układane na mapie i łączo-ne ze sobą. MoŜna takŜe przyłączyć do nich tory z grupy Spline. Odcinki stałych torów „przycią-gają” się do siebie, kiedy umieścisz je dostate-cznie blisko siebie i pod odpowiednim kątem, w module Geodety. Dodatek typu Stałe Tory składa się z siatki 3D z dołączonym torem (torami) - Spline i z wido-cznymi tylko w Module Geodety, czerwonymi strzałkami, które pozwalają się zorientować podczas układania stałych torów, gdzie zaczyna się i gdzie się kończy odcinek (odcinki) stałego toru.

„Punkty przyłączania” Model 3D tego dodatku zawiera po prostu kilka „punktów przyłączania” (nazwanych wg sche-matu a.nazwa) dodanych do modelu w 3DS Max lub Gmax, oraz pojedynczy niewidoczny polygon, który pozwala wyeksportować model oraz wybierać (selekcjonować) go podczas gry. WaŜne: fundamentalne znaczenie ma orientacja w przestrzeni 3D „punktów przyłączania” dla obiektów Spline. Oś Y „punktu przyłączania”

musi wskazywać na zewnątrz obiektu Scenery, a oś Z „punktu przyłączania” – w górę. Środkowe „punkty przyłączania” muszą leŜeć dokładnie na linii Spline. Zobacz schemat po-niŜej. TRS 2004 ma wbudowane proste odcinki stałych torów i łuki. SkrzyŜowania proste są łatwe do stworzenia przez odpowiednie ustawienia „pun-któw przyłączania” torów. Dla odcinka stałego toru naleŜy utworzyć dwa punkty do przyłączania torów Spline. Dla skrzyŜowania naleŜy zrobić to samo, ale jednego z „punktów przyłączania” torów naleŜy uŜyć dwukrotnie. SkrzyŜowanie proste: Łuk:

Plik config.txt dodatku Stałe Tory (skrzyŜowa-nie): attached-track

{ track0

{ track <KUID:-1:15> useadjoiningtracktype 0 vertices

{ 0 a.track0a 1 a.track0b 2 a.track0c }

} track1

{ track <KUID:-1:15> vertices

{ 0 a.track0a 1 a.track1a 2 a.track1b }

} }

Plik config.txt dodatku Stałe Tory (łuk): username FT 10 Deg 700m Rad kind fixedtrack kuid <KUID:####:#######> region Fixed track type Fixed track preview-mesh-kuid <KUID:-3:10099>

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

101

mesh-table { default

{ mesh 10-700.im auto-create 1 effects

{ arrow0 {

kind attachment att a.track0a default-mesh <KUID:-3:10092> surveyor-only 1

} arrow1 {

kind attachment att a.track0e default-mesh <KUID:-3:10092> surveyor-only 1 }

} }

} attached-track

{ track0

{ track <KUID:-1:15> vertices

{ 0 a.track0a 1 a.track0b 2 a.track0c }

} }

Kiedy tor typu Spline jest dołączany do odcinka stałego toru, wygląd stałego toru uaktualnia się do wyglądu przyłączonego toru Spline (poza przypadkiem zastosowania w config.txt stałego toru wpisu useadjoiningtracktype 0, tak jak w przykładzie skrzyŜowania na poprzedniej stronie). Strzałki na kaŜdym z końców odcinka stałego toru są wstawiane jako obiekt typu Attachment (kind attachment) – poprzez wpisy w config.txt odwołujące się do KUID strzałek: <KUID:-3:10092>. KaŜdy dodatek typu Stałe Tory musi posiadać siatkę podglądu (preview-mesh). Tory (ani Ŝad-ne obiekty Spline) nie są wyświetlane w okienku podglądu w module Geodety (podczas wybiera-nia dodatków). Siatka podglądu (preview-mesh) moŜe być do-datkowym obiektem siatkowym (kind: mesh). Dzięki temu siatki podglądu (preview-mesh) nie da się wybrać w okienku wyboru dodatków w module Geodety, i nie będzie ona równieŜ widoczna na wstawionym odcinku stałego toru. Domyślne (wbudowane w Trainz) siatki podglądu (preview mesh) Stałych Torów to: • <KUID:-3:10154> – prosty odcinek; • <KUID:-3:10099> – łuk.

DODATEK TYPU: TORY - Spline (KIND: TRACK – RAILS)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Track\ Plik config.txt dodatku Tory (TRACK-Rails):

kuid <KUID2:###:#####.1> kind track region Britain type Rails rgb 255,200,0 length 4 istrack 1 width 4 chunky_mesh mstand_tex chunky_info 0, 2, 1.2, 0.2, 0.85, 0.3, 0.7 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####>

} obsolete-table { } username description “ “ trainz-build 2.0 category-class TR category-region-0 UK category-era-0

Wyjaśnienie wpisów: type - określenie typu dodatku dla modułu Geodety, region - określenie regionu dla modułu Geodety, rgb - kolor (RGB) uŜywany do wyświetlania dodatku w oknie minimapy, length - długość odcinka toru, istrack - wpis definiuje, czy dodatek track jest odcinkiem to- rów przeznaczonych do ruchu pociągów, czy nie. Domyślna wartość dla torów – 1 – oznacza, Ŝe tak, width - szerokość siatki torów w metrach, chunky_mesh - nazwa domyślnej tekstury dla odcinka stałego toru. chunky_info - wartości w tym wpisie (w metrach) definiują kształt siatki tworzonej dla torów. Patrz przykład na nastę- pnej stronie...

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

102

Poszczególne wartości w tym wpisie oznaczają wymiary z rysunku: chunky_info 0, 2, 1.2, 0.2, 0.85, 0.3, 0.7 chunky_info A, B, C, D, E, F, G chunky_info texture file - wpis dotyczy torów chunky - plik graficzny z teksturą podłoŜa (podkłady i podsypka) po lewej stronie, oraz z teksturą szyny po prawej stronie – nieskompreso- wany plik tga o wymiarach 128 x 128 pikseli. Plik mo- Ŝe posiadać kanał alfa. Tekstura jest mapowana (przypisywana do kształtu siatki 3D torów) pokaza- nego powyŜej) jako ułamek wymiaru 128 pikseli.

Ułamek wymiaru 128 pikseli: 0.01 0.225 0.525 0.74 0.75 0.83 0.91 0.99 Piksele: 1 29 67 95 96 106 117 127

DODATEK TYPU: DROGA - Spline (KIND: TRACK – ROAD) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Track\ Plik config.txt dodatku Droga(TRACK-Road):

kuid <KUID2:###:####.1> kind track region Australia length 5 grounded 0.4 istrack 0 width 7.9 bendy 1 isroad 1 carrate 55 uncached_alphas 1 obsolete-table { } username description “ “ trainz-build 2.0 category-class SR category-region-0 AU category-era-0

Wyjaśnienie wpisów: length - długość segmentu drogi w metrach, grounded - wysokość ponad powierzchnią podłoŜa, na jakiej bę- dzie znajdowała się wstawiona droga, istrack - wpis definiuje, czy dodatek track jest odcinkiem torów przeznaczonych do ruchu pociągów, czy nie. Domyślna wartość dla dróg – 0 – oznacza, Ŝe nie, width - szerokość siatki drogi w metrach, bendy - wartość 1 tego wpisu pozwala na odkształcanie siat- ki drogi na rogach, isroad - wpis definiuje, czy dodatek track ma być drogą z jeŜdŜącymi po niej pojazdami (droga z ruchem albo bez ruchu ulicznego). Wartość 1 oznacza, Ŝe pojazdy pojawią się na drodze, carrate - wpis definiujący natęŜenie ruchu pojazdów na dro- dze. Wartość oznacza minimalną liczbę sekund po- między pojawianiem się na drodze kolejnych pojaz- dów. Warto ść tego parametru musi by ć większa od 3. Wartość 0 oznacza brak ruchu,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

103

uncached_alphas - wpis uŜywany do poprawienia tekstur z kanałem przeźroczystości (alfa). Wartość 1 dla tego parametru powinna być stosowa- na tylko dla dodatków będących niczym droga lub tor, połoŜonych blisko podłoŜa i posiadających kanał alfa. WaŜne: obiekty Spline niebędące torami kolejowymi (wpis istrack 0 ) mogą być uŜywane do tworzenia „szeregu” obiektów takich jak budynki, mosty drogowe, mury, ogrodzenia, rząd słupów czy drzew... upright 0 - ten wpis definiuje ustawienie pionowe obiektów skła- dających się na Spline (np. słupów linii telefonicznej): wartość 0 oznacza, Ŝe słupy będą układały się pionowo (kąt 900 ) w stosunku do podłoŜa pod słupem:

Upright 0 wartość 1 oznacza, Ŝe słupy wszędzie będą ustawiane pionowo w stosunku do bezwzględnego poziomu:

Upright 1 Uwagi: efekty „zagięcia” (bendy) oraz „ustawienie pio-nowe” (upright) mają wizualny efekt dla obiektów Spli-ne – Track (kind: Track) taki, jak przedstawiony na rysunku po prawo u góry. Dla Mostów (kind: Bridge) oraz Tuneli (kind:Tunnel), obiekty Spline wyświetlane są tylko w sposób pokazany na rysunku jako bendy 1. Jednak w pliku config.txt dodatków spline zawierają-cych mosty lub tunele naleŜy zawsze umieszczać wpis bendy 1 , jako Ŝe poprawia on sposób układania tego rodzaju Spline na podłoŜu i poprawia wyświetlanie obiektu w grze. Spline typu Track (kind: Track) połoŜone na podłoŜu są teraz bardziej konfigurowalne, i stosowanie z tych dwóch wpisów jest zalecane do większości dodatków typu Spline.

Poprawne wyświetlenie w grze dodatku typu Spline–Track wymaga mniejszej liczby klatek na sekundę (fps) niŜ podczas wyświetlania dodatku Spline typu Most.

Bendy 1 Bendy 0

DODATEK TYPU: MOST - Spline (KIND: BRIDGE – BRIDGE) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Track\ lub: C:\Program Files\Auran\TRS2004\World\ Custom\Splines\ Ten typ dodatku jest stosowany do tworzenia mostów kolejowych i drogowych. Plik config.txt dodatku Most (BRIDGE-BRIDGE):

kind bridge type Bridges region Britain length 20 bridgetrack <KUID:-1:100395> trackoffsets 0.01 height -8 rgb 200,100,0 casts_shadows 1 istrack 1 initiator dark_stone_arch_2t_start terminator dark_stone_arch_2t_end endlength 40 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####> }

obsolete-table { } username description “ ” trainz-build 2.4 category-class TB category-region-0 UK category-era-0

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

104

Wyjaśnienie wpisów: type - typ dodatku dla modułu Geodety (np. most, tunel, most drogowy, itp.), region - określenie regionu dla modułu Geodety, length - długość w metrach segmentu mostu, bridgetrack - KUID torów lub drogi „połoŜonych” na moście, trackoffsets - odległość (w metrach) toru od centralnego „punktu przyłączania” obiektu Spline – mostu (połowa ROZ- STAWU torów). Do punktu „przyłączania” mostu moŜna dołączyć dowolną liczbę torów lub dróg. W przypadku mostów kolejowych, dwu- i więcej toro- wych, do mostu moŜna dołączyć tylko tory typu Spli- ne o zgodnym ROZSTAWIE torów. Dla mostu z jed- nym torem niezbędny jest wpis trackoffsets o małej wartości (w przykładzie jest to 0.01 metrów), height - wysokość poziomu torów (drogi) od podstawy mostu, powinna być ujemna dla mostów, rgb - kolor (RGB) uŜywany do wyświetlania dodatku w oknie minimapy, casts_shadows - definiuje, czy most ma rzucać cienie w trakcie gry:

0 – rzucanie cienia wyłączone, 1 – rzucanie cienia włączone.

JeŜeli włączysz rzucanie cieni, niezbędna będzie siatka 3D mostu o nazwie bridge_shadow.im – model cienia mostu umieszczony w podfolderze dodatku z mostem oraz wpisy initiator i terminator (jeśli zostały uŜyte), istrack - wpis definiuje, czy dodatek typu Most jest mostem kolejowym czy drogowym:

0 – oznacza most drogowy, 1 – oznacza most kolejowy,

initiator - nazwa pliku siatki modelu 3D uŜywanego jako po- czątek mostu (umieszczonego w podfolderze dodat- ku o tej samej nazwie), terminator - nazwa pliku siatki modelu 3D uŜywanego jako koniec mostu (umieszczonego w podfolderze dodatku o tej samej nazwie), endlength - długość (w metrach) obiektów initiator i terminator UWAGA: Niektóre dodatki Spline wymagają takŜe obiektu divider (np. słupy telegraficzne typu Spline). Pierwszy słup to initiator , ostatni to terminator , a wszystkie słupy pomiędzy nimi, to obiekty divider .

terminator initiator “L1” spline “L” spline “L” “L1”

W programie Gmax/3DS Max, modele obiektu initiator, terminator oraz model spline powinny być konstruowane począwszy od punktu współ-rzędnych 0,0,0 (origin) i rozbudowywane w kie-runku ujemnych wartości osi Y! Rysunek poniŜej, przedstawiający okno widoko-we TOP z programu 3D, pokazuje prawidłowe umiejscowienie modelu w przestrzeni 3D i „kie-runek” wymiarów „L1” oraz „L”:

punkt 0,0,0 (origin) � Długość „L1” modelu initiator lub terminator, oraz długość „L” modelu spline �

Model obiektu terminator moŜna utworzyć przez obrócenie o 1800 modelu obiektu initiator. „Punkty przyłączania” zostaną automatycznie wygenerowane w Trainz na poziomie gruntu. Wysokość modelu powinna zostać tak wyregu-lowana w programie Gmax/3DS Max, aby tor lub droga „trafiała” w odpowiedni poziom:

Punkt 0,0,0 (origin) Poziom gruntu w Trainz

Okno widoku FRONT w Gmax/3DS Max

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

105

DODATEK TYPU: TUNEL - Spline (KIND: BRIDGE – TUNNEL) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Track\ lub: C:\Program Files\Auran\TRS2004\World\ Custom\Splines\ Ten typ dodatku jest stosowany do tworzenia tuneli kolejowych i drogowych. Plik config.txt dodatku Most (BRIDGE-TNNEL):

kind bridge type Tunnels region Australia length 20 bridgetrack <KUID2:###:#####:1> trackoffsets -4.5, 4.5 height 8 rgb 180, 180, 180 istrack 1 initiator oz_tunnel_start terminator oz_tunnel_end endlength 20 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####>

} obsolete-table { } username description “ “ trainz-build 2.0 category-class TB category-region-0 AU category-era-0

Wyjaśnienie wpisów: type - typ dodatku dla modułu Geodety (np. tunel, tunel drogowy itp.), region - określenie regionu dla modułu Geodety, length - długość w metrach odcinka tunelu, bridgetrack - KUID torów lub drogi „połoŜonych” w tunelu, trackoffsets - odległość (w metrach) toru od centralnego „punktu przyłączania” obiektu Spline – tunelu (połowa ROZ- STAWU torów). Do punktu „przyłączania” tunelu moŜna dołączyć dowolną liczbę torów lub dróg. W przypadku tuneli kolejowych, dwu- i więcej toro- wych, do tunelu moŜna dołączyć tylko tory typu Spli- ne o zgodnym ROZSTAWIE torów. Dla tunelu z jed- nym torem niezbędny jest wpis trackoffsets o małej wartości (np. trackoffsets 0.01 ),

height - wartość tego parametru powinna być dodatnia dla tuneli, oraz większa, niŜ wysokość stropu tunelu, ale jednocześnie niŜsza, niŜ wysokość budowli przy wjeździe i wyjeździe z tunelu, rgb - kolor (RGB) uŜywany do wyświetlania dodatku w oknie minimapy, istrack - wpis definiuje, czy dodatek typu Tunel jest tunelem kolejowym czy drogowym:

0 – oznacza tunel drogowy, 1 – oznacza tunel kolejowy,

initiator - nazwa pliku siatki modelu 3D uŜywanego jako po- czątek tunelu (umieszczonego w podfolderze dodat- ku o tej samej nazwie), terminator - nazwa pliku siatki modelu 3D uŜywanego jako koniec tunelu (umieszczonego w podfolderze dodatku o tej samej nazwie), endlength - domyślna długość odcinka (w metrach) pomiędzy obiektami initiator i terminator tunelu.

DODATEK TYPU: MOST, TUNEL, TOROWISKO - DWA TORY - Spline (KIND: BRIDGE – DOUBLE TRACK) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Track\ Ten typ dodatku jest uŜywany do tworzenia dwu- i więcej torowych mostów, tuneli kolejo-wych i torowisk – wpis trackoffsets w pliku config.txt. Plik config.txt dodatku Most (BRIDGE-DOUBLE TRACK):

kuid <KUID2:###:#####:1> kind bridge type Rails region Australia length 20 bridgetrack <KUID:-1:100396> trackoffsets -2.5,2.5 height 0 rgb 255,200,0 istrack 1 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####>

} obsolete-table { } username description “ ” trainz-build 2.4 category-class TB category-region-0 UK category-era-0

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

106

Wyjaśnienie wpisów: type - typ dodatku dla modułu Geodety (np. most, tunel, itp.), region - określenie regionu dla modułu Geodety, length - długość w metrach odcinka obiektu, bridgetrack - KUID torów lub drogi „połoŜonych” w obiekcie, trackoffsets - odległość (w metrach) toru od centralnego „punktu przyłączania” obiektu Spline – (połowa ROZSTAWU torów). Do „punktu przyłączania” obiektu moŜna do- łączyć dowolną liczbę torów lub dróg. W przypadku tuneli i torowisk kolejowych, dwu- i więcej torowych, do obiektu moŜna dołączyć tylko tory typu Spline o zgodnym ROZSTAWIE torów, height - dla torowisk dwu- i więcej torowych stosowana jest wartość 0 tego parametru, rgb - kolor (RGB) uŜywany do wyświetlania dodatku w oknie minimapy, istrack - wpis definiuje, czy dodatek typu Bridge-Double Track jest dodatkiem kolejowym czy drogowym:

0 – oznacza dodatek drogowy, 1 – oznacza dodatek kolejowy,

DODATEK TYPU: OGRANICZENIE PRĘDKOŚCI (KIND: MOSPEEDBOARD)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Trackside\ Ten typ dodatku jest uŜywany do tworzenia sygnałów ograniczenia prędkości, ustawianych przy torach i oddziałujących na przejeŜdŜające pociągi. Plik config.txt dodatku MOSPEEDBOARD:

kuid <KUID2:###:#####:1> kind mospeedboard trackside -2.5 speedlimit 5.56 obsolete-table { } username description “ ” trainz-build 2.0 category-class WS category-region-0 UK category-era-0

Wyjaśnienie wpisów: trackside - odległość od osi toru, w jakiej dodatek będzie usta- wiony przy torach, po dodaniu go na mapie. Ujemne wartości tego parametru umieszczają dodatek po lewej stronie toru(ów), dodatnie – po prawej stronie toru(ów), Speedlimit - maksymalna dozwolona predkość pociągu (lokomo- tywy) określona przez ten znak ograniczenia pręd- kości (wyra Ŝona w metrach na sekund ę). WaŜne: PRZELICZANIE JEDNOSTEK Aby zamienić prędkość w milach na godzinę (mph) na prędkość w m/s, naleŜy pomnoŜyć wartość mph przez 0.447 (np.10 mil na godzinę to 4.47 m/s). Aby zamienić prędkość w kilometrach na godzinę (kph) na prędkość w m/s, naleŜy pomnoŜyć wartość km/h przez 0.278 (np.10 kilometrów na godzinę to 2.78m/s).

DODATEK TYPU: SYGNALIZATOR (KIND: MOSIGNAL) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Trackside\ Ten typ dodatku jest uŜywany do tworzenia sygnalizatorów świetlnych (oraz semaforów kształtowych), a takŜe innych sygnalizatorów, ustawianych przy torach i oddziałujących na przejeŜdŜające pociągi. Plik config.txt dodatku MOSIGNAL:

kuid <KUID2:###:#####:1> kind mosignal mesh-table

{ default

{ mesh signalname.im auto-create 1

effects { 0 { kind name fontsize 0.15 fontcolor 30,30,30 att a.name0 name name }

} }

} light 1 trackside -2.7 function TrackSignal region Britainw obsolete-table

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

107

{ } username description “ “ trainz-build 2.0 category-class WA category-region-0 UK category-era-0

Wyjaśnienie wpisów: region - określenie regionu dla modułu Geodety, light - definiuje sposób oświetlania obiektu w grze. Obiekt moŜe być oświetlany światłem wypełniającym (tak jak w pochmurny dzień) lub światłem kierunkowym (tak jak w słoneczny dzień). Wartość 0 tego parame- tru oznacza oświetlanie wypełniające (ambient), a wartość 1 – oświetlenie kierunkowe, zaleŜne od połoŜenia słońca na niebie w trakcie gry. trackside - odległość od osi toru, w jakiej dodatek będzie usta- wiony przy torach, po dodaniu go na mapie. Ujemne wartości tego parametru umieszczają dodatek po lewej stronie toru(ów), dodatnie – po prawej stronie toru(ów), function - wpis musi zawierać wartość: TrackSignal WaŜne: wszystkie konfigurowalne semafory i sygnalizatory muszą uŜywać efektów (kind: effects), o nazwach efektów zdefiniowa-nych przez wpisy w bloku mesh-table. Efekty (kind: effects) zostały opisane na stronie 27 tego dokumentu. SYGNAŁY (SIGNALS) Następna sekcja (blok) pliku config.txt dodatku Mosignal definiuje, jakie rodzaje sygnałów moŜe wyświetlać ten semafor, oraz które punkty świetlne są aktywowane w przypadku kaŜdego z sygnałów. Poprzez wpis z odwołaniem do numeru sygnału moŜna zdefiniować następujące sygnały: 0 Stop (STOP) 1 Stop, z moŜliwością kontynuacji jazdy

(STOP THEN PROCEED) 2 Uwaga, rozjazd w lewo

(CAUTION AND LEFT DIVERGE) 3 Uwaga, rozjazd w prawo

(CAUTION AND RIGHT DIVERGE) 4 Uwaga (CAUTION) 5 Jedź, potem rozjazd w lewo

(PROCEED AND LEFT DIVERGE) 6 Jedź, potem rozjazd w prawo

(PROCEED AND RIGHT DIVERGE) 7 Zwiększona ostroŜność(ADVANCED CAUTION) 8 Maksymalna prędkość dozwolona (PROCEED)

Następujących numerów sygnałów moŜna uŜy-wać wyłącznie w skryptach: 9 Powoli (SLOW) 10 Umiarkowana prędkość (MEDIUM SPEED) UWAGA: PowyŜsze sygnały bazują na sygnaliza-cji KIERUNKOWEJ, obowiązującej m.in. w USA i Australii. Sygnalizacja obowiązująca np. w Pol-sce czy w Niemczech, to sygnalizacja PRĘDKO-ŚCIOWA. Ten typ sygnalizacji jest niemoŜliwy do odtworzenia w TRS za pomocą wbudowanych sygnalizatorów. Odtworzenie w grze sygnalizacji prędkościowej jest moŜliwe wyłącznie z zastoso-waniem skryptów. Rodzaje sygnałów i odpowiadające im aktywne punkty świetlne sygnalizatora zdefiniowane są w pliku config.txt następująco (przykład):

signals

{ 0

{ light 7 }

2 { light 6,0,1,2,3,4 }

4 { light 6 }

}

(nie zapominaj o spacji pomiędzy numerem rodzaju sygnału a nawiasami) Przyglądając się powyŜszemu przykładowi semafora świetlnego widzimy, Ŝe semafor ten moŜe wyświetlać rodzaje sygnałów 0, 2, oraz 4 („Stop”, „Uwaga, rozjazd w lewo” oraz „Uwa-ga”). Kiedy wyświetlany jest rodzaj sygnału oznaczony cyfrą 0 – aktywowany jest punkt świetlny nr 7. Przy rodzaju sygnału nr 2 – akty-wowane są punkty świetlne nr: 6,0,1,2,3,4. Przy rodzaju sygnału nr 4 – aktywowany jest punkt świetlny nr 6. PUNKTY ŚWIETLNE (LIGHTS) KaŜdy zdefiniowany w tym wpisie punkt świetlny (z kolejnym numerem) musi posiadać skojarzony z nim efekt typu corona. Tekstury efektu corona powinny znajdować się w folderze dodatku.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

108

Wpisy w config.txt definiujące poszczegól-ne punkty świetlne (światła) sygnalizato-ra:

lights {

0 { corona corona_white.tga } 1 { corona corona_white.tga } 2 { corona corona_white.tga } 3 { corona corona_white.tga } 4 { corona corona_white.tga } 5 { corona corona_green.tga } 6 { corona corona_yellow.tga } 7 { corona corona_red.tga } 8 { corona corona_white.tga } 9 { corona corona_white.tga }

} (nie zapominaj o spacji pomiędzy numerem punktu świetlnego a nawiasami) W powyŜszym przykładzie, poniŜej wpisu lights widać listę punktów świetlnych sygnalizatora – są to „punkty przyłączania” (Point z zakładki Helpers w Gmax), dodane do modelu 3D syg-nalizatora. Ten sygnalizator ma ich 10 (od 0 do 9). „Punkty przyłączania” dodane do obiektu 3D mają nadane w Gmax-ie nazwy z kolejnym nu-merem, wg schematu: od a.light0 do a.light9. Do kaŜdego „punktu przyłączania” światła, zde-finiowano tekstury, które są przyłączane w miejscu połoŜenia danego punktu świetlnego w sygnalizatorze. Tak więc, kiedy aktywowany jest np. punkt świetlny nr 7 na sygnalizatorze, w „punkcie przyłączania” o nazwie a.light7 wyświetlana

jest tekstura corona_red.tga z efektem wyświe-tlania typu corona. Kiedy sygnalizator wyświetla sygnał typu ozna-czonego cyfrą 2 (z poprzedniego bloku signals) – aktywowane są punkty świetlne nr: 6,0,1,2, 3,4. Punkt świetlny nr 6 powoduje wyświetlenie na sygnalizatorze, w „punkcie przyłączania” o naz-wie a.light6 tekstury corona_yellow.tga, z efe-ktem wyświetlania typu corona. Punkty świetlne nr 0-4 powodują wyświetlenie na sygnalizatorze, w „punktach przyłączania” o nazwach od a.light0 do a.light9 tekstury corona_white.tga, z efektem wyświetlania typu corona. Umiejscowienie semaforów i sygnalizatorów na mapie ma olbrzymi wpływ na prawidłowe działa-nie systemu sygnalizacji w trakcie gry. Jest kil-ka reguł, a takŜe kilka wyjątków od tych reguł, których naleŜy przestrzegać ustawiając sygnali-zację na swojej mapie. Zapoznaj się z „Podręcznikiem Sygnalizacji” dostępnym po wybraniu z menu startowego gry TRS 2004 pozycji „Instrukcje Trainz” lub po wpisaniu w przeglądarkę internetową adresu: C:\Program Files\Auran\TRS2004\Docs\ manuals_cd\manuals\Signaling_Guide.pdf

DODATEK TYPU: DŹWIGNIA ROZJAZDU (KIND: MOJUNCTION) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Trackside\ Ten typ dodatku zawiera dźwignie i napędy uŜy-wane do przestawiania zwrotnic w TRS 2004. Plik config.txt dodatku MOJUNCTION:

kuid <KUID2:####:#####:1> kind mojunction mesh-table {

mode0 {

mesh lever1/lever1.im auto-create 1

} mode1 {

mesh lever2/lever2.im auto-create 1

} } region Australia trackside 2 light 1 soundscript

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

109

{ toggle { trigger toggle distance 5, 100 nostartdelay 1 repeat-delay 1

sound {

points.wav }

} }

obsolete-table { } username description " " trainz-build 2.4 category-class WX category-region-0 AU category-era-0

Wyjaśnienie wpisów: region - określenie regionu dla modułu Geodety, trackside - odległość od osi toru, w jakiej dodatek będzie usta- wiony przy torach, po dodaniu go na mapie. Ujemne wartości tego parametru umieszczają dodatek po lewej stronie toru(ów), dodatnie – po prawej stronie toru(ów), light - definiuje sposób oświetlania obiektu w grze. Obiekt moŜe być oświetlany światłem wypełniającym (tak jak w pochmurny dzień) lub światłem kierunkowym (tak jak w słoneczny dzień). Wartość 0 tego parame- tru oznacza oświetlanie wypełniające (ambient), a wartość 1 – oświetlenie kierunkowe, zaleŜne od połoŜenia słońca na niebie w trakcie gry. mode0 - nazwa pliku z domyślną siatką 3D dodatku (*.im), umieszczonym w podfolderze dodatku. Ten obiekt siatkowy umieszczany jest na mapie w chwili doda- nia go do mapy. W tym przykładzie jest to plik: lever1\lever1.im mode1 - nazwa pliku z siatką 3D dodatku (*.im) w stanie po przestawieniu zwrotnicy, umieszczonym w podfol- derze dodatku. Ten obiekt siatkowy wyświetlany jest na mapie po przestawieniu zwrotnicy. W tym przykładzie jest to plik: lever2\lever2.im soundscript - wpis skryptowy dla dźwięku, odtwarzający plik dźwiękowy (w tym przykładzie points.wav ), podczas przestawiania zwrotnicy. W tym przykładzie skrypt ten aktywowany jest przez obiekt trigger o nazwie toggle .

Kiedy model zawiera animację, jest moŜliwe określenie efektów przełączania zwrotnicy jako zdarzeń animacji, definiowanych przez klatki kluczowe animacji. Takie zdarzenie animacji jest aktywowane przez wyzwalacz (trigger) nazwany „toggle ” w pliku zdarzeń *.evt, i wywoływane z pliku config.txt. Zapoznaj się z opisem Zdarzeń Animacji na stronie 125 tego dokumentu. Dla modelu bez animacji, wyzwalacz (trigger) o nazwie „toggle ” jest rozpoznawany przez Trainz wtedy, gdy przełącznik zwrotnicy jest aktywowany, i wtedy odtwarzany jest dźwięk. JeŜeli usuniesz domyślną dźwignię zwrotnicy Auranu i zastąpisz ją swoim własnym dodatkiem, to dźwiękowy plik *.wav zdefiniowany w pliku config.txt Twojego do-datku zostanie skojarzony z wyzwalaczem (triggerem) i będzie odtwarzany podczas przełączania zwrotnicy zamiast domyślnego, wbudowanego w grę dźwięku.

DODATEK TYPU: OBROTNICA (KIND: MOTURNTABLE) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Scenery\ Dodatek tego typu zawiera obrotnicę lokomo-tyw. Plik config.txt dodatku MOTURNTABLE:

kuid <KUID2:###:#####:1> kind turntable region Australia type Trackside mesh-table {

default {

mesh turntablebase/turntablebase.im auto-create 1

} turntable

{ mesh platform/platform.im auto-create 1

} } light 1 mode0 oz_turntable2 mode1 oz_turntable2_spinner angle 0,165,180,345 track <KUID:-1:100966> snapmode 2 dighole 3,3 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####>

} obsolete-table { } username description “ “ trainz-build 2.0 category-class TR

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

110

category-region-0 AU category-era-0 kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####>

} obsolete-table { } username description “ ” trainz-build 2.0 category-class TR category-region-0 AU category-era-0

Wyjaśnienie wpisów: type - typ dodatku dla modułu Geodety, region - określenie regionu dla modułu Geodety, default (mode0 w poprzednich wersjach Trainz) - nazwa siatki głównego modelu obrotnicy, teraz (w TRS 2004) zdefiniowana przez wpis w bloku „mesh-table”, turntable (mode1 w poprzednich wersjach Trainz) - nazwa siatki modelu obracającej się obrotnicy, zde- finiowana przez wpis w bloku „mesh-table”, light - definiuje sposób oświetlania obiektu w grze. Obiekt moŜe być oświetlany światłem wypełniającym (tak jak w pochmurny dzień) lub światłem kierunkowym (tak jak w słoneczny dzień). Wartość 0 tego parametru oznacza oświetlanie wypełniające (ambient), a war- tość 1 – oświetlenie kierunkowe, zaleŜne od połoŜe- nia słońca na niebie w trakcie gry. angle - wpis definiuje kąty połoŜenia w trakcie obrotu, po osiągnięciu których obrotnica będzie się zatrzymy- wać. NIE STOSOWANY, JEśELI OROTNICA ZAWIERA ANIMACJĘ OBROTU. Zobacz opis po prawej stro- nie u góry… track - KUID toru, który zostanie „połoŜony” na obrotnicy, snapmode - wpis definiuje sposób wyrównywania obiektu do siat- ki podłoŜa, po dodaniu go do mapy w module Geo- dety: wartość 1 oznacza „przyciąganie” do naroŜników siatki (skrzyŜowanie linii siatki podłoŜa),wartość 2 oznacza „przyciąganie” do środka pola (kwadratów) siatki podłoŜa, dighole - wpis definiuje liczbę pól (kwadratów) siatki podłoŜa w module Geodety, które zajmuje obrotnica (nie mo- gą one zostać wykorzystane do umiejscowienia in- nych obiektów na mapie)

ANIMOWANE OBROTNICE (ANIMATED TURNTABLES) Animowane obrotnice zawierają animację ich obrotu. Poszczególne klatki „kluczowe” animacji mogą zostać zdefiniowane jako kolejne wartości parametru angle, opisanego powyŜej. MoŜna takŜe zdefiniować poszczególne klatki „kluczowe” animacji obrotu, poprzez punkty do-łączonych torów Spline (obrotnica podczas ob-rotu będzie się zatrzymywać przy kaŜdym z do-łączonych do niej torów). Pobierz z Internetu przykład plików źródłowych i wynikowych dodatku typu OBROTNICA (MOTURNTABLE) w formacie ZIP, dostępnym na stronie: http://www.auran.com/TRS2004/downloads/contentcreation/TransporterTestAsset.zip keyframes - wpis definiuje numery klatek animacji, w których obrotnica podczas obrotu będzie się zatrzymywać, frame-rate - wpis definiuje prędkość odtwarzania animacji obrotu. Domyślna wartość dla tego parametru to 30 (klatek na sekundę). PoniŜszy przykład pokazuje wpisy uŜywane dla pliku animacji dla obrotnicy (transfer table model):

kuid <KUID:44179:60004> region Australia light 1 kind turntable type Trackside username transporter track 100966 snapmode 1 dighole 4,8 keyframes 0,100,201,300,400,601 looping 0 frame-rate 30 nightmode home interior <KUID:44179:55002> mesh-table {

default {

mesh trans_base/trans_base.im auto-create 1

} turntable {

mesh trans_platform/trans_platform.im anim trans_platform/anim.kin

} } … itd .

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

111

DODATEK TYPU: PRZEJAZD KOLEJOWY (KIND: MOCROSSING) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Scenery\ Tego typu do-datek zawiera przejazd kole-jowy – skrzyŜo-wanie toru (ów) z drogą. Ten przykład zawie-ra przejazd ze skryptem ani-macji opu-szczania i pod-noszenia zapór, oraz migania świateł ostrze-gawczych. Wyjaśniono tu tylko wpisy pliku config.txt, przy czym powtarzające się wyja-śnienia (np. wpisów efektu corona) pominięto. Pamiętaj, Ŝe animowane przejazdy kolejowe nie muszą korzystać ze skryptów. Animacja moŜe być wyzwalana automatycznie przez zbliŜający się pociąg. Zdarzenia animacji mogą być takŜe zdefiniowane jako klatki kluczowe animacji, co daje większą nad nimi kontrolę w zastosowa-niach skryptowych. Typy przyłączonych torów i dróg są wyspecyfi-kowane we wpisie attachedtrack oraz jako naz-wy pliku siatki 3D (*.im) w sekcji mesh-table. Przy tworzeniu tego typu dodatku moŜe okazać się pomocny KUID drogi niewidocznej. Plik config.txt dodatku MOCROSSING:

kuid <KUID2:######:######:1> light 1 type trackside kind mocrossing trainz-build 2.4 category-region-0 AU category-era-0 1980s region Australia class modular_xing script xing.gs KUID-table {

corona_red <KUID:-3:10112> road <KUID:###:####>

} mesh-table {

default { mesh road.im anim boomgates.kin auto-create 1

effects { pole1-light1 { kind corona att a.pole1-lamp0

texture-kuid <KUID:-3:10112> }

pole1-light2 { kind corona att a.pole1-lamp1 texture-kuid <KUID:-3:10112>

} boom1-light1 { kind corona att a.boom1-light0 directional 0 texture-kuid <KUID:-3:10112>

} boom1-light2 { kind corona att a.boom1-light1 directional 0 texture-kuid <KUID:-3:10112>

} }

} attached-track {

track { track <KUID:-1:15> vertices { 0 a.track0a 1 a.track0b }

} road {

track <KUID:###:####> useadjoiningtracktype 0 vertices { 0 a.road0a 1 a.road0b }

} } string-table { } username QR Level Crossing category-class TR description "QR level crossing with animated boomgates and flashing lights."

Wyjaśnienie wpisów: type - typ dodatku dla modułu Geodety, region - określenie regionu dla modułu Geodety, class - klasa skryptu uŜywanego przez dodatek, script - nazwa pliku skryptu uŜywanego przez dodatek, kuid-table - lista zaleŜności (inne dodatki wymagane do popra- wnego działania – tory, droga, corona), mesh - nazwa pliku domyślnej siatki 3D dodatku anim - plik animacji dołączonej do domyślnej siatki 3D, att - oznacza, ze dana siatka 3D stanowi subelement in- nej siatki i jest do niej przylaczana w punkcie a.nazwa_punktu zawartym w siatce nadrzednej,

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

112

att-parent - definiuje nadrzędną siatkę 3D, do której przyłączane będą subsiatki 3D, auto-create 1 - określa, Ŝe dodatek jest wyświetlany po dodaniu go na mapie w module Geodety lub po załadowaniu ma- py w module Maszynisty, zawierającej ten dodatek, effects - nazwy dołączanych efektów (corona), directional 0 - Dla wartości 0 efekt corona widoczny jest z kaŜdej strony obiektu i pod kaŜdym kątem (tekstura efektu wyświetlana jest zawsze na wprost obserwatora), texture-kuid - KUID efektu corona, attached-track - typ toru i (drogi), który zostanie „połoŜony” na prze- jeździe pomiędzy „punktami przyłączania”. Nazwy „a.track” i „a.road” nie są obligatoryjne – moŜna uŜyć dowolnych nazw, jednak muszą się one rozpoczynać przedrostkiem „a.”. ”Punkty przyłączania” są definio- wane w siatce 3D modelu. Poczytaj na stronie 100 o orientacji i lokalizacji „punktów przyłączania”, useadjoiningtracktype 0 - definiuje czy tory (i droga) połoŜone na przejeździe (te z wpisu attached-tracks) mają być zastępowane torami i drogą dołączonych obiektów Spline, string-table - lista, do której moŜna się odwoływać z poziomu kodu skryptu.

DODATEK TYPU SIATKA 3D (KIND: MESH) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Meshes\ Tego typu dodatek zawiera siatki 3D obiektów, które nie są samodzielnymi dodatkami (nie są wyświetlane w oknie wyboru dodatków w mo-dule Geodety), ale są wymagane przez inne do-datki (odwołania do obiektów tego typu, po-przez ich KUID, znajdują się w plikach config.txt innych dodatków). Przykładem dodatku typu MESH moŜe być do-datkowa siatka 3D przeznaczona do wyświetla-nia podglądu dodatku w oknie wyboru dodatków w module Geodety (takie dodatkowe siatki „podglądu” mają np. lotnisko, port, odcinki stałych torów). Odwołanie do „siatki podglądu” zdefiniowane jest poprzez jej KUID we wpisie preview-mesh-kuid <KUID:##:####> w pliku config.txt głównego dodatku.

Struktura folderu Typowy plik config.txt dodatku typu Mesh: dodatku typu Mesh:

kuid <KUID:-3:10092> kind mesh mesh-table {

default { mesh arrow.im auto-create 1

} }

DODATEK TYPU TEKSTURA (KIND: TEXTURE)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Tekstures\ W TRS 2004 moŜna tworzyć tekstury dla innych dodatków – jako oddzielne dodatki. KUID tych dodatków – tekstur umieszcza się jako odwoła-nie we właściwym wpisie w pliku config.txt do-datku, który z tych tektur korzysta (przykładem dodatku typu Tekstura są tekstury dla efektu corona lub ikon towarów w oknie właściwości, w module Geodety. Struktura folderu Plik config.txt dodatku typu Texture: dodatku Teksture:

kind texture kuid <KUID:-3:10112>

DODATEK TYPU GRUPA TEKSTUR (KIND: TEXTURE-GROUP)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Tekstures\ Dodatek typu Texture-Group zasadniczo jest bazą danych tekstur – listą tektur, które są wykorzystywane przez skrypt do zmiany teks-tury dodatku w trakcie gry. Jedynym zastoso-waniem tego typu dodatku, jest odwołanie do niego w argumencie funkcji „SetFXTextureReplacement”, wewnątrz skryptu. Jeśli nie zajmujesz się pisaniem (two-rzeniem) skryptów, nie zawracaj sobie głowy tym typem dodatku do TRS ☺. Typowym przykładem uŜycia tego dodatku są wskazania cyfrowych mierników na tablicy rozdzielczej kabiny maszynisty, zmieniające się w czasie jazdy.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

113

Plik config.txt dodatku Texture-Group:

kind texture-group username “My texture group” kuid <KUID2:##:######:1> textures { 0 “foo.texture” 1 “bah.texture” 2 “tay.texture” }

DODATEK TYPU SCENARIUSZ (KIND: ACTIVITY) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Scenarios\ Dodatek tego typu zawiera scenariusz gry, wraz ze skryptem. Plik config.txt dodatku Activity:

kind activity kuid <KUID:-14:160> username Highland Valley (DCC) scriptlibrary SP3S1DCC scriptclass SP3S1DCC driver-settings

{ autopilotmode 0 startingtime 0.4 timerate 1 deraillevel 0 showhelp 0 controlmethod 0 weather 3 changeability 1

} kuid-table

{ highland_valley <KUID:-12:132> f7_sfred <KUID:-1:1> atsf_chair <KUID:-1:100160> atsf_pullman_pine <KUID:-1:100163> atsf_baggage <KUID:-1:100159> cflow_fert <KUID:-1:100012> prr_fm_tuscan <KUID:-1:100017> 40ft_boxcar <KUID:-1:100085> pdhc_babyruth <KUID:-1:100066> 4bhopper_il <KUID:-1:100929> 50ft_boxcar <KUID:-1:100086> gatx_pennsalt <KUID:-1:100092> 60ft_boxcar <KUID:-1:100087> sd40_2_santafe <KUID:-1:100871> 4bhopper_il_coal_full <KUID:-1:101224> foundry_car <KUID:-1:101220>

} description “Take contol of the morning passenger service to Highland Valley stopping at all stations and return to Greenwood. Bad weather is forecast so drive with care. Service : Highland Valley Passenger Train No. : 7528 Consist : F7A + 5 cars Weight in Tow : 300t Total Length : 490’”

Wyjaśnienie wpisów: username - nazwa scenariusza wyświetlana w oknie wyboru TRS 2004, scriptlibrary - nazwa skompilowanego pliku scenariusza (*.gsl), scriptclass - nazwa klasy scenariusza (zawierająca nazwę pliku scenariusza, driver-settings{} - definiuje ustawienia początkowe scenariusza – ana- logia ustawień początkowych po uruchomieniu sesji w module Maszynisty. Pozwala definiować takie ustawienia, jak zmienność pogody, sposób sterowa- nia (DCC – tryb kabinowy), itp.

autopilotmode - tryb autopilota: 0 – wyłączony, 1 – włączony; startingtime 0…1 - pora dnia w chwili rozpoczęcia scenariusza (0.5 – południe); timerate 1 - szybkość upływu czasu podczas scenariusza: (1 – rzeczywista – 1x); deraillevel 0 - realizm wykolejeń: 0 – brak, 1 – względny, 2 – realistyczny; showhelp 0 - menu pomocy: 0 – wyłączone, 1 – włączone controlmethod 0 - tryb sterowania: 0 – DCC, 1 – kabinowy; weather 0 - warunki pogodowe: 0 – pogodnie, 1 – pochmurnie, 2 – mŜawka, 3 – deszcz, 4 – burza, 5 – śnieŜek, 6 – śnieg, 7 – śnieŜyca; changeability 0 - zmienność pogody: 0 – brak, 1 – okresowa, 2 – skrajna;

kuid-table{} - lista dodatków wykorzystywanych przez scenariusz (nazwa oraz KUID kaŜdego dodatku). Skrypt odwo- łuje się do dodatków poprzez ich nazwy umieszczo- ne w tym wpisie.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

114

DODATEK TYPU BUILDABLE (KIND: BUILDABLE) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\scenery\ Dodatek tego typu jest odmianą dodatku typu Scenery i moŜe być umieszczany na mapie jako obiekt typu Scenery z tym, Ŝe posiada następu-jące cechy dodatkowe: – dziedziczy cechy obiektu typu Scenery; – pozwala na dołączanie obiektów typu Spline- Track jako elementów tego dodatku; – nie obsługuje procesów. Dla takich zastoso- wań lepszy będzie dodatek typu Przemysł (kind: Industry).

DODATKOWE WPISY W PLIKU CONFIG.TXT Oto kilka dodatkowych wpisów pliku config.txt, które nie zostały dotychczas omówione w przy-kładach i wyjaśnieniach poszczególnych typów dodatków: invisible 1 - wpis uŜywany tylko dla dodatków Spline –Track, oznacza, Ŝe te dodatki mają być widoczne tylko w module Geodety i niewidoczne w module Maszy- nisty. Dla obiektów siatkowych (np. Scenery, itp.) stosuje się wpis surveyor-only 1 dla osiągnięcia tego samego efektu, trigger 1 - wpis stosowany dla dodatków typu Trackside (obiekt przytorowy) w celu umoŜliwienia przesyłania wiado- mości i komunikatów z poziomu kodu skryptu, default-night-forward, default-night-reverse - wpisy zawierają nazwę dodatkowej siatki 3D przy- łączanej do głównej siatki 3D lokomotyw, aby wizu- alizować np. snop jej świateł głównych, w kierunku poruszania się tej lokomotywy. Trainz rozpoznaje na- zwy tych wpisów i automatycznie przyłącza dodatko- we siatki 3D w stosownych punktach, odpowiednio do aktualnego kierunku jazdy lokomotywy. ZauwaŜ, Ŝe w poniŜszym przykładzie pliku config.txt, dla takiej dodatkowej siatki 3D uŜyto wpisu auto- create 0 , aby była ona niewidoczna „od razu” po do- daniu lokomotywy na mapie w module Geodety, czy po uruchomieniu sesji Maszynisty zawierającej tą lo- komotywę. Ta dodatkowa siatka 3D stanie się wido- czna dopiero po włączeniu głównych świateł lokomo- tywy.

default-night - wpis o podobnym do poprzedniego znaczeniu z tym, Ŝe zawiera nazwę dodatkowej siatki 3D niezaleŜnej od kierunku poruszania się,

{ default

{ mesh loco_body/loco_body.lm auto-create 1

} default-night-forward

{ mesh loco_body/night/night.im auto-create 0 att a.bog0 att-parent default

} }

use-parent-bounds - wpis stosowany dla obiektów animowanych (zawie- rających animacje). Obiekt „sześcian otaczający” (bounding box) jest „zbiorem” ogólnych warunków, uŜywanych do opisania rozmiaru innego obiektu, dla zastosowań „obcinania”. JeŜeli bounding box znaj- dzie się poza ekranem, to gra przestaje renderować (wyświetlać) obiekt zawarty w bounding box-ie. Ideą tego wpisu jest, aby bounding box „w całości obej- mował” zawarty w nim obiekt (choć nie jest to konie- czny warunek. W przypadku animacji niektóre ele- menty obiektu mogą się znaleźć poza bounding box- em. Wymiary nie mają tu znaczenia – chodzi po pro- stu o stwierdzenie, czy bounding box znajduje się na ekranie gry, czy nie. Wpis definiuje relacje pomiędzy pomocniczą siat- ką 3D bounding box, a główną siatką 3D, oraz zapewnia kontynuację wyświetlania animowanej siatki dodatkowej. Wpis musi być umieszczany w pliku config.txt łącznie ze wpisami dodatkowych siatek, buffer-speed - wpis definiuje górną granicę prędkości obiektu typu Traincar, poniŜej której Trainz uzna, Ŝe dodatek Traincar nie porusza się. Np. wpis buffer-speed 5 oznacza granicę prędkości równą 5 metrów na sekundę. PoniŜej tej prędkości dodatek Traincar zostanie zatrzymany. Wpis stosowany w dodatkach typu Mosignal (kind Mosignal), tender 1 - oznacza, Ŝe dodatek typu Traincar jest tendrem parowozu. Stosowany w plikach config.txt tendrów, aby włączyć je w proces obracania lokomotywy na obrotnicy. Dzięki temu wpisowi po wydaniu w grze polecenia „Obróć pociąg”, od składu zostanie odłą- czony nie sam parowóz, a parowóz łącznie z ten- drem.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

115

Rozdział 4 – Krótki przewodnik modelowania i struktura folderów

Celem tego rozdziału jest pomóc twórcom dodatków do TRS 2004 w tworzeniu modelu dodatku, oraz w jego późniejszym zainstalowaniu. Zakładamy, Ŝe twórcy dodatków dla TRS 2004 posiadają juŜ podstawową wiedzę z zakresu modelowania i pracy w programach 3D takich jak 3DS Max, czy Gmax. Z tego teŜ powodu w rozdziale tym zamieszczono jedynie porady, oraz wymagania co do poszczególnych typów dodatków. Nie jest to natomiast przewodnik objaśniający szczegółowo modelowanie i pracę z programami 3D.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

116

LICZBA WIELOK ĄTÓW MODELU Wskazówki modelarskie do 3DS MAX oraz GMAX Ten podrozdział zawiera zarys przewodnika na temat liczby wielokątów (polygonów) siatki 3D modeli róŜnych typów dodatków do TRS 2004. Podane tu limity polygonów dla modeli, to wartości maksymalne. Ze względu na obciąŜenie komputera (procesor, grafika i RAM) w czasie gry w Trainz, zaleca się przy tworzeniu kaŜdego dodatku zejście z liczbą polygonów w siatce 3D modelu kaŜdego typu dodatku – do akceptowalnego minimum. Innymi słowy: obojętnie jakiego typu dodatek do TRS 2004 tworzysz – staraj się aby miał on jak najmniej polygonów. Twórz „lekkie” dodatki. ChociaŜ dodatek z duŜą liczbą polygonów wygląda bardziej okazale i Trainz z tym dodatkiem nie bardzo „zwalnia”, to weź pod uwagę, Ŝe: – inni uŜytkownicy raczej nie stworzą mapy zawierającej tylko twój wspaniały i „cięŜki” dodatek. Zazwyczaj mapa będzie zawierać takŜe inne dodatki (tory, trakcję, drogi, budynki, sygnalizację, linie energetyczne, itp. itd. ). Zostaw na nie trochę miejsca w pamięci komputera... ☺ – inni uŜytkownicy mogą mieć słabsze komputery niŜ Ty... – zwróć uwagę, Ŝe teksturując obiekty materiałem dwustronnym (2-Sided), zwiększasz dwukrot- nie liczbę wielokątów do wyświetlenia, mimo iŜ „Gmax Polygon Counter” (licznik wielokątów) pokaŜe Ci taką samą liczbę wielokątów, jak przy teksturowaniu jednostronnym. Gmax pokazuje jedynie wielokąty geometrii, a nie faktycznie renderowane wielokąty. Czasami lepiej jest zasto- sować materiał dwustronny (szybsze generowanie geometrii), ale czasem lepiej jest zastosować dwie figury, obrócone ścianami do siebie i oteksturowane jednostronnie, gdyŜ odzwierciedlenie oświetlenia dla światła kierunkowego (light-1) jest identyczne po obu stronach powierzchni teksturowanej dwustronnie. Jeśli tworzysz drabinę – uŜyj tekstur z kanałem przeźroczystości alfa, jeŜeli budujesz strukturę koła („szprychy”) – teŜ uŜyj tekstur z kanałem przeźroczystości alfa. Jeśli tworzysz słup (latarni ulicznej, sygnalizatora, itp.) – uŜywaj cylindra z ilością segmentów równą 5. JeŜeli model lokomo-tywy zawiera duŜo przewodów, poręczy – zbuduj je z cylindrów o liczbie segmentów 3-4, następ-nie nadaj im ten sam ID i uŜyj modyfikatora smoothing,aby uzyskać ładny efekt walcowej po-wierzchni. PoniŜsza tabela przedstawia maksymalne dopuszczalne wartości polygonów dla modeli poszcze-gólnych typów dodatków. Niewielkie odchylenia „w górę” są moŜliwe, ale np. 17 000 polygonów dla nadwozia lokomotywy to stanowczo zbyt duŜo...

Typ (kind)

Maksymalna liczba

polygonów

Uwagi

Wnętrza lokomotyw (Interior) 8 000 Lokomotywy spalinowe i parowozy. Liczba uwzględnia wszystkie dźwignie, przełączniki, zawory, wskaźniki oraz animacje .

Nadwozie lokomotywy (traincar) spalinowej i elektrycznej

3 500 – 9 000 Powinno wystarczyć dla kaŜdej lokomotywy spalinowej i elektrycznej. Liczba nie uwzględnia wózków (bogey), pantografów, itp. Np. nadwozie lokomotywy QR 2100, wbudowanej w grę Trainz, składa się z mniej niŜ 5 000 polygonów. Im mniej tym lepiej!

Nadwozie lokomotywy (traincar) parowej (parowóz)

12 000 Powinno wystarczyć dla bardzo szczegółowego modelu parowozu, liczba nie zawiera wózków (bogey), itp.

Wózek lokomotywy (bogey) lokomotywy spalinowej i elektrycznej

2 000

Wózek lokomotywy (bogey) parowej (parowozu)

5 000 Liczba uwzględnia wszystkie elementy składowe wózka, mechanizmu napędowego i elementy animowane. Powinno wystarczyć dla większości wózków parowozów.

Pantograf (pantograph) 1 000 Przeciętnie pantograf powinien składać się z 400–700 polygonów.

Wagon pasaŜerski (traincar) 2 200 Powinno wystarczyć dla wagonu pasaŜerskiego z przeź-roczystymi oknami, z wnętrzem o małej ilości polygo-nów, z siedzeniami (wyświetlanym w widoku kabino-wym), i z animowanymi drzwiami.

Wagon węglarka i samowyła-dowczy (traincar)

1 400 Liczba uwzględnia animowane drzwi (klapy) za/wyła-dowcze.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

117

Typ (kind)

Maksymalna liczba

polygonów

Uwagi

Wagon platforma, zamknięty i cysterna (traincar)

1 100 Liczba uwzględnia animowane drzwi (klapy) za/wyła-dowcze (jeśli występują w modelu).

Wózek wagonu (bogey) 400 Wózki wagonów muszą mieć minimalną liczbę polygon-ów. Twórz boczne powierzchnie wózka nawet tylko metodą mapowania z kanałem alfa.

Przejazd kolejowy (mocrossing)

350 Prosty przejazd kolejowy z animowanymi zaporami i sygnalizacją

Pojedyncza trakcja (spline) 200 Liczba dla odcinka Spline ze słupem.

Stanowisko semafora kształtowego (mosignal)

300 Drabinki i kratownice powinny być tworzone przez dwustronne mapowanie z kanałem alfa.

Stanowisko semafora świetlnego (mosignal)

300 Drabinki i kratownice powinny być tworzone przez dwustronne mapowanie z kanałem alfa.

PasaŜer (passenger) 140 Typowy budynek – dom (scenery)

150 Domy „australijskie” wbudowane w TRS 2004 składają się z mniej niŜ 150 polygonów.

Typowy duŜy budynek (scenery)

300

Inne dodatki Scenery RóŜnie Tylko nie szalej! Umieść detale w teksturze. Nie szalej takŜe z rozmiarem tekstur! 512x512 px dla budynku to zbyt duŜo! Np. „niemiecki” tartak wbudowany w TRS składa się tylko z 1 714 polygonów (wszystkie elemen-ty). Kłody drewna to 5-segmentowe cylindry, komin to cylinder o 8 segmentach...

CIEŃ (Shadow) – lokomotywy 700–900 Wystarczająco dla zarysu lokomotywy (ze zderzakami) CIEŃ – wagony pasaŜerskie poniŜej 300 CIEŃ – wagony towarowe poniŜej 500 CIEŃ – wózki (bogey) poniŜej 100 Prosty box z konturami kół zazwyczaj wystarczy...

Ilustracje powyŜej pokazują, jak szczegółowy model moŜna zbudować przestrzegając limitów podanych w tabeli: – nadwozie (body): 10 578 polygonów (w wersji hi-res redukcji siatki „LOD”); – przedni wózek: 696 polygonów; – główny wózek (napędowy): 4 018 polygonów; – ŁĄCZNIE: 15 292 polygonów (nadwozie i wózki); Po zastosowaniu przez Trainz redukcji siatki „Level Of Detail” („LOD”), liczba polygonów tej lokomotywy znacznie się zmniejszy: – przewody, zawory, wskaźniki, itp. w kabinie – do około 4 775 polygonów; – przewody i zawory po obu stronach kotła – do około 948 polygonów; – sprzęg i przewody z przodu – do około 459 polygonów; To oznacza redukcję liczby polygonów nadwozia parowozu o około 5 882 polygonów, bez utraty formy. Więcej szczegółów na temat tworzenia wnętrz kabin lokomotyw opisano na stronie 67 tego dokumentu.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

118

Tabor kolejowy (Traincar) Wskazówki modelarskie do 3DS MAX oraz GMAX Pobierz pliki źródłowe ze strony Trainz. Limity ilości polygonów: Pamiętaj, aby nie przekraczać ilości polygonów (wielokątów) w modelach 3D dla modeli nadwozia taboru (samo nadwozie bez wózków – bogey): lokomotywy spalinowe = 3 500 - 9 000 polygonów; lokomotywy parowe = 12 000 polygonów. Zawsze stosuj się do zasady: im mniej tym lepiej! ☺ WaŜne: przód modelu nadwozia powinien być zwrócony w lewą stronę w oknie widokowym RIGHT (RIGHT viewport). Liczba polygonów dla cienia modelu nadwozia (shadow) nie powinna przekraczać 1 000, dla tego samego kształtu bazowego i przestrzeni 3D. Dla siatki cienia modelu nie są wymagane Ŝadne „punkty przyłączania”. „Punkty przyłączania”: (w 3DS Max oraz w Gmax: panel „Create”, zakładka (przycisk) „Helpers” i przycisk „Point”) Aby zapewnić właściwą orientację w przestrzeni 3D – „punkty przyłączania” powinny być two-rzone w oknie widoku „TOP” (widok z góry). Są to punkty w przestrzeni 3D, które zawierają in-formacje o róŜnych właściwościach modelu nad-wozia: a.limfront • wyznacza czoło (przód) nadwozia. Punkt uŜywany do sprzęgania taboru; • punkt ten powinien zostać umieszczony w takiej samej odległości od bryły nadwozia co punkt a.limback ; • wózki (bogey) mogą być wysunięte na zewnątrz nadwozia (poza punkt a.limfront ), jeśli zachodzi taka potrzeba; • punkt a.limfront to punkt, „z którego” pada snop światła głównych świateł lokomotywy; • zalecana wysokość punktu to (wg osi Z) = 0,89m (2’ 10.8”). a.limback • wyznacza tył nadwozia. Punkt uŜywany do sprzęgania taboru; • zobacz opis punktu a.limfront ; • zalecana wysokość punktu to (wg osi Z) = 0,89m (2’ 10.8”). a.bog0 • punkt, w którym do nadwozia zostanie dołączony przedni wózek (bogey); • punkt uŜywany do pozycjonowania nadwozia względem toru;

• punkt musi być umieszczony dokładnie na podłuŜnej osi symetrii modelu, w przedniej części nadwozia. a.bog1 • punkt, w którym do nadwozia zostanie dołączony tylny wózek (bogey); • punkt uŜywany do pozycjonowania nadwozia względem toru; • punkt musi być umieszczony dokładnie na podłuŜnej osi symetrii modelu, w tylnej części nadwozia. a.bog* (2, 3, itd.) • „punkty przyłączania” kolejnych wózków (bogey). a.exhaust* (0, 1, itd.) • punkt, w którym do nadwozia zostanie przyłączony generator dymu (w parowozach i lokomotywach spalinowych). a.light* (0, 1, itd.) • punkty, w których zostaną przyłączone światła z efektem corona. a.ditch* (0, 1, itd.) • punkty, w których zostanie przyłączony element Ditch efektu corona. a.cabfront • punkt, w którym do nadwozia zostanie przyłączony model wnętrza przedniej kabiny (kabiny A) loko- motywy; • punkt musi zostać umieszczony wewnątrz kabiny, w centrum jej wnętrza. a.cabback • punkt, w którym do nadwozia zostanie przyłączony model wnętrza tylnej kabiny (kabiny B) lokomoty- wy. Stosowany dla lokomotyw dwukabinowych. • punkt musi zostać umieszczony wewnątrz kabiny, w centrum jej wnętrza; • do „przechodzenia” pomiędzy kabinami w trybie kabinowym słuŜy klawisz „Alt+c” (w module Ma- szynisty). a.pant* (0, 1, itd.) • punkt, w którym do nadwozia zostanie przyłączony pantograf (i kolejne pantografy). Dla lokomotyw elektrycznych. a.driver* (0, 1, itd.) • punkt, w którym do nadwozia lokomotywy zostanie przyłączona siatka 3D osoby maszynisty. UWAGA: W TRS 2004 obsługiwany jest tylko i wy- łącznie jeden punkt o nazwie a.driver0. a.outsideview* (0, 1, itd.) • punkt(y) umieszczany na zewnątrz nadwozia (wagonu, lokomotywy); • w punkcie tym zostaje umieszczona wyimagino- wana kamera. Kamera pokazuje obraz z ujemnej wartości osi Y tego punktu;

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

119

• punkt, z którego „patrzy” kamera pokazując loko- motywę w grze. • widoki zewnętrzne przełączane są kolejno klawisza- mi „[”oraz „]” po wyczerpaniu wszystkich widoków kabinowych. W nawiązaniu do powyŜszych wyjaśnień: MoŜesz dodawać dowolną ilość następnych „punktów przyłączania”, dopóki nadajesz im nazwy według schematu a.nazwa. „Punkty przyłączania” mogą być uŜywane do przyłączania do nadwozia lokomotywy genera-torów efektu pary lub dymu, a takŜe jako „punkty przyłączania” do nadwozia innych dodatkowych siatek 3D (takŜe animowanych). Do wszystkich dodatkowych „punktów przyłą-czania” muszą istnieć odwołania (w postaci wpisów) w pliku config.txt dodatku. Dla pun-któw efektów dymu w blokach smoke, dla pun-któw siatek 3D w bloku mesh table. W TRS 2004 dodano kategorię Przemysł oraz interaktywne wagony (oznaczane skrótem IND). Np. wagon węglarka moŜe załadowywać, przewozić i rozładowywać węgiel (lub inne to-wary). Siatka ładunku (węgla na przykład), to odrębna animowana siatka 3D, powiązana po-przez config.txt z wartościami kolejek towaru. W przypadku zwykłych, nieinteraktywnych (nie- oznaczonych IND) wagonów wystarczą cztery „punkty przyłączania”: a.limfront, a.limback, a.bog0 i a.bog1. Innym pomysłem na przyłączanie animowanych elementów, jest przykład wentylatorów na gór-nej powierzchni przedziału maszynowego loko-motyw spalinowych. Efekt ten osiągnięto przy-łączając kilka razy jedną i tę samą animowaną siatkę wentylatora, do róŜnych „punktów przy-łączania”. Przyłączenia zdefiniowano we wpisach w bloku mesh-table pliku config.txt lokomoty-wy. Zapoznaj się z przykładami dodatków typu TRAINCAR (pliki źródłowe i wynikowe) dostępnymi do pobrania z Internetu. Linki do stron z przykładami podano na stronie 54 tego dokumentu. WaŜne: na stronie symulatora TRS: http://www.Railroadsimulator.com dostępne są informacje na temat nowych dodat-ków z obsługą ruchu pasaŜerskiego. Tekstury dla modeli taboru: Do teksturowania modeli taboru (lokomotywy, wagony, itp.) naleŜy uŜywać materiałów typu Multi/Sub-Object (jeden tego typu materiał na jeden model) oraz stosować modyfikatory UVW Map i/lub Unwrap UVW, dla właściwego rozmieszczenia tekstury na modelu. MoŜna uŜywać plików graficznych tekstur, które po-siadają wymiary, w pikselach, o następujących

wartościach: 16, 32, 64, 128, 256, 512 i 1024 pikseli (wszystkie potęgi liczby 2 – od 20 (1) do... – rozsądek nakazuje nie przekraczanie 4096). Maksymalny stosunek długości boków tekstury to 1:8 – np. 64x512 pikseli. Tekstury kanału „Diffuse” materiału: w wię-kszości przypadków, pojedynczy plik tekstury w formacie tga 512x1024 24-bit wystarczy do oteksturowania lokomotywy czy wagonu. Nie zaleca się stosowania większych plików z teks-turami, niŜ wymieniony powyŜej przykład. Wyjątkowo, w razie konieczności, moŜna uŜyć większej pojedynczej tektury (np. 128x256 – dla jednego elementu/powierzchni modelu). TRS 2004 obsługuje tekstury umieszczone w kanale odbić („Reflection”) materiału. Muszą to być tekstury bitmapowe (*.bmp) o 16 kolo-rach. Zazwyczaj dla kanału odbić stosuje się liczbowe wartości do 10 (do 25 dla okien). W kanale przeźroczystości („Opacity”) materia-łu moŜna uŜywać 8-bitowych bitmap w odcie-niach szarości (8 bit greyscale bmp). Wymiary tej bitmapy muszą być dokładnie takie same, jak tekstury w kanale „Diffuse”. Kanałów „Reflection” i „Opacity” nie moŜna uŜywać jednocześnie do jednego modelu, ani teŜ do teksturowania modelu w kanale „Diffuse”. Przeźroczystość szyb (okien) uzyskuje się przez ustawienie parametru „Opacity” w oknie edytora materiałów (Material Editor):

Okno edytora materiałów w 3DS Max/Gmax.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

120

Numeracja lokomotyw W TRS 2004 moŜna określać indywidualnie nu-mery lokomotyw i innego poruszającego się ta-boru (Traincar). Cyfry numeru muszą być wy-modelowane jako maksymalnie 6 oddzielnych kwadratowych polygonów, umieszczonych przed płaszczyzną nadwozia lokomotywy (około 5mm). Na polygony cyfr muszą zostać nałoŜone tekstury o właściwej nazwie (alfa-numeryczna konwencja nazw) tak, jak w przykładzie poniŜej. Jeśli uŜywany jest jeden krój czcionki: Tekstury cyfr (nazwy od digit_1.tga do digit_6.tga) są automatycznie zamieniane na tekstury alfanumeryczne (od alphanumber_0 do alphanumber_9). Jeśli uŜywane są dwa lub więcej kroje czcionki: Tekstury cyfr (nazwy od digit_1a.tga do digit_6a.tga oraz od digit_1b.tga do digit_6b.tga, itd.) są automatycznie zamieniane na tekstury alfanumeryczne (od alphanumber_0a do alphanumber_9a oraz od alphanumber_0b do alphanumber_9b). Numery dla taboru przydziela się w TRS 2004 w module Geodety: panel „Pociągi” („Trains”) - tryb Train � Edycja Właściwości (ikona „?”). Zapoznaj się z plikami źródłowymi lokomotyw, aby poznać dokładnie zagadnienie modelowania ich numeracji.

Mapowanie nierówno ści powierzchni (Bump mapping) i „wypolerowanie” materiału (Specular)

TRS 2004 obsługuje efekt mapowania nierów-ności powierzchni (bumpmapping) oraz efekt wypolerowania powierzchni (Specular). Dobrym przykładem tych efektów jest składnik TRS 2004 – lokomotywa: SNCF TGV. Bump mapping * Tylko dla twórców modelujących w 3DS Max. Uaktualnienie eksportera dla Gmax będzie najprawdopodobniej dostępne wkrótce. Mapowanie nierówności powierzchni (bump mapping) polega na dodaniu w kanale „Bump” edytora materiału w 3DS Max tekstury bitma-powej w odcieniach szarości. Tekstura ta powo-duje powstanie wybrzuszeń na teksturowanej powierzchni modelu (miejsce w teksturze „bump” w kolorze białym powoduje podniesie-nie” się w tym miejscu powierzchni modelu – kolor czarny działa odwrotnie). Bump mapping nie zwiększa liczby polygonów modelu.

Stosowanie tej techniki wymaga zainstalowania nowego pluginu eksportującego modele 3D z 3DS Max do formatu Trainz. „Wypolerowanie” powierzchni – Specular * Zarówno w 3DS Max jak i Gmax moŜna ustawić dla materiału wartość parametru „Specular”. Decyduje on o efekcie „wypolerowania” powie-rzchni materiału, co pozwala na realistyczne od-wzorowanie powierzchni materiałów metalicz-nych i szklanych. JeŜeli zastosowano materiał z bump mappin-giem, to aby efekt bump mappingu był w ogóle widoczny, konieczne jest nadanie parametrowi „Specular” tego materiału jakichkolwiek dodat-nich wartości. * Uwaga: Pobierz z Internetu archiwum ZIP i zapoznaj się z zawartymi w nim przykładami ustawień ma-teriału dla efektu mapowania nierówności po-wierzchni (Bump mapping) i „wypolerowania” powierzchni (Specular) w 3DS Max: http://www.auran.com/TRS2004/downloads/contentcreation/TRS_Max4_Plugin_Bump.zip

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

121

MAPOWANIE NIERÓWNOŚCI POWIERZCHNI – BUMP MAPPING WaŜne: tworzenie materiałów z bump-mappingeim dla TRS wymaga nowego plug-inu eksportującego do for-matu Trainz. W chwili pisania tego dokumentu dostęp-ne było uaktualnienie eksportera dla 3DS Max 4/4.2. Uaktualnienie eksportera dla Gmax-a moŜe być do-stępne wkrótce – trwają negocjacje z autorem progra-mu Gmax, firmą Discreet (obecnie Autodesk). Uaktualniony plugin eksportera do formatu Trainz dla 3 DS. Max 4 & 4.2 (archiwum ZIP zawierające takŜe dokumentację) moŜna pobrać z Internetu pod adresem: http://www.auran.com/TRS2004/downloads/contentcreation/TRS_Max4_Plugin_Bump.zip

Teoria mapowania nierówno ści powierzchni Dla tych, którzy nie słyszeli o mapowaniu nie-równości powierzchni: bump mapping polega na „odkształcaniu” powierzchni” modelu 3D, przez oddziaływanie na „normalne” polygonów specjalnym plikiem graficznym „mapy normal-nych RGB”, bez zwiększania liczby polygonów modelu (trochę przypomina to „mapy przesu-nięcia wysokości” z modułu Geodety w Trainz – po wypełnieniu specjalną teksturą fragmentu podłoŜa, na tym fragmencie tworzą się róŜnice wysokości, np. wulkan, wąwóz, itp.). „Normalne” polygonów to wektory, których pun-kty leŜą na powierzchni tych polygonów i okre-ślają kierunek „face” dla tej powierzchni (są prostopadłe do powierzchni polygonu). Bump mapping powoduje przesunięcia „normalnych” dla kaŜdego piksela polygonu. Kolory i odblaski na powierzchni nie są mapowane na „rzeczy-wistej” powierzchni polygonu, ale są dołączane

do wektorów „normalnych” przez mapę w ka-nale „Bump”. Najlepszym przykładem oddziały-wania na "normalne" powierzchni jest modyfika-tor "Smooth" w Gmax - np. dla cylindra składa-jącego się z określonej liczby ścian bocznych (np. 8), po nałoŜeniu stosownego parametru smooth, odnosi się wraŜenie krzywizny – właś-nie efektu oddziaływania na "normalne". JeŜeli karta graficzna w komputerze uŜytkowni-ka nie obsługuje bump mappingu, to w grze ten efekt nie będzie widoczny.

Bump mapping w TRS2004 Bump mapping w TRS 2004 powinno się stoso-wać tylko w lokomotywach, i tylko w wersji siatki 3D dla wyŜszej rozdzielczości (przy reduk-cji siatki „LOD”). (Opis efektu redukcji siatki 3D – „Level of Detail” na stronie 126 tego dokumentu). Przy pomocy bump mappingu moŜna symulo-wać nierówności na powierzchniach spowodo-wane występowaniem na niej na przykład ni-tów, śrub, rdzy oraz spawów. PoniŜszy przykład pochodzi z wbudowanego w TRS 2004 parowozu Auranu –QR Class PB 15 (rys. 1).

rys. 1

Tekstura kanału „Diffuse”– 1024x512 px, 24 bit, TGA:

rys. 2

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

122

Tekstura nierówności w odcieniach szarości – 1024x512 px:

rys. 3

Tekstura „mapa normalnych RGB” – 1024x512 px:

rys. 4

Tworzenie tekstury „mapa normalnych RGB” Mapa normalnych RGB została utworzona z tekstury nierówności w odcieniach szarości (rys. 3), przy pomocy plug-inu „Photoshop Normal Map Generation Filter”, dostępnego pod adresem: http://developer.nvidia.com/object/photoshop_dds_plugins.html. Plug-in zawiera takŜe podgląd 3D z oświetle-niem „per-pixel” utworzonej mapy normalnych RGB. UŜytkownicy PaintShop Pro 7 takŜe mogą korzystać z tego plug-inu. Generuje on mapę normalnych na podstawie kontrastów w tekstu-rze w odcieniach szarości (z rys.3). Biały kolor to wypukłość, szary – płaska powierzchnia, czarny – wklęśnięcie. PowyŜszą mapę utworzo-no przy ustawieniach plug-inu z rys. 5). WaŜne: tekstury w kanale „Bump” muszą mieć wymia-ry boków wyraŜone potęgą liczby 2. Np. 512x512, 256x512, 512x1024, itp. Tego samego wymaga TRS2004, więc nie powinno być problemu!

Na następnej stronie „Wa Ŝne uwagi dla: mapy normalnych RGB” . PHOTOSHOP NORMAL MAP GENERATION FILTER

rys. 5

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

123

WaŜne uwagi dla: mapy „normalnych” • Kiedy mapa normalnych RGB zostanie wygenerowa-na – nie wprowadzaj w niej Ŝadnych zmian (np. ska-lowanie, czy wyostrzanie)! Jeśli chcesz zmienić taką mapę – wprowadź zmiany w bazowej teksturze w od-cieniach szarości i wygeneruj mapę normalnych RGB ponownie. • Mapa normalnych RGB nie musi mieć takich samych wymiarów, jak tekstura w kanale „Diffuse” materiału. MoŜe ona być mniejsza, aby oszczędzić miejsce, więk-sza dla większej dokładności, ale jej wymiary nie po-winny przekraczać 1024x512 px. Nie skaluj mapy normalnych RGB! • Nigdy nie zapisuj mapy normalnych RGB w stratnych formatach graficznych (np. *.jpg lub innych plikach graficznych z kompresją). Kompresja powoduje utratę danych dla „normalnych”. UŜywaj tylko formatu TGA 24 bit, bez kompresji (uncompressed). • Wszystkie tekstury i mapy nie mogą mieć skalowa-nych koordynat mapowania. MoŜe to spowodować całkiem nieoczekiwane efekty w grze!

WaŜne: PoniŜsze ustawienia powinny zostać zastosowane razem z poziomem „wypolerowania” (specular) dla materiałów bez bump mappingu. Pamiętaj, aby kolor materiału „Diffuse” oraz „Ambient” ustawić na czystą biel (no, chyba, Ŝe na pewno wiesz co robisz!). Wartości emisyjne materiału (self-illumina-tion) takŜe są eksportowane przy poniŜszych ustawie-niach. Dla materiałów bez bump mappingu nie trzeba stoso-wać specyficznej konwencji nazewnictwa. Gmax: MoŜesz określić parametry Specular, Ambient Diffuse oraz Self-illumination w eksporterze Trainz Asset Creation Studio. Wprowadź zmiany w pliku: C:\gmax\gamepacks\Trainz\Plugins\JetExporter.cfg według przykładu poniŜej... (edycja tego pliku nie pozwoli jednak na eksportowanie bump mappingu)

Materiały z bump mappingiem Plug-in eksportera 3D Studio Max 4/4.2 zmienił się w stosunku do poprzedniej wersji. Pozwala teraz eksportować modele z określonym efektem „wypolerowania” (specular) i z kanałem bump mappingu jednocześnie (przypomnij sobie opis efektu Specular ze strony 120 tego dokumentu). Po pobraniu i zainstalowaniu nowego plug-inu wprowadź następujące modyfikacje w pliku JetExporter.cfg: C:\3dsmax4\plugins\JetExporter\JetExporter.cfg:

enableWarnings = 1 [C:\3dsmax4\Plugins\JetExporter\IndexedMeshExport.dll]

{ buildNeighborArray = 0 forceTxtOverwrite = 0 defaultMaterialColor = 0 Wartość 1 tych wpisów spowoduje disableautobillboard = 1 nadpisanie parametrów „Ambient”,

} „Diffuse”, „Specular”, oraz właściwości [C:\3dsmax4\Plugins\JetExporter\ProgressiveMeshExport.dll] emisyjnych materiału (self-illumination),

{ opisanych na stronie 121 i następnych buildNeighborArray = 0 forceTxtOverwrite = 0 defaultMaterialColor = 0 disableautobillboard = 1

} [C:\3dsmax4\Plugins\JetExporter\AnimationExport.dll] { }

Sprawdź poprawność ścieŜki dostępu

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

124

Konwencja nazewnictwa materiałów z bump mappingiem Dla materiałów z prostym mapowaniem nierówności, z lub bez kanału alfa (kanał „Reflection” niedozwolony!), nazwa musi być nadana według schematu: nazwa .m.tbumptex

************************************************************** Wartości efektu „Specular”: � Wartość tę kontroluje suwak „Whiteness”(rysunek po prawej stronie). Jaśniejszy oznacza wyŜszą wartość. • Upewnij się, Ŝe „Specular Level” = 100 • „Glossiness” wyświetlany jest tyko w 3 DS Max (dla TRS 2004 max. wartość to 32). • Dla materiałów bez bump mappingu wartość „Glos- siness” BĘDZIE wyeksportowana. Powinieneś wciąŜ uŜywać suwaka „Whiteness” do określenia poziomu „Specular Level”. Wartość „Glossiness” ustaw tak, by wykres był bar- dziej lub mniej ostry, niŜ dla wartości „Specular”.

Dla materiałów z mapowaniem nierówności i kanałem „Reflection” lub „Glossiness” (kanał alfa niedozwolony!), nazwa musi być nadana według schematu: nazwa.m.tbumpgloss

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

125

Zdarzenia animacji (Animation Events)

Zdarzenia dźwiękowe i ogólne zdarzenia anima-cji moŜna zdefiniować w programie 3D jako klatki kluczowe animacji. Daje to olbrzymią kontrolę takich zdarzeń z poziomu kodu skryp-tu – przydatne szczególne dla dodatków typu Przemysł i Scenery. Kiedy plik animacji (*.kin) ma być wyeksportowany z 3 DS Max lub Gmax, to eksporter tworzy kwerendę (query) dla pliku zdarzeń. W oknie dialogowym zostaniesz popro-szony o wskazanie lokalizacji dla pliku zdarzeń animacji. Zobacz rys.1 obok �. Informacje o zda-rzeniach zostaną dodane do zawartości nowego pliku animacji. Plik zdarzeń animacji: (*.evt) Format: NumerKlatki TypZdarzenia NazwaZdarzenia Plik zdarzeń animacji zawiera listę zdarzeń i ich ustawienia, w formie zwykłego tekstu. Wpis kaŜdego zdarzenia zawiera numer klatki, następnie typ zdarzenia (Sound_Event lub Generic_Event), oraz nazwę zdarzenia. Zdarzenia dźwiękowe (Sound_Event) są zazwy-czaj powiązane z wyzwalaczem (trigger) poprzez wpis w pliku config.txt dodatku (lub poprzez skrypt). KaŜde kolejne zdarzenie wpisywane jest w nowej linii (jeśli zdarzeń jest więcej niŜ jedno). Zdarzenia dźwiękowe (Sound_Event) i zdarzenia ogólne (Generic_Event): Zdarzenia dźwiękowe „mówią” Trainz-owi, kiedy ma być odtworzony dźwięk, w stosunku do kla-tek kluczowych animacji. Ogólne zdarzenia są takŜe powiązane z klatkami kluczowymi animacji i są wykonywane przez Trainz, kiedy zostaną wywołane z poziomu skryptu dodatku. Przykład 1: Tartak: Animacja w pliku 3 DS Max/Gmax ma powyŜej 1000 klatek. Chcemy, aby odtwarzanie poje-dynczego dźwięku rozpoczęło się w klatce 760 i trwało przez cały czas, w którym kłoda drewna przesuwa się na przenośniku. Podczas eksporto-wania pliku animacji (*.kin) pojawi się okno dialogowe z pytaniem o plik zdarzeń. Plik lumbermill.evt:

760 Sound_Event logcut 999 Generic_Event animstop

Fragment pliku config.txt dodatku wbudowane-go w TRS 2004 – Tartak (zwróć uwagę na trigger):

soundscript {

log_cut {

trigger logcut attachment a.sawsound nostartdelay 1 repeat-delay 1 distance 10,400 sound { log_cutting.wav }

} }

WaŜne: Zapoznaj się z opisem skryptów w pliku pomocy „index.chm” znajdującym się w folderze: ...\Trainz\scripts\docs.

Rys.1 – okno eksportu animacji

Przykład : Dźwięki zapętlone: MoŜemy kontrolować nie tylko odtwarzanie pojedynczego dźwięku, ale takŜe początek i koniec odtwarzania zapętlonego dźwięku (czas, w którym pojedynczy dźwięk będzie powtarzany). Osiąga się to, dodając następne zdarzenie dźwiękowe, z nazwą zdarzenia po-przedzoną znakiem „/”. W przykładzie poniŜej, powtarzanie dźwięku rozpoczyna się od klatki 370 i kończy się w klatce 589. Typowy plik *.evt dla dźwięku zapętlonego:

370 Sound_Event reverse 589 Sound_Event /reverse

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

126

I fragment config.txt:

soundscript {

backup { attachment a.sound trigger reverse repeat-delay 0 distance 5,100

sound { warning.wav }

} }

WaŜne uwagi: – naleŜy pamiętać, Ŝe Max numeruje klatki, począwszy od 0, więc jeśli chcemy mieć animację na 1000 kla- tek, to klatką pierwszą będzie klatka numer 0, a ostatnią (tysięczną) - klatka numer 999. Dotyczy to wszelkich animacji i jest szczególnie waŜne dla ani- macji wózków i odpowiadającego jej parametrowi animdist . Pamiętaj, Ŝe aby zanimować pełen obrót w jednej sekundzie w Max, naleŜy ustawić frame count na 30, co oznacza lastframe=29 , a nie 30! Błąd 29-30 kosztuje 1/30 obrotu wózka w animacji w grze; – plik Max z przykładu 1 zawiera animację o długości 1000 klatek; – dlatego dla zdarzenia ogólnego (Generic-Event) wpis kończący animację wygląda tak: 999 Generic_Event animstop

Redukcja siatki 3D „Level Of Detail”

Wprowadzenie Redukcja siatki 3D – Level of Detail (inaczej „LOD”) jest techniką słuŜącą do zmniejszenia obciąŜenia komputera przez zredukowanie wyświetlanej siatki 3D dodatku. Trainz potrafi wyświetlać róŜne siatki 3D dodatku, w zaleŜno-ści od odległości dodatku od obserwatora. Ta metoda jest inna, niŜ poprzednia redukcja siatki „progresywnej” (*.pm) z wersji Trainz UTC. Teraz zamiast stopniowej redukcji polygonów pojedynczej siatki 3D, moŜna stworzyć dla jednego dodatku nawet kilka siatek 3D, róŜnią-cych się liczbą polygonów i poziomem teksturo-wania. (zobacz „Struktura folderu LOD – loko-motywa” na następnych stronach). Dodatki z redukcją LOD mogą być zbudowane tylko z „indeksowanych” siatek 3D (*.im) wy-eksportowanych z Gmax lub 3 DS Max. W technice LOD nie moŜna uŜywać plików *.pm. TRS 2004 szuka plików „indeksowanej” siatki 3D (*.im), które są zdefiniowane jako *.lm (plik LodMesh) we wpisach pliku config.txt dodatku korzystającego z redukcji LOD.

Plik *.lm.txt moŜe zawierać tylko niesformatowany tekst, dlatego do tworzenia tego rodzaju plików uŜywaj tylko prostych edytorów tekstowych (np. systemowy Notatnik). Plik LOD Mesh (PB_15_body.lm.txt) parowozu Auranu, wbudowanego w TRS 2004:

version 1.0 offset = 0.01; calcPoint = center; multiplier = 1.0; animationCutOff = 0.00; renderCutOff = 0.00; attachmentCutOff = 0.06; mesh("0.07")

{ name="PB_15_body_lowest.im";

} mesh("0.30")

{ name="PB_15_body_low.im";

} mesh("0.52")

{ name="PB_15_body_med.im";

} mesh("1.0")

{ name="PB_15_body.im";

} Wyjaśnienia wpisów pliku LOD Mesh: Version 1.0 offset = 0.01; - wartość współczynnika mówi, o jaką róŜnicę wzglę- dem granicy "przeskoku" siatek moŜna wyświetlać jeszcze siatkę "mniejszą" (przy zbliŜaniu się do obie- ktu) lub "dalszą" (przy oddalaniu się), calcPoint = center; - połoŜenie obiektu względem obserwatora, dla które- go redukcja LOD jest obliczana i wyświetlana pod- czas gry (center - wyśrodkowane, near – najbliŜszy element, far – najdalszy element). multiplier = 1.0; - współczynnik poziomu detali (pozostaw 1.0) animationCutOff = 0.00; - wielkość obiektu, przy której animacja zostanie za- trzymana (względem szerokości ekranu*):

1.0 – przy wielkości obiektu równej szerokości ekranu, 0.5 – przy wielkości obiektu równej połowie sze- rokości ekranu, 0.00 – animacja nigdy nie zostanie zatrzymana,

renderCutOff = 0.00; - wielkość obiektu (względem szerokości ekranu*), przy której obiekt przestanie być renderowany w ogóle, attachmentCutOff = 0.06; - wielkość obiektu (względem szerokości ekranu*), przy której (i mniejszej) wszelkie obiekty 3D dołącza- ne (att ) przestaną być renderowane. Aby efekt teŜ zadziałał, punkty tych obiektów muszą mieć dodany

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

127

przyrostek ":Cull ", np. "a.bog0:Cull". Tymi elementa- mi przyłączanymi mogą być: wózki, pantografy, po- stać maszynisty, corony świateł, inne dodatkowe ele- menty związane w configu podrzędnie względem analizowanej siatki LOD * Siatki, do których istnieją odwołania w pliku *.lm.txt, muszą być uszeregowane rosnąco według szerokości ekranu. mesh(“0.07”)

{ name=”PB_15_body_lowest.im”;

}

- kiedy wyświetlana siatka 3D dodatku zajmuje 0,07 szerokości ekranu, to wyświetlona zostaje siatka 3D z pliku PB_15_body_lowest.im. ZauwaŜ, Ŝe obraz nadwozia lokomotywy jest nieco większy, niŜ obraz wózków lokomotywy. Spowodowane jest to tym, Ŝe wózki z siatką low-poly są wyświetlane przy tym po- ziomie redukcji LOD, przed dołączeniem do lokomo- tywy pełnowymiarowych wózków. mesh(“0.30”)

{ name=”PB_15_body_low.im”;

}

- kiedy wyświetlana siatka 3D dodatku zajmuje 0,3 szerokości ekranu, to wyświetlona zostaje siatka 3D z pliku PB_15_body_low.im. mesh(“0.52”)

{ name=”PB_15_body_med.im”;

} mesh(“1.0”)

{ name=”PB_15_body.im”;

}

Rys. 1 – PB_15_body_lowest.im (600 polygonów, teks-tura 64x64 px), punkty dla wózków oznaczono „:Cull”, wózki jako siatka o małej liczbie polygonów (low poly)

Rys. 2 – PB_15_body_low.im (1947 polygonów, tekstura 256x256 px)

Rys. 3 – PB_15_body_med.im (5066 polygonów, tekstura 512x256 px) WaŜne: tylko lokomotywa na rys. 4 (poniŜej) jest wersją siatki 3D z hi-res bump mappingiem. Bump mapping zostanie zignorowany, jeŜeli karta graficzna komputera go nie obsługuje.

Rys. 4 – PB_15_body.im (10578 polygonów, tekstura 1024x512 px z bump mappingiem)

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

128

WaŜne uwagi na temat redukcji siatki 3D – Level Of Detail: Przykładowa lokomotywa PB15 jest zrobiona dosyć hojnie - posiada róŜne tekstury dla określo-nych widoków, ale siatka LOD (tzn. poszczególne siatki *.im, dla poszczególnych widoków LOD) mogą bazować na identycznej teksturze (i nawet fajnie by było, gdyby tak było). Efekt oszczę-dności jest wtedy wieloraki: raz – na faces, dwa – na nie podmienianiu tekstur. Oczywiście wymaga to odpowiedniej preparacji tekstur, na których musimy jednocześnie uwzglę-dnić obiekty 3D, jak i ich brak. Np. w przypadku węglarki (polskiej), jej bok będzie zawierał pio-nowe elementy wzmocnienia, które w widoku hi-res będą zasłonięte przez model tych pionowych elementów (oteksturowany tymi kawałkami). Natomiast w widoku lo-res, model pionowych ele-mentów zostanie skasowany, a owe elementy będą widoczne na teksturze. To tylko przykład moŜliwości optymalizacji modelu - jego wyglądu i efektywności w grze...

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

129

Struktura folderu dodatku z LOD (lokomotywa) NajwaŜniejszą rzeczą, o której trzeba pamiętać jest to, aby wszystkie pliki siatek 3D LOD (*.im) oraz wszystkie tekstury zostały umieszczone wewnątrz tego samego folderu. W przypadku dodatku z lokomotywą lub wagonem, w głów-nym folderze dodatku powinien istnieć podfolder o nazwie X_body (gdzie X oznacza nazwę do-datku). Pamiętaj, Ŝe plik config.txt zawiera odwołania do pliku siatek LOD (X.lm.txt). Fragment pliku config.txt:

kuid <KUID:-3:10024> kuid-table { } obsolete-table { } mesh-table {

default {

mesh PB_15_body/PB_15_body.lm auto-create 1

} shadow

{ mesh PB_15_shadow/PB_15_

shadow.im }

reverser {

mesh PB_15_body/reverser/reverser.im anim PB_15_body/reverser/reverser.kin auto-create 1 att a.bog2 att-parent default

} }

WaŜne: attachmentCutOff = 0.1; wpis attachmentCutOff definiuje wielkość obiektu (względem szerokości ekranu*), przy której (i mniej-szej) wszelkie obiekty 3D dołączane (att ) przestaną być renderowane Aby efekt zadziałał naleŜy dodać przyrostek „:Cull” do nazwy „punktu przyłączania” wózka (np. „a.bog0:Cull ”). Kiedy dodasz taki wpis, to siatka 3D będzie wymagała istnienia sub-siatki 3D z małą ilością polygonów (low poly).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

130

Zastępowanie tekstur towarów (Load Texture Replacement) Ta technologia została zaprojektowana dla wa-gonów towarowych, które korzystają z animacji za/wyładunku i stopnia załadowania towarem kategorii ładunek masowy (bulk). Kiedy wagon towarowy zostanie skonfigurowany w grze do przewoŜenia dowolnych ładunków z kategorii towarów masowych (bulk) ORAZ plik config.txt tego wagonu posiada wpisy definiujące „zastę-powanie tekstur”, to po załadowaniu takiego wagonu w trakcie gry jakimś towarem, siatka 3D tego towaru zostaje dołączona do siatki 3D tego wagonu jako siatka dodatkowa, w celu wi-zualizacji ładunku w wagonie. Wyjaśnijmy sobie ustawienia efektu zastępowa-nia tekstur ładunku: Funkcja wymiany tekstury ładunku opiera się na dwóch rzeczach: 1) Plik config.txt wagonu zawiera ustawienia dla efektu za/wyładunku i tekstur towaru(ów) – zobacz opisa- ne dalej przykłady 1 i 2 wagonów. 2) Plik config.txt towaru (ładunku) zawiera informacje o teksturze towaru i odwołania do pliku tekstury to- waru, który to plik zostanie wczytany po załadowa- niu tego towaru na wagon (dodatek typu Towar – Produkt został opisany na stronie 33 tego doku- mentu). Wagon – przykład 1: Węglarka (Coal Hopper) Tekstura ładunku moŜe być zastępowana (zwróć uwagę na plik tekstury „zastępowanej” – load_map) – wpisy load, effects, product-texture w pliku config.txt) Domyślnie ładowany towar (produkt): Węgiel (Coal) <KUID:44179:60013> (wpis „product-kuid” w pliku config.txt) Wagon moŜe podejmować ładunki kategorii: Masowe (Bulk) <KUID:-3:10040> (wpis „allowed-categories” w pliku config.txt) Kiedy węglarka (coal hopper) wjedzie na teren zakładu przemysłowego (dodatek typu Indust-ry), który „przetwarza” towary kategorii bulk, inne niŜ domyślny towar (ładunek) węglarki (np. wióry w tartaku), i na tą węglarkę zosta-nie załadowany taki towar, to Trainz zastosuje efekt zastępowania tekstur ładunku.

Struktura folderu wagonu węglarka:

Fragment pliku config.txt węglarki:

mesh-table { default {

mesh coal_hopper_body/coal_hopper_body.lm auto-create 1

} shadow {

mesh coal_hopper_shadow/coal_hopper_shadow.pm

} load {

mesh coal_hopper_body/load/load.pm anim coal_hopper_body/load/load.kin auto-create 1 use-parent-bounds 1

effects { product-texture

{ kind texture-replacement texture "load_map.texture " }

} } } queues {

load0 {

size 54300 initial-count 0 animated-mesh load

product-kuid <KUID:44179:60013> allowed-categories {

0 <KUID:-3:10040> }

} }

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

131

Wagon – przykład 2: Wagon do przewozu wiórów (Woodchip Gondola) Tekstura ładunku moŜe być zastępowana (zwróć uwagę na plik tekstury „zastępowanej” – load_map) – wpisy load, effects, product-texture w pliku config.txt) Domyślnie ładowany towar (produkt): Wióry (Woodchips) <KUID:-3:10002> (wpis „product-kuid” w pliku config.txt) Wagon moŜe podejmować ładunki kategorii: Masowe (Bulk) <KUID:-3:10040> (wpis „allowed-categories” w pliku config.txt) Kiedy wagon do przewozu wiórów (woodchip gondola) wjedzie na teren zakładu przemysło-wego (dodatek typu Industry), który „przetwa-rza” towary kategorii bulk, inne niŜ domyślny towar (ładunek) tego wagonu (np. węgiel w ko-palni), i na ten wagon zostanie załadowany taki towar, to Trainz zastosuje efekt zastępowania tekstur ładunku.

Struktura folderu wagonu do wiórów:

Fragment pliku config.txt wagonu woodchip gondola:

mesh-table {

default { mesh woodchip_gondola_body/woodchip_gondola_

body.lm auto-create 1 }

shadow { mesh woodchip_gondola_shadow/woodchip_

gondola_shadow.im }

load {

mesh woodchip_gondola_body/load/load.im anim woodchip_gondola_body/load/load.kin auto-create 1 use-parent-bounds 1

effects {

product-texture {

kind texture-replacement texture "load_map.texture "

} }

} }

queues {

load0 {

size 60500 initial-count 0 animated-mesh load

product-kuid <KUID:-3:10002> allowed-categories {

0 <KUID:-3:10040> }

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

132

} Tak, jak wagon z włączonym efektem zastępo-wania tekstur ładunku odwołuje się do „zastę-powanej” tekstury ładunku, tak zastępowany ładunek (towar) odwołuje się do „zastępującej” go tekstury ładunku. Towar/Ładunek – przykład 1: Towar (produkt) węgiel (coal) W przypadku węgla, tekstura „zastępująca” to tekstura w pliku „coal.tga”. Kiedy do wagonu do przewozu wiórów zostanie załadowany węgiel, to domyślna tekstura ładunku – load-map zostanie zastąpiona teksturą „coal.tga”. Struktura folderu produktu Węgiel:

Towar/Ładunek – przykład 2: Towar (produkt) wióry (woodchip) W przypadku wiórów, tekstura „zastępująca” to tekstura w pliku „woodchips.tga”. Kiedy do wę-glarki zostaną załadowane wióry, to domyślna tekstura ładunku – load-map zostanie zastąpio-ną teksturą „woodchips.tga”. Struktura folderu produktu Wióry:

Plik config.txt produktu Węgiel:

kind product kuid <KUID:44179:60013> username "Coal"

instance-type resource product-category <KUID:-3:10040> icon-texture "icon_texture.texture" mass 0.860 product-texture "coal.texture " mesh-table { }

Plik coal.texture.txt:

Primary=coal.tga Tile=st

Plik config.txt produktu Wióry:

kind product kuid <KUID:-3:10002> username "Woodchips" instance-type resource product-category <KUID:-3:10040> icon-texture "icon_texture.texture" mass 0.400 product-texture "woodchips.texture "

mesh-table { }

Plik woodchips.texture.txt:

Primary=woodchips.tga Tile=st

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

133

Struktura folderu dodatku typu TRAINCAR oraz konwencja nazewnictwa Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\ Custom\Trains\ Przykład poniŜej dotyczy wagonu towarowego typu węglarka. Ten dodatek posiada animowany ładunek (kategorii ładunek masowy – bulk) oraz animowane drzwi rozładunkowe (specyficzne dla tego wagonu). Animacja tych drzwi jest kontrolowana przez skrypt Hopper.gs.

Rozszerzona struktura folderu dodatku:

Struktura folderu dodatku:

Plik coal_hooper_art_512_texture.txt: Primary=coal_hopper_art_512.tga Alpha=coal_hopper_art_512.tga Tile=st Hint=Dynamic

- Plik tga 512x512 pixel 32-bit

- Plik tga 128x64 pixel 32-bit - Pik animacji ładunku (odwołanie w config.txt)

- Plik siatki 3D ładunku (odwołanie w config.txt) - Plik txt utw. przez Eksportera do formatu Trainz - Plik tekstury ładunku. Pobierz przykład:

http://www.auran.com/TRS2004/downloads/ contentcreation/ TRS2004_Load_Texture_Replacement.zip

- Pliki na szarym tle, to pliki opcjonalne (niewymagane). Pliki ładunku s ą niezb ędne, je Ŝeli wagon ma by ć interaktywny ( IND). Są konieczne do systemu wizualizacji w TRS 2004 stałego ładunku, takiego jak w ęgiel czy wióry.

- Plik siatki 3D wagonu - Plik txt siatki LOD (lm). (odwołanie w config.txt )

- Plik siatki 3D (lm) z LOD - redukcj ą „Level Of Detail”

- Plik tga 24-bit

- Plik domy ślnych tekstur dla cieni wagonu - Plik siatki 3D cienia wagonu

- Pliki d źwiękowe wav. Czas odtwarzania kontro- lowany przez skrypt.

- Pliki config.txt oraz Hopper.gs (skrypt) dla wagonu. Zapoznaj si ę z plikiem pomocy do skryptów: C:\Program Files\Auran\TRS2004\Scripts\ docs\index.chm

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

134

Odwołania do innych dodatków typu TABOR („ALIASING”) W TRS 2004 moŜna powiązać (poprzez odwoła-nia do KUID) juŜ zainstalowane w grze dodatki typu Tabor (Traincar), z własnymi teksturami uŜytkownika (coś w rodzaju „Repaintu”). Ten proces dokonuje się poprzez „aliasing” KUID. Struktura folderu lokomotywy z „aliasem” moŜe wyglądać następująco:

Własne, „aliasowane” tekstury uŜytkownika muszą mieć dokładnie takie same nazwy, jak w oryginalnym dodatku, oraz dokładnie taką samą jakość i wymiary (w pikselach). Własny plik uŜytkownika z teksturą dla cienia lokomotywy takŜe zostanie wczytany, jeŜeli tylko istnieje i zostanie dowiązany przez „alias”. NaleŜy pamiętać, Ŝe jeŜeli oryginalny (wzorco-wy) wagon/lokomotywa ma wewnętrzną struk-turę folderów (np. wentylatory, czy inne ele-menty dołączalne w podfolderach), to aliasowa-ny model musi mieć wszystkie tekstury wszyst-kich elementów i subelementów w jednym (głównym) katalogu z plikiem config.txt. Jedynymi subfolderami będą "alpha_numbers" oraz "art", które zaleŜą (pierwszy człon ich naz-wy) od wpisu w asset-filename w configu modelu odwołującego się via alias do wzorca.

Plik config.txt zawierający „alias” (wpis w dru-gim wierszu):

kuid <KUID2:###:#####:1> alias <KUID:-10:183> name train company Auran origin AU bogey <KUID:###:#####> engine 1 interior <KUID:###:#####> fonts 1 mass 97600 kind traincar running-numbers

{ rn-0 #0003 rn-1 #0004 rn-2 #0005 rn-3 #0006

} smoke_shade 0.18 smoke_random 2.5 smoke_slowlife 6 smoke_fastlife 0.8 smoke_height 1.7 smoke_fastspeed 3.2 enginespec <KUID:-1:42004209> enginesound <KUID:-12:2100> hornsound <KUID:-1:42003103> description “” kuid-table

{ 0 <KUID:###:#####> 1 <KUID:###:#####> 2 <KUID:###:#####>

} obsolete-table { } username My locomotive trainz-build 2.0 category-class AC category-region-0 AT category-era-0 1980s

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

135

Wózki (Bogey) Wskazówki modelarskie do 3DS MAX oraz GMAX: Pobierz pliki źródłowe ze strony Trainz. Limity ilości polygonów: – dla wózków lokomotyw parowych – poniŜej 5 000 polygonów (włączając w to korbowody, wiązary i wszystkie animowane części); – dla wózków lokomotyw spalinowych – poniŜej 2 000 polygonów na wózek; – dla cienia wózka lokomotywy poniŜej 100 polygonów na wózek; – dla wózka wagonu – poniŜej 400 polygonów na wózek; – dla cienia wózka wagonu – poniŜej 100 polygonów na wózek. Zawsze stosuj się do zasady: im mniej tym lepiej! ☺ Absolutny geometryczny środek modelu wózka musi się znajdować w zerowym punkcie współ-rzędnych przestrzeni 3D „World” (0,0,0). Ten punkt określa miejsce „na modelu wózka”, które zostanie połączone z „punktem przyłączania” a.bog0 (itd.) lokomotywy lub wagonu. Tekstury dla wózka (BOGEY) Do teksturowania modeli wózków naleŜy uŜy-wać materiałów typu Multi/Sub-Object (jeden tego typu materiał na jeden model), oraz stoso-wać modyfikatory UVW Map i/lub Unwrap UVW dla właściwego rozmieszczenia tekstury na modelu. Tekstury kanału „Diffuse” materiału: w wię-kszości wypadków pojedynczy plik tekstury w formacie tga 128x128 16-bit wystarczy do oteksturowania wózka lokomotywy czy wagonu. MoŜna uŜywać dodatkowych kanałów dla materiału wózka (np. dla spręŜyn i resorów). W kanale przeźroczystości („Opacity”) materia-łu moŜna uŜywać 8-bitowych bitmap w odcie-niach szarości (8 bit greyscale bmp). Wymiary tej bitmapy muszą być dokładnie takie same, jak tekstury w kanale „Diffuse”. Stosowane zazwyczaj dla boków wózka. Kanał odbić światła („Reflection”) jest takŜe obsługiwany przez TRS, ale zasadniczo nieuŜywany przy tekstu-rowaniu modeli wózków. MoŜna uŜyć efektu „bump mappingu” i efektu „Specular”, aby nadać modelowi wózka większy realizm (tylko w 3DS Max).

Eksportowanie modelu wózka: – jak opisano w rozdziale „Dodatek typu WÓZEK TABORU (KIND: BOGEY)” na str. 51. Pamiętaj o stosowaniu konwencji nazewnictwa i o nadaniu rozszerzenia wyeksportowanemu plikowi (np. Train_nazwa_bogey.im). WAśNA UWAGA: Steam Driving Bogeys Wózek parowozu musi być połączony z silnikiem parowym lokomotywy i systemem fizyki poprzez wpis w config.txt: direct-drive 1 (zobacz przykład poniŜej). Bez tego wpisu system dźwięków parowozu nie będzie działał. Plik config.txt wózka parowozu PB_15_bogey2:

kind bogey kuid <KUID:44179:50003> animdist 3.816 category-class AS category-region-0 AU category-era-0 1920s category-era-1 1930s category-era-2 1940s category-era-3 1950s category-era-4 1960s category-era-5 1970s category-era-6 1980s direct-drive 1 Hierarchal Sub-tree: b.r.base b.r.wheel0 wheel_0 b.r.wheel1 wheel_1 bogey

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

136

Przykład 1 animowanego wózka (bogey):

W tym przykładzie wózek będzie dołączony do „punktu przyłączania” nadwozia lokomotywy lub wagonu (o nazwie np. a.bog0), punktem modelu wózka o współrzędnych: 0,0,0. Punkty b.r.wheel0 oraz b.r.wheel1 (w programie 3D obiekty pozorne – dummies) posiadają animację obrotu o 3600 w ciągu 32 klatek animacji. Punkty te (obiekty dummies) muszą mieć nadane nazwy zaczynające się od b.r. … aby TRS 2004 mógł je prawidłowo rozpoznać. Przykład 2a animowanego wózka (bogey) – elementy składowe:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

137

Przykład 2b animowanego wózka (bogey) – szkielet (obiekty pozorne – dummies):

Przykład 2c – widok z boku po kilku klatkach animacji:

Wózek w tym przykładzie jest nieco bardziej rozbudowany, niŜ ten z przykładu 1. Animacja składa się ze 120 klatek. Średnica duŜych kół Wheel_1, 2 oraz 3 równa jest 4,2 m. Animacja obrotu o 7200 w ciągu 120 klatek. PrzejeŜdŜana w tym czasie odległość: 4,2 m x 2 obroty = 8,4 m. Średnica małych kół smallwheel jest równa 2,8 m. Animacja obrotu o 10800 przez 120 klatek. PrzejeŜdŜana w tym czasie odległość: 2,8 m x 3 obroty = 8,4 m (musi zgadzać się z duŜymi kołami!). Wartość parametru animdist (wpis w pliku config.txt wózka), to przejeŜdŜana przez wózek odległość w cią-gu 30 klatek animacji. W tym przykładzie 8,4 m / 4 = 2,1 (przeliczamy jaką odległość przejedzie wózek przez 30 klatek animacji). Więc wpis animdist będzie miał wartość 2.1 Na schemacie po prawej stronie � przedstawiono hie-rarchię połączeń pomiędzy elementami animowanego szkieletu (dummies) wózka, w programie 3D. Czyli co jest od czego zaleŜne (jeśli chodzi o ruch) ☺

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

138

Struktura folderu i plik config.txt dodatku wózek (pliki siatek .im w bloku mesh-table):

Typowy przykład wózka z poprzedniej wersji gry – Trainz UTC (z plikami *.pm ):

kuid <KUID2:###:#####:1> kind bogey mesh-table

{ default

{ mesh dd40ax_bogey.im auto-create 1 }

shadow { mesh dd40ax_bogey_shadow/dd40ax_bogey_shadow.im }

} obsolete-table { } username mybogey description “ “ trainz-build 2.0 category-class AC category-region-0 AT category-era-0 1980s kind bogey kuid <KUID:44179:50003> animdist 3.816 category-class AS category-region-0 AU category-era-0 1920s category-era-1 1930s category-era-2 1940s category-era-3 1950s category-era-4 1960s category-era-5 1970s category-era-6 1980s direct-drive 1

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

139

Pantografy (Pantograph)

Wskazówki modelarskie do 3DS MAX oraz GMAX: Pobierz pliki źródłowe ze strony Trainz. Dodatek tego typu zawiera animowany mecha-nizm na dachu lokomotyw elektrycznych, słuŜą-cy do odbioru energii elektrycznej z przewodów trakcji zawieszonych nad torami. Model pantografu: (na przykładzie pantografu lokomotywy elektry-cznej BB15000)

Elementy szkieletu pantografu (dummies) muszą mieć nadane nazwy zaczynające się przedrostkiem b.r., aby TRS 2004 mógł je prawidłowo rozpoznać. Zapoznaj się z plikami źródłowymi pantografu dostępnymi na stronie internetowej Trainz. WaŜne: odwołań do siatek 3D pantografów nie umieszcza się w blokach mesh-table pliku config.txt lokomotywy. Dodatki typu Pantograf w dalszym ciągu ekspor-tuje się do pliku siatki „progresywnej” – rozsze-rzenie *.pm! Pantograf wyeksportowany do pliku *.IM nie będzie działał w grze!!!

Hierarchia połączeń elementów szkieletu (dummies) pantogra-fu:

b.r.strutbase W tym przykładzie pantograf będzie dołączony do „punktu przyłączania” nadwozia lokomotywy lub wagonu (o nazwie np. a.pant0), punktem modelu pantografu o współrzędnych: 0,0,0. Struktura folderu dodatku typu Pantograf:

Animacja wyeksportowana z 3DS Max/Gmax

Plik siatki 3D zawieraj ący szkielet (bones), wyeksportowany z 3DS Max/Gmax

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

140

Tekstura podło Ŝa (Groundtexture) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Ground Struktura folderu dla własnych tekstur podłoŜa uŜytkownika:

Bitmapa 128x128 px 24bit (.bmp)

Mapy przesuni ęcia wysoko ści (Diplacements)

Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Displacements Mapa przesunięcia to obrazek w odcieniach szarości, słuŜący do tworzenia mapy wysokości – reguluje wysokość i kształt obszaru podłoŜa. Struktura folderu dla własnych map przesunięcia uŜytkownika:

Bitmapa 256x256 px 8bit w odcieniach szarości (.bmp)

WaŜne: mapa przesunięcia nie wymaga pliku config.txt

Środowisko (Environment)

Folder Environment zawiera róŜne rodzaje nieba i wody do gry TRS 2004. Woda (Water2) Nowy w TRS 2004 dodatek woda (kind: water2) zastąpił znany z poprzednich wersji Trainz – UTC dodatek woda (kind: water). Zapoznaj się ze wskazówkami na stronie 85. Niebo (Sky) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Environment Obraz nieba w grze jest generowany z jednego z trzech graficznych plików źródłowych. Struktura folderu dla własnych tekstur nieba uŜytkownika:

kind environment kuid <KUID2:###:#####:1> normal mediumclouds storm mediumClouds_Storm night mediumClouds_Night region Britain Primary=mediumClouds_Storm.tga Tile=st

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

141

Sceneria (Scenery) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Scenery Dodatki typu Scenery mogą mieć wspaniały wygląd (a przez to znaczną objętość). Zaleca się, aby tworząc tego typu dodatki pamiętać o limitach ilości polygonów w modelu oraz o odpowiedniej (nie za duŜej) wielkości tekstur. WaŜne: Zdarzenia animacji. Zdarzenia animacji (ogólne i dźwiękowe) mogą być przypisane do klatek kluczowych animacji (w programie 3D). Dzięki temu moŜna uzyskać większą kontrolę nad odtwarzaniem dźwięków i skryptów dla dodatków zawierających interaktywny przemysł i innych dodatków typu Scenery. Pobierz z Internetu i zapoznaj się z przykładem zdarzeń animacji (opis takŜe na stronie 125) : http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Animation_Events.zip Struktura folderu dla własnych dodatków typu Scenery uŜytkownika:

– Plik siatki modelu 3D wyeksportowany z 3DS Max/Gmax

Dodatki typu Scenery o świetlone w nocy Dodatki Scenery mogą zostać wymodelowane razem z tzw. widokiem nocnym. W grze, w trakcie trwania nocy (zaleŜnie od konfiguracji), obiekty takie są oświetlone. Model widoku nocnego za-wiera tylko oświetlone powierzchnie i powinien zostać osobno wyeksportowany do formatu Trainz, do podfolderu dodatku. Struktura folderu dla własnych dodatków typu Scenery z widokiem nocnym uŜytkownika:

– Plik siatki 3D widoku nocnego wyeksportowany z 3DS Max/Gmax

Dodatki typu Scenery zawieraj ące animacje Struktura folderu dla własnych dodatków Scenery (z animacją) uŜytkownika:

– Plik siatki 3D wyeksportowany z 3DS Max/Gmax

– Plik animacji wyeksportowany z 3DS Max/Gmax

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

142

Specjalne dodatki typu Scenery – Obrotnice (Turntab les) Struktura folderu dla dodatków typu Scenery – Obrotnica:

Specjalne dodatki typu Scenery – Przejazdy kolejowe (Level Crossings) Struktura folderu dla dodatków typu Scenery – Przejazd kolejowy:

Dodatki typu Scenery zawieraj ące dźwięk Struktura folderu dla dodatków typu Scenery z dźwiękiem:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

143

Linie (Splines) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Splines Obiekty typu Spline są stosowane do tworzenia dodatków zawierających „rozciągliwe” obiekty o znacznej długości (np. trakcja elektryczna, linie energetyczne, drogi, płoty itp.). Struktura folderu dla własnych dodatków typu Spline uŜytkownika:

- Opcjonalny subobiekt (initiator/terminator/divider)

Tory (Tracks) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Track Obiekty typu Track są stosowane do tworzenia dodatków zawierających „rozciągliwe” obiekty o znacznej długości, przeznaczone do ruchu pociągów (tory, mosty i tunele kolejowe).

Tory (Rails) Struktura folderu dla własnych dodatków typu Tory uŜytkownika:

– Siatka dodatku dla okna podglądu w grze

– Tor w grze jako segment siatki 3D toru

– Plik tga 32-bit

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

144

Mosty (Bridges) Struktura folderu dla własnych dodatków typu Most uŜytkownika:

– Opcjonalny element initiator (początek) mostu

– Opcjonalne pliki cienia mostu – Opcjonalny element terminator (zakończenie) mostu – Opcjonalne pliki cienia mostu

– Opcjonalne pliki cienia mostu

Tunele (Tunnels) Struktura folderu dla własnych dodatków typu Tunel uŜytkownika:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

145

Obiekty przytorowe (Trackside) Domyślna lokalizacja: C:\Program Files\Auran\TRS2004\World\Custom\Trackside Dodatki typu Trackside są specjalnymi obiektami Scenery, które mogą być ustawiane przy torach i mogą mieć wpływ na przejeŜdŜające pociągi (np. semafory, sygnalizatory, wskaźniki, ograni-czenia prędkości, itp.). Struktura folderu dla własnych dodatków typu Trackside uŜytkownika:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

146

Rozdział 5 – Efekty cz ąsteczkowe i skrypty

Wprowadzenie TRS 2004 pozwala na dodanie Twoich Wstawianie punktu w: własnych efektów dymu, pary (i podo-bnych) do tworzonych dodatków za-wierających lokomotywy oraz obiekty typu Scenery. Dla uproszczenia, w tym dokumencie opisano tylko prosty efekt dymu.

Są dwa sposoby dodawania do siatki 3D modelu dodatku systemu efektów cząsteczkowych (particle effects – pfx).

1) Starsza metoda z Trainz UTC. Wszystkie definicje zmiennych i ustawie-nia w pliku config.txt. Niezalecana, poniewaŜ w nowszych wersjach TRS moŜe powodować jedynie migotanie obrazu,

lub zalecana metoda…. 2) Polega na uŜyciu narzędzia pfx o naz-wie „Twinkles PFX” do ustawienia para-metrów efektu dymu (pary) i odwołaniu do tego narzędzia w pliku config.txt.

3 DS Max Gmax Zakładamy, Ŝe twórca posiada podstawową wiedzę na temat tworzenia modeli 3D i eks-portowania ich z programu 3DS Max lub GMax. Opis metody Efekty dymu lub pary są dodawane do tworzo-nych lokomotyw lub obiektów typu Scenery w dwóch krokach: 1. Dodanie punktów „przyłączania” do siatki 3D modelu; 2. Dodanie bloków wpisów smoke do pliku config.txt dodatku. Dodawanie „punktów przyłączania” „Punkty przyłączania” dodaje się w 3DSMax lub GMax do głównej siatki 3D modelu. Punkty te określają miejsce, z którego będzie się wydo-bywał dym (para). Na ilustracjach powyŜej pokazano narzędzie wstawiania punktu w pro-gramach 3DS Max i Gmax. Po wstawieniu punktu naleŜy nadać mu nazwę zaczynającą się prefiksem „a.”, co jednoznacznie określa taki punkt jako „punkt przyłączania” (np. a.smoke, a.steam, a.safety, a.mist, itp.).

„Punkt przyłączania” powinien zostać obrócony (za pomocą narzędzia „Rotate”) tak, aby jego oś Y wskazywała kierunek, w którym emitowane będą cząsteczki dymu (pary). Po odpowiednim zorientowaniu punktów „przyłączania” model eksportuje się do formatu Trainz tak, jak kaŜdy inny model dodatku.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

147

Metoda 1 – PFX z pliku CONFIG.TXT

(Nie korzysta z „Twinkles PFX” – metoda NIEZALECANA)

Dodawanie bloku i wpisów „smoke” Bloki wpisów smoke są dodawane do pliku config.txt dodatku w celu zdefiniowania kaŜdego z moŜliwych efektów dymu, jakie będą tworzone dla tego dodatku w trakcie gry. Bloki smoke mają nazwy „smoke#” (gdzie #- to numer blo-ku) i są kolejno numerowane, poczynając od 0. (Zobacz przykład nr 2). Bloki smoke składają się z dwóch sekcji: głów-nej i właściwości emisji. Sekcja główna opisuje stałe atrybuty efektu, które nie są zmieniane przez klucze wpisu mode. Sekcja właściwości emisji definiuje jedną (lub więcej) fazę emisji dymu. Blok smoke wygląda następująco: smoke# { mode time | speed | anim | timeofday attachment <name of attachment point> color <red>, <green>, <blue>, <opacity> accel <x>, <y>, <z> loop <n> start <n> [, <n>] … period <n> [, <n>] … rate <n> [, <n>] … velocity <n> [, <n>] … lifetime <n> [, <n>] … minsize <n> [, <n>] … maxsize <n> [, <n>] … } Legenda: # – oznacza numer bloku, poczynając od 0; [ ] – oznacza wpis opcjonalny; … – oznacza zmienną liczbę parametrów; | – oznacza „lub”. Wyjaśnienia wpisów: <name of attachment point> - nazwa punktu „przyłączania” w siatce 3D mo- delu, np. a.smoke, a.steam, a.chimney, itp.; <red>, <green>, <blue> - numeryczne wartości (od 0 do 255) opisujące kolor dymu; <opacity> - numeryczne wartości (od 0 do 255) opisujące początkową przeźroczystość dymu; <x>, <y>, <z> - współrzędne wektora wszystkich sił oddziału- jących na efekt dymu. Generalnie <z> ozna- cza siły grawitacji, <x> oraz <y> oznaczają siły wiatru; <n> - to cyfra lub liczba.

Sekcja główna bloku „smoke”: Wpis mode – Definiuje tryb (typ) efektu dymu. Decyduje, jak TRS interpretuje wpisy start oraz period. Domyślna wartość to time. We wszystkich trybach parametr period powinien być ustawio-ny na 1 (domyślnie) Oznacza to, Ŝe dana faza emisji jest aktywna do momentu rozpoczęcia się następnej fazy emisji. Dla trybu time, wpis start definiuje czas (w se-kundach) w jakim, po utworzeniu obiektu w grze, rozpocznie się faza generowania efektu dymu. Wpis period definiuje czas (w sekundach) ge-nerowania efektu dymu. Dla obiektów typu Sce-nery moŜna ustawić tylko i wyłącznie tryb time. Dla trybu speed, wpis start oznacza prędkość w m/s (1 m/s = 3,6 km/h), a wpisu period nie stosuje się. Wszystkie pozostałe wpisy właści-wości emisji (rate, velocity, lifetime, minsize, maxsize) są interpolowane, w celu płynnego przejścia pomiędzy fazami emisji dymu. (zobacz blok smoke3 w przykładzie nr 2). Dla trybu anim, wpis start to wartość od 0.0 do 1.0, definiująca moment startu jako fazę animacji elementu. Wpis period to wartość od 0.0 do 1.0, definiu-jąca czas, przez który efekt dymu jest aktywny (start + period). Wartość nie moŜe przekra-czać 1.0. Dla trybu timeofday, wpis start to wartość od 0.0 do 1.0, definiująca porę dnia, w której roz-poczyna się generowanie efektu dymu. Znaczenie poszczególnych wartości wpisu: 0 - północ, 0.25 - godz. 600, 0.5 - południe, 0.75 - godz. 1800, 1.0 - północ; color – numeryczne wartości (od 0 do 255) definiu-jące kolor dymu (w notacji RGB) oraz jego przeźroczystość. Np. „150,150,150,255” dla ciemnego dymu, „255,255, 255,150” dla pary; „150,150,255,255” dla wody. Domyślna wartość tego wpisu to 255,255,255,255; accel – przyspieszenie. Wektor wskazujący kierunek sumy wszystkich sił oddziałujących na efekt dy-mu. Generalnie <z> oznacza siły grawitacji, <x> oraz <y> oznaczają siły wiatru. Domyślna wartość wpisu to: 0,0,0;

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

148

loop – Czas powtarzania (w sekundach) sekwencji emisji dymu. Wpis niezbędny tylko przy trybie time.

Sekcja wła ściwo ści emisji Ta sekcja definiuje, poprzez wartość lub zestaw wartości, róŜne fazy emisji efektu dymu. ZwaŜ na fakt, Ŝe poszczególne fazy nie mogą się pokrywać (inaczej mówiąc: nie mogą na sie-bie „zachodzić”), i jednocześnie (w danym okre-sie czasu) aktywna moŜe być tylko jedna faza emisji efektu dymu. JeŜeli jakaś właściwość emisji efektu zawiera zestaw kilku wartości, to ilość tych wartości musi być taka sama, jak ilość wartości we wpisie start. Pojedyncza wartość jakiejś właściwości odnosi się do wszystkich faz emisji efektu. Zobacz przykład nr 2, zawierający kilka róŜnych faz emisji efektu dymu. start, period – opis wcześniej, w sekcji głównej; rate – szybkość emisji efektu w liczbie cząsteczek dymu (pary) na sekundę w trybach: time, speed, oraz timeofday lub ilość cząsteczek dymu (pary) wyemitowanych podczas trwania animacji w trybie anim. Domyślna wartość to 4; velocity – domyślna początkowa szybkość emitowanych cząsteczek dymu. Domyślna wartość to 1; lifetime – czas w sekundach, przez który cząsteczki dymu „trwają” w scenie 3D. Domyślna wartość to 3; minsize – początkowy rozmiar cząsteczek dymu, w okresie ich „trwania”. Domyślna wartość pa-rametru to 0; maxsize – końcowy rozmiar cząsteczek dymu, w okresie ich „trwania”. Domyślna wartość parametru to 3. Zasadniczo lepiej definiować małą szybkość emisji cząsteczek (rate) z większym rozmiarem cząsteczek (min/max size), niŜ duŜą szybkość (rate) z małym rozmiarem cząsteczek. Pozwoli to na bardziej płynną emisję efektu dymu i za-pobiegnie efektowi „gubienia” klatek podczas gry. Efekty dymu (pary) znacznie obciąŜają komputer, ale moŜna je stosować, zachowując umiar w definiowaniu szybkości emisji i rozmia-ru cząsteczek.

Poeksperymentuj z ustawieniami dla róŜnych wartości poszczególnych parametrów, aby „wy-czuć”, jak wpływają one na generowanie efektu dymu. Dzięki odpowiednio zdefiniowanym „pun-ktom przyłączania”, przy pomocy efektów PFX moŜna symulować wiele innych efektów (np. fale na wodzie, mgłę, toksyczne opary, płomie-nie, itp.). PRZYKŁAD 1 – Dym z komina fabryki Przykład bazuje na dodatku z modelem fabryki z kominem. „Punkt przyłączania” dla efektu dy-mu nazwano a.smoke i umiejscowiono go na szczycie komina. Oś Y tego punktu skierowana jest w górę. Siatkę 3D całego dodatku wyeks-portowano jako plik indeksowanej siatki (*.im) do folderu: C:\ProgramFiles\Auran\TRS2004\World\ Custom\scenery\factory, razem z teksturami modelu. PoniŜszy przykład pliku config.txt powoduje emitowanie dymu z komina fabryki w godzinach od 600 do południa (1200), oraz od 1500 do 1800:

kuid <KUID2:###:#####:1> region Britain kind scenery type Industrial light 1

smoke0 {

attachment a.smoke mode timeofday color 150,150,150,250 accel 1,0.3,0 start 0.25, 0.5 period 0.25, 0.125 rate 8 velocity 3 lifetime 5 minsize 0.5 maxsize 2

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

149

PRZYKŁAD 2 – Dym z komina parowo-zu Przykład parowozu z animacjami, w którym uŜyto czterech „punktów przyłączania” dla efektu dymu i pary: • dla ciemnego dymu z komina parowozu, in-tensywność dymienia zaleŜna od szybkości pa-rowozu – (punkt a.smoke, oś Y punktu wska-zuje „w górę”); • dla wypływu pary z zaworu bezpieczeństwa, na górnej powierzchni kotła parowozu (punkt a.steam.safety, oś Y punktu wskazuje „w gó-rę”); • dwa punkty z kaŜdego boku parowozu, powią-zane z animacją ruchu kół parowozu (punkty: a.steam.l i a.steam.r, osie Y punktów wskazu-ją „na zewnątrz” parowozu). Model 3D został wyeksportowany jako progre-sywna siatka TRS (*.pm) do folderu: C:\Program Files\Auran\TRS2004\World\ Custom trains\steam_train\, razem z tekstura-mi. PoniŜszy przykład pliku config.txt dodatku powoduje generowanie poŜądanych efektów dy-mu i pary. ZauwaŜ, Ŝe przykład zawiera takŜe przestarzały format KUID i NIE POWINIEN ON BYĆ STOSOWANY przez ciebie w twoich dodat-kach (obowiązuje format KUID 2).

kuid <KUID2:####:#####:1> kind traincar bogey 0 engine 1 name Steam Train mass 100000 enginespec <KUID:###:#####> enginesound <KUID:###:#####> hornsound <KUID:###:#####> interior <KUID:###:#####>

smoke0 {

attachment a.steam.l mode anim color 255,255,255,150 start 0 period 0.4 rate 2 velocity 1 lifetime 2 minsize 0.05 maxsize 1

} smoke1

{ attachment a.steam.r mode anim color 255,255,255,150 start 0.5 period 0.4 rate 2 velocity 1 lifetime 2 minsize 0.05

maxsize 1 }

smoke2

{ attachment a.steam.safety mode time color 255,255,255,150 rate 2 velocity 1 lifetime 2 minsize 0.05 maxsize 1

} smoke3

{ attachment a.smoke0 mode speed color 100,100,100,200 start 0,10,20,30 rate 3,5,7,9 velocity 3,4,5,5 lifetime 4,3,2.5,2 minsize 0.3 maxsize 2

}

Metoda 2 – TWINKLES PFX

(Metoda korzysta z „Twinkles PFX” – ZALECANA) „Twinkles pfx” to edytor efektów cząsteczko-wych, przeznaczony dla ułatwienia tworzenia i konfiguracji efektów 3D stosowanych w grach. Narzędzie „Twinkles pfx” jest niezaleŜne od gry i wymaga pluginu efektów TRS 2004 („Trainz Railroad Simulator 2004 effects plugin”), aby przekonwertować emitery cząsteczek do forma-tu Trainz. Zainstalowanie plug-inu efektów dla TRS pozwoli ci dodawać i konfigurować emitery efektów cząsteczkowych w dodatkach dla TRS 2004. Pełna dokumentacja dołączona jest do pluginu TrainzPFX. Przykłady bloków i wpisów smoke, w pliku config.txt dodatków dla TRS są pokazane w dokumencie „Twinkles PFX User Guide.doc”, który powinien znaleźć się na dysku twardym po zainstalowaniu gry TRS 2004. Dokument ten jest takŜe dostępny w Internecie na stronie: http://www.auran.com/TRS2004/downloads/contentcreation/Twinkles.zip

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

150

SKRYPTY DŹWIĘKOWE Skrypty dźwiękowe są umieszczone jako bloki soundscript w pliku config.txt dodatku i dodają (pośrednio lub bezpośrednio) dźwięki do obiekt-ów (dodatków TRS). Skrypty te nie mogą być uŜyte dla obiektów typu Tory, Mosty i jakichkol-wiek innych obiektów typu Spline. Pliki dźwię-kowe (*.wav) muszą znajdować się w tym sa-mym folderze dodatku, co jego plik config.txt. PoniŜej przedstawiono pliki róŜnych dodatków TRS 2004, zawierające bloki soundscript. Przełącznik zwrotnicy (MOJUNCTION)

Config.txt

kuid <KUID2:###:#####:1> kind mojunction region Australia trackside 2 light 1 mode0 lever1 mode1 lever2

soundscript {

toggle {

trigger toggle distance 5, 100 nostartdelay 1 repeat-delay 1 sound

{ points.wav }

} }

itd. Tłum ludzi (PEOPLE CROWD)

Config.txt :

kind scenery region Australia kuid <KUID2:###:#####:1> type People

soundscript {

daysingle { repeat-delay 0 distance 3,150 sound { crowd_1.wav }

} }

itd.

Mapa (MAP) Config.txt

kind map kuid <KUID2:###:#####:1>

soundscript {

morning {

ambient 1 value-range 1, 0.1 volume 0.3 sound { ctry_day_1.wav }

} night {

ambient 1 value-range 0, 0.9 volume 0.3 sound { night_loop.wav }

} }

username Britain workingscale 0 workingunits 0 water <KUID:-1:8009> region Britain itd.

Grzmot burzy (THUNDERBOX)

Config.txt

kuid <KUID2:###:#####:1> region Australia light 1 kind scenery type Residential

soundscript { dayloop

{ repeat-delay 15,50 distance 5, 50 sound { strain_1.wav }

} }

itd.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

151

Wyjaśnienia wpisów: repeat-delay – wartość 1 lub 2 (min/max, w sekundach), opóźnienia pomiędzy kolejnym odtworzeniem dźwięku. Dwie wartości w tym wpisie definiują, Ŝe opóźnienie pomiędzy kolejnymi odtworzenia-mi dźwięku będzie losowo dobierane (losowane) z przedziału [pierwsza wartość] – [druga wartość] (min .. max). Wartość domyślna 0,0; attachment – „punkt przyłączania” w siatce 3D modelu, do którego zostanie dołączony dźwięk (definiujący w przestrzeni 3D punkt, z którego „wydobywa” się dźwięk). Domyślnie: punkt modelu obiektu nadrzędnego o współrzędnych 0,0,0 (wpis nie-stosowany dla dźwięku dołączanego pośrednio); distance – dwie wartości (w metrach). Pierwsza wartość oznacza odległość obserwatora od obiektu, przy której dźwięk zostanie odtworzony z siłą głosu 100%. Druga wartość oznacza odległość gra-niczną obserwatora od obiektu, po przekrocze-niu której dźwięk nie będzie odtwarzany. Domyślna wartość dla tego wpisu to: 50,150; sound – plik (lub lista plików) *.wav do odtworzenia. Jeśli lista plików, to plik do odtworzenia wybie-rany jest losowo; volume – „siła głosu” odtwarzanego dźwięku. Domyśl-nie 1.0, co oznacza siłę głosu = 100%; ambient – 0 lub 1 (domyślnie 0). Dźwięk o charakte-rystyce „dokólnej” – nieposiadający zdefinio-wanego punktu w przestrzeni 3D, z którego się wydobywa (plik *.wav moŜe być stereofonicz-ny). Dla dodatków bez wpisu ambient – ze zdefiniowanym punktem w przestrzeni 3D, z którego wydobywa się dźwięk – plik *.wav musi być monofoniczny; value-range – dwie wartości, definiujące, Ŝe pliki dźwiękowe (*.wav) odtwarzane są w grze w ciągu dnia i w ciągu nocy. Wartość 0.5 oznacza północ, wartość 0.0 lub 1.0 – południe. JeŜeli wartości nie są jednakowe, to wpis definiuje początek i koniec okresu (pory dnia), w którym dźwięk jest odtwarzany. Domyślna wartość dla tego wpisu to: 0,0 (odtwarzanie dźwięków wyłączo-ne);

trigger – trigger (wyzwalacz) moŜe być uŜyty w pli-kach *.evt (plikach zdarzeń) skojarzonych z daną animacją. Więcej - zobacz podrozdział "Zdarzenia animacji" na stronie 125; nostartdelay – 0 lub 1 (domyślnie 0). Przy domyślnym usta-wieniu odtwarzany dźwięk będzie miał moŜli-wość wywoływania efektu „flangingu”. Jest to efekt powstający wtedy, kiedy kilka kopii tego samego dźwięku jest odtwarzanych w tym sa-mym czasie. dayloop, daysingle, morning, night, toggle – wpis niemający przypisanej funkcji w TRS 2004. MoŜe być dodawany na zasadzie odwoła-nia uŜytkownika gry. WaŜne: wartość parametru moŜe zawierać tylko pojedyncze słowo (bez spacji).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

152

PORADNIK DO SKRYPTÓW W TRS 2004

Wprowadzenie TrainzScript jest skryptowym językiem, przygo-towanym specjalnie dla gry Trainz. W tym pod-rozdziale opisano, jak stworzyć bardzo prosty skrypt – ten podrozdział nie nauczy Cię zasad programowania ani projektowania programów. TrainzScript moŜe zostać uŜyty dla gry TRS powyŜej wersji 1 z ServicePack-iem 3, do two-rzenia dodatków typu Scenariusz (Activity). JeŜeli czujesz się obco w terminologii programo-wania, to powinieneś zajrzeć do innych tutoriali i przewodników o programowaniu, zanim spró-bujesz napisać scenariusz do gry Trainz. Auran przygotował bardzo przyjazne dla uŜytkownika (a zarazem potęŜne) narzędzie do kompilacji skryptów. Poświęć czas na dokładne przerobie-nie poszczególnych kroków tego przewodnika. Przewodnik został opracowany w sposób niefor-malny (nie w formie podręcznika). Więcej do-datkowych informacji na temat skryptów i sce-nariuszy Trainz moŜna znaleźć na internetowej stronie forum Auranu: http://www.auran.com/trainz/forum/default.htm Gdzie znajdę TrainzScript? TrainzScript jest skryptowym językiem, pozwa-lającym tworzyć sesje maszynisty dla TRS2004, ze zdefiniowanymi zasadami i warunkami. KaŜdy scenariusz zawiera się w jednym lub kil-ku plikach TrainzScript (z rozszerzeniem *.gs), które umieszczane są w folderze: ...\World\Custom\Scenarios. Scenariusze wbudowane w grę TRS 2004 moŜna znaleźć w folderze: C:\Program Files\Auran\TRS2004\Scripts. Pliki skryptów z tego folderu zawierają wszystkie ob-sługiwane funkcje, pozwalające kontrolować grę TRS 2004. Z czasem poznasz większość funkcji występujących w plikach z tego folderu. Kompilator skryptów TrainzScript (plik gsc.exe) znajduje się w folderze: C:\Program Files\Auran\TRS2004\Bin. Przejdź w oknie „Wiersza poleceń” (Start�Wszystkie programy�Akcesoria�Wiersz polecenia) do folderu: C:\Program Files\Auran\TRS2004\Bin i uruchom kompilator wpisując komendę: gsc.exe –d. Spowoduje to skopiowanie pomocy dla skryptów TrainzScript i dla kompilatora do pliku „reference.txt” w tym folderze. Zapoznaj się z tym dokumentem, który wprowadzi Cię w podstawy języka skryptowego TrainzScript.

Tworzymy prosty scenariusz Stworzymy teraz pierwszy, prosty scenariusz dla gry TRS 2004. Nauczysz się korzystać z kompilatora TrainzScript i poznasz wymagane procedury do stworzenia prostego scenariusza, który będzie uruchamiany z okna „Scenariusze” głównego menu uruchamiania gry. Krok 1. Uruchom grę Trainz i w module Geodety stwórz nową mapę. Nadaj jej nazwę „Tutorial1” (bez spacji), region – dowolny. Umieść na podłoŜu niewielką pętlę z dowolnego rodzaju toru (pętla musi być „zamknięta” – koniec toru umieść w jego początkowym punkcie). Następnie umieść gdziekolwiek na torze znacznik (track mark) i nazwij go „START”. Upewnij się, Ŝe jego nazwa napisana jest DUśYMI LITERAMI (nazy-waj w ten sposób wszystkie obiekty dodane na mapie dla zastosowań skryptowych) – ze wzglę-du na to, Ŝe język skryptowy TrainzScript roz-róŜnia wielkość liter („START” i „start” to dwa róŜne obiekty z punktu widzenia skryptu!). Dodaj dźwignię zwrotnicy gdziekolwiek na torze. I oto mamy obiekty, dzięki którym kamera będzie miała „coś” do pokazania. Krok 2. Przed wyjściem z modułu Geodety wybierz z głównego menu gry opcję: „Eksport danych sceny…”, w nowo otwartym oknie, w razie po-trzeby wpisz nazwę pliku „Tutorial1” i kliknij „OK”. Krok 3. Zakończ całkowicie grę Trainz. W oknie „Mój komputer” przejdź do folderu: C:\Program Files\Auran\TRS2004\World\ Custom\Maps\Tutorial1 i znajdź plik config.txt mapy „Tutorial1”. Krok 4. Otwórz (np. w Notatniku) plik config.txt. Powinien on zawierać między innymi takie wpisy:

kuid <KUID:-2:2023211879> kind map username Tutorial1 workingscale 0 workingunits 0 water <KUID:-1:110015> region Australia

ZauwaŜ, Ŝe twojej nowej mapie automatycznie został nadany KUID. W tym przykładzie to: -2:2023211879.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

153

Krok 5. Teraz w oknie „Mój komputer” przejdź do folderu: C:\Program Files\Auran\TRS2004\World\ Custom\scenarios\Tutorial1 i otwórz plik config.txt, wyeksportowanego przez Ciebie z gry w kroku 1 scenariusza „Tutorial1”. Powinien on zawierać między innymi takie wpisy:

kind activity username Tutorial1 scriptlibrary Tutorial1 scriptclass MyTutorial1 kuid <KUID:-2:2023211880> kuid-table { tutorial1 <KUID:-2:2023211879> } description “Tutorial1”

Teraz kilka wyjaśnień. Wpis kuid-table zawiera tabelę nazw KUID uŜywaną przez ten scena-riusz. Są tu nazwy wszystkich obiektów ładowa-nych podczas wczytywania tego scenariusza (tu – KUID mapy Tutorial1). Scenariusz odwołuje się do KUID poprzez nazwy (wielkość liter w na-zwach ma znaczenie). W tym przykładzie skrypt ładuje mapę o nazwie „Tutorial1”, która została zdefiniowana we wpisie kuid-table i zostanie odnaleziona jako KUID -2: 2023211879. W ten sam sposób ładowane są wszystkie inne obiekty występujące w scenariuszu (lokomoty-wy, wagony, obiekty Scenery, itp.). ZauwaŜ, Ŝe skrypt posiada swój własny, unikalny KUID, nadany automatycznie podczas eksportu. Wpis description zawiera tekst widoczny w oknie wyboru scenariuszy, dostępnym po wybraniu opcji „Scenariusze” z głównego menu urucha-miania gry. Krok 6. Teraz przystąpimy do edycji pliku skryptu TrainzScript. Otwórz (najlepiej w WordPadzie) plik Tutorial1.gs znajdujący się w tym samym folderze (został on utworzony z szablonu template.gst z folderu scripts\, podczas eks-portowania przez Ciebie „danych sceny…”). Składnia zapisów w tym pliku jest wyjaśniona w pomocy kompilatora. Ale nawet jeśli nie za-znajomisz się z tym plikiem pomocy, to i tak chyba bez trudu zorientujesz się, co oznaczają poszczególne wpisy (dodane komentarze). Plik powinien wyglądać następująco (uwaga – w Notatniku plik wygląda inaczej):

include “trainz.gs” // // class MyTutorial1 // brief This is the scenario class. Modify this class with // your own gameplay. // game class MyTutorial1 isclass Scenario {

Train myConsist; bool scenarioDone = false; // // Load will be called by Trainz to load the

scenario map, and when the user presses Ctrl-L // param data is the save game data if

loading a saved game. // bool Load(string data) {

if(data and data.size()) {

Interface.Load(data); } // load the map if(!World.LoadMap(World.FindKUID(“Tutorial 1”))) {

Interface.Log(“Error loading scenario map”); return false;

} return true; } // // Save will be called by Trainz when the user presses Ctrl-S. // return the save game string, such that load will be able to restor the save game // from the last save check point. // string Save()

{ return Interface.Save();

} // // TrainDerailed will be called by Trainz when a train derails // void TrainDerailed(int trainId) {

if(!scenarioDone) {

World.EndScenario(10); scenarioDone = true;

} } // // TrainCollided will be called by Trainz when a train collides //

void TrainCollided(int trainId) { if(!scenarioDone)

{ World.EndScenario(10); scenarioDone = true;

} }

//

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

154

// TrainSpeedingFine() is called by Trainz every second your trains speed exceeds the floating limit //

void TrainSpeedingFine() {

//Interface.AdjustScore(-10); } // // TrainBadCouple() is called by Trainz when vehicles couple greater than 8KPH. //

void TrainBadCouple(int vehicleId) {

//Interface.AdjustScore(-200); } // // // main thread // brief main is executed automatically after

Load() is called. edit // main to contain your scenarios gameplay. // // thread void main(void)

{ // Start the monitor thread to monitor speeding, derailing etc. Monitor(); // // create consist specs // // // create consists // // // gameplay // scenarioDone = true;

} };

Krok 7. Czas na krok finałowy – kompilacja skryptu scenariusza. Skopiuj plik makescript.bat z folderu: C:\Program Files\Auran\TRS2004\Scripts\ docs do folderu z twoim skryptem: C:\Program Files\Auran\TRS2004\World\ Custom\scenarios\Tutorial1. Uruchom ten plik wsadowy „batch” (dwukrotnie klikając lewym przyciskiem myszy na jego ikonie) i upewnij się, Ŝe nie wyświetliły się Ŝadne komunikaty zawie-rające słowo „error” (nie było Ŝadnych błędów). Wynikiem „pracy” pliku makescript.bat będzie powstanie pliku skryptu o nazwie „Tutorial1.gsl” (przy uŜyciu kompilatora skryptów gsc.exe). Z doświadczeń tłumacza: Po otwarciu pliku Tutorial1.gs w Notatniku, cała zawartość pliku wypisana jest jednym ciągiem. Dlatego do otwierania i edycji plików skryptu Trainz-Scipt (*.gs) lepiej od prostego Notatnika nadaje się systemowy WordPad – nie ma on problemów z formatowaniem pliku skryptu.

NAJWAśNIEJSZE: 1. śadna linia tekstu nie moŜe zawierać

zbędnych spacji (zwłaszcza na końcu linii); 2. Linie poprzedzone znakiem „//” – to

komentarz (nie brany pod uwagę przez kompilator), aŜ do znaku końca linii (klawisz „Enter”);

3. W przykładzie pliku Tutorial1.gs niektóre linie komentarza są „zawinięte” (np. w linii 13 licząc od wpisu: include „trainz.gs”, licząc takŜe puste linie) – w treści komentarza: „Load will be called by Trainz to load the” – w tym miejscu następuje „zawinęcie” wier-sza do nowej linii. NIE WOLNO np. w Notatniku wciskać w tym miejscu (ani w jakimkolwiek innym miejscu „zawinięcia” linii tekstu tego pliku) klawisza „Enter”. Znak „//” oznacza tekst komentarza (nie brany pod uwagę przez kompilator), aŜ do KOŃCA LINII. Klawisz „ENTER” wprowa-dza właśnie taki koniec linii! Cały tekst jed-nej linii MUSI być wpisany „jednym cią-giem”, i dopiero potem moŜna wcisnąć klawisz „Enter”. W w/w przykładzie, w linii 13 naleŜy wpisać tekst: „Load will be called by Trainz to load the scenario map, and when the user presses Ctrl-L” W JEDNEJ LINII i dopiero potem wcisnąć klawisz „En-ter”. Inaczej „wynikiem” działania pliku makescript.bat będzie coś takiego:

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

155

Krok 8. Po pomyślnym skompilowaniu pliku skryptu mo-Ŝesz juŜ uruchomić Twój pierwszy (bardzo ubo-gi) scenariusz do gry TRS 2004. Scenariusz ten powinien załadować twoją mapę (nazwaną Tutorial1). ZauwaŜ, Ŝe wyimaginowana kamera pokazuje dźwignię zwrotnicy, którą umieściłeś na mapie w kroku 1 tego przewodnika. Gdyby nie umieszczono tej dźwigni, kamera nie miała-by na czym „skupić” swojego „wzroku”. Z doświadczeń tłumacza: Niestety, po wykonaniu tego przykładu i po wy-braniu z menu uruchomieniowego gry TRS 2004 opcji „Scenariusze”, widoczny jest co prawda scenariusz o nazwie „Tutorial1”, ale ładuje on taki widok:

Pusty ekran zawierający tylko „zakładki” gry oraz godzinę (porę dnia) – (953) rozpoczęcia scenariusza. Być moŜe jest to „bardzo uboga” wersja („zaczątek”) scenariusza (do sprawdze-nia ☺).

Właśnie z powodzeniem stworzyłeś swój pier-wszy (bardzo ubogi) scenariusz dla gry TRS2004. Przestudiuj plik scenariusza (*.gs) o nazwie „Highland Valley”, aby zapoznać się z moŜliwościami języka skryptowego Trainz-Script. Swoje wątpliwości dotyczące pisania skryptów moŜesz rozwiać na forum Auranu w Internecie. Powodzenia i mamy nadzieje, Ŝe pisanie skryptów i scenariuszy dla TRS 2004 dostarczy ci wiele radości!

-------------------------------------------------------------------------------------------------------------

Tablica ci ągu znaków (String-Table) KaŜdy dodatek do TRS 2004 moŜe posiadać tablicę ciągu znaków. Tablica ta, to lista ciągów znakowych (text strings), które są zdefiniowane poprzez wpisy w bloku string-table w pliku config.txt dodatku:

string-table {

stringname1 “Contents of stringname1. This is the first string in the table.” stringname2 “Contents of stringname2 go here!”

}

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

156

Tablice te są raczej rzadko uŜywane. Wpisy te stosuje się tylko wtedy, gdy zachodzi potrzeba przekazania do skryptu wartości wpisów tej tablicy (String-Table). Skrypty mogą mieć dostęp do tablicy ciągów znakowych (string table) kaŜdego dodatku za pośrednictwem funkcji Asset.GetStringTable(). W skrypcie moŜesz uzyskać kontrolę nad dodatkiem stosując funkcję GameObject.GetAsset(). Wtedy moŜesz odczytać tablicę ciągu znakowego dodatku w ten sposób:

StringTable locoStrings = locmotive.GetAsset().GetStringTable(); Zawsze, kiedy zechcesz odwołać się do tablicy ciągu znakowego dodatku, moŜesz wyodrębnić ten ciąg znakowy (string table), uŜywając jego nazwy jako argumentu funkcji StringTable.GetString(). Znaki z ciągu znakowego są zdolne do przyjmowania argumentów. To oznacza, Ŝe moŜna definiować miejsca (elementy ciągu znakowego), w których pojawi się napis zdefiniowany przez argument. Przykład:

string-table

{ locodriver “Lokomotywa %0 jest prowadzona przez maszynistę %1.” htmlhead “<b>Locomotive Info</b>” }

Wpis %0 to pierwszy argument. Wpis %1 to argument drugi. Oznacza to, Ŝe moŜna zastąpić wpisy %0 oraz %1 innymi napisami z kodu skryptu. Na przykład:

string aString = locoStrings.GetString2(“loconame”, “SrebrnySzerszeń”, “Niecnota”);

I wtedy ciąg znakowy (String) zyska postać: „L okomotywa SrebrnySzerszeń jest prowadzona przez maszynistę Niecnota”. UŜywanie ciągów znakowych (string tables) pozwala zmieniać napisy w trakcie wykonywania kodu skryptu. JeŜeli nie zajmujesz się pisaniem skryptów dla TRS 2004, to nie zawracaj sobie tymi ciągami znakowymi głowy. JeŜeli jednak chcesz pisać skrypty dla TRS 2004 – zapoznaj się z opi-sem klasy ciągu znakowego (StringTable class) w przewodniku Trainz Railroad Simulator 2004 User Activity Creation Guide – domyślna lokalizacja pliku po zainstalowaniu TRS 2004: C:\Program Files\Auran\TRS2004\Scripts\docs\index.chm

Klasy i skrypty

Słowa kluczowe we wpisach pliku config.txt dodatku odnoszą się do plików składających się na ten dodatek i uŜytych w skrypcie (z wyjątkiem nazw plików uŜytych we wpisach pliku skryptu – *.gs). Wpisy w bloku class odnoszą się do klas głównych obiektów w grze (GameObject), zde-finiowanych w pliku skryptu i naleŜących zarazem do głównych klas skryptu. Wpisy te muszą wy-wodzić się z hierarchii obieków gry (GameObject).

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

157

Rozdział 6 – Narz ędzia i KUID

Część 1

Stacja Załadowcza Trainz (Trainz Download Station) Stacja załadowcza Trainz (Download Station) powstała wraz z pojawieniem się wersji gry Trainz SP3. Wszystkie dodatki do TRS przed publikacją w Stacji Załadowczej muszą zostać spakowane w paczki (*.cdp) przy pomocy MenadŜera Zawartości (instalowanego razem z grą TRS 2004, dostępnego takŜe na stronie internetowej Trainz: http://www.Railroadsimulator.com Warunki publikacji twoich dodatków: PoniŜej opisano procedury przyjmowania do publikacji w Stacji Załadowczej Auranu dodat-ków do TRS stworzonych i wysyłanych przez twórców – członków społeczności Trainz, posia-dających swój własny profil w Aran Planet. Krok 1 – Upload (Krok wykonywany przez twórcę dodatku) Aby mieć moŜliwość wysłania do Stacji Zała-dowczej własnego dodatku do TRS, twórca musi zarejestrować się w Planet Auran, oraz musi się zalogować. Po zalogowaniu się otwiera się dos-tęp do strony uploadu dodatków (przez opcję „Your Content” w menu po lewej stronie. Na stronie uploadu znajduje się przycisk „Upload Content”. Kliknięcie tego przycisku otwiera stro-nę wyboru trybu uploadu, na której twórca musi wybrać jeden z dwóch trybów procesu uploadu: 1. Standard Upload W tym trybie, po wysłaniu twojego dodatku, zostanie on automatycznie sklasyfikowany przez Stację Załadowczą i umieszczony w odpowied-niej kategorii dodatków. 2. Preview Area Upload Ten tryb pozwala na podgląd procesu klasyfika-cji twojego dodatku. Dostępne są tu opcje za-twierdzenia, aktualizacji lub usunięcia dodatku ze Stacji Załadowczej. Po wybraniu trybu uploadu otworzy się nastę-pna strona, na której wybiera się język opisu dołączonego do dodatku po jego opublikowaniu w Stacji Załadowczej i wskazuje się na własnym dysku twardym pliki składające się na dodatek. NaleŜy takŜe zaznaczyć pole wyboru przy dekla-

racji o braku wirusów w plikach dodatku i o pra-wach autorskich do wysyłanego dodatku, oraz zatwierdzić wysyłanie dodatku przyciskiem „Submit”. Zaawansowana opcja uploadu: Link URL do dodatku (URL Content Link). Przypisuje do dodatku link do strony WWW, na której twórca umieszcza dodatek. Taki dodatek jest publikowany w następujący sposób: • Content Link dla dodatku odsyła osobę chcącą pobrać taki dodatek ze Stacji Załadowczej na stronę WWW przypisaną do dodatku. • Kiedy publikujesz pakiet (kilka dodatków), kaŜdy dodatek wchodzący w skład pakietu otrzymuje URL Content Link do strony WWW, na której znajduje się pakiet. Warunki: • Linki są sprawdzane i dodatek z nieprawidło-wym (niedziałającym) linkiem zostanie usunięty ze Stacji Załadowczej. • Nazwa UŜytkownika (Username) jest niezbęd-na do zalogowania się i wysłania jakiegokolwiek dodatku przez twórcę. W trakcie wysyłania i pu-blikacji dodatku zostaje do niego przypisane User ID twórcy – autora dodatku. • Rozszerzenie nazwy pliku – moŜna wysyłać i publikować w Stacji Załadowczej tylko pliki dodatków z rozszerzeniem (*.cdp). • Maksymalny rozmiar wysyłanego pliku z do-datkiem podawany jest na stronie Stacji Zała-dowczej. JednakŜe, wyjątkowo ograniczenie to moŜe być przedmiotem negocjacji. Krok 2 – Wypakowywanie plików dodatków (proces automatyczny) Proces sprawdzenia dodatku na Stacji Załadow-czej Auranu odbywa się nocą. Przed publikacją, wszystkie przesłane w ciągu ostatniego dnia do-datki są weryfikowane – sprawdzana jest po-prawność pliku *.cdp.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

158

Krok 3 – Kontrola dodatku (proces automatyczny) Ten proces wykonywany jest po przejściu doda-tku przez krok 2 procedury. Kontrolowany jest indywidualnie kaŜdy dodatek, który został wy-pakowany w kroku 2. W przypadku pakietu do-datków kontrolowany jest cały pakiet (kaŜdy plik *.cdp wchodzący w skład pakietu). W razie stwierdzenia jakiegokolwiek błędu w dodatku, tworzony jest raport tego błędu, który zostaje wysłany do autora dodatku. A do-datek zawierający błędy zostaje usunięty i nie podlega publikacji. Przebieg procesu kontroli (jeŜeli wysłany do-datek nie spełnia któregokolwiek z poniŜszych warunków – zostanie usunięty, a autor dodatku zostanie powiadomiony o tym fakcie): • sprawdzenie, czy plik (pliki) dodatku rozpako- wuje się prawidłowo; • porównanie liczby plików wypakowanych w kroku 2 z liczbą plików kontrolowanych w tym kroku; • sprawdzenie, czy User ID autora dodatku naleŜy do osoby, która nadesłała plik z dodatkiem; • jeŜeli dodatek został nadesłany przez członka Grupy (Group member) – sprawdzenie, czy User ID autora naleŜy do tej Grupy; • sprawdzenie poprawności KUID dodatku; • sprawdzenie, czy nazwa dodatku zawiera minimalną ilość znaków (3) oraz czy nie zawiera wulgaryzmów; • sprawdzenie, czy opis dodatku nie zawiera wulgaryzmów; • jeŜeli nadesłany plik jest kolejną wersją opublikowanego wcześniej dodatku – sprawdzenie czy jest to ostatnia (najświeŜ- sza) wersja tego dodatku (ID wersji w KUID nadesłanego dodatku musi być co najmniej o 1 większe od ID wersji w KUID wcześniej opublikowanego dodatku); • sprawdzenie poprawności kodów Regionu dodatku; • sprawdzenie poprawności kodów Ery dodatku; • sprawdzenie, czy długość opisu dodatku nie przekracza maksymalnego limitu (2048 znaków). JeŜeli tak – opis jest skracany do 2048 znaków; • sprawdzenie, czy długość nazwy dodatku nie przekracza maksymalnego limitu (64 znaki). JeŜeli tak – opis jest skracany do 64 znaków.

Krok 4 – Testowanie (Preview Area) – tylko jeŜeli w kroku 1 wybrano ten tryb publikacji Preview Area to nowość w Stacji Załadowczej Auranu. MoŜna to określić jako „tymczasowe udostępnienie” autorowi jego dodatku, przed właściwą publikacją, w celu testowania. Dzięki umieszczeniu dodatku w Preview Area: a) moŜesz wyrazić zgodę (lub nie) na właściwą publikację twojego dodatku; b) moŜesz przekazać innym link do twojego dodatku, aby przetestowali oni ten dodatek

(normalnie tylko ty, jako autor, masz dostęp do dodatku umieszczonego w Preview Area);

c) moŜesz ponownie sprawdzić wszystkie wpisy i informacje o dodatku przed jego ostateczną publikacją (np. zawartość pakietu, definicje kategorii, wpisy obsolete-table, itp.); d) moŜesz wysłać i umieścić w Preview Area kilka róŜnych „wykonań” tego samego dodatku z identycznym KUID (aby po testach wybrać najlepszy dodatek); e) moŜesz usunąć wysłany dodatek i zrezygno- wać z jego publikacji. WaŜna uwaga: Dodatek umieszczony w Preview Area moŜe tam przebywać maksymalnie przez 4 tygodnie. Wszystkie testy i poprawki muszą zostać wyko-nane w tym terminie. JeŜeli twój dodatek to pakiet kilku plików (np. lokomotywa, jej silnik, wózek i pantograf), i umieścisz w Preview Area tylko jeden z tych plików, to dla pozostałych plików z pakietu okres 4 tygodni nie jest odliczany. Krok 5 – właściwa publikacja (przez Auran) Po opublikowaniu dodatku w Stacji Załadowczej autor dodatku otrzyma email z potwierdzeniem publikacji (lub z zawiadomieniem, Ŝe dodatek został odrzucony). JeŜeli dodatek został zakwa-lifikowany do publikacji – będzie dostępny w Stacji Załadowczej (DLS) Auranu po około 8 godzinach od wysłania emaila do autora do-datku Warunki publikacji: • poprawna nazwa i opis dodatku; • akceptowalny obraz podglądu dla dodatku; • określenie przez autora kategorii dodatku.

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

159

Aplikacja Trainz Download Helper Aplikacja Trainz Download Helper (TDH) to narzędzie do pobierania dodatków do TRS ze Stacji Załadowczej Auranu (Download Station). TDH jest domyślnie instalowany razem z grą TRS 2004. Uruchamia się automatycznie podczas próby pobrania pliku *.cdp ze Stacji Załadowczej Auranu (komenda: „trainz://install/<KUID:###:######>”). Jak to działa? Ta komenda to swego rodzaju „protokół” (taki, jak np. http). Trainz jest dla TDH obiektem definiującym i wywołującym ten „protokół” (w tym przypadku program TDH), który zostanie wykonany (uŜyty). TDH ma moŜliwość pobierania i wyświetlania banerów reklamowych. Dlatego kaŜdy twój dodatek z dodanym linkiem twojej strony WWW (URL Content Link) będzie wyglądał w TDH, jakby był pobierany z podlinkowanej strony WWW. TDH wyszukuje na Stacji Załadowczej dodatki poprzez ich KUID. Sprawdza przy tym wymaga-ne zaleŜności i automatycznie rozpoczyna po-bieranie i instalowanie wszystkich niezbędnych plików dodatku. Dlatego teŜ, wszystkie niezbę-dne do działania dodatku pliki, muszą być opu-blikowane w Stacji Załadowczej Auranu. Podczas pobierania dodatku przy pomocy TDH nie są wyświetlane Ŝadne komunikaty ani os-trzeŜenia, a cały proces pobierania przebiega w tle. W przeszłości autorzy dodatków do TRS woleli publikować je na swoich własnych stronach WWW i nie korzystali z moŜliwości publikacji w Stacji Załadowczej Auranu. Dzięki aplikacji TDH strona autora dodatku jest promowana, a pobieranie dodatku przebiega szybciej (prze-pustowość łącza internetowego Auranu), bezbo-leśnie (spełnione zaleŜności dodatków), a cały proces pobierania przebiega w tle. To wszystko pozwala mieć nadzieję, Ŝe wszyscy twórcy do-datków do TRS będą je publikowali w Stacji Za-ładowczej Auranu. Jak widzisz, jest wiele korzyści z korzystania z aplikacji Trainz Download Helper. Sprawdź dział FAQ na stronie internetowej TRS 2004, aby dowiedzieć się o szczegółach i wymaganiach jakie musi spełniać baner twojej strony, przeznaczony dla aplikacji TDH: http://www.auran.com/faq/default.php?FaqID=210

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

160

Część 2

Wykaz KUID opublikowanych dodatków

TABOR (TRAINCARS) VERSION 1 <KUID:-1:100752> OBB 1044 <KUID:-1:100754> QR 2100 Class <KUID:-1:100085> PRR 40’Boxcar <KUID:-1:100929> IC 4 Bay Hopper <KUID:-1:101224> IC 4 bay Hopper Loaded <KUID:-1:100086> PRR 50’Boxcar <KUID:-1:100087> PRR 60’Boxcar <KUID:-1:100023> SAR/SAS 6E1 <KUID:-1:100024> SAR/SAS 6E1 <KUID:-1:100143> ER FA1 <KUID:-1:100144> LV FA1 <KUID:-1:100145> Rock Island FA1 <KUID:-1:100150> CN FPA4 <KUID:-1:100153> CP FPA2 <KUID:-1:101242> IP ARL <KUID:-1:100159> ATSF Baggage Car <KUID:-1:100160> ATSF Chair Car <KUID:-1:100161> ATSF Diner <KUID:-1:100162> ATSF Pleasure Dome <KUID:-1:100163> ATSF Pullman - Pine series <KUID:-1:100019> SNCF 15000 BB <KUID:-1:100004> NS 1600 <KUID:-1:100878> SNCF Container Wagon <KUID:-1:101246> IP BRJ <KUID:-1:101425> SAR Centenary Car <KUID:-1:100012> CO-OP Bulk Hopper <KUID:-1:100090> BR Class 37 yellow <KUID:-1:100039> BR HST Class 43 <KUID:-1:100029> BR Deltic blue <KUID:-1:100030> BR Deltic green <KUID:-1:100042> CN Cupola Caboose <KUID:-1:100048> NSWGR NQO Flatcar <KUID:-1:100043> B&O Cupola Caboose <KUID:-1:100046> NYC Cupola Caboose <KUID:-1:101253> DB DDm915 <KUID:-1:101248> IP DF <KUID:-1:100861> NSW SRA 44 Class <KUID:-1:100825> DL500 <KUID:-1:100778> SAR 930 Class <KUID:-1:100820> SAR 930 Class single <KUID:-1:100812> NSWGR 44 Class <KUID:-1:101032> DB Erz IIId <KUID:-1:101254> DB Erz IIId Loaded <KUID:-1:100117> B&O F7A <KUID:-1:100118> B&O F7B <KUID:-1:100121> CP FP7A <KUID:-1:100122> CP F7B <KUID:-1:100131> NYC F7A <KUID:-1:100132> NYC F7B <KUID:-1:1> ATSF F7A <KUID:-1:100135> ATSF F7B <KUID:-1:100136> Southern F7A

<KUID:-1:100137> Southern F7B <KUID:-1:101220> SS Foundry Car <KUID:-1:100049> Freightliner Container Flat <KUID:-1:100092> Penn Salt GATX Tanker <KUID:-1:101292> SAR Guard Van <KUID:-1:100093> SJ Hbbins881 <KUID:-1:101204> SJ Habbins941 <KUID:-1:101249> IP HGM <KUID:-1:101251> IP HM <KUID:-1:100064> IF Refrigerated Van <KUID:-1:100072> DB Sssy - 716 <KUID:-1:100106> BR MK2 BFK <KUID:-1:100107> BR MK2 FK <KUID:-1:100108> BR MK2 TSO <KUID:-1:100058> BR HST MK3 TGS <KUID:-1:100059> BR HST MK3 TRBS <KUID:-1:100060> BR MK3 Sleeper <KUID:-1:100062> BR HST MK3 TS <KUID:-1:100770> NSWGR NLKY louvred van <KUID:-1:100828> NSWGR NOD <KUID:-1:101222> NSWGR NOD Loaded <KUID:-1:101048> OBB ABmz <KUID:-1:101047> OBB Wrmz <KUID:-1:101044> OBB Bmz <KUID:-1:101051> OBB Amz <KUID:-1:101216> SJ Os Flat Car <KUID:-1:100814> V & S.A.R Overland Club Car <KUID:-1:100815> V & S.A.R Overland First Class <KUID:-1:100816> V & S.A.R Overland Second Class <KUID:-1:100817> V & S.A.R Overland Sleeper Car <KUID:-1:100066> Baby Ruth Hi-Cube Boxcar <KUID:-1:100017> PRR FM flat car <KUID:-1:101153> QR QLX Bronco <KUID:-1:101154> QR QLX <KUID:-1:100094> SJ Rc4 <KUID:-1:100871> ATSF SD40-2 <KUID:-1:101060> SS Tipper Car <KUID:-1:100822> UC Silos <KUID:-1:100068> DB V200 Ozeanblau <KUID:-1:100070> RENFE Class 340 <KUID:-1:100018> VR S blue <KUID:-1:100007> V/Line S <KUID:-1:100763> BR ZHV Mineral Wagon <KUID:-1:101229> BR ZHV Mineral Wagon Loaded VERSION 1.3 - SERVICE PACK 3 (SP3) <KUID:47092:20> Robe Alco 636 <KUID:2512:1372> BR Class 37 Yellow-C <KUID:2512:1371> BR Class 37 Coal-C <KUID:-1:100127> MR F7A <KUID:-1:100128> MR F7B <KUID:-12:460> AN Guard Van <KUID:-12:500> QR MAS 1488 <KUID:-12:501> QR MAS 1491 <KUID:-12:502> QR MBC <KUID:-12:503> QR MCC <KUID:-12:504> QR MPC <KUID:-12:505> QR PWA <KUID:-12:506> QR PWA Loaded <KUID:-12:3537> BN SD40-2 <KUID:-12:3534> CN SD40-2

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

161

VERSION 1.5 - ULTIMATE TRAINZ COLLECTION <KUID:-1:101457> DB Class 218 Ozeanblau <KUID:-1:101458> DB Class 218 Rot & Beige <KUID:-1:100089> SAR/Spoornet Class 34 EMD <KUID:-1:100737> AN 830 Class <KUID:-1:100734> DL531 Silverton <KUID:-1:100725> NSWGR 48 Class <KUID:-1:101393> EF81 <KUID:-1:100841> PRR GG1 <KUID:-1:100013> AN GM Class <KUID:-1:100167> GP38-2 - Canadian National <KUID:-1:100176> GP38-2 - Milwaukee Road <KUID:-1:100182> GP38-2 - Seaboard System <KUID:-1:101412> SNCF TGV SE Unit 1 <KUID:-1:101416> SNCF TGV SE Unit 2 <KUID:-1:101417> SNCF TGV SE Unit 3 <KUID:-1:101420> SNCF TGV SE Unit 4 SCENATIUSZE UTC (UTC SCENARIO) <KUID:-10:223> drivertrain <KUID:-10:224> inv_train <KUID:3801:1001001> Pilbara Ore Hopper

<KUID:3801:1001002> Pilbara Ore Hopper Loaded <KUID:-18:1100> SW7 Burlington <KUID:523:101060> SS Tipper Car Loaded TABOR TRAINZ RAILROAD SIMULATOR 2004 AURANU (TRAINCARS) <KUID:-3:10062> BR MK1 BCK <KUID:-3:10065> BR MK1 CK <KUID:-3:10067> BR MK1 FK <KUID:-3:10068> BR MK1 RBR <KUID:-3:10069> BR MK1 RMB <KUID:-3:10074> BR MK1 SK <KUID:44179:60006> Coal_Hopper <KUID:-3:100878> Container_Flat <KUID:-3:10035> GATX Oil Tanker <KUID:-3:10028> Log Wagon <KUID:-3:10102> Mat54 Hondekop Car 1 <KUID:-3:10106> Mat54 Hondekop Car 2 <KUID:-3:10107> Mat54 Hondekop Car 3 <KUID:-3:10104> Mat54 Hondekop Car 4 <KUID:-3:10024> QR PB 15 <KUID:-3:10029> QR PB 15 Tender <KUID:-1:100051> UP DD40X <KUID:-3:10063> Woodchips_Gondola

TABOR TRS 2004 INNYCH TWÓRCÓW (TRS 2004 THIRD PARTY TRAINCARS) Chris Cordes:

<KUID:67598:17006> Wd FlatCarB <KUID:67598:17004> Wd BoxCarY <KUID:67598:17007> Wd Caboose <KUID:67598:17001> Wd FlatCar <KUID:67598:17002> Wd BoxCar <KUID:67598:17003> Wd GondolaCar <KUID:67598:17005> Wd GondolaCarG <KUID:67598:17022> Wd PassngrCarG <KUID:67598:17023> Wd PassngrCarR <KUID:67598:17025> Wd TankCar <KUID:67598:4> WoodEngine <KUID:67598:3> WoodEngineRed

Fredrik Skog: <KUID:30387:00041> Y1 (BK tag) <KUID:30387:00040> Y1 (Orange)

Greg Deryckere: <KUID:61109:10111> Midland Mainline new Coach B <KUID:61109:10110> Midland Mainline new Coach A <KUID:61109:10112> Midland Mainline new Coach C <KUID:61109:10113> Midland Mainline new Coach D <KUID:61109:10114> Midland Mainline new Coach E <KUID:61109:10116> Midland Mainline new Coach G <KUID:61109:10117> Midland Mainline new Coach H <KUID:61109:10115> Midland Mainline new Coach F <KUID:61109:10118> Midland Mainline new engine <KUID:61109:10101> Midland Mainline Coach B <KUID:61109:10100> Midland Mainline Coach A <KUID:61109:10102> Midland Mainline Coach C <KUID:61109:10103> Midland Mainline Coach D <KUID:61109:10104> Midland Mainline Coach E <KUID:61109:10105> Midland Mainline Coach F <KUID:61109:10106> Midland Mainline Coach G <KUID:61109:10107> Midland Mainline Coach H <KUID:61109:108> Midland Mainline Engine HS <KUID:61109:109> Midland Mainline Engine HST weathered

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

162

Jean-Luc Bernard: <KUID:64577:15010> SNCF wag GRANIT <KUID:64577:15005> SNCF wag tombSGW <KUID:64577:15104> SNCF wag AZUR <KUID:64577:63> SNCF Loc BB36000 <KUID:64577:93> SNCF Loc 231K Noire <KUID:64577:10205> SNCF Loc 38TENDER Noir

Josef Pav: <KUID:46162:180> DB 180 010-1

Paul Hobbs: <KUID:44090:15020> LNER A3 Flying Scotsman Tender <KUID:44090:15000> RCH 7 Plank Maltby <KUID:44090:15001> RCH 7 Plank KOBO <KUID:44090:15002> RCH 7 Plank Charringtons <KUID:44090:15003> RCH 7 Plank TWB <KUID:44090:15004> RCH 7 Plank JD Firmston <KUID:44090:15006> RCH 7 Plank Modern Transport <KUID:44090:15014> RCH 7 Plank G Bishop <KUID:44090:15013> RCH 7 Plank J Brennan <KUID:44090:15007> RCH 7 Plank A Lacey <KUID:44090:15008> RCH 8 Plank Denaby <KUID:44090:15009> RCH 8 Plank Bagley <KUID:44090:15010> RCH 8 Plank Coal Salt <KUID:44090:1015> Gresley A3 Flying Scotsman

Randall White: <KUID:58422:15131> CP gondola <KUID:58422:10109> Pullman 10s-1d-2c <KUID:58422:10107> Pullman 12s-1d-1smk <KUID:58422:10108> Pullman 14bed <KUID:58422:0010> Milwaukee EF1 <KUID:58422:0011> Milwaukee EF1C

Roger Crouch/Ibertrainz: <KUID:87589:00600> Renfe 303 350hp Hydraulic Shunter <KUID:58377:15420> Renfe Faoos TT1 <KUID:58377:15428> Renfe Faoos TT2 <KUID:58377:00600> Renfe 305 550hp Hydraulic Shunter <KUID:58377:15421> Renfe Tabbs TT3 <KUID:58377:15426> Renfe Taems <KUID:58377:15423> Renfe Uagps TT8 old <KUID:58377:15425> Renfe Zaes

Todd Hohlenkamp: <KUID:43955:10150> C-41 #1015 <KUID:43955:10151> C-41 #1015 Tender

Gertjan van Harskamp: <KUID:49267:40> SNCF BB67000

Mauro Maratta: <KUID:67873:15131> FS GbhsUsurato <KUID:67873:15211> FS Fg2 <KUID:67873:6367> FS E636 117 <KUID:67873:0940> FS Gr940 030 <KUID:67873:0941> FS Gr940 044

David Taylor: <KUID:30204:17> NSW SRA 442 Class Candy <KUID:30204:15> NSWGR 442 Class Tuscan

Rob Shaw: <KUID:523:540> SAR 520 ARHS <KUID:523:10077> SAR Centenary Car <KUID:523:5401> SAR 520 ARHS Tender <KUID:523:11100> MR Hiawatha Parlor <KUID:523:11440> MR Hiawatha Coach <KUID:523:11112> MR Hiawatha Diner <KUID:523:11156> MR Hiawatha Express-Tap <KUID:523:11454> MR Hiawatha Observation car

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

163

<KUID:523:11150> MR Hiawatha RPO Claes Wikdahl:

<KUID:523:10070> UP Big Boy <KUID:523:10114> UP Big Boy Tender

WÓZKI (BOGEYS) VERSION 1 <kuid:-1:100749> 1044_obb_bogey <kuid:-1:100750> 2100_bogey <kuid:-1:100073> 40ft_Boxcar_bogey <kuid:-1:100074> 50ft_Boxcar_bogey <kuid:-1:100075> 60ft_Boxcar_bogey <kuid:-1:100022> 6e1_bb_bogey <kuid:-1:100138> AlcoFA1_bogey <kuid:-1:101241> arl_bogey <kuid:-1:100139> atsf_car_bogey <kuid:-1:100005> bb_bogey <kuid:-1:101424> centenary_bogey <kuid:-1:100008> cflow_fert_bogey <kuid:-1:100866> class103_redbeige_bogey <kuid:-1:100078> Class37_bogey <kuid:-1:100033> Class43_bogey <kuid:-1:100028> class_55_bogey <kuid:-1:100047> Container_flat_bogey <kuid:-1:100041> cupola_caboose_bogey <kuid:-1:101252> DDm915_bogey <kuid:-1:100777> dl500_sar_bogey <kuid:-1:100811> dl500_tuscan_bogey <kuid:-1:101394> EF81_Red_bogey <kuid:-1:101392> EF81_Red_midbogey <kuid:-1:0> f7_bogey <kuid:-1:101219> foundry_car_bogey <kuid:-1:100080> GATX_pennsalt_bogey <kuid:-1:101291> guard_van_bogey <kuid:-1:100081> Hbbins881_freightcar_bogey <kuid:-1:101203> Hbbins941_freightcar_bogey <kuid:-1:100052> hst_mk3_bogey <kuid:-1:100063> interfrigo_van_bogey <kuid:-1:100071> lwagon_bogey <kuid:-1:100099> mk2_bogey <kuid:-1:100769> nlky_bogey <kuid:-1:100827> nod_bogey <kuid:-1:101043> obb_eurofima_bogey <kuid:-1:101215> Os_freightcar_bogey

<kuid:-1:100813> overland_bogey <kuid:-1:100065> pdhc_bogey <kuid:-1:100011> prr_fm_tuscan_bogey <kuid:-1:100082> c4_bogey <kuid:-1:100870> sd40_2_santafe_bogey <kuid:-1:101059> tipper_bogey <kuid:-1:100821> uc_silos_bogey <kuid:-1:100067> v200_bogey <kuid:-1:100006> vrs_bogey VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:2512:33371> class37_bogey <kuid:-10:149> invisible_bogey <kuid:-12:153> QR_car_bogey <kuid:-12:3535> sd40_2_santafe_dk_bogey <kuid:-12:2536> tuscan_bogey VERSION 1.5 - ULTIMATE TRAINZ COLLECTION <kuid:-1:100076> Class218_Bogey <kuid:-1:100077> Class34-200Red_bogey <kuid:-1:100691> dl531_SAR_bogey <kuid:-1:100724> dl531_tuscan_bogey <kuid:-1:100839> gg1_bogey <kuid:-1:100840> gg1_bogey_big <kuid:-1:100009> gm_bogey <kuid:-1:100141> gp38_2_dark_bogey <kuid:-1:100142> gp38_2_light_bogey <kuid:-1:101414> invis_bogey <kuid:-1:101418> TGV_end_unit_bogey <kuid:-1:101410> TGV_SE_loco_bogey <kuid:-1:101415> TGV_unit_bogey WÓZKI TRS 2004 AURANU <KUID:44179:50002> PB_15_bogey0 <KUID:44179:50003> PB_15_bogey2 <KUID:-3:10030> PB15_tender_bogey <KUID:-3:10061> mk1_bogey <KUID:-3:10064> woodchip_gondola_bogey <KUID:-1:100050> dd40ax_bogey <KUID:-3:10100> hondekop_eng_bog0 <KUID:-3:10101> hondekop_eng_bog2

WÓZKI TRS 2004 INNYCH TWÓRCÓW (TRS 2004 THIRD PARTY BOGEYS) Fredrik Skog:

<KUID:30387:50030> Y1 Bogey Jean-Luc Bernard:

<KUID:64577:50003> fr1grey bogey <KUID:64577:50004> y25 bogey <KUID:64577:50005> diamondb bogey <KUID:64577:50036> 231KS bogey <KUID:64577:50037> 231KcS bogey <KUID:64577:50051> inv bogey <KUID:64577:50052> BB36 bogey <KUID:64577:50060> Nord231aS bogey <KUID:64577:50063> 038S bogey

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

164

Josef Pav: <KUID:46162:50000> SKODA bogey

Paul Hobbs: <KUID:44090:50018> Gresley Corridor Tender LNER bogey <KUID:44090:50802> RCH 9’ bogey clean <KUID:44090:50016> Gresley A3 44090 50016 front bogey <KUID:44090:50015> Gresley A3 44090 50015 main bogey <KUID:44090:50800> RCH 9’ 16’6 hi poly bogey <KUID:44090:50017> Gresley A3 44090 50017 rear bogey

Randall White: <KUID:58422:50118> RB36 <KUID:58422:50114> 6wheel <KUID:58422:50115> EF1 0 <KUID:58422:50116> EF1 1 <KUID:58422:50117> EF1 2

Roger Crouch/Ibertrainz: <KUID:87589:50060> “Renfe 303 animated drivewheels and pushrods” <KUID:87589:50001> Renfe 303 animated bogey <KUID:58377:50666> indigonull <KUID:58377:50060> “Renfe 305 animated drivewheels and pushrods” <KUID:58377:50062> “Renfe Tabbs animated”

Todd Hohlenkamp: <KUID:43955:50049> C-41 Pilot <KUID:43955:50048> C-41 Driver <KUID:43955:50050> C-41 Tender Truck <KUID:43955:50017> Dummy Truck

Gertjan van Harskamp: <KUID:49267:50019> BB67000 Bogey <KUID:67873:50999> E bogey <KUID:67873:50943> gr940 bogey3 <KUID:67873:50001> e636 bogey c <KUID:67873:50941> gr940 bogey1 <KUID:67873:50942> gr940 bogey2 <KUID:67873:50000> E636 carrello

David Taylor: <KUID:30204:50007> nswgr 442 bogie

Rob Shaw:

<KUID:523:50544> 520 ARHS pony truck <KUID:523:50541> 520 ARHS drivers <KUID:523:50545> 523 TRS tender truck <KUID:523:50546> 523 TRS trailing truck <KUID:523:50920> centenary bogie TRS <KUID:523:50609> Hiawatha car truck <KUID:523:108291> guard van bogey 2

Claes Wikdahl: <KUID:523:10071> UP Bigboy bogey0 <KUID:523:10072> UP Bigboy bogey <KUID:523:10115> UP Bigboy tender bogey0 <KUID:523:10116> UP Bigboy tender bogey2

Allan Rees: <KUID:4468:50062> A4 LNER Red Bogey4 <KUID:4468:50064> A4 LNER Red Bogey2 <KUID:4468:50063> A4 LNER Red Bogey6 <KUID:4468:50065> A4 LNER Red Corridor Tender Bogey

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

165

PANTOGRAFY (PANTOGRAPHS) PANTOGRAFY AURANU <kuid:-1:101255> 1044_panto <kuid:-1:110002> 6e1_bb_pantograph <kuid:-1:100860> bb_pantograph <kuid:-1:101395> EF81_Red_pantograph <kuid:-1:101177> Rc4_pantograph <kuid:-1:100838> gg1_pantograph <kuid:-1:101411> TGV_pantograph <KUID:-3:10103> Mat54_4hondekop_pantograph PANTOGRAFY TRS 2004 INNYCH TWÓRCÓW Jean-Luc Bernard: <KUID:64577:57006> Astri pantograph Mauro Maratta: <KUID:67873:57020> Tipo 52 FS52 pantograph

DŹWIĘKI SYRENY (HORNSOUND)

HORNSOUND AURANU <KUID:-1:42003103> ALCo <KUID:-1:42003102> br <KUID:-1:42003101> default <KUID:-1:42003101> redhen <KUID:523:100433> pb15 <KUID:-3:10066> UP BigBoy <KUID:-3:10151> Airhorn 1 <KUID:523:54610> BigBoy <KUID:-12:37> br2 <KUID:-12:38> br3 HORNSOUND TRS 2004 INNYCH TWÓRCÓW Chris Cordes: <KUID:67598:54003> HornSoundToyTrain Greg Deryckere: <KUID:61109:54009> class 43 Hornsound 1 <KUID:61109:54010> class 43 Hornsound 2 Jean-Luc Bernard: <KUID:64577:54501> vapeur <KUID:64577:54504> deuxtonslg Todd Hohlenkamp: <KUID:43955:54003> K-27 Whistle Mauro Maratta: <KUID:67873:54001> fischio

DŹWIĘKI SILNIKA (ENGINESOUND) ENGINESOUND AURANU <KUID:-1:42003001> alco <KUID:-1:42003002> electric <KUID:-1:42003000> emD <KUID:523:100432> redhen <KUID:-3:10105> PB 15 (Steam) <kuid:-12:2100> QR2100

ENGINESOUNDS TRS 2004 INNYCH TWÓRCÓW Chris Cordes: <KUID:67598:53003> EngineSoundToyTrain Jean-Luc Bernard: <KUID:64577:50070> Pacific sound Todd Hohlenkamp: <KUID:43955:53003> K-27 Steam <KUID:43955:53004> C-41 Steam Mauro Maratta: <KUID:67873:53001> FS Gr Steam

WNĘTRZA (INTERIORS) WNĘTRZA AURANU <KUID:-1:100554> bb15000 <KUID:-1:100382> class37_int_cab <KUID:-1:101168> class43_interior <KUID:-1:100186> f7interior <KUID:-1:101211> f7interior_kph_lhd <KUID:-1:101212> f7interior_mph_lhd <KUID:-1:101202> f7interior_mph_rhd <KUID:-10:172> Gen1960_op1 <KUID:-10:167> gen_1044 <KUID:-10:168> Gen_6e1 <KUID:-10:169> Gen_deltic <KUID:-1:101472> Gen_DL500 <KUID:-10:170> Gen_DL500_mph_rhd <KUID:-10:173> Gen_RC4 <KUID:-1:101475> Gen_sd <KUID:-10:166> v200 <KUID:-10:221> Gen_218 <KUID:-1:101473> Gen_dl <KUID:-1:101474> gen_gg <KUID:-10:216> gen_tgv <KUID:-18:1101> sw <KUID:-3:10191> PB_interior <KUID:523:55901> Bigsteam_Interior (Big Boy) <KUID:-3:10085> DD40 Interior <KUID:-3:10162> Gen_renfe_305TRAINZ WNĘTRZA TRS 2004 INNYCH TWÓRCÓW Chris Cordes: <KUID:67598:55000> Wd_interior Mauro Maratta: <KUID:67873:55940> 940_interior Rob Shaw: <KUID:523:55540> 520_TRS_interior <KUID:523:55005> centenary_interior_TRS <KUID:-3:10183> mallard_interior <KUID:-3:10184> flying_scotsman_interior Jean-Luc_Bernard: <KUID:64577:55000> BB 68000 Josef Pav: <KUID:46162:55180> DB_180

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

166

SILNIKI (ENGINESPEC) ENGINESPEC AURANU <KUID:-1:42004211> 44 <KUID:-1:42004212> 6E1 <KUID:-12:51002> 218 <KUID:-1:42004210> 340 <KUID:-1:42004213> 930 <KUID:67873:51940> 940 <KUID:-1:42004207> 1044 <KUID:-1:42004208> 1600 <KUID:-1:42004209> 2100 <KUID:64577:51003> 231K <KUID:523:51070> 520_engine <KUID:44090:51024> A3 <KUID:523:51468> A4 <KUID:-1:42004205> BB 15000 <KUID:523:51469> BigBoy <KUID:43955:51009> C-41_engine <KUID:-1:42004204> Class 37 <KUID:-1:42004206> Class 43 <KUID:-1:42004228> DD40X <KUID:-1:42004203> default_loco <KUID:-1:42004201> default_wagon <KUID:-1:42004215> Deltic <KUID:-1:42004224> dl531 <KUID:2512:337> EE Type 3 <KUID:-1:42004202> F7 <KUID:-1:42004250> F7_hotrod <KUID:-1:42004216> FA1 <KUID:-1:42004217> FA2 <KUID:-1:42004218> FPA4 <KUID:-12:51039> GG1 <KUID:-1:42004219> GM <KUID:-1:42004231> GP38_2 <KUID:-3:10108> Hondekop <KUID:44179:51002> PB15 <KUID:-1:42004220> RC4 <KUID:523:402> RedHen <KUID:-1:42004221> SD40 2 <KUID:-1:42004229> TGV <KUID:-1:42004222> V200 ENGINESPEC TRS 2004 INNYCH TWÓRCÓW Chris Cordes: <KUID:67598:51003> EnginesToyTrain Fredrik Skog: <KUID:30387:51006> Y1a <KUID:30387:51008> Y1c Josef Pav: <KUID:46162:51180> DB 180 Randall White: <KUID:58422:51200> EF1 <KUID:58422:51201> EF1C Roger Crouch/Ibertrainz: <KUID:87589:51303> Renfe 303 <KUID:58377:51305> Renfe 305 Gertjan van Harskamp: <KUID:49267:51010> BB 67000

Mauro_Maratta: <KUID:67873:51000> E636 David Taylor: <KUID:30204:51000> NSWGR_442

SIATKI 3D (MESH) MESH AURANU <KUID:-3:10099> Fixedtrack-preview <KUID:-3:10154> Fixedtrack-preview-Str <KUID:-3:10051> Tanker loader <KUID:-3:10054> Tender Loader <KUID:-3:10121> Airport_Preview <KUID:-3:10125> Seaport_Preview <KUID:-3:10146> Airport_Preview_basic <KUID:-3:10128> DriverAlastair <KUID:-3:10130> DriverDave <KUID:-3:10134> DriverPhilippe <KUID:-3:10048> DriverSean <KUID:-3:10132> DriverGraham <KUID:-3:10046> DriverKenny <KUID:-3:10047> DriverGeoff <KUID:-3:10228> DriverAndrew <KUID:-3:10220> DriverDamon <KUID:-3:10222> DriverDavid <KUID:-3:10224> DriverEric <KUID:-3:10226> DriverGreg <KUID:-3:10230> DriverThomas <KUID:-3:10234> DriverVaughan

SCENERIA (SCENERY) VERSION 1 Austraila <kuid:-1:100263> Building_Corner_Shop <kuid:-1:100468> Misc_Hills_Hoist <kuid:-1:100251> Animal_Horse <kuid:-1:100252> Animal_Horse2 <kuid:-1:100253> Animal_Horse3 <kuid:-1:100256> Building_Tilnowle_Pub <kuid:-1:100257> House_1 <kuid:-1:100202> House_1a <kuid:-1:100258> House_2 <kuid:-1:100259> House_2b <kuid:-1:100203> House_2a <kuid:-1:100260> House_3 <kuid:-1:100204> House_3a <kuid:-1:100261> House_Hiset_1 <kuid:-1:100205> House_Hiset_2 <kuid:-1:100206> House_Hiset_2a <kuid:-1:100213> House_Hiset_2b <kuid:-1:100323> House_Hiset_1a <kuid:-1:100823> Tside_2t_Level_Crossing <kuid:-1:100824> Tside_1t_Level_Crossing <kuid:-1:100254> Building_Cane_Mill <kuid:-1:100551> People_Crowd <kuid:-1:100540> People_Group <kuid:-1:100541> People_Group2 <kuid:-1:100542> People_Lineup

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

167

<kuid:-1:100543> People_Lineup2 <kuid:-1:100544> People_person1 <kuid:-1:100545> People_person2 <kuid:-1:100546> People_person3 <kuid:-1:100547> People_person4 <kuid:-1:100548> People_person5 <kuid:-1:100549> People_person6 <kuid:-1:100550> People_person7 <kuid:-1:100255> Building_School_Hall <kuid:-1:100262> Building_Shearing_Shed <kuid:-1:100274> Animal_Sheep_Flock <kuid:-1:100276> Tree_Large_shrub <kuid:-1:101434> Sign_Station <kuid:-1:100264> Tside_Signal_Box1 <kuid:-1:100265> Tside_Signal_Box2 <kuid:-1:100266> Tside_Signal_Box3 <kuid:-1:100267> Tside_Signal_Box4 <kuid:-1:100419> Sign_Road_Giveway <kuid:-1:101435> Sign_Tall <kuid:-1:100001> Building_Grain_Silos <kuid:-1:100268> Building_Small_Shops <kuid:-1:100269> Tside_Small_Station <kuid:-1:100384> Tside_Station <kuid:-1:100270> House_Thunderbox_1 <kuid:-1:100271> House_Thunderbox_1b <kuid:-1:100272> House_Thunderbox_2 <kuid:-1:100273> House_Thunderbox_2b <kuid:-1:100388> Vehicle_Tracktor_Blue <kuid:-1:100389> Vehicle_Tracktor_R <kuid:-1:100390> Vehicle_Tracktor <kuid:-1:100218> Sign_Road_Lights_1 <kuid:-1:100219> Sign_Road_Lights_2 <kuid:-1:100391> Tree_Bunya_Group <kuid:-1:100275> Tree_Gum_Group <kuid:-1:100461> Tree_Gum_Group_2 <kuid:-1:100277> Tree_Bunya_Pine <kuid:-1:100278> Tree_Bunya_Pine_2 <kuid:-1:100279> Tree_Bunya_Pine_3 <kuid:-1:100280> Tree_Flame <kuid:-1:100281> Tree_Flame_l <kuid:-1:100282> Tree_Gum_1 <kuid:-1:100283> Tree_Gum_2 <kuid:-1:100407> Tree_Gum_3 <kuid:-1:100408> Tree_Gum_4 <kuid:-1:100392> Tree_Palm_1a <kuid:-1:100393> Tree_Palm_1b <kuid:-1:100394> Tree_Palm_2 <kuid:-1:100284> Tree_Small <kuid:-1:100285> Tree_Stickish <kuid:-1:100286> Tree_Stickish_Group <kuid:-1:100287> Tree_Umbrella <kuid:-1:100385> Tside_Turntable <kuid:-1:100506> Tside_Turntable_2 <kuid:-1:100288> Tside_2t_Walkover <kuid:-1:100415> Building_watertank <kuid:-1:100289> Building_Wharf <kuid:-1:100290> Building_Wharf_Shed <kuid:-1:110018> Tside_Sign_Wistle <kuid:-1:100386> Misc_Windmill <kuid:-1:100387> Building_Workshed Wielka Brytania <kuid:-1:521> Building_Brick_Shed

<kuid:-1:568> House_Brick_Unit <kuid:-1:1012> Building_Factory <kuid:-1:524> Tside_Junction_Building <kuid:-1:525> Tside_Junction_Building2 <kuid:-1:1021> Building_Silo <kuid:-1:1008> Building_Tankshed <kuid:-1:520> Building_Church <kuid:-1:573> House_Cottage <kuid:-1:587> Flower_Yellow2 <kuid:-1:591> Flower_Lavender <kuid:-1:588> Flower_Yellow <kuid:-1:589> Flower_Yellow_Spots <kuid:-1:590> Flowers_Lavender2 <kuid:-1:6> Tree_Forrest9 <kuid:-1:16> Tree_Forrest_VWF <kuid:-1:526> Building_Church_Headstones <kuid:-1:31> Vehicle_Hilux_Red <kuid:-1:32> Vehicle_Hilux_Blue <kuid:-1:33> Vehicle_Hilux_Grey <kuid:-1:570> House_Brick_Red <kuid:-1:571> House_Small <kuid:-1:572> House_Stone <kuid:-1:569> House_Brick_White <kuid:-1:34> Vehicle_Jag_Green <kuid:-1:35> Vehicle_Jag_Black <kuid:-1:36> Vehicle_Jag_Red <kuid:-1:37> Vehicle_Jetta_Blue <kuid:-1:38> Vehicle_Jetta_Green <kuid:-1:1009> Misc_Jetty <kuid:-1:3577> Tside_Crossing2 <kuid:-1:100735> Tside_Crossing1 <kuid:-1:1022> Building_PowerTower <kuid:-1:574> Tside_Relaybox <kuid:-1:594> Building_Shed <kuid:-1:101438> Tside_Sign_Station <kuid:-1:101439> Tside_Sign_Station_Tall <kuid:-1:586> Tside_Station <kuid:-1:100220> Misc_Traffic_Light1 <kuid:-1:100221> Misc_Traffic_Light2 <kuid:-1:564> Tree_VNS <kuid:-1:565> Tree_VWF <kuid:-1:527> Tree4 <kuid:-1:528> Tree9 <kuid:-1:529> Tree9_Large <kuid:-1:593> Tree9_Side <kuid:-1:560> Tree26 <kuid:-1:561> Tree28 <kuid:-1:562> Tree52 <kuid:-1:563> Tree52M <kuid:-1:27> Tree_Group1 <kuid:-1:1015> Tree_Group2 <kuid:-1:1016> Tree_Group3 <kuid:-1:566> Tree10 <kuid:-1:30> Vehicle_Van_White <kuid:-1:28> Vehicle_Van_ATeam <kuid:-1:567> Tside_Walkover <kuid:-1:581> Wall_Rock <kuid:-1:582> Wall_Stone <kuid:-1:41> Vehicle_X4_Brown <kuid:-1:42> Vehicle_X4_Grey <kuid:-1:530> Tree_Forest_X9 <kuid:-1:5> Tree_Forest_XVNS <kuid:-1:577> Tside_Sign_Xing

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

168

USA <kuid:-1:100599> Vehicle_4x4_Green <kuid:-1:100558> Vehicle_4x4_Police <kuid:-1:100600> Vehicle_4x4_Red <kuid:-1:100559> Building_Bakery <kuid:-1:100585> Building_Shed_Big <kuid:-1:100635> Building_Blast_Furnace <kuid:-1:100638> Vehicle_Bug <kuid:-1:100915> Tree_Cactus_1 <kuid:-1:100932> Tree_Cactus_1b <kuid:-1:100916> Tree_Cactus_2 <kuid:-1:100917> Tree_Cactus_3 <kuid:-1:100918> Tree_Cactus_4 <kuid:-1:100496> Building_Cafe <kuid:-1:100872> Building_Coke_Oven <kuid:-1:100431> Sign_East_West <kuid:-1:100561> Building_Factory <kuid:-1:100622> Vehicle_Falcon <kuid:-1:100432> Building_Freight_Depot <kuid:-1:100592> Building_Gas_Station <kuid:-1:100533> Building_Grain_Elevator <kuid:-1:100562> Vehicle_Hilux_Grey <kuid:-1:100497> House_1 <kuid:-1:100498> House_2 <kuid:-1:100499> House_3 <kuid:-1:100500> House_4 <kuid:-1:100501> House_5 <kuid:-1:100507> House_6 <kuid:-1:100508> House_7 <kuid:-1:100509> House_8 <kuid:-1:100510> House_9 <kuid:-1:100563> Animal_Horse_1 <kuid:-1:100564> Animal_Horse_2 <kuid:-1:100601> Animal_Horse_3 <kuid:-1:100565> House_10 <kuid:-1:100566> House_11a <kuid:-1:100602> Building_Interlocking_Tower <kuid:-1:100593> Vehicle_Jag_Red <kuid:-1:100567> Vehicle_Jetta_Blue <kuid:-1:100958> Shrub_Lichen_1 <kuid:-1:100959> Shrub_Lichen_2 <kuid:-1:100960> Shrub_Lichen_3 <kuid:-1:100961> Shrub_Lichen_4 <kuid:-1:100594> House_Log_Cabin <kuid:-1:100502> Station_Metro <kuid:-1:100503> Station_Metro_Single <kuid:-1:100433> Building_Mining_Co <kuid:-1:100504> Building_Motel <kuid:-1:100560> Building_Music_Shop <kuid:-1:100526> Vehicle_Mustang_Blue <kuid:-1:100623> Vehicle_Mustang_Blue_FB <kuid:-1:100624> Vehicle_Mustang_Yellow_FB <kuid:-1:100527> Vehicle_Mustang_Red <kuid:-1:100742> Building_Open_Hearth <kuid:-1:100639> People_Crowd <kuid:-1:100640> People_Group_1 <kuid:-1:100641> People_Group_2 <kuid:-1:100642> People_Lineup_1 <kuid:-1:100643> People_Lineup_2 <kuid:-1:100644> People_1 <kuid:-1:100645> People_2 <kuid:-1:100646> People_3 <kuid:-1:100647> People_4 <kuid:-1:100648> People_5

<kuid:-1:100649> People_6 <kuid:-1:100650> People_7 <kuid:-1:100655> People_Pink <kuid:-1:100656> People_Suit_1 <kuid:-1:100657> People_Suit_2 <kuid:-1:100658> People_White <kuid:-1:100570> Tree_Pine_High <kuid:-1:100935> People_Platform_Group_1 <kuid:-1:100936> People_Platform_Group_2 <kuid:-1:100942> People_Platform_Group_3 <kuid:-1:101257> People_Platform_Group_4 <kuid:-1:100924> People_Platform_1 <kuid:-1:100943> People_Platform_10 <kuid:-1:100948> People_Platform_11 <kuid:-1:100949> People_Platform_12 <kuid:-1:100950> People_Platform_13 <kuid:-1:100925> People_Platform_2 <kuid:-1:100926> People_Platform_3 <kuid:-1:100937> People_Platform_4 <kuid:-1:100938> People_Platform_5 <kuid:-1:100939> People_Platform_6 <kuid:-1:100940> People_Platform_7 <kuid:-1:100941> People_Platform_8 <kuid:-1:100944> People_Platform_9 <kuid:-1:100636> Building_Rolling_Mill <kuid:-1:100434> Sign_Route_66 <kuid:-1:100435> Sign_RX <kuid:-1:100596> Building_School <kuid:-1:100625> Vehicle_Semi_Grey <kuid:-1:100626> Vehicle_Semi_Red <kuid:-1:100962> Shrub_Group_1 <kuid:-1:100963> Shrub_Group_2 <kuid:-1:100919> Shrub_1 <kuid:-1:100920> Shrub_2 <kuid:-1:100930> Shrub_3 <kuid:-1:100931> Shrub_4 <kuid:-1:101440> Sign_Station <kuid:-1:101441> Sign_Station_Tall <kuid:-1:100873> Building_Sintering_Plant <kuid:-1:100436> Building_Stone_1 <kuid:-1:100437> Building_Stone_2 <kuid:-1:100438> Building_Stone_3 <kuid:-1:100439> Building_Stone_4 <kuid:-1:100440> Building_Stone_5 <kuid:-1:100441> Building_Stone_6 <kuid:-1:100733> Building_Stone_7 <kuid:-1:100663> Misc_Street_Lamp <kuid:-1:100571> Building_Supermarket <kuid:-1:100595> Building_Surveyor <kuid:-1:100442> Building_Terminus <kuid:-1:100443> Building_Tower_1 <kuid:-1:100444> Building_Tower_2 <kuid:-1:100445> Building_Tower_3 <kuid:-1:100446> Building_Tower_4 <kuid:-1:100572> Building_Toy_Shop <kuid:-1:100573> Vehicle_Tractor <kuid:-1:100665> Misc_Traffic_Lights_USA_1 <kuid:-1:100666> Misc_Traffic_Lights_USA_2 <kuid:-1:100667> Misc_Traffic_Lights_USA_3 <kuid:-1:100574> Tree_Pine_Group <kuid:-1:100802> Tree_Autumn_9 <kuid:-1:100505> Tree_1 <kuid:-1:100803> Tree_Autumn_1 <kuid:-1:100740> Tree_2

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

169

<kuid:-1:100575> Tree_26 <kuid:-1:100804> Tree_Autumn_2 <kuid:-1:100844> Tree_3 <kuid:-1:100805> Tree_Autumn_3 <kuid:-1:100845> Tree_5 <kuid:-1:100576> Tree_52 <kuid:-1:100806> Tree_Autumn_5 <kuid:-1:100603> Tree_Group_1 <kuid:-1:100807> Tree_Autumn_Group_1 <kuid:-1:100604> Tree_Group_2 <kuid:-1:100808> Tree_Autumn_Group_2 <kuid:-1:100577> Tree_Group_3 <kuid:-1:100578> Tree_Gum_Group_1 <kuid:-1:100605> Tree_Gum_Group_2 <kuid:-1:100606> Tree_Gum_1 <kuid:-1:100581> Tree_Gum_2 <kuid:-1:100582> Tree_Gum_4 <kuid:-1:100583> Tree_Palm_1a <kuid:-1:100607> Tree_Palm_1b <kuid:-1:100579> Tree_Pine_1 <kuid:-1:100580> Tree_Pine_2 <kuid:-1:100568> Tside_Turntable <kuid:-1:100809> Building_USA_Brick_1 <kuid:-1:100875> Building_USA_Brick_2 <kuid:-1:100951> Building_USA_Brick_3 <kuid:-1:101156> Building_USA_Brick_4 <kuid:-1:101135> Building_USA_Brick_5 <kuid:-1:101137> Building_USA_Brick_6 <kuid:-1:100863> Building_USA_Radio_Antenna <kuid:-1:100651> Building_USA_Silo_Complex <kuid:-1:100688> Station_USA_1 <kuid:-1:100689> Station_USA_1_Platform <kuid:-1:100921> Tree_USA_1 <kuid:-1:100922> Tree_USA_2 <kuid:-1:100584> Tside_Walkover <kuid:-1:100151> Wall_1 <kuid:-1:100569> Building_WaterTank <kuid:-1:100512> Sign_Whistle <kuid:-1:100964> Sign_Xing_Rural <kuid:-1:100448> Sign_Xing_USA <kuid:-1:101265> Sign_Xing_USA_1 <kuid:-1:101266> Sign_Xing_USA_Boom <kuid:-1:100637> Building_Yard_Office VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:9:24006> 10m_concrete_hid <kuid:-12:162> Sign_Curve_20_R <kuid:-12:404> Sign_Curve_20_L <kuid:-12:490> Sign_Curve_60_R <kuid:-12:403> Sign_Curve_60_L <kuid:9:24010> 6m_concrete_twin45_hps <kuid:9:24009> 6m_concrete_twin_hid <kuid:44482:26008> Misc_Bench_Platform <kuid:44482:26009> Misc_Bench <kuid:-10:156> Animal_Buffalo_1 <kuid:-10:157> Animal_Buffalo_2 <kuid:-10:158> Animal_Buffalo_3 <kuid:-10:159> Animal_Buffalo_Herd <kuid:-10:160> Animal_Buffalo_Herd_L <kuid:1942:26014> Building_Bank_Co-Op <kuid:44797:28013> Ind_Coal_Dock <kuid:44797:28014> Ind_Coal_Dock_Powerhouse

<kuid:1942:25006> House_Cottage <kuid:55712:26001> Building_Diner <kuid:3801:27000> dumper <kuid:47092:50221> Building_Warehouse_EDC <kuid:1942:28000> Building_Shed_Engine <kuid:1942:27004> Building_Factory_1 <kuid:1942:27005> Building_Factory_5_1942 <kuid:-10:154> People_Flagman_Green <kuid:-10:155> People_Flagman_Yellow <kuid:3801:20001> Bridge_Fort <kuid:44797:28002> Tside_Platform_Freight <kuid:1942:27006> Misc_Gasometer <kuid:55712:25001> House_1 <kuid:3801:80001> Animal_Kangaroo <kuid:44482:26010> Tside_Platform_Lamp <kuid:44482:26006> Building_Library <kuid:1942:34007> Misc_Memorial_1942 <kuid:26001:23030> Tside_MPM <kuid:26001:23031> Tside_MPW_Frac1 <kuid:26001:23032> Tside_MPW_Frac2 <kuid:26001:23033> Tside_MPW_Frac3 <kuid:44797:28001> Tside_Watertower_NYC <kuid:30204:23001> Sign_Station_Oz_1a <kuid:30204:23002> Sign_Station_Oz_1b <kuid:30204:23003> Sign_Station_Oz_2a <kuid:30204:23004> Sign_Station_Oz_2b <kuid:30204:23005> Sign_Station_Oz_3a <kuid:30204:23006> Sign_Station_Oz_3b <kuid:9:23007> Misc_Phone <kuid:2512:41> Station_SVR_Highley <kuid:1942:34006> Building_Police_Station <kuid:1942:34004> Misc_Postbox <kuid:1942:34003> Building_Post_Office <kuid:1942:26016> Building_Pub_Carvery <kuid:1942:26005> Building_Pub_White_Horse <kuid:-12:795> Building_QFS_Depot <kuid:46415:23510> Tside_Cable_Marker_QR <kuid:46415:28060> Tside_Cable_Pit_QR <kuid:46415:28070> Tside_JunctionBox_QR <kuid:46415:23530> Sign_QR_Keepout <kuid:46415:23520> Sign_QR_Ohead_Wires_1 <kuid:46415:23525> Sign_QR_Ohead_Wires_2 <kuid:46415:28000> Tside_Phonebox_QR <kuid:46415:28005> Tside_Phonebox_QR_Call <kuid:46415:28200> Tside_Relay_Hut_QR <kuid:46415:28050> Tside_TC_Box_1_QR <kuid:46415:28055> Tside_TC_Box_2_QR <kuid:-12:123453> Fence_4Platform_QR_2 <kuid:-12:123452> Fence_4Platform_QR <kuid:-12:405> Tside_Light_QR <kuid:-12:402> Tside_Name1_QR <kuid:-12:166> Tside_Overhead_QR <kuid:-12:791> Tside_Payphone_QR <kuid:-12:680> Tside_Rubbish_Bin_QR <kuid:-12:681> Tside_Seat_QR <kuid:-12:790> Tside_Phone_Security_QR <kuid:-12:123455> Tside_Shelter2_QR <kuid:-12:123454> Tside_Shelter_QR <kuid:-12:796> Station_QR2 <kuid:-12:679> Station_QR <kuid:-12:792> Tside_Ticketmachine_QR <kuid:3801:23037> Sign_RMines2 <kuid:44797:28011> Building_Sandhouse <kuid:-12:123456> Building_Servo

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

170

<kuid:-12:798> Building_Shed_Big <kuid:-12:799> Building_Shed_Goods <kuid:-12:800> Building_Shed_Tan <kuid:50435:26001> Building_Cafe_Shore <kuid:-12:163> Building_Shed_Small <kuid:44482:26005> Station_St_Anton <kuid:1942:28003> Station_1942_2 <kuid:1942:28007> Station_1942_3 <kuid:1942:28009> Station_1942_4 <kuid:-12:650> Station_1track <kuid:-12:323> Station_2track <kuid:-12:324> Station_3track <kuid:9:23001> Station_CP_Medium <kuid:9:23002> Station_CP_Medium_Lite <kuid:9:23003> Station_CP_Medium_Old <kuid:1942:28006> Station_Forecourt_2 <kuid:1942:28008> Station_Forecourt_3 <kuid:1942:25014> House_5 <kuid:1942:26006> Building_Shop <kuid:44797:28017> Tside_Switchtower_LPC <kuid:1942:34005> Misc_Phone_Box <kuid:-12:44444> Sign_Australia_Zoo <kuid:-10:150> People_Track_Gang <kuid:-12:3545> Tree_Gum <kuid:-12:314> Station_Union <kuid:-12:427> Misc_Water_Column <kuid:-12:498> Misc_Wooden_Crates <kuid:-12:499> Misc_Wooden_Crates_2 <kuid:-12:161> Building_Woombye <kuid:44482:26007> Misc_WTower_Euro <kuid:-12:164> Sign_Xing_Rural_Oz <kuid:3801:28000> Building_Shed_Yellow <kuid:44482:23084> trackside Gantry_3Line <kuid:44482:23085> trackside Gantry_4Line <kuid:44482:23086> trackside Gantry_5Line <kuid:44482:23087> trackside Gantry_6Line VERSION 1.5 - ULTIMATE TRAINZ COLLECTION Niemcy <kuid:-1:101191> House_Alps <kuid:-1:101192> House_Alps2 <kuid:-1:101333> Vehicle_Truck_1 <kuid:-1:101334> Vehicle_Truck_2 <kuid:-1:101319> Misc_Balloon <kuid:-1:101320> Misc_Balloon2 <kuid:-1:101084> Building_Barn <kuid:-1:101286> Misc_Bench <kuid:-1:100732> Building_Big <kuid:-1:100690> Building_Castle_big <kuid:-1:100738> House_Block1 <kuid:-1:100741> House_Block2 <kuid:-1:100743> House_Block3 <kuid:-1:101090> Vehicle_Mini <kuid:-1:101314> Vehicle_Mini_red <kuid:-1:101205> Vehicle_Saloon <kuid:-1:101315> Vehicle_Saloon_black <kuid:-1:101316> Vehicle_Saloon_purple <kuid:-1:101217> Vehicle_Starsky <kuid:-1:100672> Building_Castle <kuid:-1:101287> Building_Chicken_coop <kuid:-1:100668> Building_Church <kuid:-1:101300> Building_Church2

<kuid:-1:101198> Misc_Coaster <kuid:-1:101230> Misc_Coastercar_front <kuid:-1:101231> Misc_Coastercar_middle <kuid:-1:101061> Building_Pub_corner <kuid:-1:101150> Tside_Cover_station <kuid:-1:100869> Ind_Crane <kuid:-1:101085> Building_Dieseltanks <kuid:-1:101171> Tside_2t_Walkover <kuid:-1:101335> Misc_Duckshoot <kuid:-1:101181> Building_Factory <kuid:-1:101194> House_Farm1 <kuid:-1:101195> House_Farm2 <kuid:-1:100739> Building_Farmsilo <kuid:-1:101295> Vehicle_Farmtruck <kuid:-1:101049> Misc_Ferris_Wheel <kuid:-1:101331> Building_Fueltanks <kuid:-1:101223> Building_Gas_Station <kuid:-1:101088> Building_Gateway <kuid:-1:101089> Building_Haybarn <kuid:-1:101268> Animal_Horse <kuid:-1:101288> Animal_Horses <kuid:-1:101301> Building_Lookout <kuid:-1:101062> House_Log_Cabin <kuid:-1:101106> Building_Lumber_Mill <kuid:-1:101151> Tside_Station_med <kuid:-1:101250> Misc_Merrygoround <kuid:-1:101201> Building_Mill <kuid:-1:101172> Building_Mine <kuid:-1:101050> Tside_Overhead <kuid:-1:101226> People_1 <kuid:-1:101227> People_2 <kuid:-1:101262> People_3 <kuid:-1:101228> People_4 <kuid:-1:101318> People_Group <kuid:-1:101210> Animal_Pig <kuid:-1:101234> Animal_Piggies <kuid:-1:101235> Animal_Pigs <kuid:-1:101285> Tside_Platform_seat <kuid:-1:101018> People_Platform_group <kuid:-1:101099> Tside_Pointstation <kuid:-1:101100> Building_Railshed <kuid:-1:101144> Sign_Road1 <kuid:-1:101175> Sign_Road2 <kuid:-1:101188> Sign_Road3 <kuid:-1:101189> Sign_Road4 <kuid:-1:101190> Sign_Road5 <kuid:-1:101104> Sign_Road6 <kuid:-1:101232> Sign_Road7 <kuid:-1:101263> Sign_Road8 <kuid:-1:101302> Misc_Rock_Fall <kuid:-1:10132> Building_Round_tower <kuid:-1:101101> Building_Shop1 <kuid:-1:101187> Tree_Shrub1 <kuid:-1:101197> Tree_Shrub2 <kuid:-1:101112> Tree_Snow_Pine1 <kuid:-1:101113> Tree_Snow_Pine2 <kuid:-1:101114> Tree_Snow_Pine3 <kuid:-1:101102> Building_Stables <kuid:-1:101083> Tside_Station <kuid:-1:100843> Building_Tower_Tall <kuid:-1:101258> Building_Townhall <kuid:-1:100768> Building_Town_Clock <kuid:-1:101208> Vehicle_Tracktor1 <kuid:-1:101209> Vehicle_Tracktor2

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

171

<kuid:-1:101086> Tree_Fruit <kuid:-1:101087> Tree_Fruit_lo <kuid:-1:101073> Tree_Large_hi <kuid:-1:101074> Tree_Large_lo <kuid:-1:101075> Tree_Medium1_hi <kuid:-1:101076> Tree_Medium2_hi <kuid:-1:101077> Tree_Medium1_lo <kuid:-1:101078> Tree_Medium2_lo <kuid:-1:101091> Tree_Pine_low1_hi <kuid:-1:101092> Tree_Pine_low2_hi <kuid:-1:101093> Tree_Pine_low3_hi <kuid:-1:101094> Tree_Pine_low4_hi <kuid:-1:101095> Tree_Pine_low1_lo <kuid:-1:101096> Tree_Pine_low2_lo <kuid:-1:101097> Tree_Pine_low3_lo <kuid:-1:101098> Tree_Pine_low4_lo <kuid:-1:101108> Tree_Pine_tall1_hi <kuid:-1:101109> Tree_Pine_tall2_hi <kuid:-1:101110> Tree_Pine_tall1_lo <kuid:-1:101111> Tree_Pine_tall2_lo <kuid:-1:101079> Tree_Small_hi <kuid:-1:101080> Tree_Small_lo <kuid:-1:101081> Tree_Tall2_hi <kuid:-1:101082> Tree_Tall2_lo <kuid:-1:101239> Tside_Turntable <kuid:-1:101173> Tside_1t_Walkover <kuid:-1:101103> Building_Warehouse <kuid:-1:101259> Building_Warehouse2 <kuid:-1:100830> Building_Water_Tower <kuid:-1:101105> Building_Water_Wheel <kuid:-1:100659> Building_Windmill <kuid:-1:101186> Tside_crossing_Sign <kuid:-1:101336> People_Yeti Szwajcaria <kuid:-1:101349> Vehicle_4WD_1 <kuid:-1:101405> Vehicle_4WD_2 <kuid:-1:101406> Vehicle_4WD_3 <kuid:-1:100653> Alps_cabin1 <kuid:-1:100654> Alps_church1 <kuid:-1:100716> cabin <kuid:-1:101350> Vehicle_Car_1 <kuid:-1:101407> Vehicle_Car_2 <kuid:-1:101408> Vehicle_Car_3 <kuid:-1:101409> Vehicle_Car_4 <kuid:-1:101351> Tside_Crossing_Sign <kuid:-1:101388> Tside_Freight_Depot <kuid:-1:101384> Tside_Rural_Depot <kuid:-1:101390> Tside_Engine_Shed <kuid:-1:101347> Building_Swiss_Hotel <kuid:-1:101398> House_1 <kuid:-1:101399> House_2 <kuid:-1:101400> House_3 <kuid:-1:101401> House_4 <kuid:-1:101385> Building_Lumber_Yard <kuid:-1:101352> Sign_No_Entry <kuid:-1:101433> Tside_Relay_Box <kuid:-1:101404> Building_Shop <kuid:-1:101353> Vehicle_Ski_Doo <kuid:-1:101354> People_Skier_1 <kuid:-1:101355> People_Skier_2 <kuid:-1:101356> People_Skier_3 <kuid:-1:101357> People_Skier_4 <kuid:-1:101358> People_Snowboarder

<kuid:-1:100670> Tree_Snowpine_big2 <kuid:-1:100693> Tree_Snowpine_big2_l <kuid:-1:100694> Tree_Snowpine2 <kuid:-1:100695> Tree_Snowpine2_l <kuid:-1:100696> Tree_Snowpine2_sml <kuid:-1:100697> Tree_Snowpine2_sml_l <kuid:-1:100698> Tree_Snowpine3_big <kuid:-1:100699> Tree_Snowpine3_big_l <kuid:-1:100722> Tree_Snowpine3 <kuid:-1:100701> Tree_Snowpine3_l <kuid:-1:100702> Tree_Snowpine3_sml <kuid:-1:100703> Tree_Snowpine3_sml_l <kuid:-1:100704> Tree_Snowpine4_big <kuid:-1:100705> Tree_Snowpine4_big_l <kuid:-1:100706> Tree_Snowpine4 <kuid:-1:100707> Tree_Snowpine4_l <kuid:-1:100708> Tree_Snowpine4_sml <kuid:-1:100709> Tree_Snowpine4_sml_l <kuid:-1:100710> Tree_Snowpine5_big <kuid:-1:100711> Tree_Snowpine5_big_l <kuid:-1:100712> Tree_Snowpine5 <kuid:-1:100713> Tree_Snowpine5_l <kuid:-1:100714> Tree_Snowpine5_sml <kuid:-1:100715> Tree_Snowpine5_sml_l <kuid:-1:100717> Tree_Snowpine_big_l <kuid:-1:100718> Tree_Snowpine <kuid:-1:100719> Tree_Snowpine_l <kuid:-1:100720> Tree_Snowpine_sml <kuid:-1:100721> Tree_Snowpine_sml_l <kuid:-1:101344> Tside_Station_Metro <kuid:-1:101317> Tside_Station_Rural <kuid:-1:101362> Sign_Road_Stop <kuid:-1:101387> Building_Storage <kuid:-1:101363> People_Swiss_Skier_1 <kuid:-1:101364> People_Swiss_Skier_2 <kuid:-1:101365> People_Swiss_Skier_3 <kuid:-1:100726> House_Townhouse_1 <kuid:-1:100727> House_Townhouse_2 <kuid:-1:100728> House_Townhouse_3 <kuid:-1:101391> House_Townhouse_4 TRAINZ RAILROAD SIMULATOR 2004 SCENERIA AURANU <KUID:-3:10092> arrow <KUID:-3:10158> Fire_Stack <KUID:-3:5900> grass_grn <KUID:-3:590> grasses <KUID:44179:60018> Radio_tower <KUID:-3:589> shrub <KUID:-3:10161> Tank_Concrete_large <KUID:44179:60020> Tree Pine 1 Fast <KUID:44179:60023> Tree Pine 2 Fast <KUID:44179:60021> Tree Pine High Fast <KUID:44179:60019> Trig_Station

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

172

SCENERIA TRS 2004 INNYCH TWÓRCÓW Alan Thompson:

<KUID:67906:28051> Terminus Station <KUID:67906:31001> Airport Tractor <KUID:67906:31002> Airport Trailer

Brian Round: <KUID:66277:35001> businessman1 <KUID:66277:35002> businessman2 <KUID:66277:35003> businessman3 <KUID:66277:35004> businessman4 <KUID:66277:35005> businessman5 <KUID:66277:35006> businessman6 <KUID:66277:35007> businessman7 <KUID:66277:35008> businessman8 <KUID:66277:35009> businesswoman1 <KUID:66277:35010> businesswoman2 <KUID:66277:35011> businesswoman3 <KUID:66277:35012> businesswoman4 <KUID:66277:35013> businesswoman5 <KUID:66277:35014> businesswoman6 <KUID:66277:35015> businesswoman7 <KUID:66277:35016> businesswoman8 <KUID:66277:35017> casualman1 <KUID:66277:35018> casualman2 <KUID:66277:35019> casualman3 <KUID:66277:35020> casualman4 <KUID:66277:35021> casualman5 <KUID:66277:35022> casualman6 <KUID:66277:35023> casualman7 <KUID:66277:35024> casualman8 <KUID:66277:35025> casualwoman1 <KUID:66277:35026> casualwoman2 <KUID:66277:35027> casualwoman3 <KUID:66277:35028> casualwoman4 <KUID:66277:35029> casualwoman5 <KUID:66277:35030> casualwoman6 <KUID:66277:35031> casualwoman7 <KUID:66277:35032> casualwoman8 <KUID:66277:26001> Tugboat

Chris Cordes: <KUID:67598:112015> 2x2Block <KUID:67598:112016> 2x2BlockU <KUID:67598:29001> BlueCar <KUID:67598:36001> Brown Cow <KUID:67598:36002> Elephant <KUID:67598:36003> FuzzySheep <KUID:67598:36004> Giraffe <KUID:67598:29002> GreenCar <KUID:67598:100033> GreenPlatform <KUID:67598:38056> Oak Overpass <KUID:67598:38057> Oak Turnout Left <KUID:67598:38058> Oak Turnout Right <KUID:67598:38059> Pine Track Crossing <KUID:67598:38013> Pine OverPass <KUID:67598:38009> Pine Turnout Left <KUID:67598:38010> Pine Turnout Right <KUID:67598:100032> RedPlatform <KUID:67598:22016> Toy Tree 1 <KUID:67598:22017> Toy Tree 2 <KUID:67598:22018> Toy Tree 3

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

173

Christian Steurer: <KUID:38408:27001> Wharf Concrete <KUID:38408:27005> Oil Rig

Frederick Horne: <KUID:55712:25003> CO Frame House 1 <KUID:55712:25002> CO Frame House 2 <KUID:55712:25004> CO Frame House 3

Fredrik Skog: <KUID:30387:23080> Warning left 20 km/h <KUID:30387:23081> Warning left 30 km/h <KUID:30387:23082> Warning left 40 km/h <KUID:30387:23083> Warning left 50 km/h <KUID:30387:23084> Warning left 60 km/h <KUID:30387:23085> Warning left 70 km/h <KUID:30387:23086> Warning left 80 km/h <KUID:30387:23087> Warning left 90 km/h <KUID:30387:23088> Warning left 100 km/h <KUID:30387:23089> Warning left 120 km/h <KUID:30387:23090> Warning left 130 km/h <KUID:30387:23091> Warning left 160 km/h <KUID:30387:23094> Warning right 20 km/h <KUID:30387:23095> Warning right 30 km/h <KUID:30387:23096> Warning right 40 km/h <KUID:30387:23097> Warning right 50 km/h <KUID:30387:23098> Warning right 60 km/h <KUID:30387:23099> Warning right 70 km/h <KUID:30387:23100> Warning right 80 km/h <KUID:30387:23101> Warning right 90 km/h <KUID:30387:23102> Warning right 100 km/h <KUID:30387:23103> Warning right 120 km/h <KUID:30387:23104> Warning right 130 km/h <KUID:30387:23105> Warning right 160 km/h

Gary Parkin: <KUID:50435:39010> Airport Control Tower

Ian Manion: <KUID:60238:26143> Weimer’s Mill <KUID:60238:26144> Cargo Ship Arabesque <KUID:60238:26145> Rail Yard Floodight <KUID:60238:26146> Rail Yard Floodlight 2 <KUID:60238:26147> Rail Yard Floodlight 4 <KUID:60238:26149> Oil Tanker Global Challenger <KUID:60238:26150> Container Ship Global Explorer <KUID:60238:26151> Container Crane 1 <KUID:60238:26152> Container Crane 2 <KUID:60238:26153> Container Crane 3 static <KUID:60238:26154> Container Ship Global Freedom <KUID:60238:26155> Nav Buoy Lateral Green <KUID:60238:26156> Nav Buoy Lateral Red <KUID:60238:26157> Nav Buoy Cardinal North <KUID:60238:26158> Nav Buoy Cardinal South <KUID:60238:26159> Nav Buoy Cardinal East <KUID:60238:26160> Nav Buoy Cardinal West <KUID:60238:26161> Nav Buoy Isolated Danger <KUID:60238:26162> Nav Buoy Safe Water <KUID:60238:26163> Nav Buoy Special Mark <KUID:60238:26164> Container Forklift Crane <KUID:60238:27162> Container Straddle Crane YM <KUID:60238:27163> Pile Driver

John Camp: <KUID:63948:27000> Shed

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

174

Jorgen Brandsborg: <KUID:32105:28309> German signal box 2 <KUID:32105:28310> German signal box 3 <KUID:32105:38910> 12m Wagenwende (turntable) <KUID:32105:38911> 12m Wagenwende tief (turntable) <KUID:32105:28312> German signal box 5 <KUID:32105:28314> Sign 1

Lars Ljungberg: <KUID:30671:27901> Warehouse large

Mats Strid: <KUID:36713:40102> Light mod1 <KUID:36713:40103> Light mod2 <KUID:36713:40104> Light highway <KUID:36713:40100> Light old1 <KUID:36713:40101> Light old2 <KUID:36713:40105> Light parking <KUID:36713:23303> Balis x2 <KUID:36713:23304> Balis x3 <KUID:36713:23222> Wire warning wide <KUID:36713:23223> Wire warning narrow <KUID:36713:24502> L Cross <KUID:36713:24501> L Cross Advance <KUID:36713:24527> R Cross <KUID:36713:38859> Road w doublegates 1t Crossing <KUID:36713:38853> Road w gates 1t Crossing <KUID:36713:38857> Road w halfgates 1t Crossing <KUID:36713:38854> Road open 1t Crossing <KUID:36713:38855> Station 1t Crossing <KUID:36713:38860> Road w doublegates 2t Crossing <KUID:36713:38850> Road w gates 2t Crossing <KUID:36713:38858> Road w halfgates 2t Crossing <KUID:36713:38851> Road open 2t Crossing <KUID:36713:38852> Station 2t Crossing <KUID:36713:38856> Road rural 1t Crossing <KUID:36713:24526> R Cross Advance

Mauro Maratta: <KUID:57230:25020> House 1 <KUID:57230:25021> House 2 <KUID:57230:25050> Tower <KUID:69038:25315> Maso 01 <KUID:69038:25316> Hotel Miramonti <KUID:69038:25317> maso 03 <KUID:69038:25318> Maso 02 <KUID:69038:25321> Building Castle Rox <KUID:69038:27111> Play Gym1 <KUID:69038:27112> Play Gym2 <KUID:69038:27113> Play Gym3 <KUID:69038:27114> Play Gym4 <KUID:69038:27115> Swings <KUID:69038:27116> Rocking Chicken <KUID:69038:27117> Rocking Horse <KUID:69038:27118> MerryGoRound <KUID:69038:27250> Stazione Merano <KUID:75359:23002> Signal Frame Double 1 <KUID:75359:23003> Signal Frame Single 2 <KUID:75359:23004> Signal Frame Double 2 <KUID:75359:23005> Traliccio Semaforica 3 Binari <KUID:75359:23016> 100km Speed Sign <KUID:75359:23017> 115km Speed Sign <KUID:75359:23018> 120km Speed Sign <KUID:75359:23019> 80km Speed Sign <KUID:75359:23020> 70km Speed Sign <KUID:75359:23021> 40km Speed Sign

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

175

<KUID:75359:23022> 40km Speed Sign <KUID:75359:23023> 70km Speed Sign <KUID:75359:23024> 80km Speed Sign <KUID:75359:23025> 100km Speed Sign <KUID:75359:23026> 115km Speed Sign <KUID:75359:23027> 120km Speed Sign

Nathan Van Der Meulen: <KUID:61119:39000> Rural Fire Station <KUID:61119:39001> Rural Fire Station 2 <KUID:61119:23077> Catch Point <KUID:61119:23090> Temp Speed Caution 25 <KUID:61119:23088> Temp Speed Caution 40 <KUID:61119:23084> Temp Speed Caution 40-25 <KUID:61119:23087> Temp Speed Caution 50 <KUID:61119:23082> Temp Speed Caution 50-40 <KUID:61119:23080> Temp Speed Caution 60-40 <KUID:61119:23056> Dummy SignX20 <KUID:61119:23060> Dummy SignX20R <KUID:61119:23057> Dummy SignX25 <KUID:61119:23061> Dummy SignX25R <KUID:61119:23058> Dummy SignX40 <KUID:61119:23062> Dummy SignX40R <KUID:61119:23059> Dummy SignX50 <KUID:61119:23063> Dummy SignX50R <KUID:61119:23076> Limit of Shunt <KUID:61119:23119> Limit of ShuntR <KUID:61119:23068> Location <KUID:61119:28002> NSW Platform Chair <KUID:61119:28102> NSW Platform Chair (Lit) <KUID:61119:23065> Protected Crossing <KUID:61119:23066> Protected CrossingR <KUID:61119:27000> Shed1 <KUID:61119:27004> Shed1a <KUID:61119:27001> Shed2 <KUID:61119:27005> Shed2a <KUID:61119:27002> Shed3 <KUID:61119:955599> Sign2 <KUID:61119:23075> Stop <KUID:61119:23118> StopR <KUID:61119:23081> Temp Speed Clearance <KUID:61119:100990> Roadsign Unprotected Crossing <KUID:61119:230116> Temp Speed Warning 25 <KUID:61119:23117> Temp Speed Warning 40 <KUID:61119:23085> Temp Speed Warning 40-25 <KUID:61119:23086> Temp Speed Warning 50 <KUID:61119:23083> Temp Speed Warning 50-40 <KUID:61119:23079> Temp Speed Warning 60-40 <KUID:61119:23064> Whistle <KUID:61119:23067> WhistleR

Rob Shaw: <KUID:523:23260> roadsign hwy3 <KUID:523:23261> roadsign railx2 <KUID:523:23262> roadsign floodway <KUID:523:23263> roadsign railx <KUID:523:23264> roadsign winding <KUID:523:23266> roadsign kanga <KUID:523:23267> roadsign chevron2 <KUID:523:23268> roadsign chevron1 <KUID:523:23269> roadsign rx <KUID:523:23270> roadsign hwy2 <KUID:523:23271> roadsign town <KUID:523:23272> roadsign stripes <KUID:523:23273> roadsign hwy1

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

176

<KUID:523:23274> XING 1 US lights <KUID:523:23275> XING 2 US lights <KUID:523:23284> XING 4 US lights <KUID:523:23296> XING 1 lights <KUID:523:23300> XING 2 lights <KUID:523:23276> XING 1 US 315 boom <KUID:523:23277> XING 1 US 45 boom <KUID:523:23278> XING 2 US 315 boom <KUID:523:23279> XING 2 US 45 boom <KUID:523:23280> XING 2 US boom <KUID:523:23281> XING 4 US boom <KUID:523:23282> XING 1 US <KUID:523:23283> XING 1 US 315 <KUID:523:23287> XING 1 US 45 <KUID:523:23288> XING 2 US <KUID:523:23289> XING 2 US 315 <KUID:523:23290> XING 2 US 45 <KUID:523:23291> XING 4 US <KUID:523:23292> XING 1 US boom <KUID:523:23293> XING 1 315 boom <KUID:523:23294> XING 1 45 boom <KUID:523:23295> XING 1 boom <KUID:523:23297> XING 2 315 boom <KUID:523:23298> XING 2 45 boom <KUID:523:23299> XING 2 boom <KUID:523:23301> XING 4 boom <KUID:523:23303> XING 1 <KUID:523:23304> XING 1 315 <KUID:523:23305> XING 1 45 <KUID:523:23306> XING 2 <KUID:523:23307> XING 2 315 <KUID:523:23308> XING 2 45 <KUID:523:23309> XING 4 <KUID:523:23310> XING 1 315 boom blue <KUID:523:23311> XING 1 45 boom blue <KUID:523:23312> XING 1 boom blue <KUID:523:23330> XING 2 315 boom blue <KUID:523:23314> XING 2 boom blue <KUID:523:23315> XING 4 boom blue <KUID:523:23313> XING 2 45 boom blue <KUID:523:23302> XING 4 lights <KUID:523:23316> XING Chevrons

Terry Franks: <KUID:1942:28090> MS Bookstall (MS = Modular Station) <KUID:1942:28088> MS Boxes <KUID:1942:28064> MS Canopy <KUID:1942:28100> MS Canopy10 <KUID:1942:28113> MS Canopy11 <KUID:1942:28077> MS Canopy2 <KUID:1942:28080> MS Canopy3 <KUID:1942:28111> MS Canopy4 <KUID:1942:28078> MS Canopy5 <KUID:1942:28048> MS Canopy6 <KUID:1942:28049> MS Canopy7 <KUID:1942:28030> MS Canopy8 <KUID:1942:28031> MS Canopy8 Side <KUID:1942:28083> MS Canopy9 <KUID:1942:28098> MS Canopy9a <KUID:1942:28102> MS Fence Diag Slope <KUID:1942:28093> MS Fence Mesh Slope <KUID:1942:28115> MS Fence Slope <KUID:1942:28071> MS Fence3 Slope <KUID:1942:28143> MS Indicator

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

177

<KUID:1942:28121> MS Info Board <KUID:1942:28126> MS Info Board Small <KUID:1942:28065> MS Lamp <KUID:1942:28020> MS Lamp 2 <KUID:1942:28094> MS Lamp 3 <KUID:1942:28081> MS Lamp 4 <KUID:1942:28110> MS Lamp 4 Dbl <KUID:1942:28108> MS Lamp 5 <KUID:1942:28046> MS Left Luggage <KUID:1942:28118> MS Left Luggage Roofed <KUID:1942:26119> MS Milk Churn <KUID:1942:28145> MS Platform End <KUID:1942:28144> MS Platform End Double <KUID:1942:28146> MS Platform End Wide <KUID:1942:28070> MS RefreshmentRoom <KUID:1942:28120> MS RefreshmentRoom Roofed <KUID:1942:28066> MS Seat <KUID:1942:28141> MS Seat2 Blue <KUID:1942:28142> MS Seat2 Green <KUID:1942:28125> MS Seat2 Red <KUID:1942:28076> MS Shelter <KUID:1942:28097> MS Shelter 2 <KUID:1942:28099> MS Shelter 3 <KUID:1942:28124> MS Shelter 4 <KUID:1942:28123> MS Shelter 5 <KUID:1942:28087> MS Sign <KUID:1942:28021> MS Sign 2 <KUID:1942:28109> MS Sign 3 <KUID:1942:28095> MS Signalbox <KUID:1942:28130> MS Slope Double <KUID:1942:28073> MS Slope Left <KUID:1942:28139> MS Slope Left Wide <KUID:1942:28072> MS Slope Right <KUID:1942:28140> MS Slope Right Wide <KUID:1942:28089> MS WaitingRoom <KUID:1942:28114> MS WaitingRoom 2 <KUID:1942:28117> MS WaitingRoom Roofed <KUID:1942:28112> MS Walkover Concrete <KUID:1942:28107> MS Walkover Curved <KUID:1942:28105> MS Walkover Open <KUID:1942:28106> MS Walkover Semicovered <KUID:1942:28092> MS Wall C Slope <KUID:1942:28074> MS Wall Slope <KUID:1942:28151> Porter Trolley <KUID:1942:28152> Porter Trolley 2 <KUID:1942:28058> Porter Trolley 3 <KUID:1942:28023> Station Bldg 2 <KUID:1942:28075> Station Bldg 4 <KUID:1942:28079> Station Building Cheam <KUID:1942:28127> Station Building Moreton <KUID:1942:28091> Station Building Surbiton <KUID:1942:28096> Station Building West Bay <KUID:1942:28042> Station Building West Ewell <KUID:1942:27010> SubStation <KUID:1942:27011> SubStation Building <KUID:1942:23013> Substation Sign

Tomas Nordenadler: <KUID:41462:23115> Speedboard right 5km/h <KUID:41462:23070> Monitor Departure <KUID:41462:23071> Monitor Arrival <KUID:41462:23072> Monitor commuter train <KUID:41462:23073> Monitor information <KUID:41462:23074> Monitor commuter train2

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

178

<KUID:41462:23080> Information board large <KUID:41462:23081> Information board small <KUID:41462:23082> Station parking sign <KUID:41462:23083> Commuter train time board <KUID:41462:23084> Commuter train electronic sign <KUID:41462:23140> Supplemental sign ‘ATC restriction’ <KUID:41462:23141> Supplemental sign ‘ATC exceeding’ <KUID:41462:23144> Speedboard arrow up <KUID:41462:23145> Speedboard arrow down <KUID:41462:23150> Supplemental sign ‘ATC 80’ <KUID:41462:23151> Supplemental sign ‘ATC begins’ <KUID:41462:23152> Supplemental sign ‘ATC ends’ <KUID:41462:23153> Supplemental sign ‘No ATC’ <KUID:41462:23154> Supplemental sign ‘ATC presignalbalis’ <KUID:41462:23155> Supplemental sign ‘ATC repeaterbalis’ <KUID:41462:23156> Supplemental sign ‘A’ <KUID:41462:23157> Supplemental sign ‘V’ <KUID:41462:23161> Supplemental sign ‘Locks moving bridge’ <KUID:41462:23162> Supplemental sign ‘Locks switch’ <KUID:41462:23201> Busstop SL <KUID:41462:23202> Busstop sign SL road <KUID:41462:23204> Short trains <KUID:41462:23307> ATC balis sign <KUID:41462:23900> Arctic circle sign <KUID:41462:23903> ATC balis sign <KUID:41462:28000> Sandbox blue <KUID:41462:28002> Sandbox green <KUID:41462:39000> Mailbox old yellow <KUID:41462:39001> Mailbox old blue <KUID:41462:39002> Mailbox modern yellow <KUID:41462:39003> Mailbox modern blue <KUID:41462:39004> Mailbox modern large yellow <KUID:41462:23200> Busstop SL renameable <KUID:41462:23158> Supplemental sign ‘Distance’ <KUID:41462:23159> Supplemental sign ‘tplsign’ <KUID:41462:23160> Supplemental sign ‘Restriction’ <KUID:41462:39005> Mailbox modern large blue

PRZEMYSŁ (INDUSTRY) TRAINZ RAILROAD SIMULATOR 2004 PRZEMYSŁ AURANU <KUID:-3:10050> Coal Mine <KUID:-3:10137> Coal Mine Basic <KUID:-3:10086> Container Station <KUID:-3:10139> Container Station Basic <KUID:-3:10052> Forestry <KUID:-3:10140> Forestry Basic <KUID:316:27007> Hyde Pulp Mill <KUID:-3:10027> Lumber Mill <KUID:-3:10141> Lumber Mill Basic <KUID:-3:10123> Multiple Industry <KUID:-3:10165> Multiple Industry basic <KUID:-3:10055> Oil Field <KUID:-3:10142> Oil Field Basic <KUID:-3:10031> Oil Refinery <KUID:-3:10143> Oil Refinery Basic <KUID:-3:10026> Powerstation <KUID:-3:10144> Powerstation Basic <KUID:-3:10053> Steam Filling Station <KUID:-3:10192> Portal <KUID:-3:10238> Portal End <KUID:-3:10239> Portal Entry

<KUID:-19:10165> Multiple Industry New PRZEMYSŁ TRS 2004 INNYCH TWÓRCÓW Brian Round: <KUID:66277:10099> Power_Station_2 Ian Manion: <KUID:60238:26173> Coal Tipple TRS Lars Ljungberg: <KUID:30671:27900> Warehouse_small

STACJA PASA śERSKA (PASSENGER-STATION) TRAINZ RAILROAD SIMULATOR 2004 STACJE PASA śERSKIE AURANU <KUID:-3:10059> Seaport <KUID:-3:10145> Seaport Basic <KUID:-3:10147> Brick Station large <KUID:-3:10148> Brick Station medium <KUID:44179:60010> Passenger Station <KUID:-3:10075> Small Station

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

179

STACJE PASA śERSKIE TRS 2004 INNYCH TWÓRCÓW Terry Franks: <KUID:1942:28158> Station_Moreton_1 <KUID:1942:28160> Station_Charlbury_1 <KUID:1942:28138> MS_Passengers_20m <KUID:1942:28135> MS_Passengers_40m <KUID:1942:28134> MS_Passengers_90m Nathan Van Der Meulen: <KUID:61119:28100> Station_A4 <KUID:61119:28010> Station_A4_Without_Platform <KUID:61119:28112> Station_A6 <KUID:61119:28014> Station_A6_Without_Platform

TORY (TRACKS) VERSION 1 Australia <kuid:-1:100395> Track_1t_No_gravel <kuid:-1:100396> 1_track_dusty <kuid:-1:100736> 2_track_dusty <kuid:-1:100966> 4mstandard_solid <kuid:-1:100292> Bridge_1t_Brick <kuid:-1:101159> Bridge_2t_Brick <kuid:-1:100293> Bridge_1t_Kuranda <kuid:-1:101160> Bridge_1t_Kuranda <kuid:-1:100294> Bridge_1t_Log <kuid:-1:101161> Bridge_2t_Log <kuid:-1:100398> Tunnel_2track <kuid:-1:100399> Tunnel_1track <kuid:-1:101163> Bridge_1t_Concrete <kuid:-1:100295> Bridge_2t_Concrete <kuid:-1:100397> Bridge_1t_Steel <kuid:-1:101162> Bridge_2t_Steel Wielka Brytania <kuid:-1:15> 1_track_wood <kuid:-1:13228> 2_track_wood <kuid:-1:1013> Bridge_Brick_Steel_1t <kuid:-1:1023> Bridge_Brick_Steel_2t <kuid:-1:110000> Bridge_Stone_1t <kuid:-1:1028> Bridge_Stone_2t <kuid:-1:1014> Track_Rock_Wall_1t <kuid:-1:101165> Track_Rock_Wall_2t <kuid:-1:101166> Bridge_Stone_Pole_1t <kuid:-1:1024> Bridge_Stone_Pole_2t <kuid:-1:1029> Tunnel_Darkstone USA <kuid:-1:100608> 1_track_wood_US <kuid:-1:101038> 1_track_concrete <kuid:-1:100609> Track_No_Gravel <kuid:-1:110017> 2_track_concrete <kuid:-1:110016> Track_USA_Single <kuid:-1:101218> Bridge_Steel_1t <kuid:-1:101213> Bridge_Steel_2t <kuid:-1:101214> Bridge_Stone_1t <kuid:-1:100611> Bridge_Stone_2t <kuid:-1:100516> Tunnel_Stone <kuid:-1:100610> Bridge_Steel_USA

VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:44482:22013> 1_track_greasy <kuid:9:50001> 1_track_as49 <kuid:9:50003> 1_track_as49_aggregate <kuid:9:50002> 2_track_as49 <kuid:9:50004> 2_track_as49_aggregate <kuid:-10:135> Track_Barge_Route <kuid:-10:136> Track_Barge_Tracks <kuid:44482:22015> 2_track_greasy <kuid:-10:137> Track_Invisable <kuid:-10:128> Track_Platform <kuid:-10:139> Road_Scripted <kuid:44482:22014> Bridge_Steel <kuid:44482:22012> Tunnel_Euro <kuid:44482:22011> Bridge_Steel_2 <kuid:-12:368> Tunnel_Stone_Low_Cat <kuid:-12:367> Tunnel_Stone_Low <kuid:47092:32001> Bridge_Trestlepiet1_a <kuid:47092:32004> Bridge_Trestlepiet1_b <kuid:47092:32003> Bridge_Trestlepiet1_c <kuid:47092:32005> Bridge_Truss_Spline <kuid:-12:325> Tunnel_QR_Cat <kuid:-12:369> Tunnel_QR <kuid:44482:22010> Tunnel_Euro <kuid:11:32001> 1_track_fabricated VERSION 1.5 - ULTIMATE TRAINZ COLLECTION Niemcy <kuid:-1:101179> 2_track_wood_damp <kuid:-1:100673> 1_track_wood_damp <kuid:-1:101115> Bridge_2t_Steel_Arch <kuid:-1:101116> Bridge_1t_Steel_Arch <kuid:-1:101117> Bridge_1t_Brick <kuid:-1:101206> Bridge_2t_Brick <kuid:-1:101119> Misc_Roller_Coaster Szwajcaria <kuid:-1:101340> 1_track_snow_a <kuid:-1:100836> 1_track_snow_b <kuid:-1:100837> 2_track_snow <kuid:-1:101372> Bridge_1t_Stone_Low <kuid:-1:101342> Bridge_1t <kuid:-1:101370> Bridge_1t_Stone <kuid:-1:101374> Bridge_2t_Stone <kuid:-1:101379> Tunnel_1t_Swiss <kuid:-1:101371> Bridge_1t_Steel_Arch <kuid:-1:101337> Bridge_2t_Steel_Arch <kuid:-1:101421> Tunnel_Swiss_Narrow TRAINZ RAILROAD SIMULATOR 2004 TORY AURANU <KUID:-3:10049> 4m standard bump <KUID:-3:10122> 4m standard seaport

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

180

TORY TRS 2004 INNYCH TWÓRCÓW Chris Cordes:

<KUID:67598:38001> inviso rail <KUID:67598:38002> Oak Track <KUID:67598:38012> Pine Track <KUID:67598:38051> Wd BlockBridge

Jon Hull: <KUID:316:38017> Austin Cable Arch Bridge <KUID:316:38018> Austin Cable Arch Bridge small

Mats Strid: <KUID:36713:37503> Mod catenary bridge <KUID:36713:37512> Old catenary bridge <KUID:36713:37513> Catenary wire <KUID:36713:38800> Concrete 1t <KUID:36713:38802> Concrete new 1t <KUID:36713:38804> Gravel 1t <KUID:36713:38806> Snow 1t <KUID:36713:38808> Snow deep 1t <KUID:36713:37300> Road <KUID:36713:37301> Street <KUID:36713:37302> Highway <KUID:36713:37303> Gravel <KUID:36713:37304> Wheel tracks <KUID:36713:38810> Wood 1t <KUID:36713:38812> Old 1t <KUID:36713:38814> Yard 1t <KUID:36713:37500> Mod 1t pole <KUID:36713:37501> Old 1t pole <KUID:36713:37502> Mod 2t bridge <KUID:36713:37504> Mod 2t poles <KUID:36713:37505> Old 2t poles <KUID:36713:37506> Mod 3t bridge <KUID:36713:37507> Old 3t bridge <KUID:36713:37508> Mod 4t bridge <KUID:36713:37509> Old 4t bridge <KUID:36713:37510> Mod 5t bridge <KUID:36713:37511> Old 5t bridge <KUID:36713:38801> Concrete 2t <KUID:36713:38803> Concrete new 2t <KUID:36713:38805> Gravel 2t <KUID:36713:38807> Snow 2t <KUID:36713:38809> Snow deep 2t <KUID:36713:38811> Wood 2t <KUID:36713:38813> Old 2t <KUID:36713:38815> Yard 2t

Tomas Nordenadler: <KUID:41462:38000> Bridge track 1t <KUID:41462:38002> Bridge track 2t <KUID:41462:38010> Bridge track 1t new <KUID:41462:38011> Bridge track 2t new <KUID:41462:38101> Bridge street <KUID:41462:38102> Bridge road <KUID:41462:38103> Bridge highway

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

181

STAŁE TORY (FIXED TRACKS) TRAINZ RAILROAD SIMULATOR 2004 STAŁE TORY AURANU <KUID:58377:60002> FT 10 Deg 1000m Rad <KUID:58377:60001> FT 10 Deg 100m Rad <KUID:58377:60004> FT 10 Deg 1250m Rad <KUID:58377:60003> FT 10 Deg 125m Rad <KUID:58377:60006> FT 10 Deg 1500m Rad <KUID:58377:60005> FT 10 Deg 150m Rad <KUID:58377:60007> FT 10 Deg 175m Rad <KUID:58377:60008> FT 10 Deg 200m Rad <KUID:58377:60009> FT 10 Deg 225m Rad <KUID:58377:60011> FT 10 Deg 250m Rad <KUID:58377:60012> FT 10 Deg 275m Rad <KUID:58377:60013> FT 10 Deg 300m Rad <KUID:58377:60014> FT 10 Deg 325m Rad <KUID:58377:60015> FT 10 Deg 350m Rad <KUID:58377:60016> FT 10 Deg 375m Rad <KUID:58377:60017> FT 10 Deg 400m Rad <KUID:58377:60018> FT 10 Deg 425m Rad <KUID:58377:60020> FT 10 Deg 450m Rad <KUID:58377:60021> FT 10 Deg 475m Rad <KUID:58377:60023> FT 10 Deg 500m Rad <KUID:58377:60024> FT 10 Deg 525m Rad <KUID:58377:60025> FT 10 Deg 550m Rad <KUID:58377:60026> FT 10 Deg 575m Rad <KUID:58377:60027> FT 10 Deg 600m Rad <KUID:58377:60028> FT 10 Deg 650m Rad <KUID:58377:60029> FT 10 Deg 700m Rad <KUID:58377:60031> FT 10 Deg 750m Rad <KUID:58377:60030> FT 10 Deg 75m Rad <KUID:58377:60032> FT 10 Deg 800m Rad <KUID:-3:10094> FT 10 Deg 850m Rad <KUID:-3:10095> FT 10 Deg 900m Rad <KUID:58377:60034> FT 10 Deg 950m Rad <KUID:58377:60047> FT 15 Deg 1000m Rad <KUID:-3:10096> FT 15 Deg 100m Rad <KUID:58377:60042> FT 15 Deg 1250m Rad <KUID:58377:60041> FT 15 Deg 125m Rad <KUID:58377:60044> FT 15 Deg 1500m Rad <KUID:58377:60043> FT 15 Deg 150m Rad <KUID:-3:10098> FT 15 Deg 175m Rad <KUID:58377:60045 FT 15 Deg 200m Rad <KUID:58377:60046> FT 15 Deg 225m Rad <KUID:58377:60049> FT 15 Deg 250m Rad <KUID:58377:60050> FT 15 Deg 275m Rad <KUID:58377:60051> FT 15 Deg 300m Rad <KUID:58377:60052> FT 15 Deg 325m Rad <KUID:58377:60053> FT 15 Deg 350m Rad <KUID:58377:60054> FT 15 Deg 375m Rad <KUID:58377:60055> FT 15 Deg 400m Rad <KUID:-3:10097> FT 15 deg 425M Rad <KUID:58377:60057> FT 15 Deg 450m Rad <KUID:58377:60058> FT 15 Deg 475m Rad <KUID:58377:60060> FT 15 Deg 500m Rad <KUID:58377:60059> FT 15 Deg 50m Rad <KUID:58377:60061> FT 15 Deg 525m Rad <KUID:58377:60062> FT 15 Deg 550m Rad <KUID:58377:60063> FT 15 Deg 575m Rad <KUID:58377:60064> FT 15 Deg 600m Rad <KUID:58377:60065> FT 15 Deg 650m Rad

<KUID:58377:60066> FT 15 Deg 700m Rad <KUID:58377:60068> FT 15 Deg 750m Rad <KUID:58377:60067> FT 15 Deg 75m Rad <KUID:58377:60069> FT 15 Deg 800m Rad <KUID:58377:60070> FT 15 Deg 850m Rad <KUID:58377:60071> FT 15 Deg 900m Rad <KUID:58377:60072> FT 15 Deg 950m Rad <KUID:58377:60074> FT 5 Deg 1000m Rad <KUID:58377:60076> FT 5 Deg 1250m Rad <KUID:58377:60075> FT 5 Deg 125m Rad <KUID:58377:60078> FT 5 Deg 1500m Rad <KUID:58377:60077> FT 5 Deg 150m Rad <KUID:58377:60079> FT 5 Deg 175m Rad <KUID:58377:60080> FT 5 Deg 200m Rad <KUID:58377:60081> FT 5 Deg 225m Rad <KUID:58377:60083> FT 5 Deg 250m Rad <KUID:58377:60084> FT 5 Deg 275m Rad <KUID:58377:60085> FT 5 Deg 300m Rad <KUID:58377:60086> FT 5 Deg 325m Rad <KUID:58377:60087> FT 5 Deg 350m Rad <KUID:58377:60088> FT 5 Deg 375m Rad <KUID:58377:60089> FT 5 Deg 400m Rad <KUID:58377:60090> FT 5 Deg 425m Rad <KUID:58377:60091> FT 5 Deg 450m Rad <KUID:58377:60033> FT 5 Deg 475m Rad <KUID:58377:60094> FT 5 Deg 500m Rad <KUID:58377:60095> FT 5 Deg 525m Rad <KUID:58377:60096> FT 5 Deg 550m Rad <KUID:58377:60097> FT 5 Deg 575m Rad <KUID:58377:60098> FT 5 Deg 600m Rad <KUID:58377:60099> FT 5 Deg 650m Rad <KUID:58377:60100> FT 5 Deg 700m Rad <KUID:58377:60102> FT 5 Deg 750m Rad <KUID:58377:60103> FT 5 Deg 800m Rad <KUID:58377:60104> FT 5 Deg 850m Rad <KUID:58377:60105> FT 5 Deg 900m Rad <KUID:58377:60106> FT 5 Deg 950m Rad <KUID:-3:10093> FT straight 1000m <KUID:58377:60039> FT straight 100m <KUID:58377:60035> FT straight 10m <KUID:58377:60040> FT straight 250m <KUID:58377:60037> FT straight 25m <KUID:-3:10117> FT straight 500m <KUID:58377:60038> FT straight 50m

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

182

LINIE (SPLINES) VERSION 1 Austraila <kuid:-1:100451> Fence_Armco <kuid:-1:100452> Misc_Crop <kuid:-1:100296> Fence_Arcmesh <kuid:-1:100297> Fence_Picket <kuid:-1:100298> Fen_Tall_Blue <kuid:-1:100418> Fence_Barbed_Wire <kuid:-1:100299> Fence_Shearer_Yard <kuid:-1:100457> Power_Wire <kuid:-1:100409> Road_2l <kuid:-1:100410> Road_1l <kuid:-1:100456> Road_Dirt <kuid:-1:100413> road_oz_forbridge <kuid:-1:100300> Tside_2t_Platform <kuid:-1:100301> Tside_2t_Platform2 <kuid:-1:100412> Bdge_Road_2l <kuid:-1:100411> Misc_Crop_Sugar <kuid:-1:110001> Catenary_24m_2t <kuid:-1:110005> Catenary_Double <kuid:-1:110004> Catenary_Single <kuid:-1:1018> Fence_BWire_3 <kuid:-1:1019> Fence_CMesh_6 <kuid:-1:17> Fence_Wood_4 <kuid:-1:18> Fence_Hedge_4MR <kuid:-1:25> Power_Wire <kuid:-1:1025> Power_Wire_Big <kuid:-1:19> Road <kuid:-1:20> Road_Bridge <kuid:-1:1017> Road_Narrow <kuid:-1:1058> Road_SteelBridge <kuid:-1:1026> Tree_Spline <kuid:-1:1027> Trees_Spline_980 USA <kuid:-12:304> Catenary_Double <kuid:-12:305> Catenary_Double_3 <kuid:-12:306> Catenary_Double_3_40m <kuid:-12:307> Catenary_Double_40m <kuid:-12:308> Catenary_Double_Centre <kuid:-12:309> Catenary_Double_Centre_40m <kuid:-12:320> Catenary_Single_16m <kuid:-12:321> Catenary_Single_40m <kuid:-12:311> Catenary_Single_Wide <kuid:-12:312> Catenary_Single_Wide_40m <kuid:-12:313> Building_Union_Shelter <kuid:-12:220> Misc_Wire <kuid:-1:100586> Fence_BWire_3 <kuid:-1:100597> Tree_Spline_Mix_High <kuid:-1:100612> Tree_Spline_Mix_Low <kuid:-1:100923> Road_No_Traffic <kuid:-1:100613> Powerline <kuid:-1:100587> Powerline_B <kuid:-1:100598> Road <kuid:-1:100614> Road_Bridge <kuid:-1:100588> Road_Narrow <kuid:-1:100589> Road_Steel_Bridge

VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:50435:34001> Path_Boardwalk_12 <kuid:50435:34003> Path_Boardwalk_Nosides_12 <kuid:50435:34002> Path_Boardwalk_Sup_12 <kuid:44482:20000> Catenary_Double_RO <kuid:44482:20001> Catenary_Single_RO <kuid:3801:34001> Path_Concrete <kuid:3801:34002> Path_Dirt_Track <kuid:44482:20002> Tside_Platform_Euro <kuid:9:53014> Catenary_PRR_Hard_2Level <kuid:9:53011> Catenary_PRR_Soft_1Level <kuid:9:53012> Catenary_PRR_Soft_2Level <kuid:9:53013> Catenary_PRR_Wire <kuid:44482:20003> Tside_Platform_Euro <kuid:3801:34003> Path_Sidewalk <kuid:-12:40> Fence_QR_4Platform_2 <kuid:-12:401> Fence_QR_4Platform <kuid:-12:678> Tside_Platform_QR <kuid:-12:59> Tside_Platform_QR_Ramp VERSION 1.5 - ULTIMATE TRAINZ COLLECTION Niemcy <kuid:-1:101183> Fence_Barbed_Wire <kuid:-1:101184> Fence_Brickwall <kuid:-1:101196> Road_Carpark <kuid:-1:101207> Fence_Coaster <kuid:-1:101120> Fence_Crash_Barrier <kuid:-1:101121> Trees_Mixed <kuid:-1:103122> Trees_Mixed2 <kuid:-1:101123> Fence_Fancy_wall <kuid:-1:101145> Road_Farm_Track <kuid:-1:101124> Fence_Farmyard <kuid:-1:101146> Road_Grass_Track <kuid:-1:101125> Fence_Hedge <kuid:-1:101129> Trees_Pines_low <kuid:-1:101130> Trees_Pines_low2 <kuid:-1:101126> Trees_Pines <kuid:-1:101131> Trees_Pines1 <kuid:-1:101132> Trees_Pines2 <kuid:-1:101133> Trees_Pines3 <kuid:-1:101164> Tside_Platform <kuid:-1:101127> Power_Wire <kuid:-1:101299> Bridge_Road <kuid:-1:101147> Road_Unmarked <kuid:-1:100511> Trees_Shrubs <kuid:-1:101148> Road_Small <kuid:-1:101134> Trees_Snowpines_low1 <kuid:-1:101136> Trees_Snowpines_low2 <kuid:-1:101280> Road_Snow_Track <kuid:-1:101284> Fence_Stone_wall <kuid:-1:101185> Fence_Tall_Wood <kuid:-1:101128> Fence_Wire Szwajcaria <kuid:-1:101380> Fence_Barbed_Wire <kuid:-1:101381> Fence_Wood_Panel <kuid:-1:101383> Power_Wire <kuid:-1:101376> Road <kuid:-1:101382> Fence_Ski <kuid:-1:101377> Road_Dirt_Track <kuid:-1:101378> Road_Grass_Track

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

183

SPLINE TRS 2004 INNYCH TWÓRCÓW AlanThompson:

<KUID:67906:37050> UK Custom Girder <KUID:67906:37051> UK Custom Span <KUID:67906:37052> UK Custom Signal Gantry <KUID:67906:37550> UK 25m Wire <KUID:67906:37551> UK 50m Wire <KUID:67906:37553> UK Wire Tension <KUID:67906:37554> UK Wire Anchor <KUID:67906:37555> UK Wire End <KUID:67906:38051> UK Concrete Single Line <KUID:67906:38055> UK Wooden Single Line <KUID:67906:37061> UK 25m Single Pylons <KUID:67906:37062> UK 50m Single Pylons <KUID:67906:37063> UK 25m Double Pylon <KUID:67906:37064> UK 50m Double Pylon <KUID:67906:37065> UK 25m Double Girder <KUID:67906:37066> UK 50m Double Girder <KUID:67906:37069> UK 25m Triple Span <KUID:67906:37070> UK 50m Triple Span <KUID:67906:37071> UK 25m Quad Span <KUID:67906:37072> UK 50m Quad Span <KUID:67906:37080> UK Dual Pylons <KUID:67906:37081> UK Custom Span Arm <KUID:67906:37082> UK Custom Girder Arm <KUID:67906:37083> UK 25m Twinhead Pylons <KUID:67906:37084> UK 50m Twinhead Pylons <KUID:67906:38052> UK Concrete Double Line <KUID:67906:38053> UK Concrete Triple Line <KUID:67906:38054> UK Concrete Quad Line <KUID:67906:38056> UK Wooden Double Line <KUID:67906:38057> UK Wooden Triple Line <KUID:67906:38058> UK Wooden Quad Line

Ian Manion: <KUID:60238:38131> Piles - Timber

Terry Franks: <KUID:1942:37022> HV Pylon <KUID:1942:37023> LV Pylon <KUID:1942:37017> MS Fence <KUID:1942:37024> MS Fence Diagonal <KUID:1942:37021> MS Fence Mesh <KUID:1942:37019> MS Fence3 <KUID:1942:37015> MS Platform <KUID:1942:37027> MS Platform Double <KUID:1942:37028> MS Platform Wide <KUID:1942:37018> MS Wall <KUID:1942:37020> MS Wall Concrete <KUID:1942:37016> Substation Fence

Tomas Nordenadler: <KUID:41462:37000> Wooden wall <KUID:41462:37001> Concrete wall

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

184

OBIEKTY PRZYTOROWE (TRACKSIDE) VERSION 1 Austraila <kuid:-1:110011> dwarf <kuid:-1:100633> lever <kuid:-1:101152> rail_end <kuid:-1:100899> speed_100 <kuid:-1:100900> speed_20 <kuid:-1:100901> speed_30 <kuid:-1:100902> speed_40 <kuid:-1:100903> speed_50 <kuid:-1:100904> speed_60 <kuid:-1:100905> speed_70 <kuid:-1:100906> speed_80 <kuid:-1:100907> speed_90 <kuid:-1:101142> track_ends Wielka Brytania <kuid:-1:100968> Tside_Speed_10 <kuid:-1:100997> Tside_Speed_100 <kuid:-1:100998> Tside_Speed_110 <kuid:-1:100999> Tside_Speed_120 <kuid:-1:101000> Tside_Speed_130 <kuid:-1:101006> Tside_Speed_140 <kuid:-1:101001> Tside_Speed_15 <kuid:-1:101007> Tside_Speed_150 <kuid:-1:101008> Tside_Speed_160 <kuid:-1:101009> Tside_Speed_170 <kuid:-1:101010> Tside_Speed_180 <kuid:-1:101002> Tside_Speed_20 <kuid:-1:101003> Tside_Speed_25 <kuid:-1:101004> Tside_Speed_35 <kuid:-1:101011> Tside_Speed_40 <kuid:-1:101012> Tside_Speed_45 <kuid:-1:101013> Tside_Speed_50 <kuid:-1:100893> Tside_Speed_60 <kuid:-1:101015> Tside_Speed_65 <kuid:-1:101016> Tside_Speed_70 <kuid:-1:101019> Tside_Speed_90 <kuid:-1:100553> lever <kuid:-1:110006> Tside_Rail_End <kuid:-1:101140> Tside_Sign_Track_Ends USA <kuid:-1:100874> Sign_Speed_10 <kuid:-1:100882> Sign_Speed_100 <kuid:-1:100883> Sign_Speed_110 <kuid:-1:100881> Sign_Speed_120 <kuid:-1:100884> Sign_Speed_130 <kuid:-1:101026> Sign_Speed_140 <kuid:-1:100885> Sign_Speed_150 <kuid:-1:101028> Sign_Speed_160 <kuid:-1:101029> Sign_Speed_170 <kuid:-1:101030> Sign_Speed_180 <kuid:-1:100886> Sign_Speed_20 <kuid:-1:100887> Sign_Speed_25 <kuid:-1:100888> Sign_Speed_30 <kuid:-1:100889> Sign_Speed_35 <kuid:-1:100890> Sign_Speed_40

<kuid:-1:100891> Sign_Speed_45 <kuid:-1:100892> Sign_Speed_50 <kuid:-1:101045> Sign_Speed_55 <kuid:-1:100894> Sign_Speed_60 <kuid:-1:100895> Sign_Speed_65 <kuid:-1:100896> Sign_Speed_70 <kuid:-1:100897> Sign_Speed_79 <kuid:-1:101031> Sign_Speed_80 <kuid:-1:100898> Sign_Speed_90 <kuid:-1:100913> Signal_Dwarf <kuid:-1:100634> Tside_Lever <kuid:-1:110007> Signal_Rail_End_USA <kuid:-1:101143> Signal_Track_Ends <kuid:-1:100854> Sign_Yard_Limit VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:3801:23001> Sign_Bboard_10 <kuid:3801:23019> Sign_Bboard_100 <kuid:3801:23020> Sign_Bboard_105 <kuid:3801:23021> Sign_Bboard_110 <kuid:3801:23022> Sign_Bboard_115 <kuid:3801:23023> Sign_Bboard_120 <kuid:3801:23024> Sign_Bboard_125 <kuid:3801:23025> Sign_Bboard_135 <kuid:3801:23027> Sign_Bboard_138 <kuid:3801:23002> Sign_Bboard_15 <kuid:3801:23003> Sign_Bboard_35 <kuid:3801:23007> Sign_Bboard_40 <kuid:3801:23008> Sign_Bboard_45 <kuid:3801:23000> Sign_Bboard_5 <kuid:3801:23009> Sign_Bboard_50 <kuid:3801:23010> Sign_Bboard_55 <kuid:3801:23011> Sign_Bboard_60 <kuid:3801:23012> Sign_Bboard_70 <kuid:3801:23014> Sign_Bboard_75 <kuid:3801:23015> Sign_Bboard_80 <kuid:3801:23016> Sign_Bboard_85 <kuid:3801:23017> Sign_Bboard_90 <kuid:3801:23018> Sign_Bboard_95 <kuid:-12:5601> Signal_BR_1 <kuid:-12:5801> Signal_BR_1RH <kuid:-12:5603> Signal_BR_2 <kuid:-12:5803> Signal_BR_2RH <kuid:-12:5656> Signal_BR_3 <kuid:-12:5856> Signal_BR_3RH <kuid:-1:575> Signal_BR_4 <kuid:-1:100519> Signal_BR_4RH <kuid:-12:5658> Signal_BR_5 <kuid:-12:5858> Signal_BR_5RH <kuid:-12:5660> Signal_BR_7 <kuid:-12:5860> Signal_BR_7RH <kuid:-12:15660> Signal_BR_8 <kuid:-12:15661> Signal_BR_8RH <kuid:-12:300> Misc_Dwarf_LHS <kuid:-12:301> Misc_Dwarf_RHS <kuid:-12:292> Gantry_L <kuid:-12:293> Gantry_R <kuid:9:55001> Signal_PKP_Lightpost <kuid:9:55002> Signal_PKP_Lightpost_Long <kuid:9:55003> Signal_PKP_Lightpost_Side

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

185

<kuid:9:55004> Signal_PKP_Lightpost_S/L <kuid:46415:28100> Sign_Beacons_ATC_QR_2 <kuid:46415:28105> Sign_Beacons_ATC_QR_3 <kuid:46415:23502> Sign_KM_Post_QR <kuid:46415:23500> Sign_Limit_Of_Shunt_QR <kuid:46415:28150> Tside_Points_Clip_QR <kuid:46415:28155> Tside_Point_Motor_QR <kuid:46415:23185> Sign_Speed_RHS_120_50L_QR <kuid:46415:23186> Sign_Speed_RHS_120_50R_QR <kuid:46415:23110> Sign_Speed_RHS_50_25L_QR <kuid:46415:23111> Sign_Speed_RHS_50_25R_QR <kuid:46415:23120> Sign_Speed_RHS_60_25L_QR <kuid:46415:23121> Sign_Speed_RHS_60_25R_QR <kuid:46415:23130> Sign_Speed_RHS_70_25L_QR <kuid:46415:23131> Sign_Speed_RHS_70_25R_QR <kuid:46415:23140> Sign_Speed_RHS_80_25L_QR <kuid:46415:23142> Sign_Speed_RHS_80_25LR_QR <kuid:46415:23141> Sign_Speed_RHS_80_25R_QR <kuid:46415:23145> Sign_Speed_RHS_80_50L_QR <kuid:46415:23146> Sign_Speed_RHS_80_50R_QR <kuid:46415:23010> Sign_Speed_RHS_07k_QR <kuid:46415:23065> Sign_Speed_RHS_100k_QR <kuid:46415:23015> Sign_Speed_RHS_10k_QR <kuid:46415:23070> Sign_Speed_RHS_110k_QR <kuid:46415:23075> Sign_Speed_RHS_120k_QR <kuid:46415:23020> Sign_Speed_RHS_15k_QR <kuid:46415:23025> Sign_Speed_RHS_25k_QR <kuid:46415:23030> Sign_Speed_RHS_30k_QR <kuid:46415:23035> Sign_Speed_RHS_40k_QR <kuid:46415:23040> Sign_Speed_RHS_50k_QR <kuid:46415:23045> Sign_Speed_RHS_60k_QR <kuid:46415:23050> Sign_Speed_RHS_70k_QR <kuid:46415:23055> Sign_Speed_RHS_80k_QR <kuid:46415:23060> Sign_Speed_RHS_90k_QR <kuid:46415:23504> Tside_Whistle_Board_QR <kuid:-12:1201> Signal_QR_01 <kuid:-12:1401> Signal_QR_01RH <kuid:-12:1303> Signal_QR_02 <kuid:-12:1403> Signal_QR_02RH <kuid:-12:3456> Signal_QR_03 <kuid:-12:3457> Signal_QR_03RH <kuid:-1:100630> Signal_QR_04 <kuid:-12:100630> Signal_QR_04RH <kuid:-12:3458> Signal_QR_05 <kuid:-12:3459> Signal_QR_05RH <kuid:-12:210> Signal_QR_06 <kuid:-12:209> Signal_QR_06b <kuid:-12:3460> Signal_QR_07 <kuid:-12:3461> Signal_QR_07RH <kuid:-12:13461> Signal_QR_08 <kuid:-12:13460> Signal_QR_08RH <kuid:46415:23385> Sign_Speed_LHS_120_50L_QR <kuid:46415:23386> Sign_Speed_LHS_120_50R_QR <kuid:46415:23310> Sign_Speed_LHS_50_25L_QR <kuid:46415:23311> Sign_Speed_LHS_50_25R_QR <kuid:46415:23320> Sign_Speed_LHS_60_25L_QR <kuid:46415:23321> Sign_Speed_LHS_60_25R_QR <kuid:46415:23330> Sign_Speed_LHS_70_25L_QR <kuid:46415:23331> Sign_Speed_LHS_70_25R_QR <kuid:46415:23340> Sign_Speed_LHS_80_25L_QR <kuid:46415:23342> Sign_Speed_LHS_80_25LR_QR <kuid:46415:23341> Sign_Speed_LHS_80_25R_QR <kuid:46415:23345> Sign_Speed_LHS_80_50L_QR <kuid:46415:23346> Sign_Speed_LHS_80_50R_QR

<kuid:46415:23210> Sign_Speed_LHS_07k_QR <kuid:46415:23365> Sign_Speed_LHS_100k_QR <kuid:46415:23315> Sign_Speed_LHS_10k_QR <kuid:46415:23370> Sign_Speed_LHS_110k_QR <kuid:46415:23375> Sign_Speed_LHS_120k_QR <kuid:46415:23220> Sign_Speed_LHS_15k_QR <kuid:46415:23225> Sign_Speed_LHS_25k_QR <kuid:46415:23230> Sign_Speed_LHS_30k_QR <kuid:46415:23235> Sign_Speed_LHS_40k_QR <kuid:46415:23240> Sign_Speed_LHS_50k_QR <kuid:46415:23245> Sign_Speed_LHS_60k_QR <kuid:46415:23250> Sign_Speed_LHS_70k_QR <kuid:46415:23255> Sign_Speed_LHS_80k_QR <kuid:46415:23260> Sign_Speed_LHS_90k_QR <kuid:-12:21821> Signal_2_001 <kuid:-12:21802> Signal_2_002 <kuid:-12:21803> Signal_2_003 <kuid:-12:207> Signal_2_004 <kuid:-12:208> Signal_2_005 <kuid:-12:21861> Signal_2_L001 <kuid:-12:21862> Signal_2_L002 <kuid:-12:21863> Signal_2_L003 <kuid:-12:21701> Signal_001 <kuid:-12:21702> Signal_002 <kuid:-12:21703> Signal_003 <kuid:-1:110012> Signal_004 <kuid:-12:315> Signal_005 <kuid:-12:291> Signal_G_005 <kuid:-12:21201> Signal_L001 <kuid:-12:22702> Signal_L002 <kuid:-12:25703> Signal_L003 <kuid:44482:23006> Signal_3_Gantry <kuid:44482:23004> Signal_3_Rolft <kuid:44482:23005> Signal_3_Rorgt <kuid:44482:23061> Sign_Speed_100 <kuid:44482:23008> Sign_Speed_100_Advance <kuid:44482:23062> Sign_Speed_105 <kuid:44482:23009> Sign_Speed_105_Advance <kuid:44482:23083> Sign_Speed_110 <kuid:44482:23010> Sign_Speed_110_Advance <kuid:44482:23082> Sign_Speed_115 <kuid:44482:23011> Sign_Speed_115_Advance <kuid:44482:23081> Sign_Speed_120 <kuid:44482:23012> Sign_Speed_120_Advance <kuid:44482:23080> Sign_Speed_125 <kuid:44482:23013> Sign_Speed_125_Advance <kuid:44482:23079> Sign_Speed_130 <kuid:44482:23014> Sign_Speed_130_Advance <kuid:44482:23078> Sign_Speed_135 <kuid:44482:23015> Sign_Speed_135_Advance <kuid:44482:23077> Sign_Speed_140 <kuid:44482:23016> Sign_Speed_140_Advance <kuid:44482:23076> Sign_Speed_145 <kuid:44482:23017> Sign_Speed_145_Advance <kuid:44482:23075> Sign_Speed_15 <kuid:44482:23074> Sign_Speed_150 <kuid:44482:23018> Sign_Speed_150_Advance <kuid:44482:23073> Sign_Speed_155 <kuid:44482:23019> Sign_Speed_155_Advance <kuid:44482:23020> Sign_Speed_15_Advance <kuid:44482:23072> Sign_Speed_160 <kuid:44482:23021> Sign_Speed_160_Advance <kuid:44482:23071> Sign_Speed_165 <kuid:44482:23022> Sign_Speed_165_Advance

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

186

<kuid:44482:23070> Sign_Speed_170_Advance <kuid:44482:23069> Sign_Speed_175 <kuid:44482:23024> Sign_Speed_175_Advance <kuid:44482:23068> Sign_Speed_180 <kuid:44482:23025> Sign_Speed_180_Advance <kuid:44482:23067> Sign_Speed_185 <kuid:44482:23026> Sign_Speed_185_Advance <kuid:44482:23066> Sign_Speed_190 <kuid:44482:23027> Sign_Speed_190_Advance <kuid:44482:23065> Sign_Speed_195 <kuid:44482:23028> Sign_Speed_195_Advance <kuid:44482:23064> Sign_Speed_20 <kuid:44482:23063> Sign_Speed_200 <kuid:44482:23045> Sign_Speed_200_Advance <kuid:44482:23029> Sign_Speed_20_Advance <kuid:44482:23060> Sign_Speed_25 <kuid:44482:23030> Sign_Speed_25_Advance <kuid:44482:23059> Sign_Speed_30 <kuid:44482:23031> Sign_Speed_30_Advance <kuid:44482:23058> Sign_Speed_35 <kuid:44482:23032> Sign_Speed_35_Advance <kuid:44482:23057> Sign_Speed_40 <kuid:44482:23033> Sign_Speed_40_Advance <kuid:44482:23056> Sign_Speed_45 <kuid:44482:23034> Sign_Speed_45_Advance <kuid:44482:23055> Sign_Speed_50 <kuid:44482:23035> Sign_Speed_50_Advance <kuid:44482:23054> Sign_Speed_55 <kuid:44482:23036> Sign_Speed_55_Advance <kuid:44482:23053> Sign_Speed_60 <kuid:44482:23037> Sign_Speed_60_Advance <kuid:44482:23052> Sign_Speed_65 <kuid:44482:23038> Sign_Speed_65_Advance <kuid:44482:23051> Sign_Speed_70 <kuid:44482:23039> Sign_Speed_70_Advance <kuid:44482:23050> Sign_Speed_75 <kuid:44482:23040> Sign_Speed_75_Advance <kuid:44482:23049> Sign_Speed_80 <kuid:44482:23041> Sign_Speed_80_Advance <kuid:44482:23048> Sign_Speed_85 <kuid:44482:23042> Sign_Speed_85_Advance <kuid:44482:23047> Sign_Speed_90 <kuid:44482:23043> Sign_Speed_90_Advance <kuid:44482:23046> Sign_Speed_95 <kuid:44482:23044> Sign_Speed_95_Advance <kuid:-12:22901> Signal_USA_2_01 <kuid:-12:22902> Signal_USA_2_02 <kuid:-12:22904> Signal_USA_2_03 <kuid:-12:303> Signal_USA_2_04 <kuid:-12:302> Signal_USA_2_05 <kuid:-12:22961> Signal_USA_2_L01 <kuid:-12:22962> Signal_USA_2_L02 <kuid:-12:22964> Signal_USA_2_L03 <kuid:-12:21901> Signal_USA_01 <kuid:-12:21902> Signal_USA_02 <kuid:-12:21913> Signal_USA_03 <kuid:-1:100880> Signal_USA_04 <kuid:-12:214> Signal_USA_05 <kuid:-12:290> Signal_USA_G_05 <kuid:-12:21961> Signal_USA_L01 <kuid:-12:11902> Signal_USA_L02 <kuid:-12:21993> Signal_USA_L03 <kuid:3801:23028> Sign_Warning_20 <kuid:3801:23029> Sign_Warning_30

<kuid:3801:23030> Sign_Warning_40 <kuid:3801:23031> Sign_Warning_50 <kuid:3801:23032> Sign_Warning_60 <kuid:3801:23033> Sign_Warning_70 <kuid:3801:23034> Sign_Warning_80 VERSION 1.5 - ULTIMATE TRAINZ COLLECTION Niemcy <kuid:-1:101182> Tside_Railend <kuid:-1:101240> lever Szwajcaria <kuid:-1:101359> speed_100 <kuid:-1:101360> speed_50 <kuid:-1:101361> speed_60 Scenariusze UTC <kuid:523:100883> speed_110 <kuid:523:100881> speed_120 <kuid:523:100884> speed_130 <kuid:523:101026> speed_140 <kuid:523:100885> speed_15 <kuid:523:101027> speed_150 <kuid:523:101028> speed_160 <kuid:523:100886> speed_20 <kuid:523:100887> speed_25 <kuid:523:100888> speed_30 <kuid:523:100889> speed_35 <kuid:523:100890> speed_40 <kuid:523:100891> speed_45 <kuid:523:100892> speed_50 <kuid:523:101045> speed_55 <kuid:523:100894> speed_60 <kuid:523:100895> speed_65 <kuid:523:100896> speed_70 <kuid:523:101031> speed_80 <kuid:523:100898> speed_90 <kuid:-12:100128> 09 <kuid:-12:100129> 09 <kuid:-12:100136> 09 <kuid:523:23027> Warn 10 <kuid:523:23028> Warn 15 <kuid:523:23029> Warn 25 <kuid:523:23030> Warn 35 <kuid:523:23031> Warn 45 <kuid:523:100874> speed_10 <kuid:523:100882> speed_100

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

187

OBIEKTY PRZYTOROWE (TRACKSIDE) TRS 2004 INNYCH TWÓR CÓW AlanThompson:

<KUID:67906:24051> UK Ground Signal <KUID:67906:24053> UK 2 Aspect <KUID:67906:24054> UK 2 Aspect Approach <KUID:67906:24055> UK 3 Aspect <KUID:67906:24056> UK 3 Aspect Call-on <KUID:67906:24057> UK 4 Aspect <KUID:67906:24058> UK 4 Aspect Call-on <KUID:67906:24060> UK 3 Feather Pos3 <KUID:67906:24061> UK 3 Feather Pos4 <KUID:67906:24062> UK 3 Feather Pos34 <KUID:67906:24070> UK 4 Feather Pos3 <KUID:67906:24071> UK 4 Feather Pos4 <KUID:67906:24072> UK 4 Feather Pos34 <KUID:67906:24101> UK Gantry 4 Aspect <KUID:67906:24103> UK Gantry 4 Aspect Pos3 <KUID:67906:24104> UK Gantry 4 Aspect Pos4 <KUID:67906:24105> UK Gantry 4 Aspect Pos34 <KUID:67906:24106> UK Gantry 3 Aspect <KUID:67906:24108> UK Gantry 3 Aspect Pos3 <KUID:67906:24109> UK Gantry 3 Aspect Pos4 <KUID:67906:24110> UK Gantry 3 Aspect Pos34 <KUID:67906:24111> UK Gantry 2 Aspect <KUID:67906:24112> UK Gantry 2 Aspect Approach <KUID:67906:24165> UK Rail Buffer <KUID:67906:24166> UK Point Motor

Fredrik Skog: <KUID:30387:23050> Speedboards Left 20 km/h <KUID:30387:23051> Speedboards Left 30 km/h <KUID:30387:23052> Speedboards Left 40 km/h <KUID:30387:23053> Speedboards Left 50 km/h <KUID:30387:23054> Speedboards Left 60 km/h <KUID:30387:23055> Speedboards Left 70 km/h <KUID:30387:23056> Speedboards Left 80 km/h <KUID:30387:23057> Speedboards Left 90 km/h <KUID:30387:23058> Speedboards Left 100 km/h <KUID:30387:23059> Speedboards Left 120 km/h <KUID:30387:23060> Speedboards Left 130 km/h <KUID:30387:23061> Speedboards Left 160 km/h <KUID:30387:23062> Speedboards Left 200 km/h <KUID:30387:23065> Speedboards Right 20 km/h <KUID:30387:23066> Speedboards Right 30 km/h <KUID:30387:23067> Speedboards Right 40 km/h <KUID:30387:23068> Speedboards Right 50 km/h <KUID:30387:23069> Speedboards Right 60 km/h <KUID:30387:23070> Speedboards Right 70 km/h <KUID:30387:23071> Speedboards Right 80 km/h <KUID:30387:23072> Speedboards Right 90 km/h <KUID:30387:23073> Speedboards Right 100 km/h <KUID:30387:23074> Speedboards Right 120 km/h <KUID:30387:23075> Speedboards Right 130 km/h <KUID:30387:23076> Speedboards Right 160 km/h <KUID:30387:23077> Speedboards Right 200 km/h

Mats Strid: <KUID:36713:23300> Lever auto <KUID:36713:23301> Lever manual left <KUID:36713:23302> Lever manual right <KUID:36713:24505> L Block 2 <KUID:36713:24506> L Block 2 gant <KUID:36713:24507> L Block 3 <KUID:36713:24508> L Block 3 gant

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

188

<KUID:36713:24513> L Block 4 <KUID:36713:24514> L Block 4 gant <KUID:36713:24519> L Block 5 <KUID:36713:24520> L Block 5 gant <KUID:36713:24500> L Distant 3 <KUID:36713:24509> L Interl 3 left <KUID:36713:24510> L Interl 3 left gant <KUID:36713:24511> L Interl 3 right <KUID:36713:24512> L Interl 3 right gant <KUID:36713:24515> L Interl 4 left <KUID:36713:24516> L Interl 4 left gant <KUID:36713:24517> L Interl 4 right <KUID:36713:24518> L Interl 4 right gant <KUID:36713:24521> L Interl 5 left <KUID:36713:24522> L Interl 5 left gant <KUID:36713:24523> L Interl 5 right <KUID:36713:24524> L Interl 5 right gant <KUID:36713:24503> L Dwarf 4 <KUID:36713:24504> L Dwarf 7 <KUID:36713:24530> R Block 2 <KUID:36713:24531> R Block 2 gant <KUID:36713:24532> R Block 3 <KUID:36713:24533> R Block 3 gant <KUID:36713:24538> R Block 4 <KUID:36713:24539> R Block 4 gant <KUID:36713:24544> R Block 5 <KUID:36713:24545> R Block 5 gant <KUID:36713:24525> R Distant 3 <KUID:36713:24534> R Interl 3 left <KUID:36713:24535> R Interl 3 left gant <KUID:36713:24536> R Interl 3 right <KUID:36713:24537> R Interl 3 right gant <KUID:36713:24540> R Interl 4 left <KUID:36713:24541> R Interl 4 left gant <KUID:36713:24542> R Interl 4 right <KUID:36713:24543> R Interl 4 right gant <KUID:36713:24546> R Interl 5 left <KUID:36713:24547> R Interl 5 left gant <KUID:36713:24548> R Interl 5 right <KUID:36713:24549> R Interl 5 right gant <KUID:36713:24528> R Dwarf 4 <KUID:36713:24529> R Dwarf 7

Mauro Maratta: <KUID:75359:23009> 100km Speed Sign <KUID:75359:23010> 115km Speed Sign <KUID:75359:23011> 120km Speed Sign <KUID:75359:23012> 80km Speed Sign <KUID75359:23013> 70km Speed Sign <KUID:75359:23014> 40km Speed Sign

Nathan Van Der Meulen: <KUID:61119:24000> Landmark Signal <KUID:61119:23073> Location Signal <KUID:61119:23001> Sign10 <KUID:61119:23019> Sign100 <KUID:61119:23047> Sign100R <KUID:61119:23020> Sign105 <KUID:61119:23048> Sign105R <KUID:61119:23029> Sign10R <KUID:61119:23021> Sign110 <KUID:61119:23049> Sign110R <KUID:61119:23022> Sign115 <KUID:61119:23050> Sign115R <KUID:61119:23023> Sign120

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

189

<KUID:61119:23051> Sign120R <KUID:61119:23002> Sign15 <KUID:61119:23030> Sign15R <KUID:61119:23003> Sign20 <KUID:61119:23031> Sign20R <KUID:61119:23004> Sign25 <KUID:61119:23032> Sign25R <KUID:61119:23005> Sign30 <KUID:61119:23033> Sign30R <KUID:61119:23006> Sign35 <KUID:61119:23034> Sign35R <KUID:61119:23007> Sign40 <KUID:61119:23035> Sign40R <KUID:61119:23008> Sign45 <KUID:61119:23036> Sign45R <KUID:61119:23009> Sign50 <KUID:61119:23037> Sign50R <KUID:61119:23010> Sign55 <KUID:61119:23038> Sign55R <KUID:61119:23011> Sign60 <KUID:61119:23039> Sign60R <KUID:61119:23012> Sign65 <KUID:61119:23040> Sign65R <KUID:61119:23013> Sign70 <KUID:61119:23041> Sign70R <KUID:61119:23014> Sign75 <KUID:61119:23042> Sign75R <KUID:61119:23015> Sign80 <KUID:61119:23043> Sign80R <KUID:61119:23016> Sign85 <KUID:61119:23044> Sign85R <KUID:61119:23017> Sign90 <KUID:61119:23045> Sign90R <KUID:61119:23018> Sign95 <KUID:61119:23046> Sign95R <KUID:61119:23024> SignX20 <KUID:61119:23052> SignX20R <KUID:61119:23025> SignX25 <KUID:61119:23053> SignX25R <KUID:61119:23026> SignX40 <KUID:61119:23054> SignX40R <KUID:61119:23027> SignX50 <KUID:61119:23055> SignX50R <KUID:61119:24004> Stop (Signal) <KUID:61119:24003> Stop (Signal)R

Tomas Nordenadler: <KUID:41462:23100> Speedboard left 5km/h <KUID:41462:23101> Speedboard left 10km/h <KUID:41462:23102> Speedboard left 20km/h <KUID:41462:23103> Speedboard left 30km/h <KUID:41462:23104> Speedboard left 40km/h <KUID:41462:23105> Speedboard left 50km/h <KUID:41462:23106> Speedboard left 60km/h <KUID:41462:23107> Speedboard left 70km/h <KUID:41462:23108> Speedboard left 80km/h <KUID:41462:23109> Speedboard left 90km/h <KUID:41462:23110> Speedboard left 100km/h <KUID:41462:23111> Speedboard left 135km/h <KUID:41462:23115> Speedboard right 5km/h <KUID:41462:23116> Speedboard right 10km/h <KUID:41462:23117> Speedboard right 20km/h <KUID:41462:23118> Speedboard right 30km/h <KUID:41462:23119> Speedboard right 40km/h

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

190

<KUID:41462:23120> Speedboard right 50km/h <KUID:41462:23121> Speedboard right 60km/h <KUID:41462:23122> Speedboard right 70km/h <KUID:41462:23123> Speedboard right 80km/h <KUID:41462:23124> Speedboard right 90km/h <KUID:41462:23125> Speedboard right 100km/h <KUID:41462:23126> Speedboard right 135km/h

ŚRODOWISKO (ENVIROMENT) VERSION 1 Australia <kuid:-1:110014> noClouds <kuid:-1:110015> Water_muddy Wielka Brytania <kuid:-1:8000> MediumClouds <kuid:-1:8002> MoreClouds <kuid:-1:8001> VeryCloudy <kuid:-1:110013> VeryVeryCloudy <kuid:-1:8008> Water1 <kuid:-1:8009> Water2 USA <kuid:-1:101310> Clouds_USA <kuid:-1:101293> Water1_USA VERSION 1.3 - SERVICE PACK 3 (SP3) <kuid:-12:777> QLD_sky VERSION 1.5 - ULTIMATE TRAINZ COLLECTION <kuid:-1:100969> ger_Clouds1 <kuid:-1:100671> ger_Water1

TEKSTURY (TEXTURE) TRAINZ RAILROAD SIMULATOR 2004 TEKSTURY AURANU <KUID:-3:10112> Red corona <KUID:-3:10111> White corona <KUID:-3:10110> Green corona <KUID:-3:10118> Steam <KUID:-3:10164> Industry Object Icon TEKSTURY TRS 2004 INNYCH TWORCÓW David Taylor: <KUID:30204:21001> Red Corona <KUID:30204:21002> White corona <KUID:-3:10164> Industry Object Icon

MAPY (MAPS)

TRAINZ RAILROAD SIMULATOR 2004 MAPY AURANU <KUID:-3:10176> Outback Australia 2 <KUID:-3:10172> British Midlands <KUID:-3:10173> Highland Valley Industries <KUID:-3:10174> City and Country USA 2

TOWARY (PRODUCT) TRAINZ RAILROAD SIMULATOR 2004 TOWARY AURANU <KUID:-3:10014> 20ft Container <KUID:-3:10041> 40ft Container <KUID:-3:10045> Aviation Fuel <KUID:44179:60013> Coal <KUID:-3:10010> Crude Oil <KUID:-3:10011> Diesel Fuel <KUID:-3:10013> General Goods <KUID:-3:10001> Logs <KUID:-3:10003> Lumber <KUID:-3:10060> Passenger <KUID:-3:10012> Petrol Fuel <KUID:-3:10004> Water <KUID:-3:10002> Woodchips

KATEGORIA TOWARU (PRODUCT-CATEGORY) TRAINZ RAILROAD SIMULATOR 2004 KATEGORIE TOWARU AURANU <KUID:-3:10040> Bulk Load <KUID:-3:10042> Container <KUID:-3:10044> Liquid Load <KUID:-3:10091> Passenger

SAMOUCZKI (TUTORIALS)

TRAINZ RAILROAD SIMULATOR 2004 SAMOUCZKI AURANU <KUID:-3:10155> Tutorial 1 <KUID:-3:10166> Tutorial 2 <KUID:-3:10156> Tutorial 3 <KUID:-3:10159> Tutorial 4 <KUID:-3:10160> Tutorial 5

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

191

KOMENDY (BEHAVIOUR)

TRAINZ RAILROAD SIMULATOR 2004 KOMENDY AURANU <KUID:-18:1207> Consist Check <KUID:-16:2030> Control Type <KUID:-3:10081> Couple <KUID:-3:10082> Decouple <KUID:-3:10206> Display Custom HUD <KUID:-16:2031> Display HTML <KUID:-3:10057> Driver Command <KUID:-16:2025> Driver Setup <KUID:-3:10186> Drive Schedule <KUID:-3:10058> Drive To <KUID:-3:10149> Drive To Trackmark <KUID:-3:10209> Drive Via Trackmark <KUID:-19:12198> End Scenario <KUID:-3:10076> Load <KUID:-3:10198> Variable Modify <KUID:-3:10078> Notify <KUID:-19:2040> Objective Clear <KUID:-19:2039> Objective New <KUID:-19:2041> Objective Remove <KUID:-16:2033> Ordered List <KUID:-3:10200> VariableModify Continuous <KUID:-3:10157> Play Sound <KUID:-16:2024> Power Station Rule <KUID:-18:1202> Progressive List <KUID:-18:1203> Random List <KUID:-3:10150> Derailment Realism <KUID:-18:1204> Reset List <KUID:-18:1208> Resource Check Rule <KUID:-3:10083> Run Around <KUID:-3:10185> Schedule Rule <KUID:-18:1200> Custom HUD <KUID:-3:10207> Variable Show <KUID:-18:1201> Simultaneous List <KUID:-16:10212> Startup Options <KUID:-3:10113> Time and Rate <KUID:-18:1206> Trigger Check <KUID:-3:10153> Trigger Rule <KUID:-3:10077> Unload <KUID:-3:10201> Variable Check <KUID:-3:10090> Wait For <KUID:-3:10089> Weather

SESJA MASZYNISTY (PROFILE)

TRAINZ RAILROAD SIMULATOR 2004 SESJE AURANU <KUID:-3:10171> 1 DCC Tutorial <KUID:-3:10170> 2 Cab Tutorial <KUID:-3:10169> 3 Steam Tutorial <KUID:-3:10168> 4 Driver Tutorial <KUID:-3:10167> 5 Commodity Tutorial <KUID:-3:10178> Balance Control <KUID:-3:10177> Busy Busy Day <KUID:-3:10181> Busy Day <KUID:-3:10179> Ski School <KUID:-3:10182> Steaming Chips <KUID:-3:10180> Tourist Route

MASZYNISTA (DRIVER CHARACTER)

TRAINZ RAILROAD SIMULATOR 2004 MASZYNIŚCI AURANU <KUID:-16:10127> Alastair <KUID:-3:10229> Andrew <KUID:-3:10221> Damon <KUID:-16:10129> Dave <KUID:-3:10223> David <KUID:-3:10225> Eric <KUID:-16:1140> Geoff <KUID:-16:10131> Graham <KUID:-3:10227> Greg <KUID:-16:1142> Kenny <KUID:-16:10133> Philippe <KUID:-16:1141> Sean <KUID:-3:10231> Thomas <KUID:-3:10235> Vaughan

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

192

Podzi ękowania Rzymu nie zbudowano w jeden dzień, tak samo jak nie dokonano w jeden dzień aktualizacji do wersji 1.04 dokumentu Content Creation Guide (CCG). Brało w tym udział całkiem sporo Rzy-mian! ☺ Załoga Brew Crew chciałaby niniejszym podziękować za wsparcie w aktualizacji CCG tym człon-kom społeczności Trainz, którzy wnieśli cenny wkład w proces aktualizacji, za ich komentarze i sugestie podczas tworzenia najnowszej wersji –1.04 – CCG. Są to … Andi Smith Bill Smith Chris Cordes Chris Hucklebridge Chris Margetts Geoff Steele Giga Melt “GM” Jeff Barr JL Bernard Martin van Kuilenburg Mike Banfield Rhian Geleick Rick Horwell Toby Roberts …oraz specjalne podziękowania dla Eric’a Whitmore’a za jego wkład w rozdział CCG traktujący o parowozach i systemie pary. Jego wkład był bezcenny i pozwolił nam na udzielenie wielu odpowiedzi na zapytania twórców dodatków, jakie pojawiały się po dodaniu w TRS 2004 obsługi lokomotyw parowych i systemu pary. Ogólne podziękowania kierujemy takŜe do szeroko rozumianej, międzynarodowej społeczności Trainz, za udzielanie się na forach internetowych twórców dodatków TRS i za posty zawierające wiele cennych uwag, podpowiedzi i sugestii. Na koniec chcielibyśmy przesłać specjalne podziękowania dla Ian’a Manion’a za jego „zapaśniczą” walkę podczas składania pojedynczych fragmentów, porad i rozdziałów w całość pt. „CCG”. To dzięki jego niestrudzonemu wysiłkowi i dociekliwości powstał ten tom Content Creators Guide, który masz teraz przed swoimi oczami. Wspaniała robota!

Henk Plaggemars

wraz z resztą załogi Brew Crew

grudzień 2004 W tym miejscu równieŜ moje podziekowania dla Chestera z Polish Trainz Team, za merytoryczne sprawdzenie tłumaczenia, korektę i wiele cennych uwag. Dziękuję

Jac(e)k Norris

Tłumaczenie z angielskiego oryginału:

Jac(e)k Norris Konsultacja merytoryczna i korekta:

Chester Polish Trainz Team Lipiec/Sierpień 2006

Trainz Railroad Simulator 2004 – Przewodnik Twórcy (CCG) Wersja 1.04

193

* * * * * *