AssetManager with a hashing function, a linked list structure to store the hashes as well as a reference counter to support multiple users sharing the same asset.
33 lines
815 B
C
33 lines
815 B
C
#ifndef GAME_H
|
|
#define GAME_H
|
|
|
|
#include "AssetManager.h"
|
|
#include "ObjectStore.h"
|
|
#include "SDL_pixels.h"
|
|
#include "reusable_ids.h"
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // !__cplusplus
|
|
|
|
bool init_game(const char *game_name, int window_width, int window_height,
|
|
SDL_Color window_background_color, bool full_screen);
|
|
bool game_running();
|
|
ObjectID add_object(void *object, EventHandlerPtr eh, UpdateFuncPtr uf,
|
|
RenderFuncPtr rf);
|
|
void remove_object(ObjectID *id);
|
|
AssetID load_asset(const char *path, AssetType type);
|
|
void render_texture_asset(AssetID id, float x, float y, float w, float h);
|
|
void close_asset(AssetID *id);
|
|
void handle_events();
|
|
void update();
|
|
void render();
|
|
void close_game();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // !__cplusplus
|
|
|
|
#endif // !GAME_H
|