mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2024-11-10 07:11:54 +00:00
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
This commit is contained in:
parent
8649824a42
commit
23cc0661e0
8 changed files with 93 additions and 49 deletions
5
CHANGES
5
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
|
||||
|
|
34
install.py
34
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)
|
||||
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -675,6 +675,9 @@ copy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)install"
|
|||
Outputs=""$(TargetDir)$(TargetName).pdb""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\install.py">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\radiant.ico">
|
||||
</File>
|
||||
|
|
|
@ -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())
|
||||
{
|
||||
|
|
|
@ -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<OpenGLStateLibraryAPI> OpenGLStateLibraryModule;
|
||||
typedef Static<OpenGLStateLibraryModule> StaticOpenGLStateLibraryModule;
|
||||
StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
|
||||
|
||||
class ShaderCacheDependencies : public GlobalShadersModuleRef, public GlobalTexturesModuleRef, public GlobalOpenGLStateLibraryModuleRef
|
||||
{
|
||||
public:
|
||||
ShaderCacheDependencies() :
|
||||
|
@ -2666,27 +2691,3 @@ typedef Static<ShaderCacheModule> 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<OpenGLStateLibraryAPI> OpenGLStateLibraryModule;
|
||||
typedef Static<OpenGLStateLibraryModule> StaticOpenGLStateLibraryModule;
|
||||
StaticRegisterModule staticRegisterOpenGLStateLibrary(StaticOpenGLStateLibraryModule::instance());
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -36,6 +36,12 @@
|
|||
<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>
|
||||
|
@ -92,5 +98,11 @@
|
|||
<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>
|
||||
|
|
Loading…
Reference in a new issue