Merge branch 'noggit-shadowlands' of https://gitlab.com/prophecy-rp/noggit-red into noggit-shadowlands

This commit is contained in:
Intemporel
2022-02-13 22:45:16 +01:00
4 changed files with 20 additions and 17 deletions

View File

@@ -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;" "")

View File

@@ -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
* 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 `<boost-install>`. 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 `<Qt-install>`, 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).

View File

@@ -1155,6 +1155,8 @@ void WorldRender::unload()
_buffers.unload();
_vertex_arrays.unload();
Noggit::Rendering::Primitives::WireBox::getInstance(_world->_context).unload();
}

View File

@@ -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()
{
}