Portál AbcLinuxu, 1. května 2025 05:03

GameX - jednoduchá utilitka

17.12.2005 21:12 | Přečteno: 1813× | Linux | poslední úprava: 11.11.2006 14:40

Snažil jsem se používat perlovský program XGame, který umí spustit hru na oddělené relaci Xek - můžete pak snadno přepínat zpět na desktop. Moc mi nevyhovoval. Třeba se ty neduhy dají nějak vyřešit, ale to je jedno.

  1. Má GUI, není to jen takový "wrapper"
  2. Nespouští xmodmap (kvůli tlačítkům myši). Je tam sice možnost spouštění extra příkazu, ale už to není ta automatika ;-)
  3. Nějak nevím, jak tam nechat předávat hře jisté argumenty (mezerami to oddělit nemůžete). Nevím k čemu je tam políčko Switch, ale tohle teda nědělá.
  4. Dělá tam nějaké zbytečné hacky se souborem .xinitrc
  5. Vyžaduje přítomnost Perl GTK+ knihoven

Tak jsem si za chvilinku udělal jednoduchý konzolový program GameX, který těmito neduhy snad netrpí. Možná se bude někomu hodit, zdrojový kód je zde - licence je GPL. Nevím, jestli je v něm vše korektně, ale mě to funguje ;-)
Ukázka použití:

gamex et +set snddevice /dev/dsp1
Jak spustit na screenu 1 (takže potom třeba na :1.1):
SCREEN=1 gamex et

Jak zkompilovat
Uložte soubor jako gamex.cpp.

g++ -o gamex gamex.cpp
Jak získat nejmenší binárku :-)
g++ -Os -o gamex gamex.cpp
strip gamex
Následně zkopírujte binárku do /usr/bin nebo do /usr/games/bin (Gentoo).

       

Hodnocení: 89 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

17.12.2005 22:36 dizz | skóre: 21 | blog: Dizzyho_Blog
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Odpovědět | Sbalit | Link | Blokovat | Admin
super .. hnedka to vyzkousim, neco takoveho by se mi hodilo ...
Chuck Norris dohral GNU/Linux... a dvakrat!
18.12.2005 01:19 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Odpovědět | Sbalit | Link | Blokovat | Admin
Parada, nemam rad totiz gui. Zacnu pouzivat toto... I kdyz - chybi mi tu jedna vec. Nemohl bys tam dodelat aby se dal soustet spolu se hrou nejak ten externi prikaz? (Skript?)
http://www.fushal.net || http://www.sporek.cz
Luboš Doležel (Doli) avatar 18.12.2005 02:06 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Spustit před hrou nějaký příkaz by šlo, ale jak byste si představoval jeho předání programu?
18.12.2005 09:32 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Ted nevim jake predani programu myslite. Ja to myslel tak, ze treba parametr -e by spoustel nejaky prgram (skript), ktery by se jen spustil v tech nove spustenych X. Mam ve skriptu nejake nastaveni X ktere bych chtel spoustet i v te nove instanci (nebo nevim jestli je to vubec nova instance nebo co...)
Luboš Doležel (Doli) avatar 18.12.2005 10:14 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
No právě, takhle už je to dost překombinované.
gamex -e "xrandr -s 0" et +set snddevice /dev/dsp
Tohle vypadá hrozně. Nejlépe to xrandr (či cokoliv jiného) strčit do nějakého skriptu i s tím ET.
18.12.2005 13:49 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Ok, no dobre... strcit to do skriptu se hrou by slo, ale to, jestli to vypada hrozne nebo ne... -> to je uplne jedno, dulezite je co to umi, ne? :) Ja bych byl teda pro -e "" ...sak kdo nechce, tak to nepouzije :)
Luboš Doležel (Doli) avatar 18.12.2005 14:25 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Já bych to řešil takhle:
XINIT="initcommand" gamex et
Aktualizoval jsem zdroják. K povaze předávání argumentů mi to přes environment variables přijde čistší.
18.12.2005 15:18 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
tak uz to zkousim, funguje to v pohode. Ale chci si udelat skript s nazvem gamex-us. Ten obsahuje nasledujici:

#!/bin/sh

XINIT="setxkbmap us" gamex $1

Jenze kdyz chci spustit neco takoveho jako:
gamex-us quake3 +set fs_game cpma +exec clojster.cfg +set net_port 27999

tak to nejde... quaka to vubec nespusti. Kdyz ho zkusim tim skriptem spustit bez tech + parametru, tak to jede...
Asi to bude nejaka bashova vec jenom... neco jak je to $1 tak by tam melo byt jeste pridano, ne? Ale nevim co... neporadil byste mi prosim?
Luboš Doležel (Doli) avatar 18.12.2005 15:43 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Mělo by tam být $*, pokud se nepletu.
18.12.2005 15:48 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
ok, diky moc... funguje to bezvadne. Paradni programek - konecne se muzu zbavit XGame.
David Watzke avatar 18.12.2005 13:14 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak jsem si to zkompiloval, ale bohužel nemám štěstí. Přepne mě to na 8. tty, ale LCD hodí No signal a vypne se.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Luboš Doležel (Doli) avatar 18.12.2005 13:41 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Tak to je chyba někde mezi ovladači, grafickou kartou a LCDčkem.
David Watzke avatar 18.12.2005 14:23 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
LCD. Tohle no signal začlo až s LCD.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Luboš Doležel (Doli) avatar 18.12.2005 14:26 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
A rozsvítí se, když přepneš na jiný VT? Pokud ne, tak
dmesg | grep Xid
David Watzke avatar 18.12.2005 14:49 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Rozsvítí...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
18.12.2005 13:50 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
A Xgame ti to spusti spravne?
David Watzke avatar 18.12.2005 14:24 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
To není pro amd64.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
18.12.2005 16:02 jzd
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Odpovědět | Sbalit | Link | Blokovat | Admin
Nejak jsem nepochopil, k cemu to slouzi. Jde o prepinani mezi hrou a desktopem pomoci CTRL+F1?
18.12.2005 16:47 Clojster | skóre: 4 | blog: clojsterovo | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
v podstate jo. Vytvori to noveho klienta X, nebo jak to nazvat. Pak se da prepinat mezi hrou a desktopem pomoci CTRL+ALT+F7, CTRL+ALT+F8 ...
18.12.2005 21:29 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Takže
startx /usr/bin/hra -- :1
?
Luboš Doležel (Doli) avatar 18.12.2005 21:49 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Akorát, že tohle najde další volný display (žádné :1 natvrdo), nastaví myš xmodmapem a případně vykoná nějaké další příkazy.
David Watzke avatar 18.12.2005 23:59 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GameX - jednoduchá utilitka
Helemese... tohle mi dokonce funguje. Díkys.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.