diff --git a/CHANGES b/CHANGES
index a59f9c8..c5a3f88 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,11 @@ LordHavoc
- Removed gcc explicit linking hack for non-final builds.
- Added workaround for gcc static-member-pointer-as-template-argument bug.
- Fixed bobtoolz linux compile errors.
+- Added Nexuiz and Darkplaces support.
+SPoG
+- Changed 'inconsistent vertex count' assert to be non-fatal.
+- Changed 'failed to remove accelerator' assert to be non-fatal.
+- Fixed crash due to broken module dependencies.
30/04/2006
SPoG
diff --git a/install.py b/install.py
index 2a0f8fa..505bd94 100644
--- a/install.py
+++ b/install.py
@@ -1,17 +1,17 @@
# Copyright (C) 2001-2006 William Joseph.
-#
+#
# This file is part of GtkRadiant.
-#
+#
# GtkRadiant is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
-#
+#
# GtkRadiant is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GtkRadiant; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
@@ -32,16 +32,16 @@ import shutil
def assertMessage(condition, message):
if not condition:
raise Exception(message)
-
+
def copyFile(source, target):
assertMessage(os.path.isfile(source), "failed to find file: " + source)
print source, "->", target
shutil.copy2(source, target)
-
+
def copyFileIfExists(source, target):
if os.path.exists(source):
copyFile(source, target)
-
+
def copySvn(source, target):
assertMessage(os.path.isdir(source), "failed to find directory: " + source)
if not os.path.exists(target):
@@ -54,7 +54,7 @@ def copySvn(source, target):
copySvn(absolute, absTarget)
else:
copyFile(absolute, absTarget)
-
+
def copyGame(source, game, target):
assertMessage(os.path.isdir(source), "failed to find directory: " + source)
assertMessage(os.path.isdir(target), "failed to find directory: " + target)
@@ -65,15 +65,15 @@ def copyGame(source, game, target):
gamesDir = os.path.join(target, "games")
if not os.path.exists(gamesDir):
os.mkdir(gamesDir)
- copyFile(os.path.join(root, "games", gamename), os.path.join(gamesDir, gamename))
-
+ copyFile(os.path.join(root, "games", gamename), os.path.join(gamesDir, gamename))
+
thisDir = os.path.dirname(__file__)
gamesRoot = os.path.join(thisDir, "games")
installRoot = os.path.join(thisDir, "install")
if not os.path.exists(installRoot):
os.mkdir(installRoot)
-
+
# copy generic data
copySvn(os.path.join(thisDir, os.path.normpath("setup/data/tools")), installRoot)
@@ -91,7 +91,9 @@ games = [
("Q4Pack/tools", "q4"),
("Sof2Pack", "sof2"),
("STVEFPack", "stvef"),
- ("WolfPack/bin", "wolf")
+ ("WolfPack/bin", "wolf"),
+ ("NexuizPack", "nexuiz"),
+ ("DarkPlacesPack", "darkplaces")
]
# copy games
@@ -102,16 +104,16 @@ for game in games:
gtk2Root = os.path.normpath(os.path.join(thisDir, "../gtk2-2.4"))
if os.path.exists(gtk2Root):
copySvn(os.path.join(gtk2Root, "install"), installRoot)
-
+
libxml2 = os.path.normpath(os.path.join(thisDir, "../libxml2-2.6/win32/install/libxml2.dll"))
copyFileIfExists(libxml2, installRoot)
-
+
libpng = os.path.normpath(os.path.join(thisDir, "../libpng-1.2/lib/libpng13.dll"))
copyFileIfExists(libpng, installRoot)
-
+
libmhash = os.path.normpath(os.path.join(thisDir, "../mhash-0.9/win32/libmhash/Release/libmhash.dll"))
copyFileIfExists(libmhash, installRoot)
-
+
zlib = os.path.normpath(os.path.join(thisDir, "../zlib1-1.2/zlib1.dll"))
copyFileIfExists(zlib, installRoot)
diff --git a/libs/gtkutil/accelerator.cpp b/libs/gtkutil/accelerator.cpp
index 778da6f..bbb2793 100644
--- a/libs/gtkutil/accelerator.cpp
+++ b/libs/gtkutil/accelerator.cpp
@@ -498,14 +498,14 @@ void special_accelerators_add(Accelerator accelerator, const Callback& callback)
{
if(!accelerator_map_insert(g_special_accelerators, accelerator, callback))
{
- globalErrorStream() << "special_accelerators_add: already exists: " << makeQuoted(accelerator);
+ globalErrorStream() << "special_accelerators_add: already exists: " << makeQuoted(accelerator) << "\n";
}
}
void special_accelerators_remove(Accelerator accelerator)
{
if(!accelerator_map_erase(g_special_accelerators, accelerator))
{
- globalErrorStream() << "special_accelerators_remove: not found: " << makeQuoted(accelerator);
+ globalErrorStream() << "special_accelerators_remove: not found: " << makeQuoted(accelerator) << "\n";
}
}
@@ -513,14 +513,14 @@ void keydown_accelerators_add(Accelerator accelerator, const Callback& callback)
{
if(!accelerator_map_insert(g_keydown_accelerators, accelerator, callback))
{
- globalErrorStream() << "keydown_accelerators_add: already exists: " << makeQuoted(accelerator);
+ globalErrorStream() << "keydown_accelerators_add: already exists: " << makeQuoted(accelerator) << "\n";
}
}
void keydown_accelerators_remove(Accelerator accelerator)
{
if(!accelerator_map_erase(g_keydown_accelerators, accelerator))
{
- globalErrorStream() << "keydown_accelerators_remove: not found: " << makeQuoted(accelerator);
+ globalErrorStream() << "keydown_accelerators_remove: not found: " << makeQuoted(accelerator) << "\n";
}
}
@@ -528,14 +528,14 @@ void keyup_accelerators_add(Accelerator accelerator, const Callback& callback)
{
if(!accelerator_map_insert(g_keyup_accelerators, accelerator, callback))
{
- globalErrorStream() << "keyup_accelerators_add: already exists: " << makeQuoted(accelerator);
+ globalErrorStream() << "keyup_accelerators_add: already exists: " << makeQuoted(accelerator) << "\n";
}
}
void keyup_accelerators_remove(Accelerator accelerator)
{
if(!accelerator_map_erase(g_keyup_accelerators, accelerator))
{
- globalErrorStream() << "keyup_accelerators_remove: not found: " << makeQuoted(accelerator);
+ globalErrorStream() << "keyup_accelerators_remove: not found: " << makeQuoted(accelerator) << "\n";
}
}
diff --git a/radiant/GtkRadiant.vcproj b/radiant/GtkRadiant.vcproj
index d020446..7a06f21 100644
--- a/radiant/GtkRadiant.vcproj
+++ b/radiant/GtkRadiant.vcproj
@@ -675,6 +675,9 @@ copy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)install"
Outputs=""$(TargetDir)$(TargetName).pdb""/>
+
+
diff --git a/radiant/brush.cpp b/radiant/brush.cpp
index 0021250..d2f217b 100644
--- a/radiant/brush.cpp
+++ b/radiant/brush.cpp
@@ -270,14 +270,17 @@ void Brush::buildBRep()
}
}
- ASSERT_MESSAGE((uniqueVertices.size() + faces_size) - uniqueEdges.size() == 2, "Final B-Rep: inconsistent vertex count");
+ if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2)
+ {
+ globalErrorStream() << "Final B-Rep: inconsistent vertex count\n";
+ }
#if BRUSH_CONNECTIVITY_DEBUG
if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2)
{
for(Faces::iterator i = m_faces.begin(); i != m_faces.end(); ++i)
{
- std::size_t faceIndex = std::distance(m_faces.begin(), i);
+ std::size_t faceIndex = std::distance(m_faces.begin(), i);
if(!(*i)->contributes())
{
diff --git a/radiant/renderstate.cpp b/radiant/renderstate.cpp
index b648c92..2f5596d 100644
--- a/radiant/renderstate.cpp
+++ b/radiant/renderstate.cpp
@@ -2629,7 +2629,32 @@ void OpenGLShader::construct(const char* name)
#include "modulesystem/singletonmodule.h"
#include "modulesystem/moduleregistry.h"
-class ShaderCacheDependencies : public GlobalShadersModuleRef, public GlobalTexturesModuleRef
+class OpenGLStateLibraryAPI
+{
+ OpenGLStateMap m_stateMap;
+public:
+ typedef OpenGLStateLibrary Type;
+ STRING_CONSTANT(Name, "*");
+
+ OpenGLStateLibraryAPI()
+ {
+ g_openglStates = &m_stateMap;
+ }
+ ~OpenGLStateLibraryAPI()
+ {
+ g_openglStates = 0;
+ }
+ OpenGLStateLibrary* getTable()
+ {
+ return &m_stateMap;
+ }
+};
+
+typedef SingletonModule OpenGLStateLibraryModule;
+typedef Static StaticOpenGLStateLibraryModule;
+StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
+
+class ShaderCacheDependencies : public GlobalShadersModuleRef, public GlobalTexturesModuleRef, public GlobalOpenGLStateLibraryModuleRef
{
public:
ShaderCacheDependencies() :
@@ -2666,27 +2691,3 @@ typedef Static StaticShaderCacheModule;
StaticRegisterModule staticRegisterShaderCache(StaticShaderCacheModule::instance());
-class OpenGLStateLibraryAPI
-{
- OpenGLStateMap m_stateMap;
-public:
- typedef OpenGLStateLibrary Type;
- STRING_CONSTANT(Name, "*");
-
- OpenGLStateLibraryAPI()
- {
- g_openglStates = &m_stateMap;
- }
- ~OpenGLStateLibraryAPI()
- {
- g_openglStates = 0;
- }
- OpenGLStateLibrary* getTable()
- {
- return &m_stateMap;
- }
-};
-
-typedef SingletonModule OpenGLStateLibraryModule;
-typedef Static StaticOpenGLStateLibraryModule;
-StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
diff --git a/setup/linux/gtkradiant-1.5.0.spec b/setup/linux/gtkradiant-1.5.0.spec
index cec9f7c..3f906ab 100644
--- a/setup/linux/gtkradiant-1.5.0.spec
+++ b/setup/linux/gtkradiant-1.5.0.spec
@@ -70,6 +70,8 @@ cp games/Q3Pack/tools/games/q3.game $RPM_BUILD_ROOT%{installdir}/games
cp games/Doom3Pack/tools/games/doom3.game $RPM_BUILD_ROOT%{installdir}/games
cp games/Q4Pack/tools/games/q4.game $RPM_BUILD_ROOT%{installdir}/games
cp games/JAPack/Tools/games/ja.game $RPM_BUILD_ROOT%{installdir}/games
+cp games/NexuizPack/games/nexuiz.game $RPM_BUILD_ROOT%{installdir}/games
+cp games/DarkPlacesPack/games/darkplaces.game $RPM_BUILD_ROOT%{installdir}/games
mkdir $RPM_BUILD_ROOT%{installdir}/modules
cp install/modules/entity.so $RPM_BUILD_ROOT%{installdir}/modules
cp install/modules/model.so $RPM_BUILD_ROOT%{installdir}/modules
@@ -85,6 +87,10 @@ cp install/modules/imagepng.so $RPM_BUILD_ROOT%{installdir}/modules
cp install/modules/imageq2.so $RPM_BUILD_ROOT%{installdir}/modules
cp install/modules/mapq3.so $RPM_BUILD_ROOT%{installdir}/modules
cp install/modules/archivewad.so $RPM_BUILD_ROOT%{installdir}/modules
+cp install/plugins/prtview.so $RPM_BUILD_ROOT%{installdir}/prtview
+cp install/plugins/bobtoolz.so $RPM_BUILD_ROOT%{installdir}/plugins
+cp install/plugins/bt/*.txt $RPM_BUILD_ROOT%{installdir}/plugins/bt
+cp install/plugins/bitmaps/bobtoolz_*.bmp $RPM_BUILD_ROOT%{installdir}/plugins/bitmaps
mkdir $RPM_BUILD_ROOT%{installdir}/q1.game
cp games/Q1Pack/q1.game/default_build_menu.xml $RPM_BUILD_ROOT%{installdir}/q1.game
mkdir $RPM_BUILD_ROOT%{installdir}/q1.game/id1
@@ -105,6 +111,18 @@ mkdir $RPM_BUILD_ROOT%{installdir}/q3.game/baseq3
cp games/Q3Pack/tools/q3.game/baseq3/entities.ent $RPM_BUILD_ROOT%{installdir}/q3.game/baseq3
cp games/Q3Pack/tools/q3.game/baseq3/default_shaderlist.txt $RPM_BUILD_ROOT%{installdir}/q3.game/baseq3
cp games/Q3Pack/tools/q3.game/baseq3/entities.def $RPM_BUILD_ROOT%{installdir}/q3.game/baseq3
+mkdir $RPM_BUILD_ROOT%{installdir}/nexuiz.game
+cp games/NexuizPack/nexuiz.game/game.xlink $RPM_BUILD_ROOT%{installdir}/nexuiz.game
+cp games/NexuizPack/nexuiz.game/default_build_menu.xml $RPM_BUILD_ROOT%{installdir}/nexuiz.game
+mkdir $RPM_BUILD_ROOT%{installdir}/nexuiz.game/data
+cp games/NexuizPack/nexuiz.game/data/default_shaderlist.txt $RPM_BUILD_ROOT%{installdir}/nexuiz.game/data
+cp games/NexuizPack/nexuiz.game/data/entities.def $RPM_BUILD_ROOT%{installdir}/nexuiz.game/data
+mkdir $RPM_BUILD_ROOT%{installdir}/darkplaces.game
+cp games/DarkPlacesPack/darkplaces.game/game.xlink $RPM_BUILD_ROOT%{installdir}/darkplaces.game
+cp games/DarkPlacesPack/darkplaces.game/default_build_menu.xml $RPM_BUILD_ROOT%{installdir}/darkplaces.game
+mkdir $RPM_BUILD_ROOT%{installdir}/darkplaces.game/id1
+cp games/DarkPlacesPack/darkplaces.game/id1/default_shaderlist.txt $RPM_BUILD_ROOT%{installdir}/darkplaces.game/id1
+cp games/DarkPlacesPack/darkplaces.game/id1/entities.ent $RPM_BUILD_ROOT%{installdir}/darkplaces.game/id1
mkdir $RPM_BUILD_ROOT%{installdir}/bitmaps
cp setup/data/tools/bitmaps/view_cubicclipping.bmp $RPM_BUILD_ROOT%{installdir}/bitmaps
cp setup/data/tools/bitmaps/cap_endcap.bmp $RPM_BUILD_ROOT%{installdir}/bitmaps
diff --git a/setup/win32/gtkradiant-1.5.0.xml b/setup/win32/gtkradiant-1.5.0.xml
index 3e841fc..3818ac9 100644
--- a/setup/win32/gtkradiant-1.5.0.xml
+++ b/setup/win32/gtkradiant-1.5.0.xml
@@ -36,6 +36,12 @@
+
+
+
+
+
+
@@ -92,5 +98,11 @@
+
+
+
+
+
+