diff --git a/code/nel/tools/build_gamedata/0_setup.py b/code/nel/tools/build_gamedata/0_setup.py index 9aa00a685..d921d03f4 100644 --- a/code/nel/tools/build_gamedata/0_setup.py +++ b/code/nel/tools/build_gamedata/0_setup.py @@ -31,9 +31,105 @@ if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") from scripts import * -from buildsite import * +try: + from buildsite import * +except ImportError: + printLog(log, "*** FIRST RUN ***") from tools import * +try: + BuildQuality +except NameError: + BuildQuality = 1 +try: + ToolDirectories +except NameError: + ToolDirectories = [ 'R:/code/nel', 'R:/code/ryzom/tools' ] +try: + ToolSuffix +except NameError: + ToolSuffix = "_r.exe" +try: + ScriptDirectory +except NameError: + ScriptDirectory = "R:/code/nel/tools/build_gamedata" +try: + WorkspaceDirectory +except NameError: + WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" +try: + DatabaseDirectory +except NameError: + DatabaseDirectory = "W:/database" +try: + ExportBuildDirectory +except NameError: + ExportBuildDirectory = "W:/export" +try: + InstallDirectory +except NameError: + InstallDirectory = "W:/install" +try: + DataShardDirectory +except NameError: + DataShardDirectory = "R:/code/ryzom/server/data_shard" +try: + ClientDevDirectory +except NameError: + ClientDevDirectory = "W:/client_dev" +try: + ClientPatchDirectory +except NameError: + ClientPatchDirectory = "W:/client_patch" +try: + ClientInstallDirectory +except NameError: + ClientInstallDirectory = "W:/client_install" +try: + LeveldesignDirectory +except NameError: + LeveldesignDirectory = "L:/leveldesign" +try: + LeveldesignDfnDirectory +except NameError: + LeveldesignDfnDirectory = "L:/leveldesign/dfn" +try: + LeveldesignWorldDirectory +except NameError: + LeveldesignWorldDirectory = "L:/leveldesign/world" +try: + PrimitivesDirectory +except NameError: + PrimitivesDirectory = "L:/primitives" +try: + GamedevDirectory +except NameError: + GamedevDirectory = "R:/code/ryzom/client/data/gamedev" +try: + DataCommonDirectory +except NameError: + DataCommonDirectory = "R:/code/ryzom/common/data_common" +try: + WindowsExeDllCfgDirectories +except NameError: + WindowsExeDllCfgDirectories = [ 'C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86', 'D:/source/external_local/bin/x86', 'D:/source/external_shared/bin/x86', 'R:/code/nel/lib', 'R:/code/ryzom/bin', 'R:/code/ryzom/client', 'R:/code/ryzom/tools/client/client_config/bin' ] +try: + MaxAvailable +except NameError: + MaxAvailable = 1 +try: + MaxDirectory +except NameError: + MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" +try: + MaxUserDirectory +except NameError: + MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" +try: + MaxExecutable +except NameError: + MaxExecutable = "3dsmax.exe" + printLog(log, "") printLog(log, "-------") printLog(log, "--- Setup build site") @@ -52,10 +148,24 @@ ScriptDirectory = askVar(log, "Script Directory", os.getcwd().replace("\\", "/") WorkspaceDirectory = askVar(log, "Workspace Directory", WorkspaceDirectory).replace("\\", "/") DatabaseDirectory = askVar(log, "Database Directory", DatabaseDirectory).replace("\\", "/") ExportBuildDirectory = askVar(log, "Export Build Directory", ExportBuildDirectory).replace("\\", "/") -ClientDataDirectory = askVar(log, "Client Data Directory", ClientDataDirectory).replace("\\", "/") +InstallDirectory = askVar(log, "Install Directory", InstallDirectory).replace("\\", "/") +DataShardDirectory = askVar(log, "Data Shard Directory", DataShardDirectory).replace("\\", "/") +ClientDevDirectory = askVar(log, "Client Dev Directory", ClientDevDirectory).replace("\\", "/") +ClientPatchDirectory = askVar(log, "Client Patch Directory", ClientPatchDirectory).replace("\\", "/") +ClientInstallDirectory = askVar(log, "Client Install Directory", ClientInstallDirectory).replace("\\", "/") LeveldesignDirectory = askVar(log, "Leveldesign Directory", LeveldesignDirectory).replace("\\", "/") LeveldesignDfnDirectory = askVar(log, "Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/") LeveldesignWorldDirectory = askVar(log, "Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/") +PrimitivesDirectory = askVar(log, "Primitives Directory", PrimitivesDirectory).replace("\\", "/") +GamedevDirectory = askVar(log, "Gamedev Directory", GamedevDirectory).replace("\\", "/") +DataCommonDirectory = askVar(log, "Data Common Directory", DataCommonDirectory).replace("\\", "/") +WindowsExeDllCfgDirectories[0] = askVar(log, "Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/") +WindowsExeDllCfgDirectories[1] = askVar(log, "Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/") +WindowsExeDllCfgDirectories[2] = askVar(log, "Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/") +WindowsExeDllCfgDirectories[3] = askVar(log, "Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/") +WindowsExeDllCfgDirectories[4] = askVar(log, "Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/") +WindowsExeDllCfgDirectories[5] = askVar(log, "Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/") +WindowsExeDllCfgDirectories[6] = askVar(log, "Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/") MaxAvailable = int(askVar(log, "3dsMax Available", str(MaxAvailable))) if MaxAvailable: MaxDirectory = askVar(log, "3dsMax Directory", MaxDirectory).replace("\\", "/") @@ -111,8 +221,12 @@ sf.write("# Data build directories\n") sf.write("DatabaseDirectory = \"" + str(DatabaseDirectory) + "\"\n") sf.write("ExportBuildDirectory = \"" + str(ExportBuildDirectory) + "\"\n") sf.write("\n") -sf.write("# Client data install directory (client/data)\n") -sf.write("ClientDataDirectory = \"" + str(ClientDataDirectory) + "\"\n") +sf.write("# Install directories\n") +sf.write("InstallDirectory = \"" + str(InstallDirectory) + "\"\n") +sf.write("DataShardDirectory = \"" + str(DataShardDirectory) + "\"\n") +sf.write("ClientDevDirectory = \"" + str(ClientDevDirectory) + "\"\n") +sf.write("ClientPatchDirectory = \"" + str(ClientPatchDirectory) + "\"\n") +sf.write("ClientInstallDirectory = \"" + str(ClientInstallDirectory) + "\"\n") sf.write("\n") sf.write("# TODO: NETWORK RECONNECT NOT IMPLEMENTED :)\n") sf.write("\n") @@ -120,6 +234,12 @@ sf.write("# Leveldesign directories\n") sf.write("LeveldesignDirectory = \"" + str(LeveldesignDirectory) + "\"\n") sf.write("LeveldesignDfnDirectory = \"" + str(LeveldesignDfnDirectory) + "\"\n") sf.write("LeveldesignWorldDirectory = \"" + str(LeveldesignWorldDirectory) + "\"\n") +sf.write("PrimitivesDirectory = \"" + str(PrimitivesDirectory) + "\"\n") +sf.write("\n") +sf.write("# Misc data directories\n") +sf.write("GamedevDirectory = \"" + str(GamedevDirectory) + "\"\n") +sf.write("DataCommonDirectory = \"" + str(DataCommonDirectory) + "\"\n") +sf.write("WindowsExeDllCfgDirectories = " + str(WindowsExeDllCfgDirectories) + "\n") sf.write("\n") sf.write("# 3dsMax directives\n") sf.write("MaxAvailable = " + str(MaxAvailable) + "\n") diff --git a/code/nel/tools/build_gamedata/4_data_shard.py b/code/nel/tools/build_gamedata/4_data_shard.py new file mode 100644 index 000000000..d138242c6 --- /dev/null +++ b/code/nel/tools/build_gamedata/4_data_shard.py @@ -0,0 +1,64 @@ +#!/usr/bin/python +# +# \file 4_data_shard.py +# \brief Install to data shard +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to data shard +# +# NeL - MMORPG Framework +# 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 . +# + +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 tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to data shard") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +for dir in InstallShardDataDirectories: + printLog(log, "SHARD DIRECTORY " + dir) + mkPath(log, InstallDirectory + "/" + dir) + mkPath(log, DataShardDirectory + "/" + dir) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/" + dir) +for dir in InstallShardDataCollisionsDirectories: + printLog(log, "SHARD COLLISIONS " + dir) + mkPath(log, InstallDirectory + "/" + dir) + mkPath(log, DataShardDirectory + "/collisions/" + dir) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/collisions/" + dir) +printLog(log, "") + +log.close() +if os.path.isfile("4_data_shard.log"): + os.remove("4_data_shard.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_data_shard.log") +shutil.move("log.log", "4_data_shard.log") diff --git a/code/nel/tools/build_gamedata/5_client_dev.py b/code/nel/tools/build_gamedata/5_client_dev.py new file mode 100644 index 000000000..d807ebf38 --- /dev/null +++ b/code/nel/tools/build_gamedata/5_client_dev.py @@ -0,0 +1,75 @@ +#!/usr/bin/python +# +# \file 5_client_dev.py +# \brief Install to client dev +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client dev +# +# NeL - MMORPG Framework +# 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 . +# + +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 tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client dev") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +if not os.path.isfile(ClientDevDirectory + "/client.cfg"): + printLog(log, ">>> Generate client.cfg <<<") + cfg = open(ClientDevDirectory + "/client.cfg", "w") + cfg.write("RootConfigFilename = \"client_default.cfg\";\n") + cfg.write("PreDataPath = {\n") + cfg.write("\t\"W:/install\", \"user\", \"patch\", \"data\", \"examples\" \n") + cfg.write("};\n") + printLog(log, "") + +printLog(log, ">>> Install data <<<") +for category in InstallClientData: + if (category["UnpackTo"] != None): + printLog(log, "CATEGORY " + category["Name"]) + targetPath = ClientDevDirectory + if (category["UnpackTo"] != ""): + targetPath += "/" + category["UnpackTo"] + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + mkPath(log, InstallDirectory + "/" + package[0]) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) +printLog(log, "") + +log.close() +if os.path.isfile("5_client_dev.log"): + os.remove("5_client_dev.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_dev.log") +shutil.move("log.log", "5_client_dev.log") diff --git a/code/nel/tools/build_gamedata/6_client_patch.py b/code/nel/tools/build_gamedata/6_client_patch.py new file mode 100644 index 000000000..7689cc404 --- /dev/null +++ b/code/nel/tools/build_gamedata/6_client_patch.py @@ -0,0 +1,149 @@ +#!/usr/bin/python +# +# \file 6_client_patch.py +# \brief Install to client patch +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client patch +# +# NeL - MMORPG Framework +# 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 . +# + +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 tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client patch") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) +PatchGen = findTool(log, ToolDirectories, PatchGenTool, ToolSuffix) +printLog(log, "") + +# Find **** HARDCODED **** WINDOWS **** tools ... TODO: fix patch_gen tool !!! +Lzma = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "lzma.exe") +printLog(log, "LZMA " + Lzma) +XDelta = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "xdelta.exe") +printLog(log, "XDELTA " + XDelta) +printLog(log, "") + +if BnpMake == "": + toolLogFail(log, BnpMakeTool, ToolSuffix) +elif PatchGen == "": + toolLogFail(log, PatchGenTool, ToolSuffix) +elif Lzma == "": + toolLogFail(log, "LZMA", ToolSuffix) +elif XDelta == "": + toolLogFail(log, "XDELTA", ToolSuffix) +elif os.path.dirname(Lzma) != os.path.dirname(XDelta): + printLog(log, "FAIL lzma.exe and xdelta.exe must be in the same directory") +else: + mkPath(log, ClientPatchDirectory) + productXml = ClientPatchDirectory + "/" + ProductName + ".xml" + if not os.path.isfile(productXml): + printLog(log, ">>> Create new product <<<") + subprocess.call([ PatchGen, "createNewProduct", productXml ]) + printLog(log, "") + printLog(log, ">>> Rewrite " + ProductName + ".xml <<<") # because we know better. + shutil.move(productXml, productXml + ".old") + oldCfg = open(productXml + ".old", "r") + cfg = open(productXml, "w") + inCategories = 0 + for line in oldCfg: + if not inCategories: + if line.strip() == "<_Categories>": + inCategories = 1 + cfg.write("\t<_Categories>\n") + for category in InstallClientData: + cfg.write("\t\t<_Category>\n") + cfg.write("\t\t\t<_Name type=\"STRING\" value=\"" + category["Name"] + "\"/>\n") + if category["UnpackTo"] != None: + if category["UnpackTo"] != "": + cfg.write("\t\t\t<_UnpackTo type=\"STRING\" value=\"./" + category["UnpackTo"] + "/\"/>\n") + else: + cfg.write("\t\t\t<_UnpackTo type=\"SINT32\" value=\"./\"/>\n") + cfg.write("\t\t\t<_IsOptional type=\"SINT32\" value=\"" + str(category["IsOptional"]) + "\"/>\n") + cfg.write("\t\t\t<_IsIncremental type=\"SINT32\" value=\"" + str(category["IsIncremental"]) + "\"/>\n") + for package in category["Packages"]: + if (len(package[1]) > 0): + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[1][0] + "\"/>\n") + else: + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[0] + ".bnp\"/>\n") + cfg.write("\t\t\n") + cfg.write("\t\n") + else: + cfg.write(line) + else: + if line.strip() == "": + inCategories = 0 + oldCfg.close() + cfg.close() + os.remove(productXml + ".old") + printLog(log, "") + printLog(log, ">>> Make bnp <<<") + targetPath = ClientPatchDirectory + "/bnp" + mkPath(log, targetPath) + for category in InstallClientData: + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + sourcePath = InstallDirectory + "/" + package[0] + mkPath(log, sourcePath) + targetBnp = targetPath + "/" + package[0] + ".bnp" + if (len(package[1]) > 0): + targetBnp = targetPath + "/" + package[1][0] + printLog(log, "TARGET " + package[1][0]) + needUpdateBnp = 1 + if (len(package) > 2): + needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp) + else: + needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp) + if (needUpdateBnp): + printLog(log, "BNP " + targetBnp) + subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1]) + else: + printLog(log, "SKIP " + targetBnp) + printLog(log, "") + printLog(log, ">>> Update product <<<") + cwDir = os.getcwd().replace("\\", "/") + toolDir = os.path.dirname(Lzma).replace("\\", "/") + os.chdir(toolDir) + subprocess.call([ PatchGen, "updateProduct", productXml ]) + os.chdir(cwDir) + printLog(log, "") + + +log.close() +if os.path.isfile("6_client_patch.log"): + os.remove("6_client_patch.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_patch.log") +shutil.move("log.log", "6_client_patch.log") diff --git a/code/nel/tools/build_gamedata/7_client_install.py b/code/nel/tools/build_gamedata/7_client_install.py new file mode 100644 index 000000000..b5a5bab1f --- /dev/null +++ b/code/nel/tools/build_gamedata/7_client_install.py @@ -0,0 +1,93 @@ +#!/usr/bin/python +# +# \file 7_client_install.py +# \brief Install to client install +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client install +# +# NeL - MMORPG Framework +# 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 . +# + +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 tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client install") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) +printLog(log, "") + +if BnpMake == "": + toolLogFail(log, BnpMakeTool, ToolSuffix) +else: + for category in InstallClientData: + printLog(log, "CATEGORY " + category["Name"]) + if (category["UnpackTo"] != None): + targetPath = ClientInstallDirectory + if (category["UnpackTo"] != ""): + targetPath += "/" + category["UnpackTo"] + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + mkPath(log, InstallDirectory + "/" + package[0]) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) + else: + targetPath = ClientInstallDirectory + "/data" + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + sourcePath = InstallDirectory + "/" + package[0] + mkPath(log, sourcePath) + targetBnp = targetPath + "/" + package[0] + ".bnp" + if (len(package[1]) > 0): + targetBnp = targetPath + "/" + package[1][0] + printLog(log, "TARGET " + package[1][0]) + needUpdateBnp = 1 + if (len(package) > 2): + needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp) + else: + needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp) + if (needUpdateBnp): + printLog(log, "BNP " + targetBnp) + subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1]) + else: + printLog(log, "SKIP " + targetBnp) +printLog(log, "") + +log.close() +if os.path.isfile("7_client_install.log"): + os.remove("7_client_install.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_install.log") +shutil.move("log.log", "7_client_install.log") diff --git a/code/nel/tools/build_gamedata/configuration/buildsite.py b/code/nel/tools/build_gamedata/configuration/buildsite.py deleted file mode 100644 index 35b585057..000000000 --- a/code/nel/tools/build_gamedata/configuration/buildsite.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python -# -# \file site.py -# \brief Site configuration -# \date 2010-06-04-21-25-GMT -# \author Jan Boon (Kaetemi) -# Python port of game data build pipeline. -# Site configuration. -# -# NeL - MMORPG Framework -# 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 . -# - - -# *** SITE INSTALLATION *** - -# Use '/' in path name, not '' -# Don't put '/' at the end of a directory name - - -# Quality option for this site (1 for BEST, 0 for DRAFT) -BuildQuality = 1 - -ToolDirectories = ['R:/code/nel', 'R:/code/ryzom/tools'] -ToolSuffix = "_r.exe" - -# Build script directory -ScriptDirectory = "W:/build_gamedata" -WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" - -# Data build directories -DatabaseDirectory = "W:/database" -ExportBuildDirectory = "W:/export" - -# Client data install directory (client/data) -ClientDataDirectory = "S:/ryzom_client_open/user" - -# TODO: NETWORK RECONNECT NOT IMPLEMENTED :) - -# Leveldesign directories -LeveldesignDirectory = "L:/leveldesign" -LeveldesignDfnDirectory = "L:/leveldesign/dfn" -LeveldesignWorldDirectory = "L:/leveldesign/world" - -# 3dsMax directives -MaxAvailable = 1 -MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" -MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" -MaxExecutable = "3dsmax.exe" - - -# end of file diff --git a/code/nel/tools/build_gamedata/configuration/scripts.py b/code/nel/tools/build_gamedata/configuration/scripts.py index a913815db..57eee98cb 100644 --- a/code/nel/tools/build_gamedata/configuration/scripts.py +++ b/code/nel/tools/build_gamedata/configuration/scripts.py @@ -44,7 +44,7 @@ def needUpdate(log, source, dest): else: return 0 return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) return 0 def needUpdateRemoveDest(log, source, dest): @@ -56,7 +56,7 @@ def needUpdateRemoveDest(log, source, dest): else: return 0 return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) return 0 def needUpdateLogRemoveDest(log, source, dest): @@ -71,45 +71,60 @@ def needUpdateLogRemoveDest(log, source, dest): return 0 printLog(log, source + " -> " + dest) return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) printLog(log, "SKIP " + dest) return 0 def copyFileList(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + if needUpdateLogRemoveDest(log, dir_source + "/" + fileName, dir_target + "/" + fileName): + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) def copyFileListNoTree(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) def copyFileListNoTreeIfNeeded(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn" and fileName != "*.*": - srcFile = dir_source + "/" + fileName - destFile = dir_target + "/" + os.path.basename(fileName) - if needUpdateLogRemoveDest(log, srcFile, destFile): - shutil.copy(srcFile, destFile) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + srcFile = dir_source + "/" + fileName + destFile = dir_target + "/" + os.path.basename(fileName) + if needUpdateLogRemoveDest(log, srcFile, destFile): + shutil.copy(srcFile, destFile) def removeFilesRecursive(log, dir_files): files = os.listdir(dir_files) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_files + "/" + fileName): removeFilesRecursive(log, dir_files + "/" + fileName) else: printLog(log, "RM " + dir_files + "/" + fileName) os.remove(dir_files + "/" + fileName) +def removeFilesDirsRecursive(log, dir_files): + files = os.listdir(dir_files) + for fileName in files: + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): + if os.path.isdir(dir_files + "/" + fileName): + removeFilesRecursive(log, dir_files + "/" + fileName) + else: + printLog(log, "RM " + dir_files + "/" + fileName) + os.remove(dir_files + "/" + fileName) + printLog(log, "RMDIR " + dir_files) + os.rmdir(dir_files) + def removeFilesRecursiveExt(log, dir_files, file_ext): files = os.listdir(dir_files) len_file_ext = len(file_ext) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_files + "/" + fileName): removeFilesRecursiveExt(log, dir_files + "/" + fileName, file_ext) elif (fileName[-len_file_ext:].lower() == file_ext.lower()): @@ -120,7 +135,7 @@ def copyFilesRecursive(log, dir_source, dir_target): files = os.listdir(dir_source) mkPath(log, dir_target) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_source + "/" + fileName): copyFilesRecursive(log, dir_source + "/" + fileName, dir_target + "/" + fileName) else: @@ -134,18 +149,20 @@ def copyFilesExt(log, dir_source, dir_target, file_ext): files = os.listdir(dir_source) len_file_ext = len(file_ext) for fileName in files: - if (fileName != ".svn") and (fileName[-len_file_ext:].lower() == file_ext.lower()): - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*") and (fileName[-len_file_ext:].lower() == file_ext.lower()): + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) def copyFilesRenamePrefixExt(log, dir_source, dir_target, old_prefix, new_prefix, file_ext): files = os.listdir(dir_source) len_file_ext = len(file_ext) len_prefix = len(old_prefix) for fileName in files: - if (fileName != ".svn") and (fileName[-len_file_ext:].lower() == file_ext.lower()) and ((fileName[:len_prefix].lower() == old_prefix.lower())): - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*") and (fileName[-len_file_ext:].lower() == file_ext.lower()) and ((fileName[:len_prefix].lower() == old_prefix.lower())): + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) def copyFilesExtNoSubdir(log, dir_source, dir_target, file_ext): files = findFilesNoSubdir(log, dir_source, file_ext) @@ -166,13 +183,18 @@ def copyFilesExtNoSubdirIfNeeded(log, dir_source, dir_target, file_ext): def copyFilesNoTreeIfNeeded(log, dir_source, dir_target): copyFileListNoTreeIfNeeded(log, dir_source, dir_target, os.listdir(dir_source)) +def copyFilesRecursiveNoTreeIfNeeded(log, dir_source, dir_target): + files = findFilesRecursive(log, dir_source, "") + copyFileListNoTreeIfNeeded(log, dir_source, dir_target, files) + def copyFileListExtReplaceNoTreeIfNeeded(log, dir_source, dir_target, files, file_ext, target_ext): for fileName in files: - if fileName != ".svn" and fileName != "*.*": - srcFile = dir_source + "/" + fileName - destFile = dir_target + "/" + os.path.basename(fileName)[0:-len(file_ext)] + target_ext - if needUpdateLogRemoveDest(log, srcFile, destFile): - shutil.copy(srcFile, destFile) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + srcFile = dir_source + "/" + fileName + destFile = dir_target + "/" + os.path.basename(fileName)[0:-len(file_ext)] + target_ext + if needUpdateLogRemoveDest(log, srcFile, destFile): + shutil.copy(srcFile, destFile) def copyFilesExtReplaceNoTreeIfNeeded(log, dir_source, dir_target, file_ext, target_ext): files = findFiles(log, dir_source, "", file_ext) @@ -184,20 +206,44 @@ def copyFileIfNeeded(log, srcFile, destFile): def moveFileListNoTree(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) - shutil.move(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, "MOVE " + dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) + shutil.move(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) def moveFilesExtNoTree(log, dir_source, dir_target, file_ext): files = findFiles(log, dir_source, "", file_ext) moveFileListNoTree(log, dir_source, dir_target, files) +def moveFilesNoSubdir(log, dir_source, dir_target): + files = os.listdir(dir_source) + moveFileListNoTree(log, dir_source, dir_target, files) + +def moveDir(log, dir_source, dir_target): + printLog(log, "MOVE " + dir_source + " -> " + dir_target) + shutil.move(dir_source, dir_target) + +def findFilesRecursive(log, dir_where, dir_sub): + result = [ ] + files = os.listdir(dir_where + "/" + dir_sub) + for fileName in files: + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + filePath = dir_sub + fileName + fileFull = dir_where + "/" + dir_sub + fileName + if os.path.isfile(fileFull): + result += [ filePath ] + elif os.path.isdir(fileFull): + result += findFilesRecursive(log, dir_where, filePath + "/") + else: + printLog(log, "findFilesRecursive: file not dir or file?!" + filePath) + return result + def findFiles(log, dir_where, dir_sub, file_ext): result = [ ] files = os.listdir(dir_where + "/" + dir_sub) len_file_ext = len(file_ext) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": filePath = dir_sub + fileName fileFull = dir_where + "/" + dir_sub + fileName if os.path.isfile(fileFull): @@ -209,12 +255,15 @@ def findFiles(log, dir_where, dir_sub, file_ext): printLog(log, "findFiles: file not dir or file?!" + filePath) return result +def isLegalFileName(fileName): + return fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*" + def findFilesNoSubdir(log, dir_where, file_ext): result = [ ] files = os.listdir(dir_where) len_file_ext = len(file_ext) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": fileFull = dir_where + "/" + fileName if os.path.isfile(fileFull): if fileName[-len_file_ext:].lower() == file_ext.lower(): @@ -226,7 +275,7 @@ def findFilesNoSubdir(log, dir_where, file_ext): def findFile(log, dir_where, file_name): files = os.listdir(dir_where) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": filePath = dir_where + "/" + fileName if os.path.isfile(filePath): if fileName == file_name: @@ -264,6 +313,26 @@ def needUpdateDirByTagLog(log, dir_source, ext_source, dir_dest, ext_dest): printLog(log, "SKIP " + str(skipCount) + " / " + str(len(sourceFiles)) + "; DEST " + str(len(destFiles))) return 0 +def needUpdateDirNoSubdirFile(log, dir_source, file_dest): + if not os.path.isfile(file_dest): + return 1 + destTime = os.stat(file_dest).st_mtime + sourceFiles = os.listdir(dir_source) + for file in sourceFiles: + filePath = dir_source + "/" + file + if os.path.isfile(filePath): + fileTime = os.stat(filePath).st_mtime + if fileTime > destTime: + return 1 + else: + return 0 + +def needUpdateMultiDirNoSubdirFile(log, root_dir, dirs_source, file_dest): + for dir_source in dirs_source: + if needUpdateDirNoSubdirFile(log, root_dir + "/" + dir_source, file_dest): + return 1 + return 0 + def needUpdateDirNoSubdir(log, dir_source, dir_dest): latestSourceFile = 0 oldestDestFile = 0 @@ -329,6 +398,17 @@ def needUpdateDirNoSubdirLogExtMultidir(log, all_dir_base, all_dir_source, dir_s printLog(log, "SKIP *") return 0 +def findFileMultiDir(log, dirs_where, file_name): + try: + for dir in dirs_where: + file = findFile(log, dir, file_name) + if file != "": + return file + except Exception, e: + printLog(log, "EXCEPTION " + str(e)) + printLog(log, "FILE NOT FOUND " + file_name) + return "" + def findTool(log, dirs_where, file_name, suffix): try: for dir in dirs_where: diff --git a/code/nel/tools/build_gamedata/configuration/tools.py b/code/nel/tools/build_gamedata/configuration/tools.py index f099dffe0..e533270c1 100644 --- a/code/nel/tools/build_gamedata/configuration/tools.py +++ b/code/nel/tools/build_gamedata/configuration/tools.py @@ -37,7 +37,6 @@ SmallbankBuildTimeout = 60000 FarbankBuildTimeout = 180000 AnimExportTimeout = 1800000 IgExportTimeout = 600000 -MapsBuildTimeout = 10000 CmbExportTimeout = 60000 RbankBuildTesselTimeout = 6000000 RbankBuildSmoothTimeout = 6000000 @@ -49,6 +48,7 @@ LigoExportTimeout = 3600000 LigoBuildTimeout = 1800000 PacsPrimExportTimeout = 600000 +MapsBuildTimeout = 60000 # 1min MaxShapeExportTimeout = 600000 # 10min # *** TOOLS CONFIGURATION *** @@ -63,7 +63,6 @@ ZoneWelderTool = "zone_welder" BuildRbankTool = "build_rbank" BuildIndoorRbankTool = "build_indoor_rbank" BuildIgBoxesTool = "build_ig_boxes" -AiBuildWmapTool = "ai_build_wmap" GetNeighborsTool = "get_neighbors" ZoneLighterTool = "zone_lighter" ZoneIgLighterTool = "zone_ig_lighter" @@ -85,3 +84,8 @@ PrimExportTool = "prim_export" IgElevationTool = "ig_elevation" IgAddTool = "ig_add" BuildClodBankTool = "build_clod_bank" +SheetsPackerTool = "sheets_packer" +BnpMakeTool = "bnp_make" +AiBuildWmapTool = "ai_build_wmap" +TgaCutTool = "tga_cut" +PatchGenTool = "patch_gen" diff --git a/code/nel/tools/build_gamedata/export_build_install.py b/code/nel/tools/build_gamedata/export_build_install.py index 8fab529c5..4cce78ced 100644 --- a/code/nel/tools/build_gamedata/export_build_install.py +++ b/code/nel/tools/build_gamedata/export_build_install.py @@ -26,7 +26,7 @@ import shutil, subprocess -# subprocess.call([ "python", "0_setup.py" ]) subprocess.call([ "python", "1_export.py" ]) subprocess.call([ "python", "2_build.py" ]) subprocess.call([ "python", "3_install.py" ]) + diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py index e5a91741c..769b11b9d 100644 --- a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py +++ b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py @@ -99,6 +99,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -148,6 +164,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -171,29 +191,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py index 7a7478b99..6b567708e 100644 --- a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py +++ b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py @@ -110,6 +110,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py index d6d65d689..46dbe5d0a 100644 --- a/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py +++ b/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py @@ -47,7 +47,7 @@ def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exp newline = newline.replace("%PreGenFileExtension%", fileExtension) newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable) newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable) - newline = newline.replace("%PreGenClientDirectoryVariable%", clientDirectoryVariable) + newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable) return newline def generateSimpleMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp): @@ -88,15 +88,15 @@ def generateSimpleMaxExporter(processName, fileExtension, sourceDirectoriesVaria -generateSimpleMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimClientDirectory") +generateSimpleMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimInstallDirectory") -generateSimpleMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimClientDirectory") +generateSimpleMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimInstallDirectory") -generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelClientDirectory") +generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelInstallDirectory") -generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtClientDirectory") +generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtInstallDirectory") -generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneClientDirectory") +generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneInstallDirectory") diff --git a/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py index d7a62a478..a7b1d8ac1 100644 --- a/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py +++ b/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py @@ -53,7 +53,7 @@ def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exp newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable) newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable) newline = newline.replace("%PreGenTagExportDirectoryVariable%", tagExportDirectoryVariable) - newline = newline.replace("%PreGenClientDirectoryVariable%", clientDirectoryVariable) + newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable) return newline def generateTaggedMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp): @@ -100,13 +100,13 @@ def generateTaggedMaxExporter(processName, fileExtension, sourceDirectoriesVaria -generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodClientDirectory") +generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodInstallDirectory") generateTaggedMaxScript("ig", "ig") -generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsClientDirectory") +generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsInstallDirectory") -generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetClientDirectory") +generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetInstallDirectory") diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py index a2c6ef2b2..6afe3d077 100644 --- a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py +++ b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + %PreGenClientDirectoryVariable%) +mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%) log.close() diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py index c9486b77f..ba496ac8f 100644 --- a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py +++ b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install %PreGenProcessName% <<<") exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + %PreGenClientDirectoryVariable% -mkPath(log, clientPath) -copyFilesExtNoSubdirIfNeeded(log, exportPath, clientPath, ".%PreGenFileExtension%") +installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable% +mkPath(log, installPath) +copyFilesExtNoSubdirIfNeeded(log, exportPath, installPath, ".%PreGenFileExtension%") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py index d572c1f43..5554a2d4a 100644 --- a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py +++ b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + %PreGenClientDirectoryVariable%) +mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%) log.close() diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py index f3dde5aa2..277d66022 100644 --- a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py +++ b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install %PreGenProcessName% <<<") exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + %PreGenClientDirectoryVariable% -mkPath(log, clientPath) -copyFilesNoTreeIfNeeded(log, exportPath, clientPath) +installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable% +mkPath(log, installPath) +copyFilesNoTreeIfNeeded(log, exportPath, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/install_client_dev.py b/code/nel/tools/build_gamedata/install_client_dev.py new file mode 100644 index 000000000..63d8268d6 --- /dev/null +++ b/code/nel/tools/build_gamedata/install_client_dev.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# +# \file export_build_install.py +# \brief Run all processes +# \date 2009-02-18 15:28GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Run all processes +# +# NeL - MMORPG Framework +# 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 . +# + +import shutil, subprocess + +subprocess.call([ "python", "3_install.py" ]) +subprocess.call([ "python", "5_client_dev.py" ]) + diff --git a/code/nel/tools/build_gamedata/install_data_shard.py b/code/nel/tools/build_gamedata/install_data_shard.py new file mode 100644 index 000000000..46b6697b9 --- /dev/null +++ b/code/nel/tools/build_gamedata/install_data_shard.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# +# \file export_build_install.py +# \brief Run all processes +# \date 2009-02-18 15:28GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Run all processes +# +# NeL - MMORPG Framework +# 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 . +# + +import shutil, subprocess + +subprocess.call([ "python", "3_install.py" ]) +subprocess.call([ "python", "4_data_shard.py" ]) + diff --git a/code/nel/tools/build_gamedata/processes/0_setup.py b/code/nel/tools/build_gamedata/processes/0_setup.py index 8a853bb50..cb6de2abb 100644 --- a/code/nel/tools/build_gamedata/processes/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/0_setup.py @@ -49,7 +49,7 @@ from directories import * #printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) #printLog(log, "") #for dir in ClientSetupDirectories: -# mkPath(log, ClientDataDirectory + "/" + dir) +# mkPath(log, InstallDirectory + "/" + dir) #printLog(log, "") printLog(log, "") diff --git a/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py b/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py index 80bf39ac6..5ec3438a2 100644 --- a/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -#mkPath(log, ClientDataDirectory + "/" + DummyClientDirectory) +#mkPath(log, InstallDirectory + "/" + DummyInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/_dummy/3_install.py b/code/nel/tools/build_gamedata/processes/_dummy/3_install.py index ba92a6bba..2a3789e28 100644 --- a/code/nel/tools/build_gamedata/processes/_dummy/3_install.py +++ b/code/nel/tools/build_gamedata/processes/_dummy/3_install.py @@ -43,18 +43,18 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -#clientPath = ClientDataDirectory + "/" + DummyClientDirectory -#mkPath(log, clientPath) +#installPath = InstallDirectory + "/" + DummyInstallDirectory +#mkPath(log, installPath) printLog(log, ">>> Install dummy <<<") #mkPath(log, ExportBuildDirectory + "/" + DummyExportDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyExportDirectory, clientPath, ".dummy") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyExportDirectory, installPath, ".dummy") #mkPath(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dummy") -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dds") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, installPath, ".dummy") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, installPath, ".dds") #mkPath(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory, clientPath, ".anim") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory, installPath, ".anim") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py b/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py new file mode 100644 index 000000000..d70a5f75f --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py @@ -0,0 +1,98 @@ +#!/usr/bin/python +# +# \file 0_setup.py +# \brief setup ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Setup ai_wmap +# +# NeL - MMORPG Framework +# 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 . +# + +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 ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Setup build directories +printLog(log, ">>> Setup build directories <<<") +mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory) + +# Setup lookup directories +printLog(log, ">>> Setup lookup directories <<<") +for dir in IgLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) +for dir in PacsPrimLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) + +# Setup client directories +printLog(log, ">>> Setup install directories <<<") +mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory) + +# Setup client directories +printLog(log, ">>> Setup configuration <<<") +mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory) +mkPath(log, ActiveProjectDirectory + "/generated") +cfg = open(ActiveProjectDirectory + "/generated/ai_build_wmap.cfg", "w") +cfg.write("\n") +cfg.write("// AI BUILD WMAP CONFIGURATION\n") +cfg.write("\n") +cfg.write("Paths = {\n") +for dir in IgLookupDirectories: + cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") +cfg.write("\t\"" + ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "\", \n") +cfg.write("\t\"" + LeveldesignDirectory + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.write("NoRecursePaths = { };\n") +cfg.write("\n") +cfg.write("PacsPrimPaths = {\n") +for dir in PacsPrimLookupDirectories: + cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.write("OutputPath = \"" + ExportBuildDirectory + "/" + AiWmapBuildDirectory + "\";\n") +cfg.write("\n") +cfg.write("Commands = {\n") +cfg.write("\t\"Verbose " + str(AiWmapVerbose) + "\", \n") +for startPoint in AiWmapStartPoints: + cfg.write("\t\"setStartPoint " + startPoint + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.close() + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py b/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py new file mode 100644 index 000000000..cdd4dad97 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 1_export.py +# \brief Export ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Export ai_wmap +# +# NeL - MMORPG Framework +# 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 . +# + +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 ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py b/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py new file mode 100644 index 000000000..df3202249 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py @@ -0,0 +1,95 @@ +#!/usr/bin/python +# +# \file 2_build.py +# \brief Build ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Build ai_wmap +# +# NeL - MMORPG Framework +# 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 . +# + +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 ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +AiBuildWmap = findTool(log, ToolDirectories, AiBuildWmapTool, ToolSuffix) +TgaCut = findTool(log, ToolDirectories, TgaCutTool, ToolSuffix) + +if AiBuildWmap == "": + toolLogFail(log, AiBuildWmapTool, ToolSuffix) +if TgaCut == "": + toolLogFail(log, TgaCutTool, ToolSuffix) +else: + printLog(log, ">>> Copy ai_build_wmap.cfg <<<") + cfgPath = ActiveProjectDirectory + "/generated/ai_build_wmap.cfg" + tagPath = ExportBuildDirectory + "/" + AiWmapBuildTagDirectory + "/ai_wmap_build.tag" + shutil.copy(cfgPath, "ai_build_wmap.cfg") + printLog(log, ">>> Check up packed sheets <<<") + subprocess.call([ AiBuildWmap, "checkPackedSheets" ]) + printLog(log, ">>> Build ai_wmap <<<") + mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory) + if (needUpdate(log, "continents.packed_sheets", tagPath) or needUpdateMultiDirNoSubdirFile(log, ExportBuildDirectory, [ RbankOutputBuildDirectory ] + IgLookupDirectories + PacsPrimLookupDirectories, tagPath)): + printLog(log, ">>> Generate wmap <<<") + subprocess.call([ AiBuildWmap, "pacsCrunch " + AiWmapContinentName ]) + printLog(log, ">>> Generate sized wmap <<<") + subprocess.call([ AiBuildWmap, "pacsBuildGabarit " + AiWmapContinentName ]) + printLog(log, ">>> Generate cwmaps for each size <<<") + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_0" ]) + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_1" ]) + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_2" ]) + printLog(log, ">>> Generate bitmap for each size <<<") + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_0" ]) + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_1" ]) + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_2" ]) + printLog(log, ">>> Clear height maps for size 1 and 2 <<<") + subprocess.call([ AiBuildWmap, "pacsClearHeightmap " + AiWmapContinentName ]) + printLog(log, ">>> Cut tga for world editor <<<") + subprocess.call([ TgaCut, ExportBuildDirectory + "/" + AiWmapBuildDirectory + "/" + AiWmapContinentName + "_0.tga" ]) + moveFilesExtNoTree(log, ".", ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".tga") + printLog(log, ">>> Remove wmap <<<") + removeFilesRecursiveExt(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".wmap") + tagFile = open(tagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() + else: + printLog("SKIP *") +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py b/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py new file mode 100644 index 000000000..c5508830b --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py @@ -0,0 +1,57 @@ +#!/usr/bin/python +# +# \file 3_install.py +# \brief Install ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install ai_wmap +# +# NeL - MMORPG Framework +# 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 . +# + +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 ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +installPath = InstallDirectory + "/" + AiWmapInstallDirectory +mkPath(log, installPath) + +printLog(log, ">>> Install ai_wmap <<<") +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, installPath) + +printLog(log, "") +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/anim/0_setup.py b/code/nel/tools/build_gamedata/processes/anim/0_setup.py index 5722b4238..87d4fc711 100644 --- a/code/nel/tools/build_gamedata/processes/anim/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/anim/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + AnimBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + AnimClientDirectory) +mkPath(log, InstallDirectory + "/" + AnimInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/anim/1_export.py b/code/nel/tools/build_gamedata/processes/anim/1_export.py index 48f674fba..2ab46263a 100644 --- a/code/nel/tools/build_gamedata/processes/anim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/anim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export anim -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export anim diff --git a/code/nel/tools/build_gamedata/processes/anim/3_install.py b/code/nel/tools/build_gamedata/processes/anim/3_install.py index c9b3c6875..2b410544e 100644 --- a/code/nel/tools/build_gamedata/processes/anim/3_install.py +++ b/code/nel/tools/build_gamedata/processes/anim/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install anim <<<") srcDir = ExportBuildDirectory + "/" + AnimBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + AnimClientDirectory +destDir = InstallDirectory + "/" + AnimInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/cegui/0_setup.py b/code/nel/tools/build_gamedata/processes/cegui/0_setup.py index 94b227869..6a6faf525 100644 --- a/code/nel/tools/build_gamedata/processes/cegui/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/cegui/0_setup.py @@ -57,7 +57,7 @@ mkPath(log, ExportBuildDirectory + "/" + CeguiImagesetBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + CeguiImagesetClientDirectory) +mkPath(log, InstallDirectory + "/" + CeguiImagesetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/cegui/3_install.py b/code/nel/tools/build_gamedata/processes/cegui/3_install.py index 02ffe9a27..b76322183 100644 --- a/code/nel/tools/build_gamedata/processes/cegui/3_install.py +++ b/code/nel/tools/build_gamedata/processes/cegui/3_install.py @@ -45,7 +45,7 @@ printLog(log, "") printLog(log, ">>> Install cegui imagesets <<<") srcDir = ExportBuildDirectory + "/" + CeguiImagesetBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + CeguiImagesetClientDirectory +destDir = InstallDirectory + "/" + CeguiImagesetInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py b/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py index e28f629d9..07bdd207f 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py @@ -61,7 +61,7 @@ mkPath(log, ExportBuildDirectory + "/" + AnimBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ShapeClientDirectory) +mkPath(log, InstallDirectory + "/" + ShapeInstallDirectory) # Setup configuration files printLog(log, ">>> Setup configuration files <<<") diff --git a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py index 5e52e0375..99e9f85ea 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export clodbank -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export clodbank diff --git a/code/nel/tools/build_gamedata/processes/clodbank/3_install.py b/code/nel/tools/build_gamedata/processes/clodbank/3_install.py index 6879f3da8..b75ef21d7 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install clodbank <<<") srcDir = ExportBuildDirectory + "/" + ClodBankBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + ShapeClientDirectory +destDir = InstallDirectory + "/" + ShapeInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/copy/0_setup.py b/code/nel/tools/build_gamedata/processes/copy/0_setup.py new file mode 100644 index 000000000..6ae63631b --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/0_setup.py @@ -0,0 +1,76 @@ +#!/usr/bin/python +# +# \file 0_setup.py +# \brief setup copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Setup copy +# +# NeL - MMORPG Framework +# 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 . +# + +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 copy") +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 CopyDirectSourceDirectories: + mkPath(log, dir) +for file in CopyDirectSourceFiles: + mkPath(log, os.path.dirname(file)) +for dir in CopyLeveldesignSourceDirectories: + mkPath(log, LeveldesignDirectory + "/" + dir) +for file in CopyLeveldesignSourceFiles: + mkPath(log, os.path.dirname(LeveldesignDirectory + "/" + file)) +for dir in CopyLeveldesignWorldSourceDirectories: + mkPath(log, LeveldesignWorldDirectory + "/" + dir) +for file in CopyLeveldesignWorldSourceFiles: + mkPath(log, os.path.dirname(LeveldesignWorldDirectory + "/" + file)) +for dir in CopyLeveldesignDfnSourceDirectories: + mkPath(log, LeveldesignDfnDirectory + "/" + dir) +for file in CopyLeveldesignDfnSourceFiles: + mkPath(log, os.path.dirname(LeveldesignDfnDirectory + "/" + file)) +for dir in CopyDatabaseSourceDirectories: + mkPath(log, DatabaseDirectory + "/" + dir) +for file in CopyDatabaseSourceFiles: + mkPath(log, os.path.dirname(DatabaseDirectory + "/" + file)) + +# Setup client directories +printLog(log, ">>> Setup client directories <<<") +mkPath(log, InstallDirectory + "/" + CopyInstallDirectory) + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/1_export.py b/code/nel/tools/build_gamedata/processes/copy/1_export.py new file mode 100644 index 000000000..c2e7ef229 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/1_export.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 1_export.py +# \brief Export copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Export copy +# +# NeL - MMORPG Framework +# 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 . +# + +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 copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/2_build.py b/code/nel/tools/build_gamedata/processes/copy/2_build.py new file mode 100644 index 000000000..bd3ff2f50 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/2_build.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 2_build.py +# \brief Build copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Build copy +# +# NeL - MMORPG Framework +# 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 . +# + +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 copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/3_install.py b/code/nel/tools/build_gamedata/processes/copy/3_install.py new file mode 100644 index 000000000..9d597a987 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/3_install.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +# +# \file 3_install.py +# \brief Install copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install copy +# +# NeL - MMORPG Framework +# 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 . +# + +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 copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +installPath = InstallDirectory + "/" + CopyInstallDirectory +mkPath(log, installPath) + +printLog(log, ">>> Install copy <<<") +for dir in CopyDirectSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, dir, installPath) +for file in CopyDirectSourceFiles: + copyFileIfNeeded(log, file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDirectory + "/" + dir, installPath) +for file in CopyLeveldesignSourceFiles: + copyFileIfNeeded(log, LeveldesignDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignWorldSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignWorldDirectory + "/" + dir, installPath) +for file in CopyLeveldesignWorldSourceFiles: + copyFileIfNeeded(log, LeveldesignWorldDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignDfnSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDfnDirectory + "/" + dir, installPath) +for file in CopyLeveldesignDfnSourceFiles: + copyFileIfNeeded(log, LeveldesignDfnDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyDatabaseSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, installPath) +for file in CopyDatabaseSourceFiles: + copyFileIfNeeded(log, DatabaseDirectory + "/" + file, installPath + "/" + os.path.basename(file)) + +try: + CopyWindowsExeDllCfgSourceFiles +except NameError: + CopyWindowsExeDllCfgSourceFiles = [ ] +for file in CopyWindowsExeDllCfgSourceFiles: + filePath = findFileMultiDir(log, WindowsExeDllCfgDirectories, file) + if (filePath != ""): + copyFileIfNeeded(log, filePath, installPath + "/" + os.path.basename(file)) + +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/displace/0_setup.py b/code/nel/tools/build_gamedata/processes/displace/0_setup.py index 27ba463ef..ef647efa6 100644 --- a/code/nel/tools/build_gamedata/processes/displace/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/displace/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + DisplaceClientDirectory) +mkPath(log, InstallDirectory + "/" + DisplaceInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/displace/3_install.py b/code/nel/tools/build_gamedata/processes/displace/3_install.py index 2e6fb48f7..edbbf92c9 100644 --- a/code/nel/tools/build_gamedata/processes/displace/3_install.py +++ b/code/nel/tools/build_gamedata/processes/displace/3_install.py @@ -44,11 +44,11 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install displace <<<") -clientPath = ClientDataDirectory + "/" + DisplaceClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + DisplaceInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + DisplaceExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, clientPath, ".tga") -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, clientPath, ".png") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, installPath, ".tga") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, installPath, ".png") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/farbank/0_setup.py b/code/nel/tools/build_gamedata/processes/farbank/0_setup.py index 8f160a579..d8b93d355 100644 --- a/code/nel/tools/build_gamedata/processes/farbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/farbank/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + FarbankBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/farbank/3_install.py b/code/nel/tools/build_gamedata/processes/farbank/3_install.py index 334c165c4..b12c77ef9 100644 --- a/code/nel/tools/build_gamedata/processes/farbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/farbank/3_install.py @@ -45,8 +45,8 @@ printLog(log, "") printLog(log, ">>> Install farbank <<<") mkPath(log, ExportBuildDirectory + "/" + FarbankBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + FarbankBuildDirectory, ClientDataDirectory + "/" + BankClientDirectory, ".farbank") +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + FarbankBuildDirectory, InstallDirectory + "/" + BankInstallDirectory, ".farbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/font/0_setup.py b/code/nel/tools/build_gamedata/processes/font/0_setup.py index 3eb5a97fd..4d05d3370 100644 --- a/code/nel/tools/build_gamedata/processes/font/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/font/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + FontClientDirectory) +mkPath(log, InstallDirectory + "/" + FontInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/font/3_install.py b/code/nel/tools/build_gamedata/processes/font/3_install.py index 4415c1195..30f2e136c 100644 --- a/code/nel/tools/build_gamedata/processes/font/3_install.py +++ b/code/nel/tools/build_gamedata/processes/font/3_install.py @@ -43,16 +43,16 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + FontClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + FontInstallDirectory +mkPath(log, installPath) fontExportDir = ExportBuildDirectory + "/" + FontExportDirectory mkPath(log, fontExportDir) printLog(log, ">>> Install font <<<") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".ttf") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".afm") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfb") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfm") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".ttf") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".afm") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".pfb") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".pfm") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig/0_setup.py b/code/nel/tools/build_gamedata/processes/ig/0_setup.py index 7ff7d4281..232c6df9f 100644 --- a/code/nel/tools/build_gamedata/processes/ig/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ig/0_setup.py @@ -70,7 +70,7 @@ mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -#mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) +#mkPath(log, InstallDirectory + "/" + IgInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig/3_install.py b/code/nel/tools/build_gamedata/processes/ig/3_install.py index 219344789..f568645d3 100644 --- a/code/nel/tools/build_gamedata/processes/ig/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ig/3_install.py @@ -43,7 +43,7 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPathIg = ClientDataDirectory + "/" + IgClientDirectory +clientPathIg = InstallDirectory + "/" + IgInstallDirectory mkPath(log, clientPathIg) printLog(log, ">>> Install ig <<<") diff --git a/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py b/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py index 78c5df79f..77487976d 100644 --- a/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py @@ -56,7 +56,7 @@ mkPath(log, ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) +mkPath(log, InstallDirectory + "/" + IgInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig_light/3_install.py b/code/nel/tools/build_gamedata/processes/ig_light/3_install.py index 37aba90a7..c510d9263 100644 --- a/code/nel/tools/build_gamedata/processes/ig_light/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ig_light/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install ig_light <<<") srcDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + IgClientDirectory +destDir = InstallDirectory + "/" + IgInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/interface/0_setup.py b/code/nel/tools/build_gamedata/processes/interface/0_setup.py index d77614701..3ed0feeed 100644 --- a/code/nel/tools/build_gamedata/processes/interface/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/interface/0_setup.py @@ -69,7 +69,7 @@ mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + InterfaceClientDirectory) +mkPath(log, InstallDirectory + "/" + InterfaceInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/interface/1_export.py b/code/nel/tools/build_gamedata/processes/interface/1_export.py index 37911ba7e..ed7806f7c 100644 --- a/code/nel/tools/build_gamedata/processes/interface/1_export.py +++ b/code/nel/tools/build_gamedata/processes/interface/1_export.py @@ -56,8 +56,8 @@ for dirs in InterfaceSourceDirectories: mkPath(log, newpath) for dir in dirs: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".png") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".tga") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".png") printLog(log, "") # For each interface directory to compress in one DXTC @@ -65,8 +65,8 @@ printLog(log, ">>> Export interface dxtc <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory) for dir in InterfaceDxtcSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".png") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".tga") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".png") printLog(log, "") # For each interface fullscreen directory compress independently all in dds @@ -96,8 +96,7 @@ printLog(log, ">>> Export interface 3d <<<") mkPath(log, ExportBuildDirectory + "/" + Interface3DExportDirectory) for dir in Interface3DSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory, ".png") + copyFiles(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/interface/3_install.py b/code/nel/tools/build_gamedata/processes/interface/3_install.py index e8b6ef832..a920c9384 100644 --- a/code/nel/tools/build_gamedata/processes/interface/3_install.py +++ b/code/nel/tools/build_gamedata/processes/interface/3_install.py @@ -43,24 +43,24 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + InterfaceClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + InterfaceInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install interface <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory, installPath) printLog(log, ">>> Install interface dxtc <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory, installPath) printLog(log, ">>> Install interface fullscreen <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory, installPath) printLog(log, ">>> Install interface 3d <<<") mkPath(log, ExportBuildDirectory + "/" + Interface3DExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + Interface3DExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + Interface3DExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/0_setup.py b/code/nel/tools/build_gamedata/processes/map/0_setup.py index 555226840..a41ec9658 100644 --- a/code/nel/tools/build_gamedata/processes/map/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/map/0_setup.py @@ -49,6 +49,10 @@ for dir in MapSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) for dir in MapUncompressedSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) +if MapHlsBankFileName != None or MapPanoplyFileList != None: + for panoplyCfg in MapPanoplySourceDirectories: + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[2]) + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[3]) # Setup export directories printLog(log, ">>> Setup export directories <<<") @@ -58,11 +62,16 @@ mkPath(log, ExportBuildDirectory + "/" + MapUncompressedExportDirectory) # Setup build directories printLog(log, ">>> Setup build directories <<<") mkPath(log, ExportBuildDirectory + "/" + MapBuildDirectory) -mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) +if MapHlsBankFileName != None or MapPanoplyFileList != None: + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + MapClientDirectory) +mkPath(log, InstallDirectory + "/" + MapInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/2_build.py b/code/nel/tools/build_gamedata/processes/map/2_build.py index 8a1ba5711..338e1b114 100644 --- a/code/nel/tools/build_gamedata/processes/map/2_build.py +++ b/code/nel/tools/build_gamedata/processes/map/2_build.py @@ -50,10 +50,61 @@ PanoplyMaker = findTool(log, ToolDirectories, PanoplyMakerTool, ToolSuffix) HlsBankMaker = findTool(log, ToolDirectories, HlsBankMakerTool, ToolSuffix) printLog(log, "") -printLog(log, ">>> Panoply <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +buildPanoplyTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_panoply.tag" +buildCompressTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_compress.tag" + +if MapPanoplyFileList != None: + printLog(log, ">>> Panoply build <<<") + mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) + directoriesCheck = [ ] + for panoplyCfg in MapPanoplySourceDirectories: + directoriesCheck += [ panoplyCfg[2] ] + directoriesCheck += [ panoplyCfg[3] ] + if (needUpdateMultiDirNoSubdirFile(log, DatabaseDirectory, directoriesCheck, buildPanoplyTagPath)): + mkPath(log, ActiveProjectDirectory + "/generated") + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + printLog(log, "") + printLog(log, ">>> Move panoply and hls to cache <<<") + removeFilesDirsRecursive(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + moveDir(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + moveFilesNoSubdir(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + printLog(log, "") + for panoplyCfg in MapPanoplySourceDirectories: + printLog(log, ">>> Panoply " + panoplyCfg[1] + " <<<") + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[2]) + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[3]) + cfg = open(ActiveProjectDirectory + "/generated/current_panoply.cfg", "w") + cfgCommon = open(ActiveProjectDirectory + "/" + panoplyCfg[0], "r") + cfgRace = open(ActiveProjectDirectory + "/" + panoplyCfg[1], "r") + cfg.write("\n") + cfg.write("// CURRENT PANOPLY CONFIGURATION\n") + cfg.write("\n") + cfg.write("input_path = \"" + DatabaseDirectory + "/" + panoplyCfg[2] + "\";\n") + cfg.write("additionnal_paths = \"" + DatabaseDirectory + "/" + panoplyCfg[3] + "\";\n") + cfg.write("output_path = \"" + ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + "\";\n") + cfg.write("hls_info_path = \"" + ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory + "\";\n") + cfg.write("cache_path = \"" + ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory + "\";\n") + cfg.write("\n") + cfg.write("/////////////////////////////////////////////\n") + cfg.write("\n") + for line in cfgCommon: + cfg.write(line) + for line in cfgRace: + cfg.write(line) + cfg.close() + cfgCommon.close() + cfgRace.close() + subprocess.call([ PanoplyMaker, ActiveProjectDirectory + "/generated/current_panoply.cfg" ]) + printLog(log, "") + tagFile = open(buildPanoplyTagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() + else: + printLog(log, "SKIP *.*") + printLog(log, "") printLog(log, ">>> Compress TGA and PNG maps to DDS <<<") if TgaToDds == "": @@ -61,34 +112,55 @@ if TgaToDds == "": elif ExecTimeout == "": toolLogFail(log, ExecTimeoutTool, ToolSuffix) else: - sourcePath = ExportBuildDirectory + "/" + MapExportDirectory - mkPath(log, sourcePath) destPath = ExportBuildDirectory + "/" + MapBuildDirectory mkPath(log, destPath) - files = findFilesNoSubdir(log, sourcePath, ".tga") - for file in files: - sourceFile = sourcePath + "/" + file - destFile = destPath + "/" + os.path.basename(file)[0:-len(".tga")] + ".dds" - if needUpdateLogRemoveDest(log, sourceFile, destFile): - subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) - files = findFilesNoSubdir(log, sourcePath, ".png") - for file in files: - sourceFile = sourcePath + "/" + file - destFile = destPath + "/" + os.path.basename(file)[0:-len(".png")] + ".dds" - if needUpdateLogRemoveDest(log, sourceFile, destFile): - subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) - copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".dds") + sourcePaths = [ ExportBuildDirectory + "/" + MapExportDirectory ] + writeTag = 0 + if MapPanoplyFileList != None: + if needUpdate(log, buildPanoplyTagPath, buildCompressTagPath): + sourcePaths += [ ExportBuildDirectory + "/" + MapPanoplyBuildDirectory ] + else: + printLog(log, "SKIP " + ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + "/*.*") + for sourcePath in sourcePaths: + mkPath(log, sourcePath) + files = os.listdir(sourcePath) + len_tga_png = len(".tga") + len_dds = len(".dds") + for fileName in files: + if isLegalFileName(fileName): + sourceFile = sourcePath + "/" + fileName + if os.path.isfile(sourceFile): + if (fileName[-len_tga_png:].lower() == ".tga") or (fileName[-len_tga_png:].lower() == ".png"): + destFile = destPath + "/" + os.path.basename(fileName)[0:-len_tga_png] + ".dds" + if needUpdateLogRemoveDest(log, sourceFile, destFile): + subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) + writeTag = 1 + elif fileName[-len_dds:].lower() == ".dds": + copyFileIfNeeded(log, sourceFile, destPath + "/" + os.path.basename(fileName)) + writeTag = 1 + elif not os.path.isdir(sourceFile): + printLog(log, "FAIL ?! file not dir or file ?! " + sourceFile) + if writeTag: + tagFile = open(buildCompressTagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() printLog(log, "") -printLog(log, ">>> Compress panoply maps to DDS <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") - -printLog(log, ">>> Build the HLSBank (if hlsInfo present, and if build wanted) <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +if MapHlsBankFileName != None: + printLog(log, ">>> Build the HLSBank <<<") + if HlsBankMaker == "": + toolLogFail(log, HlsBankMakerTool, ToolSuffix) + else: + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory) + hlsBankPath = ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory + "/" + MapHlsBankFileName + if (needUpdate(log, buildPanoplyTagPath, hlsBankPath) or needUpdate(log, buildCompressTagPath, hlsBankPath)): + if os.path.isfile(hlsBankPath): + os.remove(hlsBankPath) + subprocess.call([ HlsBankMaker, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory, hlsBankPath ]) + else: + printLog(log,"SKIP " + hlsBankPath) + printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/3_install.py b/code/nel/tools/build_gamedata/processes/map/3_install.py index 4c0a86360..ffcefdf07 100644 --- a/code/nel/tools/build_gamedata/processes/map/3_install.py +++ b/code/nel/tools/build_gamedata/processes/map/3_install.py @@ -43,32 +43,46 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + MapClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + MapInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install map <<<") -sourcePath = ExportBuildDirectory + "/" + MapBuildDirectory -mkPath(log, sourcePath) -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".dds") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".png") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".tga") -sourcePath = ExportBuildDirectory + "/" + MapUncompressedExportDirectory -mkPath(log, sourcePath) -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".dds") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".png") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".tga") +sourcePaths = [ ExportBuildDirectory + "/" + MapBuildDirectory ] + [ ExportBuildDirectory + "/" + MapUncompressedExportDirectory ] +for sourcePath in sourcePaths: + mkPath(log, sourcePath) + files = os.listdir(sourcePath) + len_ext = 4 + for fileName in files: + if isLegalFileName(fileName): + sourceFile = sourcePath + "/" + fileName + if os.path.isfile(sourceFile): + if (fileName[-len_ext:].lower() == ".tga") or (fileName[-len_ext:].lower() == ".png") or (fileName[-len_ext:].lower() == ".dds"): + copyFileIfNeeded(log, sourceFile, installPath + "/" + os.path.basename(fileName)) + elif not os.path.isdir(sourceFile): + printLog(log, "FAIL ?! file not dir or file ?! " + sourceFile) -printLog(log, ">>> Install map panoply <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") -mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) -copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, clientPath, ".dds") +if MapPanoplyFileList != None: + printLog(log, ">>> Install panoply file list <<<") + buildPanoplyTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_panoply.tag" + mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) + if needUpdate(log, buildPanoplyTagPath, installPath + "/" + MapPanoplyFileList): + sourcePath = ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + mkPath(log, sourcePath) + printLog(log, "WRITE " + installPath + "/" + MapPanoplyFileList) + lf = open(installPath + "/" + MapPanoplyFileList, "w") + files = os.listdir(sourcePath) + for file in files: + if isLegalFileName(file): + lf.write(file + "\n") + lf.close() + else: + printLog(log, "SKIP " + installPath + "/" + MapPanoplyBuildDirectory) -printLog(log, ">>> Install map hlsbank <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +if MapHlsBankFileName != None: + printLog(log, ">>> Install map hlsbank <<<") + sourcePath = ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory + mkPath(log, sourcePath) + copyFilesExtNoSubdirIfNeeded(log, sourcePath, installPath, ".hlsbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py b/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py index db68c6484..ae06f1147 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PacsPrimClientDirectory) +mkPath(log, InstallDirectory + "/" + PacsPrimInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py index b598d84bf..5779a8cd7 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export pacs_prim -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export pacs_prim diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py b/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py index abd174652..ae5a741ac 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + PacsPrimClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + PacsPrimInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install pacs_prim <<<") mkPath(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory) -copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory, clientPath, ".pacs_prim") +copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory, installPath, ".pacs_prim") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ps/0_setup.py b/code/nel/tools/build_gamedata/processes/ps/0_setup.py index 54c1ee692..7de51f437 100644 --- a/code/nel/tools/build_gamedata/processes/ps/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ps/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PsClientDirectory) +mkPath(log, InstallDirectory + "/" + PsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ps/3_install.py b/code/nel/tools/build_gamedata/processes/ps/3_install.py index 67671d031..a49f4dfc2 100644 --- a/code/nel/tools/build_gamedata/processes/ps/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ps/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install ps <<<") srcDir = ExportBuildDirectory + "/" + PsExportDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + PsClientDirectory +destDir = InstallDirectory + "/" + PsInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py index 042dde26c..96295f2b3 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py @@ -74,7 +74,7 @@ mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PacsClientDirectory) +mkPath(log, InstallDirectory + "/" + PacsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/rbank/1_export.py b/code/nel/tools/build_gamedata/processes/rbank/1_export.py index 5540c0a43..54679a28a 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/rbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export rbank -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export rbank diff --git a/code/nel/tools/build_gamedata/processes/rbank/3_install.py b/code/nel/tools/build_gamedata/processes/rbank/3_install.py index 363afc3b2..ad79019c8 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/rbank/3_install.py @@ -44,21 +44,21 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install rbank <<<") -clientPath = ClientDataDirectory + "/" + PacsClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + PacsInstallDirectory +mkPath(log, installPath) srcPath = ExportBuildDirectory + "/" + RbankOutputBuildDirectory mkPath(log, srcPath) -copyFilesNoTreeIfNeeded(log, srcPath, clientPath) -#clientPath = ClientDataDirectory + "/" + PacsClientDirectory -#mkPath(log, clientPath) +copyFilesNoTreeIfNeeded(log, srcPath, installPath) +#installPath = InstallDirectory + "/" + PacsInstallDirectory +#mkPath(log, installPath) #srcPath = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory #mkPath(log, srcPath) -#copyFileIfNeeded(log, srcPath + "/tempMerged.rbank", clientPath + "/" + RbankRbankName + ".rbank") -#copyFileIfNeeded(log, srcPath + "/tempMerged.gr", clientPath + "/" + RbankRbankName + ".gr") +#copyFileIfNeeded(log, srcPath + "/tempMerged.rbank", installPath + "/" + RbankRbankName + ".rbank") +#copyFileIfNeeded(log, srcPath + "/tempMerged.gr", installPath + "/" + RbankRbankName + ".gr") #for file in findFiles(log, srcPath, "", ".lr"): -# copyFileIfNeeded(log, srcPath + "/" + file, clientPath + "/" + file.replace("tempMerged", RbankRbankName)) +# copyFileIfNeeded(log, srcPath + "/" + file, installPath + "/" + file.replace("tempMerged", RbankRbankName)) # mkPath(log, ExportBuildDirectory + "/" + rbankBuildDirectory) -# copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + rbankBuildDirectory, clientPath) +# copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + rbankBuildDirectory, installPath) #copyFileIfNeeded printLog(log, "") diff --git a/code/nel/tools/build_gamedata/processes/shape/0_setup.py b/code/nel/tools/build_gamedata/processes/shape/0_setup.py index 5183c38de..0f93e1574 100644 --- a/code/nel/tools/build_gamedata/processes/shape/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/shape/0_setup.py @@ -47,8 +47,11 @@ printLog(log, "") printLog(log, ">>> Setup source directories <<<") for dir in ShapeSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) -for dir in MapSourceDirectories: - mkPath(log, DatabaseDirectory + "/" + dir) + +# Setup pipeline lookup directories +printLog(log, ">>> Setup pipeline lookup directories <<<") +for dir in MapLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) # Setup export directories printLog(log, ">>> Setup export directories <<<") @@ -69,8 +72,8 @@ mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ShapeClientDirectory) -mkPath(log, ClientDataDirectory + "/" + LightmapClientDirectory) +mkPath(log, InstallDirectory + "/" + ShapeInstallDirectory) +mkPath(log, InstallDirectory + "/" + LightmapInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/shape/2_build.py b/code/nel/tools/build_gamedata/processes/shape/2_build.py index 60873e12a..25f421ad1 100644 --- a/code/nel/tools/build_gamedata/processes/shape/2_build.py +++ b/code/nel/tools/build_gamedata/processes/shape/2_build.py @@ -111,8 +111,8 @@ if len(CoarseMeshTextureNames) > 0: cf.write("search_path = \n") cf.write("{\n") cf.write("\t\"" + shapeWithCoarseMesh + "\", \n") - for dir in MapSourceDirectories: - cf.write("\t\"" + DatabaseDirectory + "/" + dir + "\", \n") + for dir in MapLookupDirectories: + cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") cf.write("};\n") cf.write("\n") cf.write("list_mesh = \n") diff --git a/code/nel/tools/build_gamedata/processes/shape/3_install.py b/code/nel/tools/build_gamedata/processes/shape/3_install.py index 393216e8f..0d206f530 100644 --- a/code/nel/tools/build_gamedata/processes/shape/3_install.py +++ b/code/nel/tools/build_gamedata/processes/shape/3_install.py @@ -44,24 +44,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install shape <<<") -clientPath = ClientDataDirectory + "/" + ShapeClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + ShapeInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, clientPath, ".shape") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, installPath, ".shape") mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".shape") -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".dds") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, installPath, ".shape") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, installPath, ".dds") mkPath(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory, clientPath, ".anim") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory, installPath, ".anim") # ls anim | grep ".anim" >> $client_directory/auto_animations_list.txt printLog(log, ">>> Install shape lightmaps <<<") -clientPath = ClientDataDirectory + "/" + LightmapClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + LightmapInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory, clientPath, ".tga") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory, installPath, ".tga") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py b/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py index e72948c6f..deffd0d9d 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py @@ -46,18 +46,16 @@ printLog(log, "") # Setup source directories printLog(log, ">>> Setup source directories <<<") mkPath(log, LeveldesignDirectory) -mkPath(log, LeveldesignDfnDirectory) +mkPath(log, LeveldesignWorldDirectory) # Setup export directories printLog(log, ">>> Setup export directories <<<") # Setup build directories printLog(log, ">>> Setup build directories <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SheetIdClientDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py index aebadb110..f935a4500 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py @@ -53,9 +53,8 @@ if MakeSheetId == "": toolLogFail(log, MakeSheetIdTool, ToolSuffix) else: mkPath(log, LeveldesignDirectory) - mkPath(log, LeveldesignDfnDirectory) - mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) - subprocess.call([ MakeSheetId, "-c" + ScriptDirectory + "/configuration/make_sheet_id.cfg", "-o" + ExportBuildDirectory + "/" + SheetIdBuildDirectory + "/" + "sheet_id.bin", LeveldesignDirectory ]) + mkPath(log, LeveldesignWorldDirectory) + subprocess.call([ MakeSheetId, "-o" + LeveldesignDirectory + "/game_elem/sheet_id.bin", LeveldesignDirectory + "/game_elem", LeveldesignDirectory + "/game_element", LeveldesignWorldDirectory ]) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py b/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py index 72ef526aa..736db921c 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py @@ -43,13 +43,6 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SheetIdClientDirectory -mkPath(log, clientPath) - -printLog(log, ">>> Install sheet_id <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory, clientPath, ".bin") - printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/0_setup.py b/code/nel/tools/build_gamedata/processes/sheets/0_setup.py index 3f13ff715..4cee78e17 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sheets/0_setup.py @@ -47,18 +47,20 @@ printLog(log, "") printLog(log, ">>> Setup source directories <<<") mkPath(log, LeveldesignDirectory) mkPath(log, LeveldesignDfnDirectory) +mkPath(log, DataCommonDirectory) +mkPath(log, GamedevDirectory) +mkPath(log, PrimitivesDirectory) # Setup export directories printLog(log, ">>> Setup export directories <<<") # Setup build directories printLog(log, ">>> Setup build directories <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SheetsClientDirectory) +mkPath(log, InstallDirectory + "/" + SheetsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/2_build.py b/code/nel/tools/build_gamedata/processes/sheets/2_build.py index 0b439ab4b..511b05004 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheets/2_build.py @@ -44,19 +44,39 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # Find tools -BuildSheets = findTool(log, ToolDirectories, BuildSheetsTool, ToolSuffix) +SheetsPacker = findTool(log, ToolDirectories, SheetsPackerTool, ToolSuffix) printLog(log, "") # For each sheets directory printLog(log, ">>> Build sheets <<<") -if BuildSheets == "": - toolLogFail(log, BuildSheetsTool, ToolSuffix) +if SheetsPacker == "": + toolLogFail(log, SheetsPackerTool, ToolSuffix) else: mkPath(log, LeveldesignDirectory) mkPath(log, LeveldesignDfnDirectory) - mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) + mkPath(log, DataCommonDirectory) + mkPath(log, GamedevDirectory) + mkPath(log, PrimitivesDirectory) mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) - subprocess.call([ BuildSheets, LeveldesignDirectory, LeveldesignDfnDirectory, ExportBuildDirectory + "/" + SheetIdBuildDirectory, ExportBuildDirectory + "/" + SheetsBuildDirectory ]) + cf = open("sheets_packer.cfg", "w") + cf.write("\n") + cf.write("// SHEETS PACKER CONFIG FILE\n") + cf.write("\n") + cf.write("DataPath = \n") + cf.write("{\n") + cf.write("\t\"" + LeveldesignDirectory + "\", \n") + cf.write("\t\"" + LeveldesignDfnDirectory + "\", \n") + cf.write("\t\"" + DataCommonDirectory + "\", \n") + cf.write("\t\"" + GamedevDirectory + "\", \n") + cf.write("\t\"" + PrimitivesDirectory + "\", \n") + cf.write("};\n") + cf.write("WorldSheet = \"" + WorldSheet + "\";\n") + cf.write("PrimitivesPath = \"" + PrimitivesDirectory + "\";\n") + cf.write("OutputDataPath = \"" + ExportBuildDirectory + "/" + SheetsBuildDirectory + "\";\n") + cf.write("LigoPrimitiveClass = \"" + LigoPrimitiveClass + "\";\n") + cf.write("\n") + cf.close() + subprocess.call([ SheetsPacker ]) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/3_install.py b/code/nel/tools/build_gamedata/processes/sheets/3_install.py index 9ea39b797..98b5cb825 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sheets/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SheetsClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SheetsInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install sheets <<<") mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, clientPath, ".packed_sheets") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, installPath, ".packed_sheets") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/skel/0_setup.py b/code/nel/tools/build_gamedata/processes/skel/0_setup.py index c45805523..5b55bce40 100644 --- a/code/nel/tools/build_gamedata/processes/skel/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/skel/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SkelClientDirectory) +mkPath(log, InstallDirectory + "/" + SkelInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/skel/1_export.py b/code/nel/tools/build_gamedata/processes/skel/1_export.py index b468ed7d8..af73024c5 100644 --- a/code/nel/tools/build_gamedata/processes/skel/1_export.py +++ b/code/nel/tools/build_gamedata/processes/skel/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export skel -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export skel diff --git a/code/nel/tools/build_gamedata/processes/skel/3_install.py b/code/nel/tools/build_gamedata/processes/skel/3_install.py index a3b2c874d..b705f482c 100644 --- a/code/nel/tools/build_gamedata/processes/skel/3_install.py +++ b/code/nel/tools/build_gamedata/processes/skel/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SkelClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SkelInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install skel <<<") mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SkelExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SkelExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py b/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py index 9ed9ad5a0..4b2b65be5 100644 --- a/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py @@ -56,7 +56,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/smallbank/3_install.py b/code/nel/tools/build_gamedata/processes/smallbank/3_install.py index b1093c043..ae3d3b8c7 100644 --- a/code/nel/tools/build_gamedata/processes/smallbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/smallbank/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + BankClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + BankInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install smallbank <<<") mkPath(log, ExportBuildDirectory + "/" + SmallbankExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SmallbankExportDirectory, clientPath, ".smallbank") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SmallbankExportDirectory, installPath, ".smallbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sound/0_setup.py b/code/nel/tools/build_gamedata/processes/sound/0_setup.py index ec039517a..b3e9ada60 100644 --- a/code/nel/tools/build_gamedata/processes/sound/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sound/0_setup.py @@ -59,8 +59,8 @@ mkPath(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SoundSheetsClientDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory) +mkPath(log, InstallDirectory + "/" + SoundSheetsInstallDirectory) +mkPath(log, InstallDirectory + "/" + SoundSamplebanksInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sound/3_install.py b/code/nel/tools/build_gamedata/processes/sound/3_install.py index 90bd31d42..6184c48be 100644 --- a/code/nel/tools/build_gamedata/processes/sound/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sound/3_install.py @@ -45,13 +45,13 @@ printLog(log, "") printLog(log, ">>> Install sound packed_sheets <<<") mkPath(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSheetsClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory, ClientDataDirectory + "/" + SoundSheetsClientDirectory, ".packed_sheets") +mkPath(log, InstallDirectory + "/" + SoundSheetsInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory, InstallDirectory + "/" + SoundSheetsInstallDirectory, ".packed_sheets") printLog(log, ">>> Install sound samplebanks <<<") mkPath(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory, ".sample_bank") +mkPath(log, InstallDirectory + "/" + SoundSamplebanksInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory, InstallDirectory + "/" + SoundSamplebanksInstallDirectory, ".sample_bank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/swt/0_setup.py b/code/nel/tools/build_gamedata/processes/swt/0_setup.py index 28da85a07..d00e67eed 100644 --- a/code/nel/tools/build_gamedata/processes/swt/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/swt/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SwtClientDirectory) +mkPath(log, InstallDirectory + "/" + SwtInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/swt/1_export.py b/code/nel/tools/build_gamedata/processes/swt/1_export.py index 9ac863866..3b8da1d0f 100644 --- a/code/nel/tools/build_gamedata/processes/swt/1_export.py +++ b/code/nel/tools/build_gamedata/processes/swt/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export swt -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export swt diff --git a/code/nel/tools/build_gamedata/processes/swt/3_install.py b/code/nel/tools/build_gamedata/processes/swt/3_install.py index 76ce2edaf..912af9625 100644 --- a/code/nel/tools/build_gamedata/processes/swt/3_install.py +++ b/code/nel/tools/build_gamedata/processes/swt/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SwtClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SwtInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install skeleton weigths <<<") mkPath(log, ExportBuildDirectory + "/" + SwtExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SwtExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SwtExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/tiles/0_setup.py b/code/nel/tools/build_gamedata/processes/tiles/0_setup.py index 8657a63cb..83673e4e1 100644 --- a/code/nel/tools/build_gamedata/processes/tiles/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/tiles/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + TilesClientDirectory) +mkPath(log, InstallDirectory + "/" + TilesInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/tiles/3_install.py b/code/nel/tools/build_gamedata/processes/tiles/3_install.py index 39b8ac141..c8ee504e2 100644 --- a/code/nel/tools/build_gamedata/processes/tiles/3_install.py +++ b/code/nel/tools/build_gamedata/processes/tiles/3_install.py @@ -44,9 +44,9 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install tiles <<<") -mkPath(log, ClientDataDirectory + "/" + TilesClientDirectory) +mkPath(log, InstallDirectory + "/" + TilesInstallDirectory) mkPath(log, ExportBuildDirectory + "/" + TilesExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + TilesExportDirectory, ClientDataDirectory + "/" + TilesClientDirectory) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + TilesExportDirectory, InstallDirectory + "/" + TilesInstallDirectory) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/veget/0_setup.py b/code/nel/tools/build_gamedata/processes/veget/0_setup.py index 5c41088e8..67f7211aa 100644 --- a/code/nel/tools/build_gamedata/processes/veget/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/veget/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + VegetClientDirectory) +mkPath(log, InstallDirectory + "/" + VegetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/veget/1_export.py b/code/nel/tools/build_gamedata/processes/veget/1_export.py index 9dec2c5e4..86a9d770b 100644 --- a/code/nel/tools/build_gamedata/processes/veget/1_export.py +++ b/code/nel/tools/build_gamedata/processes/veget/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export veget -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export veget diff --git a/code/nel/tools/build_gamedata/processes/veget/3_install.py b/code/nel/tools/build_gamedata/processes/veget/3_install.py index 69a2ec539..a772e4d53 100644 --- a/code/nel/tools/build_gamedata/processes/veget/3_install.py +++ b/code/nel/tools/build_gamedata/processes/veget/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install veget <<<") exportPath = ExportBuildDirectory + "/" + VegetExportDirectory mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + VegetClientDirectory -mkPath(log, clientPath) -copyFilesNoTreeIfNeeded(log, exportPath, clientPath) +installPath = InstallDirectory + "/" + VegetInstallDirectory +mkPath(log, installPath) +copyFilesNoTreeIfNeeded(log, exportPath, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py b/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py index 8fd055f3c..5b820b133 100644 --- a/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + VegetSetClientDirectory) +mkPath(log, InstallDirectory + "/" + VegetSetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/vegetset/3_install.py b/code/nel/tools/build_gamedata/processes/vegetset/3_install.py index 94a3e4c0b..fffb0e204 100644 --- a/code/nel/tools/build_gamedata/processes/vegetset/3_install.py +++ b/code/nel/tools/build_gamedata/processes/vegetset/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + VegetSetClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + VegetSetInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install vegetset <<<") mkPath(log, ExportBuildDirectory + "/" + VegetSetExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + VegetSetExportDirectory, clientPath, ".vegetset") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + VegetSetExportDirectory, installPath, ".vegetset") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone/0_setup.py b/code/nel/tools/build_gamedata/processes/zone/0_setup.py index e6dc014d9..3f5fd835f 100644 --- a/code/nel/tools/build_gamedata/processes/zone/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/zone/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + ZoneWeldBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ZoneClientDirectory) +mkPath(log, InstallDirectory + "/" + ZoneInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone/1_export.py b/code/nel/tools/build_gamedata/processes/zone/1_export.py index d8b936d2a..8b34753c9 100644 --- a/code/nel/tools/build_gamedata/processes/zone/1_export.py +++ b/code/nel/tools/build_gamedata/processes/zone/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export zone -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export zone diff --git a/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py b/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py index 7ce53d05c..4b9b62cc2 100644 --- a/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py @@ -63,9 +63,9 @@ mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ZoneClientDirectory) -mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) -mkPath(log, ClientDataDirectory + "/" + WaterMapsClientDirectory) +mkPath(log, InstallDirectory + "/" + ZoneInstallDirectory) +mkPath(log, InstallDirectory + "/" + IgInstallDirectory) +mkPath(log, InstallDirectory + "/" + WaterMapsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone_light/3_install.py b/code/nel/tools/build_gamedata/processes/zone_light/3_install.py index 0edfe83dc..062031bb4 100644 --- a/code/nel/tools/build_gamedata/processes/zone_light/3_install.py +++ b/code/nel/tools/build_gamedata/processes/zone_light/3_install.py @@ -46,21 +46,21 @@ printLog(log, "") printLog(log, ">>> Install zone_light zones <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + ZoneClientDirectory +destDir = InstallDirectory + "/" + ZoneInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) printLog(log, ">>> Install zone_light water maps <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightWaterShapesLightedExportDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + WaterMapsClientDirectory +destDir = InstallDirectory + "/" + WaterMapsInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) printLog(log, ">>> Install zone_light igs <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightIgLandBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + IgClientDirectory +destDir = InstallDirectory + "/" + IgInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/work_in_progress b/code/nel/tools/build_gamedata/work_in_progress deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/ryzom/tools/build_gamedata/work_in_progress b/code/ryzom/tools/build_gamedata/work_in_progress deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py new file mode 100644 index 000000000..7ed25452c --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py @@ -0,0 +1,82 @@ +#!/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 +# 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 . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "cfg" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** SPECIAL SOURCES *** + +# Copy dir directories +CopyWindowsExeDllCfgSourceFiles = [ ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_1.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_2.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_3.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_4.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_1.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_2.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_3.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_4.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_ram_256.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_ram_512.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_sound_buffer.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_32.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_64.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_128.cfg" ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Copy +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py b/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py new file mode 100644 index 000000000..5a8279c05 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py @@ -0,0 +1,37 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "cfg" +CommonPath = "common/" + CommonName + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg new file mode 100644 index 000000000..08128b23e --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg @@ -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; diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py new file mode 100644 index 000000000..b2a63d5fb --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py @@ -0,0 +1,188 @@ +#!/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 +# 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 . +# + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Skeleton directories +SkelSourceDirectories = [ ] +SkelSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/roadsign/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/ship/animation/skeletons" ] + +# Skeleton template weight directories +SwtSourceDirectories = [ ] +SwtSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/matis/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/matis/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/swt" ] + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/roadsign" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/ship" ] +ShapeSourceDirectories += [ "stuff/generique/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/generique/agents/actors/male" ] + +# Animation directories +AnimSourceDirectories = [ ] +AnimSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/roadsign/animation/anims" ] +AnimSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/ship/animation/anims" ] + +# cLoD shape directories +ClodSourceDirectories = [ ] +ClodSourceDirectories += [ "stuff/lod_actors/lod_" + CommonName ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories used by shape +MapLookupDirectories = [ ] + + +# *** 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" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# 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 *** + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" +LightmapInstallDirectory = ShapeInstallDirectory + +# Animation directory +AnimInstallDirectory = CommonName + "_animations" + +# Skeleton directory +SkelInstallDirectory = CommonName + "_skeletons" + +# Skeleton directory +SwtInstallDirectory = CommonName + "_swt" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py b/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py new file mode 100644 index 000000000..89dbf1d89 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py @@ -0,0 +1,108 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "skel" ] +ProcessToComplete += [ "swt" ] +ProcessToComplete += [ "shape" ] +ProcessToComplete += [ "anim" ] +ProcessToComplete += [ "clodbank" ] + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters" +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 + + +#panoply_file_list = panoply_files.txt ??? +#hls_bank_file_name = characters.hlsbank ??? + + + +# *** CLODBANK OPTIONS *** + +ClodConfigFile = "stuff/lod_actors/lod_" + CommonName + "/clod_char_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" ] + + +# *** SHADOW SKIN OPTIONS *** +# Characters are made of approx 4000 polys with multiple Skins binded (legs, short, torso...). 35% => 1400 polys. +BuildShadowSkin = 1 +BuildShadowSkinRatio = 35 +BuildShadowSkinMaxface = 2000 + + +# *** ANIMATIONS OPTIONS *** + +DoOptimizeAnimations = 1 diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py new file mode 100644 index 000000000..2e516872f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py @@ -0,0 +1,78 @@ +#!/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 +# 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 . +# + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters_maps_hr" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/caravan/agents/_textures/actors" ] +MapSourceDirectories += [ "stuff/caravan/agents/_textures/actors/visages" ] + +MapUncompressedSourceDirectories = [ ] + +MapPanoplySourceDirectories = [ ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_matis.cfg" ] + [ "stuff/matis/agents/_textures/actors" ] + [ "stuff/matis/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_tryker.cfg" ] + [ "stuff/tryker/agents/_textures/actors" ] + [ "stuff/tryker/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_fyros.cfg" ] + [ "stuff/fyros/agents/_textures/actors" ] + [ "stuff/fyros/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_zorai.cfg" ] + [ "stuff/zorai/agents/_textures/actors" ] + [ "stuff/zorai/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_generique.cfg" ] + [ "stuff/generique/agents/_textures/actors" ] + [ "stuff/generique/agents/_textures/actors/mask" ] ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg new file mode 100644 index 000000000..ad93114b0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg @@ -0,0 +1,64 @@ + +// A character that is used to generate output names when a mask is not defined for a texture. +default_col_char = "_"; +// default ascii character for unused masks +default_separator = "_"; + +// output format +output_format = "tga"; + +// the types of bitmaps that must be loaded from the source folder +bitmap_extensions = { "TGA", "tga", "PNG", "png" }; + +// tranform 512*512 to 64*64 by default +// low_def_shift = 3; + +///////////////////////////////////////////// + +// Let's define colors for mask1 +// hues are in the [0, 360] range and are interpreted as an absolute value +// 0 Red +// 60 Yellow +// 120 Green +// 180 Cyan +// 240 Blue +// 300 Magenta + +// lightness are in the [-1, 1] range and are interpreted as a relative value +// brightness are in the [-1, 1] range and are interpreted as a relative value + +// luminosities is interpreted as an added gray level. It usually ranges from -100 to 100 (like with photoshop) +// A luminositie of 0 means it is unmodified +// contrasts modulate the distance between colors components and the avg grey in the bitmap +// If the contrasts is 0 we got unmodified color. +// If the contrast is 100 the colors becomes pure +// If the contrast is -100 the colors becomes grey + +///////////////////////////////////////////// + +//skin_hues = { 30, 40, 35, 220 }; +skin_hues = { 23, 28, 27, 220 }; +skin_lightness = { -0.1, 0.1, 0.0, -0.2 }; +skin_saturations = { 0.05, -0.15, 0.0, -0.3 }; + +skin_luminosities = { 0.0, 0.0, 0.0, 0.0 }; +skin_constrasts = { 0.0, 0.0, 0.0, 0.0 }; + +// the color ids define the letters that are used to build the file +skin_color_id = { "FY", "MA", "TR", "ZO" }; + +///////////////////////////////////////////// + +//user_hues = { 0, 35, 80, 150, 210, 250, 0, 0 }; +user_hues = { 10, 30, 78, 153, 212, 345, 35, 235 }; +user_lightness = { 0.0, 0.0, 0.0, -0.05, 0.0, 0.0, 0.1, -0.1 }; +user_saturations = { 0.3, 0.2, 0.1, 0.25, -0.02, 0.0, -0.2, -0.25 }; + +user_luminosities = { -20, 0, -10, -20, -30, -35, 50, -30 }; +user_constrasts = { 0, 0, 5, 5, 7, 10, 40, -10 }; + +// the color ids define the letters that are used to build the file +//user_color_id = { "_A", "_B", "_C", "_D", "_E", "_F", "blanc", "noir" }; +user_color_id = { "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg new file mode 100644 index 000000000..83240b242 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 18, 42, 25, 10, 20, 240 }; +hair_lightness = { 0.1, 0.1, 0.1, 0.0, -0.1, -0.2 }; +hair_saturations = { -0.3, 0.2, 0.2, 0.4, 0.1, -0.3 }; + +hair_luminosities = { 25.0, 10.0, 10.0, 10.0, 1.0, 20.0 }; +hair_constrasts = {40.0, 65.0, 40.0, 20.0, 20.0, 50.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 50, 40, 10, 02, 250, 180, 90, 130 }; +eyes_lightness = { 0.2, 0.0, -0.1, -0.2, -0.1, -0.1, -0.1, -0.2 }; +eyes_saturations = { -0.4, 0.2, 0.2, 0.1, -0.1, -0.2, -0.1, -0.2 }; + +eyes_luminosities = { 10.0, 5.0, 10.0, 00.0, 10.0, 30.0, 10.0, 0.0 }; +eyes_constrasts = { 20.0, 20.0, 20.0, 50.0, 40.0, 50.0, 40.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg new file mode 100644 index 000000000..c1f394fbc --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 30, 35, 15, 20, 140, 240 }; +hair_lightness = { 0.1, 0.1, 0.1, 0.1, 0.0, -0.1 }; +hair_saturations = { -0.2, 0.2, -0.1, 0.1, -0.2, -0.3 }; + +hair_luminosities = { 25.0, 25.0, 20.0, 0.0, 40.0, 0.0 }; +hair_constrasts = {40.0, 60.0, 60.0, 40.0, 25.0, 10.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 20, 30, 20, 200, 70, 130, 320, 200 }; +eyes_lightness = { 0.1, 0.0, -0.1, 0.0, 0.0, -0.1, -0.2, -0.2 }; +eyes_saturations = { -0.4, 0.2, 0.1, -0.2, -0.1, -0.2, -0.1, -0.3 }; + +eyes_luminosities = { 50.0, 5.0, 0.0, 20.0, 10.0, 20.0, 0.0, 0.0 }; +eyes_constrasts = { 40.0, 20.0, 50.0, 50.0, 40.0, 40.0, 20.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg new file mode 100644 index 000000000..4e87ecd01 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 140, 40, 20, 330, 300, 175 }; +hair_lightness = { 0.1, 0.1, -0.1, 0.0, -0.1, -0.2 }; +hair_saturations = { -0.3, 0.2, 0.1, 0.3, 0.1, 0.3 }; + +hair_luminosities = { 30.0, 20.0, 0.0, 10.0, 10.0, 0.0 }; +hair_constrasts = {40.0, 60.0, 30.0, 40.0, 40.0, 10.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 60, 40, 10, 250, 70, 320, 10, 200 }; +eyes_lightness = { 0.2, 0.0, -0.1, 0.1, -0.1, -0.1, -0.2, -0.2 }; +eyes_saturations = { -0.4, 0.1, 0.1, 0.0, -0.1, 0.0, -0.1, -0.3 }; + +eyes_luminosities = { 10.0, 5.0, 0.0, 20.0, 10.0, 10.0, 0.0, 0.0 }; +eyes_constrasts = { 20.0, 20.0, 20.0, 40.0, 40.0, 40.0, 20.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg new file mode 100644 index 000000000..ec0da6045 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg @@ -0,0 +1,19 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" }; + +///////////////////////////////////////////// + +hair_hues = { 40, 70, 100, 20, 200, 280 }; +hair_lightness = { 0.1, 0.0, -0.1, 0.0, 0.0, 0.0 }; +hair_saturations = { 0.3, 0.3, 0.3, 0.5, 0.3, 0.3 }; + +hair_luminosities = { 0.0, 0.0, 20.0, 0.0, 20.0, 20.0 }; +hair_constrasts = {50.0, 40.0, 30.0, 40.0, 40.0, 40.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py new file mode 100644 index 000000000..7ce7af501 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py @@ -0,0 +1,81 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters_maps_hr" +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 +# list all panoply files +MapPanoplyFileList = "panoply_files.txt" +# name of the .hlsbank to build. +MapHlsBankFileName = "characters.hlsbank" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py index 43e2095ee..68bf17aa7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py @@ -68,6 +68,25 @@ TileRootSourceDirectory = "landscape/_texture_tiles" DisplaceSourceDirectory = "landscape/_texture_tiles/displace" +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -100,6 +119,10 @@ ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -129,17 +152,17 @@ LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construct # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py b/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py index 5d36f4c5c..4a72136e3 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py @@ -104,6 +104,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py new file mode 100644 index 000000000..4cf2384e9 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py @@ -0,0 +1,63 @@ +#!/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 +# 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 . +# + +from buildsite import * + +# *** COMMON NAMES AND PATHS *** +CommonName = "data_common" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceDirectories += [ DataCommonDirectory ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Particule system directory +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py new file mode 100644 index 000000000..f868e1f94 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py @@ -0,0 +1,41 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "data_common" +CommonPath = "common/" + CommonName + + +# *** COPY DIR OPTIONS *** + + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py new file mode 100644 index 000000000..967111b05 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py @@ -0,0 +1,85 @@ +#!/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 +# 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 . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "exedll" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** SPECIAL SOURCES *** + +# Copy dir directories +CopyWindowsExeDllCfgSourceFiles = [ ] + +CopyWindowsExeDllCfgSourceFiles += [ "Microsoft.VC90.CRT.manifest" ] +CopyWindowsExeDllCfgSourceFiles += [ "msvcp90.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "msvcr90.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "fmod.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_default.cfg" ] + +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_direct3d_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_dsound_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_fmod_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_openal_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_opengl_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_xaudio2_win_r.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_ryzom_r.exe" ] +CopyWindowsExeDllCfgSourceFiles += [ "ryzom_configuration_r.exe" ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Copy +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py b/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py new file mode 100644 index 000000000..7503248ee --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py @@ -0,0 +1,37 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "exedll" +CommonPath = "common/" + CommonName + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py index bdaf079b7..5730a76a2 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py @@ -215,6 +215,23 @@ ClodSourceDirectories = [ ] ClodSourceDirectories += [ "stuff/lod_actors/lod_fauna" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -247,6 +264,10 @@ ClodTagExportDirectory = CommonPath + "/clod_tag_export" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -264,18 +285,18 @@ ClodBankBuildDirectory = CommonPath + "/clod_bank" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" -LightmapClientDirectory = ShapeClientDirectory +ShapeInstallDirectory = CommonName + "_shapes" +LightmapInstallDirectory = ShapeInstallDirectory # Animation directory -AnimClientDirectory = CommonName + "_animations" +AnimInstallDirectory = CommonName + "_animations" # Skeleton directory -SkelClientDirectory = CommonName + "_skeletons" +SkelInstallDirectory = CommonName + "_skeletons" # Skeleton directory -SwtClientDirectory = CommonName + "_swt" +SwtInstallDirectory = CommonName + "_swt" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py b/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py index 76e2cfc32..bf59b3165 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py @@ -95,6 +95,10 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHADOW SKIN OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py index 7840625f8..b8c3f0110 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py @@ -52,7 +52,7 @@ FontExportDirectory = CommonPath + "/font" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Font directory -FontClientDirectory = CommonName +FontInstallDirectory = CommonName # end of file diff --git a/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py new file mode 100644 index 000000000..cc8af2ee0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py @@ -0,0 +1,63 @@ +#!/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 +# 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 . +# + +from buildsite import * + +# *** COMMON NAMES AND PATHS *** +CommonName = "gamedev" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceDirectories += [ GamedevDirectory ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Particule system directory +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py new file mode 100644 index 000000000..adf040877 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py @@ -0,0 +1,41 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "gamedev" +CommonPath = "common/" + CommonName + + +# *** COPY DIR OPTIONS *** + + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py index e733bea15..3ecf20b5d 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py @@ -40,7 +40,7 @@ CommonPath = ContinentPath #Interface directories InterfaceSourceDirectories = [ ] -InterfaceSourceDirectories += [ [ "interfaces/v3" ] + [ "interfaces/ring_interface" ] ] +InterfaceSourceDirectories += [ [ "interfaces/v3" ] + [ "interfaces/r2_interface" ] ] InterfaceSourceDirectories += [ [ "interfaces/v3_outgame/ui" ] ] InterfaceSourceDirectories += [ [ "interfaces/v3_login" ] ] @@ -62,12 +62,14 @@ InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/spell" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/talk_bot" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/abilities_items" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_quick_help/graph" ] +InterfaceFullscreenSourceDirectories += [ "interfaces/r2_decals" ] Interface3DSourceDirectories = [ ] Interface3DSourceDirectories += [ "interfaces/v3_outgame/3d" ] Interface3DSourceDirectories += [ "interfaces/v3_doc/htm" ] Interface3DSourceDirectories += [ "interfaces/v3_doc" ] Interface3DSourceDirectories += [ "interfaces/v3_quick_help" ] +Interface3DSourceDirectories += [ "interfaces/r2_3d" ] # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** @@ -89,4 +91,4 @@ InterfaceDxtcBuildDirectory = CommonPath + "/interface_dxtc_build" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Lightmap directory -InterfaceClientDirectory = "interfaces" +InterfaceInstallDirectory = "interfaces" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py b/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py index 29585bdcd..5e6b2fd0c 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py @@ -43,3 +43,7 @@ CommonPath = ContinentPath # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py new file mode 100644 index 000000000..b8ca09aa3 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py @@ -0,0 +1,77 @@ +#!/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 +# 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 . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "leveldesign" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignSourceFiles += [ "game_element/anim/mode2animset.string_array" ] +CopyLeveldesignSourceFiles += [ "game_elem/sheet_id.bin" ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignWorldSourceFiles += [ "static_fame.txt" ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_creature/_creature_3d_eyes_color.typ" ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_creature/_creature_3d_hair_color.typ" ] +CopyLeveldesignDfnSourceFiles += [ "basics/string.typ" ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_anim/string_array.dfn" ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** BUILD DIRECTORIES *** + +# Sheets +SheetsBuildDirectory = CommonPath + "/sheets" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Stuff +CopyInstallDirectory = CommonName + +# Sheets +SheetsInstallDirectory = "packedsheets" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py new file mode 100644 index 000000000..bdc196c7e --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py @@ -0,0 +1,44 @@ +#!/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 +# 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 . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "sheet_id" ] +ProcessToComplete += [ "sheets" ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "leveldesign" +CommonPath = "common/" + CommonName + + +# *** SHEETS OPTIONS *** +WorldSheet = "ryzom.world" +LigoPrimitiveClass = "world_editor_classes.xml" + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py index 16497a95d..109ba59f7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py @@ -56,6 +56,23 @@ MapSourceDirectories += [ "stuff/caravan/agents/_textures/accessories" ] MapUncompressedSourceDirectories = [ ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -75,6 +92,10 @@ ShapeAnimExportDirectory = CommonPath + "/shape_anim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -86,13 +107,13 @@ ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = "objects" +MapInstallDirectory = "objects" # Map directory -BitmapClientDirectory = MapClientDirectory +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = "objects" +ShapeInstallDirectory = "objects" # Lightmap directory -LightmapClientDirectory = "objects" +LightmapInstallDirectory = "objects" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py b/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py index cdd53ce02..4134bfc80 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py @@ -75,3 +75,7 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py index 500f9ac0c..e0b643561 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py @@ -68,6 +68,25 @@ TileRootSourceDirectory = "landscape/_texture_tiles" DisplaceSourceDirectory = "landscape/_texture_tiles/displace" +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -100,6 +119,10 @@ ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -129,17 +152,17 @@ LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construct # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py b/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py index 37950fd34..d6fd63919 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py @@ -104,6 +104,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py index e32efbf13..d2397ce50 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py @@ -60,6 +60,23 @@ ShapeSourceDirectories += [ "sfx/meshtoparticle" ] MapUncompressedSourceDirectories = [ ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -82,6 +99,10 @@ PsExportDirectory = CommonPath + "/ps" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -93,14 +114,14 @@ ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Particule system directory -PsClientDirectory = "sfx" +PsInstallDirectory = "sfx" # Map directory -MapClientDirectory = "sfx" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = "sfx" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = "sfx" +ShapeInstallDirectory = "sfx" # Lightmap directory -LightmapClientDirectory = "sfx" +LightmapInstallDirectory = "sfx" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py b/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py index a2f63c1ef..ccbecb9b7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py @@ -85,3 +85,7 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py index eac798b0d..b1c52fefe 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py @@ -81,6 +81,25 @@ AnimSourceDirectories = [ ] AnimSourceDirectories += [ "sky_v2/max" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -116,6 +135,10 @@ AnimExportDirectory = CommonPath + "/anim_export" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -148,17 +171,17 @@ AnimBuildDirectory = CommonPath + "/anim" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py b/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py index 7dcffade5..e32a883d9 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py @@ -110,6 +110,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py new file mode 100644 index 000000000..7ca2c5eea --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py @@ -0,0 +1,131 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# 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 . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "fyros" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/fyros/city" ] +ShapeSourceDirectories += [ "stuff/fyros/sky" ] +ShapeSourceDirectories += [ "landscape/water/meshes/desert" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_mairie" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/fyros/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/fyros/city/_textures" ] +MapSourceDirectories += [ "stuff/fyros/sky" ] +MapSourceDirectories += [ "landscape/water/meshes/desert" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# 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" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# 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 *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py new file mode 100644 index 000000000..570c4d04f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "fyros" +ContinentPath = "continents/" + ContinentName +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 = 1 +# 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 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py new file mode 100644 index 000000000..778567df8 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py @@ -0,0 +1,262 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# 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 . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "indoors" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_appart_joueur" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_hall_conseil" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_hall_reunion_vitrine" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_salle_npc" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/appart_joueur" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/hall_du_conseil" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/hall_vitrine_hall_reunion" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/salle_npc" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/hall_conseil" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/hall_vitrine_reunion" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/piece_npc" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/tr_appart" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/Appart_joueur" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/hall_conseil" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/hall_reunion_vitrine" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/salle_npc" ] + +# Ligo directories +LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName +LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max" + +# Zone directories +ZoneSourceDirectory = [ "landscape/zones/" + ContinentName ] # For old snowballs style landscape when not using ligo + +# Ig directories +IgLandSourceDirectories = [ ] +IgOtherSourceDirectories = [ ] +for dir in ShapeSourceDirectories: + IgOtherSourceDirectories += [ dir ] +IgPrimitiveSourceDirectories = [ ] + +# RBank directories +RBankCmbSourceDirectories = [ ] +for dir in ShapeSourceDirectories: + RBankCmbSourceDirectories += [ dir ] + +# Tiles root directory +TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + +# Displace directory +DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace" + +# Ligo primitive directory used in the client +PsSourceDirectories = [ ] +PsSourceDirectories += [ "primitive_microlife/" + ContinentName ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ ContinentPath + "/ig_land" ] +IgLookupDirectories += [ ContinentPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/desert/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/desert/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/jungle/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/jungle/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/fyros/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/fyros/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/matis/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/matis/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/zorai/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/zorai/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/tryker/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/tryker/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/desert/map_export" ] +MapLookupDirectories += [ "ecosystems/desert/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/jungle/map_export" ] +MapLookupDirectories += [ "ecosystems/jungle/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_export" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "continents/fyros/map_export" ] +MapLookupDirectories += [ "continents/fyros/map_uncompressed" ] +MapLookupDirectories += [ "continents/matis/map_export" ] +MapLookupDirectories += [ "continents/matis/map_uncompressed" ] +MapLookupDirectories += [ "continents/zorai/map_export" ] +MapLookupDirectories += [ "continents/zorai/map_uncompressed" ] +MapLookupDirectories += [ "continents/tryker/map_export" ] +MapLookupDirectories += [ "continents/tryker/map_uncompressed" ] + +# PacsPrim lookup directories used by ai_wmap +PacsPrimLookupDirectories = [ ] +PacsPrimLookupDirectories += [ "ecosystems/desert/pacs_prim" ] +PacsPrimLookupDirectories += [ "ecosystems/jungle/pacs_prim" ] +PacsPrimLookupDirectories += [ "ecosystems/lacustre/pacs_prim" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + +# Ligo directories +LigoDatabaseExportDirectory = "landscape/ligo/" + EcosystemName +LigoDatabaseIgExportDirectory = LigoDatabaseExportDirectory + "/igs" +LigoDatabaseZoneExportDirectory = LigoDatabaseExportDirectory + "/zones" +LigoDatabaseZoneLigoExportDirectory = LigoDatabaseExportDirectory + "/zoneligos" +LigoDatabaseCmbExportDirectory = LigoDatabaseExportDirectory + "/cmb" +LigoTagExportDirectory = "ecosystems/" + EcosystemName + "/ligo_tag" + +# Zone directories +ZoneExportDirectory = ContinentPath + "/zone" +WaterMapSourceDirectories = [ ] + +# RBank directories +RBankCmbExportDirectory = CommonPath + "/rbank_cmb_export" +RBankCmbTagExportDirectory = CommonPath + "/rbank_cmb_tag_export" + +# Smallbank directories +SmallbankExportDirectory = EcosystemPath + "/smallbank" + +# Tiles directories +DisplaceExportDirectory = EcosystemPath + "/diplace" + +# Ig directories +IgStaticLandExportDirectory = ContinentPath + "/ig_static_land" # Landscape IG eported from 3dsmax not elevated by the heightmap +IgStaticOtherExportDirectory = ContinentPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax +IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files + +# PS directories +PsExportDirectory = CommonPath + "/ps" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + +# Ligo directories +LigoZoneBuildDirectory = CommonPath + "/ligo_zones" +LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap +LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape + +# Zone directories +ZoneWeldBuildDirectory = CommonPath + "/zone_weld" +ZoneDependBuildDirectory = CommonPath + "/zone_depend" +ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme +ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme +ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme +ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme + +# Farbank directories +FarbankBuildDirectory = EcosystemPath + "/farbank" + +# Ig directories +IgElevLandPrimBuildDirectory = CommonPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter) +IgElevLandLigoBuildDirectory = CommonPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap +IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap +IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge" +IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison +IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs +IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs +IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted" + +# Rbank directories +RbankBboxBuildDirectory = CommonPath + "/rbank_bbox" +RbankTessellationBuildDirectory = CommonPath + "/rbank_tessellation" +RbankSmoothBuildDirectory = CommonPath + "/rbank_smooth" +RbankRawBuildDirectory = CommonPath + "/rbank_raw" +RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc" +RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers" +RbankOutputBuildDirectory = CommonPath + "/rbank_output" + +# AI Wmap directories +AiWmapBuildDirectory = CommonPath + "/ai_wmap" +AiWmapBuildTagDirectory = CommonPath + "/ai_wmap_tag" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = CommonName + "_lightmaps" + +# Ig directory +IgInstallDirectory = CommonName + "_ig" + +# PACS directory +PacsInstallDirectory = CommonName + "_pacs" + +# PS directory +PsInstallDirectory = CommonName + "_ig" + +# AI Wmap directory +AiWmapInstallDirectory = CommonName + "_ai" diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py new file mode 100644 index 000000000..5b8f2a309 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py @@ -0,0 +1,167 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "properties" ] +ProcessToComplete += [ "shape" ] +ProcessToComplete += [ "ig" ] +ProcessToComplete += [ "rbank" ] +ProcessToComplete += [ "ig_light" ] +ProcessToComplete += [ "ps" ] +ProcessToComplete += [ "ai_wmap" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "indoors" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** LANDSCAPE NAME *** +LandscapeName = ContinentName + +# *** CONTINENT FILE *** +ContinentFile = ContinentName + "/" + ContinentName + ".continent" + + + +# *** SHAPE EXPORT OPTIONS *** + +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" + +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" + +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 + +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" + +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 + +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" + +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" + +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" + +DoBuildShadowSkin = 0 + +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** BANK EXPORT OPTIONS *** + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# Name of the tilebank to use +BankTileBankName = EcosystemName + + +# *** LIGO OPTIONS *** +LigoExportLand = "" +LigoExportOnePass = 0 +LigoExportColormap = "colormap_" + ContinentName + ".png" +LigoExportHeightmap1 = "big_" + ContinentName + ".png" +LigoExportZFactor1 = "1.0" +LigoExportHeightmap2 = "noise_" + ContinentName + ".png" +LigoExportZFactor2 = "0.5" +LigoTileBankFile = "landscape/_texture_tiles/" + EcosystemName + "/" + EcosystemName + ".bank" + +# *** ZONE REGIONS ( up-left, down-right ) *** +#ZoneRegions = [ ] +#ZoneRegions += [ [ "1_aa" ] + [ "2_ai" ] ] + +# *** RBANK OPTIONS *** + +# Options +RBankVerbose = 0 +RBankConsistencyCheck = 0 +RbankReduceSurfaces = 1 +RbankSmoothBorders = 1 +RbankComputeElevation = 0 +RbankComputeLevels = 1 +RbankLinkElements = 1 +RbankCutEdges = 1 +RbankUseZoneSquare = 0 + +# Region to compute ( ALPHA UPPER CASE! ) +RbankZoneUl = "1_AA" +RbankZoneDr = "2_AI" + +# Output names +RbankRbankName = LandscapeName + + +# *** AI WMAP OPTIONS *** +AiWmapContinentName = ContinentName +AiWmapVerbose = 0 +AiWmapStartPoints = [ ] + +# matis +AiWmapStartPoints += [ ContinentName + " 20025 -432" ] # player room +AiWmapStartPoints += [ ContinentName + " 20120 -439" ] # hall room +AiWmapStartPoints += [ ContinentName + " 20190 -454" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20281 -439" ] # role master/npc room + +# zorai +AiWmapStartPoints += [ ContinentName + " 20363 -439" ] # player room +AiWmapStartPoints += [ ContinentName + " 20440 -444" ] # hall room +AiWmapStartPoints += [ ContinentName + " 20519 -466" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20591 -442" ] # role master/npc room + +# tryker +AiWmapStartPoints += [ ContinentName + " 20682 -439" ] # player room +AiWmapStartPoints += [ ContinentName + " 20755 -440" ] # hall room +# AiWmapStartPoints += [ ContinentName + " 20833 -439" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20920 -439" ] # role master/npc room + +# fyros +AiWmapStartPoints += [ ContinentName + " 20998 -441" ] # player room +AiWmapStartPoints += [ ContinentName + " 21079 -443" ] # hall room +AiWmapStartPoints += [ ContinentName + " 21162 -443" ] # guild room +AiWmapStartPoints += [ ContinentName + " 21239 -439" ] # role master/npc room diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg new file mode 100644 index 000000000..468e8edc0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg @@ -0,0 +1,98 @@ + +// Continent name +continent_name = "%ContinentName%"; + +// Level design directory +level_design_directory = "%LeveldesignDirectory%"; + +// World directory +level_design_world_directory = "%LeveldesignWorldDirectory%"; + +// DFN directory +level_design_dfn_directory = "%LeveldesignDfnDirectory%"; + +// Bank file name +bank_name = "%ExportBuildDirectory%/%SmallbankExportDirectory%/%EcosystemName%.smallbank"; +bankfar_name = "%ExportBuildDirectory%/%FarbankBuildDirectory%/%EcosystemName%.farbank"; + +// Search pathes +search_pathes = +{ + "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_export", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_uncompressed", // Sfx directory + "%ExportBuildDirectory%/common/construction/shape_clodtex_build", // Construction directory + "%ExportBuildDirectory%/common/construction/shape_with_coarse_mesh", // Construction directory + "%ExportBuildDirectory%/common/construction/map_export", // Construction directory + "%ExportBuildDirectory%/common/construction/map_uncompressed", // Construction directory + "%ExportBuildDirectory%/ecosystems/desert/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/desert/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/desert/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/desert/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/jungle/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/jungle/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/jungle/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/jungle/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/ig_land", // Instance group directory + "%ExportBuildDirectory%/continents/%ContinentName%/ig_other", // Instance group directory + "%ExportBuildDirectory%/continents/%ContinentName%/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/%ContinentName%/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_export", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/fyros/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/fyros/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/fyros/map_export", // Map directory + "%ExportBuildDirectory%/continents/fyros/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/matis/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/matis/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/matis/map_export", // Map directory + "%ExportBuildDirectory%/continents/matis/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/zorai/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/zorai/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/zorai/map_export", // Map directory + "%ExportBuildDirectory%/continents/zorai/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/tryker/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/tryker/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/tryker/map_export", // Map directory + "%ExportBuildDirectory%/continents/tryker/map_uncompressed", // Map directory +}; + +// Additional ig file name +additionnal_ig = +{ + +}; + +// Sun direction. +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%/%RbankOutputBuildDirectory%/%RbankRbankName%.gr"; + +// LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting +rbank= "%ExportBuildDirectory%/%RbankOutputBuildDirectory%/%RbankRbankName%.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= ""; diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg new file mode 100644 index 000000000..07fad2f60 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg @@ -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; + + diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg new file mode 100644 index 000000000..522c15d44 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg @@ -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; + + diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py new file mode 100644 index 000000000..d6acd91fc --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py @@ -0,0 +1,124 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# 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 . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "matis" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/matis/sky" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/matis/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/matis/sky" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# 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" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# 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 *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py new file mode 100644 index 000000000..fabc58b4f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "matis" +ContinentPath = "continents/" + ContinentName +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 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py index 3b477843a..35cf3b286 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py @@ -101,18 +101,25 @@ ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] # ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_clodtex_build" ] # additional +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_with_coarse_mesh" ] # additional -# Map lookup directories not yet used +# Map lookup directories used by shape MapLookupDirectories = [ ] -ShapeLookupDirectories += [ "common/sfx/map_export" ] -ShapeLookupDirectories += [ "common/sfx/map_uncompressed" ] -ShapeLookupDirectories += [ "common/construction/map_export" ] -ShapeLookupDirectories += [ "common/construction/map_uncompressed" ] -ShapeLookupDirectories += [ EcosystemPath + "/map_export" ] -ShapeLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] -ShapeLookupDirectories += [ ContinentPath + "/map_export" ] -ShapeLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_export" ] # additional +MapLookupDirectories += [ "ecosystems/lacustre/map_uncompressed" ] # additional +# PacsPrim lookup directories used by ai_wmap +PacsPrimLookupDirectories = [ ] +PacsPrimLookupDirectories += [ EcosystemPath + "/pacs_prim" ] # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** @@ -164,6 +171,10 @@ PsExportDirectory = CommonPath + "/ps" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -206,28 +217,35 @@ RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc" RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers" RbankOutputBuildDirectory = CommonPath + "/rbank_output" +# AI Wmap directories +AiWmapBuildDirectory = CommonPath + "/ai_wmap" +AiWmapBuildTagDirectory = CommonPath + "/ai_wmap_tag" + # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Shape lightmaps directory -LightmapClientDirectory = ShapeClientDirectory +LightmapInstallDirectory = ShapeInstallDirectory # Ig directory -IgClientDirectory = CommonName + "_ig" +IgInstallDirectory = CommonName + "_ig" # Zone directory -ZoneClientDirectory = CommonName + "_zones" -WaterMapsClientDirectory = ZoneClientDirectory +ZoneInstallDirectory = CommonName + "_zones" +WaterMapsInstallDirectory = ZoneInstallDirectory # PACS directory -PacsClientDirectory = CommonName + "_pacs" +PacsInstallDirectory = CommonName + "_pacs" # PS directory -PsClientDirectory = CommonName + "_ig" +PsInstallDirectory = CommonName + "_ig" + +# AI Wmap directory +AiWmapInstallDirectory = CommonName + "_ai" diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py index 33b9f5bb9..0473db765 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py @@ -39,6 +39,7 @@ ProcessToComplete += [ "zone_light" ] # works, need to check completeness ProcessToComplete += [ "rbank" ] ProcessToComplete += [ "ig_light" ] # fully implemented ProcessToComplete += [ "ps" ] +ProcessToComplete += [ "ai_wmap" ] # *** ECOSYSTEM AND CONTINENT NAMES *** @@ -154,6 +155,15 @@ RbankRbankName = LandscapeName # RbankShapePaths += [ "l:/leveldesign/world_edit_files" ] # *** MAPS OPTIONS *** - ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None +# *** AI WMAP OPTIONS *** +AiWmapContinentName = ContinentName +AiWmapVerbose = 0 +AiWmapStartPoints = [ ] +AiWmapStartPoints += [ ContinentName + " 8523 -10846" ] +AiWmapStartPoints += [ ContinentName + " 10314 -11743" ] diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg index 8bb47d4dd..fb71eb185 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg @@ -31,6 +31,10 @@ search_pathes = "%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape_with_coarse_mesh", // Shape directory "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map_export", // Map directory "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_uncompressed", // Map directory "%ExportBuildDirectory%/continents/%ContinentName%/zone_light/water_shapes_lighted", // Water shape lighted directory "%ExportBuildDirectory%/continents/%ContinentName%/ig_land", // Instance group directory "%ExportBuildDirectory%/continents/%ContinentName%/ig_other", // Instance group directory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py new file mode 100644 index 000000000..5a7ebfef1 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py @@ -0,0 +1,126 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# 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 . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "lacustre" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "tryker" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/tryker/sky" ] +ShapeSourceDirectories += [ "landscape/water/Meshes/lacustre" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/tryker/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/tryker/sky" ] +MapSourceDirectories += [ "landscape/water/Meshes/lacustre" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# 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" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# 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 *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py new file mode 100644 index 000000000..bffdb684b --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "lacustre" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "tryker" +ContinentPath = "continents/" + ContinentName +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 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py new file mode 100644 index 000000000..e8951ba70 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py @@ -0,0 +1,124 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# 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 . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "zorai" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/zorai/sky" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/zorai/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/zorai/sky" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# 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" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# 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 *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py new file mode 100644 index 000000000..c32cffd5a --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# 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 . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "zorai" +ContinentPath = "continents/" + ContinentName +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 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py index 7617e1b67..b378249a2 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -148,6 +148,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -197,6 +213,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -220,29 +240,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py index dfc4e0c65..99c7d5d5b 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'desert' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py index 9b4069598..f5bad0f9a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -152,6 +152,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -201,6 +217,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -224,29 +244,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py index d0a378e9a..5bdc3b982 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'jungle' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py index 9b2f1f87f..d1f388c66 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -160,6 +160,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -209,6 +225,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -232,29 +252,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py index 791c668ef..3d040f956 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'lacustre' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py index 1e03bde60..efcfc2465 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -145,6 +145,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -194,6 +210,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -217,29 +237,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py index 2cf5635ef..cc237589a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'primes_racines' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/projects.py b/code/ryzom/tools/build_gamedata/workspace/projects.py index dc55909cf..b1f93eabd 100644 --- a/code/ryzom/tools/build_gamedata/workspace/projects.py +++ b/code/ryzom/tools/build_gamedata/workspace/projects.py @@ -25,10 +25,12 @@ # +ProductName = "ryzom" + + ProjectsToProcess = [ ] -# Common projects -ProjectsToProcess += [ "common/fonts" ] +# Common asset export and build projects ProjectsToProcess += [ "common/interface" ] ProjectsToProcess += [ "common/objects" ] ProjectsToProcess += [ "common/sfx" ] @@ -36,9 +38,16 @@ ProjectsToProcess += [ "common/fauna" ] ProjectsToProcess += [ "common/construction" ] ProjectsToProcess += [ "common/outgame" ] ProjectsToProcess += [ "common/sky" ] -#ProjectsToProcess += [ "common/characters" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_hr" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_lr" ] # TODO +ProjectsToProcess += [ "common/characters" ] +ProjectsToProcess += [ "common/characters_maps_hr" ] + +# Common client data and leveldesign projects +ProjectsToProcess += [ "common/fonts" ] +ProjectsToProcess += [ "common/gamedev" ] +ProjectsToProcess += [ "common/data_common" ] +ProjectsToProcess += [ "common/leveldesign" ] +ProjectsToProcess += [ "common/exedll" ] +ProjectsToProcess += [ "common/cfg" ] # Ecosystem projects ProjectsToProcess += [ "ecosystems/desert" ] @@ -47,10 +56,457 @@ ProjectsToProcess += [ "ecosystems/primes_racines" ] ProjectsToProcess += [ "ecosystems/lacustre" ] # Continent projects -ProjectsToProcess += [ "continents/newbieland" ] -#ProjectsToProcess += [ "continents/indoors" ] # TODO Note: must be after all other continents due to dependencies on fy/ma/zo/tr +ProjectsToProcess += [ "continents/fyros" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/matis" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/zorai" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/tryker" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/newbieland" ] # Note: must be after other continents due to dependencies on fy/ma/zo/tr +ProjectsToProcess += [ "continents/indoors" ] # Note: must be after other continents due to dependencies on fy/ma/zo/tr -# TODO + +InstallShardDataDirectories = [ ] + +InstallShardDataCollisionsDirectories = [ ] +InstallShardDataCollisionsDirectories += [ "newbieland_ai" ] +InstallShardDataCollisionsDirectories += [ "newbieland_ig" ] +InstallShardDataCollisionsDirectories += [ "newbieland_pacs" ] +InstallShardDataCollisionsDirectories += [ "indoors_ai" ] +InstallShardDataCollisionsDirectories += [ "indoors_ig" ] +InstallShardDataCollisionsDirectories += [ "indoors_pacs" ] + + +InstallClientData = [ ] + +ICMainCfg = { } +ICMainCfg["Name"] = "main_cfg" +ICMainCfg["UnpackTo"] = "cfg" # -> = "./cfg/" +ICMainCfg["IsOptional"] = 0 +ICMainCfg["IsIncremental"] = 0 +ICMainCfg["Packages"] = [ [ "cfg", [ ] ] ] +InstallClientData += [ ICMainCfg ] + +ICMainExedll = { } +ICMainExedll["Name"] = "main_exedll" +ICMainExedll["UnpackTo"] = "" # -> "./", to not unpack set to None +ICMainExedll["IsOptional"] = 0 +ICMainExedll["IsIncremental"] = 0 +ICMainExedll["Packages"] = [ [ "exedll", [ ] ] ] +InstallClientData += [ ICMainExedll ] + +ICMainFonts = { } +ICMainFonts["Name"] = "main_fonts" +ICMainFonts["UnpackTo"] = "data/fonts" +ICMainFonts["IsOptional"] = 0 +ICMainFonts["IsIncremental"] = 0 +ICMainFonts["Packages"] = [ [ "fonts", [ ] ] ] +InstallClientData += [ ICMainFonts ] + +ICMainPacked = { } +ICMainPacked["Name"] = "main_packed" +ICMainPacked["UnpackTo"] = "data" +ICMainPacked["IsOptional"] = 0 +ICMainPacked["IsIncremental"] = 0 +ICMainPacked["Packages"] = [ [ "packedsheets", [ ] ] ] +InstallClientData += [ ICMainPacked ] + +ICUser = { } +ICUser["Name"] = "user" +ICUser["UnpackTo"] = "user" +ICUser["IsOptional"] = 0 +ICUser["IsIncremental"] = 0 +ICUser["Packages"] = [ [ "user", [ ] ] ] +InstallClientData += [ ICUser ] + +ICExamples = { } +ICExamples["Name"] = "examples" +ICExamples["UnpackTo"] = "examples" +ICExamples["IsOptional"] = 0 +ICExamples["IsIncremental"] = 0 +ICExamples["Packages"] = [ [ "examples", [ ] ] ] +InstallClientData += [ ICExamples ] + +ICCommon = { } +ICCommon["Name"] = "common" +ICCommon["UnpackTo"] = None +ICCommon["IsOptional"] = 0 +ICCommon["IsIncremental"] = 1 +ICCommon["Packages"] = [ ] +ICCommon["Packages"] += [ [ "sound", [ ] ] ] +ICCommon["Packages"] += [ [ "sky", [ ] ] ] +ICCommon["Packages"] += [ [ "sfx", [ ] ] ] +ICCommon["Packages"] += [ [ "objects", [ ] ] ] +ICCommon["Packages"] += [ [ "construction", [ ] ] ] +ICCommon["Packages"] += [ [ "outgame", [ ] ] ] +ICCommon["Packages"] += [ [ "leveldesign", [ ] ] ] +ICCommon["Packages"] += [ [ "interfaces", [ ] ] ] +ICCommon["Packages"] += [ [ "gamedev", [ ] ] ] +ICCommon["Packages"] += [ [ "data_common", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_swt", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_skeletons", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_shapes", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_maps", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_animations", [ ] ] ] +InstallClientData += [ ICCommon ] + +ICCharacterArmors = [ ] +ICCharacterArmors += [ "zo_hom_visage" ] +ICCharacterArmors += [ "zo_hom_underwear" ] +ICCharacterArmors += [ "zo_hom_civil01" ] +ICCharacterArmors += [ "zo_hom_cheveux" ] +ICCharacterArmors += [ "zo_hom_caster01" ] +ICCharacterArmors += [ "zo_hom_armor01" ] +ICCharacterArmors += [ "zo_hom_armor00" ] +ICCharacterArmors += [ "zo_hof_visage" ] +ICCharacterArmors += [ "zo_hof_underwear" ] +ICCharacterArmors += [ "zo_hof_civil01" ] +ICCharacterArmors += [ "zo_hof_cheveux" ] +ICCharacterArmors += [ "zo_hof_caster01" ] +ICCharacterArmors += [ "zo_hof_armor01" ] +ICCharacterArmors += [ "zo_hof_armor00" ] +ICCharacterArmors += [ "zo_casque01" ] +ICCharacterArmors += [ "tr_hom_visage" ] +ICCharacterArmors += [ "tr_hom_underwear" ] +ICCharacterArmors += [ "tr_hom_refugee" ] +ICCharacterArmors += [ "tr_hom_civil01" ] +ICCharacterArmors += [ "tr_hom_cheveux" ] +ICCharacterArmors += [ "tr_hom_caster01" ] +ICCharacterArmors += [ "tr_hom_armor01" ] +ICCharacterArmors += [ "tr_hom_armor00" ] +ICCharacterArmors += [ "tr_hof_visage" ] +ICCharacterArmors += [ "tr_hof_underwear" ] +ICCharacterArmors += [ "tr_hof_refugee" ] +ICCharacterArmors += [ "tr_hof_civil01" ] +ICCharacterArmors += [ "tr_hof_cheveux" ] +ICCharacterArmors += [ "tr_hof_caster01" ] +ICCharacterArmors += [ "tr_hof_armor01" ] +ICCharacterArmors += [ "tr_hof_armor00" ] +ICCharacterArmors += [ "tr_casque01" ] +ICCharacterArmors += [ "ma_hom_visage" ] +ICCharacterArmors += [ "ma_hom_underwear" ] +ICCharacterArmors += [ "ma_hom_civil01" ] +ICCharacterArmors += [ "ma_hom_cheveux" ] +ICCharacterArmors += [ "ma_hom_caster01" ] +ICCharacterArmors += [ "ma_hom_armor01" ] +ICCharacterArmors += [ "ma_hom_armor00" ] +ICCharacterArmors += [ "ma_hof_visage" ] +ICCharacterArmors += [ "ma_hof_underwear" ] +ICCharacterArmors += [ "ma_hof_civil01" ] +ICCharacterArmors += [ "ma_hof_cheveux" ] +ICCharacterArmors += [ "ma_hof_caster01" ] +ICCharacterArmors += [ "ma_hof_casque01" ] +ICCharacterArmors += [ "ma_hof_armor04" ] +ICCharacterArmors += [ "ma_hof_armor01" ] +ICCharacterArmors += [ "ma_hof_armor00" ] +ICCharacterArmors += [ "fy_hom_visage" ] +ICCharacterArmors += [ "fy_hom_underwear" ] +ICCharacterArmors += [ "fy_hom_ruflaket" ] +ICCharacterArmors += [ "fy_hom_civil01" ] +ICCharacterArmors += [ "fy_hom_cheveux" ] +ICCharacterArmors += [ "fy_hom_caster01" ] +ICCharacterArmors += [ "fy_hom_barman" ] +ICCharacterArmors += [ "fy_hom_armor01" ] +ICCharacterArmors += [ "fy_hom_armor00" ] +ICCharacterArmors += [ "fy_hof_visage" ] +ICCharacterArmors += [ "fy_hof_underwear" ] +ICCharacterArmors += [ "fy_hof_civil01" ] +ICCharacterArmors += [ "fy_hof_cheveux" ] +ICCharacterArmors += [ "fy_hof_caster01" ] +ICCharacterArmors += [ "fy_hof_armor01" ] +ICCharacterArmors += [ "fy_hof_armor00" ] +ICCharacterArmors += [ "ge_hof_armor02" ] +ICCharacterArmors += [ "ge_hof_armor03" ] +ICCharacterArmors += [ "ge_hof_armor04" ] +ICCharacterArmors += [ "ge_hof_caster00" ] +ICCharacterArmors += [ "ge_hom_armor02" ] +ICCharacterArmors += [ "ge_hom_armor03" ] +ICCharacterArmors += [ "ge_hom_armor04" ] +ICCharacterArmors += [ "ge_hom_caster00" ] +ICCharacter = { } +ICCharacter["Name"] = "character" +ICCharacter["UnpackTo"] = None +ICCharacter["IsOptional"] = 0 +ICCharacter["IsIncremental"] = 1 +ICCharacter["Packages"] = [ ] +ICCharacter["Packages"] += [ [ "characters_swt", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_skeletons", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_shapes", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_animations", [ ] ] ] +ICCharacterMapsConditions = [ ] +for armor in ICCharacterArmors: + ICCharacterMapsConditions += [ "-ifnot" ] + ICCharacterMapsConditions += [ armor + "*" ] +ICCharacter["Packages"] += [ [ "characters_maps_hr", [ "characters_maps_hr.bnp" ] + ICCharacterMapsConditions, "characters.hlsbank" ] ] +for armor in ICCharacterArmors: + ICCharacter["Packages"] += [ [ "characters_maps_hr", [ "characters_maps_" + armor + "_hr.bnp", "-if", armor + "*" ], "characters.hlsbank" ] ] +InstallClientData += [ ICCharacter ] + +ICEsPrimesRacines = { } +ICEsPrimesRacines["Name"] = "es_primes_racines" +ICEsPrimesRacines["UnpackTo"] = None +ICEsPrimesRacines["IsOptional"] = 0 +ICEsPrimesRacines["IsIncremental"] = 1 +ICEsPrimesRacines["Packages"] = [ ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_vegetable_sets", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_vegetables", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_tiles", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_shapes", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_pacs_prim", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_maps", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_lightmaps", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_displaces", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_bank", [ ] ] ] +InstallClientData += [ ICEsPrimesRacines ] + +ICEsDesert = { } +ICEsDesert["Name"] = "es_desert" +ICEsDesert["UnpackTo"] = None +ICEsDesert["IsOptional"] = 1 +ICEsDesert["IsIncremental"] = 1 +ICEsDesert["Packages"] = [ ] +ICEsDesert["Packages"] += [ [ "desert_vegetable_sets", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_vegetables", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_tiles", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_shapes", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_pacs_prim", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_maps", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_lightmaps", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_displaces", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_bank", [ ] ] ] +InstallClientData += [ ICEsDesert ] + +ICEsLacustre = { } +ICEsLacustre["Name"] = "es_lacustre" +ICEsLacustre["UnpackTo"] = None +ICEsLacustre["IsOptional"] = 1 +ICEsLacustre["IsIncremental"] = 1 +ICEsLacustre["Packages"] = [ ] +ICEsLacustre["Packages"] += [ [ "lacustre_vegetable_sets", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_vegetables", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_tiles", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_shapes", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_pacs_prim", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_maps", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_lightmaps", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_displaces", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_bank", [ ] ] ] +InstallClientData += [ ICEsLacustre ] + +ICEsJungle = { } +ICEsJungle["Name"] = "es_jungle" +ICEsJungle["UnpackTo"] = None +ICEsJungle["IsOptional"] = 1 +ICEsJungle["IsIncremental"] = 1 +ICEsJungle["Packages"] = [ ] +ICEsJungle["Packages"] += [ [ "jungle_vegetable_sets", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_vegetables", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_tiles", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_shapes", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_pacs_prim", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_maps", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_lightmaps", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_displaces", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_bank", [ ] ] ] +InstallClientData += [ ICEsJungle ] + +ICFyros = { } +ICFyros["Name"] = "fyros" +ICFyros["UnpackTo"] = None +ICFyros["IsOptional"] = 1 +ICFyros["IsIncremental"] = 1 +ICFyros["Packages"] = [ ] +ICFyros["Packages"] += [ [ "fyros_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_shapes", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_maps", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_lightmaps", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_ig", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_ig", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_ig", [ ] ] ] +InstallClientData += [ ICFyros ] + +ICMatis = { } +ICMatis["Name"] = "matis" +ICMatis["UnpackTo"] = None +ICMatis["IsOptional"] = 1 +ICMatis["IsIncremental"] = 1 +ICMatis["Packages"] = [ ] +ICMatis["Packages"] += [ [ "matis_zones", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_shapes", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_pacs", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_maps", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_lightmaps", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_ig", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_zones", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_pacs", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_ig", [ ] ] ] +InstallClientData += [ ICMatis ] + +ICZorai = { } +ICZorai["Name"] = "zorai" +ICZorai["UnpackTo"] = None +ICZorai["IsOptional"] = 1 +ICZorai["IsIncremental"] = 1 +ICZorai["Packages"] = [ ] +ICZorai["Packages"] += [ [ "zorai_zones", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_shapes", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_pacs", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_maps", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_lightmaps", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_ig", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_zones", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_pacs", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_ig", [ ] ] ] +InstallClientData += [ ICZorai ] + +ICTryker = { } +ICTryker["Name"] = "tryker" +ICTryker["UnpackTo"] = None +ICTryker["IsOptional"] = 1 +ICTryker["IsIncremental"] = 1 +ICTryker["Packages"] = [ ] +ICTryker["Packages"] += [ [ "tryker_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_maps", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_lightmaps", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_ig", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_ig", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_ig", [ ] ] ] +InstallClientData += [ ICTryker ] + +ICSources = { } +ICSources["Name"] = "sources" +ICSources["UnpackTo"] = None +ICSources["IsOptional"] = 1 +ICSources["IsIncremental"] = 1 +ICSources["Packages"] = [ ] +ICSources["Packages"] += [ [ "sources_zones", [ ] ] ] +ICSources["Packages"] += [ [ "sources_shapes", [ ] ] ] +ICSources["Packages"] += [ [ "sources_pacs", [ ] ] ] +ICSources["Packages"] += [ [ "sources_maps", [ ] ] ] +ICSources["Packages"] += [ [ "sources_lightmaps", [ ] ] ] +ICSources["Packages"] += [ [ "sources_ig", [ ] ] ] +InstallClientData += [ ICSources ] + +ICRouteGouffre = { } +ICRouteGouffre["Name"] = "route_gouffre" +ICRouteGouffre["UnpackTo"] = None +ICRouteGouffre["IsOptional"] = 1 +ICRouteGouffre["IsIncremental"] = 1 +ICRouteGouffre["Packages"] = [ ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_zones", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_shapes", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_pacs", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_maps", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_lightmaps", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_ig", [ ] ] ] +InstallClientData += [ ICRouteGouffre ] + +ICBagne = { } +ICBagne["Name"] = "bagne" +ICBagne["UnpackTo"] = None +ICBagne["IsOptional"] = 1 +ICBagne["IsIncremental"] = 1 +ICBagne["Packages"] = [ ] +ICBagne["Packages"] += [ [ "bagne_zones", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_shapes", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_pacs", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_maps", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_lightmaps", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_ig", [ ] ] ] +InstallClientData += [ ICBagne ] + +ICTerre = { } +ICTerre["Name"] = "terre" +ICTerre["UnpackTo"] = None +ICTerre["IsOptional"] = 1 +ICTerre["IsIncremental"] = 1 +ICTerre["Packages"] = [ ] +ICTerre["Packages"] += [ [ "terre_zones", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_shapes", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_pacs", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_maps", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_lightmaps", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_ig", [ ] ] ] +InstallClientData += [ ICTerre ] + +ICNexus = { } +ICNexus["Name"] = "nexus" +ICNexus["UnpackTo"] = None +ICNexus["IsOptional"] = 1 +ICNexus["IsIncremental"] = 1 +ICNexus["Packages"] = [ ] +ICNexus["Packages"] += [ [ "nexus_zones", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_shapes", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_pacs", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_maps", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_lightmaps", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_ig", [ ] ] ] +InstallClientData += [ ICNexus ] + +ICNewbieland = { } +ICNewbieland["Name"] = "newbieland" +ICNewbieland["UnpackTo"] = None +ICNewbieland["IsOptional"] = 1 +ICNewbieland["IsIncremental"] = 1 +ICNewbieland["Packages"] = [ ] +ICNewbieland["Packages"] += [ [ "newbieland_zones", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_shapes", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_pacs", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_maps", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_ig", [ ] ] ] +InstallClientData += [ ICNewbieland ] + +ICIndoors = { } +ICIndoors["Name"] = "indoors" +ICIndoors["UnpackTo"] = None +ICIndoors["IsOptional"] = 1 +ICIndoors["IsIncremental"] = 1 +ICIndoors["Packages"] = [ ] +ICIndoors["Packages"] += [ [ "indoors_shapes", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_pacs", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_lightmaps", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_ig", [ ] ] ] +InstallClientData += [ ICIndoors ] + +ICR2 = { } +ICR2["Name"] = "r2" +ICR2["UnpackTo"] = None +ICR2["IsOptional"] = 1 +ICR2["IsIncremental"] = 1 +ICR2["Packages"] = [ ] +ICR2["Packages"] += [ [ "r2_misc", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert_pz", [ ] ] ] +InstallClientData += [ ICR2 ] # end of file