added install.py; updated COMPILING; fixed q3 shader transparency rendering; jedi...
authorspog <spog>
Sat, 11 Feb 2006 23:57:16 +0000 (23:57 +0000)
committerspog <spog>
Sat, 11 Feb 2006 23:57:16 +0000 (23:57 +0000)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant@2 8a3a26a2-13c4-0310-b231-cf6edde360e5

CHANGES
COMPILING
install.py [new file with mode: 0644]
plugins/shaders/shaders.cpp
radiant/brushmanip.cpp

diff --git a/CHANGES b/CHANGES
index a937060..7038429 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,13 @@
 This is the changelog for developers, != changelog for the end user 
 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
 SPoG
 - Added Radiant Manual shortcut to win32 installation.
index 3aecea5..0a572e0 100644 (file)
--- a/COMPILING
+++ b/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)
diff --git a/install.py b/install.py
new file mode 100644 (file)
index 0000000..ab7b5af
--- /dev/null
@@ -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)
index d945069..3bfa729 100644 (file)
@@ -976,7 +976,7 @@ public:
     m_template(*definition.shaderTemplate),
     m_args(definition.args),
     m_filename(definition.filename),
-    m_blendFunc(BLEND_ONE, BLEND_ZERO),
+    m_blendFunc(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA),
     m_bInUse(false)
   {
     m_pTexture = 0;
index 940c6f6..b701ca4 100644 (file)
@@ -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_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_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_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_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_botclip, EXCLUDE_BOTCLIP);
   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_hint, 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_visportal, EXCLUDE_VISPORTALS);
   add_brush_filter(g_filter_brush_areaportal, EXCLUDE_AREAPORTALS);