blob: 92934e58ab3c06672b78083c0aada96ce1c1ab9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#!/bin/zsh -f
log () {
echo "*** $@"
}
exp () {
log "Setting envvar '$1' to '$2'"
export $1=$2
}
exc () {
if [[ $1 == "-f" ]]; then
fork=1
msg=" (forking)"
shift
fi
log "Executing${msg}:"
echo $@
sleep 3
if [[ -n $fork ]]; then
exec "$@" &!
else
eval "$@"
fi
}
EXPORT () {
local name=$1
shift
for f in $@; do
eval "$f () { ${name}_${f}; }"
done
}
inherit () {
source games/$1
}
typeset -A ENV EENV
BIN=$0
source default
if [[ $1 == "-x" ]]; then
source games/$2
setenv
prepare
run
else
GAME=$1
list () {
echo "Games are:"
for k in games/*(.:t); do
echo "\t> $k"
done
}
if [[ -z $GAME || ! -e games/$GAME ]]; then
[[ ! -e games/$GAME ]] && log "Game '$GAME' not found"
list
exit 1
else
log "Launching '$GAME'"
source games/$GAME
execute
fi
fi
|