diff --git a/CMakeLists.txt b/CMakeLists.txt index b2393e59..fd2e6c1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,7 +103,10 @@ FIND_PACKAGE(CascLib REQUIRED) FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(Json REQUIRED) FIND_PACKAGE(lodepng REQUIRED) + +set(FASTNOISE2_NOISETOOL OFF CACHE BOOL "") FIND_PACKAGE(FastNoise2 REQUIRED) + FIND_PACKAGE(Sol2 REQUIRED) FIND_PACKAGE(Qt5 COMPONENTS Widgets OpenGL OpenGLExtensions Network Xml REQUIRED) @@ -142,7 +145,7 @@ IF(NOT NOGGIT_BUILD_NODE_DATAMODELS) ADD_DEFINITIONS(-DDO_NOT_BUILD_NODES ) ENDIF(NOT NOGGIT_BUILD_NODE_DATAMODELS) -OPTION(NOGGIT_ENABLE_TRACY_PROFILER "Enable tracy profiler" ON) +OPTION(NOGGIT_ENABLE_TRACY_PROFILER "Enable tracy profiler" OFF) IF(NOGGIT_ENABLE_TRACY_PROFILER) MESSAGE(STATUS "Tracy profiler enabled." ) ADD_DEFINITIONS(-DTRACY_ENABLE ) @@ -187,14 +190,13 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/${EXTERNAL_SOURCE_DIR}/blizzard-archive INCLUDE_DIRECTORIES(${Qt5Gui_PRIVATE_INCLUDE_DIRS}) #Load noggit source files -collect_files(noggit_root_sources src/noggit TRUE "*.cpp" "") collect_files(math_sources src/math FALSE "*.cpp" "") collect_files(opengl_sources src/opengl FALSE "*.cpp" "") IF(NOT NOGGIT_BUILD_NODE_DATAMODELS) - collect_files(red_sources src/noggit/ui/tools TRUE "*.cpp" "NodeEditor/Nodes/Containers;NodeEditor/Nodes/Data;NodeEditor/Nodes/Functions;NodeEditor/Nodes/Math;NodeEditor/Nodes/World") + collect_files(noggit_root_sources src/noggit TRUE "*.cpp" "NodeEditor/Nodes/Containers;NodeEditor/Nodes/Data;NodeEditor/Nodes/Functions;NodeEditor/Nodes/Math;NodeEditor/Nodes/World") ELSE() - collect_files(red_sources src/noggit/ui/tools TRUE "*.cpp" "") + collect_files(noggit_root_sources src/noggit TRUE "*.cpp" "") ENDIF() collect_files(png_blp_sources src/external/PNG2BLP TRUE "*.c;*.cpp;" "") diff --git a/README.md b/README.md index 9f982c2f..2553aedb 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,20 @@ This software is open source software licensed under GPL3, as found in the COPYING file. # BUILDING # -This project requires CMake to be built. It also requires the +This project requires CMake to be built. + +It also requires the following libraries: * OpenGL * StormLib (by Ladislav Zezula) * CascLib (by Ladislav Zezula) -* Boost -* Qt 5 +* Qt5 +* Lua5.x + +On Windows you only need to install Qt5 yourself, the rest of the dependencies are pulled through FetchContent automatically. +Supporting for Linux and Mac for this feature is coming in the future. +In case FetchContent is not available (e.g. no internet connection), the find scripts will look for system installed libraries. Further following libraries are required for MySQL GUID Storage builds: @@ -29,14 +35,6 @@ corresponding versions for other dependencies. ### CMake ### Any recent CMake 3.x version should work. Just take the latest. -### Boost ### -Install boost to ``. The easiest is to download a pre-built -package from https://sourceforge.net/projects/boost/files/boost-binaries/. - -* Any version from the last years should work, 1.60 at least. -* Be sure to pick the right compiler version! -* CMake may not support the latest version yet, if you have bad timing, try picking the second newest if configuring fails. - ### Qt5 ### Install Qt5 to ``, downloading a pre-built package from https://www.qt.io/download-open-source/#section-2. @@ -46,6 +44,7 @@ also only **one** compiler version. If download size is noticably large (more than a few hundred MB), you're probably downloading way too much. ### StormLib ### +This step is only required if pulling the dependency from FetchContent is not available. Download StormLib from https://github.com/ladislav-zezula/StormLib (any recent version). @@ -247,4 +246,4 @@ Additional examples: constexpr unsigned SOME_CONSTANT = 10; // constants are named in SCREAMING_CASE #define SOME_MACRO // macro definitions are named in SCREAMING_CASE -``` \ No newline at end of file +``` diff --git a/src/noggit/rendering/WorldRender.cpp b/src/noggit/rendering/WorldRender.cpp index 189e798a..4dcb3108 100644 --- a/src/noggit/rendering/WorldRender.cpp +++ b/src/noggit/rendering/WorldRender.cpp @@ -1155,6 +1155,8 @@ void WorldRender::unload() _buffers.unload(); _vertex_arrays.unload(); + + Noggit::Rendering::Primitives::WireBox::getInstance(_world->_context).unload(); } diff --git a/src/noggit/ui/tools/ChunkManipulator/ChunkClipboard.cpp b/src/noggit/ui/tools/ChunkManipulator/ChunkClipboard.cpp index 0b913669..76e117f6 100644 --- a/src/noggit/ui/tools/ChunkManipulator/ChunkClipboard.cpp +++ b/src/noggit/ui/tools/ChunkManipulator/ChunkClipboard.cpp @@ -1,4 +1,3 @@ - // This file is part of Noggit3, licensed under GNU General Public License (version 3). @@ -13,6 +12,7 @@ using namespace Noggit::Ui::Tools::ChunkManipulator; ChunkClipboard::ChunkClipboard(World* world, QObject* parent) : QObject(parent) , _world(world) +, _copy_flags() { }