From 084c1e2a76e08a223d28be8b261ae53ae7786acd Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:48:14 +0100 Subject: [PATCH 1/9] modifed premake5 for linux audio --- premake5.lua | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/premake5.lua b/premake5.lua index 4ca3158d..a708409a 100644 --- a/premake5.lua +++ b/premake5.lua @@ -121,7 +121,7 @@ project "NuakeRuntime" location "Runtime" kind "ConsoleApp" language "C++" - + targetdir ("bin/" .. outputdir .. "/%{prj.name}") objdir ("bin-int/" .. outputdir .. "/%{prj.name}") debugdir ("Editor") @@ -144,9 +144,9 @@ project "NuakeRuntime" "%{prj.name}/../Nuake/Dependencies/build", "%{prj.name}/../Nuake/Dependencies/soloud/include" } - - libdirs - { + + libdirs + { "%{prj.name}/../Nuake/dependencies/assimp/lib/", "%{prj.name}/../Nuake/dependencies/freetype-windows-binaries/release static/win64", "%{prj.name}/../bin/%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}/Nuake/", @@ -159,8 +159,8 @@ project "NuakeRuntime" } links - { - "Nuake", + { + "Nuake", "GLFW", "glad", "assimp", @@ -183,13 +183,17 @@ project "NuakeRuntime" filter "system:linux" links { - "GL" + "GL", + "glfw", + "glad", + "X11", + "asound", } filter "configurations:Debug" runtime "Debug" symbols "on" - defines + defines { "NK_DEBUG" } @@ -199,7 +203,7 @@ project "NuakeRuntime" runtime "Release" optimize "on" - defines + defines { "NK_DIST", "WIN32_LEAN_AND_MEAN" @@ -213,7 +217,7 @@ project "NuakeRuntime" runtime "Release" optimize "on" flags { "WinMain" } - defines + defines { "NK_DIST" } @@ -298,7 +302,8 @@ project "Editor" "GL", "glfw", "glad", - "X11" + "X11", + "asound", } defines @@ -334,4 +339,4 @@ project "Editor" -- copy a file from the objects directory to the target directory postbuildcommands { --"{COPY} "Nuake/dependencies/GLFW/lib-vc2019/glfw3.dll" " .. "./bin/" .. outputdir .. "/%{prj.name}/glfw3.dll" - } \ No newline at end of file + } From f1bb67188dd6538dcbc482d7b09cca3dcb245fba Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:49:04 +0100 Subject: [PATCH 2/9] linux debugging commented out line 27-35 to help with linux debugging --- Nuake/src/Vendors/katana-parser/selector.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Nuake/src/Vendors/katana-parser/selector.c b/Nuake/src/Vendors/katana-parser/selector.c index 957650da..d3e7e480 100644 --- a/Nuake/src/Vendors/katana-parser/selector.c +++ b/Nuake/src/Vendors/katana-parser/selector.c @@ -24,15 +24,15 @@ #include #include #include -strcasecmp(const char* a, const char* b) -{ - #ifdef NK_WIN - return _stricmp(a, b); - #endif - #ifdef NK_LINUX - return strcasecmp(a, b); - #endif -} +// strcasecmp(const char* a, const char* b) +// { +// #ifdef NK_WIN +// return _stricmp(a, b); +// #endif +// #ifdef NK_LINUX +// return strcasecmp(a, b); +// #endif +// } #undef assert #define assert(x) From ff9ddee8369758fa5edd9c98dad43633ab0f8b5e Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:50:29 +0100 Subject: [PATCH 3/9] fixed slashes for linux --- Nuake/src/Core/FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Nuake/src/Core/FileSystem.cpp b/Nuake/src/Core/FileSystem.cpp index 974269c3..60f01ea8 100644 --- a/Nuake/src/Core/FileSystem.cpp +++ b/Nuake/src/Core/FileSystem.cpp @@ -142,7 +142,7 @@ namespace Nuake { std::filesystem::path pathObj(fullPath); auto returnvalue = pathObj.parent_path().string(); - return returnvalue + "\\"; + return returnvalue + "/"; } std::string FileSystem::ReadFile(const std::string& path, bool absolute) From d46c0c47b82704954f40dcf7bd899fa7fb3aa015 Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:51:14 +0100 Subject: [PATCH 4/9] linux audio is now set to alsa --- Nuake/dependencies/soloud_p5.lua | 4 ++-- Nuake/src/Audio/AudioManager.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Nuake/dependencies/soloud_p5.lua b/Nuake/dependencies/soloud_p5.lua index d5a980a7..ed271fc0 100644 --- a/Nuake/dependencies/soloud_p5.lua +++ b/Nuake/dependencies/soloud_p5.lua @@ -37,11 +37,11 @@ project 'Soloud' filter "system:linux" defines { - "WITH_OSS" + "WITH_ALSA" } files { - "soloud/src/backend/oss/soloud_oss.cpp" + "soloud/src/backend/alsa/soloud_alsa.cpp" } filter "configurations:Debug" diff --git a/Nuake/src/Audio/AudioManager.cpp b/Nuake/src/Audio/AudioManager.cpp index d831bd2f..8d9af0ca 100644 --- a/Nuake/src/Audio/AudioManager.cpp +++ b/Nuake/src/Audio/AudioManager.cpp @@ -28,7 +28,7 @@ namespace Nuake { m_Soloud = CreateRef(); // TODO: Sample rate, back end, buffer size, flags. - m_Soloud->init(); + m_Soloud->init(SoLoud::Soloud::CLIP_ROUNDOFF,SoLoud::Soloud::ALSA); m_AudioThread = std::thread(&AudioManager::AudioThreadLoop, this); From c019ec6e0ce80649a21b16cea8dc65d1b96e517f Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:51:48 +0100 Subject: [PATCH 5/9] embedded shaders commented out --- Nuake/src/Rendering/Shaders/ShaderManager.cpp | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/Nuake/src/Rendering/Shaders/ShaderManager.cpp b/Nuake/src/Rendering/Shaders/ShaderManager.cpp index 2ef32d4d..9b1bc06c 100644 --- a/Nuake/src/Rendering/Shaders/ShaderManager.cpp +++ b/Nuake/src/Rendering/Shaders/ShaderManager.cpp @@ -14,33 +14,33 @@ namespace Nuake { using namespace StaticResources; - LoadEmbeddedShader(Resources_Shaders_atmospheric_sky_shader); - LoadEmbeddedShader(Resources_Shaders_barrel_distortion_shader); - LoadEmbeddedShader(Resources_Shaders_bloom_shader); - LoadEmbeddedShader(Resources_Shaders_blur_shader); - LoadEmbeddedShader(Resources_Shaders_BRD_shader); - LoadEmbeddedShader(Resources_Shaders_combine_shader); - LoadEmbeddedShader(Resources_Shaders_copy_shader); - LoadEmbeddedShader(Resources_Shaders_deferred_shader); - LoadEmbeddedShader(Resources_Shaders_depth_aware_blur_shader); - LoadEmbeddedShader(Resources_Shaders_dither_shader); - LoadEmbeddedShader(Resources_Shaders_dof_shader); - LoadEmbeddedShader(Resources_Shaders_flat_shader); - LoadEmbeddedShader(Resources_Shaders_gbuffer_shader); - LoadEmbeddedShader(Resources_Shaders_gbuffer_skinned_shader); - LoadEmbeddedShader(Resources_Shaders_gizmo_shader); - LoadEmbeddedShader(Resources_Shaders_line_shader); - LoadEmbeddedShader(Resources_Shaders_pbr_shader); - LoadEmbeddedShader(Resources_Shaders_sdf_text_shader); - LoadEmbeddedShader(Resources_Shaders_shadowMap_shader); - LoadEmbeddedShader(Resources_Shaders_shadowMap_skinned_shader); - LoadEmbeddedShader(Resources_Shaders_skybox_shader); - LoadEmbeddedShader(Resources_Shaders_ssao_shader); - LoadEmbeddedShader(Resources_Shaders_ssr_shader); - LoadEmbeddedShader(Resources_Shaders_tonemap_shader); - LoadEmbeddedShader(Resources_Shaders_ui_shader); - LoadEmbeddedShader(Resources_Shaders_vignette_shader); - LoadEmbeddedShader(Resources_Shaders_volumetric_shader); + // LoadEmbeddedShader(Resources_Shaders_atmospheric_sky_shader); + // LoadEmbeddedShader(Resources_Shaders_barrel_distortion_shader); + // LoadEmbeddedShader(Resources_Shaders_bloom_shader); + // LoadEmbeddedShader(Resources_Shaders_blur_shader); + // LoadEmbeddedShader(Resources_Shaders_BRD_shader); + // LoadEmbeddedShader(Resources_Shaders_combine_shader); + // LoadEmbeddedShader(Resources_Shaders_copy_shader); + // LoadEmbeddedShader(Resources_Shaders_deferred_shader); + // LoadEmbeddedShader(Resources_Shaders_depth_aware_blur_shader); + // LoadEmbeddedShader(Resources_Shaders_dither_shader); + // LoadEmbeddedShader(Resources_Shaders_dof_shader); + // LoadEmbeddedShader(Resources_Shaders_flat_shader); + // LoadEmbeddedShader(Resources_Shaders_gbuffer_shader); + // LoadEmbeddedShader(Resources_Shaders_gbuffer_skinned_shader); + // LoadEmbeddedShader(Resources_Shaders_gizmo_shader); + // LoadEmbeddedShader(Resources_Shaders_line_shader); + // LoadEmbeddedShader(Resources_Shaders_pbr_shader); + // LoadEmbeddedShader(Resources_Shaders_sdf_text_shader); + // LoadEmbeddedShader(Resources_Shaders_shadowMap_shader); + // LoadEmbeddedShader(Resources_Shaders_shadowMap_skinned_shader); + // LoadEmbeddedShader(Resources_Shaders_skybox_shader); + // LoadEmbeddedShader(Resources_Shaders_ssao_shader); + // LoadEmbeddedShader(Resources_Shaders_ssr_shader); + // LoadEmbeddedShader(Resources_Shaders_tonemap_shader); + // LoadEmbeddedShader(Resources_Shaders_ui_shader); + // LoadEmbeddedShader(Resources_Shaders_vignette_shader); + // LoadEmbeddedShader(Resources_Shaders_volumetric_shader); } Shader* ShaderManager::GetShader(const std::string& path) From 641dea63abd3ae70c8d88f6a4c96c041252947dd Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:52:49 +0100 Subject: [PATCH 6/9] removed dof debug windows --- Nuake/src/Rendering/SceneRenderer.cpp | 32 --------------------------- 1 file changed, 32 deletions(-) diff --git a/Nuake/src/Rendering/SceneRenderer.cpp b/Nuake/src/Rendering/SceneRenderer.cpp index 246ff074..1eeb8682 100644 --- a/Nuake/src/Rendering/SceneRenderer.cpp +++ b/Nuake/src/Rendering/SceneRenderer.cpp @@ -202,32 +202,6 @@ namespace Nuake static float nammount = 0.0001; static float dbsize = 1.25f; static float feather = 1.0f; - ImGui::Begin("DOF Setting"); - { - ImGui::DragFloat("focalDepth", &focalDepth, 0.01f); - ImGui::DragFloat("focalLength", &focalLength, 0.01f); - ImGui::DragFloat("fstop", &fstop, 0.01f); - ImGui::DragInt("samples", &samples, 0.01f); - ImGui::DragInt("rings", &rings, 0.01f); - ImGui::Checkbox("showFocus", &showFocus); - ImGui::Checkbox("manualDof", &manualdof); - ImGui::Checkbox("autoFocus", &autoFocus); - ImGui::DragInt("rings", &rings, 0.01f); - ImGui::DragFloat("ndofstart", &ndofstart, 0.01f); - ImGui::DragFloat("ndofDist", &ndofDist, 0.01f); - ImGui::DragFloat("fdofstart", &fdofstart, 0.01f); - ImGui::DragFloat("fdofdist", &fdofdist, 0.01f); - ImGui::DragFloat("coc", &coc, 0.01f); - ImGui::DragFloat("maxBlue", &maxBlue, 0.01f); - ImGui::DragFloat("threshold", &threshold, 0.01f); - ImGui::DragFloat("gain", &gain, 0.01f); - ImGui::DragFloat("biaos", &biaos, 0.01f); - ImGui::DragFloat("fringe", &fringe, 0.01f); - ImGui::DragFloat("nammount", &nammount, 0.01f); - ImGui::DragFloat("dbsize", &dbsize, 0.01f); - ImGui::DragFloat("feather", &feather, 0.01f); - } - ImGui::End(); mDOFBuffer->QueueResize(framebuffer.GetSize()); mDOFBuffer->Bind(); @@ -266,12 +240,6 @@ namespace Nuake } mDOFBuffer->Unbind(); - if (ImGui::Begin("DOF")) - { - ImGui::Image((void*)mDOFBuffer->GetTexture()->GetID(), ImGui::GetContentRegionAvail(), ImVec2(0, 1), ImVec2(1, 0)); - } - ImGui::End(); - if (sceneEnv->BarrelDistortionEnabled) { mBarrelDistortionBuffer->QueueResize(framebuffer.GetSize()); From 403bc49e5dd4b96a7148102b2bebb4d3f2146759 Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:53:46 +0100 Subject: [PATCH 7/9] commented out embedded scripts instead of from file --- Nuake/src/Scripting/ScriptingEngine.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Nuake/src/Scripting/ScriptingEngine.cpp b/Nuake/src/Scripting/ScriptingEngine.cpp index 8885ff33..c905e517 100644 --- a/Nuake/src/Scripting/ScriptingEngine.cpp +++ b/Nuake/src/Scripting/ScriptingEngine.cpp @@ -94,16 +94,16 @@ namespace Nuake { { size_t prefixPosition = sname.find(NuakeModulePrefix); sname.erase(prefixPosition, NuakeModulePrefix.length()); - path = sname; - - if (_ModulesSRC.find(sname) != _ModulesSRC.end()) - { - fileContent = _ModulesSRC[sname]; - } - else - { - Logger::Log("Internal script module not found: " + sname + ". \n Did you forget to register it?", "scripting engine", CRITICAL); - } + path = "Resources/Scripts/"+std::string(sname); + isAbsolute = true; + // if (_ModulesSRC.find(sname) != _ModulesSRC.end()) + // { + // fileContent = _ModulesSRC[sname]; + // } + // else + // { + // Logger::Log("Internal script module not found: " + sname + ". \n Did you forget to register it?", "scripting engine", CRITICAL); + // } } else { From c8236c8bcb20e355264a3c762891de22181e1eeb Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 03:54:36 +0100 Subject: [PATCH 8/9] Update .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 39ef4ff7..4b48de02 100644 --- a/.gitignore +++ b/.gitignore @@ -854,3 +854,6 @@ bin-int/Debug-windows-x86_64/Nuake/scene.obj.enc bin-int/Debug-windows-x86_64/Nuake/userinterface.obj.enc Editor/recent.json bin-int +imgui.ini +.vscode/launch.json +.directory From 324e881a8d5d52d45321ad585bb9e8d6d9e5c910 Mon Sep 17 00:00:00 2001 From: MissLavender-LQ Date: Thu, 28 Sep 2023 04:27:51 +0100 Subject: [PATCH 9/9] embed fix by @antopilo --- Nuake/src/Rendering/Shaders/ShaderManager.cpp | 56 +++++++++---------- Nuake/src/Scripting/ScriptingEngine.cpp | 20 +++---- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/Nuake/src/Rendering/Shaders/ShaderManager.cpp b/Nuake/src/Rendering/Shaders/ShaderManager.cpp index 9b1bc06c..df0545cc 100644 --- a/Nuake/src/Rendering/Shaders/ShaderManager.cpp +++ b/Nuake/src/Rendering/Shaders/ShaderManager.cpp @@ -4,7 +4,7 @@ #include "src/Resource/StaticResources.h" #define LoadEmbeddedShader(file) \ -m_Shaders[file##_path] = CreateScope(file##_path, std::string(file, file + file##_len)); +m_Shaders[file##_path] = CreateScope(file##_path, std::string(reinterpret_cast(file), reinterpret_cast(file) + file##_len)); namespace Nuake { @@ -14,33 +14,33 @@ namespace Nuake { using namespace StaticResources; - // LoadEmbeddedShader(Resources_Shaders_atmospheric_sky_shader); - // LoadEmbeddedShader(Resources_Shaders_barrel_distortion_shader); - // LoadEmbeddedShader(Resources_Shaders_bloom_shader); - // LoadEmbeddedShader(Resources_Shaders_blur_shader); - // LoadEmbeddedShader(Resources_Shaders_BRD_shader); - // LoadEmbeddedShader(Resources_Shaders_combine_shader); - // LoadEmbeddedShader(Resources_Shaders_copy_shader); - // LoadEmbeddedShader(Resources_Shaders_deferred_shader); - // LoadEmbeddedShader(Resources_Shaders_depth_aware_blur_shader); - // LoadEmbeddedShader(Resources_Shaders_dither_shader); - // LoadEmbeddedShader(Resources_Shaders_dof_shader); - // LoadEmbeddedShader(Resources_Shaders_flat_shader); - // LoadEmbeddedShader(Resources_Shaders_gbuffer_shader); - // LoadEmbeddedShader(Resources_Shaders_gbuffer_skinned_shader); - // LoadEmbeddedShader(Resources_Shaders_gizmo_shader); - // LoadEmbeddedShader(Resources_Shaders_line_shader); - // LoadEmbeddedShader(Resources_Shaders_pbr_shader); - // LoadEmbeddedShader(Resources_Shaders_sdf_text_shader); - // LoadEmbeddedShader(Resources_Shaders_shadowMap_shader); - // LoadEmbeddedShader(Resources_Shaders_shadowMap_skinned_shader); - // LoadEmbeddedShader(Resources_Shaders_skybox_shader); - // LoadEmbeddedShader(Resources_Shaders_ssao_shader); - // LoadEmbeddedShader(Resources_Shaders_ssr_shader); - // LoadEmbeddedShader(Resources_Shaders_tonemap_shader); - // LoadEmbeddedShader(Resources_Shaders_ui_shader); - // LoadEmbeddedShader(Resources_Shaders_vignette_shader); - // LoadEmbeddedShader(Resources_Shaders_volumetric_shader); + LoadEmbeddedShader(Resources_Shaders_atmospheric_sky_shader); + LoadEmbeddedShader(Resources_Shaders_barrel_distortion_shader); + LoadEmbeddedShader(Resources_Shaders_bloom_shader); + LoadEmbeddedShader(Resources_Shaders_blur_shader); + LoadEmbeddedShader(Resources_Shaders_BRD_shader); + LoadEmbeddedShader(Resources_Shaders_combine_shader); + LoadEmbeddedShader(Resources_Shaders_copy_shader); + LoadEmbeddedShader(Resources_Shaders_deferred_shader); + LoadEmbeddedShader(Resources_Shaders_depth_aware_blur_shader); + LoadEmbeddedShader(Resources_Shaders_dither_shader); + LoadEmbeddedShader(Resources_Shaders_dof_shader); + LoadEmbeddedShader(Resources_Shaders_flat_shader); + LoadEmbeddedShader(Resources_Shaders_gbuffer_shader); + LoadEmbeddedShader(Resources_Shaders_gbuffer_skinned_shader); + LoadEmbeddedShader(Resources_Shaders_gizmo_shader); + LoadEmbeddedShader(Resources_Shaders_line_shader); + LoadEmbeddedShader(Resources_Shaders_pbr_shader); + LoadEmbeddedShader(Resources_Shaders_sdf_text_shader); + LoadEmbeddedShader(Resources_Shaders_shadowMap_shader); + LoadEmbeddedShader(Resources_Shaders_shadowMap_skinned_shader); + LoadEmbeddedShader(Resources_Shaders_skybox_shader); + LoadEmbeddedShader(Resources_Shaders_ssao_shader); + LoadEmbeddedShader(Resources_Shaders_ssr_shader); + LoadEmbeddedShader(Resources_Shaders_tonemap_shader); + LoadEmbeddedShader(Resources_Shaders_ui_shader); + LoadEmbeddedShader(Resources_Shaders_vignette_shader); + LoadEmbeddedShader(Resources_Shaders_volumetric_shader); } Shader* ShaderManager::GetShader(const std::string& path) diff --git a/Nuake/src/Scripting/ScriptingEngine.cpp b/Nuake/src/Scripting/ScriptingEngine.cpp index c905e517..326d3e05 100644 --- a/Nuake/src/Scripting/ScriptingEngine.cpp +++ b/Nuake/src/Scripting/ScriptingEngine.cpp @@ -66,7 +66,7 @@ namespace Nuake { } } -#define GET_STATIC_RESOURCE_SCRIPT_SRC(name) std::string(name, name + name##_len) +#define GET_STATIC_RESOURCE_SCRIPT_SRC(name) std::string(reinterpret_cast(name), reinterpret_cast(name) + name##_len) std::map _ModulesSRC = { @@ -95,15 +95,15 @@ namespace Nuake { size_t prefixPosition = sname.find(NuakeModulePrefix); sname.erase(prefixPosition, NuakeModulePrefix.length()); path = "Resources/Scripts/"+std::string(sname); - isAbsolute = true; - // if (_ModulesSRC.find(sname) != _ModulesSRC.end()) - // { - // fileContent = _ModulesSRC[sname]; - // } - // else - // { - // Logger::Log("Internal script module not found: " + sname + ". \n Did you forget to register it?", "scripting engine", CRITICAL); - // } + + if (_ModulesSRC.find(sname) != _ModulesSRC.end()) + { + fileContent = _ModulesSRC[sname]; + } + else + { + Logger::Log("Internal script module not found: " + sname + ". \n Did you forget to register it?", "scripting engine", CRITICAL); + } } else {