mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-29 15:16:05 +00:00
Added: #929 Process for anim, font, swt, clodbank, pacs_prim, ps, skel. Project for objects, sky, contruction, fauna, fonts, outgame, sfx.
This commit is contained in:
parent
e3ce2a224e
commit
856717a6cb
77 changed files with 3845 additions and 194 deletions
|
@ -215,6 +215,49 @@ def findFile(log, dir_where, file_name):
|
|||
printLog(log, "findFile: file not dir or file?! " + filePath)
|
||||
return ""
|
||||
|
||||
def needUpdateDirNoSubdirLogExt(log, dir_source, ext_source, dir_dest, ext_dest):
|
||||
latestSourceFile = 0
|
||||
latestDestFile = 0
|
||||
sourceFiles = findFilesNoSubdir(log, dir_source, ext_source)
|
||||
destFiles = findFilesNoSubdir(log, dir_dest, ext_dest)
|
||||
for file in sourceFiles:
|
||||
fileTime = os.stat(dir_source + "/" + file).st_mtime
|
||||
if (fileTime > latestSourceFile):
|
||||
latestSourceFile = fileTime
|
||||
for file in destFiles:
|
||||
fileTime = os.stat(dir_dest + "/" + file).st_mtime
|
||||
if (fileTime > latestDestFile):
|
||||
latestDestFile = fileTime
|
||||
if latestSourceFile > latestDestFile or len(sourceFiles) > len(destFiles):
|
||||
printLog(log, "UPDATE; Source: " + str(latestSourceFile) + ", " + str(len(sourceFiles)) + " files; Dest: " + str(latestDestFile) + ", " + str(len(destFiles)) + " files")
|
||||
return 1
|
||||
else:
|
||||
printLog(log, "SKIP *")
|
||||
return 0
|
||||
|
||||
def needUpdateDirNoSubdirLogExtMultidir(log, all_dir_base, all_dir_source, dir_source, ext_source, dir_dest, ext_dest):
|
||||
latestSourceFile = 0
|
||||
latestDestFile = 0
|
||||
sourceFilesAll = [ ]
|
||||
for dir in all_dir_source:
|
||||
sourceFilesAll += findFilesNoSubdir(log, all_dir_base + "/" + dir, ext_source)
|
||||
sourceFiles = findFilesNoSubdir(log, dir_source, ext_source)
|
||||
destFiles = findFilesNoSubdir(log, dir_dest, ext_dest)
|
||||
for file in sourceFiles:
|
||||
fileTime = os.stat(dir_source + "/" + file).st_mtime
|
||||
if (fileTime > latestSourceFile):
|
||||
latestSourceFile = fileTime
|
||||
for file in destFiles:
|
||||
fileTime = os.stat(dir_dest + "/" + file).st_mtime
|
||||
if (fileTime > latestDestFile):
|
||||
latestDestFile = fileTime
|
||||
if latestSourceFile > latestDestFile or len(sourceFilesAll) > len(destFiles):
|
||||
printLog(log, "UPDATE; Source: " + str(latestSourceFile) + ", " + str(len(sourceFilesAll)) + " files; Dest: " + str(latestDestFile) + ", " + str(len(destFiles)) + " files")
|
||||
return 1
|
||||
else:
|
||||
printLog(log, "SKIP *")
|
||||
return 0
|
||||
|
||||
def findTool(log, dirs_where, file_name, suffix):
|
||||
try:
|
||||
for dir in dirs_where:
|
||||
|
|
|
@ -84,3 +84,4 @@ LandExportTool = "land_export"
|
|||
PrimExportTool = "prim_export"
|
||||
IgElevationTool = "ig_elevation"
|
||||
IgAddTool = "ig_add"
|
||||
BuildClodBankTool = "build_clod_bank"
|
||||
|
|
|
@ -49,12 +49,39 @@ printLog(log, "")
|
|||
|
||||
# For each anim directory
|
||||
printLog(log, ">>> Export anim 3dsmax <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
mkPath(log, ExportBuildDirectory + "/" + AnimExportDirectory)
|
||||
for dir in AnimSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, AnimSourceDirectories, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + AnimExportDirectory, ".anim")):
|
||||
scriptSrc = "maxscript/anim_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/anim_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/anim/log.log"
|
||||
outDirAnim = ExportBuildDirectory + "/" + AnimExportDirectory
|
||||
animSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outDirAnim, "", ".anim")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("anim_source_directory", animSourceDir)
|
||||
newline = newline.replace("output_directory", outDirAnim)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "anim_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirAnim, "", ".anim")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .anim files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
|
@ -56,7 +56,12 @@ else:
|
|||
mkPath(log, srcDir)
|
||||
destDir = ExportBuildDirectory + "/" + AnimBuildDirectory
|
||||
mkPath(log, destDir)
|
||||
subprocess.call([ AnimBuilder, srcDir, destDir, ScriptDirectory + "/configuration/zone_lighter_properties.cfg" ])
|
||||
if DoOptimizeAnimations:
|
||||
printLog(log, ">>> Optimizing animations <<<")
|
||||
subprocess.call([ AnimBuilder, srcDir, destDir, ActiveProjectDirectory + "/anim_builder.cfg" ])
|
||||
else:
|
||||
printLog(log, ">>> Not optimizing animations <<<")
|
||||
copyFilesNoTreeIfNeeded(log, srcDir, destDir)
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
85
code/nel/tools/build_gamedata/processes/clodbank/0_setup.py
Normal file
85
code/nel/tools/build_gamedata/processes/clodbank/0_setup.py
Normal file
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief Setup clodbank
|
||||
# \date 2009-03-10 14:56GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup clodbank
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup clodbank")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in ClodSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodTagExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodBankBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + AnimBuildDirectory)
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, ClientDataDirectory + "/" + ShapeClientDirectory)
|
||||
|
||||
# Setup configuration files
|
||||
printLog(log, ">>> Setup configuration files <<<")
|
||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||
cfgOut = open(ActiveProjectDirectory + "/generated/clod_paths.cfg", "w")
|
||||
cfgOut.write("\n")
|
||||
cfgOut.write("// The search pathes, look in the current process\n")
|
||||
cfgOut.write("search_pathes = \n")
|
||||
cfgOut.write("{\n")
|
||||
cfgOut.write("\t\"" + ExportBuildDirectory + "/" + ClodExportDirectory + "\", \n")
|
||||
cfgOut.write("\t\"" + ExportBuildDirectory + "/" + SkelExportDirectory + "\", \n")
|
||||
cfgOut.write("\t\"" + ExportBuildDirectory + "/" + AnimBuildDirectory + "\", \n")
|
||||
cfgOut.write("};\n")
|
||||
cfgOut.write("\n")
|
||||
cfgOut.close()
|
||||
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
93
code/nel/tools/build_gamedata/processes/clodbank/1_export.py
Normal file
93
code/nel/tools/build_gamedata/processes/clodbank/1_export.py
Normal file
|
@ -0,0 +1,93 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export clodbank
|
||||
# \date 2009-03-10 13:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export clodbank
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export clodbank")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
# For each clodbank directory
|
||||
printLog(log, ">>> Export clodbank 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodTagExportDirectory)
|
||||
for dir in ClodSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, ClodSourceDirectories, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + ClodTagExportDirectory, ".tag")):
|
||||
scriptSrc = "maxscript/clod_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/clod_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/clodbank/log.log"
|
||||
outDirClod = ExportBuildDirectory + "/" + ClodExportDirectory
|
||||
outDirTag = ExportBuildDirectory + "/" + ClodTagExportDirectory
|
||||
maxSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("shape_source_directory", maxSourceDir)
|
||||
newline = newline.replace("output_directory_clod", outDirClod)
|
||||
newline = newline.replace("output_directory_tag", outDirTag)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "clod_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
68
code/nel/tools/build_gamedata/processes/clodbank/2_build.py
Normal file
68
code/nel/tools/build_gamedata/processes/clodbank/2_build.py
Normal file
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build clodbank
|
||||
# \date 2009-03-10 13:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build clodbank
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build clodbank")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
BuildClodBank = findTool(log, ToolDirectories, BuildClodBankTool, ToolSuffix)
|
||||
printLog(log, "")
|
||||
|
||||
# Build clodbank
|
||||
printLog(log, ">>> Build clodbank <<<")
|
||||
if BuildClodBank == "":
|
||||
toolLogFail(log, BuildClodBankTool, ToolSuffix)
|
||||
else:
|
||||
srcDir = ExportBuildDirectory + "/" + ClodExportDirectory
|
||||
mkPath(log, srcDir)
|
||||
destDir = ExportBuildDirectory + "/" + ClodBankBuildDirectory
|
||||
mkPath(log, destDir)
|
||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||
destFile = destDir + "/" + ClodBankFileName
|
||||
configFile = DatabaseDirectory + "/" + ClodConfigFile
|
||||
subprocess.call([ BuildClodBank, ActiveProjectDirectory + "/generated/clod_paths.cfg", configFile, destFile ])
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install clodbank
|
||||
# \date 2009-03-10 13:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install clodbank
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install clodbank")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Install clodbank <<<")
|
||||
srcDir = ExportBuildDirectory + "/" + ClodBankBuildDirectory
|
||||
mkPath(log, srcDir)
|
||||
destDir = ClientDataDirectory + "/" + ShapeClientDirectory
|
||||
mkPath(log, destDir)
|
||||
copyFilesNoTreeIfNeeded(log, srcDir, destDir)
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -132,7 +132,7 @@ fn goClodExport =
|
|||
(
|
||||
-- Open the max project
|
||||
nlerror ("Scanning file "+files[i]+" ...")
|
||||
if loadMaxFile files[i] quiet:true == true then
|
||||
if (loadMaxFile files[i] quiet:true) == true then
|
||||
(
|
||||
-- Unhide category
|
||||
unhidecategory()
|
||||
|
|
|
@ -50,6 +50,7 @@ for dir in FontSourceDirectories:
|
|||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + FontExportDirectory)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
|
|
@ -43,6 +43,17 @@ printLog(log, "-------")
|
|||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Export font <<<")
|
||||
fontExportDir = ExportBuildDirectory + "/" + FontExportDirectory
|
||||
mkPath(log, fontExportDir)
|
||||
for dir in FontSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, fontExportDir, ".ttf")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, fontExportDir, ".afm")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, fontExportDir, ".pfb")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, fontExportDir, ".pfm")
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
|
@ -45,14 +45,14 @@ printLog(log, "")
|
|||
|
||||
clientPath = ClientDataDirectory + "/" + FontClientDirectory
|
||||
mkPath(log, clientPath)
|
||||
fontExportDir = ExportBuildDirectory + "/" + FontExportDirectory
|
||||
mkPath(log, fontExportDir)
|
||||
|
||||
printLog(log, ">>> Install font <<<")
|
||||
for dir in FontSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".ttf")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".afm")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".pfb")
|
||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".pfm")
|
||||
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".ttf")
|
||||
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".afm")
|
||||
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfb")
|
||||
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfm")
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
|
|
@ -46,38 +46,39 @@ printLog(log, "")
|
|||
Max = "" #find later
|
||||
|
||||
|
||||
def igExport(sourceDir, targetDir):
|
||||
def igExport(all_source_base, all_source_dir, sourceDir, targetDir):
|
||||
scriptSrc = "maxscript/ig_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/ig_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/ig/log.log"
|
||||
outDirTag = ExportBuildDirectory + "/" + IgStaticTagExportDirectory
|
||||
outDirIg = ExportBuildDirectory + "/" + targetDir
|
||||
igSourceDir = DatabaseDirectory + "/" + sourceDir
|
||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("ig_source_directory", igSourceDir)
|
||||
newline = newline.replace("output_directory_tag", outDirTag)
|
||||
newline = newline.replace("output_directory_ig", outDirIg)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "ig_export.ms", "-q", "-mi", "-vn" ])
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, all_source_base, all_source_dir, igSourceDir, ".max", outDirTag, ".max.tag")):
|
||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
||||
os.remove(scriptDst)
|
||||
return
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("ig_source_directory", igSourceDir)
|
||||
newline = newline.replace("output_directory_tag", outDirTag)
|
||||
newline = newline.replace("output_directory_ig", outDirIg)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "ig_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
||||
os.remove(scriptDst)
|
||||
return
|
||||
|
||||
|
||||
if MaxAvailable:
|
||||
|
@ -93,14 +94,14 @@ if MaxAvailable:
|
|||
mkPath(log, ExportBuildDirectory + "/" + IgStaticLandExportDirectory)
|
||||
for dir in IgLandSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
igExport(dir, IgStaticLandExportDirectory)
|
||||
igExport(DatabaseDirectory, IgLandSourceDirectories, dir, IgStaticLandExportDirectory)
|
||||
|
||||
# Export ig other 3dsmax
|
||||
printLog(log, ">>> Export ig other 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
|
||||
for dir in IgOtherSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
igExport(dir, IgStaticOtherExportDirectory)
|
||||
igExport(DatabaseDirectory, IgOtherSourceDirectories, dir, IgStaticOtherExportDirectory)
|
||||
|
||||
|
||||
printLog(log, "")
|
||||
|
|
|
@ -56,7 +56,7 @@ else:
|
|||
mkPath(log, srcDir)
|
||||
destDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory
|
||||
mkPath(log, destDir)
|
||||
subprocess.call([ IgLighter, srcDir, destDir, ActiveProjectDirectory + "/generated/zone_lighter.cfg" ])
|
||||
subprocess.call([ IgLighter, srcDir, destDir, ActiveProjectDirectory + "/generated/properties.cfg" ])
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
|
@ -62,40 +62,40 @@ if LigoExportLand == "" or LigoExportOnePass == 1:
|
|||
mkPath(log, DatabaseDirectory + "/" + LigoDatabaseCmbExportDirectory)
|
||||
mkPath(log, DatabaseDirectory + "/" + ZoneSourceDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + LigoTagExportDirectory)
|
||||
printLog(log, "WRITE " + ligoIniPath)
|
||||
ligoIni = open(ligoIniPath, "w")
|
||||
ligoIni.write("[LigoConfig]\n")
|
||||
ligoIni.write("LigoPath=" + DatabaseDirectory + "/" + LigoMaxSourceDirectory + "/\n")
|
||||
ligoIni.write("LigoExportPath=" + DatabaseDirectory + "/" + LigoDatabaseExportDirectory + "/\n")
|
||||
ligoIni.write("LigoOldZonePath=" + DatabaseDirectory + "/" + ZoneSourceDirectory + "/\n")
|
||||
ligoIni.close()
|
||||
|
||||
outDirTag = ExportBuildDirectory + "/" + LigoTagExportDirectory
|
||||
logFile = ScriptDirectory + "/processes/ligo/log.log"
|
||||
smallBank = ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank"
|
||||
|
||||
scriptSrc = "maxscript/nel_ligo_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/nel_ligo_export.ms"
|
||||
|
||||
if os.path.isfile(scriptDst):
|
||||
if (needUpdateDirNoSubdirLogExt(log, DatabaseDirectory + "/" + LigoMaxSourceDirectory, ".max", ExportBuildDirectory + "/" + LigoTagExportDirectory, ".max.tag")):
|
||||
printLog(log, "WRITE " + ligoIniPath)
|
||||
ligoIni = open(ligoIniPath, "w")
|
||||
ligoIni.write("[LigoConfig]\n")
|
||||
ligoIni.write("LigoPath=" + DatabaseDirectory + "/" + LigoMaxSourceDirectory + "/\n")
|
||||
ligoIni.write("LigoExportPath=" + DatabaseDirectory + "/" + LigoDatabaseExportDirectory + "/\n")
|
||||
ligoIni.write("LigoOldZonePath=" + DatabaseDirectory + "/" + ZoneSourceDirectory + "/\n")
|
||||
ligoIni.close()
|
||||
|
||||
outDirTag = ExportBuildDirectory + "/" + LigoTagExportDirectory
|
||||
logFile = ScriptDirectory + "/processes/ligo/log.log"
|
||||
smallBank = ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank"
|
||||
|
||||
scriptSrc = "maxscript/nel_ligo_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/nel_ligo_export.ms"
|
||||
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "WRITE " + scriptDst)
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("output_directory_tag", outDirTag)
|
||||
newline = newline.replace("bankFilename", smallBank)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "nel_ligo_export.ms", "-q", "-mi", "-vn" ])
|
||||
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "WRITE " + scriptDst)
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("output_directory_tag", outDirTag)
|
||||
newline = newline.replace("bankFilename", smallBank)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "nel_ligo_export.ms", "-q", "-mi", "-vn" ])
|
||||
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
65
code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py
Normal file
65
code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup pacs_prim
|
||||
# \date 2010-08-31 16:50GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup pacs_prim
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup pacs_prim")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in PacsPrimSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, ClientDataDirectory + "/" + PacsPrimClientDirectory)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
104
code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py
Normal file
104
code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py
Normal file
|
@ -0,0 +1,104 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export pacs_prim
|
||||
# \date 2010-08-31 16:50GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export pacs_prim
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export pacs_prim")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Find tools
|
||||
Max = findMax(log, MaxDirectory, MaxExecutable)
|
||||
printLog(log, "")
|
||||
|
||||
# For each pacs_prim directory
|
||||
printLog(log, ">>> Export pacs_prim 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory)
|
||||
for dir in PacsPrimSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, PacsPrimSourceDirectories, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + PacsPrimExportDirectory, ".pacs_prim")):
|
||||
scriptSrc = "maxscript/pacs_prim_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/pacs_prim_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/pacs_prim/log.log"
|
||||
outDirPacsPrim = ExportBuildDirectory + "/" + PacsPrimExportDirectory
|
||||
pacs_primSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outDirPacsPrim, "", ".pacs_prim")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("pacs_prim_source_directory", pacs_primSourceDir)
|
||||
newline = newline.replace("output_directory", outDirPacsPrim)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "pacs_prim_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirPacsPrim, "", ".pacs_prim")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .pacs_prim files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, ">>> List pacs_prim <<<")
|
||||
outDirPacsPrim = ExportBuildDirectory + "/" + PacsPrimExportDirectory
|
||||
mkPath(log, outDirPacsPrim)
|
||||
listPath = ExportBuildDirectory + "/" + PacsPrimExportDirectory + "/landscape_col_prim_pacs_list.txt"
|
||||
if os.path.isfile(listPath):
|
||||
os.remove(listPath)
|
||||
if WantLandscapeColPrimPacsList:
|
||||
exportedPacsPrims = findFiles(log, outDirPacsPrim, "", ".pacs_prim")
|
||||
printLog(log, "WRITE " + listPath)
|
||||
listFile = open(listPath, "w")
|
||||
for exported in exportedPacsPrims:
|
||||
listFile.write(exported + "\n")
|
||||
listFile.close()
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
49
code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py
Normal file
49
code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build pacs_prim
|
||||
# \date 2010-08-31 16:50GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build pacs_prim
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build pacs_prim")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install pacs_prim
|
||||
# \date 2010-08-31 16:50GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install pacs_prim
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install pacs_prim")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
clientPath = ClientDataDirectory + "/" + PacsPrimClientDirectory
|
||||
mkPath(log, clientPath)
|
||||
|
||||
printLog(log, ">>> Install pacs_prim <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory)
|
||||
copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory, clientPath, ".pacs_prim")
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,161 @@
|
|||
|
||||
-- Allocate 20 Me for the script
|
||||
heapSize += 15000000
|
||||
|
||||
nlErrorFilename = "output_logfile"
|
||||
nlErrorStream = openFile nlErrorFilename mode:"a"
|
||||
if nlErrorStream == undefined then
|
||||
nlErrorStream = createFile nlErrorFilename
|
||||
|
||||
-- Unhide category
|
||||
fn unhidecategory =
|
||||
(
|
||||
if (geometry.count > 0) then
|
||||
(
|
||||
unhide geometry[1]
|
||||
if (geometry[1].ishidden == true) then
|
||||
max hide object toggle
|
||||
)
|
||||
if (shapes.count > 0) then
|
||||
(
|
||||
unhide shapes[1]
|
||||
if (shapes[1].ishidden == true) then
|
||||
max hide shape toggle
|
||||
)
|
||||
if (lights.count > 0) then
|
||||
(
|
||||
unhide lights[1]
|
||||
if (lights[1].ishidden == true) then
|
||||
max hide light toggle
|
||||
)
|
||||
if (cameras.count > 0) then
|
||||
(
|
||||
unhide cameras[1]
|
||||
if (cameras[1].ishidden == true) then
|
||||
max hide camera toggle
|
||||
)
|
||||
if (helpers.count > 0) then
|
||||
(
|
||||
unhide helpers[1]
|
||||
if (helpers[1].ishidden == true) then
|
||||
max hide helper toggle
|
||||
)
|
||||
)
|
||||
|
||||
-- Log a message
|
||||
fn nlerror message =
|
||||
(
|
||||
if nlErrorStream != undefined then
|
||||
(
|
||||
format "%\n" message to:nlErrorStream
|
||||
flush nlErrorStream
|
||||
)
|
||||
|
||||
-- To the console
|
||||
print message
|
||||
)
|
||||
|
||||
try
|
||||
(
|
||||
-- Get files in the "pacs_prim_source_directory" directory
|
||||
files = getFiles "pacs_prim_source_directory/*.max"
|
||||
gc ()
|
||||
|
||||
-- Sort files
|
||||
sort files
|
||||
gc ()
|
||||
|
||||
-- No file ?
|
||||
if files.count != 0 then
|
||||
(
|
||||
-- For each files
|
||||
for i = 1 to files.count do
|
||||
(
|
||||
try
|
||||
(
|
||||
-- Output file
|
||||
output = "output_directory/" + (getFilenameFile files[i]) + ".pacs_prim"
|
||||
|
||||
-- Compare file date
|
||||
if (NeLTestFileDate output files[i]) == true then
|
||||
(
|
||||
-- Free memory and file handles
|
||||
gc ()
|
||||
heapfree
|
||||
|
||||
-- Reset 3dsmax
|
||||
resetMAXFile #noprompt
|
||||
|
||||
-- Open the max project
|
||||
nlerror ("Scanning file "+files[i]+" ...")
|
||||
if (loadMaxFile files[i] quiet:true) == true then
|
||||
(
|
||||
-- Unhide category
|
||||
unhidecategory()
|
||||
|
||||
-- Select none
|
||||
max select none
|
||||
|
||||
-- Select all PACS primitives
|
||||
for i in geometry do
|
||||
(
|
||||
if ((classof i) == nel_pacs_cylinder) or ((classof i) == nel_pacs_box) then
|
||||
selectmore i
|
||||
)
|
||||
|
||||
-- Array of node
|
||||
arrayNode = selection as array
|
||||
|
||||
-- Something to export ?
|
||||
if (arrayNode.count != 0) then
|
||||
(
|
||||
-- Export the collision
|
||||
if (NelExportPACSPrimitives arrayNode output) == false then
|
||||
(
|
||||
nlerror ("ERROR exporting PACS primitives in file "+files[i])
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("OK PACS primitives in file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("WARNING no PACS primitives in file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR exporting collision: can't open the file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("SKIPPED "+files[i])
|
||||
)
|
||||
)
|
||||
catch
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR error exporting collision in files " + files[i])
|
||||
)
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("WARNING no collision file in folder pacs_prim_source_directory")
|
||||
)
|
||||
)
|
||||
catch
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR fatal error exporting collision in folder pacs_prim_source_directory")
|
||||
)
|
||||
|
||||
-- Bye
|
||||
|
||||
resetMAXFile #noprompt
|
||||
quitMAX #noPrompt
|
||||
quitMAX () #noPrompt
|
||||
|
125
code/nel/tools/build_gamedata/processes/properties/0_setup.py
Normal file
125
code/nel/tools/build_gamedata/processes/properties/0_setup.py
Normal file
|
@ -0,0 +1,125 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup properties
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup properties
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup properties")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
|
||||
|
||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||
zlp = open(ActiveProjectDirectory + "/generated/properties.cfg", "w")
|
||||
ps = open(ActiveProjectDirectory + "/properties_base.cfg", "r")
|
||||
for line in ps:
|
||||
try:
|
||||
SmallbankExportDirectory
|
||||
except NameError:
|
||||
SmallbankExportDirectory = "_invalid"
|
||||
try:
|
||||
FarbankBuildDirectory
|
||||
except NameError:
|
||||
FarbankBuildDirectory = "_invalid"
|
||||
try:
|
||||
EcosystemName
|
||||
except NameError:
|
||||
EcosystemName = "_invalid"
|
||||
try:
|
||||
EcosystemPath
|
||||
except NameError:
|
||||
EcosystemPath = "_invalid"
|
||||
try:
|
||||
ContinentName
|
||||
except NameError:
|
||||
ContinentName = "_invalid"
|
||||
try:
|
||||
ContinentPath
|
||||
except NameError:
|
||||
ContinentPath = "_invalid"
|
||||
try:
|
||||
BankTileBankName
|
||||
except NameError:
|
||||
BankTileBankName = "_invalid"
|
||||
try:
|
||||
IgLandBuildDirectory
|
||||
except NameError:
|
||||
IgLandBuildDirectory = "_invalid"
|
||||
try:
|
||||
IgOtherBuildDirectory
|
||||
except NameError:
|
||||
IgOtherBuildDirectory = "_invalid"
|
||||
try:
|
||||
RbankOutputBuildDirectory
|
||||
except NameError:
|
||||
RbankOutputBuildDirectory = "_invalid"
|
||||
try:
|
||||
RbankRbankName
|
||||
except NameError:
|
||||
RbankRbankName = "_invalid"
|
||||
newline = line.replace("%ExportBuildDirectory%", ExportBuildDirectory)
|
||||
newline = newline.replace("%SmallbankExportDirectory%", SmallbankExportDirectory)
|
||||
newline = newline.replace("%FarbankBuildDirectory%", FarbankBuildDirectory)
|
||||
newline = newline.replace("%EcosystemName%", EcosystemName)
|
||||
newline = newline.replace("%EcosystemPath%", EcosystemPath)
|
||||
newline = newline.replace("%ContinentName%", ContinentName)
|
||||
newline = newline.replace("%ContinentPath%", ContinentPath)
|
||||
newline = newline.replace("%CommonName%", CommonName)
|
||||
newline = newline.replace("%CommonPath%", CommonPath)
|
||||
newline = newline.replace("%BankTileBankName%", BankTileBankName)
|
||||
newline = newline.replace("%IgLandBuildDirectory%", IgLandBuildDirectory)
|
||||
newline = newline.replace("%IgOtherBuildDirectory%", IgOtherBuildDirectory)
|
||||
newline = newline.replace("%RbankOutputBuildDirectory%", RbankOutputBuildDirectory)
|
||||
newline = newline.replace("%RbankRbankName%", RbankRbankName)
|
||||
newline = newline.replace("%BuildQuality%", str(BuildQuality))
|
||||
zlp.write(newline)
|
||||
ps.close()
|
||||
if (BuildQuality == 1):
|
||||
ps = open(ActiveProjectDirectory + "/properties_final.cfg", "r")
|
||||
else:
|
||||
ps = open(ActiveProjectDirectory + "/properties_draft.cfg", "r")
|
||||
for line in ps:
|
||||
zlp.write(line)
|
||||
zlp.close()
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export properties
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export properties
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build properties
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build properties
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install properties
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install properties
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
65
code/nel/tools/build_gamedata/processes/ps/0_setup.py
Normal file
65
code/nel/tools/build_gamedata/processes/ps/0_setup.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 0_setup.py
|
||||
# \brief setup ps
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Setup ps
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Setup ps")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in PsSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
|
||||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + PsExportDirectory)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
|
||||
# Setup client directories
|
||||
printLog(log, ">>> Setup client directories <<<")
|
||||
mkPath(log, ClientDataDirectory + "/" + PsClientDirectory)
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
60
code/nel/tools/build_gamedata/processes/ps/1_export.py
Normal file
60
code/nel/tools/build_gamedata/processes/ps/1_export.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 1_export.py
|
||||
# \brief Export ps
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Export ps
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Export ps")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
# For each ps directory
|
||||
printLog(log, ">>> Export ps 3dsmax <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + PsExportDirectory)
|
||||
for dir in PsSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + PsExportDirectory, ".ps")
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + PsExportDirectory, ".shape")
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + PsExportDirectory, ".primitive")
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
49
code/nel/tools/build_gamedata/processes/ps/2_build.py
Normal file
49
code/nel/tools/build_gamedata/processes/ps/2_build.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 2_build.py
|
||||
# \brief Build ps
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Build ps
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Build ps")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
57
code/nel/tools/build_gamedata/processes/ps/3_install.py
Normal file
57
code/nel/tools/build_gamedata/processes/ps/3_install.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file 3_install.py
|
||||
# \brief Install ps
|
||||
# \date 2010-05-24 13:42GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Install ps
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
log = open("log.log", "w")
|
||||
from scripts import *
|
||||
from buildsite import *
|
||||
from process import *
|
||||
from tools import *
|
||||
from directories import *
|
||||
|
||||
printLog(log, "")
|
||||
printLog(log, "-------")
|
||||
printLog(log, "--- Install ps")
|
||||
printLog(log, "-------")
|
||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
printLog(log, ">>> Install ps <<<")
|
||||
srcDir = ExportBuildDirectory + "/" + PsExportDirectory
|
||||
mkPath(log, srcDir)
|
||||
destDir = ClientDataDirectory + "/" + PsClientDirectory
|
||||
mkPath(log, destDir)
|
||||
copyFilesNoTreeIfNeeded(log, srcDir, destDir)
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
# end of file
|
|
@ -53,13 +53,16 @@ for dir in MapSourceDirectories:
|
|||
# Setup export directories
|
||||
printLog(log, ">>> Setup export directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory)
|
||||
if ClodConfigFile != "":
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||
|
||||
# Setup build directories
|
||||
printLog(log, ">>> Setup build directories <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||
sys.path.append("../../configuration")
|
||||
|
||||
if os.path.isfile("log.log"):
|
||||
os.remove("log.log")
|
||||
if os.path.isfile("temp_log.log"):
|
||||
os.remove("temp_log.log")
|
||||
log = open("temp_log.log", "w")
|
||||
|
@ -70,7 +72,7 @@ if MaxAvailable:
|
|||
logFile = ScriptDirectory + "/processes/shape/log.log"
|
||||
outDirTag = ExportBuildDirectory + "/" + ShapeTagExportDirectory
|
||||
mkPath(log, outDirTag)
|
||||
outDirWithoutCoarse = ExportBuildDirectory + "/" + ShapeExportDirectory
|
||||
outDirWithoutCoarse = ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory
|
||||
mkPath(log, outDirWithoutCoarse)
|
||||
outDirWithCoarse = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
||||
mkPath(log, outDirWithCoarse)
|
||||
|
@ -137,10 +139,11 @@ if MaxAvailable:
|
|||
printLog(log, "SKIP " + maxFilePath)
|
||||
|
||||
# Export clod 3dsmax
|
||||
printLog(log, ">>> Export character lod shape files (.clod) from Max <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
# this is historical garbage, just use the clodbank process.. :-)
|
||||
#printLog(log, ">>> Export character lod shape files (.clod) from Max <<<")
|
||||
#printLog(log, "********************************")
|
||||
#printLog(log, "******** TODO ********")
|
||||
#printLog(log, "********************************")
|
||||
|
||||
# cat ../clodbank/maxscript/clod_export.ms
|
||||
#| sed -e "s&shape_source_directory&$database_directory/$i&g"
|
||||
|
|
|
@ -57,21 +57,28 @@ if DoBuildShadowSkin:
|
|||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||
if ClodConfigFile != "":
|
||||
printLog(log, ">>> BuildClodtex <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||
printLog(log, ">>> Build CLodTex <<<")
|
||||
subprocess.call([ BuildClodtex, "-d", DatabaseDirectory + "/" + ClodConfigFile, ExportBuildDirectory + "/" + ClodExportDirectory, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory ])
|
||||
else:
|
||||
printLog(log, ">>> Copy Shape <<<")
|
||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, ".shape")
|
||||
|
||||
# copy lightmap_not_optimized to lightmap
|
||||
printLog(log, ">>> Optimize lightmaps <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||
removeFilesRecursive(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||
copyFiles(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||
subprocess.call([ LightmapOptimizer, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory, ExportBuildDirectory + "/" + ShapeExportDirectory, ExportBuildDirectory + "/" + ShapeTagExportDirectory, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory + "/list_lm_8bit.txt" ])
|
||||
# Optimize lightmaps if any. Additionnaly, output a file indicating which lightmaps are 8 bits
|
||||
subprocess.call([ LightmapOptimizer, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, ExportBuildDirectory + "/" + ShapeTagExportDirectory, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory + "/list_lm_8bit.txt" ])
|
||||
|
||||
# Convert lightmap in 16 bits mode if they are not 8 bits lightmap
|
||||
printLog(log, ">>> Convert lightmaps in 16 or 8 bits <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
||||
|
@ -91,6 +98,7 @@ for lightMapTga in lightMapTgas:
|
|||
else:
|
||||
subprocess.call([ TgaToDds, srcTga, "-o", dstTga, "-a", "tga16" ])
|
||||
|
||||
# Corse meshes for this process ?
|
||||
if len(CoarseMeshTextureNames) > 0:
|
||||
printLog(log, ">>> Build coarse meshes <<<")
|
||||
shapeWithCoarseMesh = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
||||
|
@ -127,6 +135,7 @@ if len(CoarseMeshTextureNames) > 0:
|
|||
cf.close()
|
||||
subprocess.call([ BuildCoarseMesh, "config_generated.cfg" ])
|
||||
os.remove("config_generated.cfg")
|
||||
# Convert the coarse texture to dds
|
||||
for tn in CoarseMeshTextureNames:
|
||||
subprocess.call([ TgaToDds, shapeWithCoarseMesh + "/" + tn + ".tga", "-o", shapeWithCoarseMeshBuilded + "/" + tn + ".dds", "-a", "5" ])
|
||||
else:
|
||||
|
|
|
@ -46,8 +46,8 @@ printLog(log, "")
|
|||
printLog(log, ">>> Install shape <<<")
|
||||
clientPath = ClientDataDirectory + "/" + ShapeClientDirectory
|
||||
mkPath(log, clientPath)
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeExportDirectory, clientPath, ".shape")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, clientPath, ".shape")
|
||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".shape")
|
||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".dds")
|
||||
|
|
|
@ -49,14 +49,46 @@ printLog(log, "")
|
|||
|
||||
# For each skel directory
|
||||
printLog(log, ">>> Export skel 3dsmax <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||
for dir in SkelSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
printLog(log, "")
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, SkelSourceDirectories, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + SkelExportDirectory, ".skel")):
|
||||
scriptSrc = "maxscript/skel_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/skel_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/skel/log.log"
|
||||
outDirSkel = ExportBuildDirectory + "/" + SkelExportDirectory
|
||||
skelSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outDirSkel, "", ".skel")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("skel_source_directory", skelSourceDir)
|
||||
newline = newline.replace("output_directory", outDirSkel)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "skel_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirSkel, "", ".skel")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .skel files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, ">>> Export skel directly <<<")
|
||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||
for dir in SkelSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + SkelExportDirectory, ".skel")
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,162 @@
|
|||
-- Allocate 20 Me for the script
|
||||
heapSize += 15000000
|
||||
|
||||
nlErrorFilename = "output_logfile"
|
||||
nlErrorStream = openFile nlErrorFilename mode:"a"
|
||||
if nlErrorStream == undefined then
|
||||
nlErrorStream = createFile nlErrorFilename
|
||||
|
||||
-- Log a message
|
||||
fn nlerror message =
|
||||
(
|
||||
if nlErrorStream != undefined then
|
||||
(
|
||||
format "%\n" message to:nlErrorStream
|
||||
flush nlErrorStream
|
||||
)
|
||||
|
||||
-- To the console
|
||||
print message
|
||||
)
|
||||
|
||||
-- Unhide category
|
||||
fn unhidecategory =
|
||||
(
|
||||
if (geometry.count > 0) then
|
||||
(
|
||||
unhide geometry[1]
|
||||
if (geometry[1].ishidden == true) then
|
||||
max hide object toggle
|
||||
)
|
||||
if (shapes.count > 0) then
|
||||
(
|
||||
unhide shapes[1]
|
||||
if (shapes[1].ishidden == true) then
|
||||
max hide shape toggle
|
||||
)
|
||||
if (lights.count > 0) then
|
||||
(
|
||||
unhide lights[1]
|
||||
if (lights[1].ishidden == true) then
|
||||
max hide light toggle
|
||||
)
|
||||
if (cameras.count > 0) then
|
||||
(
|
||||
unhide cameras[1]
|
||||
if (cameras[1].ishidden == true) then
|
||||
max hide camera toggle
|
||||
)
|
||||
if (helpers.count > 0) then
|
||||
(
|
||||
unhide helpers[1]
|
||||
if (helpers[1].ishidden == true) then
|
||||
max hide helper toggle
|
||||
)
|
||||
)
|
||||
|
||||
try
|
||||
(
|
||||
-- Get files in the skel_source_directory
|
||||
files = getFiles "skel_source_directory/*.max"
|
||||
|
||||
-- Sort files
|
||||
sort files
|
||||
|
||||
-- No file ?
|
||||
if files.count != 0 then
|
||||
(
|
||||
-- For each files
|
||||
for i = 1 to files.count do
|
||||
(
|
||||
try
|
||||
(
|
||||
-- Output file
|
||||
output = ("output_directory/"+(getFilenameFile files[i])+".skel")
|
||||
|
||||
-- Compare file date
|
||||
if (NeLTestFileDate output files[i]) == true then
|
||||
(
|
||||
-- Free memory and file handles
|
||||
gc ()
|
||||
|
||||
-- Reset 3dsmax
|
||||
resetMAXFile #noprompt
|
||||
|
||||
-- Open the max project
|
||||
nlerror ("Scanning file "+files[i]+" ...")
|
||||
if (loadMaxFile files[i] quiet:true) == true then
|
||||
(
|
||||
-- Unhide category
|
||||
unhidecategory()
|
||||
|
||||
-- Select Bip01, not very smart
|
||||
if $Bip01 != undefined then
|
||||
(
|
||||
-- Select Bip01
|
||||
select $Bip01
|
||||
|
||||
if ($ != undefined) then
|
||||
(
|
||||
-- Set figure mode on
|
||||
if ((classof $) == Biped_Object) then
|
||||
(
|
||||
$.controller.figureMode = true
|
||||
)
|
||||
|
||||
-- Export the skeleton template
|
||||
if (NelExportSkeleton $ output) == false then
|
||||
(
|
||||
nlerror ("ERROR exporting skeleton "+files[i])
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("OK "+output)
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR exporting skeleton: no Bip01 node in file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR exporting skeleton: no Bip01 node in file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR exporting skeleton: can't open the file "+files[i])
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("SKIPPED "+files[i])
|
||||
)
|
||||
)
|
||||
catch
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR error exporting skeleton in files " + files[i])
|
||||
)
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
nlerror ("WARNING no skeleton file in folder skel_source_directory")
|
||||
)
|
||||
)
|
||||
catch
|
||||
(
|
||||
-- Error
|
||||
nlerror ("ERROR fatal error exporting skeleton in folder skel_source_directory")
|
||||
)
|
||||
|
||||
-- Bye
|
||||
|
||||
resetMAXFile #noprompt
|
||||
quitMAX #noPrompt
|
||||
quitMAX () #noPrompt
|
||||
|
|
@ -49,14 +49,40 @@ printLog(log, "")
|
|||
|
||||
# For each swt directory
|
||||
printLog(log, ">>> Export skeleton weigths 3dsmax <<<")
|
||||
printLog(log, "********************************")
|
||||
printLog(log, "******** TODO ********")
|
||||
printLog(log, "********************************")
|
||||
mkPath(log, ExportBuildDirectory + "/" + SwtExportDirectory)
|
||||
for dir in SwtSourceDirectories:
|
||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||
printLog(log, "")
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, SwtSourceDirectories, DatabaseDirectory + "/" + dir, ".max", ExportBuildDirectory + "/" + SwtExportDirectory, ".swt")):
|
||||
scriptSrc = "maxscript/swt_export.ms"
|
||||
scriptDst = MaxUserDirectory + "/scripts/swt_export.ms"
|
||||
logFile = ScriptDirectory + "/processes/swt/log.log"
|
||||
outDirSwt = ExportBuildDirectory + "/" + SwtExportDirectory
|
||||
swtSourceDir = DatabaseDirectory + "/" + dir
|
||||
tagList = findFiles(log, outDirSwt, "", ".swt")
|
||||
tagLen = len(tagList)
|
||||
if os.path.isfile(scriptDst):
|
||||
os.remove(scriptDst)
|
||||
tagDiff = 1
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("swt_source_directory", swtSourceDir)
|
||||
newline = newline.replace("output_directory", outDirSwt)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
while tagDiff > 0:
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "swt_export.ms", "-q", "-mi", "-vn" ])
|
||||
tagList = findFiles(log, outDirSwt, "", ".swt")
|
||||
newTagLen = len(tagList)
|
||||
tagDiff = newTagLen - tagLen
|
||||
tagLen = newTagLen
|
||||
printLog(log, "Exported " + str(tagDiff) + " .swt files!")
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "")
|
||||
log.close()
|
||||
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ try
|
|||
|
||||
-- Open the max project
|
||||
nlerror ("Scanning file "+files[i]+" ...")
|
||||
if loadMaxFile files[i] == true then
|
||||
if (loadMaxFile files[i] quiet:true) == true then
|
||||
(
|
||||
-- Unhide category
|
||||
unhidecategory()
|
||||
|
|
|
@ -69,19 +69,20 @@ if MaxAvailable:
|
|||
for dir in VegetSourceDirectories:
|
||||
vegetSourceDir = DatabaseDirectory + "/" + dir
|
||||
mkPath(log, vegetSourceDir)
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("veget_source_directory", vegetSourceDir)
|
||||
newline = newline.replace("output_directory_veget", outputDirVeget)
|
||||
newline = newline.replace("output_directory_tag", outputDirTag)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "veget_export.ms", "-q", "-mi", "-vn" ])
|
||||
os.remove(scriptDst)
|
||||
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, VegetSourceDirectories, vegetSourceDir, ".max", outputDirTag, ".max.tag")):
|
||||
sSrc = open(scriptSrc, "r")
|
||||
sDst = open(scriptDst, "w")
|
||||
for line in sSrc:
|
||||
newline = line.replace("output_logfile", logFile)
|
||||
newline = newline.replace("veget_source_directory", vegetSourceDir)
|
||||
newline = newline.replace("output_directory_veget", outputDirVeget)
|
||||
newline = newline.replace("output_directory_tag", outputDirTag)
|
||||
sDst.write(newline)
|
||||
sSrc.close()
|
||||
sDst.close()
|
||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||
subprocess.call([ Max, "-U", "MAXScript", "veget_export.ms", "-q", "-mi", "-vn" ])
|
||||
os.remove(scriptDst)
|
||||
|
||||
printLog(log, "")
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ if BuildQuality == 1:
|
|||
mkPath(log, ExportBuildDirectory + "/" + ZoneDependBuildDirectory)
|
||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||
configFile = ActiveProjectDirectory + "/generated/zone_dependencies.cfg"
|
||||
templateCf = open(ActiveProjectDirectory + "/generated/zone_lighter.cfg", "r")
|
||||
templateCf = open(ActiveProjectDirectory + "/generated/properties.cfg", "r")
|
||||
cf = open(configFile, "w")
|
||||
for line in templateCf:
|
||||
cf.write(line)
|
||||
|
|
|
@ -43,32 +43,6 @@ printLog(log, "-------")
|
|||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||
printLog(log, "")
|
||||
|
||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||
zlp = open(ActiveProjectDirectory + "/generated/zone_lighter.cfg", "w")
|
||||
ps = open(ActiveProjectDirectory + "/zone_lighter_base.cfg", "r")
|
||||
for line in ps:
|
||||
newline = line.replace("%ExportBuildDirectory%", ExportBuildDirectory)
|
||||
newline = newline.replace("%SmallbankExportDirectory%", SmallbankExportDirectory)
|
||||
newline = newline.replace("%FarbankBuildDirectory%", FarbankBuildDirectory)
|
||||
newline = newline.replace("%EcosystemName%", EcosystemName)
|
||||
newline = newline.replace("%EcosystemPath%", EcosystemPath)
|
||||
newline = newline.replace("%BankTileBankName%", BankTileBankName)
|
||||
newline = newline.replace("%IgLandBuildDirectory%", IgLandBuildDirectory)
|
||||
newline = newline.replace("%IgOtherBuildDirectory%", IgOtherBuildDirectory)
|
||||
newline = newline.replace("%RbankOutputBuildDirectory%", RbankOutputBuildDirectory)
|
||||
newline = newline.replace("%RbankRbankName%", RbankRbankName)
|
||||
newline = newline.replace("%BuildQuality%", str(BuildQuality))
|
||||
zlp.write(newline)
|
||||
ps.close()
|
||||
if (BuildQuality == 1):
|
||||
ps = open(ActiveProjectDirectory + "/zone_lighter_final.cfg", "r")
|
||||
else:
|
||||
ps = open(ActiveProjectDirectory + "/zone_lighter_draft.cfg", "r")
|
||||
for line in ps:
|
||||
zlp.write(line)
|
||||
zlp.close()
|
||||
printLog(log, "")
|
||||
|
||||
# Setup source directories
|
||||
printLog(log, ">>> Setup source directories <<<")
|
||||
for dir in WaterMapSourceDirectories:
|
||||
|
|
|
@ -68,7 +68,7 @@ else:
|
|||
destFile = destDir + "/" + file[0:-len(".zonew")] + ".zonel"
|
||||
if (needUpdateLogRemoveDest(log, srcFile, destFile)):
|
||||
dependFile = destDir + "/" + file[0:-len(".zonew")] + ".depend"
|
||||
subprocess.call([ ExecTimeout, str(ZoneLightBuildTimeout), ZoneLighter, srcFile, destFile, ActiveProjectDirectory + "/generated/zone_lighter.cfg", dependFile ])
|
||||
subprocess.call([ ExecTimeout, str(ZoneLightBuildTimeout), ZoneLighter, srcFile, destFile, ActiveProjectDirectory + "/generated/properties.cfg", dependFile ])
|
||||
printLog(log, "")
|
||||
|
||||
# For each zone_light ig
|
||||
|
@ -94,7 +94,7 @@ else:
|
|||
if (needUpdateLogRemoveDest(log, igsrcFile, destFile)):
|
||||
srcFile = srcDir + "/" + file
|
||||
dependFile = destDir + "/" + file[0:-len(".zonel")] + ".depend"
|
||||
subprocess.call([ ExecTimeout, str(ZoneIgLightBuildTimeout), ZoneIgLighter, srcFile, destFile, ActiveProjectDirectory + "/generated/zone_lighter.cfg", dependFile ])
|
||||
subprocess.call([ ExecTimeout, str(ZoneIgLightBuildTimeout), ZoneIgLighter, srcFile, destFile, ActiveProjectDirectory + "/generated/properties.cfg", dependFile ])
|
||||
printLog(log, "")
|
||||
|
||||
log.close()
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date 2010-08-27 17:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "construction"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD ***
|
||||
ContinentLeveldesignWorldDirectory = "" # DISABLED
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ "stuff/Generique/Decors/Constructions" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ "stuff/Generique/Decors/_Textures/Batiments" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo"
|
||||
|
||||
# Ig directories
|
||||
IgLandSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories += [ "stuff/Generique/Decors/Constructions" ]
|
||||
IgPrimitiveSourceDirectories = [ ]
|
||||
|
||||
# Tiles root directory
|
||||
TileRootSourceDirectory = "landscape/_texture_tiles"
|
||||
|
||||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/displace"
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Ig directories
|
||||
IgStaticLandExportDirectory = CommonPath + "/ig_static_land" # Landscape IG eported from 3dsmax not elevated by the heightmap
|
||||
IgStaticOtherExportDirectory = CommonPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||
IgStaticTagExportDirectory = CommonPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
||||
|
||||
# Zone directories
|
||||
ZoneWeldBuildDirectory = CommonPath + "/zone_weld"
|
||||
ZoneDependBuildDirectory = CommonPath + "/zone_depend"
|
||||
ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme
|
||||
ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme
|
||||
ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme
|
||||
ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Ig directories
|
||||
IgElevLandPrimBuildDirectory = CommonPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
|
||||
IgElevLandLigoBuildDirectory = CommonPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap
|
||||
IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
|
||||
IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge"
|
||||
IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
||||
IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs
|
||||
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = CommonPath + "/farbank"
|
||||
|
||||
# Ligo directories
|
||||
LigoZoneBuildDirectory = CommonPath + "/ligo_zones"
|
||||
LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
||||
LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = CommonName
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeClientDirectory = CommonName
|
||||
|
||||
# Lightmap directory
|
||||
LightmapClientDirectory = CommonName
|
||||
|
||||
# Animation directory
|
||||
AnimClientDirectory = CommonName
|
||||
|
||||
# Ig directory
|
||||
IgClientDirectory = CommonName
|
|
@ -0,0 +1,110 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date 2010-08-27 17:02GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "properties" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "ig" ]
|
||||
ProcessToComplete += [ "ig_light" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "construction"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "true"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "true"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = 0
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "0.25"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = 1
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "true"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "1.5"
|
||||
|
||||
DoBuildShadowSkin = 0
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
MultipleTilesPostfix += [ "_sp" ]
|
||||
MultipleTilesPostfix += [ "_su" ]
|
||||
MultipleTilesPostfix += [ "_au" ]
|
||||
MultipleTilesPostfix += [ "_wi" ]
|
||||
|
||||
# Name of the tilebank to use
|
||||
BankTileBankName = ""
|
||||
|
||||
# *** LANDSCAPE NAME ***
|
||||
LandscapeName = ContinentName
|
||||
|
||||
# *** LIGO OPTIONS ***
|
||||
LigoExportLand = ""
|
||||
LigoExportOnePass = 0
|
||||
LigoExportColormap = "colormap_invalid.png"
|
||||
LigoExportHeightmap1 = "big_invalid.png"
|
||||
LigoExportZFactor1 = "1.0"
|
||||
LigoExportHeightmap2 = "noise_invalid.png"
|
||||
LigoExportZFactor2 = "0.5"
|
||||
LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank"
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
||||
# *** ANIMATIONS OPTIONS ***
|
||||
|
||||
DoOptimizeAnimations = 0
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
// Bank file name
|
||||
bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank";
|
||||
bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank";
|
||||
|
||||
// Search pathes
|
||||
search_pathes =
|
||||
{
|
||||
"%ExportBuildDirectory%/common/sfx/ps", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/map", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/construction/shape", // Construction directory
|
||||
"%ExportBuildDirectory%/common/construction/shape_with_coarse_mesh", // Construction directory
|
||||
"%ExportBuildDirectory%/common/construction/map", // Construction directory
|
||||
};
|
||||
|
||||
// Additional ig file name
|
||||
additionnal_ig =
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
// Sun direction.
|
||||
//sun_direction = { -0.095, +1.0, -0.50 };
|
||||
sun_direction = { -0.776685, +0.216619, -0.59147 };
|
||||
|
||||
// Center of the landscape pointed by the sun
|
||||
sun_center = {9954, -11017, 0};
|
||||
|
||||
// Distance of the sun
|
||||
sun_distance = 50000;
|
||||
|
||||
// FOV of the sun in radian
|
||||
sun_fov = 0.52359877; // Pi / 6
|
||||
|
||||
// Sun radius, (for softshadow sampling)
|
||||
sun_radius = 5000;
|
||||
|
||||
// GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting
|
||||
grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr";
|
||||
|
||||
// LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting
|
||||
rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank";
|
||||
|
||||
// The lighter search in rbank any retriever with identifier ---igname*** as substring
|
||||
// where --- is col_identifier_prefix and *** is col_identifier_suffix
|
||||
// eg: if igname= "street", col_identifier_prefix= "col_", col_identifier_suffix= "_",
|
||||
// then "col_street_1" and "col_street_2" are valid and are used to build LightSurface infos in the Ig.
|
||||
col_identifier_prefix= "";
|
||||
col_identifier_suffix= "";
|
|
@ -6,7 +6,7 @@ load_ig = 1;
|
|||
compute_dependencies_with_igs = 1;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 0; // FIXME: should be 1, but missing .depend files
|
||||
shadow = 1;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
// ***************************
|
||||
// Animation Optimizer
|
||||
// ***************************
|
||||
|
||||
// Tracks which contain one of those name (eg "Bip01 Finger11.rotquat") will be mark as "Low Precision".
|
||||
// Usefull for memory optimisation. Avoid setting legs or root bones. Warning: case sensitive.
|
||||
anim_low_precision_tracks=
|
||||
{
|
||||
"Finger",
|
||||
"Ponytail",
|
||||
};
|
||||
|
||||
// The Sample Rate.
|
||||
anim_sample_rate= 30;
|
|
@ -0,0 +1,277 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date 2010-08-27 17:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "fauna"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Skeleton directories
|
||||
SkelSourceDirectories = [ ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique_monture/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/chien/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/familier/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiforet/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiguard/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kitin_volant/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/carnitree/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/electroalg/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/endrobouchea/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/phytopsy/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/sapenslaver/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/swarmplant/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_2/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_3/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_4/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_2/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_3/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_4/animations/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/cute/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/frahar/animation/skeletons" ]
|
||||
SkelSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/gibbai/animation/skeletons" ]
|
||||
|
||||
# Skeleton template weight directories
|
||||
SwtSourceDirectories = [ ]
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique/clapclap" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique/ryzetacee" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique_monture/sagass_selle" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/mektoub" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/mektoubselle" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/mektoubpack" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/chorani" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/jungler" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/regus" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/varinx" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/capryni" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/filin" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/cococlaw" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/estrasson" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/hachtaha" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/diranak" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/familier/dag" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/ryzerb" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/ryzoholok" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiforet" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiguard" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_2" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_3" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_4" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_2" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_3" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_4" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitihank" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitinagan" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitinarak" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitinega" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitinokto" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitimandib" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/pucetron" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin_volant/kitifly" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin_volant/kitikil" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/kazoar" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/lightbird" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/yber" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/arma" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/bul" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/vampignon" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/kakty" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/ryzoholo" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/zerx" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/carnitree" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/electroalg" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/endrobouchea" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/phytopsy" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/sapenslaver" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/swarmplant" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/cute" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/frahar" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/gibbai" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/aquatique" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/chiens" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/coureur" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/crustaces" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/grand_ryzomien" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/kitin" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/kitin_volant" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/oiseau" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/pachyderme/vampignon" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/ryzomien/kakty" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/ryzomien/ryzoholo" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/c03" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/h05" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/h12" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/c02" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/chien/c07" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/h01" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/h04" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/c05" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/c06" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/h07" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/h11" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/c01" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/h08" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/h10" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/c04" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/h02" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/h06" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/h09" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/familier/h03" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/ryzomien/c04" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/familier/h03" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/homins_degeneres/cute" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/homins_degeneres/frahar" ]
|
||||
ShapeSourceDirectories += [ "stuff/goo/agents/monsters/homins_degeneres/gibbai" ]
|
||||
ShapeSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/kitin_queen" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ "stuff/fyros/agents/_textures/monster" ]
|
||||
MapSourceDirectories += [ "stuff/tryker/agents/_textures/monster" ]
|
||||
MapSourceDirectories += [ "stuff/jungle/agents/_textures/monster" ]
|
||||
MapSourceDirectories += [ "stuff/primes_racines/agents/_textures/monster" ]
|
||||
MapSourceDirectories += [ "stuff/goo/agents/_textures/monster" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Animation directories
|
||||
AnimSourceDirectories = [ ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/aquatique_monture/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/cheval/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/chien/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/coureur/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/crustace/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/familier/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/grand_ryzomien/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiforet/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kamiguard/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kitin/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kitin_volant/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/oiseau/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/pachyderme/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/ryzomien/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/carnitree/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/electroalg/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/endrobouchea/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/phytopsy/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/sapenslaver/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/plante_carnivore/swarmplant/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_2/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_3/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_guide_4/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_2/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_3/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/kami/kami_preacher_4/animations/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/cute/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/frahar/animation/anims" ]
|
||||
AnimSourceDirectories += [ "stuff/tryker/agents/monsters/homins_degeneres/gibbai/animation/anims" ]
|
||||
|
||||
# cLoD shape directories
|
||||
ClodSourceDirectories = [ ]
|
||||
ClodSourceDirectories += [ "stuff/lod_actors/lod_fauna" ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Skeleton directories
|
||||
SkelExportDirectory = CommonPath + "/skel"
|
||||
|
||||
# Skeleton template weight directories
|
||||
SwtExportDirectory = CommonPath + "/swt"
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Animation directories
|
||||
AnimExportDirectory = CommonPath + "/anim_export"
|
||||
|
||||
# cLoD directories
|
||||
ClodExportDirectory = CommonPath + "/clod_export"
|
||||
ClodTagExportDirectory = CommonPath + "/clod_tag_export"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Animation directories
|
||||
AnimBuildDirectory = CommonPath + "/anim"
|
||||
|
||||
# cLoD directories
|
||||
ClodBankBuildDirectory = CommonPath + "/clod_bank"
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = CommonName + "_maps"
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeClientDirectory = CommonName + "_shapes"
|
||||
LightmapClientDirectory = ShapeClientDirectory
|
||||
|
||||
# Animation directory
|
||||
AnimClientDirectory = CommonName + "_animations"
|
||||
|
||||
# Skeleton directory
|
||||
SkelClientDirectory = CommonName + "_skeletons"
|
||||
|
||||
# Skeleton directory
|
||||
SwtClientDirectory = CommonName + "_swt"
|
|
@ -0,0 +1,109 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date 2010-08-27 17:02GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "skel" ]
|
||||
ProcessToComplete += [ "swt" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "anim" ]
|
||||
ProcessToComplete += [ "clodbank" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "fauna"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "true"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "true"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = 0
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "0.25"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = 1
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "true"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "1.5"
|
||||
|
||||
DoBuildShadowSkin = 0
|
||||
|
||||
|
||||
# *** CLODBANK OPTIONS ***
|
||||
|
||||
ClodConfigFile = "stuff/lod_actors/lod_" + CommonName + "/clod_" + CommonName + "_script.cfg"
|
||||
ClodBankFileName = CommonName + ".clodbank"
|
||||
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
MultipleTilesPostfix += [ "_sp" ]
|
||||
MultipleTilesPostfix += [ "_su" ]
|
||||
MultipleTilesPostfix += [ "_au" ]
|
||||
MultipleTilesPostfix += [ "_wi" ]
|
||||
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
||||
|
||||
# *** SHADOW SKIN OPTIONS ***
|
||||
# Fauna are made of a single skin. Allow only 1000 faces for each monster (whatever the original nb faces)
|
||||
BuildShadowSkin = 1
|
||||
BuildShadowSkinRatio = 100
|
||||
BuildShadowSkinMaxface = 1000
|
||||
|
||||
|
||||
# *** ANIMATIONS OPTIONS ***
|
||||
|
||||
DoOptimizeAnimations = 1
|
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date 2010-08-27 17:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "fonts"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Font directories
|
||||
FontSourceDirectories = [ ]
|
||||
FontSourceDirectories += [ "fonts" ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Font directories
|
||||
FontExportDirectory = CommonPath + "/font"
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Font directory
|
||||
FontClientDirectory = CommonName
|
||||
|
||||
|
||||
# end of file
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date 2010-08-27 17:02GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "font" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "fonts"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# end of file
|
|
@ -26,9 +26,15 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** COMMON PATH ***
|
||||
|
||||
CommonPath = "common/interface"
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "interface"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
|
|
|
@ -30,6 +30,16 @@
|
|||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "interface" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "interface"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
|
|
@ -60,7 +60,7 @@ MapUncompressedSourceDirectories = [ ]
|
|||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeExportDirectory = CommonPath + "/shape"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
@ -73,6 +73,7 @@ MapBuildDirectory = CommonPath + "/map"
|
|||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date 2010-08-27 17:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "outgame"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD ***
|
||||
ContinentLeveldesignWorldDirectory = "" # DISABLED
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ "stuff/outgame/appart_crea" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ "stuff/outgame/_textures" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo"
|
||||
|
||||
# Ig directories
|
||||
IgLandSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories += [ "stuff/outgame/appart_crea" ]
|
||||
IgPrimitiveSourceDirectories = [ ]
|
||||
|
||||
# Tiles root directory
|
||||
TileRootSourceDirectory = "landscape/_texture_tiles"
|
||||
|
||||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/displace"
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Ig directories
|
||||
IgStaticLandExportDirectory = CommonPath + "/ig_static_land" # Landscape IG eported from 3dsmax not elevated by the heightmap
|
||||
IgStaticOtherExportDirectory = CommonPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||
IgStaticTagExportDirectory = CommonPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
||||
|
||||
# Zone directories
|
||||
ZoneWeldBuildDirectory = CommonPath + "/zone_weld"
|
||||
ZoneDependBuildDirectory = CommonPath + "/zone_depend"
|
||||
ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme
|
||||
ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme
|
||||
ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme
|
||||
ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Ig directories
|
||||
IgElevLandPrimBuildDirectory = CommonPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
|
||||
IgElevLandLigoBuildDirectory = CommonPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap
|
||||
IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
|
||||
IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge"
|
||||
IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
||||
IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs
|
||||
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = CommonPath + "/farbank"
|
||||
|
||||
# Ligo directories
|
||||
LigoZoneBuildDirectory = CommonPath + "/ligo_zones"
|
||||
LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
||||
LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = CommonName
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeClientDirectory = CommonName
|
||||
|
||||
# Lightmap directory
|
||||
LightmapClientDirectory = CommonName
|
||||
|
||||
# Animation directory
|
||||
AnimClientDirectory = CommonName
|
||||
|
||||
# Ig directory
|
||||
IgClientDirectory = CommonName
|
|
@ -0,0 +1,110 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date 2010-08-27 17:02GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "properties" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "ig" ]
|
||||
ProcessToComplete += [ "ig_light" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "outgame"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "true"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "true"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = 0
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "0.25"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = 1
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "true"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "1.5"
|
||||
|
||||
DoBuildShadowSkin = 0
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
MultipleTilesPostfix += [ "_sp" ]
|
||||
MultipleTilesPostfix += [ "_su" ]
|
||||
MultipleTilesPostfix += [ "_au" ]
|
||||
MultipleTilesPostfix += [ "_wi" ]
|
||||
|
||||
# Name of the tilebank to use
|
||||
BankTileBankName = ""
|
||||
|
||||
# *** LANDSCAPE NAME ***
|
||||
LandscapeName = ContinentName
|
||||
|
||||
# *** LIGO OPTIONS ***
|
||||
LigoExportLand = ""
|
||||
LigoExportOnePass = 0
|
||||
LigoExportColormap = "colormap_invalid.png"
|
||||
LigoExportHeightmap1 = "big_invalid.png"
|
||||
LigoExportZFactor1 = "1.0"
|
||||
LigoExportHeightmap2 = "noise_invalid.png"
|
||||
LigoExportZFactor2 = "0.5"
|
||||
LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank"
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
||||
# *** ANIMATIONS OPTIONS ***
|
||||
|
||||
DoOptimizeAnimations = 0
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
// Bank file name
|
||||
bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank";
|
||||
bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank";
|
||||
|
||||
// Search pathes
|
||||
search_pathes =
|
||||
{
|
||||
"%ExportBuildDirectory%/common/sfx/ps", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/map", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/outgame/shape", // Outgame directory
|
||||
"%ExportBuildDirectory%/common/outgame/shape_with_coarse_mesh", // Outgame directory
|
||||
"%ExportBuildDirectory%/common/outgame/map", // Outgame directory
|
||||
};
|
||||
|
||||
// Additional ig file name
|
||||
additionnal_ig =
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
// Sun direction.
|
||||
//sun_direction = { -0.095, +1.0, -0.50 };
|
||||
sun_direction = { -0.776685, +0.216619, -0.59147 };
|
||||
|
||||
// Center of the landscape pointed by the sun
|
||||
sun_center = {9954, -11017, 0};
|
||||
|
||||
// Distance of the sun
|
||||
sun_distance = 50000;
|
||||
|
||||
// FOV of the sun in radian
|
||||
sun_fov = 0.52359877; // Pi / 6
|
||||
|
||||
// Sun radius, (for softshadow sampling)
|
||||
sun_radius = 5000;
|
||||
|
||||
// GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting
|
||||
grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr";
|
||||
|
||||
// LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting
|
||||
rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank";
|
||||
|
||||
// The lighter search in rbank any retriever with identifier ---igname*** as substring
|
||||
// where --- is col_identifier_prefix and *** is col_identifier_suffix
|
||||
// eg: if igname= "street", col_identifier_prefix= "col_", col_identifier_suffix= "_",
|
||||
// then "col_street_1" and "col_street_2" are valid and are used to build LightSurface infos in the Ig.
|
||||
col_identifier_prefix= "";
|
||||
col_identifier_suffix= "";
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 0;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 0;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 0;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 0;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 512;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 1;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 1;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 1;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 1;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 1;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 64;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 2;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file directories.py
|
||||
# \brief Directories configuration
|
||||
# \date 2010-08-27 17:13GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# \date 2001-2005
|
||||
# \author Nevrax
|
||||
# Python port of game data build pipeline.
|
||||
# Directories configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "sfx"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# PS directories
|
||||
PsSourceDirectories = [ ]
|
||||
PsSourceDirectories += [ "sfx/buildings" ]
|
||||
PsSourceDirectories += [ "sfx/environment" ]
|
||||
PsSourceDirectories += [ "sfx/fighting" ]
|
||||
PsSourceDirectories += [ "sfx/magic" ]
|
||||
PsSourceDirectories += [ "sfx/moving" ]
|
||||
PsSourceDirectories += [ "sfx/teaser" ]
|
||||
PsSourceDirectories += [ "sfx/forage" ]
|
||||
PsSourceDirectories += [ "sfx/monsters" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ "sfx/maps" ]
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ "sfx/meshtoparticle" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# PS directories
|
||||
PsExportDirectory = CommonPath + "/ps"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Particule system directory
|
||||
PsClientDirectory = "sfx"
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = "sfx"
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeClientDirectory = "sfx"
|
||||
|
||||
# Lightmap directory
|
||||
LightmapClientDirectory = "sfx"
|
|
@ -0,0 +1,87 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# \file config.py
|
||||
# \brief Process configuration
|
||||
# \date 2010-08-27 17:02GMT
|
||||
# \author Jan Boon (Kaetemi)
|
||||
# Python port of game data build pipeline.
|
||||
# Process configuration.
|
||||
#
|
||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
# Copyright (C) 2010 Winch Gate Property Limited
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program 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 Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "ps" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "sfx"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "true"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "true"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = 0
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "0.25"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = 1
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "true"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "1.5"
|
||||
|
||||
DoBuildShadowSkin = 0
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
MultipleTilesPostfix += [ "_sp" ]
|
||||
MultipleTilesPostfix += [ "_su" ]
|
||||
MultipleTilesPostfix += [ "_au" ]
|
||||
MultipleTilesPostfix += [ "_wi" ]
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
// ***************************
|
||||
// Animation Optimizer
|
||||
// ***************************
|
||||
|
||||
// Tracks which contain one of those name (eg "Bip01 Finger11.rotquat") will be mark as "Low Precision".
|
||||
// Usefull for memory optimisation. Avoid setting legs or root bones. Warning: case sensitive.
|
||||
anim_low_precision_tracks=
|
||||
{
|
||||
"Finger",
|
||||
"Ponytail",
|
||||
};
|
||||
|
||||
// The Sample Rate.
|
||||
anim_sample_rate= 30;
|
|
@ -27,10 +27,17 @@
|
|||
#
|
||||
|
||||
|
||||
# *** COMMON PATH ***
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "sky"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
CommonName = "sky"
|
||||
CommonPath = "common/" + CommonName
|
||||
|
||||
# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD ***
|
||||
ContinentLeveldesignWorldDirectory = "" # DISABLED
|
||||
|
||||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
@ -54,12 +61,21 @@ MapUncompressedSourceDirectories += [ "sky_v2/textures/setup/jungle" ]
|
|||
MapUncompressedSourceDirectories += [ "sky_v2/textures/setup/lacustre" ]
|
||||
MapUncompressedSourceDirectories += [ "sky_v2/textures/textures/nodds" ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo"
|
||||
|
||||
# Ig directories
|
||||
IgLandSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories = [ ]
|
||||
IgOtherSourceDirectories += [ "sky_v2/max" ]
|
||||
IgPrimitiveSourceDirectories = [ ]
|
||||
|
||||
# Tiles root directory
|
||||
TileRootSourceDirectory = "landscape/_texture_tiles"
|
||||
|
||||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/displace"
|
||||
|
||||
# Animation directories
|
||||
AnimSourceDirectories = [ ]
|
||||
AnimSourceDirectories += [ "sky_v2/max" ]
|
||||
|
@ -69,7 +85,7 @@ AnimSourceDirectories += [ "sky_v2/max" ]
|
|||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeExportDirectory = CommonPath + "/shape"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
@ -79,6 +95,17 @@ IgStaticLandExportDirectory = CommonPath + "/ig_static_land" # Landscape IG epor
|
|||
IgStaticOtherExportDirectory = CommonPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||
IgStaticTagExportDirectory = CommonPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
||||
|
||||
# Zone directories
|
||||
ZoneWeldBuildDirectory = CommonPath + "/zone_weld"
|
||||
ZoneDependBuildDirectory = CommonPath + "/zone_depend"
|
||||
ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme
|
||||
ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme
|
||||
ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme
|
||||
ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme
|
||||
|
||||
# Animation directories
|
||||
AnimExportDirectory = CommonPath + "/anim_export"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
|
@ -87,6 +114,7 @@ MapBuildDirectory = CommonPath + "/map"
|
|||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
@ -101,13 +129,22 @@ IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscap
|
|||
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = CommonPath + "/farbank"
|
||||
|
||||
# Ligo directories
|
||||
LigoZoneBuildDirectory = CommonPath + "/ligo_zones"
|
||||
LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
||||
LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||
|
||||
# Animation directories
|
||||
AnimBuildDirectory = CommonPath + "/anim"
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = CommonName
|
||||
|
||||
# Map directory
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
|
|
|
@ -26,13 +26,24 @@
|
|||
|
||||
# *** PROCESS CONFIGURATION ***
|
||||
|
||||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "properties" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
#ProcessToComplete += [ "anim" ]
|
||||
#ProcessToComplete += [ "ig" ]
|
||||
#ProcessToComplete += [ "ig_light" ]
|
||||
ProcessToComplete += [ "anim" ]
|
||||
ProcessToComplete += [ "ig" ]
|
||||
ProcessToComplete += [ "ig_light" ]
|
||||
|
||||
|
||||
# *** COMMON NAMES AND PATHS ***
|
||||
EcosystemName = "sky"
|
||||
EcosystemPath = "common/" + EcosystemName
|
||||
ContinentName = EcosystemName
|
||||
ContinentPath = EcosystemPath
|
||||
CommonName = ContinentName
|
||||
CommonPath = ContinentPath
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
@ -65,9 +76,11 @@ DoBuildShadowSkin = 0
|
|||
|
||||
ClodConfigFile = ""
|
||||
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
MultipleTilesPostfix = [ ]
|
||||
MultipleTilesPostfix += [ "_sp" ]
|
||||
|
@ -75,6 +88,30 @@ MultipleTilesPostfix += [ "_su" ]
|
|||
MultipleTilesPostfix += [ "_au" ]
|
||||
MultipleTilesPostfix += [ "_wi" ]
|
||||
|
||||
# Name of the tilebank to use
|
||||
BankTileBankName = ""
|
||||
|
||||
|
||||
# *** LANDSCAPE NAME ***
|
||||
LandscapeName = ContinentName
|
||||
|
||||
|
||||
# *** LIGO OPTIONS ***
|
||||
LigoExportLand = ""
|
||||
LigoExportOnePass = 0
|
||||
LigoExportColormap = "colormap_invalid.png"
|
||||
LigoExportHeightmap1 = "big_invalid.png"
|
||||
LigoExportZFactor1 = "1.0"
|
||||
LigoExportHeightmap2 = "noise_invalid.png"
|
||||
LigoExportZFactor2 = "0.5"
|
||||
LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank"
|
||||
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
||||
|
||||
# *** ANIMATIONS OPTIONS ***
|
||||
|
||||
DoOptimizeAnimations = 0
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
// Bank file name
|
||||
bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank";
|
||||
bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank";
|
||||
|
||||
// Search pathes
|
||||
search_pathes =
|
||||
{
|
||||
"%ExportBuildDirectory%/common/sfx/ps", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/map", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sky/shape", // Sky directory
|
||||
"%ExportBuildDirectory%/common/sky/shape_with_coarse_mesh", // Sky directory
|
||||
"%ExportBuildDirectory%/common/sky/map", // Sky directory
|
||||
};
|
||||
|
||||
// Additional ig file name
|
||||
additionnal_ig =
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
// Sun direction.
|
||||
//sun_direction = { -0.095, +1.0, -0.50 };
|
||||
sun_direction = { -0.776685, +0.216619, -0.59147 };
|
||||
|
||||
// Center of the landscape pointed by the sun
|
||||
sun_center = {9954, -11017, 0};
|
||||
|
||||
// Distance of the sun
|
||||
sun_distance = 50000;
|
||||
|
||||
// FOV of the sun in radian
|
||||
sun_fov = 0.52359877; // Pi / 6
|
||||
|
||||
// Sun radius, (for softshadow sampling)
|
||||
sun_radius = 5000;
|
||||
|
||||
// GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting
|
||||
grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr";
|
||||
|
||||
// LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting
|
||||
rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank";
|
||||
|
||||
// The lighter search in rbank any retriever with identifier ---igname*** as substring
|
||||
// where --- is col_identifier_prefix and *** is col_identifier_suffix
|
||||
// eg: if igname= "street", col_identifier_prefix= "col_", col_identifier_suffix= "_",
|
||||
// then "col_street_1" and "col_street_2" are valid and are used to build LightSurface infos in the Ig.
|
||||
col_identifier_prefix= "";
|
||||
col_identifier_suffix= "";
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 0;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 0;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 0;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 0;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 512;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 1;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 1;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 1;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 1;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 1;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 64;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 2;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -42,6 +42,16 @@ ContinentLeveldesignWorldDirectory = ContinentName
|
|||
|
||||
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeSourceDirectories = [ ]
|
||||
ShapeSourceDirectories += [ "stuff/" + ContinentName + "/sky" ]
|
||||
|
||||
# Maps directories
|
||||
MapSourceDirectories = [ ]
|
||||
MapSourceDirectories += [ "stuff/" + ContinentName + "/sky" ]
|
||||
|
||||
MapUncompressedSourceDirectories = [ ]
|
||||
|
||||
# Ligo directories
|
||||
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
|
||||
LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
|
||||
|
@ -63,9 +73,20 @@ TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
|||
# Displace directory
|
||||
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
|
||||
|
||||
# Ligo primitive directory used in the client
|
||||
PsSourceDirectories = [ ]
|
||||
PsSourceDirectories += [ "primitive_microlife/" + ContinentName ]
|
||||
|
||||
|
||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
||||
# Ligo directories
|
||||
LigoDatabaseExportDirectory = "landscape/ligo/" + EcosystemName
|
||||
LigoDatabaseIgExportDirectory = LigoDatabaseExportDirectory + "/igs"
|
||||
|
@ -89,57 +110,80 @@ IgStaticLandExportDirectory = ContinentPath + "/ig_static_land" # Landscape IG e
|
|||
IgStaticOtherExportDirectory = ContinentPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||
IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
||||
|
||||
# PS directories
|
||||
PsExportDirectory = CommonPath + "/ps"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
# Map directories
|
||||
MapBuildDirectory = CommonPath + "/map"
|
||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
||||
# Ligo directories
|
||||
LigoZoneBuildDirectory = ContinentPath + "/ligo_zones"
|
||||
LigoIgLandBuildDirectory = ContinentPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
||||
LigoIgOtherBuildDirectory = ContinentPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||
LigoZoneBuildDirectory = CommonPath + "/ligo_zones"
|
||||
LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
||||
LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||
|
||||
# Zone directories
|
||||
ZoneWeldBuildDirectory = ContinentPath + "/zone_weld"
|
||||
ZoneDependBuildDirectory = ContinentPath + "/zone_depend"
|
||||
ZoneLightWaterShapesLightedExportDirectory = ContinentPath + "/zone_lwsl_temp" #fixme
|
||||
ZoneLightBuildDirectory = ContinentPath + "/zone_lighted" #fixme
|
||||
ZoneLightDependBuildDirectory = ContinentPath + "/zone_lighted_depend" #fixme
|
||||
ZoneLightIgLandBuildDirectory = ContinentPath + "/zone_lighted_ig_land" #fixme
|
||||
ZoneWeldBuildDirectory = CommonPath + "/zone_weld"
|
||||
ZoneDependBuildDirectory = CommonPath + "/zone_depend"
|
||||
ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme
|
||||
ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme
|
||||
ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme
|
||||
ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme
|
||||
|
||||
# Farbank directories
|
||||
FarbankBuildDirectory = EcosystemPath + "/farbank"
|
||||
|
||||
# Ig directories
|
||||
IgElevLandPrimBuildDirectory = ContinentPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
|
||||
IgElevLandLigoBuildDirectory = ContinentPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap
|
||||
IgElevLandStaticBuildDirectory = ContinentPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
|
||||
IgTempLandMergeBuildDirectory = ContinentPath + "/ig_temp_land_merge"
|
||||
IgTempLandCompareBuildDirectory = ContinentPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
||||
IgLandBuildDirectory = ContinentPath + "/ig_land" # Final IG directory for landscape IGs
|
||||
IgOtherBuildDirectory = ContinentPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||
IgOtherLightedBuildDirectory = ContinentPath + "/ig_other_lighted"
|
||||
IgElevLandPrimBuildDirectory = CommonPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
|
||||
IgElevLandLigoBuildDirectory = CommonPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap
|
||||
IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
|
||||
IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge"
|
||||
IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
||||
IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs
|
||||
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
||||
|
||||
# Rbank directories
|
||||
RbankBboxBuildDirectory = ContinentPath + "/rbank_bbox"
|
||||
RbankTessellationBuildDirectory = ContinentPath + "/rbank_tessellation"
|
||||
RbankSmoothBuildDirectory = ContinentPath + "/rbank_smooth"
|
||||
RbankRawBuildDirectory = ContinentPath + "/rbank_raw"
|
||||
RbankPreprocBuildDirectory = ContinentPath + "/rbank_preproc"
|
||||
RbankMeshBuildDirectory = ContinentPath + "/rbank_cmb"
|
||||
RbankRetrieversBuildDirectory = ContinentPath + "/rbank_retrievers"
|
||||
RbankOutputBuildDirectory = ContinentPath + "/rbank_output"
|
||||
RbankBboxBuildDirectory = CommonPath + "/rbank_bbox"
|
||||
RbankTessellationBuildDirectory = CommonPath + "/rbank_tessellation"
|
||||
RbankSmoothBuildDirectory = CommonPath + "/rbank_smooth"
|
||||
RbankRawBuildDirectory = CommonPath + "/rbank_raw"
|
||||
RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc"
|
||||
RbankMeshBuildDirectory = CommonPath + "/rbank_cmb"
|
||||
RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers"
|
||||
RbankOutputBuildDirectory = CommonPath + "/rbank_output"
|
||||
|
||||
|
||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||
|
||||
# Map directory
|
||||
MapClientDirectory = CommonName + "_maps"
|
||||
BitmapClientDirectory = MapClientDirectory
|
||||
|
||||
# Shape directory
|
||||
ShapeClientDirectory = CommonName + "_shapes"
|
||||
|
||||
# Shape lightmaps directory
|
||||
LightmapClientDirectory = ShapeClientDirectory
|
||||
|
||||
# Ig directory
|
||||
IgClientDirectory = ContinentName + "_ig"
|
||||
IgClientDirectory = CommonName + "_ig"
|
||||
|
||||
# Zone directory
|
||||
ZoneClientDirectory = ContinentName + "_zones"
|
||||
WaterMapsClientDirectory = ContinentName + "_zones"
|
||||
ZoneClientDirectory = CommonName + "_zones"
|
||||
WaterMapsClientDirectory = ZoneClientDirectory
|
||||
|
||||
# PACS directory
|
||||
PacsClientDirectory = ContinentName + "_pacs"
|
||||
PacsClientDirectory = CommonName + "_pacs"
|
||||
|
||||
# PS directory
|
||||
IgClientDirectory = ContinentName + "_ig"
|
||||
PsClientDirectory = CommonName + "_ig"
|
||||
|
|
|
@ -29,13 +29,16 @@
|
|||
|
||||
# *** PROCESS CONFIG ***
|
||||
ProcessToComplete = [ ]
|
||||
ProcessToComplete += [ "properties" ]
|
||||
ProcessToComplete += [ "map" ]
|
||||
ProcessToComplete += [ "shape" ]
|
||||
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process (not yet), but does not export max files
|
||||
ProcessToComplete += [ "zone" ] # works, need to check completeness
|
||||
ProcessToComplete += [ "ig" ] # fully implemented
|
||||
ProcessToComplete += [ "zone_light" ] # works, need to check completeness
|
||||
ProcessToComplete += [ "rbank" ] # works, need to check completeness
|
||||
ProcessToComplete += [ "ig_light" ] # fully implemented
|
||||
#ProcessToComplete += [ "ps" ] # not implemented
|
||||
ProcessToComplete += [ "ps" ]
|
||||
|
||||
|
||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||
|
@ -50,6 +53,40 @@ LandscapeName = ContinentName
|
|||
ContinentFile = ContinentName + "/" + ContinentName + ".continent"
|
||||
|
||||
|
||||
|
||||
# *** SHAPE EXPORT OPTIONS ***
|
||||
|
||||
# Compute lightmaps ?
|
||||
ShapeExportOptExportLighting = "true"
|
||||
|
||||
# Cast shadow in lightmap ?
|
||||
ShapeExportOptShadow = "true"
|
||||
|
||||
# Lighting limits. 0 : normal, 1 : soft shadows
|
||||
ShapeExportOptLightingLimit = 0
|
||||
|
||||
# Lightmap lumel size
|
||||
ShapeExportOptLumelSize = "0.25"
|
||||
|
||||
# Oversampling value. Can be 1, 2, 4 or 8
|
||||
ShapeExportOptOversampling = 1
|
||||
|
||||
# Does the lightmap must be generated in 8 bits format ?
|
||||
ShapeExportOpt8BitsLightmap = "false"
|
||||
|
||||
# Does the lightmaps export must generate logs ?
|
||||
ShapeExportOptLightmapLog = "true"
|
||||
|
||||
# Coarse mesh texture mul size
|
||||
TextureMulSizeValue = "1.5"
|
||||
|
||||
DoBuildShadowSkin = 0
|
||||
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** COARSE MESH TEXTURE NAME ***
|
||||
CoarseMeshTextureNames = [ ]
|
||||
|
||||
# *** BANK EXPORT OPTIONS ***
|
||||
|
||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||
|
@ -111,3 +148,7 @@ RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape_with_coarse_mesh_bu
|
|||
RbankShapePaths += [ "common/sfx/ps" ]
|
||||
# RbankShapePaths += [ "l:/leveldesign/world_edit_files" ]
|
||||
|
||||
# *** MAPS OPTIONS ***
|
||||
|
||||
ReduceBitmapFactor = 0
|
||||
|
||||
|
|
|
@ -6,15 +6,19 @@ bankfar_name = "%ExportBuildDirectory%/%FarbankBuildDirectory%/%EcosystemName%.f
|
|||
// Search pathes
|
||||
search_pathes =
|
||||
{
|
||||
"%ExportBuildDirectory%/continents/newbieland/ig_land", // Instance group directory
|
||||
"%ExportBuildDirectory%/continents/newbieland/ig_other", // Instance group directory
|
||||
"%ExportBuildDirectory%/continents/newbieland/shape", // Shape directory
|
||||
"%ExportBuildDirectory%/continents/newbieland/shape_with_coarse_mesh", // Shape directory
|
||||
"%ExportBuildDirectory%/common/sfx/processes/ps/ps", // Sfx directory
|
||||
"%ExportBuildDirectory%/ecosystems/jungle/shape", // Shape directory
|
||||
"%ExportBuildDirectory%/ecosystems/jungle/shape_with_coarse_mesh", // Shape directory
|
||||
"%ExportBuildDirectory%/ecosystems/jungle/map/tga", // Map directory
|
||||
"%ExportBuildDirectory%/continents/newbieland/zone_light/water_shapes_lighted", // Water shape lighted directory
|
||||
"%ExportBuildDirectory%/common/sfx/ps", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory
|
||||
"%ExportBuildDirectory%/common/sfx/map", // Sfx directory
|
||||
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape", // Shape directory
|
||||
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape_with_coarse_mesh", // Shape directory
|
||||
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/map", // Map directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/zone_light/water_shapes_lighted", // Water shape lighted directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/ig_land", // Instance group directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/ig_other", // Instance group directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/shape", // Shape directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/shape_with_coarse_mesh", // Shape directory
|
||||
"%ExportBuildDirectory%/continents/%ContinentName%/map", // Map directory
|
||||
};
|
||||
|
||||
// Additional ig file name
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 0;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 0;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 0;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 0;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 512;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 1;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// Load instance group. 0 disable, 1 enable
|
||||
load_ig = 1;
|
||||
|
||||
// Use ig to compute dependencies 0 disable, 1 enable
|
||||
compute_dependencies_with_igs = 1;
|
||||
|
||||
// Enable shadows. 0 disable, 1 enable
|
||||
shadow = 1;
|
||||
|
||||
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||
zbuffer_landscape_size = 32768;
|
||||
|
||||
// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this.
|
||||
zbuffer_object_size = 98304;
|
||||
|
||||
// Square root of the number of soft shadow samples
|
||||
soft_shadow_samples_sqrt = 4;
|
||||
|
||||
// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small
|
||||
soft_shadow_jitter = 0.4;
|
||||
|
||||
// Enable the sun contribution. 0 disable, 1 enable
|
||||
sun_contribution = 1;
|
||||
|
||||
// Enable the sky global illumaniation. 0 disable, 1 enable
|
||||
sky_contribution = 1;
|
||||
|
||||
// The sky global illumaniation intensity . [0 ~ 1]
|
||||
sky_intensity = 0.20;
|
||||
|
||||
// Accuracy of the sky global illumaniation algorithm in meter
|
||||
global_illumination_cell_size = 5;
|
||||
|
||||
// shadow bias for water surfaces
|
||||
water_shadow_bias = 0.8;
|
||||
|
||||
// ambient lighting for water. [0 ~ 1]
|
||||
water_ambient = 0.3;
|
||||
|
||||
// diffuse lighting for water. [0 ~ 1]
|
||||
water_diffuse = 1.0;
|
||||
|
||||
// true if the water color should be modulated with the source diffuse map
|
||||
modulate_water_color = 0;
|
||||
|
||||
// 1 if the water should receive sky lighting contribution
|
||||
sky_contribution_for_water = 0;
|
||||
|
||||
// Side length of landscape used to compute the sky global illumaniation in meter
|
||||
global_illumination_length = 600;
|
||||
|
||||
// Size of the quad grid side in meter. Should be a power of 2. (optimisation)
|
||||
quad_grid_size = 64;
|
||||
|
||||
// Size of a cell of the quad grid in meter. (optimisation)
|
||||
quad_grid_cell_size = 2;
|
||||
|
||||
// Number of CPU used to calculate the lightmaps. 0 for automatic detection.
|
||||
cpu_num = 0;
|
||||
|
||||
/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile
|
||||
/// are above, below, or intersect a water surface (rough approximation).
|
||||
/// As a matter of fact, these flags are processed during hte lighting as well.
|
||||
vegetable_height = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************************
|
||||
// Ig Lighting.
|
||||
// ***************************
|
||||
// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path
|
||||
|
||||
|
||||
// Oversampling value, must be 0 (disable), 2, 4, 8, 16
|
||||
// This apply to surface cells and instances.
|
||||
ig_oversampling = 16;
|
||||
|
||||
|
||||
// IG Surface Lighting (for ig_light process only)
|
||||
|
||||
// If SurfaceLighting enabled, define size of a cell (in meters) in a surface.
|
||||
cell_surface_light_size = 1.5;
|
||||
|
||||
// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs
|
||||
cell_raytrace_delta_z = 0.2;
|
||||
|
||||
|
||||
// Build debug surface shapes (slows the process)
|
||||
build_debug_surface_shape= 0;
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ PacsPrimSourceDirectories += [ "stuff/" + EcosystemName + "/decors/vegetations"
|
|||
|
||||
# Shape directories
|
||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||
ShapeExportDirectory = CommonPath + "/shape"
|
||||
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||
|
@ -182,6 +182,9 @@ LigoTagExportDirectory = "ecosystems/" + EcosystemName + "/ligo_tag"
|
|||
# Zone directories
|
||||
ZoneExportDirectory = "ecosystems/" + EcosystemName + "/zone"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimExportDirectory = "ecosystems/" + EcosystemName + "/pacs_prim"
|
||||
|
||||
|
||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||
|
||||
|
@ -190,6 +193,7 @@ MapBuildDirectory = CommonPath + "/map"
|
|||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||
|
||||
# Shape directories
|
||||
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||
|
@ -250,4 +254,4 @@ VegetSetClientDirectory = "jungle_vegetable_sets"
|
|||
VegetClientDirectory = "jungle_vegetables"
|
||||
|
||||
# PACS primitives directories
|
||||
PacsPrimitiveClientDirectory = "jungle_pacs_prim"
|
||||
PacsPrimClientDirectory = "jungle_pacs_prim"
|
||||
|
|
|
@ -37,7 +37,7 @@ ProcessToComplete += [ "displace" ] # OK
|
|||
ProcessToComplete += [ "veget" ] # OK
|
||||
ProcessToComplete += [ "vegetset" ] # OK
|
||||
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process, but does not export max files
|
||||
##ProcessToComplete += [ "pacs_prim" ]
|
||||
ProcessToComplete += [ "pacs_prim" ]
|
||||
|
||||
# *** MAP EXPORT OPTIONS ***
|
||||
PanoplyFileList = [ ]
|
||||
|
@ -110,3 +110,6 @@ ReduceBitmapFactor = 0
|
|||
|
||||
DoBuildShadowSkin = False
|
||||
ClodConfigFile = ""
|
||||
|
||||
# *** PACS_PRIM OPTIONS ***
|
||||
WantLandscapeColPrimPacsList = True
|
||||
|
|
|
@ -26,11 +26,32 @@
|
|||
|
||||
|
||||
ProjectsToProcess = [ ]
|
||||
|
||||
# Common projects
|
||||
ProjectsToProcess += [ "common/fonts" ]
|
||||
ProjectsToProcess += [ "common/interface" ]
|
||||
ProjectsToProcess += [ "common/objects" ]
|
||||
ProjectsToProcess += [ "common/sky" ]
|
||||
ProjectsToProcess += [ "common/sfx" ]
|
||||
ProjectsToProcess += [ "common/fauna" ]
|
||||
|
||||
# Ecosystem projects
|
||||
ProjectsToProcess += [ "ecosystems/jungle" ]
|
||||
|
||||
# Continent projects
|
||||
ProjectsToProcess += [ "continents/newbieland" ]
|
||||
|
||||
# Common projects depending on continent projects
|
||||
ProjectsToProcess += [ "common/construction" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg...
|
||||
ProjectsToProcess += [ "common/outgame" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg...
|
||||
ProjectsToProcess += [ "common/sky" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg...
|
||||
|
||||
# TODO
|
||||
#ProjectsToProcess += [ "common/characters" ] # TODO
|
||||
#ProjectsToProcess += [ "common/characters_maps_hr" ] # TODO
|
||||
#ProjectsToProcess += [ "common/characters_maps_lr" ] # TODO
|
||||
#ProjectsToProcess += [ "ecosystems/desert" ] # TODO
|
||||
#ProjectsToProcess += [ "ecosystems/lacustre" ] # TODO
|
||||
#ProjectsToProcess += [ "ecosystems/primes_racines" ] # TODO
|
||||
|
||||
|
||||
# end of file
|
||||
|
|
Loading…
Reference in a new issue