File: main.lua

package info (click to toggle)
gltron 0.70final-14
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,992 kB
  • sloc: ansic: 19,172; sh: 3,004; cpp: 973; makefile: 209
file content (62 lines) | stat: -rw-r--r-- 1,508 bytes parent folder | download | duplicates (10)
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
-- loop until RETURN_QUIT code is sent

RETURN_GAME_LAUNCH = 0
RETURN_GAME_END = 1
RETURN_GAME_PAUSE = 2
RETURN_GAME_UNPAUSE = 3
RETURN_GAME_CREDITS = 4
RETURN_GAME_ESCAPE = 5
RETURN_GUI_PROMPT = 6
RETURN_TIMEDEMO = 7
RETURN_TIMEDEMO_ABORT = 8
RETURN_CREDITS = 9
RETURN_QUIT = 10
RETURN_GUI_ESCAPE = 11
RETURN_PROMPT_ESCAPE = 12
RETURN_PAUSE_ESCAPE = 13

-- enable below to run in timedemo-only mode
if(nil) then
	SetCallback("timedemo")
	SystemMainLoop()
	exit()
end

callback = "gui"

next_callback = {}
next_callback[ RETURN_GAME_LAUNCH ] = "pause"
next_callback[ RETURN_GAME_END ] = "pause"
next_callback[ RETURN_GAME_PAUSE ] = "pause"
next_callback[ RETURN_GAME_UNPAUSE ] = "game"
next_callback[ RETURN_CREDITS ] = "credits"
next_callback[ RETURN_GAME_CREDITS ] = "credits"

next_callback[ RETURN_GAME_ESCAPE ] = "gui"
next_callback[ RETURN_GUI_ESCAPE ] = "pause"
next_callback[ RETURN_PROMPT_ESCAPE ] = "gui"
next_callback[ RETURN_PAUSE_ESCAPE ] = "gui"

next_callback[ RETURN_GUI_PROMPT ] = "configure"
next_callback[ RETURN_TIMEDEMO ] = nil
next_callback[ RETURN_TIMEDEMO_ABORT ] = nil
next_callback[ RETURN_QUIT ] = nil


while 1 do
	SetCallback(callback)
	-- write(format("[lua] setting callback '%s'\n", callback))
	 
	status = SystemMainLoop()
	-- write(format("[lua] system returned (%d)\n", status))
	 
	if(next_callback[ status ]) then
		 callback = next_callback[ status ]
	else
		if(status == 10) then
			write(format("[lua] unhandled callback (%d)\n", status))
			exit()
		end
	end
end