Reorganized source files

Gui_Panel_Refactor
Joeyrp 4 years ago
parent 7ca93ababf
commit a0584b652c

@ -29,16 +29,15 @@ set(LUNARIUM_SRC
"src/core/version.cpp" "src/core/version.cpp"
"src/core/iRunMode.cpp" "src/core/iRunMode.cpp"
"src/window/window.cpp" "src/window/window.cpp"
"src/tester/tester.cpp"
"src/graphics/opengl/glGraphics.cpp" "src/graphics/opengl/glGraphics.cpp"
"src/graphics/opengl/glText.cpp" "src/graphics/opengl/glText.cpp"
"src/graphics/opengl/glShader.cpp" "src/graphics/opengl/glShader.cpp"
"src/graphics/internalFont.cpp" "src/graphics/internalFont.cpp"
"src/input/keyboard.cpp" "src/input/keyboard.cpp"
"src/input/inputManager.cpp" "src/input/inputManager.cpp"
"src/graphics/gui/gui.cpp" "src/gui/gui.cpp"
"src/graphics/gui/logGui.cpp" "src/gui/logGui.cpp"
"src/graphics/gui/luaConsole.cpp" "src/gui/luaConsole.cpp"
"src/scripting/scriptManager.cpp" "src/scripting/scriptManager.cpp"
"src/scripting/coreAPI.cpp" "src/scripting/coreAPI.cpp"
) )
@ -93,13 +92,13 @@ add_subdirectory(external/glad/src)
add_subdirectory(external/glm) add_subdirectory(external/glm)
# add dearimgui # add dearimgui
add_subdirectory(src/graphics/dearimgui) add_subdirectory(src/internal_libs/dearimgui)
# add utils # add utils
add_subdirectory(src/utils) add_subdirectory(src/internal_libs/utils)
# add assets # add assets
add_subdirectory(src/assets) add_subdirectory(src/internal_libs/assets)
# add lua -- https://github.com/walterschell/Lua # add lua -- https://github.com/walterschell/Lua
add_subdirectory(external/lua) add_subdirectory(external/lua)
@ -110,14 +109,18 @@ add_subdirectory(external/pugixml)
# add freetype # add freetype
add_subdirectory(external/freetype) add_subdirectory(external/freetype)
# add run mode tester
add_subdirectory(src/run_modes/tester)
target_include_directories(${PROJECT_NAME} target_include_directories(${PROJECT_NAME}
PUBLIC "${PROJECT_BINARY_DIR}" PUBLIC "${PROJECT_BINARY_DIR}"
PUBLIC src PUBLIC src
PUBLIC src/internal_libs
PUBLIC external PUBLIC external
PUBLIC external/glfw/include PUBLIC external/glfw/include
PUBLIC external/glm PUBLIC external/glm
PUBLIC external/lua/lua5.4.3/include PUBLIC external/lua/lua5.4.3/include
PUBLIC src/graphics/dearimgui PUBLIC src/internal_libs/dearimgui
PUBLIC external/pugixml/src PUBLIC external/pugixml/src
PUBLIC external/glad/include PUBLIC external/glad/include
PUBLIC external/freetype/include PUBLIC external/freetype/include
@ -126,15 +129,18 @@ target_include_directories(${PROJECT_NAME}
target_link_directories(${PROJECT_NAME} target_link_directories(${PROJECT_NAME}
PRIVATE external/glfw/src PRIVATE external/glfw/src
PRIVATE external/glm PRIVATE external/glm
PRIVATE src/graphics/dearimgui PRIVATE src/internal_libs/dearimgui
PRIVATE src/utils PRIVATE src/internal_libs/utils
PRIVATE src/assets PRIVATE src/internal_libs/assets
PRIVATE src/run_modes/tester
PRIVATE external/glad/src PRIVATE external/glad/src
PRIVATE external/freetype/src PRIVATE external/freetype/src
) )
target_link_libraries(${PROJECT_NAME} glfw glad glm dearimgui utils assets lua_static pugixml freetype tester)
if(WIN32) if(WIN32)
target_link_libraries(${PROJECT_NAME} opengl32.lib glfw glad glm dearimgui utils assets lua_static pugixml freetype) target_link_libraries(${PROJECT_NAME} opengl32.lib)
elseif(UNIX) elseif(UNIX)
target_link_libraries(${PROJECT_NAME} X11 GL glfw glad glm dearimgui utils assets lua_static pugixml freetype) target_link_libraries(${PROJECT_NAME} X11 GL)
endif() endif()

@ -13,15 +13,15 @@
#include <LunariumConfig.h> #include <LunariumConfig.h>
// Run modes // Run modes
#include <tester/tester.h> #include <run_modes/tester/tester.h>
// Sub Systems // Sub Systems
#include <window/window.h> #include <window/window.h>
#include <input/inputManager.h> #include <input/inputManager.h>
#include <graphics/opengl/glGraphics.h> #include <graphics/opengl/glGraphics.h>
#include <graphics/gui/gui.h> #include <gui/gui.h>
#include <graphics/gui/logGui.h> #include <gui/logGui.h>
#include <graphics/gui/luaConsole.h> #include <gui/luaConsole.h>
#include <scripting/scriptManager.h> #include <scripting/scriptManager.h>
#include <scripting/coreAPI.h> #include <scripting/coreAPI.h>
@ -166,15 +166,15 @@ namespace lunarium
if (Failed(result)) if (Failed(result))
{ {
Logger::Log(LogCategory::CORE, LogLevel::FATAL_ERROR, Logger::Log(LogCategory::CORE, LogLevel::FATAL_ERROR,
"Could not initialize the Window system: %s", result.Description); "Could not initialize the Window system: %s", result.Description.c_str());
return; return;
} }
if (Renderer::OPENGL == mState.Display.RenderFramework) if (RenderSystem::OPENGL == mState.Display.Renderer)
{ {
mpGraphics = new OglGraphics; mpGraphics = new OglGraphics;
} }
else if (Renderer::VULKAN == mState.Display.RenderFramework) else if (RenderSystem::VULKAN == mState.Display.Renderer)
{ {
Logger::Log(LogCategory::CORE, LogLevel::FATAL_ERROR, Logger::Log(LogCategory::CORE, LogLevel::FATAL_ERROR,
"Can not create Vulkan graphics system because it is not yet implemented. Must use OpenGL instead."); "Can not create Vulkan graphics system because it is not yet implemented. Must use OpenGL instead.");

@ -19,7 +19,7 @@ namespace lunarium
s.DataDirectory = ""; s.DataDirectory = "";
s.Display.FullScreenResolution.Width = 0; s.Display.FullScreenResolution.Width = 0;
s.Display.FullScreenResolution.Height = 0; s.Display.FullScreenResolution.Height = 0;
s.Display.RenderFramework = Renderer::OPENGL; s.Display.Renderer = RenderSystem::OPENGL;
s.Display.IsFullScreen = false; s.Display.IsFullScreen = false;
s.Display.VSyncEnabled = false; s.Display.VSyncEnabled = false;
s.Display.WindowedSize.Width = 0; s.Display.WindowedSize.Width = 0;
@ -40,7 +40,7 @@ namespace lunarium
Sizei size = System::GetScreenResolution(); Sizei size = System::GetScreenResolution();
s.Display.FullScreenResolution.Width = size.Width; s.Display.FullScreenResolution.Width = size.Width;
s.Display.FullScreenResolution.Height = size.Height; s.Display.FullScreenResolution.Height = size.Height;
s.Display.RenderFramework = Renderer::OPENGL; s.Display.Renderer = RenderSystem::OPENGL;
s.Display.IsFullScreen = false; s.Display.IsFullScreen = false;
s.Display.VSyncEnabled = true; s.Display.VSyncEnabled = true;
s.Display.WindowedSize.Width = 800; s.Display.WindowedSize.Width = 800;
@ -102,7 +102,7 @@ namespace lunarium
Sizei size = System::GetScreenResolution(); Sizei size = System::GetScreenResolution();
state.Display.FullScreenResolution.Width = size.Width; state.Display.FullScreenResolution.Width = size.Width;
state.Display.FullScreenResolution.Height = size.Height; state.Display.FullScreenResolution.Height = size.Height;
state.Display.RenderFramework = Renderer::OPENGL; state.Display.Renderer = RenderSystem::OPENGL;
state.Display.IsFullScreen = false; state.Display.IsFullScreen = false;
state.Display.VSyncEnabled = true; state.Display.VSyncEnabled = true;
state.Display.WindowedSize.Width = 800; state.Display.WindowedSize.Width = 800;
@ -115,18 +115,18 @@ namespace lunarium
state.Display.FullScreenResolution.Width = display.child("FullScreenResolution").attribute("Width").as_int(); state.Display.FullScreenResolution.Width = display.child("FullScreenResolution").attribute("Width").as_int();
state.Display.FullScreenResolution.Height = display.child("FullScreenResolution").attribute("Height").as_int(); state.Display.FullScreenResolution.Height = display.child("FullScreenResolution").attribute("Height").as_int();
std::string framework = display.attribute("RenderFramework").as_string(); std::string renderer = display.attribute("Renderer").as_string();
if (String::StringToLower(framework) == "opengl") if (String::StringToLower(renderer) == "opengl")
{ {
state.Display.RenderFramework = Renderer::OPENGL; state.Display.Renderer = RenderSystem::OPENGL;
} }
else if (String::StringToLower(framework) == "vulkan") else if (String::StringToLower(renderer) == "vulkan")
{ {
state.Display.RenderFramework = Renderer::VULKAN; state.Display.Renderer = RenderSystem::VULKAN;
} }
else else
{ {
state.Display.RenderFramework = Renderer::UNKNOWN; state.Display.Renderer = RenderSystem::UNKNOWN;
} }
state.Display.IsFullScreen = display.attribute("IsFullScreen").as_bool(); state.Display.IsFullScreen = display.attribute("IsFullScreen").as_bool();
@ -170,7 +170,7 @@ namespace lunarium
display.append_attribute("VSyncEnabled").set_value(Display.VSyncEnabled); display.append_attribute("VSyncEnabled").set_value(Display.VSyncEnabled);
const char* names[] = { "opengl", "vulkan", "unknown" }; const char* names[] = { "opengl", "vulkan", "unknown" };
display.append_attribute("RenderFramework").set_value(names[Display.RenderFramework]); display.append_attribute("Renderer").set_value(names[Display.Renderer]);
pugi::xml_node fsr = display.append_child("FullScreenResolution"); pugi::xml_node fsr = display.append_child("FullScreenResolution");
fsr.append_attribute("Width").set_value(Display.FullScreenResolution.Width); fsr.append_attribute("Width").set_value(Display.FullScreenResolution.Width);

@ -21,7 +21,7 @@ namespace lunarium
MODE_TEST MODE_TEST
}; };
enum Renderer enum RenderSystem
{ {
OPENGL, OPENGL,
VULKAN, VULKAN,
@ -52,7 +52,7 @@ namespace lunarium
int Height; int Height;
} FullScreenResolution; } FullScreenResolution;
Renderer RenderFramework; RenderSystem Renderer;
bool IsFullScreen; bool IsFullScreen;
bool VSyncEnabled; bool VSyncEnabled;
} Display; } Display;

@ -129,6 +129,12 @@ namespace lunarium
ImVec4 color(1.0f, 1.0f, 1.0f, 1.0f); ImVec4 color(1.0f, 1.0f, 1.0f, 1.0f);
if (mMsgHistory[i].find("[LUA]") != std::string::npos)
{
color = ImVec4(0.25f, 0.5f, 0.95f, 1.0f);
}
if (mMsgHistory[i].find("WARNING") != std::string::npos) if (mMsgHistory[i].find("WARNING") != std::string::npos)
{ {
color = ImVec4(0.75f, 0.75f, 0.0f, 1.0f); color = ImVec4(0.75f, 0.75f, 0.0f, 1.0f);
@ -139,11 +145,6 @@ namespace lunarium
color = ImVec4(1.0f, 0.0f, 0.0f, 1.0f); color = ImVec4(1.0f, 0.0f, 0.0f, 1.0f);
} }
if (mMsgHistory[i].find("[LUA]") != std::string::npos)
{
color = ImVec4(0.25f, 0.5f, 0.95f, 1.0f);
}
const char* msg = mMsgHistory[i].c_str(); const char* msg = mMsgHistory[i].c_str();
int len = strlen(msg); int len = strlen(msg);

@ -10,7 +10,7 @@
#include <window/window.h> #include <window/window.h>
#include "inputManager.h" #include "inputManager.h"
#include <graphics/gui/gui.h> #include <gui/gui.h>
#include <utils/logger.h> #include <utils/logger.h>
#include <cstring> #include <cstring>

@ -7,5 +7,6 @@ target_link_directories(assets
target_include_directories(assets target_include_directories(assets
PUBLIC ../ PUBLIC ../
PUBLIC ../../external/glm PUBLIC ../../
PUBLIC ../../../external/glm
) )

@ -3,7 +3,5 @@ add_library(utils stb/stb_image_write.cpp stb/stb_image.cpp args.cpp binaryFileB
target_include_directories(utils target_include_directories(utils
PUBLIC "${PROJECT_BINARY_DIR}" PUBLIC "${PROJECT_BINARY_DIR}"
PUBLIC ../../external/glm PUBLIC ../../../external/glm
) )
message( " current source dir: ${CMAKE_CURRENT_SOURCE_DIR}" )

@ -0,0 +1,10 @@
add_library(tester tester.cpp)
target_include_directories(tester
PUBLIC "${PROJECT_BINARY_DIR}"
PUBLIC ../../
PUBLIC ../../internal_libs
PUBLIC ../../../external/glm
PUBLIC ../../../external/glad/include
PUBLIC ../../../external/glfw/include
)

@ -29,12 +29,12 @@ namespace lunarium
return OpRes::Fail("A window is already initialized. Multiple windows is not yet supported"); return OpRes::Fail("A window is already initialized. Multiple windows is not yet supported");
} }
if (state.Display.RenderFramework == Renderer::VULKAN) if (state.Display.Renderer == RenderSystem::VULKAN)
{ {
return OpRes::Fail("Render Framework VULKAN is not yet implemented"); return OpRes::Fail("Render Framework VULKAN is not yet implemented");
} }
if (state.Display.RenderFramework == Renderer::OPENGL) if (state.Display.Renderer == RenderSystem::OPENGL)
{ {
int width, height; int width, height;

@ -1,7 +1,7 @@
<State> <State>
<DataDirectory>data/</DataDirectory> <DataDirectory>data/</DataDirectory>
<Mode Type="test" /> <Mode Type="test" />
<Display RenderFramework="opengl" IsFullScreen="false" VSyncEnabled="true"> <Display Renderer="opengl" IsFullScreen="false" VSyncEnabled="true">
<FullScreenResolution Width="1920" Height="1080" /> <FullScreenResolution Width="1920" Height="1080" />
<WindowedSize Width="1280" Height="720" /> <WindowedSize Width="1280" Height="720" />
<WindowStartPosition X="100" Y="100" /> <WindowStartPosition X="100" Y="100" />

Loading…
Cancel
Save