diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 17:57:05 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 17:57:05 +0000 |
| commit | d52bd1c709456164b167cc7389b641b690c97ee5 (patch) | |
| tree | 7cc8ccb610bfaa72b83fdf878b23e6efd892d73e /include/engine/resources.h | |
| parent | 4813a8dde26422657c07ae03fe2b47a6b92f0935 (diff) | |
Organize the header files
Diffstat (limited to 'include/engine/resources.h')
| -rw-r--r-- | include/engine/resources.h | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/include/engine/resources.h b/include/engine/resources.h deleted file mode 100644 index 1689544..0000000 --- a/include/engine/resources.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef RESOURCES_H -#define RESOURCES_H - -#include <engine/types.h> - -/* We need some "global resources", available to all states. - * These are resources such as common fonts, GUI frames, button background - * images. - * - * We need to define state-specific resources as well. - * - Can both be defined alike? - * If we lazy-load all resources we can get away with a lot. - * Maybe use fall-back resources? like the missing source texture, and an ugly - * font? - * - Then declare to the engine, in the main function for the game, that these - * resources are to be made available throughout? - * - Make all resource specifications A UNION?! 🤯 - * */ - -enum Asset { - Asset_error, - Asset_font, - Asset_texture, - Asset_audio, -}; - -typedef struct { - enum Asset type; - const char* font_path; - i32 ptsize; -} Asset_FontSpec; - -typedef struct { - enum Asset type; - const char* path; - i32 width; - i32 height; -} Asset_TextureSpec; - -typedef struct { - enum Asset type; - const char* path; -} Asset_AudioSpec; - -typedef union { - enum Asset type; - Asset_FontSpec font; - Asset_TextureSpec texture; - Asset_AudioSpec audio; -} asset_t; - -#define Resource_FontDefinition(_path, _fontsize) \ - (const Asset_FontSpec) { \ - .type = Asset_font, .font_path = _path, .ptsize = _fontsize \ - } - -#define Resource_TextureAtlasDefinition(_path, _subtexture_width, \ - _subtexture_height) \ - (const Asset_TextureSpec) { \ - .type = Asset_texture, .width = _subtexture_width, \ - .height = _subtexture_height, .path = _path \ - } - -#define TextureDefinition(_path, ...) unimplemented - -#define Resource_AudioDefinition(_path, ...) unimplemented - -/* Each of resource_load_font, resource_load_texture, and resource_load_audio - * loads a given resource into the engines memory and returns an identifier. - */ -isize resource_load_font(Asset_FontSpec font_def); -isize resource_load_texture(Asset_TextureSpec texture_def); -isize resource_load_audio(Asset_AudioSpec audio_def); - -/* Makes a resource globally available. This must be called **BEFORE** any call - * to `engine_run` */ -isize resource_make_global(isize resource_id); - -#endif |
