Mercurial > molko
annotate libmlk-example/mlk/example/registry.c @ 580:459ff09c09b3
core: animation can be looped
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 11 Mar 2023 21:20:33 +0100 |
parents | cba66f7d8a53 |
children | 76ce31b0151f |
rev | line source |
---|---|
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * registry.h -- registry of resources |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
445
773a082f0b91
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #include <stddef.h> |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 |
431
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
414
diff
changeset
|
21 #include <mlk/core/image.h> |
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
414
diff
changeset
|
22 #include <mlk/core/panic.h> |
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
414
diff
changeset
|
23 #include <mlk/core/util.h> |
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
414
diff
changeset
|
24 #include <mlk/core/sys.h> |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
26 #include <assets/images/battle-background.h> |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
27 #include <assets/images/black-cat.h> |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
28 #include <assets/images/haunted-wood.h> |
486 | 29 #include <assets/images/sword.h> |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
30 |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
31 #include <assets/sounds/fire.h> |
482
f78455f45bf6
examples: improve example-action more
David Demelier <markand@malikania.fr>
parents:
479
diff
changeset
|
32 #include <assets/sounds/open-chest.h> |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
580
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
34 #include <assets/sprites/cat-running.h> |
479
8e41ed5474cf
examples: resurrect example-action
David Demelier <markand@malikania.fr>
parents:
474
diff
changeset
|
35 #include <assets/sprites/chest.h> |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
36 #include <assets/sprites/explosion.h> |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
37 #include <assets/sprites/john-sword.h> |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
38 #include <assets/sprites/john-walk.h> |
554
cdbc13ceff85
rpg: do the same for map
David Demelier <markand@malikania.fr>
parents:
552
diff
changeset
|
39 #include <assets/sprites/john.h> |
486 | 40 #include <assets/sprites/numbers.h> |
41 #include <assets/sprites/people.h> | |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
42 #include <assets/sprites/ui-cursor.h> |
552
ffd972a3d084
rpg: major rewrite of tilesets
David Demelier <markand@malikania.fr>
parents:
547
diff
changeset
|
43 #include <assets/sprites/water.h> |
ffd972a3d084
rpg: major rewrite of tilesets
David Demelier <markand@malikania.fr>
parents:
547
diff
changeset
|
44 #include <assets/sprites/world.h> |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
45 |
486 | 46 #include <assets/music/vabsounds-romance.h> |
47 | |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
48 #include "registry.h" |
263
cd5bdb995052
cmake: create a new libmlk-data library
David Demelier <markand@malikania.fr>
parents:
261
diff
changeset
|
49 |
500 | 50 struct mlk_texture mlk_registry_images[MLK_REGISTRY_IMAGE_LAST] = {0}; |
51 struct mlk_texture mlk_registry_textures[MLK_REGISTRY_TEXTURE_LAST] = {0}; | |
52 struct mlk_sprite mlk_registry_sprites[MLK_REGISTRY_TEXTURE_LAST] = {0}; | |
53 struct mlk_sound mlk_registry_sounds[MLK_REGISTRY_SOUND_LAST] = {0}; | |
54 struct mlk_music mlk_registry_music[MLK_REGISTRY_MUSIC_LAST] = {0}; | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 |
500 | 56 #define MLK_REGISTRY_IMAGE(i, data) \ |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
57 { (i), (data), sizeof (data) } |
500 | 58 #define MLK_REGISTRY_TEXTURE(s, data, cw, ch) \ |
59 { (s), (data), sizeof (data), (cw), (ch) } | |
60 #define MLK_REGISTRY_SOUND(s, data) \ | |
61 { (s), (data), sizeof (data) } | |
62 #define MLK_REGISTRY_MUSIC(m, data) \ | |
63 { (m), (data), sizeof (data) } | |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
64 |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
65 static const struct { |
500 | 66 enum mlk_registry_image index; |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
67 const unsigned char *data; |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
68 size_t datasz; |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
69 } images[] = { |
500 | 70 MLK_REGISTRY_IMAGE(MLK_REGISTRY_IMAGE_BATTLE_BACKGROUND, assets_images_battle_background) |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
71 }; |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
72 |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 static const struct { |
500 | 74 enum mlk_registry_texture index; |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
75 const unsigned char *data; |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
76 size_t datasz; |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 unsigned int cellw; |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 unsigned int cellh; |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 } textures[] = { |
580
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
80 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_BLACK_CAT, assets_images_black_cat, 0, 0), |
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
81 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_CAT_RUNNING, assets_sprites_cat_running, 512, 256), |
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
82 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_CHEST, assets_sprites_chest, 32, 32), |
500 | 83 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_CURSOR, assets_sprites_ui_cursor, 24, 24), |
84 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_EXPLOSION, assets_sprites_explosion, 256, 256), | |
580
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
85 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_HAUNTED_WOOD, assets_images_haunted_wood, 0, 0), |
554
cdbc13ceff85
rpg: do the same for map
David Demelier <markand@malikania.fr>
parents:
552
diff
changeset
|
86 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_JOHN, assets_sprites_john, 48, 48), |
500 | 87 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_JOHN_SWORD, assets_sprites_john_sword, 256, 256), |
88 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_JOHN_WALK, assets_sprites_john_walk, 256, 256), | |
89 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_NUMBERS, assets_sprites_numbers, 48, 48), | |
580
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
90 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_PEOPLE, assets_sprites_people, 48, 48), |
500 | 91 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_SWORD, assets_images_sword, 0, 0), |
580
459ff09c09b3
core: animation can be looped
David Demelier <markand@malikania.fr>
parents:
571
diff
changeset
|
92 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_WATER, assets_sprites_water, 48, 48), |
552
ffd972a3d084
rpg: major rewrite of tilesets
David Demelier <markand@malikania.fr>
parents:
547
diff
changeset
|
93 MLK_REGISTRY_TEXTURE(MLK_REGISTRY_TEXTURE_WORLD, assets_sprites_world, 48, 48) |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 }; |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 static const struct { |
500 | 97 enum mlk_registry_sound index; |
382
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
98 const unsigned char *data; |
43d155668a55
rpg: expose battle state functions
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
99 size_t datasz; |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 } sounds[] = { |
500 | 101 MLK_REGISTRY_SOUND(MLK_REGISTRY_SOUND_FIRE, assets_sounds_fire), |
102 MLK_REGISTRY_SOUND(MLK_REGISTRY_SOUND_OPEN_CHEST, assets_sounds_open_chest) | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 }; |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 |
486 | 105 static const struct { |
500 | 106 enum mlk_registry_music index; |
486 | 107 const unsigned char *data; |
108 size_t datasz; | |
109 } musics[] = { | |
500 | 110 MLK_REGISTRY_MUSIC(MLK_REGISTRY_MUSIC_ROMANCE, assets_music_vabsounds_romance) |
486 | 111 }; |
112 | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 static void |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
114 load_images(void) |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
115 { |
486 | 116 struct mlk_texture *texture; |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
117 |
486 | 118 for (size_t i = 0; i < MLK_UTIL_SIZE(images); ++i) { |
500 | 119 texture = &mlk_registry_images[images[i].index]; |
486 | 120 |
547
c7664b679a95
misc: remove error codes for now
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
121 if (mlk_image_openmem(texture, images[i].data, images[i].datasz) < 0) |
571
cba66f7d8a53
misc: various windows fixes
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
122 mlk_panicf("unable to open image: %s", mlk_err()); |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
123 } |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
124 } |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
125 |
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
126 static void |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 load_textures_and_sprites(void) |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 { |
479
8e41ed5474cf
examples: resurrect example-action
David Demelier <markand@malikania.fr>
parents:
474
diff
changeset
|
129 struct mlk_texture *texture; |
8e41ed5474cf
examples: resurrect example-action
David Demelier <markand@malikania.fr>
parents:
474
diff
changeset
|
130 struct mlk_sprite *sprite; |
8e41ed5474cf
examples: resurrect example-action
David Demelier <markand@malikania.fr>
parents:
474
diff
changeset
|
131 |
474
ca30ff96bbe0
core: util -> mlk_util
David Demelier <markand@malikania.fr>
parents:
472
diff
changeset
|
132 for (size_t i = 0; i < MLK_UTIL_SIZE(textures); ++i) { |
500 | 133 texture = &mlk_registry_textures[textures[i].index]; |
134 sprite = &mlk_registry_sprites[textures[i].index]; | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 |
547
c7664b679a95
misc: remove error codes for now
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
136 if (mlk_image_openmem(texture, textures[i].data, textures[i].datasz) < 0) |
571
cba66f7d8a53
misc: various windows fixes
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
137 mlk_panicf("unable to open image: %s", mlk_err()); |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 |
516 | 139 if (textures[i].cellw == 0 || textures[i].cellh == 0) { |
140 sprite->cellw = texture->w; | |
141 sprite->cellh = texture->h; | |
142 } else { | |
143 sprite->cellw = textures[i].cellw; | |
144 sprite->cellh = textures[i].cellh; | |
145 } | |
146 | |
147 sprite->texture = texture; | |
148 mlk_sprite_init(sprite); | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 } |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 } |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 static void |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 load_sounds(void) |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 { |
486 | 155 struct mlk_sound *sound; |
156 | |
474
ca30ff96bbe0
core: util -> mlk_util
David Demelier <markand@malikania.fr>
parents:
472
diff
changeset
|
157 for (size_t i = 0; i < MLK_UTIL_SIZE(sounds); ++i) { |
500 | 158 sound = &mlk_registry_sounds[sounds[i].index]; |
486 | 159 |
547
c7664b679a95
misc: remove error codes for now
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
160 if (mlk_sound_openmem(sound, sounds[i].data, sounds[i].datasz) < 0) |
571
cba66f7d8a53
misc: various windows fixes
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
161 mlk_panicf("unable to open sound: %s", mlk_err()); |
486 | 162 } |
163 } | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 |
486 | 165 static void |
166 load_music(void) | |
167 { | |
168 struct mlk_music *music; | |
169 | |
170 for (size_t i = 0; i < MLK_UTIL_SIZE(musics); ++i) { | |
500 | 171 music = &mlk_registry_music[musics[i].index]; |
486 | 172 |
547
c7664b679a95
misc: remove error codes for now
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
173 if (mlk_music_openmem(music, musics[i].data, musics[i].datasz) < 0) |
571
cba66f7d8a53
misc: various windows fixes
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
174 mlk_panicf("unable to open music: %s", mlk_err()); |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 } |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 } |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 void |
500 | 179 mlk_registry_init(void) |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 { |
230
86b71e1f9dd5
rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents:
209
diff
changeset
|
181 load_images(); |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 load_textures_and_sprites(); |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 load_sounds(); |
486 | 184 load_music(); |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 } |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 |
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 void |
500 | 188 mlk_registry_finish(void) |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 { |
500 | 190 for (size_t i = 0; i < MLK_UTIL_SIZE(mlk_registry_images); ++i) |
191 mlk_texture_finish(&mlk_registry_images[i]); | |
192 for (size_t i = 0; i < MLK_UTIL_SIZE(mlk_registry_textures); ++i) | |
193 mlk_texture_finish(&mlk_registry_textures[i]); | |
194 for (size_t i = 0; i < MLK_UTIL_SIZE(mlk_registry_sounds); ++i) | |
195 mlk_sound_finish(&mlk_registry_sounds[i]); | |
196 for (size_t i = 0; i < MLK_UTIL_SIZE(mlk_registry_music); ++i) | |
197 mlk_music_finish(&mlk_registry_music[i]); | |
192
4ad7420ab678
rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 } |