LINUX.ORG.RU
ФорумGames

gamestarter: shell скрипт для геймера


0

0

Драсти!
На форуме пробегала мессага о том, что неплохо бы для ускорения игр запускать прямо из консоли всместе с Х-сервером, без всяких WM.

Я, хоть никогда не писал ещё шелл скрипты, подизучив один configure файлик, написал такой. Согласен заранее, что он может и примитивен, но он работает. Назвал его файл 'gamestarter', а для ускорения набора слинковал на него файлы 'gsr' и 'g'. Всё кинул /usr/loca/bin.
Не забудьте свои пуси поставить к играм!
PS: Мне не удалось приучить его выводить список игр при неуказании параметров. (просто запуск ./g). Так что пока тлько ./g -h. Надеюсь на вашу помощь.

Скрипт:


#! /bin/sh

for parm in "$@" ; do
if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" || !test "$parm" ; then
cat << EOF

Usage: $0 [OPTIONS]...

Configuration:
-h, --help display this help and exit

Optional features:
-ut, --ut, ut start game \`Unreal Tournament\`
-q1, --q1, q1 start game \`Quake 1\`
-q2, --q2, q2 start game \`Quake 2\`
-q3, --q3, q3 start game \`Quake 3\`
-rtcw, --rtcw rtcw start game \`Return To Castle of Wolfenstein\`
-tr, --tr, tr start game \`Tux Racer\`

EOF
exit 0
fi
################################################################################ #####
#Start Games prt:
################################################################################ #####
if test "$parm" = "--ut" || test "$parm" = "-ut" || test "$parm" = "-ut" || test "$parm" = "ut" ; then
exec xinit /usr/local/bin/ut -display :0
exit 0
fi
if test "$parm" = "--q1" || test "$parm" = "-q1" || test "$parm" = "-q1" || test "$parm" = "q1" ; then
exec xinit /usr/games/qw-client-glx -display :0
exit 0
fi
if test "$parm" = "--q2" || test "$parm" = "-q2" || test "$parm" = "-q2" || test "$parm" = "q2" ; then
exec xinit /usr/games/quake2 -display :0
exit 0
fi
if test "$parm" = "--q3" || test "$parm" = "-q3" || test "$parm" = "-q3" || test "$parm" = "q3" ; then
exec xinit /usr/bin/quake3 -display :0
exit 0
fi
if test "$parm" = "--rtcw" || test "$parm" = "-rtcw" || test "$parm" = "-rtcw" || test "$parm" = "rtcw" ; then
exec xinit /usr/local/bin/wolfsp -display :0
exit 0
fi
if test "$parm" = "--tr" || test "$parm" = "-tr" || test "$parm" = "-tr" || test "$parm" = "tr" ; then
exec xinit /usr/games/tuxracer -display :0
exit 0
fi
done #Конец.



Запускается, есстесно, из консоли при незапущенных иксах.

Вообще-то через Xinitrc можно всё запустить...

anonymous
()

Так зачем прописывать, потом опять всякие gnome-session вписывать обратно?
А так: $g q3 - и вперёд!

SteelRat
() автор топика

Большое спаибо! А выложить куда-нибудь не составит труда?

anonymous
()

Что выложить?
Всё тут лежит.

SteelRat
() автор топика

Что выложить?
Всё тут лежит.
Копируешь от #!/bin/sh до done #Конец. в файл gamestarter,
chmod 755 gamestarter
mv gamestarter /usr/local/bin
cd /usr/local/bin
ln -s gamestarter gsr
ln -s gamestarter g
cd /
g q3
Чтоб добавить своё, надо в конец добавить своё (заменив путь к игре и --* параметр):
if test "$parm" = "--PARAMETR" || test "$parm" = "-PARAMETR" || test "$parm" = "-PARAMETR" || test "$parm" = "PARAMETR" ; then
exec xinit /usr/games/tuxracer -display :0
exit 0
fi

+Чтоб не забыть добавить в часть
Optional features:
-ut, --ut, ut start game \`Unreal Tournament\`
...
Свой PARAMETR с указанием, что будет запускаться.

SteelRat
() автор топика

Ой! пардон. Не сообразил... :))))))))

anonymous
()
14 декабря 2002 г.

Там ошибочка была - 2а раза проверка на одно и тоже...
Сейчас в стиле:

#####################Начало
#! /bin/sh

for parm in "$@" ; do
if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" || test "$parm" = "" ; then
cat << EOF

Usage: $0 [OPTIONS]...

Configuration:
-h, --help display this help and exit

Optional features:
-ut, --ut, ut start game \`Unreal Tournament\`
-q1, --q1, q1 start game \`Quake 1\`
-q2, --q2, q2 start game \`Quake 2\`
-q3, --q3, q3 start game \`Quake 3\`
-rtcw, --rtcw, rtcw start game \`Return To Castle of Wolfenstein\`
-tr, --tr, tr start game \`Tux Racer\`
-rr, --rr, rr start game \`Raptor\`
-hg, --hg, hg start game \`Heavy Gear 2\`
-ut-to, --ut-to, ut-to start game \`UT: Tactical Ops\`
-ut-sf, --ut-sf, ut-sf start game \`UT: Strike Force\`
-q3-ut, --q3-ut, q3-ut start game \`Q3: Urban Terror\`
-q3-tdc, --q3-tdc, q3-tdc start game \`Q3: The Dark Conjunction\`
-q3-qr, --q3-qr, q3-qr start game \`Q3: Quake 3 Rally\`
-ss, --ss, ss start game \`Serious Sam\`

EOF
exit 0
fi
################################################################################ #####
#Start Games part:
################################################################################ #####
if test "$parm" = "--ut" || test "$parm" = "-ut" || test "$parm" = "ut" ; then
exec xinit /usr/local/bin/ut -display :0
exit 0
fi
if test "$parm" = "--q1" || test "$parm" = "-q1" || test "$parm" = "q1" ; then
exec xinit /usr/local/bin/qw-client-glx -display :0
exit 0
fi
if test "$parm" = "--q2" || test "$parm" = "-q2" || test "$parm" = "q2" ; then
exec xinit /usr/local/bin/quake2 -display :0
exit 0
fi
if test "$parm" = "--q3" || test "$parm" = "-q3" || test "$parm" = "q3" ; then
exec xinit /usr/local/bin/quake3 -display :0
exit 0
fi
if test "$parm" = "--rtcw" || test "$parm" = "-rtcw" || test "$parm" = "rtcw" ; then
exec xinit /usr/local/bin/wolfsp -display :0
exit 0
fi
if test "$parm" = "--tr" || test "$parm" = "-tr" || test "$parm" = "tr" ; then
exec xinit /usr/games/tuxracer -display :0
exit 0
fi
if test "$parm" = "--rr" || test "$parm" = "-rr" || test "$parm" = "rr" ; then
exec xinit /usr/local/games/raptor/raptor -display :0
exit 0
fi
if test "$parm" = "--hg" || test "$parm" = "-hg" || test "$parm" = "hg" ; then
exec xinit /usr/local/bin/hgstarter -display :0
exit 0
fi
if test "$parm" = "--ut-to" || test "$parm" = "-ut-to" || test "$parm" = "ut-to" ; then
exec xinit /usr/local/games/ut/to -display :0
exit 0
fi
if test "$parm" = "--ut-sf" || test "$parm" = "-ut-sf" || test "$parm" = "ut-sf" ; then
exec xinit /usr/local/games/ut/sf -display :0
exit 0
fi
if test "$parm" = "--q3-ut" || test "$parm" = "-q3-ut" || test "$parm" = "q3-ut" ; then
exec xinit /usr/local/games/quake3/quake3 +set fs_game uterr -display :0
exit 0
fi
if test "$parm" = "--q3-tdc" || test "$parm" = "-q3-tdc" || test "$parm" = "q3-tdc" ; then
exec xinit /usr/local/games/quake3/quake3 +set fs_game conjunc -display :0
exit 0
fi
if test "$parm" = "--q3-qr" || test "$parm" = "-q3-qr" || test "$parm" = "q3-qr" ; then
exec xinit /usr/local/games/quake3/quake3 +set fs_game q3rally -display :0
exit 0
fi
if test "$parm" = "--ss" || test "$parm" = "-ss" || test "$parm" = "ss" ; then
exec xinit /usr/local/games/ssamtfe/ssamtfe -display :0
exit 0
fi
done #Конец.
#####################Конец

SteelRat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.