diff options
Diffstat (limited to 'src/resources')
| -rw-r--r-- | src/resources/include/engine/resources.h | 26 | ||||
| -rw-r--r-- | src/resources/include/engine/resources/texture.h | 14 | ||||
| -rw-r--r-- | src/resources/src/textures.c | 20 |
3 files changed, 60 insertions, 0 deletions
diff --git a/src/resources/include/engine/resources.h b/src/resources/include/engine/resources.h index 9de24ce..32e68ac 100644 --- a/src/resources/include/engine/resources.h +++ b/src/resources/include/engine/resources.h @@ -3,6 +3,7 @@ #include <engine/core/types.h> +// TODO /* We need some "global resources", available to all states. * These are resources such as common fonts, GUI frames, button background * images. @@ -49,6 +50,29 @@ typedef union { Asset_AudioSpec audio; } asset_t; +// The resource spec +struct Resources { + // Was: +// usize textures_len; +// usize textures_size; +// usize fonts_len; +// +// usize texturepaths_len; +// usize fontpaths_len; +// +// /* Paths for our sources, kept in case the user wants to reload them */ +// Asset_TextureSpec** texture_paths; +// Asset_FontSpec** font_paths; +// +// /* Our actual sources */ +// Texture** textures; +// //TTF_Font** fonts; + + // But with the new way: + // usize assets_len; + // asset_t assets*; +}; + #define Resource_FontDefinition(_path, _fontsize) \ (const Asset_FontSpec) { \ .type = Asset_font, .font_path = _path, .ptsize = _fontsize \ @@ -76,4 +100,6 @@ isize resource_load_audio(Asset_AudioSpec audio_def); * to `engine_run` */ isize resource_make_global(isize resource_id); +#include <engine/resources/texture.h> + #endif diff --git a/src/resources/include/engine/resources/texture.h b/src/resources/include/engine/resources/texture.h new file mode 100644 index 0000000..8266957 --- /dev/null +++ b/src/resources/include/engine/resources/texture.h @@ -0,0 +1,14 @@ +#ifndef TEXTURE_H +#define TEXTURE_H + +#include <engine/core/types.h> + +typedef struct { + const i32 tilesize; + const i32 width; + const i32 height; +} Texture; + +Texture* load_texture(void* render, const Asset_TextureSpec* ts); + +#endif diff --git a/src/resources/src/textures.c b/src/resources/src/textures.c index e69de29..622c4b5 100644 --- a/src/resources/src/textures.c +++ b/src/resources/src/textures.c @@ -0,0 +1,20 @@ +#include <engine/core/logging.h> +#include <engine/resources.h> + +Texture* load_texture(void* render, const Asset_TextureSpec* ts) { + Texture* t = NULL; + + if (ts == NULL) { + ERROR("Invalid Asset_TextureSpec\n"); + return NULL; + } + + //t = (Texture*)malloc(sizeof(Texture)); + //t->texture = new_texture; + ///* Assigning const value */ + //*(i32*)&t->tilesize = tw; + //*(i32*)&t->width = ts->width; + //*(i32*)&t->height = ts->height; + + return t; +} |
