diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libmlk-rpg/mlk/rpg/loader-file_p.h	Tue Mar 21 14:08:15 2023 +0100
@@ -0,0 +1,46 @@
+/*
+ * loader-file_p.h -- resource loader for map/tileset
+ *
+ * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef MLK_RPG_LOADER_FILE_P_H
+#define MLK_RPG_LOADER_FILE_P_H
+
+struct mlk_animation;
+struct mlk_sprite;
+struct mlk_texture;
+
+struct mlk__loader_file;
+
+struct mlk__loader_file *
+mlk__loader_file_new(const char *path);
+
+const char *
+mlk__loader_file_directory(const struct mlk__loader_file *loader);
+
+struct mlk_texture *
+mlk__loader_file_texture_open(struct mlk__loader_file *loader, const char *ident);
+
+struct mlk_sprite *
+mlk__loader_file_sprite_new(struct mlk__loader_file *loader);
+
+struct mlk_animation *
+mlk__loader_file_animation_new(struct mlk__loader_file *loader);
+
+void
+mlk__loader_file_free(struct mlk__loader_file *loader);
+
+#endif /* !MLK_RPG_LOADER_FILE_P_H */