summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/main.c b/src/main.c
index ad854a8..31a858a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,19 +1,31 @@
#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
#include "editor.h"
-#include "level.h"
#include "raylib.h"
#include "screens.h"
-
-typedef enum GameScreen { SCREEN_MENU = 0, SCREEN_EDITOR } GameScreen;
+#include "xd.h"
int main() {
SetConfigFlags(FLAG_WINDOW_RESIZABLE);
InitWindow(800, 600, "sillyeditor");
SetTargetFPS(60);
- Level *level = SE_CreateLevel(30, 30);
- Editor editor = {level, {}};
+ // Getting list of files
+ XdData* datas[] = {};
+ FilePathList list = LoadDirectoryFilesEx("datas", ".xd", true);
+
+ for (int i = 0; i < list.count; i++) {
+ XdData data = Xd_LoadFromFile(list.paths[i]);
+ printf("%s\n", data.name);
+ datas[i] = &data;
+ }
+
+ UnloadDirectoryFiles(list);
+
+ XdData* data = NULL;
+ Editor editor = {data, {0, 0}};
Camera2D camera = {0};
camera.target = (Vector2){0.0f, 0.0f};
@@ -26,11 +38,11 @@ int main() {
while (!WindowShouldClose()) {
switch (currentScreen) {
case SCREEN_MENU: {
- SE_DrawMenuScreen();
+ SE_DrawMenuScreen(&currentScreen, &editor, data, datas);
break;
}
case SCREEN_EDITOR: {
- SE_DrawEditorScreen(&editor, &camera);
+ SE_DrawEditorScreen(&currentScreen, &editor, &camera);
break;
}
default:
@@ -38,7 +50,5 @@ int main() {
}
}
- SE_FreeLevel(level);
-
return 0;
}