Mercurial > molko
comparison libmlk-rpg/mlk/rpg/loader-file_p.h @ 593:f9e85d0aca74
rpg: introduce private loader_file to help allocating map/tileset
The structure is just an allocator and owner for various data shared among the
map and the tileset such as sprites, textures, animations...
While here, simplify use of mlk_(map|tileset)_loader_file so they don't have a
public structure anymore but insert themselves into the loader->data.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 21 Mar 2023 14:08:15 +0100 |
parents | |
children | bb67f935a93f |
comparison
equal
deleted
inserted
replaced
592:1560ef13146c | 593:f9e85d0aca74 |
---|---|
1 /* | |
2 * loader-file_p.h -- resource loader for map/tileset | |
3 * | |
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #ifndef MLK_RPG_LOADER_FILE_P_H | |
20 #define MLK_RPG_LOADER_FILE_P_H | |
21 | |
22 struct mlk_animation; | |
23 struct mlk_sprite; | |
24 struct mlk_texture; | |
25 | |
26 struct mlk__loader_file; | |
27 | |
28 struct mlk__loader_file * | |
29 mlk__loader_file_new(const char *path); | |
30 | |
31 const char * | |
32 mlk__loader_file_directory(const struct mlk__loader_file *loader); | |
33 | |
34 struct mlk_texture * | |
35 mlk__loader_file_texture_open(struct mlk__loader_file *loader, const char *ident); | |
36 | |
37 struct mlk_sprite * | |
38 mlk__loader_file_sprite_new(struct mlk__loader_file *loader); | |
39 | |
40 struct mlk_animation * | |
41 mlk__loader_file_animation_new(struct mlk__loader_file *loader); | |
42 | |
43 void | |
44 mlk__loader_file_free(struct mlk__loader_file *loader); | |
45 | |
46 #endif /* !MLK_RPG_LOADER_FILE_P_H */ |