Author Topic: Malý návod na editaci již hotové hry.  (Read 5479 times)

0 Members and 1 Guest are viewing this topic.

Offline jk271

Malý návod na editaci již hotové hry.
« on: January 25, 2013, 11:18:49 PM »
Představte si, že máte již hotovou hru, úpravám terénu, umisťování měst a tratí jste věnovali spoustu času a najednou zjistíte, že máte špatně nastavené bits_per_month nebo se semafory zobrazují na levé straně místo na pravé. Teď co s tím? Můžete hru zahodit a začít od začátku se správným nastavením. Ale jde to i jinak.

Existují dva způsoby, jak editovat již hotovou hru.
1) Pomocí hexeditu
   
2) Pomocí textového editoru.

Pozn.: Návod jsem rozdělil jsem to do více příspěvků pro snažší editaci.

část 1 z 4

Offline jk271

Re: Malý návod na editaci již hotové hry.
« Reply #1 on: January 25, 2013, 11:20:52 PM »
Editace uložené hry pomocí hexeditu.

Editace pomocí hexeditu je rychlejší a méně náročná na volné místo na disku a výkon počítače.
Mezi nevýhody patří: nutnost instalace hexeditu a nutné jsou vyšší znalosti práce s počítačem.

Postup
1) Nainstalujte si (pokud již na svém počítači nemáte):
    hexedit
    bzip2 (pokud ukládáte hry komprimované)
    file (program)
Pozn: Na linuxu by měly byt oba dva programy nainstalovány. Pro Windows doporučuji použít Cygwin.

2) Vytvoříme kopii souboru s uloženou hrou. Veškeré úpravy provádíme na kopii, nikoliv na původním souboru! Co kdyby se něco nepovedlo.

cp simutrans/save/hra_k_editaci.sve kopie_hry.sve

3) Zjistím v jakém formátu je hra uložena.

file kopie_hry.sve

Pokud program file hlásí:
bzip2 compressed data, block size = 900k

je třeba soubor dekomprimovat:

bzip2 -d kopie_hry.sve

Program bzip2 nejpíš zobrazí chybovou hlášku, protože očekává název souboru jako neco.bz2. Na výsledek to nemá vliv.

4) Otevřete rozbalený soubor v hexeditu.

5) Upravte data v souboru. Pozor na to co měníte. Úpravy provádějte jen pokud víte co měníte.
Formát souboru se dá vyčíst ze zdrojových kódů. Nastavení najdete v souboru dataobj/einstellungen.cc ve funkci rdwr.

Čísla jsou ukládána jako "little-endian" - tj. začínají nejméně významným bytem a končí nejvíce významným.

Hexedit zobrazí čísla v šesnáctkové soustavě. Zde může pomoci kalkulačka.
Například volbu bits_per_month nastavenou na 18 uvidíte jako 12 (vlastně 1200 protože tato konfigurační proměnná zabírá 2 byty)

K orientaci poslouží některé známé nastavení (bits_per_month, station_coverage, ...)

Částečný popis formátu najdete v 4. příspěvku.

6) Nahrajte změněný soubor do adresáře s uloženými hrami.

7) Otevřete změněnou hru a zkontrolujte, zda-li se změna projevila (Jestli jste náhodou nezměnili něco jiného)

část 2 z 4

Offline jk271

Re: Malý návod na editaci již hotové hry.
« Reply #2 on: January 25, 2013, 11:22:32 PM »
Editace hry pomocí textového editoru

K tomuto postupu nepotřebujete hexedit ani další programy (file, cygwin, bzip2 apod.). Stačí vám pouze textový editor schopný otevřít a editovat VELKÝ soubor.
Na druhou stranu potřebujete spoustu místa na disku a taky operační paměti.

Jen pro srovnání:
    Komprimovaná hra    -       12 751 571B (~13MiB)
    Rozbalená hra            -       97 111 362B (~97MiB)
    Hra uložená jako xml - 1 171 048 588B (1171MiB)

1) Upravte nastavení v souboru config/simuconf.tab:
Změňte volbu saveformat na xml.
Původní zastavení si zazálohujte (např. zakomentováním)

2) Pomocí simutrans načtěte uloženou hru.

3) Hru uložte pod JINÝM názvem. Hra se uloží ve formátu xml.

4) Otevřte soubor v textové editoru. Ne každý textový editor toto zvládne! Otevírání souboru bude chvíli trvat.
Pozn.: Poznámkový blok ve Windows toto nezvládne.

5) Upravte nastavení.

6) Uložte provedené změny.

7) Obnovte zpět nastavení měněné v kroku 1)

8 ) Načtěte změněnou hru.

9) Hru uložte (nyní už ne jako xml).

10) Odstraňte přebytečný velký soubor s uloženou hrou ve formátu xml.

část 3 z 4
« Last Edit: February 16, 2013, 06:13:29 PM by jk271 »

Offline jk271

Re: Malý návod na editaci již hotové hry.
« Reply #3 on: January 25, 2013, 11:24:39 PM »
Soubor s uloženou hrou - vnitřní struktura

Nastavení hry je na začátku souboru, není však na úplném začátku
Soubor s uloženou hrou obsahuje z nastavení následující položky. Jsou seřazené, tak jak jsou za sebou. Je však možné, že mi některá položka unikla.


4B šířka
4B číslo mapy
4B factory_count (asi počet továren)
4B electric_promile
4B tourist_attractions
4B mittlere_einwohnerzahl
4B anzahl_staedte
4B verkehr_level
4B show_pax
2B grunwasser
8B (double) mountain height
8B map roughness
4B station_coverage
4B groesse_y (rozměr sever-jih)
1B allow_player_change
1B use_timeline
2B startinig_year
2B bits_per_month
?B (bool) first_beginner
(bool) just_in_time
1B rotation
8x2B climate_borders
2B winte_snowline
2B diagonal_multiplier
2B origin_x
2B origin_y
4B passenger_factor
4B passenger_multiplier
4B mail_multiplier
4B goods_multiplier
4B electricity_multiplier
4B growth_factor_small
4B growth_factor_medium
4B growth_factor_large
4B factory_worker_percentage
4B tourist_percentage
4B factory_worker_radius
4B electric_promile (?? proc je to tam podruhé??)
2B min_factory_spacing
(bool) crossconnect_factories
2B crossconnect_factor
(bool) fusgaenger
4B stadtauto_duration
(bool) numbered_stations
2B num_city_roads

cast 4 z 5

Offline jk271

Re: Malý návod na editaci již hotové hry.
« Reply #4 on: January 25, 2013, 11:27:08 PM »
N krat:
     ?B text
     2B
     2B
 2B num_intercity_roads
     ?B text
     2B
     2B
 4B max_route_steps
 4B max_transfers
 4B max_hops
 4B beginner_price_factor
 ?B text
 16x: AI
     (bool)
     1B
 4B starting_money
 ...
 
 Zbytek bude (možná ) doplněn někdy později.
 Proto je tento poslední pátý příspěvek kratší, abych měl kam vkládat zbytek popisu. Komentáře pište normálně pod tento příspěvek.

část 5 z 5

Offline Leif

Vrácení času
« Reply #5 on: September 30, 2014, 03:51:04 PM »
Chtěl bych se zeptat, můj Táta má rozehranou hru, měl tam cca 70-tý léta a nějakým spůsobem se dostal do roku 2040, a chtěl by rozehranou hru nastavit spátky na rok cca 1975. Lze to nějak u již rozehrané hry?

Offline Vladki

Re: Malý návod na editaci již hotové hry.
« Reply #6 on: September 30, 2014, 11:03:56 PM »
Zkus si v konfiguraku zmenit format ukladani hry na xml. Pak ten save muzes editovat. Me se tak podarilo napr. zrusit contrakt mezi fabrikama, takze drzim palce ;)