Stránka 1 z 1

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

Napsal: 17. 6. 2009 7.33
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.

Napsal: 17. 6. 2009 8.11
od merlik
No jen co přijdu domu, tak to vyzkoušim :)

Napsal: 17. 6. 2009 9.26
od koulinek
Jó, tak to taky hnedkaj vecer otestuju, a nahlasim zkusenosti!

Napsal: 17. 6. 2009 11.36
od merlik
Koukal jsem do kódu - jednoduchost sama :) = krása. Tohle vědět, tak se k tom odvážím taky ;)

Napsal: 17. 6. 2009 11.53
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:

Napsal: 17. 6. 2009 17.17
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:

Napsal: 17. 6. 2009 20.01
od merlik
:clap: Super práce. To by stálo za to to někde uveřejnit.

Napsal: 18. 6. 2009 12.39
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

Napsal: 18. 6. 2009 13.16
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č.

Napsal: 19. 6. 2009 1.17
od Anade
Tak Adam už dal odkaz na své stránky s češtinou pro NWN.
http://adam.pohadkovychlum.cz/cestiny/nwn

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

Napsal: 23. 10. 2016 14.34
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?

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

Napsal: 23. 10. 2016 17.14
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...

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

Napsal: 24. 10. 2016 19.19
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.

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

Napsal: 25. 10. 2016 12.21
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).

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

Napsal: 7. 11. 2016 16.18
od Anade
Kromě té hlášky o chybné architektuře, funguje jinak vstup češtiny?

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

Napsal: 8. 11. 2016 10.49
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.

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

Napsal: 12. 1. 2017 21.18
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.