2012-02-16 15:40:58 +01:00
|
|
|
#ifndef MAIN_H
|
|
|
|
#define MAIN_H
|
|
|
|
|
|
|
|
#include <allegro5/allegro.h>
|
|
|
|
#include <allegro5/allegro_audio.h>
|
|
|
|
#include <allegro5/allegro_acodec.h>
|
|
|
|
#include <allegro5/allegro_image.h>
|
|
|
|
#include <allegro5/allegro_font.h>
|
|
|
|
#include <allegro5/allegro_ttf.h>
|
|
|
|
|
|
|
|
enum gamestate_enum {
|
|
|
|
GAMESTATE_LOADING,
|
2012-02-17 00:19:21 +01:00
|
|
|
GAMESTATE_MENU,
|
|
|
|
GAMESTATE_ABOUT,
|
2012-02-18 05:53:39 +01:00
|
|
|
GAMESTATE_INTRO,
|
|
|
|
GAMESTATE_MAP
|
2012-02-16 15:40:58 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Menu {
|
|
|
|
ALLEGRO_BITMAP *menu_bitmap, *menu_fade_bitmap, *image;
|
2012-02-16 23:04:17 +01:00
|
|
|
ALLEGRO_BITMAP *cloud_bitmap, *cloud, *cloud2_bitmap, *cloud2, *pie, *pie_bitmap;
|
2012-02-16 22:11:34 +01:00
|
|
|
ALLEGRO_BITMAP *pinkcloud_bitmap, *pinkcloud, *rain;
|
2012-02-16 17:05:16 +01:00
|
|
|
ALLEGRO_BITMAP *mountain_bitmap, *mountain;
|
2012-02-16 17:51:52 +01:00
|
|
|
float cloud_position, cloud2_position;
|
2012-02-16 17:05:16 +01:00
|
|
|
int mountain_position;
|
2012-02-16 22:33:34 +01:00
|
|
|
ALLEGRO_SAMPLE *sample, *rain_sample;
|
2012-02-16 23:36:25 +01:00
|
|
|
ALLEGRO_FONT *font_title, *font_subtitle, *font, *font_selected;
|
|
|
|
int selected;
|
2012-02-17 00:06:01 +01:00
|
|
|
bool options;
|
2012-02-16 15:40:58 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Loading {
|
|
|
|
ALLEGRO_BITMAP *loading_bitmap, *image;
|
|
|
|
};
|
|
|
|
|
2012-02-18 06:26:58 +01:00
|
|
|
struct About {
|
|
|
|
ALLEGRO_BITMAP *fade_bitmap, *image;
|
|
|
|
};
|
|
|
|
|
2012-02-18 04:14:35 +01:00
|
|
|
struct Intro {
|
|
|
|
int position;
|
|
|
|
int page;
|
|
|
|
bool in_animation;
|
|
|
|
ALLEGRO_BITMAP *table, *table_bitmap;
|
2012-02-18 05:53:39 +01:00
|
|
|
ALLEGRO_FONT *font;
|
2012-02-18 04:14:35 +01:00
|
|
|
};
|
|
|
|
|
2012-02-16 15:40:58 +01:00
|
|
|
struct Game {
|
|
|
|
ALLEGRO_DISPLAY *display;
|
2012-02-17 13:25:06 +01:00
|
|
|
ALLEGRO_FONT *font, *font_console;
|
2012-02-16 15:40:58 +01:00
|
|
|
enum gamestate_enum gamestate;
|
|
|
|
enum gamestate_enum loadstate;
|
|
|
|
ALLEGRO_EVENT_QUEUE *event_queue;
|
|
|
|
ALLEGRO_TIMER *timer;
|
2012-02-17 13:25:06 +01:00
|
|
|
ALLEGRO_BITMAP *console;
|
2012-02-17 13:30:03 +01:00
|
|
|
bool showconsole;
|
2012-02-16 15:40:58 +01:00
|
|
|
struct Menu menu;
|
|
|
|
struct Loading loading;
|
2012-02-18 04:14:35 +01:00
|
|
|
struct Intro intro;
|
2012-02-18 06:26:58 +01:00
|
|
|
struct About about;
|
2012-02-16 15:40:58 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
void PreloadGameState(struct Game *game);
|
|
|
|
void UnloadGameState(struct Game *game);
|
|
|
|
void LoadGameState(struct Game *game);
|
2012-02-17 13:25:06 +01:00
|
|
|
void PrintConsole(struct Game *game, char* text);
|
|
|
|
void DrawConsole(struct Game *game);
|
2012-02-16 15:40:58 +01:00
|
|
|
|
|
|
|
#endif
|