summaryrefslogtreecommitdiff
path: root/g_src/texture_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'g_src/texture_handler.h')
-rwxr-xr-xg_src/texture_handler.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/g_src/texture_handler.h b/g_src/texture_handler.h
new file mode 100755
index 0000000..50b73d1
--- /dev/null
+++ b/g_src/texture_handler.h
@@ -0,0 +1,60 @@
+#ifndef TEXTURE_HANDLER_H
+#define TEXTURE_HANDLER_H
+
+#include "textlines.h"
+
+struct tile_pagest
+{
+ string token;
+
+ string filename;
+ short tile_dim_x;
+ short tile_dim_y;
+ short page_dim_x;
+ short page_dim_y;
+
+ svector<int32_t> texpos;
+ svector<int32_t> datapos;
+ svector<int32_t> texpos_gs;
+ svector<int32_t> datapos_gs;
+
+ char loaded;
+
+
+
+ tile_pagest()
+ {
+ loaded=0;
+ }
+
+ void load_graphics(string &graphics_dir);
+};
+
+class texture_handlerst
+{
+ public:
+ svector<tile_pagest *> page;
+
+ svector<int32_t> texpos;
+ svector<int32_t> datapos;
+
+ void clean();
+ void adopt_new_lines(textlinesst &lines,string &graphics_dir);
+
+ ~texture_handlerst()
+ {
+ clean();
+ }
+
+ tile_pagest *get_tile_page_by_token(string &tk)
+ {
+ int32_t t;
+ for(t=0;t<page.size();t++)
+ {
+ if(page[t]->token==tk)return page[t];
+ }
+ return NULL;
+ }
+};
+
+#endif