diff --git a/CMakeLists.txt b/CMakeLists.txt index fe5111876..021b4318b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,9 +71,6 @@ add_subdirectory(rwcore) add_subdirectory(rwengine) add_subdirectory(rwgame) -if(BUILD_VIEWER) - add_subdirectory(rwviewer) -endif() if(BUILD_TESTS) enable_testing() add_subdirectory(tests) diff --git a/cmake/ctest/build.ctest b/cmake/ctest/build.ctest index 90aa096e0..550e755f2 100644 --- a/cmake/ctest/build.ctest +++ b/cmake/ctest/build.ctest @@ -10,7 +10,6 @@ set(_ARGS_BOOL BUILD_TYPE CHECK_IWYU BUILD_TOOLS - BUILD_VIEWER RUN_TESTS SEPARATE_TEST_SUITES @@ -121,17 +120,11 @@ if(USE_CONAN) set(CONAN_CONFIGURATION "Release") endif() - if(BUILD_VIEWER) - set(_BUILD_VIEWER True) - else() - set(_BUILD_VIEWER False) - endif() - execute_process( COMMAND "${CONAN_BIN}" install "${CTEST_SOURCE_DIRECTORY}" -s arch=${CONAN_ARCH} -s build_type=${CONAN_CONFIGURATION} - -o viewer=${_BUILD_VIEWER} --build missing + --build missing WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}" RESULT_VARIABLE RES ) @@ -161,7 +154,6 @@ set(CTEST_CONFIGURATION_TYPE "${BUILD_TYPE}") set(_CONFIGURE_OPTIONS "-DBUILD_TOOLS=${BUILD_TOOLS}" - "-DBUILD_VIEWER=${BUILD_VIEWER}" "-DBUILD_TESTS=TRUE" "-DTEST_COVERAGE=${TEST_COVERAGE}" "-DSEPARATE_TEST_SUITES=${SEPARATE_TEST_SUITES}" diff --git a/cmake/ctest/configure_darwin.ctest b/cmake/ctest/configure_darwin.ctest index 39b2bb5ed..d62266f04 100644 --- a/cmake/ctest/configure_darwin.ctest +++ b/cmake/ctest/configure_darwin.ctest @@ -7,7 +7,6 @@ endif() set(CONFIGURE_EXTRA_OPTIONS ";") set(BUILD_EXTRA_FLAGS "") set(BUILD_TOOLS TRUE) -set(BUILD_VIEWER TRUE) set(CHECK_IWYU FALSE) set(ENABLE_SANITIZERS "") diff --git a/cmake/ctest/configure_linux.ctest b/cmake/ctest/configure_linux.ctest index c02ee81fc..d22c6a98f 100644 --- a/cmake/ctest/configure_linux.ctest +++ b/cmake/ctest/configure_linux.ctest @@ -8,7 +8,6 @@ set(CONFIGURE_EXTRA_OPTIONS ";") set(BUILD_EXTRA_FLAGS "") set(BUILD_TOOLS TRUE) -set(BUILD_VIEWER TRUE) set(CHECK_IWYU FALSE) set(ENABLE_SANITIZERS "address") diff --git a/cmake/ctest/configure_windows.ctest b/cmake/ctest/configure_windows.ctest index a89d56b97..f3fafccf8 100644 --- a/cmake/ctest/configure_windows.ctest +++ b/cmake/ctest/configure_windows.ctest @@ -30,6 +30,5 @@ set(BUILD_TYPE "${CONFIGURATION}") set(CONAN_ARCH "x86_64") set(BUILD_TOOLS TRUE) -set(BUILD_VIEWER TRUE) set(CHECK_IWYU FALSE) #FIXME: ENABLE set(ENABLE_SANITIZERS "") diff --git a/cmake_options.cmake b/cmake_options.cmake index d0d10cb03..ec8766cd2 100644 --- a/cmake_options.cmake +++ b/cmake_options.cmake @@ -2,7 +2,6 @@ option(RW_VERBOSE_DEBUG_MESSAGES "Print verbose debugging messages" ON) option(BUILD_TOOLS "Build tools") option(BUILD_TESTS "Build test suite") -option(BUILD_VIEWER "Build GUI data viewer") option(ENABLE_SCRIPT_DEBUG "Enable verbose script execution") option(ENABLE_PROFILING "Enable detailed profiling metrics") diff --git a/conanfile.py b/conanfile.py index 81a3dca04..86d47fbaa 100644 --- a/conanfile.py +++ b/conanfile.py @@ -9,13 +9,11 @@ class OpenrwConan(ConanFile): description = "OpenRW 'Open ReWrite' is an un-official open source recreation of the classic Grand Theft Auto III game executable" settings = 'os', 'compiler', 'build_type', 'arch' options = { - 'viewer': [True, False], 'tools': [True, False], 'profiling': [True, False], } default_options = { - 'viewer': True, 'tools': True, 'profiling': True, 'bullet3:shared': False, @@ -24,7 +22,7 @@ class OpenrwConan(ConanFile): generators = 'cmake', exports_sources = 'CMakeLists.txt', 'cmake_configure.cmake', 'cmake_options.cmake', 'CMakeCPack.cmake', 'COPYING', \ - 'cmake/modules/*', 'benchmarks', 'rwcore/*', 'rwengine/*', 'rwgame/*', 'rwviewer/*', \ + 'cmake/modules/*', 'benchmarks', 'rwcore/*', 'rwengine/*', 'rwgame/*', \ 'rwtools/*', 'tests/*', 'external/*' _rw_dependencies = { @@ -37,24 +35,15 @@ class OpenrwConan(ConanFile): 'boost/1.68.0@conan/stable', 'bzip2/1.0.8@conan/stable', ), - 'viewer': ( - 'qt/5.12.0@bincrafters/stable', - ), 'tools': ( 'freetype/2.9.0@bincrafters/stable', + 'qt/5.12.0@bincrafters/stable', ), } - def configure(self): - if self.options.viewer: - self.options['qt'].opengl = 'desktop' - def requirements(self): for dep in self._rw_dependencies['game']: self.requires(dep) - if self.options.viewer: - for dep in self._rw_dependencies['viewer']: - self.requires(dep) if self.options.tools: for dep in self._rw_dependencies['tools']: self.requires(dep) @@ -65,7 +54,6 @@ def _configure_cmake(self): 'BUILD_SHARED_LIBS': False, 'CMAKE_BUILD_TYPE': self.settings.build_type, 'BUILD_TESTS': True, - 'BUILD_VIEWER': self.options.viewer, 'BUILD_TOOLS': self.options.tools, 'ENABLE_PROFILING': self.options.profiling, 'USE_CONAN': True, @@ -80,9 +68,6 @@ def build(self): cmake.build() def package(self): - if self.options.viewer: - # FIXME: https://github.com/osechet/conan-qt/issues/6 and https://github.com/conan-io/conan/issues/2619 - self.copy('qt.conf', dst='bin', src='rwviewer') cmake = self._configure_cmake() cmake.install() diff --git a/rwgame/CMakeLists.txt b/rwgame/CMakeLists.txt index 86e302004..f50778673 100644 --- a/rwgame/CMakeLists.txt +++ b/rwgame/CMakeLists.txt @@ -45,6 +45,11 @@ add_library(librwgame STATIC states/DebugState.cpp states/BenchmarkState.hpp states/BenchmarkState.cpp + + viewer/RWViewer.hpp + viewer/RWViewer.cpp + viewer/RWViewerWindows.hpp + viewer/RWViewerWindows.cpp ) openrw_target_apply_options( diff --git a/rwgame/RWConfig.inc b/rwgame/RWConfig.inc index 17494a91d..9b0169948 100644 --- a/rwgame/RWConfig.inc +++ b/rwgame/RWConfig.inc @@ -23,3 +23,5 @@ RWARG_OPT( std::string, loadGamePath, RWCONFIGARG(std::string, gameLanguage, "american", "game.language", GAME, "language", "LANGUAGE", "Language") RWARG( bool, help, GENERAL, "help", nullptr, "Show this help message") + +RWARG( bool, viewer, GENERAL, "viewer", nullptr, "Data Viewer") diff --git a/rwgame/RWGame.cpp b/rwgame/RWGame.cpp index e2e539d72..257159a4f 100644 --- a/rwgame/RWGame.cpp +++ b/rwgame/RWGame.cpp @@ -1,7 +1,5 @@ #include "RWGame.hpp" -#include - #include "RWImGui.hpp" #include "GameInput.hpp" #include "State.hpp" @@ -12,20 +10,21 @@ #include "states/MenuState.hpp" #include - #include #include -#include - #include