- 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
# 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
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):
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)
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)
("Q4Pack/tools", "q4"),
("Sof2Pack", "sof2"),
("STVEFPack", "stvef"),
- ("WolfPack/bin", "wolf")
+ ("WolfPack/bin", "wolf"),
+ ("NexuizPack", "nexuiz"),
+ ("DarkPlacesPack", "darkplaces")
]
# copy 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)
{
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";
}
}
{
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";
}
}
{
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";
}
}
Outputs=""$(TargetDir)$(TargetName).pdb""/>\r
</FileConfiguration>\r
</File>\r
+ <File\r
+ RelativePath="..\install.py">\r
+ </File>\r
<File\r
RelativePath=".\radiant.ico">\r
</File>\r
}
}
- 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())
{
#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<OpenGLStateLibraryAPI> OpenGLStateLibraryModule;
+typedef Static<OpenGLStateLibraryModule> StaticOpenGLStateLibraryModule;
+StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
+
+class ShaderCacheDependencies : public GlobalShadersModuleRef, public GlobalTexturesModuleRef, public GlobalOpenGLStateLibraryModuleRef
{
public:
ShaderCacheDependencies() :
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<OpenGLStateLibraryAPI> OpenGLStateLibraryModule;
-typedef Static<OpenGLStateLibraryModule> StaticOpenGLStateLibraryModule;
-StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
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
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
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
<component name=".\components\mapq3.xml" root="..\..\install"/>
<component name=".\components\mapxml.xml" root="..\..\install"/>
+ <feature name="BobToolz Plugin" desc="Bob's tools for Enemy Territory">
+ <component name=".\components\bobtoolz.xml" root="..\..\install"/>
+ </feature>
+ <feature name="PrtView Plugin" desc="Geoffrey Dewan's Portal Viewer">
+ <component name=".\components\prtview.xml" root="..\..\install"/>
+ </feature>
<feature name="GtkRadiant Editor Manual" desc="Documentation for GtkRadiant users.">
<component name=".\components\radiant_manual.xml" root="..\..\docs\manual"/>
</feature>
<feature name="Half-Life Support" desc="Support for Half-Life.">
<component name=".\components\hl.xml" root="..\..\games\HalfLifePack"/>
</feature>
+ <feature name="Nexuiz Support" desc="Support for Nexuiz.">
+ <component name=".\components\nexuiz.xml" root="..\..\games\NexuizPack"/>
+ </feature>
+ <feature name="DarkPlaces Support" desc="Support for DarkPlaces Quake.">
+ <component name=".\components\darkplaces.xml" root="..\..\games\DarkPlacesPack"/>
+ </feature>
</feature>
</package>