mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-02-03 23:21:22 +00:00
added install.py; updated COMPILING; fixed q3 shader transparency rendering; jedi academy hint/caulk filtering
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant@2 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
parent
12b372f89c
commit
9a4e9d5b77
5 changed files with 180 additions and 2 deletions
7
CHANGES
7
CHANGES
|
@ -1,6 +1,13 @@
|
||||||
This is the changelog for developers, != changelog for the end user
|
This is the changelog for developers, != changelog for the end user
|
||||||
that we distribute with the binaries. (see changelog)
|
that we distribute with the binaries. (see changelog)
|
||||||
|
|
||||||
|
11/02/2006
|
||||||
|
SPoG
|
||||||
|
- Added install.py script.
|
||||||
|
- Updated COMPILING instructions.
|
||||||
|
- Fixed transparency rendering on quake3 shaders.
|
||||||
|
- Fixed hint/caulk filtering for Jedi Academy shaders.
|
||||||
|
|
||||||
04/02/2006
|
04/02/2006
|
||||||
SPoG
|
SPoG
|
||||||
- Added Radiant Manual shortcut to win32 installation.
|
- Added Radiant Manual shortcut to win32 installation.
|
||||||
|
|
76
COMPILING
76
COMPILING
|
@ -1 +1,75 @@
|
||||||
see docs/developer/README
|
developer documentation for GtkRadiant 1.5.0
|
||||||
|
============================================
|
||||||
|
|
||||||
|
getting the source
|
||||||
|
==================
|
||||||
|
|
||||||
|
The latest source is available from the Subversion repository.
|
||||||
|
https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk/
|
||||||
|
|
||||||
|
The subversion client can be obtained from the Subversion site.
|
||||||
|
http://subversion.tigris.org
|
||||||
|
|
||||||
|
To get a copy of the source using the commandline Subversion client:
|
||||||
|
Change the current directory to the desired location for the source.
|
||||||
|
svn checkout https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk/ ./GtkRadiant
|
||||||
|
svn checkout https://zerowing.idsoftware.com/svn/radiant.assets/Q3Pack/trunk/ ./GtkRadiant/games/Q3Pack
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Linux/OSX(using X-windows)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- gcc3 (preferably)
|
||||||
|
- scons = 0.96 (radiant is built with scons rather than make)
|
||||||
|
- python >= 2.3.0 (scons requires python, some build steps use python)
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- gtk+ >= 2.4.0 (requires glib, atk, pango, iconv, etc)
|
||||||
|
- gtkglext >= 1.0.0 (requires opengl)
|
||||||
|
- libxml2 >= 2.0.0
|
||||||
|
- zlib >= 1.2.0 (for archivezip module)
|
||||||
|
- libpng >= 1.2.0 (for imagepng module)
|
||||||
|
- libmhash = 0.9.0 (for q3map2)
|
||||||
|
|
||||||
|
build:
|
||||||
|
Execute 'scons SETUP=0' in the directory containing SConscript
|
||||||
|
|
||||||
|
install:
|
||||||
|
run './GtkRadiant/install.py'
|
||||||
|
note - the installed data is not modified by the build, but it may be modified when you update from svn
|
||||||
|
|
||||||
|
run:
|
||||||
|
Execute './GtkRadiant/install/radiant.x86' (or './GtkRadiant/install/radiant.ppc' on osx)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Win32 (2000 or XP)
|
||||||
|
==================
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- visual studio .net 2003
|
||||||
|
- microsoft c++ compiler 7.1 (comes with vs.net 2003)
|
||||||
|
- python 2.3.0 or later
|
||||||
|
|
||||||
|
dependencies are prepackaged archives, extract them to the directory above GtkRadiant.sln:
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/gtk2-2.4.14.zip (gtk-wimp, gtkglext, gtk, glib, atk, pango, iconv etc)
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/libxml2-2.6.2.zip
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/STLport-4.6.2.zip
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/zlib1-1.2.1.zip (for archivezip module)
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/libpng-1.2.5.zip (for imagepng module)
|
||||||
|
- http://zerowing.idsoftware.com/files/radiant/developer/1.5/mhash-0.9.1.zip (for q3map2)
|
||||||
|
|
||||||
|
build:
|
||||||
|
Open GtkRadiant.sln.
|
||||||
|
In tools > options > projects > VC++ Directories > executables, add the path to python.exe (e.g. c:\python23\)
|
||||||
|
Hit 'Build > Build Solution' (F7)
|
||||||
|
|
||||||
|
install:
|
||||||
|
run './GtkRadiant/install.py'
|
||||||
|
note - the installed data is not modified by the build, but it may be modified when you update from svn
|
||||||
|
|
||||||
|
run:
|
||||||
|
set Project > Properties > Debugging > Command to "$(SolutionDir)install/$(TargetFileName)"
|
||||||
|
hit 'Debug > Start' (F5)
|
||||||
|
|
89
install.py
Normal file
89
install.py
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
|
def copyFile(source, target):
|
||||||
|
assert os.path.isfile(source)
|
||||||
|
targetFile = target
|
||||||
|
if os.path.isdir(targetFile):
|
||||||
|
targetFile = os.path.join(target, os.path.basename(source))
|
||||||
|
print source, "->", targetFile
|
||||||
|
shutil.copyfile(source, targetFile)
|
||||||
|
|
||||||
|
def copyFileIfExists(source, target):
|
||||||
|
if os.path.exists(source):
|
||||||
|
copyFile(source, target)
|
||||||
|
|
||||||
|
def copySvn(source, target):
|
||||||
|
assert os.path.isdir(source)
|
||||||
|
if not os.path.exists(target):
|
||||||
|
os.mkdir(target)
|
||||||
|
for name in os.listdir(source):
|
||||||
|
absolute = os.path.join(source, name)
|
||||||
|
absTarget = os.path.join(target, name)
|
||||||
|
if os.path.isdir(absolute):
|
||||||
|
if name != ".svn":
|
||||||
|
copySvn(absolute, absTarget)
|
||||||
|
else:
|
||||||
|
copyFile(absolute, absTarget)
|
||||||
|
|
||||||
|
def copyGame(source, game, target):
|
||||||
|
assert os.path.isdir(source)
|
||||||
|
assert os.path.isdir(target)
|
||||||
|
root = os.path.join(source, os.path.normpath(game[0]))
|
||||||
|
if os.path.exists(root):
|
||||||
|
gamename = game[1] + ".game"
|
||||||
|
copySvn(os.path.join(root, gamename), os.path.join(target, gamename))
|
||||||
|
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))
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
# root, gamename
|
||||||
|
games = [
|
||||||
|
("Doom3Pack/tools", "doom3"),
|
||||||
|
("ETPack", "et"),
|
||||||
|
("HalfLifePack", "hl"),
|
||||||
|
("Her2Pack", "heretic2"),
|
||||||
|
("JAPack/Tools", "ja"),
|
||||||
|
("JK2Pack", "jk2"),
|
||||||
|
("Q1Pack", "q1"),
|
||||||
|
("Q2Pack", "q2"),
|
||||||
|
("Q3Pack/tools", "q3"),
|
||||||
|
("Q4Pack/tools", "q4"),
|
||||||
|
("Sof2Pack", "sof2"),
|
||||||
|
("STVEFPack", "stvef"),
|
||||||
|
("WolfPack/bin", "wolf")
|
||||||
|
]
|
||||||
|
|
||||||
|
# copy games
|
||||||
|
for game in games:
|
||||||
|
copyGame(gamesRoot, game, installRoot)
|
||||||
|
|
||||||
|
# copy win32 dlls
|
||||||
|
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)
|
|
@ -976,7 +976,7 @@ public:
|
||||||
m_template(*definition.shaderTemplate),
|
m_template(*definition.shaderTemplate),
|
||||||
m_args(definition.args),
|
m_args(definition.args),
|
||||||
m_filename(definition.filename),
|
m_filename(definition.filename),
|
||||||
m_blendFunc(BLEND_ONE, BLEND_ZERO),
|
m_blendFunc(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA),
|
||||||
m_bInUse(false)
|
m_bInUse(false)
|
||||||
{
|
{
|
||||||
m_pTexture = 0;
|
m_pTexture = 0;
|
||||||
|
|
|
@ -1111,6 +1111,9 @@ filter_brush_all_faces g_filter_brush_botclip(&g_filter_face_botclip);
|
||||||
filter_face_shader g_filter_face_caulk("textures/common/caulk");
|
filter_face_shader g_filter_face_caulk("textures/common/caulk");
|
||||||
filter_brush_all_faces g_filter_brush_caulk(&g_filter_face_caulk);
|
filter_brush_all_faces g_filter_brush_caulk(&g_filter_face_caulk);
|
||||||
|
|
||||||
|
filter_face_shader g_filter_face_caulk_ja("textures/system/caulk");
|
||||||
|
filter_brush_all_faces g_filter_brush_caulk_ja(&g_filter_face_caulk_ja);
|
||||||
|
|
||||||
filter_face_shader_substring g_filter_face_liquids("textures/liquids/");
|
filter_face_shader_substring g_filter_face_liquids("textures/liquids/");
|
||||||
filter_brush_any_face g_filter_brush_liquids(&g_filter_face_liquids);
|
filter_brush_any_face g_filter_brush_liquids(&g_filter_face_liquids);
|
||||||
|
|
||||||
|
@ -1120,6 +1123,9 @@ filter_brush_any_face g_filter_brush_hint(&g_filter_face_hint);
|
||||||
filter_face_shader g_filter_face_hint_q2("textures/hint");
|
filter_face_shader g_filter_face_hint_q2("textures/hint");
|
||||||
filter_brush_any_face g_filter_brush_hint_q2(&g_filter_face_hint_q2);
|
filter_brush_any_face g_filter_brush_hint_q2(&g_filter_face_hint_q2);
|
||||||
|
|
||||||
|
filter_face_shader g_filter_face_hint_ja("textures/system/hint");
|
||||||
|
filter_brush_any_face g_filter_brush_hint_ja(&g_filter_face_hint_ja);
|
||||||
|
|
||||||
filter_face_shader g_filter_face_areaportal("textures/common/areaportal");
|
filter_face_shader g_filter_face_areaportal("textures/common/areaportal");
|
||||||
filter_brush_all_faces g_filter_brush_areaportal(&g_filter_face_areaportal);
|
filter_brush_all_faces g_filter_brush_areaportal(&g_filter_face_areaportal);
|
||||||
|
|
||||||
|
@ -1146,9 +1152,11 @@ void BrushFilters_construct()
|
||||||
add_brush_filter(g_filter_brush_weapclip, EXCLUDE_CLIP);
|
add_brush_filter(g_filter_brush_weapclip, EXCLUDE_CLIP);
|
||||||
add_brush_filter(g_filter_brush_botclip, EXCLUDE_BOTCLIP);
|
add_brush_filter(g_filter_brush_botclip, EXCLUDE_BOTCLIP);
|
||||||
add_brush_filter(g_filter_brush_caulk, EXCLUDE_CAULK);
|
add_brush_filter(g_filter_brush_caulk, EXCLUDE_CAULK);
|
||||||
|
add_brush_filter(g_filter_brush_caulk_ja, EXCLUDE_CAULK);
|
||||||
add_brush_filter(g_filter_brush_liquids, EXCLUDE_LIQUIDS);
|
add_brush_filter(g_filter_brush_liquids, EXCLUDE_LIQUIDS);
|
||||||
add_brush_filter(g_filter_brush_hint, EXCLUDE_HINTSSKIPS);
|
add_brush_filter(g_filter_brush_hint, EXCLUDE_HINTSSKIPS);
|
||||||
add_brush_filter(g_filter_brush_hint_q2, EXCLUDE_HINTSSKIPS);
|
add_brush_filter(g_filter_brush_hint_q2, EXCLUDE_HINTSSKIPS);
|
||||||
|
add_brush_filter(g_filter_brush_hint_ja, EXCLUDE_HINTSSKIPS);
|
||||||
add_brush_filter(g_filter_brush_clusterportal, EXCLUDE_CLUSTERPORTALS);
|
add_brush_filter(g_filter_brush_clusterportal, EXCLUDE_CLUSTERPORTALS);
|
||||||
add_brush_filter(g_filter_brush_visportal, EXCLUDE_VISPORTALS);
|
add_brush_filter(g_filter_brush_visportal, EXCLUDE_VISPORTALS);
|
||||||
add_brush_filter(g_filter_brush_areaportal, EXCLUDE_AREAPORTALS);
|
add_brush_filter(g_filter_brush_areaportal, EXCLUDE_AREAPORTALS);
|
||||||
|
|
Loading…
Reference in a new issue