From: spog Date: Sat, 13 May 2006 12:25:54 +0000 (+0000) Subject: added plugins to win32/linux installers; fixed crash when plugins are disabled X-Git-Tag: xonotic-v0.7.0~16^2~12^2~231 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=23cc0661e04d41ac4db3f66f873ae1bbe6aebe25;p=xonotic%2Fnetradiant.git added plugins to win32/linux installers; fixed crash when plugins are disabled git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@63 8a3a26a2-13c4-0310-b231-cf6edde360e5 --- diff --git a/CHANGES b/CHANGES index a59f9c80..c5a3f883 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 2a0f8fab..505bd943 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 778da6f4..bbb2793c 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 d020446c..7a06f217 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 00212509..d2f217b3 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 b648c92d..2f5596d1 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 cec9f7cb..3f906abd 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 3e841fc9..3818ac90 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 @@ + + + + + +