svn commit: r411820 - in head/games: . trenchbroom trenchbroom/files
Alexey Dokuchaev
danfe at FreeBSD.org
Fri Mar 25 06:47:18 UTC 2016
Author: danfe
Date: Fri Mar 25 06:47:15 2016
New Revision: 411820
URL: https://svnweb.freebsd.org/changeset/ports/411820
Log:
Add a port of TrenchBroom, a cross-platform level editor for Quake-engine
based games. It's currently in beta (2.0.0 release is planned on June 22
which is Quake's 20th anniversary).
WWW: http://kristianduske.com/trenchbroom/
Added:
head/games/trenchbroom/
head/games/trenchbroom/Makefile (contents, props changed)
head/games/trenchbroom/distinfo (contents, props changed)
head/games/trenchbroom/files/
head/games/trenchbroom/files/patch-CMakeLists.txt (contents, props changed)
head/games/trenchbroom/files/patch-cmake_GenerateVersion.cmake.in (contents, props changed)
head/games/trenchbroom/files/patch-cmake_TrenchBroomApp.cmake (contents, props changed)
head/games/trenchbroom/files/patch-cmake_wxWidgets.cmake (contents, props changed)
head/games/trenchbroom/files/patch-freebsd-support (contents, props changed)
head/games/trenchbroom/files/patch-git-0f4b6d2 (contents, props changed)
head/games/trenchbroom/files/patch-shared_ptr (contents, props changed)
head/games/trenchbroom/pkg-descr (contents, props changed)
head/games/trenchbroom/pkg-plist (contents, props changed)
Modified:
head/games/Makefile
Modified: head/games/Makefile
==============================================================================
--- head/games/Makefile Fri Mar 25 06:38:23 2016 (r411819)
+++ head/games/Makefile Fri Mar 25 06:47:15 2016 (r411820)
@@ -986,6 +986,7 @@
SUBDIR += traindirector
SUBDIR += traingame
SUBDIR += tremulous
+ SUBDIR += trenchbroom
SUBDIR += trigger-data
SUBDIR += trigger-rally
SUBDIR += trimines
Added: head/games/trenchbroom/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/Makefile Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,46 @@
+# Created by: Alexey Dokuchaev <danfe at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= trenchbroom
+PORTVERSION= 2.0.0.b
+CATEGORIES= games
+
+MAINTAINER= danfe at FreeBSD.org
+COMMENT= Cross-platform level editor for Quake-engine based games
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libfreeimage.so:${PORTSDIR}/graphics/freeimage
+
+USE_GITHUB= yes
+GH_ACCOUNT= kduske
+GH_PROJECT= TrenchBroom
+GH_TAGNAME= ed46601
+
+USES= cmake compiler:c++11-lib pkgconfig
+USE_GL= glew
+USE_WX= 3.0+
+CMAKE_ARGS= -DAPP_BUILD_CHANNEL:STRING="for ${OPSYS}/${ARCH}"
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-patch:
+ @${GREP} -Rl --null std::tr1:: ${WRKSRC}/common/src | ${XARGS} -0 \
+ ${REINPLACE_CMD} -e 's,std::tr1::,std::,g'
+ @${REINPLACE_CMD} -e 's,Build ,&Type: ,' \
+ ${WRKSRC}/common/src/View/AppInfoPanel.cpp
+ @${REINPLACE_CMD} -e 's,%%DATADIR%%,${DATADIR},' \
+ ${WRKSRC}/common/src/IO/SystemPaths.cpp
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/TrenchBroom ${STAGEDIR}${PREFIX}/bin
+ @${RMDIR} ${WRKSRC}/Resources/help || :
+ cd ${WRKSRC}/Resources && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
Added: head/games/trenchbroom/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/distinfo Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,2 @@
+SHA256 (kduske-TrenchBroom-2.0.0.b-ed46601_GH0.tar.gz) = d0bac990d9b19f4d7f7aba392a561d1ee87ca396af2fce42a4989021d8466312
+SIZE (kduske-TrenchBroom-2.0.0.b-ed46601_GH0.tar.gz) = 20513562
Added: head/games/trenchbroom/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-CMakeLists.txt Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,40 @@
+--- CMakeLists.txt.orig 2016-03-09 20:19:17 UTC
++++ CMakeLists.txt
+@@ -18,12 +18,12 @@ SET(LIB_INCLUDE_DIR "${LIB_DIR}/include"
+ SET(LIB_SOURCE_DIR "${LIB_DIR}/src")
+
+ INCLUDE(cmake/wxWidgets.cmake)
+-INCLUDE(cmake/FreeType.cmake)
++#INCLUDE(cmake/FreeType.cmake)
+ INCLUDE(cmake/FreeImage.cmake)
+
+-INCLUDE(cmake/GTest.cmake)
+-INCLUDE(cmake/GMock.cmake)
+-INCLUDE(cmake/Glew.cmake)
++#INCLUDE(cmake/GTest.cmake)
++#INCLUDE(cmake/GMock.cmake)
++#INCLUDE(cmake/Glew.cmake)
+ INCLUDE(cmake/Common.cmake)
+
+ # Include directories
+@@ -45,12 +45,10 @@ ENDIF()
+ # Compiler configuration
+ IF(COMPILER_IS_CLANG)
+ MESSAGE(STATUS "Compiler is Clang")
+- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -pedantic -Wno-format -Wno-variadic-macros -Wno-c++11-long-long -Wno-c99-extensions -Wno-padded -Wno-unused-parameter -Wno-global-constructors -Wno-exit-time-destructors -Wno-weak-vtables -Wno-weak-template-vtables -Wno-float-equal -Wno-used-but-marked-unused -Wno-format-nonliteral -Wno-missing-noreturn -Wno-unused-local-typedef -stdlib=libstdc++")
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -pedantic -Wno-format -Wno-variadic-macros -Wno-c++11-long-long -Wno-c99-extensions -Wno-padded -Wno-unused-parameter -Wno-global-constructors -Wno-exit-time-destructors -Wno-weak-vtables -Wno-weak-template-vtables -Wno-float-equal -Wno-used-but-marked-unused -Wno-format-nonliteral -Wno-missing-noreturn -Wno-unused-local-typedef")
+ ELSEIF(COMPILER_IS_GNU)
+ MESSAGE(STATUS "Compiler is GNU")
+- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-format -Wno-variadic-macros -Wno-padded -Wno-unused-parameter -Wno-float-equal -Wno-format-nonliteral -Wno-missing-noreturn")
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -Wextra -pedantic -Wno-format -Wno-variadic-macros -Wno-padded -Wno-unused-parameter -Wno-float-equal -Wno-format-nonliteral -Wno-missing-noreturn")
+ ELSEIF(COMPILER_IS_MSVC)
+ MESSAGE(STATUS "Compiler is MSVC")
+ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ox")
+@@ -77,4 +75,4 @@ IF(CMAKE_BUILD_TYPE MATCHES "Debug")
+ ENDIF()
+
+ INCLUDE(cmake/TrenchBroomApp.cmake)
+-INCLUDE(cmake/TrenchBroomTest.cmake)
++#INCLUDE(cmake/TrenchBroomTest.cmake)
Added: head/games/trenchbroom/files/patch-cmake_GenerateVersion.cmake.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-cmake_GenerateVersion.cmake.in Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,12 @@
+--- cmake/GenerateVersion.cmake.in.orig 2016-03-09 20:19:17 UTC
++++ cmake/GenerateVersion.cmake.in
+@@ -2,7 +2,7 @@ INCLUDE("@CMAKE_SOURCE_DIR@/cmake/Utils.
+ GET_APP_VERSION(@APP_DIR@ APP_VERSION_MAJOR APP_VERSION_MINOR APP_VERSION_MAINTENANCE)
+ GET_BUILD_ID("@GIT_EXECUTABLE@" "@CMAKE_SOURCE_DIR@" APP_BUILD_ID)
+
+-SET(APP_BUILD_CHANNEL @APP_BUILD_CHANNEL@)
+-SET(APP_BUILD_TYPE @CMAKE_BUILD_TYPE@)
++SET(APP_BUILD_CHANNEL "@APP_BUILD_CHANNEL@")
++SET(APP_BUILD_TYPE "@CMAKE_BUILD_TYPE@")
+ STRING(SUBSTRING @CMAKE_BUILD_TYPE@ 0 1 APP_BUILD_TYPE_SHORT)
+ CONFIGURE_FILE("@APP_SOURCE_DIR@/Version.h.in" "@CMAKE_CURRENT_BINARY_DIR@/Version.h" @ONLY)
Added: head/games/trenchbroom/files/patch-cmake_TrenchBroomApp.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-cmake_TrenchBroomApp.cmake Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,47 @@
+--- cmake/TrenchBroomApp.cmake.orig 2016-03-09 20:19:17 UTC
++++ cmake/TrenchBroomApp.cmake
+@@ -1,4 +1,4 @@
+-INCLUDE(cmake/GenerateHelp.cmake)
++#INCLUDE(cmake/GenerateHelp.cmake)
+
+ SET(APP_DIR "${CMAKE_SOURCE_DIR}/app")
+ SET(APP_SOURCE_DIR "${APP_DIR}/src")
+@@ -84,8 +84,8 @@ ENDIF()
+
+ ADD_EXECUTABLE(TrenchBroom WIN32 MACOSX_BUNDLE ${APP_SOURCE} $<TARGET_OBJECTS:common>)
+
+-TARGET_LINK_LIBRARIES(TrenchBroom glew ${wxWidgets_LIBRARIES} ${FREETYPE_LIBRARIES} ${FREEIMAGE_LIBRARIES})
+-SET_TARGET_PROPERTIES(TrenchBroom PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC")
++TARGET_LINK_LIBRARIES(TrenchBroom GLEW freetype ${wxWidgets_LIBRARIES} ${FREETYPE_LIBRARIES} ${FREEIMAGE_LIBRARIES})
++#SET_TARGET_PROPERTIES(TrenchBroom PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC")
+
+ GET_APP_VERSION("${APP_DIR}" CPACK_PACKAGE_VERSION_MAJOR CPACK_PACKAGE_VERSION_MINOR CPACK_PACKAGE_VERSION_PATCH)
+ GET_BUILD_ID("${GIT_EXECUTABLE}" "${CMAKE_SOURCE_DIR}" APP_BUILD_ID)
+@@ -102,7 +102,7 @@ ADD_CUSTOM_TARGET(GenerateVersion
+ ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/GenerateVersion.cmake")
+ ADD_DEPENDENCIES(TrenchBroom GenerateVersion)
+
+-ADD_DEPENDENCIES(TrenchBroom GenerateHelp)
++#ADD_DEPENDENCIES(TrenchBroom GenerateHelp)
+
+ IF(APPLE)
+ # Configure variables that are substituted into the plist
+@@ -136,14 +136,15 @@ IF(WIN32)
+ )
+ ENDIF()
+
+-# Properly link to OpenGL libraries on Linux
+-IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++# Properly link to OpenGL libraries on Unix-like systems
++IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
+ FIND_PACKAGE(OpenGL)
++ INCLUDE_DIRECTORIES(SYSTEM ${OPENGL_INCLUDE_DIR})
+ TARGET_LINK_LIBRARIES(TrenchBroom ${OPENGL_LIBRARIES})
+ ENDIF()
+
+ # Set up the resources and DLLs for the executable
+-IF(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++IF(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
+ # Copy button images to resources directory
+ ADD_CUSTOM_COMMAND(TARGET TrenchBroom POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_directory "${APP_DIR}/resources/graphics/images" "$<TARGET_FILE_DIR:TrenchBroom>/Resources/images"
Added: head/games/trenchbroom/files/patch-cmake_wxWidgets.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-cmake_wxWidgets.cmake Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,31 @@
+--- cmake/wxWidgets.cmake.orig 2016-03-09 20:19:17 UTC
++++ cmake/wxWidgets.cmake
+@@ -15,21 +15,16 @@ IF(WIN32)
+ ELSE()
+ SET(wxWidgets_USE_UNICODE ON)
+ SET(wxWidgets_USE_UNIVERSAL ON)
+- IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
+- SET(wxWidgets_USE_DEBUG ON)
+- SET(wxWidgets_USE_STATIC OFF)
+- MESSAGE(STATUS "Using debug version of wxWidgets")
+- ELSE()
+- SET(wxWidgets_USE_DEBUG OFF)
+- SET(wxWidgets_USE_STATIC ON)
+- MESSAGE(STATUS "Using static wxWidgets library")
+- ENDIF()
++ SET(wxWidgets_USE_DEBUG OFF)
++ SET(wxWidgets_USE_STATIC OFF)
++ MESSAGE(STATUS "Using dynamic wxWidgets library")
+ ENDIF()
+
+-SET(wxWidgets_FIND_COMPONENTS gl core base adv)
++#SET(wxWidgets_FIND_COMPONENTS gl core base adv)
++FIND_PACKAGE(wxWidgets 3.0 COMPONENTS gl core base adv)
+
+-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
+-FIND_PACKAGE(wxWidgetsTB REQUIRED)
++#SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
++#FIND_PACKAGE(wxWidgetsTB REQUIRED)
+ INCLUDE("${wxWidgets_USE_FILE}")
+
+ # Remove QuickTime framework on OS X; it's not needed and produces a linker warning
Added: head/games/trenchbroom/files/patch-freebsd-support
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-freebsd-support Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,66 @@
+--- common/src/IO/SystemPaths.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/SystemPaths.cpp
+@@ -28,6 +28,9 @@
+ #include <Windows.h>
+ #elif defined __linux__
+ #include <unistd.h>
++#elif defined __FreeBSD__
++#include <sys/types.h>
++#include <sys/sysctl.h>
+ #endif
+
+ namespace TrenchBroom {
+@@ -74,6 +77,19 @@ namespace TrenchBroom {
+ const Path appPath(appPathStr);
+ return appPath.deleteLastComponent();
+ }
++#elif defined __FreeBSD__
++ Path appDirectory() {
++ char buf[1024];
++ const int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
++ size_t len = sizeof(buf);
++
++ const int result = sysctl(mib, 4, buf, &len, 0x0, 0);
++ assert(result == 0);
++
++ const String appPathStr(buf);
++ const Path appPath(appPathStr);
++ return appPath.deleteLastComponent();
++ }
+ #endif
+
+ #if defined __APPLE__
+@@ -99,9 +115,9 @@ namespace TrenchBroom {
+ Path resourceDirectory() {
+ return appDirectory() + Path("Resources");
+ }
+-#elif defined __linux__
++#elif defined __linux__ || defined __FreeBSD__
+ Path resourceDirectory() {
+- return appDirectory() + Path("Resources");
++ return Path("%%DATADIR%%");
+ }
+ #endif
+
+--- common/src/View/KeyboardShortcut.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/KeyboardShortcut.cpp
+@@ -74,7 +74,7 @@ namespace TrenchBroom {
+ }
+
+ bool KeyboardShortcut::isShortcutValid(const int key, const int modifier1, const int modifier2, const int modifier3) {
+-#ifdef __linux__
++#if defined __linux__ || defined __FreeBSD__
+ // TAB and Escape are never allowed on GTK2:
+ if (key == WXK_TAB || key == WXK_ESCAPE)
+ return false;
+--- common/src/View/ViewConstants.h.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/ViewConstants.h
+@@ -63,7 +63,7 @@ namespace TrenchBroom {
+ static const int TextBoxInnerMargin = 0;
+ static const int TabBarBarLeftMargin = 10;
+ static const int ToggleButtonStyle = 0x08000000; // wxBORDER_SUNKEN
+-#elif defined __linux__
++#elif defined __linux__ || defined __FreeBSD__
+ static const int DialogOuterMargin = 10;
+ static const int DialogButtonTopMargin = 10;
+ static const int DialogButtonSideMargin = 0;
Added: head/games/trenchbroom/files/patch-git-0f4b6d2
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-git-0f4b6d2 Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,116 @@
+--- common/src/IO/ConfigParser.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/ConfigParser.cpp
+@@ -61,10 +61,10 @@ namespace TrenchBroom {
+ case '\t':
+ case '\n':
+ case '\r':
+- discardWhile(Whitespace);
++ discardWhile(Whitespace());
+ break;
+ default: {
+- const char* e = readString(Whitespace + "=");
++ const char* e = readString(Whitespace() + "=");
+ if (e == NULL)
+ throw ParserException(startLine, startColumn, "Unexpected character: " + String(c, 1));
+ return Token(ConfigToken::Identifier, c, e, offset(c), startLine, startColumn);
+--- common/src/IO/FgdParser.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/FgdParser.cpp
+@@ -79,7 +79,7 @@ namespace TrenchBroom {
+ case '\t':
+ case '\n':
+ case '\r':
+- discardWhile(Whitespace);
++ discardWhile(Whitespace());
+ break;
+ default: {
+ const char* e = readInteger(WordDelims);
+--- common/src/IO/StandardMapParser.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/StandardMapParser.cpp
+@@ -25,7 +25,10 @@
+
+ namespace TrenchBroom {
+ namespace IO {
+- const String QuakeMapTokenizer::NumberDelim = Whitespace + ")";
++ const String& QuakeMapTokenizer::NumberDelim() {
++ static const String numberDelim(Whitespace() + ")");
++ return numberDelim;
++ }
+
+ QuakeMapTokenizer::QuakeMapTokenizer(const char* begin, const char* end) :
+ Tokenizer(begin, end),
+@@ -88,18 +91,18 @@ namespace TrenchBroom {
+ case '\r':
+ case ' ':
+ case '\t':
+- discardWhile(Whitespace);
++ discardWhile(Whitespace());
+ break;
+ default: { // whitespace, integer, decimal or word
+- const char* e = readInteger(NumberDelim);
++ const char* e = readInteger(NumberDelim());
+ if (e != NULL)
+ return Token(QuakeMapToken::Integer, c, e, offset(c), startLine, startColumn);
+
+- e = readDecimal(NumberDelim);
++ e = readDecimal(NumberDelim());
+ if (e != NULL)
+ return Token(QuakeMapToken::Decimal, c, e, offset(c), startLine, startColumn);
+
+- e = readString(Whitespace);
++ e = readString(Whitespace());
+ if (e == NULL)
+ throw ParserException(startLine, startColumn, "Unexpected character: " + String(c, 1));
+ return Token(QuakeMapToken::String, c, e, offset(c), startLine, startColumn);
+@@ -356,7 +359,7 @@ namespace TrenchBroom {
+ }
+
+ // texture names can contain braces etc, so we just read everything until the next opening bracket or number
+- String textureName = m_tokenizer.readAnyString(QuakeMapTokenizer::Whitespace);
++ String textureName = m_tokenizer.readAnyString(QuakeMapTokenizer::Whitespace());
+ if (textureName == Model::BrushFace::NoTextureName)
+ textureName = "";
+
+--- common/src/IO/StandardMapParser.h.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/StandardMapParser.h
+@@ -50,7 +50,7 @@ namespace TrenchBroom {
+
+ class QuakeMapTokenizer : public Tokenizer<QuakeMapToken::Type> {
+ private:
+- static const String NumberDelim;
++ static const String& NumberDelim();
+ bool m_skipEol;
+ public:
+ QuakeMapTokenizer(const char* begin, const char* end);
+--- common/src/IO/Tokenizer.h.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/Tokenizer.h
+@@ -54,7 +54,10 @@ namespace TrenchBroom {
+
+ TokenStack m_tokenStack;
+ public:
+- static const String Whitespace;
++ static const String& Whitespace() {
++ static const String whitespace(" \t\n\r");
++ return whitespace;
++ }
+ public:
+ Tokenizer(const char* begin, const char* end) :
+ m_begin(begin),
+@@ -205,7 +208,7 @@ namespace TrenchBroom {
+ }
+
+ bool isWhitespace(const char c) const {
+- return isAnyOf(c, Whitespace);
++ return isAnyOf(c, Whitespace());
+ }
+
+ const char* readInteger(const String& delims) {
+@@ -297,9 +300,6 @@ namespace TrenchBroom {
+
+ virtual Token emitToken() = 0;
+ };
+-
+- template <typename TokenType>
+- const String Tokenizer<TokenType>::Whitespace = " \t\n\r";
+ }
+ }
+ #endif
Added: head/games/trenchbroom/files/patch-shared_ptr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/files/patch-shared_ptr Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,229 @@
+--- common/src/IO/GameConfigParser.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/GameConfigParser.cpp
+@@ -36,7 +36,7 @@ namespace TrenchBroom {
+ using Model::GameConfig;
+
+ const ConfigEntry::Ptr root = m_parser.parse();
+- if (root == NULL)
++ if (root.get() == NULL)
+ throw ParserException("Empty game config");
+
+ expectEntry(ConfigEntry::Type_Table, *root);
+--- common/src/IO/GameFileSystem.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/GameFileSystem.cpp
+@@ -44,7 +44,7 @@ namespace TrenchBroom {
+ Path::List::const_iterator it, end;
+ for (it = paks.begin(), end = paks.end(); it != end; ++it) {
+ MappedFile::Ptr file = diskFS->openFile(*it);
+- assert(file != NULL);
++ assert(file.get() != NULL);
+ m_fileSystems.push_back(FSPtr(new PakFileSystem(path, file)));
+ }
+ } else {
+@@ -95,7 +95,7 @@ namespace TrenchBroom {
+ const FSPtr fileSystem = *it;
+ if (fileSystem->fileExists(path)) {
+ const MappedFile::Ptr file = fileSystem->openFile(path);
+- if (file != NULL)
++ if (file.get() != NULL)
+ return file;
+ }
+ }
+--- common/src/IO/Wad.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/IO/Wad.cpp
+@@ -83,7 +83,7 @@ namespace TrenchBroom {
+
+ Wad::Wad(const Path& path) :
+ m_file(Disk::openFile(path)) {
+- if (m_file == NULL)
++ if (m_file.get() == NULL)
+ throw AssetException("Cannot open wad file " + path.asString());
+ loadEntries();
+ }
+--- common/src/Model/BrushContentType.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/Model/BrushContentType.cpp
+@@ -32,7 +32,7 @@ namespace TrenchBroom {
+ m_transparent(transparent),
+ m_flagValue(flagValue),
+ m_evaluator(evaluator) {
+- assert(m_evaluator != NULL);
++ assert(m_evaluator.get() != NULL);
+ }
+
+ const String& BrushContentType::name() const {
+--- common/src/Model/GameImpl.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/Model/GameImpl.cpp
+@@ -258,7 +258,7 @@ namespace TrenchBroom {
+ Assets::EntityModel* GameImpl::doLoadEntityModel(const IO::Path& path) const {
+ try {
+ const IO::MappedFile::Ptr file = m_fs.openFile(path);
+- assert(file != NULL);
++ assert(file.get() != NULL);
+
+ const String modelName = path.lastComponent().asString();
+ const String extension = StringUtils::toLower(path.extension());
+--- common/src/Model/PickResult.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/Model/PickResult.cpp
+@@ -54,7 +54,7 @@ namespace TrenchBroom {
+ }
+
+ void PickResult::addHit(const Hit& hit) {
+- assert(m_compare != NULL);
++ assert(m_compare.get() != NULL);
+ Hit::List::iterator pos = std::upper_bound(m_hits.begin(), m_hits.end(), hit, CompareWrapper(m_compare.get()));
+ m_hits.insert(pos, hit);
+ }
+--- common/src/Renderer/IndexArray.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/Renderer/IndexArray.cpp
+@@ -45,11 +45,11 @@ namespace TrenchBroom {
+ }
+
+ size_t IndexArray::sizeInBytes() const {
+- return m_holder == NULL ? 0 : m_holder->sizeInBytes();
++ return m_holder.get() == NULL ? 0 : m_holder->sizeInBytes();
+ }
+
+ size_t IndexArray::indexCount() const {
+- return m_holder == NULL ? 0 : m_holder->indexCount();
++ return m_holder.get() == NULL ? 0 : m_holder->indexCount();
+ }
+
+ bool IndexArray::prepared() const {
+--- common/src/Renderer/VertexArray.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/Renderer/VertexArray.cpp
+@@ -46,11 +46,11 @@ namespace TrenchBroom {
+ }
+
+ size_t VertexArray::sizeInBytes() const {
+- return m_holder == NULL ? 0 : m_holder->sizeInBytes();
++ return m_holder.get() == NULL ? 0 : m_holder->sizeInBytes();
+ }
+
+ size_t VertexArray::vertexCount() const {
+- return m_holder == NULL ? 0 : m_holder->vertexCount();
++ return m_holder.get() == NULL ? 0 : m_holder->vertexCount();
+ }
+
+ bool VertexArray::prepared() const {
+--- common/src/TrenchBroomApp.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/TrenchBroomApp.cpp
+@@ -165,7 +165,7 @@ namespace TrenchBroom {
+
+ const Model::GameFactory& gameFactory = Model::GameFactory::instance();
+ Model::GamePtr game = gameFactory.createGame(gameName);
+- assert(game != NULL);
++ assert(game.get() != NULL);
+
+ MapFrame* frame = m_frameManager->newFrame();
+ frame->newDocument(game, mapFormat);
+@@ -190,7 +190,7 @@ namespace TrenchBroom {
+ }
+
+ Model::GamePtr game = gameFactory.createGame(gameName);
+- assert(game != NULL);
++ assert(game.get() != NULL);
+
+ frame = m_frameManager->newFrame();
+ frame->openDocument(game, mapFormat, path);
+--- common/src/View/ExecutableEvent.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/ExecutableEvent.cpp
+@@ -46,7 +46,7 @@ namespace TrenchBroom {
+ }
+
+ void ExecutableEvent::execute() {
+- if (m_executable != NULL)
++ if (m_executable.get() != NULL)
+ (*m_executable)();
+ }
+ }
+--- common/src/View/GLContextManager.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/GLContextManager.cpp
+@@ -42,7 +42,7 @@ namespace TrenchBroom {
+
+ GLContext::Ptr GLContextManager::createContext(wxGLCanvas* canvas) {
+ GLContext::Ptr context(new GLContext(canvas, this));
+- if (m_mainContext == NULL)
++ if (m_mainContext.get() == NULL)
+ m_mainContext = context;
+ return context;
+ }
+--- common/src/View/MapDocument.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/MapDocument.cpp
+@@ -154,7 +154,7 @@ namespace TrenchBroom {
+ }
+
+ bool MapDocument::isGamePathPreference(const IO::Path& path) const {
+- return m_game != NULL && m_game->isGamePathPreference(path);
++ return m_game.get() != NULL && m_game->isGamePathPreference(path);
+ }
+
+ Model::Layer* MapDocument::currentLayer() const {
+@@ -257,7 +257,7 @@ namespace TrenchBroom {
+ }
+
+ void MapDocument::saveDocumentTo(const IO::Path& path) {
+- assert(m_game != NULL);
++ assert(m_game.get() != NULL);
+ assert(m_world != NULL);
+ m_game->writeMap(m_world, path);
+ }
+--- common/src/View/MapFrame.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/MapFrame.cpp
+@@ -86,7 +86,7 @@ namespace TrenchBroom {
+
+ void MapFrame::Create(FrameManager* frameManager, MapDocumentSPtr document) {
+ assert(frameManager != NULL);
+- assert(document != NULL);
++ assert(document.get() != NULL);
+
+ m_frameManager = frameManager;
+ m_document = document;
+--- common/src/View/SmartAttributeEditorManager.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/SmartAttributeEditorManager.cpp
+@@ -123,7 +123,7 @@ namespace TrenchBroom {
+ }
+
+ void SmartAttributeEditorManager::deactivateEditor() {
+- if (m_activeEditor != NULL) {
++ if (m_activeEditor.get() != NULL) {
+ m_activeEditor->deactivate();
+ m_activeEditor = EditorPtr();
+ m_name = "";
+@@ -131,7 +131,7 @@ namespace TrenchBroom {
+ }
+
+ void SmartAttributeEditorManager::updateEditor() {
+- if (m_activeEditor != NULL) {
++ if (m_activeEditor.get() != NULL) {
+ MapDocumentSPtr document = lock(m_document);
+ m_activeEditor->update(document->allSelectedAttributableNodes());
+ }
+--- common/src/View/ViewEditor.cpp.orig 2016-03-09 20:19:17 UTC
++++ common/src/View/ViewEditor.cpp
+@@ -252,7 +252,7 @@ namespace TrenchBroom {
+ MapDocumentSPtr document = lock(m_document);
+ Model::GamePtr game = document->game();
+
+- if (game != NULL) {
++ if (game.get() != NULL) {
+ Model::BrushContentType::FlagType hiddenFlags = 0;
+ const Model::BrushContentType::List& contentTypes = game->brushContentTypes();
+
+@@ -452,7 +452,7 @@ namespace TrenchBroom {
+
+ MapDocumentSPtr document = lock(m_document);
+ Model::GamePtr game = document->game();
+- if (game == NULL) {
++ if (game.get() == NULL) {
+ createEmptyBrushContentTypeFilter(parent);
+ } else {
+ const Model::BrushContentType::List& contentTypes = game->brushContentTypes();
+@@ -574,7 +574,7 @@ namespace TrenchBroom {
+ const Model::BrushContentType::FlagType hiddenFlags = editorContext.hiddenBrushContentTypes();
+
+ Model::GamePtr game = document->game();
+- if (game != NULL) {
++ if (game.get() != NULL) {
+ const Model::BrushContentType::List& contentTypes = game->brushContentTypes();
+ for (size_t i = 0; i < contentTypes.size(); ++i) {
+ const Model::BrushContentType& contentType = contentTypes[i];
Added: head/games/trenchbroom/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/pkg-descr Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,22 @@
+TrenchBroom is a modern, cross platform level editor for Quake-engine based
+games. It currently supports Quake, Quake 2, and Hexen 2, is easy to use,
+and provides many simple and advanced tools to make complex and interesting
+levels with ease. Some of its features:
+
+ - True 3D editing, no 2D views required
+ - High performance renderer with support for huge maps
+ - Vertex editing with edge and face splitting that will not create
+ invalid brushes
+ - Manipulation of multiple vertices at once (great for trisoup editing)
+ - Move, rotate, and flip brushes and entities
+ - Precise texture lock for all operations
+ - Smart entity property editors
+ - Graphical entity browser with drag and drop support
+ - Comprehensive texture application and manipulation tools
+ - Search and filter functions
+ - Unlimited undo and redo
+ - Point file support
+ - Support for FGD and DEF entity definition files, mods, and multiple
+ WAD files
+
+WWW: http://kristianduske.com/trenchbroom/
Added: head/games/trenchbroom/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/trenchbroom/pkg-plist Fri Mar 25 06:47:15 2016 (r411820)
@@ -0,0 +1,95 @@
+bin/TrenchBroom
+%%DATADIR%%/fonts/SIL Open Font License.txt
+%%DATADIR%%/fonts/SourceSansPro-Regular.otf
+%%DATADIR%%/games/Halflife/HalfLife.fgd
+%%DATADIR%%/games/Hexen2.cfg
+%%DATADIR%%/games/Hexen2/Hexen2.fgd
+%%DATADIR%%/games/Hexen2/Icon.png
+%%DATADIR%%/games/Hexen2/palette.lmp
+%%DATADIR%%/games/Quake.cfg
+%%DATADIR%%/games/Quake/Icon.png
+%%DATADIR%%/games/Quake/palette.lmp
+%%DATADIR%%/games/Quake/Quake.fgd
+%%DATADIR%%/games/Quake/Quoth2.fgd
+%%DATADIR%%/games/Quake/Rubicon2.def
+%%DATADIR%%/games/Quake2.cfg
+%%DATADIR%%/games/Quake2/colormap.pcx
+%%DATADIR%%/games/Quake2/Icon.png
+%%DATADIR%%/games/Quake2/Quake2.fgd
+%%DATADIR%%/games/Quake3/Icon.png
+%%DATADIR%%/games/Quake4/Icon.png
+%%DATADIR%%/images/Add.png
+%%DATADIR%%/images/AppIcon.png
+%%DATADIR%%/images/BrushTool.png
+%%DATADIR%%/images/ClipTool.png
+%%DATADIR%%/images/Console.png
+%%DATADIR%%/images/ConsolePressed.png
+%%DATADIR%%/images/DefaultGameIcon.png
+%%DATADIR%%/images/DocIcon.png
+%%DATADIR%%/images/Down.png
+%%DATADIR%%/images/DuplicateObjects.png
+%%DATADIR%%/images/EditMods.png
+%%DATADIR%%/images/FlipHorizontally.png
+%%DATADIR%%/images/FlipTextureH.png
+%%DATADIR%%/images/FlipTextureV.png
+%%DATADIR%%/images/FlipVertically.png
+%%DATADIR%%/images/GeneralPreferences.png
+%%DATADIR%%/images/Grid.png
+%%DATADIR%%/images/Invisible_White.png
+%%DATADIR%%/images/Invisible.png
+%%DATADIR%%/images/IssueBrowser.png
+%%DATADIR%%/images/IssueBrowserPressed.png
+%%DATADIR%%/images/KeyboardPreferences.png
+%%DATADIR%%/images/Locked.png
+%%DATADIR%%/images/MousePreferences.png
+%%DATADIR%%/images/NoTool.png
+%%DATADIR%%/images/Position.png
+%%DATADIR%%/images/Refresh.png
+%%DATADIR%%/images/Remove.png
+%%DATADIR%%/images/ResetTexture.png
+%%DATADIR%%/images/RotateTextureCCW.png
+%%DATADIR%%/images/RotateTextureCW.png
+%%DATADIR%%/images/RotateTool.png
+%%DATADIR%%/images/TextureLockOff.png
+%%DATADIR%%/images/TextureLockOn.png
+%%DATADIR%%/images/Unlocked.png
+%%DATADIR%%/images/Up.png
+%%DATADIR%%/images/VertexTool.png
+%%DATADIR%%/images/Visible_White.png
+%%DATADIR%%/images/Visible.png
+%%DATADIR%%/shader/BrowserGroup.fragsh
+%%DATADIR%%/shader/BrowserGroup.vertsh
+%%DATADIR%%/shader/ClipHandle.vertsh
+%%DATADIR%%/shader/ColoredHandle.vertsh
+%%DATADIR%%/shader/ColoredText.vertsh
+%%DATADIR%%/shader/Compass.fragsh
+%%DATADIR%%/shader/Compass.vertsh
+%%DATADIR%%/shader/CompassOutline.vertsh
+%%DATADIR%%/shader/EntityLink.fragsh
+%%DATADIR%%/shader/EntityLink.vertsh
+%%DATADIR%%/shader/EntityModel.fragsh
+%%DATADIR%%/shader/EntityModel.vertsh
+%%DATADIR%%/shader/Face.fragsh
+%%DATADIR%%/shader/Face.vertsh
+%%DATADIR%%/shader/Grid.fragsh
+%%DATADIR%%/shader/Grid2D.fragsh
+%%DATADIR%%/shader/Grid2D.vertsh
+%%DATADIR%%/shader/Handle.fragsh
+%%DATADIR%%/shader/Handle.vertsh
+%%DATADIR%%/shader/MiniMapEdge.fragsh
+%%DATADIR%%/shader/MiniMapEdge.vertsh
+%%DATADIR%%/shader/Text.fragsh
+%%DATADIR%%/shader/Text.vertsh
+%%DATADIR%%/shader/TextBackground.fragsh
+%%DATADIR%%/shader/TextBackground.vertsh
+%%DATADIR%%/shader/TextureBrowser.fragsh
+%%DATADIR%%/shader/TextureBrowser.vertsh
+%%DATADIR%%/shader/TextureBrowserBorder.fragsh
+%%DATADIR%%/shader/TextureBrowserBorder.vertsh
+%%DATADIR%%/shader/Triangle.fragsh
+%%DATADIR%%/shader/Triangle.vertsh
+%%DATADIR%%/shader/UVView.fragsh
+%%DATADIR%%/shader/UVView.vertsh
+%%DATADIR%%/shader/VaryingPC.fragsh
+%%DATADIR%%/shader/VaryingPC.vertsh
+%%DATADIR%%/shader/VaryingPUniformC.vertsh
More information about the svn-ports-head
mailing list