diff options
| -rw-r--r-- | src/main.c | 38 | ||||
| -rw-r--r-- | src/screens.c | 79 | ||||
| -rw-r--r-- | src/screens.h | 11 |
3 files changed, 24 insertions, 104 deletions
@@ -4,7 +4,6 @@ #include "editor.h" #include "raylib.h" -#include "screens.h" #include "xd.h" int main() { @@ -33,21 +32,32 @@ int main() { camera.rotation = 0.0f; camera.zoom = 4.0f; - GameScreen currentScreen = SCREEN_MENU; - while (!WindowShouldClose()) { - switch (currentScreen) { - case SCREEN_MENU: { - SE_DrawMenuScreen(¤tScreen, &editor, data, datas); - break; - } - case SCREEN_EDITOR: { - SE_DrawEditorScreen(¤tScreen, &editor, &camera); - break; - } - default: - break; + if (GetMouseWheelMove() != 0.0) { + camera.zoom += (int)GetMouseWheelMove(); + + if (camera.zoom > 6.0f) + camera.zoom = 6.0f; + else if (camera.zoom < 4.0f) + camera.zoom = 4.0f; + } + + if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) { + Vector2 mousePos = GetMouseDelta(); + camera.target.x -= mousePos.x / 5.0f; + camera.target.y -= mousePos.y / 5.0f; } + + BeginDrawing(); + ClearBackground(RAYWHITE); + + BeginMode2D(camera); + SE_DrawEditor(&editor, &camera); + EndMode2D(); + + SE_DrawEditorToolkit(&editor); + + EndDrawing(); } return 0; diff --git a/src/screens.c b/src/screens.c deleted file mode 100644 index 0d18079..0000000 --- a/src/screens.c +++ /dev/null @@ -1,79 +0,0 @@ -#include "screens.h" - -#include <stdio.h> -#include <stdlib.h> - -#include "editor.h" -#include "raylib.h" -#include "xd.h" - -#define RAYGUI_IMPLEMENTATION -#include "raygui.h" - -void SE_DrawMenuScreen(GameScreen *currentScreen, Editor *editor, XdData *data, - XdData *datas[]) { - if (IsKeyPressed(KEY_N)) { - *currentScreen = SCREEN_EDITOR; - data = malloc(sizeof(XdData)); - editor->data = data; - - data->name = "xd"; - - // Creating an empty level - data->levels[0] = malloc(sizeof(XdLevel)); - data->levels[0]->floors[0] = malloc(sizeof(XdFloor)); - data->levels[0]->floors[0]->width = 30; - data->levels[0]->floors[0]->height = 30; - } - - BeginDrawing(); - ClearBackground(RAYWHITE); - - for (int i = 0; i < sizeof(*datas) / sizeof(*datas[0]); i++) { - printf("xd\n"); - XdData *data = datas[i]; - bool button = GuiButton((Rectangle){10, 10 * i, GetScreenWidth() - 10, 40}, - data->name); - } - - GuiLabel((Rectangle){0, GetScreenHeight() - 20, GetScreenWidth(), 20}, - "Press N to create a new campaign"); - EndDrawing(); -} - -void SE_DrawEditorScreen(GameScreen *currentScreen, Editor *editor, - Camera2D *camera) { - if (IsKeyPressed(KEY_S)) { - Xd_SaveFile("test.xd", editor->data); - *currentScreen = SCREEN_MENU; - free(editor->data); - editor->data = NULL; - return; - } - - if (GetMouseWheelMove() != 0.0) { - camera->zoom += (int)GetMouseWheelMove(); - - if (camera->zoom > 6.0f) - camera->zoom = 6.0f; - else if (camera->zoom < 4.0f) - camera->zoom = 4.0f; - } - - if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) { - Vector2 mousePos = GetMouseDelta(); - camera->target.x -= mousePos.x / 5.0f; - camera->target.y -= mousePos.y / 5.0f; - } - - BeginDrawing(); - ClearBackground(RAYWHITE); - - BeginMode2D(*camera); - SE_DrawEditor(editor, camera); - EndMode2D(); - - SE_DrawEditorToolkit(editor); - - EndDrawing(); -} diff --git a/src/screens.h b/src/screens.h deleted file mode 100644 index f73df4e..0000000 --- a/src/screens.h +++ /dev/null @@ -1,11 +0,0 @@ -#include <raylib.h> - -#include "editor.h" -#include "xd.h" - -typedef enum GameScreen { SCREEN_MENU = 0, SCREEN_EDITOR } GameScreen; - -void SE_DrawMenuScreen(GameScreen *currentScreen, Editor *editor, XdData *data, - XdData *datas[]); -void SE_DrawEditorScreen(GameScreen *currentScreen, Editor *editor, - Camera2D *camera); |
