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,
|
|
|
|
GAMESTATE_INTRO
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Game {
|
|
|
|
ALLEGRO_DISPLAY *display;
|
|
|
|
ALLEGRO_FONT *font;
|
|
|
|
enum gamestate_enum gamestate;
|
|
|
|
enum gamestate_enum loadstate;
|
|
|
|
ALLEGRO_EVENT_QUEUE *event_queue;
|
|
|
|
ALLEGRO_TIMER *timer;
|
|
|
|
struct Menu menu;
|
|
|
|
struct Loading loading;
|
|
|
|
};
|
|
|
|
|
|
|
|
void PreloadGameState(struct Game *game);
|
|
|
|
void UnloadGameState(struct Game *game);
|
|
|
|
void LoadGameState(struct Game *game);
|
|
|
|
|
|
|
|
#endif
|