summaryrefslogtreecommitdiff
path: root/src/client/game.c
blob: 2481cee98765da279f372bd92c2f30105658a1a7 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <assert.h>
#include <sys/stat.h>

#include "main.h"
#include "tux.h"
#include "homeDirector.h"
#include "item.h"
#include "shot.h"
#include "arenaFile.h"
#include "config.h"

#include "image.h"
#include "layer.h"
#include "interface.h"
#include "screen.h"
#include "font.h"
#include "settingKeys.h"
#include "panel.h"
#include "radar.h"
#include "mouse_buffer.h"

#ifndef NO_SOUND
#include "audio.h"
#include "sound.h"
#include "music.h"
#endif

#include "world.h"
#include "mainMenu.h"
#include "analyze.h"
#include "setting.h"
#include "settingKeys.h"
#include "gameType.h"
#include "downArena.h"
#include "choiceArena.h"
#include "table.h"
#include "credits.h"
#include "browser.h"

static void initGame()
{
	home_director_create();

	mouse_buffer_init();
	interface_init();
	font_init();
	layer_init();
	image_init();
#ifndef NO_SOUND
	audio_init();
	sound_init();
	music_init();
#endif /* NO_SOUND */
	screen_init();
	arena_file_init();
	tux_init();
	item_init();
	shot_init();
	panel_init();
	world_init();
	config_init();

	main_menu_init();
	analyze_init();
	choice_arena_init();
	setting_init();
	setting_key_int();
	game_type_init();
	down_arena_init();
	scredits_init();
	table_init();
	browser_init();
}

void game_quit()
{
	mouse_buffer_quit();
	interface_quit();

	main_menu_quit();
	analyze_quit();
	setting_quit();
	setting_key_quit();
	game_type_quit();
	down_arena_quit();
	choice_arena_quit();
	scredits_quit();
	table_quit();
	browser_quit();
	config_quit();

	layer_quit();
	font_quit();
	screen_quit();
	arena_file_quit();
	item_quiy();
	tux_quit();
	shot_quit();
	panel_quit();
	world_quit();
	image_quit();
#ifndef NO_SOUND
	sound_quit();
	music_quit();
	audio_quit();
#endif /* NO_SOUND */

	debug("Shutting down the game");

	exit(0);
}

void game_start()
{
	initGame();

	screen_start("mainMenu");

	interface_event();
	game_quit();
}