Mercurial > molko
comparison libmlk-example/mlk/example/registry.c @ 479:8e41ed5474cf
examples: resurrect example-action
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 27 Feb 2023 16:33:33 +0100 |
parents | ca30ff96bbe0 |
children | f78455f45bf6 |
comparison
equal
deleted
inserted
replaced
478:8c1a965b3019 | 479:8e41ed5474cf |
---|---|
27 #include <assets/images/black-cat.h> | 27 #include <assets/images/black-cat.h> |
28 #include <assets/images/haunted-wood.h> | 28 #include <assets/images/haunted-wood.h> |
29 | 29 |
30 #include <assets/sounds/fire.h> | 30 #include <assets/sounds/fire.h> |
31 | 31 |
32 #include <assets/sprites/chest.h> | |
32 #include <assets/sprites/explosion.h> | 33 #include <assets/sprites/explosion.h> |
33 #include <assets/sprites/john-sword.h> | 34 #include <assets/sprites/john-sword.h> |
34 #include <assets/sprites/john-walk.h> | 35 #include <assets/sprites/john-walk.h> |
35 #include <assets/sprites/ui-cursor.h> | 36 #include <assets/sprites/ui-cursor.h> |
36 | 37 |
37 #include "registry.h" | 38 #include "registry.h" |
38 | 39 |
39 struct mlk_texture registry_images[REGISTRY_IMAGE_NUM]; | 40 struct mlk_texture registry_images[REGISTRY_IMAGE_LAST] = {0}; |
40 struct mlk_texture registry_textures[REGISTRY_TEXTURE_NUM]; | 41 struct mlk_texture registry_textures[REGISTRY_TEXTURE_LAST] = {0}; |
41 struct mlk_sprite registry_sprites[REGISTRY_TEXTURE_NUM]; | 42 struct mlk_sprite registry_sprites[REGISTRY_TEXTURE_LAST] = {0}; |
42 struct mlk_sound registry_sounds[REGISTRY_SOUND_NUM]; | 43 struct mlk_sound registry_sounds[REGISTRY_SOUND_LAST] = {0}; |
43 | 44 |
44 #define REGISTRY_IMAGE(i, data) \ | 45 #define REGISTRY_IMAGE(i, data) \ |
45 { (i), (data), sizeof (data) } | 46 { (i), (data), sizeof (data) } |
46 | 47 |
47 static const struct { | 48 static const struct { |
65 REGISTRY_TEXTURE(REGISTRY_TEXTURE_CURSOR, assets_sprites_ui_cursor, 24, 24), | 66 REGISTRY_TEXTURE(REGISTRY_TEXTURE_CURSOR, assets_sprites_ui_cursor, 24, 24), |
66 REGISTRY_TEXTURE(REGISTRY_TEXTURE_EXPLOSION, assets_sprites_explosion, 256, 256), | 67 REGISTRY_TEXTURE(REGISTRY_TEXTURE_EXPLOSION, assets_sprites_explosion, 256, 256), |
67 REGISTRY_TEXTURE(REGISTRY_TEXTURE_JOHN_SWORD, assets_sprites_john_sword, 256, 256), | 68 REGISTRY_TEXTURE(REGISTRY_TEXTURE_JOHN_SWORD, assets_sprites_john_sword, 256, 256), |
68 REGISTRY_TEXTURE(REGISTRY_TEXTURE_JOHN_WALK, assets_sprites_john_walk, 256, 256), | 69 REGISTRY_TEXTURE(REGISTRY_TEXTURE_JOHN_WALK, assets_sprites_john_walk, 256, 256), |
69 REGISTRY_TEXTURE(REGISTRY_TEXTURE_HAUNTED_WOOD, assets_images_haunted_wood, 0, 0), | 70 REGISTRY_TEXTURE(REGISTRY_TEXTURE_HAUNTED_WOOD, assets_images_haunted_wood, 0, 0), |
70 REGISTRY_TEXTURE(REGISTRY_TEXTURE_BLACK_CAT, assets_images_black_cat, 0, 0) | 71 REGISTRY_TEXTURE(REGISTRY_TEXTURE_BLACK_CAT, assets_images_black_cat, 0, 0), |
72 REGISTRY_TEXTURE(REGISTRY_TEXTURE_CHEST, assets_sprites_chest, 32, 32) | |
71 }; | 73 }; |
72 | 74 |
73 #define REGISTRY_SOUND(s, data) \ | 75 #define REGISTRY_SOUND(s, data) \ |
74 { (s), (data), sizeof (data) } | 76 { (s), (data), sizeof (data) } |
75 | 77 |
93 } | 95 } |
94 | 96 |
95 static void | 97 static void |
96 load_textures_and_sprites(void) | 98 load_textures_and_sprites(void) |
97 { | 99 { |
100 struct mlk_texture *texture; | |
101 struct mlk_sprite *sprite; | |
102 | |
98 for (size_t i = 0; i < MLK_UTIL_SIZE(textures); ++i) { | 103 for (size_t i = 0; i < MLK_UTIL_SIZE(textures); ++i) { |
99 struct mlk_texture *texture = ®istry_textures[textures[i].index]; | 104 texture = ®istry_textures[textures[i].index]; |
100 struct mlk_sprite *sprite = ®istry_sprites[textures[i].index]; | 105 sprite = ®istry_sprites[textures[i].index]; |
101 | 106 |
102 if (mlk_image_openmem(texture, textures[i].data, textures[i].datasz) < 0) | 107 if (mlk_image_openmem(texture, textures[i].data, textures[i].datasz) < 0) |
103 mlk_panic(); | 108 mlk_panic(); |
104 | 109 |
105 if (textures[i].cellw == 0 || textures[i].cellh == 0) | 110 if (textures[i].cellw == 0 || textures[i].cellh == 0) |