From 2f358ef5f7134ce756c7f3c301df5154a7d9b10b Mon Sep 17 00:00:00 2001 From: Klemen Plestenjak Date: Fri, 10 Nov 2023 10:13:49 +0100 Subject: [PATCH] Remove nuklear from engine --- engine/CMakeLists.txt | 11 +++++++---- engine/breeze/game.h | 12 ------------ engine/tests/CMakeLists.txt | 3 --- engine/tests/window_test.c | 17 +++++++++++++++-- game/main.c | 34 +++++++--------------------------- 5 files changed, 29 insertions(+), 48 deletions(-) diff --git a/engine/CMakeLists.txt b/engine/CMakeLists.txt index 19f3ec9..614b264 100644 --- a/engine/CMakeLists.txt +++ b/engine/CMakeLists.txt @@ -6,19 +6,22 @@ set(CMAKE_C_STANDARD 11) add_compile_definitions(DEBUG_MODE) set(BUILD_EXAMPLES false) -add_subdirectory(libs/raylib-4.5.0) +add_subdirectory(libs/cimgui) add_subdirectory(libs/flecs) +add_subdirectory(libs/raylib-4.5.0) +add_subdirectory(libs/rlImGui) + +target_link_libraries(rlImGui cimgui raylib) set(librarySources libs/cute_tiled/cute_tiled.c - libs/nuklear/nuklear.c libs/raygui/raygui.c ) set(libraryDirs libs/cute_tiled - libs/nuklear libs/raygui + libs/rlImGui ) @@ -66,7 +69,7 @@ add_library(Breeze STATIC set_target_properties(Breeze PROPERTIES PUBLIC_HEADER "${BreezeHeaders}") -target_link_libraries(Breeze raylib flecs::flecs_static) +target_link_libraries(Breeze raylib flecs::flecs_static rlImGui) #target_include_directories(Breeze PUBLIC .) target_include_directories(Breeze diff --git a/engine/breeze/game.h b/engine/breeze/game.h index 33dcf27..61e528b 100644 --- a/engine/breeze/game.h +++ b/engine/breeze/game.h @@ -30,7 +30,6 @@ extern struct nk_context *NK; extern bool bzMain(BzAppDesc *appDesc, int argc, const char **argv); #ifdef BZ_ENTRYPOINT -#include #include struct nk_context *NK = NULL; @@ -94,9 +93,6 @@ int main(int argc, const char **argv) { SetTargetFPS(appDesc.fps); // Initialize modules - if (appDesc.useNuklear) { - NK = InitNuklear(16); - } if (appDesc.useFlecs) { ECS = ecs_init(); } @@ -108,8 +104,6 @@ int main(int argc, const char **argv) { while (!WindowShouldClose()) { float dt = GetFrameTime(); - if (NK) - UpdateNuklear(NK); if (appDesc.update) appDesc.update(dt, appDesc.userData); @@ -119,8 +113,6 @@ int main(int argc, const char **argv) { BeginDrawing(); if (appDesc.render) appDesc.render(dt, appDesc.userData); - if (NK) - DrawNuklear(NK); EndDrawing(); } @@ -133,10 +125,6 @@ int main(int argc, const char **argv) { ecs_fini(ECS); ECS = NULL; } - if (NK) { - UnloadNuklear(NK); - NK = NULL; - } CloseWindow(); bzLoggerDeinit(); diff --git a/engine/tests/CMakeLists.txt b/engine/tests/CMakeLists.txt index 78eb081..1cb08b3 100644 --- a/engine/tests/CMakeLists.txt +++ b/engine/tests/CMakeLists.txt @@ -3,8 +3,5 @@ project(BreezeTests) add_executable(window_test window_test.c) target_link_libraries(window_test LINK_PRIVATE Breeze) -add_executable(nuklear_test nuklear_test.c) -target_link_libraries(nuklear_test LINK_PRIVATE Breeze) - add_executable(cute_tiled_test cute_tiled_test.c) target_link_libraries(cute_tiled_test LINK_PRIVATE Breeze) diff --git a/engine/tests/window_test.c b/engine/tests/window_test.c index f155876..ae376c6 100644 --- a/engine/tests/window_test.c +++ b/engine/tests/window_test.c @@ -2,14 +2,27 @@ #include #include +#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS +#include +#include + +bool init(int *game) { + rlImGuiSetup(true); + + return true; +} void render(float dt, int *game) { ClearBackground(WHITE); - BeginDrawing(); - EndDrawing(); + + rlImGuiBegin(); + igShowDemoWindow(NULL); + rlImGuiEnd(); } bool bzMain(BzAppDesc *appDesc, int argc, const char **argv) { + appDesc->init = (BzAppInitFunc) init; appDesc->render = (BzAppRenderFunc) render; + return true; } \ No newline at end of file diff --git a/game/main.c b/game/main.c index dd48f00..51456be 100644 --- a/game/main.c +++ b/game/main.c @@ -207,17 +207,15 @@ int sizeY = 1; void render(float dt, Game *game) { Camera2D *camera = &game->camera; - if (!nk_item_is_any_active(NK)) { - if (IsKeyDown(KEY_W)) camera->target.y -= 20; - if (IsKeyDown(KEY_S)) camera->target.y += 20; - if (IsKeyDown(KEY_A)) camera->target.x -= 20; - if (IsKeyDown(KEY_D)) camera->target.x += 20; + if (IsKeyDown(KEY_W)) camera->target.y -= 20; + if (IsKeyDown(KEY_S)) camera->target.y += 20; + if (IsKeyDown(KEY_A)) camera->target.x -= 20; + if (IsKeyDown(KEY_D)) camera->target.x += 20; - if (IsKeyDown(KEY_Q)) camera->rotation--; - if (IsKeyDown(KEY_E)) camera->rotation++; + if (IsKeyDown(KEY_Q)) camera->rotation--; + if (IsKeyDown(KEY_E)) camera->rotation++; - camera->zoom += ((float) GetMouseWheelMove() * 0.05f); - } + camera->zoom += ((float) GetMouseWheelMove() * 0.05f); BeginMode2D(*camera); ClearBackground(RAYWHITE); @@ -238,25 +236,7 @@ void render(float dt, Game *game) { EndMode2D(); - if (nk_begin(NK, "DebugMenu", nk_rect(50, 50, 220, 220), - NK_WINDOW_BORDER |NK_WINDOW_MOVABLE | NK_WINDOW_SCALABLE | - NK_WINDOW_TITLE | NK_WINDOW_MINIMIZABLE)) { - // fixed widget pixel width - nk_layout_row_static(NK, 30, 80, 1); - nk_labelf(NK, NK_TEXT_LEFT, "tileX: %d", tileX); - nk_labelf(NK, NK_TEXT_LEFT, "tileY: %d", tileY); - static char buf[256] = {}; - nk_edit_string_zero_terminated(NK, NK_EDIT_FIELD, buf, sizeof(buf) - 1, nk_filter_default); - - - nk_labelf(NK, NK_TEXT_LEFT, "x: %d", sizeX); - nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY); - nk_slider_int(NK, 0, &sizeX, 10, 1); - nk_slider_int(NK, 0, &sizeY, 10, 1); - - } - nk_end(NK); } bool bzMain(BzAppDesc *appDesc, int argc, const char **argv) {