summaryrefslogtreecommitdiff
path: root/src/editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/editor.h')
-rw-r--r--src/editor.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/editor.h b/src/editor.h
index e1981cf..02966f1 100644
--- a/src/editor.h
+++ b/src/editor.h
@@ -1,11 +1,37 @@
#ifndef __EDITOR_H__
#define __EDITOR_H__
#include <raylib.h>
+#include <stdbool.h>
#include "xd.h"
+#define TEXTURE_WIDTH 16.0f
+#define TEXTURE_HEIGHT 16.0f
+
+typedef struct {
+ bool isFloor, isWall;
+ char *upFilePath, *sideFilePath, *cornerFilePath;
+ Texture2D upTexture, sideTexture, cornerTexture;
+} EditorCreateBlockState;
+
+typedef struct {
+ XdTileData data;
+ Texture2D texture;
+} EditorTile;
+
+typedef struct {
+ int tileCacheSize;
+ EditorTile *tiles[200];
+ Texture2D *textureCache[];
+} EditorCache;
+
typedef struct {
- int currentLevel, currentLayer;
+ int currentLevel, currentLayer, activeMainTab;
+ EditorCreateBlockState *createBlockState;
+ Rectangle panelView;
+ Vector2 panelScroll;
+ EditorCache cache;
+ EditorTile *selectedTile;
} EditorState;
typedef struct {
@@ -14,4 +40,6 @@ typedef struct {
} Editor;
void SE_DrawEditor(Editor *editor, Camera2D *camera);
+void SE_DrawEditorToolkit(Editor *editor);
+void SE_RebuildEditorCache(Editor *editor);
#endif