Facebook

Statistika

Online

< návrat zpět

Převod módů pro patch 1.4.1

Jak převést mapu z 1.3.1 na 1.4.1

  • V průběhu operace převodu je vhodné spustit hru s parametrem -unlimitedlog aby se zajistilo, že si budete moci prohlédnout všechny chybové zprávy
  • Pokud jste přidali nové země, zkontrolujte, zda hodnoty country_id nejsou v rozporu s těmito zeměmi, které jsme přidali. V opačném případě jim musíte přiřadit nové identifikátory (viz Změny ve státech).
  • Aktualizujte soubor company.sii do nového formátu, nebo alespoň nahraďte původní lomy do jedné z důlních společností (viz Změny v quarries (lomech) *poznámka Golfin: Lom jako důl, nikoliv lom jako lomítko, scriptové označení* a Změny v souborech, které obsahují seznamy objektů).
  • Vytvoření definice vztahu company-prefab (viz Změny v definici company)
  • Načťete mapu v editoru. Pokud je zatížení velké, načítání selže. Zkontrolujte log a opravte `chyby.
  • V případě potřeby aktualizujte identifikátory států pro hraniční uzly.
  • Použijte tlačítko přepočítat (F8) pro regeneraci mapy.
  • Uložte mapu.
  • Vytvořte soubor .mat pro nové textury měst /material/overlay. (viz Změny v city sign overlays)
  • Převeďte roads (cesty) na nový formát (viz Změny v road.sii)
  • Převeďte definici frekvence AI do nového formátu (viz Změny v definici AI)
  • Převeďte definici Company vstupů/výstupů do nového formátu (viz Změny v definici Company)

Informace o změnách

Změna v physics.sii

Byla změněna interpretace thrust_characteristic_viscosity v datech fyziky. To je nyní nově opatřeno měřítkem točivého momentu motoru (torque). Při načítání verze struktury 0, je hodnota dělena číslem 1875, aby se přiblížila nové hodnotě.

Změny v doplňcích interierů

Intenzita podsvícení palubní desky je konfigurovatelná pomocí atributů panel_intensity_min a panel_intensity_max.

Změny v inital save

Společnosti a garáže jsou automaticky detekovány a neměly by být v tomto souboru.

Změny v souborech, které obsahují seznamy objektů (např. /def/city.sii).

V některých případech si hra načte seznam objektů pro jednu kategorii (např. traffic vehicles, cargoes, cities, countries, models, prefabs, signs,...). Dříve tam byl jen jeden soubor s tímto seznamem pro každou kategorii a toto způsobovalo zbytečné konflikty mezi mody a to i v těch případech, kdy mod jen chtěl přidat nové objekty do kategorie.

Pro 1.4 patch jsme rozšířili podporu povolení více než jednoho souboru nejdůležitějších kategorií, kde to má smysl. V takovém případě hra bude kombinovat seznamy nacházející se ve všech těchto souborech. Další soubory musí být pojmenovány následujícím způsobem: "base_file.id_vašeho_modu.sii". Kde base_name je název základního souboru bez přípony (např. "city" v "/def/city.sii") a id_vašeho_modu je nějaký řetězec, který je pravděpodobně v rozporu s jiným modem. Věnujte pozornost ujištění, že přidáním předpony nebo přípony názvy jednotek v těchto souborech nebudou konfliktní mezi soubory.

*Poznámka Golfin: jak jsem to pochopil, lze nyní přidávat nové položky, např. druh zboží, města, atd. A aby se zabránilo konfliktům, je nutno pojmenovat danný soubor předponou k dannému přidanému druhu (např cargo. u druhu zboží, city. u měst, company. u společností atd - je nutné zachovat stávající názvy z originální hry) a pak za tečkou příponou, která definuje vlastní název z modu. Tedy zkusíme li si příklad, mohlo by to být u cisternového mléka asi takto: cargo.cisterna_mleko.sii. Nebo přidáme město: city. cheb.sii .Doufám, že se nemýlím. Dyžtak otestuji a případně přepíši.*

Pouze tyto soubory podporují toto nové nastavení.

  • /def/cargo.sii
  • /def/city.sii
  • /def/company.sii
  • /def/country.sii
  • /def/ferry.sii
  • /def/camera/camera_storage.sii
  • /def/camera/cutscene.sii
  • /def/vehicle/addon_hookup_storage.sii
  • /def/vehicle/traffic_storage.sii
  • /def/vehicle/trailer_storage.sii
  • /def/vehicle/trailer_traffic_storage.sii
  • /def/vehicle/truck_traffic_storage.sii
  • /def/world/building_model.sii
  • /def/world/building_scheme.sii
  • /def/world/detail_vegetation_def.sii
  • /def/world/hinge.sii
  • /def/world/model.sii
  • /def/world/mover.sii
  • /def/world/overlay.sii
  • /def/world/prefab.sii
  • /def/world/railing.sii
  • /def/world/sign.sii
  • /def/world/terrain_profile.sii
  • /def/world/trigger_action.sii
  • /def/world/tr_lights.sii
  • /def/world/vegetation.sii
  • /def/world/vegetation_model.sii
  • /def/world/road_look.sii

Změny v road.sii

Dříve byly silniční vzhledy definovány v road.sii. Tak docházelo ke zbytečným konfliktům mezi mody, jež se snažily přidat různé pohledy.

Pro 1.4 patch jsme extrahovali definici roads a oddělili do souboru road_look.sii, který podporuje přidané nastavení uvedené výše. Všimněte si, že v této době tam není žádná taková podpora definice materiálů.

Pro zachování částečné zpětné kompatibiliy, v případě, že pole road_look se nachází v road.sii, se používá namísto obsahu souboru road_look.sii. Další seznamy souborů budou připojeny.

Změny ve státech

Tím, že jsme přidali další státy, je možné při použití příliš nízké hodnoty country id, že nastane konflikt (uvede se to v logu). V takovém případě je třeba přiřadit nové country id pro váš stát (je doporučeno používat hodnoty ze seznamu uvedeného v komentáři uvnitř souboru country.sii), načíst mapu, zafixovat úkoly států na hranicích prefabs a přepočítat (F8) mapu.

Nezapomeňte, že budeme přidávat další státy v budoucích DLC, je doporučeno použít hodnotu country_id ze seznamu, nebo alespoň použít vyšší hodnoty. Nemají být kontinuální a hodnoty až do 255 jsou platná.

Byly přidány další pomocné příkazy:

  • g_next_border_node - Cykly mezi jednotlivými uzly, které definují hranice států
  • mark_country id - Který označuje položky, které patří do uvedeného státu na mapě UI. Pokud je na mapě vidět, když je vydán příkaz, musíte ji skrýt nebo měnit úroveň zoomu pro geometrii k regeneraci.

Změny v AI definici

Dříve byla četnost jednotlivých typů vozidel AI v dané zemi definována v seznamu uloženého v souboru .sii pro příslušné země. Typ vozidla, které nebylo součástí seznamu není vygenerováno v tomto státě. Toto vytvářelo zbytečné konflikty mezi mody, které se snažily přidat AI vozidla a dokonce i základní hru samotnou (např. chybějící OPALIN bus).

Pro 1.4 patch jsme extrahovali informace do samostatných souborů pojmenovaných "/def/country/<country_name>/ai/<vehicle_type>.sii", kde <country_name> je název státu a <vehicle_type> je typ vozidla. Soubor určuje frekvenci (viz herní data pro více informací), se kterým se uvedené vozidlo objeví (např. frekvence 3 způsobí, že vozidlo bude mít třikrát větší pravděpodobnost, než za normálních okolností). Frekvence je reprezentována jako desetinné číslo z rozsahu intervalu <0;10> s přesností na 0,1. Pokud je frekvence nula, vozidlo není generováno v tomto státě. Pokud v souboru pro uvedenou kombinaci státu vozidlo neexistuje, bude použita výchozí frekvence 1.

Chcete-li zachovat částečně zpětnou kompatibilitu, bude hra respektovat traffic_cars pole, včetně původního nastavení nezahrnutého vozidla, pokud nový adresář pro tento stát neexistuje.

Změny v definici company

Dříve byly druhy nákladů, které vznikali nebo spotřebovávali company byly definovány v seznamech uložených v souboru sii pro příslušnou společnost. Takto docházelo ke zbytečným konfliktům mezi mody, které se snažily přidat různý náklad.

Pro 1.4 patch jsme extrahovali informace do samostatných souborů uložených v "/def/company/<company_name>/in/" a "/def/company/<company_name>/out/". Zatímco přesné názvy souborů nejsou důležité, je vysoce doporučeno, používat stejný název k odpovídajícímu nákladu (např. "digger500.sii" pro "cargo.digger500"). Každý soubor určuje název jednoho nákladu (viz herní data pro více informací), které mají být spotřebovány (in), nebo vytvořené (out). Je-li název nákladu prázdný, bude ignorován odpovídající soubor. To lze použít pro potlačení nežádoucích nákladů.

Pro zachování zpětné kompatibiliy, pokud company soubor obsahuje staré in_cargo/out_cargo seznamy, hra je připojí do seznamu vytvořeného ze souborů.

Pro správnou podporu company v editoru, je nutné mít pro každou existující kombinaci company a city definiční soubor /def/company/<company_name>/editor/, který určuje kombinace názvu města a názvu prefabu (např. 67 pro prefab.67), který se používá k zápisu společnosti do tohoto města. Název souboru, sám o sobě není důležitý. Pokud obě jména nejsou nastaveny, je soubor tiše ignorován. Všimněte si, že pokud více než jeden soubor (včetně přítomných jiných modů přítomných v adresáři mod) určuje stejnou kombinaci city a prefabu, editor použije jednu z nich zdánlivě libovolně.

Pokud uvidíte "Company assignment failed for item ..." chybové hlášení, neexistuje definiční soubor pro kombinaci odpovídající prefab a city

Změny v quarries(Lomech)

Pro zjednodušení manipulace se sloučily quarry (lomy) do jedné společnosti. Při načítání starších uložených pozic, může záznam obsahovat chybové zprávy o chybějících důlních společnostech. To je očekávané chování. Pokud váš mod změní soubor /def/company.sii, je možné, že nebude načtena definice pro starý quarry (lom) společnost, které nejsou ani součástí základního def.scs souboru.

Změny v /custom složce

custom využívá .sii soubory (např. signs.sii, models.sii ...) uložené v tomto adresáři, které jsou zastaralé a měly by být nahrazeny seznamem výše popsaným systémem. Z důvodu zpětné kompatibility jsou stále podporovány v 1.4 patchi. A však, v budocích aktualizacích můžou být vymazány.

Změny v map formátu

Změnili jsme formát mapy, který umožní simultánní editaci více než jedním uživatelem. To by mělo také umožnit současné rozšíření mapy o více než jeden mod za předpokladu, že působí v různých částech mapy a je vzata na vědomí dostatečné péče. Starý formát mapy může být stále načten do editoru, pro jeho konverzi do nového formátu.

Sectory

V novém formátu je mapa rozdělena do mřížky s pevnou velikostí sektorů.. Mbd soubor nyní obsahuje pouze základní informace o metadatech. Veškeré další informace jsou uloženy jako sada souborů v odpovídajících podadresářích (např. "/map/europe/" pro "/map/europe.mbd"). Výsledná mapa, jak je vidět ve hře nebo v editoru je kombinací všech odvětvích nalezených v tomto podadresáři bez ohledu na .scs pack, která je z něj načítána (obvyklý přetěžující soubor stále platí).

Obvykle pouze sektory, které obsahují skutečné změny jsou aktualizovány při uložení mapy. Je však možné, že různé nepřesnosti při přepočtu mohou způsobit některé další sektory, které mají být také změněny. Pokud víte, že jste neměnili v žádném případě tento sektor, můžete ignorovat změnu v jeho souboru. Další způsob je použití blokovací funkce Příkaz edit_mark, příkaz k zablokování všech sektorů, které nechcete upravovat než začnete provádět změny. Uzamčení sektoru bude bránit tomu, aby byla provedena změněna v sektoru, který je uzamčen v době uložení, neuloží se.

UID

Objekty jsou identifikovány pomocí 64-bitového identifikátoru (UID), který musí být jedinečný v celé mapě. Část UID je založen na vytvoření a doba odpočinku je založena na náhodných a sekvenčních obvodech. Zatímco konflikty jsou nepravděpodobné, aby se to dělo náhodně, může se stát, když je velký počet objektů vytvořen ve stejném okamžiku dvěma editory. Pokud více editorů pracuje současně na mapě, můžete použít novou g_artist_id cvar (poznámka Golfin: zde nevím jak to slovo cvar přeložit), nastavit tak pevnou část UID (0-15) s cílem zajistit, že se takový konflikt mezi nimi nemůže stát. Důvodem konfliktu spíše bude, když dva sektory mapy obsahují stejný předmět. Například, když se předmět pohyboval mezi sektory a změny ve zdrojové oblasti byly z nějakého důvodu ztraceny, nebo v případě, že zdroj sektoru je zatížen nějakým modem podle varianty, která stále obsahuje objekt.

Je-li detekován konflikt, sektor se nenačte a log bude obsahovat informace o UID objektu jméno a jedno ze sektoru, který je součástí konfliktu. V takovém případě můžete dočasně odstranit soubory pro daný sektor, načíst mapu v editoru a použít funkci "find" a vyhledejte další kopii problematického objektu a smažte ho.

Změny v PMG souborech

Pro zvýšení výkonu při načítání, jsme změnili rozložení souboru, aby odpovídal rozvržení vyrovnávacích pamětí používaných ve hře. Hra stále načítá i starší formát, ale pomaleji.

Nový 0x506d6713 formát ukládá atributy vertexů jako prokládané:

  • Pokud model není animovaný (bone_count == 0) atributy pro jeden vertex jsou uloženy společně ve statické skupině a krok je sizeof (všechny vertex atributy) is sizeof(all vertex attributes
  • Pokud je model animovaný (bone_count! = 0) atributy pro jeden vertex se dělí na statické a dynamické části z nichž každá má svůj specifický krok
    • static : sizeof(colors (u32) + colors2 (u32 if present) + texcoords (float2 * coord_count))
    • dynamic: sizeof(positions (float3) + normals (float3) + tangents (float4 if present))

Offset pole v záhlaví poukazují na odpovídající atribut uvnitř prvního vertexu.

Změny ve flares

Model atributu flare_traffic_light nyní obsahuje přímo cestu k souboru modelu PMD místo názvu šablony objektu. V důsledku toho není možné určit variant a look. První variant a look nalezený v modelu bude použit.

Změny v city sign overlays

Chcete-li zlepšit rozšiřitelnost, city sign overlays ještě nejsou součástí jednoho modelu. Každé město má svůj vlastní samostatný materiál souboru /material/overlay, jehož název odpovídá názvu v /def/world/overlay.sii (viz Změny v souborech, které obsahují seznamy objektů).

Additions


Příkaz edit_mark

Přidali jsme do konzole příkaz edit_mark, který může být použit z editoru. Zdůrazní nastavení sektorů (v editoru), nebo je chrání proti náhodným změnám při editaci mapy. Provedené změny se projeví tímto příkazem za běhu, pouze se neuchovává uložení.

Spuštění příkazu bez parametru vypíše všechny varianty. K dispozici jsou následující varianty:

  • edit_mark set sector_file [hexadecimalcolor]
    Označí všechny sektory ze souboru s uvedenou barvou.Zelená barva se používá, pokud není žádná barva k dispozici. Sektory, které nejsou uvedeny v souboru, jejich označení bude beze změny.
  • edit_mark set_all hexadecimalcolor
    Označí všechny sektory určenou barvou.
  • edit_mark intersect first_file second_file [hexadecimalcolor]
    Označí všechny sektory nalezené v obou souborech s vybranou barvou. Zelená barva se používá, pokud není žádná barva k dispozici. Sektory mimo uzel budou mít označení beze změny.
  • edit_mark clear_all hexadecimalcolor
    Odstraní označení ze všech sektorů.
  • edit_mark lock [sector_file]
    Zamkne všechny sektory od zadaného souboru nebo všechny sektory, pokud není žádný soubor k dispozici
  • edit_mark unlock [sector_file]
    Odemkne všechny sektory ze zadaného souboru nebo všechny sektory, pokud není žádný soubor k dispozici

Některé varianty příkazu zavádí soubor definující nastavení sektorů, které používají úplnou cestu v systému souborů. Jen "/" musí být použit jako oddělovač adresáře. Tento sektor má soubor na každém řádku dvojici čísel oddělených středníkem. Čísla představují souřadnice sektoru v mřížce. např.

-06;+07
-07;-01

mark_country command

Označí roads a prefabs, které patří k zemi s uvedeným country_id na mapě ve hře. Po vydání příkazu, UI-map je třeba regenerovat mapu (klávesa F8 pro přepočítání mapy), aby skryla nebo změnila úroveň zvětšení.

g_next_border_node command

Přesune kameru editou do dalšího uzlu označeného jako hranice. Opakované použití tohoto příkazu bude cyklus přes všechny tyto uzly. Může být použit na fix/zkontrolovat přiřazení country, pokud jste měnili country id.

Autor:icon golfin
Zdroj: SCS Software Modding guides for 1.4.1

Komentáře rss


Nebyly přidány žádné komentáře.