Régóta halogattam ezt az átállást a H9 pályán, de mióta visszafelé is haladok, rászántam magam a csv fájlok szétszedésére, mint ahogy azt a "nagyoktól" is láttam. Először csinálok ilyet, így a blog adta lehetőségeket kihasználva megint feljegyzem a folyamatot magamnak. Remélem más is kedvet kap hozzá, mivel hosszútávon sokkal jobban megéri ezzel a módszerrel megírni a route fájlokat, és annyira nem is bonyolult. Nézzük, miről van szó:
A lényege annyi lenne, hogy a Route mappában ugyanúgy megmarad az összes csv fájlunk, csak azokban pár módosítást hozunk létre. Több csv. esetén megéri ehhez folyamodni, aki csak 1 pályát hoz létre 1 irányban, annak megfelelő a hagyományos módszer is, de pályarendszerek esetén jobban járunk ezzel a "darabolással". Példának a Sólyomvár pályát ajánlom, én is onnan tanulom ezt a módszert.
Az Object mappában létre kell hozni egy új mappát, ez a Sólyomváron az OpenBVE mappa, nálam csak szimplán AAA mappa lesz. Itt fognak sorakozni az .include-ok. Ezeket az includokat ugyanúgy kell létrehozni, mint a b3d, csv, stb-ket, és a több adat, hosszabb sorok itt lelhetők majd fel. Konkrétan ezekben a fájlokban fogunk építeni. A régi csv fájlok szétdarabolása lesz a tartalma az include-oknak.
H8_Options.include - Kezdjük a csv-k Options részével, megnyitjuk az egyik csv-t és kimásoljuk azt, ami az Options szakasznál található. Így az összes csv-ben erre az include-ra fogunk hivatkozni, így egységesen ezek az opciók lesznek érvényben.
H8_Structure.include - Hasonlóan az előzőhöz, most a With Structure rész következik, az összes objektumot átmásoljuk az include-ba. Fontos, hogy minden csv-ben ugyanazokat a Freeobj indexszámokat használjuk, mert mostantól ez lesz az egységes alap, az összes csv-ben innen veszi majd, hogy melyik objektumot, vagy groundot használja fel. Viszont mostantól ha egy új objektumot adunk meg (vagy keresünk), nem kell felgörgetni a csv elejére, hanem csak megnyitjuk ezt az include-ot, és ide beírjuk. Innentől elég lesz mindent egyszer megadni, nem kell az összes csv-be egyesével beírogatni, vagy másolgatni. Ennek a módszernek ez is lenne az egyik lényege, hogy összeállítunk egy nagy, egységes Structure-t, ahonnan a későbbiekben majd tetszés szerint válogathatunk.
With Track include-ok - Az összes csv-t is másoljuk át ebbe az Object/"pálya neve"/AAA mappába, majd mentés máskénttel a csv kiterjesztésből include kiterjesztésre váltunk, és mindent kitörlünk a With Track szakasz elől. (mivel az Options és a Structure-t már megadtuk). Hosszabb pályákat még tovább darabolhatunk, mint ahogy a Sólyomvár is 4 szakaszból áll. Ez a 120A-n nekünk is jól fog majd jönni, mert kis módosítással a RouteViewer csak az adott szakaszt tölti be, így gyorsabban lehet frissíteni vele. El sem lehet mondani, hogy mekkora segítség lesz majd, amikor fél centivel tologatunk sínobjektumokat mondjuk Rákoson és az RV nem fogja frissíteni a gépgyilkos Keleti objektumot meg az ötszáz flirtöt.
Új csv-k - Ha ezzel megvagyunk, akkor ugorjunk vissza a Route mappába és állítsuk össze az új csv fájlokat. Segítségnek nyissuk meg a régi csv-t is, és onnan másoljuk át, ami kell. A szabály az lesz, hogy ami mindegyik csv-ben ugyanaz, ott hivatkozunk az include-ra, ami viszont az adott szolgálat egyedisége, azt átmásoljuk a régiből.
- With Options: Az első parancs, ez egységes, így itt hivatkozni fogunk (alá):
$include(../../Object/H9/AAA/H8_Options.include)
$include(../../Object/Solyomvar/OpenBVE/Solyomvar_Options.include)
Így néz ki nálam, és a Sólyomváron ez a rész. Itt adjuk meg a csv-ben, hogy a következő részt "tartalmazza" és hivatkozunk a fájlra, amit szeretnénk ennek a parancs helyében látni. Így itt bemásolja azt, amit az AAA mappában lévő H8_Options.include tartalmaz. Olyan, mintha odaírtuk volna egyesével. - With Route: Ez az a rész, ami minden egyes csv-ben egyedi lesz, főleg a .Comment és a .Timetable, de az se baj, ha mindegyik útiránynak más borítóképet (Image) adunk meg. Itt kimásoljuk a régi csv-ből a sorokat.
- With Train: Ugyanolyan parancs, mint az előző. A csv sajátossága, hogy milyen alapértelmezett vonatot adunk meg, így ezt is minden egyes csv esetén variálhatunk.
- With Texture: Újabb egyedi rész.
- With Structure: Itt viszont megint az include fájlra fogunk hivatkozni:
$include(../../Object/H9/AAA/H8_Structure.include)
$include(../../Object/Solyomvar/OpenBVE/Solyomvar_Structure.include) - With Track: Újabb hivatkozás, összeszedjük a maradék include-okat. Ha többet használunk fel, mint a Sólyomváron is, akkor a sorrendre oda kell figyelni. Pl ott "Solyomvar_Track_Szakasz-1.include" majd _Szakasz-2., 3. 4. viszont amikor gyakoroltam rajta a megfordítást, akkor a fordított csv-ben először a Szakasz4vissza jött. Szóval ahogy az include-ban is jönnek sorban a távolságok, úgy kell itt is megadni egymás alatt. Körülbelül ennyi is lenne
Mostantól az Object mappában ezekben az include-okban fogunk dolgozni, egyszerre többet is meg kell nyitni, de innentől úgy variáljuk, ahogy szeretnénk. Tényleg ajánlatos nagyobb pályákban szétdarabolni a With Track szakaszt, és a pályaépítés során a csv-nek csak azt az 1 szakaszt megadni, amin dolgozunk, max beírjuk még azt a pár alap parancsot a 0 távolság után. Ha ésszel adjuk meg a távolságokat, akkor pályarendszereket is ki lehet alakítani, ahol csak ezeket a szakaszokat írjuk meg és a közös útvonalakon ugyanúgy lehet rá hivatkozni. De a leírtakon kívül bármire lehet hivatkozni, az Erdőépítő is hasonlóan dolgozik. Szerintem a .include formátum sem kötelező, ha txt-ben adjuk meg, akkor arra hivatkozunk. Sok variáció fennáll, aminek csak a fantáziánk szab határt. Mint ahogy az OpenBVE többi területén, itt is meg van adva a szabály, de azt, hogy mire használjuk, már ránk van bízva. Mindent meg lehet építeni nagyon sok módszerrel, csak rá kell jönni ezekre. Épp ez a szép a pályaépítésben.