QUOTE: Kindness is always fashionable.

freezo

A retro platform game

game.h (1034B)


      1#pragma once
      2
      3typedef struct Assets assets_t;
      4typedef struct Game game_t;
      5
      6#include "entity.h"
      7#include "player.h"
      8#include "tile.h"
      9#include "menu.h"
     10#include "level.h"
     11#include "effect.h"
     12#include "door.h"
     13
     14#define GAME_SCEEN_TIMER 150
     15#define GAME_MUSIC_VOLUME 0.7f
     16#define GAME_SOUND_VOLUME 1.0f
     17
     18typedef enum {
     19  STATE_MENU,
     20  STATE_GAME,
     21} state_e;
     22
     23struct Assets {
     24  Texture2D tiles;
     25  Texture2D entities;
     26  Texture2D font;
     27  Texture2D images;
     28  Texture2D background;
     29  Sound track;
     30  Sound win;
     31  Sound lose;
     32  Sound locked;
     33};
     34
     35struct Game {
     36  state_e state;
     37  level_t *level;
     38  bool quit;
     39  bool defeat;
     40  bool victory;
     41  menu_t *menu;
     42  player_t *player;
     43  tile_t **tiles;
     44  int tiles_len;
     45  entity_t *entities;
     46  int entities_len;
     47  effect_t **effects;
     48  int effects_len;
     49  assets_t assets;
     50  Camera2D camera;
     51  int xp;
     52  int sceen_timer;
     53  door_t *door;
     54  RenderTexture2D overlay;
     55  bool is_muted;
     56};
     57
     58game_t *game_create(void);
     59void game_update(game_t *game);
     60void game_draw(game_t *game);
     61void game_free(game_t *game);