diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
| commit | 2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 (patch) | |
| tree | 7cf274897bf540d5332d446f583ffd066e4e2e1d /src/client/game.c | |
| parent | b877ae23ac5d380ab3aa48d7724045cf4883b186 (diff) | |
- prekopanie adresarovej struktury, prva cast
git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/client/game.c')
| -rw-r--r-- | src/client/game.c | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/src/client/game.c b/src/client/game.c new file mode 100644 index 0000000..9ea50ab --- /dev/null +++ b/src/client/game.c @@ -0,0 +1,120 @@ + +#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 "base/main.h" +#include "base/tux.h" +#include "base/homeDirector.h" +#include "base/item.h" +#include "base/shot.h" +#include "base/arenaFile.h" + +#include "client/image.h" +#include "client/layer.h" +#include "client/interface.h" +#include "client/screen.h" +#include "client/font.h" +#include "client/keytable.h" +#include "client/language.h" +#include "client/panel.h" + +#include "audio/audio.h" +#include "audio/sound.h" +#include "audio/music.h" + +#include "screen/screen_world.h" +#include "screen/screen_mainMenu.h" +#include "screen/screen_analyze.h" +#include "screen/screen_setting.h" +#include "screen/screen_gameType.h" +#include "screen/screen_choiceArena.h" +#include "screen/screen_table.h" +#include "screen/screen_credits.h" + +static void initGame() +{ + createHomeDirector(); + + if( initLanguage() == -1 ) + { + printf("fatal error !\n"); + exit(-1); + } + + initSDL(); + + initLayer(); + initFont(getLanguageFont(), getLanguageSize()); + initKeyTable(); + initImageData(); +#ifndef NO_SOUND + initAudio(); + initSound(); + initMusic(); +#endif + initScreen(); + initArenaFile(); + initTux(); + initItem(); + initShot(); + initPanel(); + initWorld(); + initScreenMainMenu(); + initScreenAnalyze(); + initScreenSetting(); + initScreenGameType(); + initScreenChoiceArena(); + initScreenCredits(); + initScreenTable(); +} + +void quitGame() +{ + quitSDL(); + quitLayer(); + quitFont(); + quitKeyTable(); + quitLanguage(); + quitScreen(); + quitArenaFile(); + quitItem(); + quitTux(); + quitShot(); + quitPanel(); + quitWorld(); + quitImageData(); +#ifndef NO_SOUND + quitSound(); + quitMusic(); + quitAudio(); +#endif + quitScreenMainMenu(); + quitScreenAnalyze(); + quitScreenSetting(); + quitScreenGameType(); + quitScreenChoiceArena(); + quitScreenCredits(); + quitScreenTable(); + + destroyList(listHelp); + + printf("quit..\n"); + + exit(0); +} + +void startGame() +{ + initGame(); + + setScreen("mainMenu"); + + eventSDL(); + quitGame(); +} |