mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-12-23 17:28:45 +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
d71836f056
commit
8763a898cb
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)
|
printLog(log, "findFile: file not dir or file?! " + filePath)
|
||||||
return ""
|
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):
|
def findTool(log, dirs_where, file_name, suffix):
|
||||||
try:
|
try:
|
||||||
for dir in dirs_where:
|
for dir in dirs_where:
|
||||||
|
|
|
@ -84,3 +84,4 @@ LandExportTool = "land_export"
|
||||||
PrimExportTool = "prim_export"
|
PrimExportTool = "prim_export"
|
||||||
IgElevationTool = "ig_elevation"
|
IgElevationTool = "ig_elevation"
|
||||||
IgAddTool = "ig_add"
|
IgAddTool = "ig_add"
|
||||||
|
BuildClodBankTool = "build_clod_bank"
|
||||||
|
|
|
@ -49,12 +49,39 @@ printLog(log, "")
|
||||||
|
|
||||||
# For each anim directory
|
# For each anim directory
|
||||||
printLog(log, ">>> Export anim 3dsmax <<<")
|
printLog(log, ">>> Export anim 3dsmax <<<")
|
||||||
printLog(log, "********************************")
|
|
||||||
printLog(log, "******** TODO ********")
|
|
||||||
printLog(log, "********************************")
|
|
||||||
mkPath(log, ExportBuildDirectory + "/" + AnimExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + AnimExportDirectory)
|
||||||
for dir in AnimSourceDirectories:
|
for dir in AnimSourceDirectories:
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
log.close()
|
||||||
|
|
|
@ -56,7 +56,12 @@ else:
|
||||||
mkPath(log, srcDir)
|
mkPath(log, srcDir)
|
||||||
destDir = ExportBuildDirectory + "/" + AnimBuildDirectory
|
destDir = ExportBuildDirectory + "/" + AnimBuildDirectory
|
||||||
mkPath(log, destDir)
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
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
|
-- Open the max project
|
||||||
nlerror ("Scanning file "+files[i]+" ...")
|
nlerror ("Scanning file "+files[i]+" ...")
|
||||||
if loadMaxFile files[i] quiet:true == true then
|
if (loadMaxFile files[i] quiet:true) == true then
|
||||||
(
|
(
|
||||||
-- Unhide category
|
-- Unhide category
|
||||||
unhidecategory()
|
unhidecategory()
|
||||||
|
|
|
@ -50,6 +50,7 @@ for dir in FontSourceDirectories:
|
||||||
|
|
||||||
# Setup export directories
|
# Setup export directories
|
||||||
printLog(log, ">>> Setup export directories <<<")
|
printLog(log, ">>> Setup export directories <<<")
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + FontExportDirectory)
|
||||||
|
|
||||||
# Setup build directories
|
# Setup build directories
|
||||||
printLog(log, ">>> 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, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
printLog(log, "")
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
log.close()
|
||||||
|
|
|
@ -45,14 +45,14 @@ printLog(log, "")
|
||||||
|
|
||||||
clientPath = ClientDataDirectory + "/" + FontClientDirectory
|
clientPath = ClientDataDirectory + "/" + FontClientDirectory
|
||||||
mkPath(log, clientPath)
|
mkPath(log, clientPath)
|
||||||
|
fontExportDir = ExportBuildDirectory + "/" + FontExportDirectory
|
||||||
|
mkPath(log, fontExportDir)
|
||||||
|
|
||||||
printLog(log, ">>> Install font <<<")
|
printLog(log, ">>> Install font <<<")
|
||||||
for dir in FontSourceDirectories:
|
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".ttf")
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".afm")
|
||||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".ttf")
|
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfb")
|
||||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".afm")
|
copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfm")
|
||||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".pfb")
|
|
||||||
copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, clientPath, ".pfm")
|
|
||||||
|
|
||||||
printLog(log, "")
|
printLog(log, "")
|
||||||
log.close()
|
log.close()
|
||||||
|
|
|
@ -46,38 +46,39 @@ printLog(log, "")
|
||||||
Max = "" #find later
|
Max = "" #find later
|
||||||
|
|
||||||
|
|
||||||
def igExport(sourceDir, targetDir):
|
def igExport(all_source_base, all_source_dir, sourceDir, targetDir):
|
||||||
scriptSrc = "maxscript/ig_export.ms"
|
scriptSrc = "maxscript/ig_export.ms"
|
||||||
scriptDst = MaxUserDirectory + "/scripts/ig_export.ms"
|
scriptDst = MaxUserDirectory + "/scripts/ig_export.ms"
|
||||||
logFile = ScriptDirectory + "/processes/ig/log.log"
|
logFile = ScriptDirectory + "/processes/ig/log.log"
|
||||||
outDirTag = ExportBuildDirectory + "/" + IgStaticTagExportDirectory
|
outDirTag = ExportBuildDirectory + "/" + IgStaticTagExportDirectory
|
||||||
outDirIg = ExportBuildDirectory + "/" + targetDir
|
outDirIg = ExportBuildDirectory + "/" + targetDir
|
||||||
igSourceDir = DatabaseDirectory + "/" + sourceDir
|
igSourceDir = DatabaseDirectory + "/" + sourceDir
|
||||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
if (needUpdateDirNoSubdirLogExtMultidir(log, all_source_base, all_source_dir, igSourceDir, ".max", outDirTag, ".max.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" ])
|
|
||||||
tagList = findFiles(log, outDirTag, "", ".tag")
|
tagList = findFiles(log, outDirTag, "", ".tag")
|
||||||
newTagLen = len(tagList)
|
tagLen = len(tagList)
|
||||||
tagDiff = newTagLen - tagLen
|
if os.path.isfile(scriptDst):
|
||||||
tagLen = newTagLen
|
os.remove(scriptDst)
|
||||||
printLog(log, "Exported " + str(tagDiff) + " .max files!")
|
tagDiff = 1
|
||||||
os.remove(scriptDst)
|
sSrc = open(scriptSrc, "r")
|
||||||
return
|
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:
|
if MaxAvailable:
|
||||||
|
@ -93,14 +94,14 @@ if MaxAvailable:
|
||||||
mkPath(log, ExportBuildDirectory + "/" + IgStaticLandExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + IgStaticLandExportDirectory)
|
||||||
for dir in IgLandSourceDirectories:
|
for dir in IgLandSourceDirectories:
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||||
igExport(dir, IgStaticLandExportDirectory)
|
igExport(DatabaseDirectory, IgLandSourceDirectories, dir, IgStaticLandExportDirectory)
|
||||||
|
|
||||||
# Export ig other 3dsmax
|
# Export ig other 3dsmax
|
||||||
printLog(log, ">>> Export ig other 3dsmax <<<")
|
printLog(log, ">>> Export ig other 3dsmax <<<")
|
||||||
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
|
||||||
for dir in IgOtherSourceDirectories:
|
for dir in IgOtherSourceDirectories:
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||||
igExport(dir, IgStaticOtherExportDirectory)
|
igExport(DatabaseDirectory, IgOtherSourceDirectories, dir, IgStaticOtherExportDirectory)
|
||||||
|
|
||||||
|
|
||||||
printLog(log, "")
|
printLog(log, "")
|
||||||
|
|
|
@ -56,7 +56,7 @@ else:
|
||||||
mkPath(log, srcDir)
|
mkPath(log, srcDir)
|
||||||
destDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory
|
destDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory
|
||||||
mkPath(log, destDir)
|
mkPath(log, destDir)
|
||||||
subprocess.call([ IgLighter, srcDir, destDir, ActiveProjectDirectory + "/generated/zone_lighter.cfg" ])
|
subprocess.call([ IgLighter, srcDir, destDir, ActiveProjectDirectory + "/generated/properties.cfg" ])
|
||||||
printLog(log, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
log.close()
|
||||||
|
|
|
@ -62,40 +62,40 @@ if LigoExportLand == "" or LigoExportOnePass == 1:
|
||||||
mkPath(log, DatabaseDirectory + "/" + LigoDatabaseCmbExportDirectory)
|
mkPath(log, DatabaseDirectory + "/" + LigoDatabaseCmbExportDirectory)
|
||||||
mkPath(log, DatabaseDirectory + "/" + ZoneSourceDirectory)
|
mkPath(log, DatabaseDirectory + "/" + ZoneSourceDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + LigoTagExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + LigoTagExportDirectory)
|
||||||
printLog(log, "WRITE " + ligoIniPath)
|
if (needUpdateDirNoSubdirLogExt(log, DatabaseDirectory + "/" + LigoMaxSourceDirectory, ".max", ExportBuildDirectory + "/" + LigoTagExportDirectory, ".max.tag")):
|
||||||
ligoIni = open(ligoIniPath, "w")
|
printLog(log, "WRITE " + ligoIniPath)
|
||||||
ligoIni.write("[LigoConfig]\n")
|
ligoIni = open(ligoIniPath, "w")
|
||||||
ligoIni.write("LigoPath=" + DatabaseDirectory + "/" + LigoMaxSourceDirectory + "/\n")
|
ligoIni.write("[LigoConfig]\n")
|
||||||
ligoIni.write("LigoExportPath=" + DatabaseDirectory + "/" + LigoDatabaseExportDirectory + "/\n")
|
ligoIni.write("LigoPath=" + DatabaseDirectory + "/" + LigoMaxSourceDirectory + "/\n")
|
||||||
ligoIni.write("LigoOldZonePath=" + DatabaseDirectory + "/" + ZoneSourceDirectory + "/\n")
|
ligoIni.write("LigoExportPath=" + DatabaseDirectory + "/" + LigoDatabaseExportDirectory + "/\n")
|
||||||
ligoIni.close()
|
ligoIni.write("LigoOldZonePath=" + DatabaseDirectory + "/" + ZoneSourceDirectory + "/\n")
|
||||||
|
ligoIni.close()
|
||||||
outDirTag = ExportBuildDirectory + "/" + LigoTagExportDirectory
|
|
||||||
logFile = ScriptDirectory + "/processes/ligo/log.log"
|
outDirTag = ExportBuildDirectory + "/" + LigoTagExportDirectory
|
||||||
smallBank = ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank"
|
logFile = ScriptDirectory + "/processes/ligo/log.log"
|
||||||
|
smallBank = ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank"
|
||||||
scriptSrc = "maxscript/nel_ligo_export.ms"
|
|
||||||
scriptDst = MaxUserDirectory + "/scripts/nel_ligo_export.ms"
|
scriptSrc = "maxscript/nel_ligo_export.ms"
|
||||||
|
scriptDst = MaxUserDirectory + "/scripts/nel_ligo_export.ms"
|
||||||
if os.path.isfile(scriptDst):
|
|
||||||
|
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)
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
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
|
# Setup export directories
|
||||||
printLog(log, ">>> Setup export directories <<<")
|
printLog(log, ">>> Setup export directories <<<")
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory)
|
||||||
|
if ClodConfigFile != "":
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||||
|
|
||||||
# Setup build directories
|
# Setup build directories
|
||||||
printLog(log, ">>> Setup build directories <<<")
|
printLog(log, ">>> Setup build directories <<<")
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
import time, sys, os, shutil, subprocess, distutils.dir_util
|
import time, sys, os, shutil, subprocess, distutils.dir_util
|
||||||
sys.path.append("../../configuration")
|
sys.path.append("../../configuration")
|
||||||
|
|
||||||
|
if os.path.isfile("log.log"):
|
||||||
|
os.remove("log.log")
|
||||||
if os.path.isfile("temp_log.log"):
|
if os.path.isfile("temp_log.log"):
|
||||||
os.remove("temp_log.log")
|
os.remove("temp_log.log")
|
||||||
log = open("temp_log.log", "w")
|
log = open("temp_log.log", "w")
|
||||||
|
@ -70,7 +72,7 @@ if MaxAvailable:
|
||||||
logFile = ScriptDirectory + "/processes/shape/log.log"
|
logFile = ScriptDirectory + "/processes/shape/log.log"
|
||||||
outDirTag = ExportBuildDirectory + "/" + ShapeTagExportDirectory
|
outDirTag = ExportBuildDirectory + "/" + ShapeTagExportDirectory
|
||||||
mkPath(log, outDirTag)
|
mkPath(log, outDirTag)
|
||||||
outDirWithoutCoarse = ExportBuildDirectory + "/" + ShapeExportDirectory
|
outDirWithoutCoarse = ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory
|
||||||
mkPath(log, outDirWithoutCoarse)
|
mkPath(log, outDirWithoutCoarse)
|
||||||
outDirWithCoarse = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
outDirWithCoarse = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
||||||
mkPath(log, outDirWithCoarse)
|
mkPath(log, outDirWithCoarse)
|
||||||
|
@ -137,10 +139,11 @@ if MaxAvailable:
|
||||||
printLog(log, "SKIP " + maxFilePath)
|
printLog(log, "SKIP " + maxFilePath)
|
||||||
|
|
||||||
# Export clod 3dsmax
|
# Export clod 3dsmax
|
||||||
printLog(log, ">>> Export character lod shape files (.clod) from Max <<<")
|
# this is historical garbage, just use the clodbank process.. :-)
|
||||||
printLog(log, "********************************")
|
#printLog(log, ">>> Export character lod shape files (.clod) from Max <<<")
|
||||||
printLog(log, "******** TODO ********")
|
#printLog(log, "********************************")
|
||||||
printLog(log, "********************************")
|
#printLog(log, "******** TODO ********")
|
||||||
|
#printLog(log, "********************************")
|
||||||
|
|
||||||
# cat ../clodbank/maxscript/clod_export.ms
|
# cat ../clodbank/maxscript/clod_export.ms
|
||||||
#| sed -e "s&shape_source_directory&$database_directory/$i&g"
|
#| sed -e "s&shape_source_directory&$database_directory/$i&g"
|
||||||
|
|
|
@ -57,21 +57,28 @@ if DoBuildShadowSkin:
|
||||||
printLog(log, "******** TODO ********")
|
printLog(log, "******** TODO ********")
|
||||||
printLog(log, "********************************")
|
printLog(log, "********************************")
|
||||||
|
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory)
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||||
if ClodConfigFile != "":
|
if ClodConfigFile != "":
|
||||||
printLog(log, ">>> BuildClodtex <<<")
|
mkPath(log, ExportBuildDirectory + "/" + ClodExportDirectory)
|
||||||
printLog(log, "********************************")
|
printLog(log, ">>> Build CLodTex <<<")
|
||||||
printLog(log, "******** TODO ********")
|
subprocess.call([ BuildClodtex, "-d", DatabaseDirectory + "/" + ClodConfigFile, ExportBuildDirectory + "/" + ClodExportDirectory, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory ])
|
||||||
printLog(log, "********************************")
|
else:
|
||||||
|
printLog(log, ">>> Copy Shape <<<")
|
||||||
|
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeNotOptimizedExportDirectory, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, ".shape")
|
||||||
|
|
||||||
|
# copy lightmap_not_optimized to lightmap
|
||||||
printLog(log, ">>> Optimize lightmaps <<<")
|
printLog(log, ">>> Optimize lightmaps <<<")
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeTagExportDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||||
removeFilesRecursive(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
removeFilesRecursive(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||||
copyFiles(log, ExportBuildDirectory + "/" + ShapeLightmapNotOptimizedExportDirectory, 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 <<<")
|
printLog(log, ">>> Convert lightmaps in 16 or 8 bits <<<")
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmapBuildDirectory)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory)
|
||||||
|
@ -91,6 +98,7 @@ for lightMapTga in lightMapTgas:
|
||||||
else:
|
else:
|
||||||
subprocess.call([ TgaToDds, srcTga, "-o", dstTga, "-a", "tga16" ])
|
subprocess.call([ TgaToDds, srcTga, "-o", dstTga, "-a", "tga16" ])
|
||||||
|
|
||||||
|
# Corse meshes for this process ?
|
||||||
if len(CoarseMeshTextureNames) > 0:
|
if len(CoarseMeshTextureNames) > 0:
|
||||||
printLog(log, ">>> Build coarse meshes <<<")
|
printLog(log, ">>> Build coarse meshes <<<")
|
||||||
shapeWithCoarseMesh = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
shapeWithCoarseMesh = ExportBuildDirectory + "/" + ShapeWithCoarseMeshExportDirectory
|
||||||
|
@ -127,6 +135,7 @@ if len(CoarseMeshTextureNames) > 0:
|
||||||
cf.close()
|
cf.close()
|
||||||
subprocess.call([ BuildCoarseMesh, "config_generated.cfg" ])
|
subprocess.call([ BuildCoarseMesh, "config_generated.cfg" ])
|
||||||
os.remove("config_generated.cfg")
|
os.remove("config_generated.cfg")
|
||||||
|
# Convert the coarse texture to dds
|
||||||
for tn in CoarseMeshTextureNames:
|
for tn in CoarseMeshTextureNames:
|
||||||
subprocess.call([ TgaToDds, shapeWithCoarseMesh + "/" + tn + ".tga", "-o", shapeWithCoarseMeshBuilded + "/" + tn + ".dds", "-a", "5" ])
|
subprocess.call([ TgaToDds, shapeWithCoarseMesh + "/" + tn + ".tga", "-o", shapeWithCoarseMeshBuilded + "/" + tn + ".dds", "-a", "5" ])
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -46,8 +46,8 @@ printLog(log, "")
|
||||||
printLog(log, ">>> Install shape <<<")
|
printLog(log, ">>> Install shape <<<")
|
||||||
clientPath = ClientDataDirectory + "/" + ShapeClientDirectory
|
clientPath = ClientDataDirectory + "/" + ShapeClientDirectory
|
||||||
mkPath(log, clientPath)
|
mkPath(log, clientPath)
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory)
|
||||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeExportDirectory, clientPath, ".shape")
|
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, clientPath, ".shape")
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory)
|
||||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".shape")
|
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".shape")
|
||||||
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".dds")
|
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".dds")
|
||||||
|
|
|
@ -49,14 +49,46 @@ printLog(log, "")
|
||||||
|
|
||||||
# For each skel directory
|
# For each skel directory
|
||||||
printLog(log, ">>> Export skel 3dsmax <<<")
|
printLog(log, ">>> Export skel 3dsmax <<<")
|
||||||
printLog(log, "********************************")
|
|
||||||
printLog(log, "******** TODO ********")
|
|
||||||
printLog(log, "********************************")
|
|
||||||
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory)
|
||||||
for dir in SkelSourceDirectories:
|
for dir in SkelSourceDirectories:
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
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()
|
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
|
# For each swt directory
|
||||||
printLog(log, ">>> Export skeleton weigths 3dsmax <<<")
|
printLog(log, ">>> Export skeleton weigths 3dsmax <<<")
|
||||||
printLog(log, "********************************")
|
|
||||||
printLog(log, "******** TODO ********")
|
|
||||||
printLog(log, "********************************")
|
|
||||||
mkPath(log, ExportBuildDirectory + "/" + SwtExportDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + SwtExportDirectory)
|
||||||
for dir in SwtSourceDirectories:
|
for dir in SwtSourceDirectories:
|
||||||
mkPath(log, DatabaseDirectory + "/" + dir)
|
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()
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ try
|
||||||
|
|
||||||
-- Open the max project
|
-- Open the max project
|
||||||
nlerror ("Scanning file "+files[i]+" ...")
|
nlerror ("Scanning file "+files[i]+" ...")
|
||||||
if loadMaxFile files[i] == true then
|
if (loadMaxFile files[i] quiet:true) == true then
|
||||||
(
|
(
|
||||||
-- Unhide category
|
-- Unhide category
|
||||||
unhidecategory()
|
unhidecategory()
|
||||||
|
|
|
@ -69,19 +69,20 @@ if MaxAvailable:
|
||||||
for dir in VegetSourceDirectories:
|
for dir in VegetSourceDirectories:
|
||||||
vegetSourceDir = DatabaseDirectory + "/" + dir
|
vegetSourceDir = DatabaseDirectory + "/" + dir
|
||||||
mkPath(log, vegetSourceDir)
|
mkPath(log, vegetSourceDir)
|
||||||
sSrc = open(scriptSrc, "r")
|
if (needUpdateDirNoSubdirLogExtMultidir(log, DatabaseDirectory, VegetSourceDirectories, vegetSourceDir, ".max", outputDirTag, ".max.tag")):
|
||||||
sDst = open(scriptDst, "w")
|
sSrc = open(scriptSrc, "r")
|
||||||
for line in sSrc:
|
sDst = open(scriptDst, "w")
|
||||||
newline = line.replace("output_logfile", logFile)
|
for line in sSrc:
|
||||||
newline = newline.replace("veget_source_directory", vegetSourceDir)
|
newline = line.replace("output_logfile", logFile)
|
||||||
newline = newline.replace("output_directory_veget", outputDirVeget)
|
newline = newline.replace("veget_source_directory", vegetSourceDir)
|
||||||
newline = newline.replace("output_directory_tag", outputDirTag)
|
newline = newline.replace("output_directory_veget", outputDirVeget)
|
||||||
sDst.write(newline)
|
newline = newline.replace("output_directory_tag", outputDirTag)
|
||||||
sSrc.close()
|
sDst.write(newline)
|
||||||
sDst.close()
|
sSrc.close()
|
||||||
printLog(log, "MAXSCRIPT " + scriptDst)
|
sDst.close()
|
||||||
subprocess.call([ Max, "-U", "MAXScript", "veget_export.ms", "-q", "-mi", "-vn" ])
|
printLog(log, "MAXSCRIPT " + scriptDst)
|
||||||
os.remove(scriptDst)
|
subprocess.call([ Max, "-U", "MAXScript", "veget_export.ms", "-q", "-mi", "-vn" ])
|
||||||
|
os.remove(scriptDst)
|
||||||
|
|
||||||
printLog(log, "")
|
printLog(log, "")
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ if BuildQuality == 1:
|
||||||
mkPath(log, ExportBuildDirectory + "/" + ZoneDependBuildDirectory)
|
mkPath(log, ExportBuildDirectory + "/" + ZoneDependBuildDirectory)
|
||||||
mkPath(log, ActiveProjectDirectory + "/generated")
|
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||||
configFile = ActiveProjectDirectory + "/generated/zone_dependencies.cfg"
|
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")
|
cf = open(configFile, "w")
|
||||||
for line in templateCf:
|
for line in templateCf:
|
||||||
cf.write(line)
|
cf.write(line)
|
||||||
|
|
|
@ -43,32 +43,6 @@ printLog(log, "-------")
|
||||||
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
printLog(log, "")
|
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
|
# Setup source directories
|
||||||
printLog(log, ">>> Setup source directories <<<")
|
printLog(log, ">>> Setup source directories <<<")
|
||||||
for dir in WaterMapSourceDirectories:
|
for dir in WaterMapSourceDirectories:
|
||||||
|
|
|
@ -68,7 +68,7 @@ else:
|
||||||
destFile = destDir + "/" + file[0:-len(".zonew")] + ".zonel"
|
destFile = destDir + "/" + file[0:-len(".zonew")] + ".zonel"
|
||||||
if (needUpdateLogRemoveDest(log, srcFile, destFile)):
|
if (needUpdateLogRemoveDest(log, srcFile, destFile)):
|
||||||
dependFile = destDir + "/" + file[0:-len(".zonew")] + ".depend"
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
# For each zone_light ig
|
# For each zone_light ig
|
||||||
|
@ -94,7 +94,7 @@ else:
|
||||||
if (needUpdateLogRemoveDest(log, igsrcFile, destFile)):
|
if (needUpdateLogRemoveDest(log, igsrcFile, destFile)):
|
||||||
srcFile = srcDir + "/" + file
|
srcFile = srcDir + "/" + file
|
||||||
dependFile = destDir + "/" + file[0:-len(".zonel")] + ".depend"
|
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, "")
|
printLog(log, "")
|
||||||
|
|
||||||
log.close()
|
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;
|
compute_dependencies_with_igs = 1;
|
||||||
|
|
||||||
// Enable shadows. 0 disable, 1 enable
|
// 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.
|
// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample.
|
||||||
zbuffer_landscape_size = 32768;
|
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/>.
|
# 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 ***
|
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,16 @@
|
||||||
ProcessToComplete = [ ]
|
ProcessToComplete = [ ]
|
||||||
ProcessToComplete += [ "interface" ]
|
ProcessToComplete += [ "interface" ]
|
||||||
|
|
||||||
|
|
||||||
|
# *** COMMON NAMES AND PATHS ***
|
||||||
|
EcosystemName = "interface"
|
||||||
|
EcosystemPath = "common/" + EcosystemName
|
||||||
|
ContinentName = EcosystemName
|
||||||
|
ContinentPath = EcosystemPath
|
||||||
|
CommonName = ContinentName
|
||||||
|
CommonPath = ContinentPath
|
||||||
|
|
||||||
|
|
||||||
# *** MAPS OPTIONS ***
|
# *** MAPS OPTIONS ***
|
||||||
|
|
||||||
ReduceBitmapFactor = 0
|
ReduceBitmapFactor = 0
|
||||||
|
|
|
@ -60,7 +60,7 @@ MapUncompressedSourceDirectories = [ ]
|
||||||
|
|
||||||
# Shape directories
|
# Shape directories
|
||||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||||
ShapeExportDirectory = CommonPath + "/shape"
|
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||||
|
@ -73,6 +73,7 @@ MapBuildDirectory = CommonPath + "/map"
|
||||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||||
|
|
||||||
# Shape directories
|
# Shape directories
|
||||||
|
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
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 ***
|
# *** 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/setup/lacustre" ]
|
||||||
MapUncompressedSourceDirectories += [ "sky_v2/textures/textures/nodds" ]
|
MapUncompressedSourceDirectories += [ "sky_v2/textures/textures/nodds" ]
|
||||||
|
|
||||||
|
# Ligo directories
|
||||||
|
LigoBaseSourceDirectory = "landscape/ligo"
|
||||||
|
|
||||||
# Ig directories
|
# Ig directories
|
||||||
IgLandSourceDirectories = [ ]
|
IgLandSourceDirectories = [ ]
|
||||||
IgOtherSourceDirectories = [ ]
|
IgOtherSourceDirectories = [ ]
|
||||||
IgOtherSourceDirectories += [ "sky_v2/max" ]
|
IgOtherSourceDirectories += [ "sky_v2/max" ]
|
||||||
IgPrimitiveSourceDirectories = [ ]
|
IgPrimitiveSourceDirectories = [ ]
|
||||||
|
|
||||||
|
# Tiles root directory
|
||||||
|
TileRootSourceDirectory = "landscape/_texture_tiles"
|
||||||
|
|
||||||
|
# Displace directory
|
||||||
|
DisplaceSourceDirectory = "landscape/_texture_tiles/displace"
|
||||||
|
|
||||||
# Animation directories
|
# Animation directories
|
||||||
AnimSourceDirectories = [ ]
|
AnimSourceDirectories = [ ]
|
||||||
AnimSourceDirectories += [ "sky_v2/max" ]
|
AnimSourceDirectories += [ "sky_v2/max" ]
|
||||||
|
@ -69,7 +85,7 @@ AnimSourceDirectories += [ "sky_v2/max" ]
|
||||||
|
|
||||||
# Shape directories
|
# Shape directories
|
||||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||||
ShapeExportDirectory = CommonPath + "/shape"
|
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
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
|
IgStaticOtherExportDirectory = CommonPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||||
IgStaticTagExportDirectory = CommonPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
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 ***
|
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||||
|
|
||||||
|
@ -87,6 +114,7 @@ MapBuildDirectory = CommonPath + "/map"
|
||||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||||
|
|
||||||
# Shape directories
|
# Shape directories
|
||||||
|
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
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
|
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||||
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
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 ***
|
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
||||||
|
|
||||||
# Map directory
|
# Map directory
|
||||||
MapClientDirectory = CommonName
|
MapClientDirectory = CommonName
|
||||||
|
|
||||||
# Map directory
|
|
||||||
BitmapClientDirectory = MapClientDirectory
|
BitmapClientDirectory = MapClientDirectory
|
||||||
|
|
||||||
# Shape directory
|
# Shape directory
|
||||||
|
|
|
@ -26,13 +26,24 @@
|
||||||
|
|
||||||
# *** PROCESS CONFIGURATION ***
|
# *** PROCESS CONFIGURATION ***
|
||||||
|
|
||||||
|
|
||||||
# *** PROCESS CONFIG ***
|
# *** PROCESS CONFIG ***
|
||||||
ProcessToComplete = [ ]
|
ProcessToComplete = [ ]
|
||||||
|
ProcessToComplete += [ "properties" ]
|
||||||
ProcessToComplete += [ "shape" ]
|
ProcessToComplete += [ "shape" ]
|
||||||
ProcessToComplete += [ "map" ]
|
ProcessToComplete += [ "map" ]
|
||||||
#ProcessToComplete += [ "anim" ]
|
ProcessToComplete += [ "anim" ]
|
||||||
#ProcessToComplete += [ "ig" ]
|
ProcessToComplete += [ "ig" ]
|
||||||
#ProcessToComplete += [ "ig_light" ]
|
ProcessToComplete += [ "ig_light" ]
|
||||||
|
|
||||||
|
|
||||||
|
# *** COMMON NAMES AND PATHS ***
|
||||||
|
EcosystemName = "sky"
|
||||||
|
EcosystemPath = "common/" + EcosystemName
|
||||||
|
ContinentName = EcosystemName
|
||||||
|
ContinentPath = EcosystemPath
|
||||||
|
CommonName = ContinentName
|
||||||
|
CommonPath = ContinentPath
|
||||||
|
|
||||||
|
|
||||||
# *** SHAPE EXPORT OPTIONS ***
|
# *** SHAPE EXPORT OPTIONS ***
|
||||||
|
@ -65,9 +76,11 @@ DoBuildShadowSkin = 0
|
||||||
|
|
||||||
ClodConfigFile = ""
|
ClodConfigFile = ""
|
||||||
|
|
||||||
|
|
||||||
# *** COARSE MESH TEXTURE NAME ***
|
# *** COARSE MESH TEXTURE NAME ***
|
||||||
CoarseMeshTextureNames = [ ]
|
CoarseMeshTextureNames = [ ]
|
||||||
|
|
||||||
|
|
||||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||||
MultipleTilesPostfix = [ ]
|
MultipleTilesPostfix = [ ]
|
||||||
MultipleTilesPostfix += [ "_sp" ]
|
MultipleTilesPostfix += [ "_sp" ]
|
||||||
|
@ -75,6 +88,30 @@ MultipleTilesPostfix += [ "_su" ]
|
||||||
MultipleTilesPostfix += [ "_au" ]
|
MultipleTilesPostfix += [ "_au" ]
|
||||||
MultipleTilesPostfix += [ "_wi" ]
|
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 ***
|
# *** MAPS OPTIONS ***
|
||||||
|
|
||||||
ReduceBitmapFactor = 0
|
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 ***
|
# *** SOURCE DIRECTORIES IN THE DATABASE ***
|
||||||
|
|
||||||
|
# Shape directories
|
||||||
|
ShapeSourceDirectories = [ ]
|
||||||
|
ShapeSourceDirectories += [ "stuff/" + ContinentName + "/sky" ]
|
||||||
|
|
||||||
|
# Maps directories
|
||||||
|
MapSourceDirectories = [ ]
|
||||||
|
MapSourceDirectories += [ "stuff/" + ContinentName + "/sky" ]
|
||||||
|
|
||||||
|
MapUncompressedSourceDirectories = [ ]
|
||||||
|
|
||||||
# Ligo directories
|
# Ligo directories
|
||||||
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
|
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
|
||||||
LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
|
LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
|
||||||
|
@ -63,9 +73,20 @@ TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
|
||||||
# Displace directory
|
# Displace directory
|
||||||
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
|
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
|
||||||
|
|
||||||
|
# Ligo primitive directory used in the client
|
||||||
|
PsSourceDirectories = [ ]
|
||||||
|
PsSourceDirectories += [ "primitive_microlife/" + ContinentName ]
|
||||||
|
|
||||||
|
|
||||||
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
|
# *** 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
|
# Ligo directories
|
||||||
LigoDatabaseExportDirectory = "landscape/ligo/" + EcosystemName
|
LigoDatabaseExportDirectory = "landscape/ligo/" + EcosystemName
|
||||||
LigoDatabaseIgExportDirectory = LigoDatabaseExportDirectory + "/igs"
|
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
|
IgStaticOtherExportDirectory = ContinentPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
|
||||||
IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files
|
||||||
|
|
||||||
|
# PS directories
|
||||||
|
PsExportDirectory = CommonPath + "/ps"
|
||||||
|
|
||||||
|
|
||||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
# *** 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
|
# Ligo directories
|
||||||
LigoZoneBuildDirectory = ContinentPath + "/ligo_zones"
|
LigoZoneBuildDirectory = CommonPath + "/ligo_zones"
|
||||||
LigoIgLandBuildDirectory = ContinentPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
|
LigoIgLandBuildDirectory = CommonPath + "/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
|
LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
|
||||||
|
|
||||||
# Zone directories
|
# Zone directories
|
||||||
ZoneWeldBuildDirectory = ContinentPath + "/zone_weld"
|
ZoneWeldBuildDirectory = CommonPath + "/zone_weld"
|
||||||
ZoneDependBuildDirectory = ContinentPath + "/zone_depend"
|
ZoneDependBuildDirectory = CommonPath + "/zone_depend"
|
||||||
ZoneLightWaterShapesLightedExportDirectory = ContinentPath + "/zone_lwsl_temp" #fixme
|
ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme
|
||||||
ZoneLightBuildDirectory = ContinentPath + "/zone_lighted" #fixme
|
ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme
|
||||||
ZoneLightDependBuildDirectory = ContinentPath + "/zone_lighted_depend" #fixme
|
ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme
|
||||||
ZoneLightIgLandBuildDirectory = ContinentPath + "/zone_lighted_ig_land" #fixme
|
ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme
|
||||||
|
|
||||||
# Farbank directories
|
# Farbank directories
|
||||||
FarbankBuildDirectory = EcosystemPath + "/farbank"
|
FarbankBuildDirectory = EcosystemPath + "/farbank"
|
||||||
|
|
||||||
# Ig directories
|
# Ig directories
|
||||||
IgElevLandPrimBuildDirectory = ContinentPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
|
IgElevLandPrimBuildDirectory = CommonPath + "/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
|
IgElevLandLigoBuildDirectory = CommonPath + "/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
|
IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
|
||||||
IgTempLandMergeBuildDirectory = ContinentPath + "/ig_temp_land_merge"
|
IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge"
|
||||||
IgTempLandCompareBuildDirectory = ContinentPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
|
||||||
IgLandBuildDirectory = ContinentPath + "/ig_land" # Final IG directory for landscape IGs
|
IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs
|
||||||
IgOtherBuildDirectory = ContinentPath + "/ig_other" # Final IG directory for village or construction IGs
|
IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs
|
||||||
IgOtherLightedBuildDirectory = ContinentPath + "/ig_other_lighted"
|
IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted"
|
||||||
|
|
||||||
# Rbank directories
|
# Rbank directories
|
||||||
RbankBboxBuildDirectory = ContinentPath + "/rbank_bbox"
|
RbankBboxBuildDirectory = CommonPath + "/rbank_bbox"
|
||||||
RbankTessellationBuildDirectory = ContinentPath + "/rbank_tessellation"
|
RbankTessellationBuildDirectory = CommonPath + "/rbank_tessellation"
|
||||||
RbankSmoothBuildDirectory = ContinentPath + "/rbank_smooth"
|
RbankSmoothBuildDirectory = CommonPath + "/rbank_smooth"
|
||||||
RbankRawBuildDirectory = ContinentPath + "/rbank_raw"
|
RbankRawBuildDirectory = CommonPath + "/rbank_raw"
|
||||||
RbankPreprocBuildDirectory = ContinentPath + "/rbank_preproc"
|
RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc"
|
||||||
RbankMeshBuildDirectory = ContinentPath + "/rbank_cmb"
|
RbankMeshBuildDirectory = CommonPath + "/rbank_cmb"
|
||||||
RbankRetrieversBuildDirectory = ContinentPath + "/rbank_retrievers"
|
RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers"
|
||||||
RbankOutputBuildDirectory = ContinentPath + "/rbank_output"
|
RbankOutputBuildDirectory = CommonPath + "/rbank_output"
|
||||||
|
|
||||||
|
|
||||||
# *** INSTALL DIRECTORIES IN THE CLIENT DATA ***
|
# *** 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
|
# Ig directory
|
||||||
IgClientDirectory = ContinentName + "_ig"
|
IgClientDirectory = CommonName + "_ig"
|
||||||
|
|
||||||
# Zone directory
|
# Zone directory
|
||||||
ZoneClientDirectory = ContinentName + "_zones"
|
ZoneClientDirectory = CommonName + "_zones"
|
||||||
WaterMapsClientDirectory = ContinentName + "_zones"
|
WaterMapsClientDirectory = ZoneClientDirectory
|
||||||
|
|
||||||
# PACS directory
|
# PACS directory
|
||||||
PacsClientDirectory = ContinentName + "_pacs"
|
PacsClientDirectory = CommonName + "_pacs"
|
||||||
|
|
||||||
# PS directory
|
# PS directory
|
||||||
IgClientDirectory = ContinentName + "_ig"
|
PsClientDirectory = CommonName + "_ig"
|
||||||
|
|
|
@ -29,13 +29,16 @@
|
||||||
|
|
||||||
# *** PROCESS CONFIG ***
|
# *** PROCESS CONFIG ***
|
||||||
ProcessToComplete = [ ]
|
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 += [ "ligo" ] # not fully implemented, works for this process (not yet), but does not export max files
|
||||||
ProcessToComplete += [ "zone" ] # works, need to check completeness
|
ProcessToComplete += [ "zone" ] # works, need to check completeness
|
||||||
ProcessToComplete += [ "ig" ] # fully implemented
|
ProcessToComplete += [ "ig" ] # fully implemented
|
||||||
ProcessToComplete += [ "zone_light" ] # works, need to check completeness
|
ProcessToComplete += [ "zone_light" ] # works, need to check completeness
|
||||||
ProcessToComplete += [ "rbank" ] # works, need to check completeness
|
ProcessToComplete += [ "rbank" ] # works, need to check completeness
|
||||||
ProcessToComplete += [ "ig_light" ] # fully implemented
|
ProcessToComplete += [ "ig_light" ] # fully implemented
|
||||||
#ProcessToComplete += [ "ps" ] # not implemented
|
ProcessToComplete += [ "ps" ]
|
||||||
|
|
||||||
|
|
||||||
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
# *** ECOSYSTEM AND CONTINENT NAMES ***
|
||||||
|
@ -50,6 +53,40 @@ LandscapeName = ContinentName
|
||||||
ContinentFile = ContinentName + "/" + ContinentName + ".continent"
|
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 ***
|
# *** BANK EXPORT OPTIONS ***
|
||||||
|
|
||||||
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
|
||||||
|
@ -111,3 +148,7 @@ RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape_with_coarse_mesh_bu
|
||||||
RbankShapePaths += [ "common/sfx/ps" ]
|
RbankShapePaths += [ "common/sfx/ps" ]
|
||||||
# RbankShapePaths += [ "l:/leveldesign/world_edit_files" ]
|
# RbankShapePaths += [ "l:/leveldesign/world_edit_files" ]
|
||||||
|
|
||||||
|
# *** MAPS OPTIONS ***
|
||||||
|
|
||||||
|
ReduceBitmapFactor = 0
|
||||||
|
|
||||||
|
|
|
@ -6,15 +6,19 @@ bankfar_name = "%ExportBuildDirectory%/%FarbankBuildDirectory%/%EcosystemName%.f
|
||||||
// Search pathes
|
// Search pathes
|
||||||
search_pathes =
|
search_pathes =
|
||||||
{
|
{
|
||||||
"%ExportBuildDirectory%/continents/newbieland/ig_land", // Instance group directory
|
"%ExportBuildDirectory%/common/sfx/ps", // Sfx directory
|
||||||
"%ExportBuildDirectory%/continents/newbieland/ig_other", // Instance group directory
|
"%ExportBuildDirectory%/common/sfx/shape", // Sfx directory
|
||||||
"%ExportBuildDirectory%/continents/newbieland/shape", // Shape directory
|
"%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory
|
||||||
"%ExportBuildDirectory%/continents/newbieland/shape_with_coarse_mesh", // Shape directory
|
"%ExportBuildDirectory%/common/sfx/map", // Sfx directory
|
||||||
"%ExportBuildDirectory%/common/sfx/processes/ps/ps", // Sfx directory
|
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape", // Shape directory
|
||||||
"%ExportBuildDirectory%/ecosystems/jungle/shape", // Shape directory
|
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape_with_coarse_mesh", // Shape directory
|
||||||
"%ExportBuildDirectory%/ecosystems/jungle/shape_with_coarse_mesh", // Shape directory
|
"%ExportBuildDirectory%/ecosystems/%EcosystemName%/map", // Map directory
|
||||||
"%ExportBuildDirectory%/ecosystems/jungle/map/tga", // Map directory
|
"%ExportBuildDirectory%/continents/%ContinentName%/zone_light/water_shapes_lighted", // Water shape lighted directory
|
||||||
"%ExportBuildDirectory%/continents/newbieland/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
|
// 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
|
# Shape directories
|
||||||
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
ShapeTagExportDirectory = CommonPath + "/shape_tag"
|
||||||
ShapeExportDirectory = CommonPath + "/shape"
|
ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized"
|
||||||
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh"
|
||||||
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized"
|
||||||
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
ShapeAnimExportDirectory = CommonPath + "/shape_anim"
|
||||||
|
@ -182,6 +182,9 @@ LigoTagExportDirectory = "ecosystems/" + EcosystemName + "/ligo_tag"
|
||||||
# Zone directories
|
# Zone directories
|
||||||
ZoneExportDirectory = "ecosystems/" + EcosystemName + "/zone"
|
ZoneExportDirectory = "ecosystems/" + EcosystemName + "/zone"
|
||||||
|
|
||||||
|
# PACS primitives directories
|
||||||
|
PacsPrimExportDirectory = "ecosystems/" + EcosystemName + "/pacs_prim"
|
||||||
|
|
||||||
|
|
||||||
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
|
||||||
|
|
||||||
|
@ -190,6 +193,7 @@ MapBuildDirectory = CommonPath + "/map"
|
||||||
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
MapPanoplyBuildDirectory = CommonPath + "/map_panoply"
|
||||||
|
|
||||||
# Shape directories
|
# Shape directories
|
||||||
|
ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build"
|
||||||
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded"
|
||||||
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap"
|
||||||
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits"
|
||||||
|
@ -250,4 +254,4 @@ VegetSetClientDirectory = "jungle_vegetable_sets"
|
||||||
VegetClientDirectory = "jungle_vegetables"
|
VegetClientDirectory = "jungle_vegetables"
|
||||||
|
|
||||||
# PACS primitives directories
|
# PACS primitives directories
|
||||||
PacsPrimitiveClientDirectory = "jungle_pacs_prim"
|
PacsPrimClientDirectory = "jungle_pacs_prim"
|
||||||
|
|
|
@ -37,7 +37,7 @@ ProcessToComplete += [ "displace" ] # OK
|
||||||
ProcessToComplete += [ "veget" ] # OK
|
ProcessToComplete += [ "veget" ] # OK
|
||||||
ProcessToComplete += [ "vegetset" ] # OK
|
ProcessToComplete += [ "vegetset" ] # OK
|
||||||
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process, but does not export max files
|
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process, but does not export max files
|
||||||
##ProcessToComplete += [ "pacs_prim" ]
|
ProcessToComplete += [ "pacs_prim" ]
|
||||||
|
|
||||||
# *** MAP EXPORT OPTIONS ***
|
# *** MAP EXPORT OPTIONS ***
|
||||||
PanoplyFileList = [ ]
|
PanoplyFileList = [ ]
|
||||||
|
@ -110,3 +110,6 @@ ReduceBitmapFactor = 0
|
||||||
|
|
||||||
DoBuildShadowSkin = False
|
DoBuildShadowSkin = False
|
||||||
ClodConfigFile = ""
|
ClodConfigFile = ""
|
||||||
|
|
||||||
|
# *** PACS_PRIM OPTIONS ***
|
||||||
|
WantLandscapeColPrimPacsList = True
|
||||||
|
|
|
@ -26,11 +26,32 @@
|
||||||
|
|
||||||
|
|
||||||
ProjectsToProcess = [ ]
|
ProjectsToProcess = [ ]
|
||||||
|
|
||||||
|
# Common projects
|
||||||
|
ProjectsToProcess += [ "common/fonts" ]
|
||||||
ProjectsToProcess += [ "common/interface" ]
|
ProjectsToProcess += [ "common/interface" ]
|
||||||
ProjectsToProcess += [ "common/objects" ]
|
ProjectsToProcess += [ "common/objects" ]
|
||||||
ProjectsToProcess += [ "common/sky" ]
|
ProjectsToProcess += [ "common/sfx" ]
|
||||||
|
ProjectsToProcess += [ "common/fauna" ]
|
||||||
|
|
||||||
|
# Ecosystem projects
|
||||||
ProjectsToProcess += [ "ecosystems/jungle" ]
|
ProjectsToProcess += [ "ecosystems/jungle" ]
|
||||||
|
|
||||||
|
# Continent projects
|
||||||
ProjectsToProcess += [ "continents/newbieland" ]
|
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
|
# end of file
|
||||||
|
|
Loading…
Reference in a new issue