České znaky v linuxové verzi NWN – řešení

Různé rady a řešené problémy a návrhy

Moderátoři: Dungeon Servant, World Builder, Dungeon Master

Odpovědět
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

České znaky v linuxové verzi NWN – řešení

Příspěvek od Anade »

Napsal jsem knihovnu pro použití české klávesnice v NWN v Linuxu.
Stačí knihovnu nakopírovat do adresáře NWN a nwmain spouštět takto:
LD_PRELOAD="./libNWNcp1250.so" nwmain "$@"
Ke stažení na nwvault: libNWNcp1250.tar.gz
EDIT: Je potřeba mít funkční českou klávesnici libovolného rozložení. Nefungují znaky Ó, É, Ň (jen verzálky). Místo znaku Č (který taky klient NWN nebere) je generován znak Ç, který se ovšem zobrazuje českým fontem jako Č (týká se také jen verzálky).
Pro kompilaci je třeba mít instalovanou knihovnu SDL (Simple Directmedia Layer) včetně hlavičkových souborů (balíček libsdl1.2-dev).
Mnou zkompilovaná knihovna v archivu použila SDL verze 1.2.13, ale neměla by být závislá na konkrétní verzi SDL (já ji spouštím proti verzi 1.2.11). Využívá se volání existující knihovny SDL, kterou nwmain (i moje knihovna) očekává v podadresáři lib (tedy nevyužívá se systémová knihovna, ale lokální). Pokud jste odstranili z proměnné LD_LIBRARY_PATH adresář ./lib, měla by se využívat systémová knihovna.
Naposledy upravil(a) Anade dne 8. 10. 2009 16.35, celkem upraveno 14 x.
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Příspěvek od merlik »

No jen co přijdu domu, tak to vyzkoušim :)
Uživatelský avatar
koulinek
Příspěvky: 317
Registrován: 26. 12. 2007 13.57
Bydliště: nedaleko HK \ toulá se někde po desce
Kontaktovat uživatele:

Příspěvek od koulinek »

Jó, tak to taky hnedkaj vecer otestuju, a nahlasim zkusenosti!
Rumbard Tarkaren

Lepší pomalu přežívat než rychle umírat!
Uvidíte-li mě utíkat, snažte se mě předběhnout!
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Příspěvek od merlik »

Koukal jsem do kódu - jednoduchost sama :) = krása. Tohle vědět, tak se k tom odvážím taky ;)
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

Příspěvek od Anade »

merlik píše:Koukal jsem do kódu - jednoduchost sama :) = krása. Tohle vědět, tak se k tom odvážím taky ;)
Ale stálo mě to spoustu zjišťování. Původně jsem chtěl přeplácnout XNextEvent nebo XLookupString, ale to NWN nepoužívá, až později mě napadlo přeplácnout SDL. No a pak mě ještě stál čas zjistit, jak volat nejlíp původní verzi funkce. Naštěstí jsem našel projekt liboverride a inspiroval se jím.
Celkově jsem na tom začal dělat včera odpoledne, když mě nebavilo hrát EQ. :bigwink:
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
Uživatelský avatar
Lampyris
Příspěvky: 244
Registrován: 7. 3. 2009 12.40
Kontaktovat uživatele:

Příspěvek od Lampyris »

Díííky! :good: to je super, že sis dal tu práci! :clover: Hra je teď zase o něco krásnější :clap:
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Příspěvek od merlik »

:clap: Super práce. To by stálo za to to někde uveřejnit.
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

Příspěvek od Anade »

merlik píše::clap: Super práce. To by stálo za to to někde uveřejnit.
Díky. Takže to funguje správně?
Poslal jsem to už Adamovi, aby to dal sem: http://adam.pohadkovychlum.cz/cestiny/nwn
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Příspěvek od merlik »

Ano, tvoje .so mi funguje, když jsem ho zkoušel přeložit se svým SDL, tak to nefungovalo... Nehledal jsem proč.
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

Příspěvek od Anade »

Tak Adam už dal odkaz na své stránky s češtinou pro NWN.
http://adam.pohadkovychlum.cz/cestiny/nwn
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od merlik »

Tak po letech jsem něco (to něco jsem zatím neidentifikoval, mezi stavem funguje a nefunguje uběhlo víc času a docela dost balíčků bylo upradnuto) upgradnul a nemůžu naloudovat knihovnu s chybou

Kód: Vybrat vše

ERROR: ld.so: object './libNWNcp1250.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Zkusil jsem knihovnu přeložit znova, ale to samé, jen s 64 :) Strace mi taky zatím moc neporadil.

Kód: Vybrat vše

en/nwmain: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped, too many notes (256)
/lib32/ld-2.22.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libNWNcp1250.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
Zatím mi uniká, kudy se vydat k řešení. Uměl by mě prosím někdo postrčit?
account: Tuxik
Elorfin Hanar
Uživatelský avatar
placidity
Příspěvky: 1846
Registrován: 13. 1. 2011 22.19
Bydliště: Pod hromadou knih

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od placidity »

Hádal bych absenci nějakých 32b knihoven v 64b systému. Podívej se po multilib nebo něčem podobném, alternativa je ještě instalace kompletního 32b subsystému...
Pokud by bylo potřeba doplnit ztracené knihy do knihovny, dejte vědět do PM.

Aktivní: Alariel Erna
Bejvávalo: Te'lyn (by Balrog) (by Niam - NSFW) | Ulrika | Ignatz
Ostatní: Ukládání logů a konverze screenshotů | Jak vyrobit portrét | Knihovna v Amfiberai
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od Anade »

Používáš současně s tím optirun? Mně to taky hlásí tento problém s optirun, ale vstup češtiny mi funguje. Knihovna se odmítne načíst při přípravě prostředí pro nVidii, ale pro nwmain pak funguje.
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od merlik »

Anade píše:Používáš současně s tím optirun? Mně to taky hlásí tento problém s optirun, ale vstup češtiny mi funguje. Knihovna se odmítne načíst při přípravě prostředí pro nVidii, ale pro nwmain pak funguje.
Díky.

Ne, optirun nepoužívám (nebo o tom nevím). Nastuduju. Jinak nVidii mám (a drivery se teď updatovaly).
account: Tuxik
Elorfin Hanar
Uživatelský avatar
Anade
Příspěvky: 989
Registrován: 20. 8. 2008 23.54
Bydliště: Pardubice

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od Anade »

Kromě té hlášky o chybné architektuře, funguje jinak vstup češtiny?
Anade Be'lein – rozporuplná, (pro některé) nevypočitatelná, nedůvěřivá elfka za půl druhé platinky
We do what we must because we can.
O papoušcích…
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od merlik »

Nefunguje, jen ýá. Zbytek nic nenapíše. Ale zatím jsem nic dalšího nehledal, nezkoumal (ještě se mi to taky nekamarádí s Plasmou, ale to má jednoduché řešení :) ). Jen už vím, co je optirun a to nemám.
account: Tuxik
Elorfin Hanar
merlik
Příspěvky: 244
Registrován: 28. 1. 2007 20.32
Bydliště: Plzeň

Re: České znaky v linuxové verzi NWN – řešení

Příspěvek od merlik »

Tak jsem to … obešel. Problém jsem našel v tom, že některé klávesy při české klávesnici posílají kódy "0". Tak jsem si přemapoval anglickou.
account: Tuxik
Elorfin Hanar
Odpovědět