Penumbra Black Plague na moderních systémech a problémy s češtinou

Penumbra: Black Plague je poměrně známá hororová hra z pohledu první osoby z roku 2008. Protože se i po všech těch letech jedná o vysoce kvalitní hru, která nabízí ultimátní hororový zážitek, není divu, že mnozí z nás zatouží si ji občas zahrát i dnes, na moderních systémech. Naštěstí to z větší části není problém, přesto se občas najde pár problémů. Následující text se týká nativní linuxové verze hry, konkrétně Steam verze.

Prvním problémem, se kterým se někteří mohou setkat, je padání po aplikaci češtiny. Jedná se o tu primární češtinu, jejíhož autora se mi nepodařilo dohledat. Vzhledem k tomu, že obsahuje i dabing, se nejspíše jedná o standardní součást hry z retail CD/DVD distribuovaného v našem regionu, tedy o oficiální češtinu dodavatele. Čeština je skvělá, obsahuje i textury a zmíněný dabing, dokonce i diakritiku – a zde nastává ten problém.

Čeština obsahuje sekci <CATEGORY Name=“SaveNames“>, která definuje názvy jednotlivých lokací, aby se následně propsaly do názvů uložených pozic.
Celé to vypadá následovně:

<CATEGORY Name="SaveNames">
    <Entry Name="level01_cells">Cely</Entry>
    <Entry Name="level02_vents">Ventilační šachty</Entry>
    <Entry Name="level03_messhall_entrance">Vstup do jídelny</Entry>
    <Entry Name="level04_messhall">Jídelna</Entry>
    <Entry Name="level05_sewers">Kanalizace</Entry>
    <Entry Name="level12_mental_realm">Snová říše</Entry>
    <Entry Name="level06_dr_swansons_room">Pokoj doktorky Swansonové</Entry>
    <Entry Name="level07_residental_corridors">Obytné chodby</Entry>
    <Entry Name="level13_library">Knihovna</Entry>
    <Entry Name="level14_cave">Jeskyně</Entry>
    <Entry Name="level08_computer_room">Počítačová místnost</Entry>
    <Entry Name="level09_storage_room">Sklad</Entry>
    <Entry Name="level10_machine_room">Strojovna</Entry>
    <Entry Name="level11_infirmary">Ošetřovna</Entry>
    <Entry Name="level15_outside">Venkovní prostory</Entry>
    <Entry Name="level20_examination_room">Vyšetřovna</Entry>
    <Entry Name="level18_research_room">Výzkumná místnost</Entry>
    <Entry Name="level16_infected_corridors">Zamořené chodby</Entry>
    <Entry Name="level17_kennel">Psinec</Entry>
    <Entry Name="level21_hivemind_01">Ústřední mysl</Entry>
    <Entry Name="level21_hivemind_02">Ústřední mysl 1</Entry>
    <Entry Name="level21_hivemind_03">Ústřední mysl 2</Entry>
    <Entry Name="level21_hivemind_04">Ústřední mysl 3</Entry>
    <Entry Name="level19_chemical_laboratory">Chemická laboratoř</Entry>
  </CATEGORY>

Pokud se hra pokusí na moderních systémech typu openSUSE Tumbleweed či Arch Linux, případně snad i jiných, starších distribucí (každopádně jsem na ten problém kolem října 2020, při minulém hraní, nenarazil) zapsat takto s diakritikou do „~./frictionalgames/Penumbra„, dochází k následující chybě:

terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::resize

Jinak řečeno, alespoň odhadem podle chyby, dojde k překročení limitu na délku znaků, ačkoli se o délku jako takovou vůbec jednat nemusí, diakritika je pravděpodobně interpretována způsobem, který to způsobí.

Řešení je jednoduché – odstranit veškerou diakritiku v této kategorii. Takto upravená (či v tomto případě opravená) čeština je následně ke stažení níže. V podobě, v jaké se ke mě dostala, neobsahovala žádné licenční ujednání ani popis autora. Nemyslím si však, že by její nepatrná úprava, někoho dotkla, zvlášť, když jde o její zfunkčnění na současných systémech.

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *