From e8a303389d9920f1c4b073b010ec613abbec2bba Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 13 Sep 2010 10:44:23 +0200 Subject: [PATCH] Changed: #929 Improved stability of shape export, fixed export of cmb from ligo zones, map export copies originals for use with other processes as originally was done, corrected some lookup paths, removed unnecessary dependencies of some processes, copy only the needed lr files to the install, added export_build_install combination script. --- .../build_gamedata/configuration/scripts.py | 46 +++++++++++++++ .../build_gamedata/configuration/tools.py | 2 +- .../build_gamedata/export_build_install.py | 32 +++++++++++ .../ecosystem_project_template/directories.py | 5 +- .../build_gamedata/processes/anim/1_export.py | 2 +- .../processes/clodbank/1_export.py | 2 +- .../build_gamedata/processes/ligo/0_setup.py | 4 +- .../ligo/maxscript/nel_ligo_export.ms | 51 ++++++++++++++--- .../build_gamedata/processes/map/0_setup.py | 2 + .../build_gamedata/processes/map/1_export.py | 22 ++++++++ .../build_gamedata/processes/map/2_build.py | 56 ++++++++----------- .../build_gamedata/processes/map/3_install.py | 16 ++++-- .../processes/pacs_prim/1_export.py | 2 +- .../processes/properties/0_setup.py | 3 + .../build_gamedata/processes/rbank/0_setup.py | 5 +- .../processes/rbank/1_export.py | 2 +- .../build_gamedata/processes/rbank/2_build.py | 54 +++++++++++++----- .../processes/shape/1_export.py | 2 +- .../build_gamedata/processes/skel/1_export.py | 2 +- .../build_gamedata/processes/swt/1_export.py | 2 +- .../processes/veget/1_export.py | 2 +- .../build_gamedata/processes/zone/1_export.py | 2 +- .../common/construction/directories.py | 4 ++ .../workspace/common/construction/process.py | 4 +- .../common/construction/properties_base.cfg | 18 +++--- .../workspace/common/fauna/directories.py | 4 ++ .../workspace/common/objects/directories.py | 4 ++ .../workspace/common/outgame/directories.py | 4 ++ .../workspace/common/outgame/process.py | 4 +- .../common/outgame/properties_base.cfg | 18 +++--- .../workspace/common/sfx/directories.py | 4 ++ .../workspace/common/sky/directories.py | 4 ++ .../workspace/common/sky/process.py | 4 +- .../workspace/common/sky/properties_base.cfg | 18 +++--- .../continents/newbieland/directories.py | 38 ++++++++++++- .../continents/newbieland/process.py | 18 +++--- .../continents/newbieland/properties_base.cfg | 31 ++++++++-- .../ecosystems/desert/directories.py | 7 ++- .../workspace/ecosystems/desert/process.py | 2 +- .../ecosystems/jungle/directories.py | 7 ++- .../workspace/ecosystems/jungle/process.py | 2 +- .../ecosystems/lacustre/directories.py | 7 ++- .../workspace/ecosystems/lacustre/process.py | 2 +- .../ecosystems/primes_racines/directories.py | 7 ++- .../ecosystems/primes_racines/process.py | 2 +- .../build_gamedata/workspace/projects.py | 16 +++--- 46 files changed, 403 insertions(+), 142 deletions(-) create mode 100644 code/nel/tools/build_gamedata/export_build_install.py diff --git a/code/nel/tools/build_gamedata/configuration/scripts.py b/code/nel/tools/build_gamedata/configuration/scripts.py index 128238494..a913815db 100644 --- a/code/nel/tools/build_gamedata/configuration/scripts.py +++ b/code/nel/tools/build_gamedata/configuration/scripts.py @@ -105,6 +105,17 @@ def removeFilesRecursive(log, dir_files): printLog(log, "RM " + dir_files + "/" + fileName) os.remove(dir_files + "/" + fileName) +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 os.path.isdir(dir_files + "/" + fileName): + removeFilesRecursiveExt(log, dir_files + "/" + fileName, file_ext) + elif (fileName[-len_file_ext:].lower() == file_ext.lower()): + printLog(log, "RM " + dir_files + "/" + fileName) + os.remove(dir_files + "/" + fileName) + def copyFilesRecursive(log, dir_source, dir_target): files = os.listdir(dir_source) mkPath(log, dir_target) @@ -127,6 +138,19 @@ def copyFilesExt(log, dir_source, dir_target, file_ext): 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):]) + +def copyFilesExtNoSubdir(log, dir_source, dir_target, file_ext): + files = findFilesNoSubdir(log, dir_source, file_ext) + copyFileListNoTree(log, dir_source, dir_target, files) + def copyFilesExtNoTree(log, dir_source, dir_target, file_ext): files = findFiles(log, dir_source, "", file_ext) copyFileListNoTree(log, dir_source, dir_target, files) @@ -240,6 +264,28 @@ 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 needUpdateDirNoSubdir(log, dir_source, dir_dest): + latestSourceFile = 0 + oldestDestFile = 0 + sourceFiles = os.listdir(dir_source) + destFiles = os.listdir(dir_dest) + for file in sourceFiles: + filePath = dir_source + "/" + file + if os.path.isfile(filePath): + fileTime = os.stat(filePath).st_mtime + if fileTime > latestSourceFile: + latestSourceFile = fileTime + for file in destFiles: + filePath = dir_dest + "/" + file + if os.path.isfile(filePath): + fileTime = os.stat(filePath).st_mtime + if oldestDestFile == 0 or fileTime < oldestDestFile: + oldestDestFile = fileTime + if latestSourceFile > oldestDestFile: + return 1 + else: + return 0 + def needUpdateDirNoSubdirLogExt(log, dir_source, ext_source, dir_dest, ext_dest): latestSourceFile = 0 latestDestFile = 0 diff --git a/code/nel/tools/build_gamedata/configuration/tools.py b/code/nel/tools/build_gamedata/configuration/tools.py index ed3e2fbb8..f099dffe0 100644 --- a/code/nel/tools/build_gamedata/configuration/tools.py +++ b/code/nel/tools/build_gamedata/configuration/tools.py @@ -49,7 +49,7 @@ LigoExportTimeout = 3600000 LigoBuildTimeout = 1800000 PacsPrimExportTimeout = 600000 -MaxShapeExportTimeout = 300000 # 5min +MaxShapeExportTimeout = 600000 # 10min # *** TOOLS CONFIGURATION *** diff --git a/code/nel/tools/build_gamedata/export_build_install.py b/code/nel/tools/build_gamedata/export_build_install.py new file mode 100644 index 000000000..8fab529c5 --- /dev/null +++ b/code/nel/tools/build_gamedata/export_build_install.py @@ -0,0 +1,32 @@ +#!/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", "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 50157963e..e5a91741c 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 @@ -101,6 +101,10 @@ PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] # *** 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" @@ -160,7 +164,6 @@ IgOtherBuildDirectory = "_invalid" # Rbank directories RbankOutputBuildDirectory = "_invalid" -RbankMeshBuildDirectory = "_invalid" # Ligo directories 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 0958d9643..48f674fba 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export anim 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 92ba0a1b9..5e52e0375 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export clodbank diff --git a/code/nel/tools/build_gamedata/processes/ligo/0_setup.py b/code/nel/tools/build_gamedata/processes/ligo/0_setup.py index 269effd25..a05698c49 100644 --- a/code/nel/tools/build_gamedata/processes/ligo/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ligo/0_setup.py @@ -66,7 +66,7 @@ if LigoExportLand != "": mkPath(log, ExportBuildDirectory + "/" + LigoZoneBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + LigoIgLandBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory) - mkPath(log, ExportBuildDirectory + "/" + RbankMeshBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + RBankCmbExportDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") @@ -103,7 +103,7 @@ if LigoExportLand != "": cf.write("\n") cf.write("DFNDir = \"" + LeveldesignDfnDirectory + "\";\n") cf.write("RefCMBDir = \"" + DatabaseDirectory + "/" + LigoDatabaseCmbExportDirectory + "\";\n") # FIXME - cf.write("OutCMBDir = \"" + ExportBuildDirectory + "/" + RbankMeshBuildDirectory + "\";\n") # FIXME + cf.write("OutCMBDir = \"" + ExportBuildDirectory + "/" + RBankCmbExportDirectory + "\";\n") cf.write("\n") cf.write("ContinentFile = \"" + LeveldesignWorldDirectory + "/" + ContinentFile + "\";\n") cf.write("\n") diff --git a/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms b/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms index a4aff1cb5..303b4917f 100644 --- a/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms +++ b/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms @@ -200,20 +200,48 @@ fn getIg node = ) +NEL3D_APPDATA_COLLISION = 1423062613 +NEL3D_APPDATA_COLLISION_EXTERIOR = 1423062614 +-- Must export this node ? +fn isToBeExportedCollision node = +( + doNotExport = getappdata node NEL3D_APPDATA_COLLISION + if (doNotExport != undefined) then + ( + if (doNotExport == "1") then + return true + ) + + doNotExport = getappdata node NEL3D_APPDATA_COLLISION_EXTERIOR + if (doNotExport != undefined) then + ( + if (doNotExport == "1") then + return true + ) + + return false +) -- Export collisions from the current loaded zone -fn exportCollisionsFromZone outputPath filename = +fn exportCollisionsFromZone outputNelDir filename = ( - max select all - -- Export the collision - if (NelExportCollision ($selection as array) outputPath) == false then + -- Select all collision mesh + max select none + for m in geometry do ( - -- nlerror ("WARNING No collision exported from file "+filename) + if (isToBeExportedCollision m) == true then + selectmore m + ) + + -- Export the collision + if (NelExportCollision ($selection as array) outputNelDir) == false then + ( + nlerror("ERROR exporting collision " + filename + " in folder " + outputNelDir) ) else ( - nlerror ("OK collision in folder "+outputPath) + nlerror("OK collision in folder " + outputNelDir) ) ) @@ -282,11 +310,15 @@ fn exportInstanceGroupFromZone inputFile outputPath igName transitionZone cellSi ig_array = #() -- Scan all the ig in this project + nlerror("Scan all the ig in this project") for node in geometry do ( ig = getIg node + nlerror("geometry node") if ( (ig != undefined) and (ig != "") and ( (igName == "") or (ig == igName) ) ) then ( + nlerror("Found something with an IG name") + -- Transition ? if ( ig == IgName) then ( @@ -310,6 +342,7 @@ fn exportInstanceGroupFromZone inputFile outputPath igName transitionZone cellSi if (found == false) then ( append ig_array ig + nlerror("New IG") ) ) ) @@ -504,7 +537,8 @@ try -- nlerror ("EXPORT "+ (getFilenameFile curFileName)) props = #( #("zone", (tokenArray[2] + "-" + tokenArray[3])), #("material", tokenArray[2]) ) - + + nlerror("NeLLigoExportZone " + curFileName) if (selection as array).count > 1 then ( nlerror ("ERROR In file "+(getFilenameFile curFileName)+", multiple NelPatchMesh. Can't export."); @@ -550,6 +584,7 @@ try -- export matching igs try ( + nlerror("exportInstanceGroupFromZone " + curFileName) exportInstanceGroupFromZone curFileName (ligo_export_path + "igs\\") "" 0 cellSize ) catch @@ -561,6 +596,7 @@ try -- export collisions try ( + nlerror("exportCollisionsFromZone " + curFileName) exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName ) catch @@ -572,6 +608,7 @@ try -- Write a tag file if tagThisFile == true then ( + nlerror("tagThisFile " + curFileName) tagFile = createFile tag if tagFile == undefined then ( 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 85590d99c..555226840 100644 --- a/code/nel/tools/build_gamedata/processes/map/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/map/0_setup.py @@ -52,6 +52,8 @@ for dir in MapUncompressedSourceDirectories: # Setup export directories printLog(log, ">>> Setup export directories <<<") +mkPath(log, ExportBuildDirectory + "/" + MapExportDirectory) +mkPath(log, ExportBuildDirectory + "/" + MapUncompressedExportDirectory) # Setup build directories printLog(log, ">>> Setup build directories <<<") diff --git a/code/nel/tools/build_gamedata/processes/map/1_export.py b/code/nel/tools/build_gamedata/processes/map/1_export.py index 88beb948e..ab589f772 100644 --- a/code/nel/tools/build_gamedata/processes/map/1_export.py +++ b/code/nel/tools/build_gamedata/processes/map/1_export.py @@ -43,6 +43,28 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") +printLog(log, ">>> Export maps that will be compressed to DDS <<<") +for dir in MapSourceDirectories: + sourcePath = DatabaseDirectory + "/" + dir + mkPath(log, sourcePath) + destPath = ExportBuildDirectory + "/" + MapExportDirectory + mkPath(log, destPath) + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".dds") + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".png") + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".tga") +printLog(log, "") + +printLog(log, ">>> Export maps that will not be compressed <<<") +for dir in MapUncompressedSourceDirectories: + sourcePath = DatabaseDirectory + "/" + dir + mkPath(log, sourcePath) + destPath = ExportBuildDirectory + "/" + MapUncompressedExportDirectory + mkPath(log, destPath) + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".dds") + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".png") + copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".tga") +printLog(log, "") + 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 44d28979f..8a1ba5711 100644 --- a/code/nel/tools/build_gamedata/processes/map/2_build.py +++ b/code/nel/tools/build_gamedata/processes/map/2_build.py @@ -50,54 +50,42 @@ PanoplyMaker = findTool(log, ToolDirectories, PanoplyMakerTool, ToolSuffix) HlsBankMaker = findTool(log, ToolDirectories, HlsBankMakerTool, ToolSuffix) printLog(log, "") -# For each map directory -printLog(log, ">>> Build map compressed: compress tga and png to dds <<<") +printLog(log, ">>> Panoply <<<") +printLog(log, "********************************") +printLog(log, "******** TODO ********") +printLog(log, "********************************") + +printLog(log, ">>> Compress TGA and PNG maps to DDS <<<") if TgaToDds == "": toolLogFail(log, TgaToDdsTool, ToolSuffix) elif ExecTimeout == "": toolLogFail(log, ExecTimeoutTool, ToolSuffix) else: - mkPath(log, ExportBuildDirectory + "/" + MapBuildDirectory) - for dir in MapSourceDirectories: - sourcePath = DatabaseDirectory + "/" + dir - 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) ]) -printLog(log, "") - -printLog(log, ">>> Build map uncompressed: copy tga, png, dds <<<") -for dir in MapUncompressedSourceDirectories: - sourcePath = DatabaseDirectory + "/" + dir + 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") - copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".png") - copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".tga") +printLog(log, "") -printLog(log, ">>> Build panoply <<<") +printLog(log, ">>> Compress panoply maps to DDS <<<") printLog(log, "********************************") printLog(log, "******** TODO ********") printLog(log, "********************************") -printLog(log, ">>> Build panoply dds <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") - -printLog(log, ">>> Build hls map <<<") +printLog(log, ">>> Build the HLSBank (if hlsInfo present, and if build wanted) <<<") printLog(log, "********************************") printLog(log, "******** TODO ********") printLog(log, "********************************") 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 2acb33bf3..4c0a86360 100644 --- a/code/nel/tools/build_gamedata/processes/map/3_install.py +++ b/code/nel/tools/build_gamedata/processes/map/3_install.py @@ -49,13 +49,21 @@ mkPath(log, clientPath) printLog(log, ">>> Install map <<<") sourcePath = ExportBuildDirectory + "/" + MapBuildDirectory mkPath(log, sourcePath) -copyFilesExtNoTreeIfNeeded(log, sourcePath, clientPath, ".dds") -copyFilesExtNoTreeIfNeeded(log, sourcePath, clientPath, ".png") -copyFilesExtNoTreeIfNeeded(log, sourcePath, clientPath, ".tga") +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") printLog(log, ">>> Install map panoply <<<") +printLog(log, "********************************") +printLog(log, "******** TODO ********") +printLog(log, "********************************") mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, clientPath, ".dds") +copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, clientPath, ".dds") printLog(log, ">>> Install map hlsbank <<<") printLog(log, "********************************") 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 d28e30670..b598d84bf 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export pacs_prim diff --git a/code/nel/tools/build_gamedata/processes/properties/0_setup.py b/code/nel/tools/build_gamedata/processes/properties/0_setup.py index 64fb5b198..0c105ff43 100644 --- a/code/nel/tools/build_gamedata/processes/properties/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/properties/0_setup.py @@ -94,6 +94,9 @@ for line in ps: except NameError: RbankRbankName = "_invalid" newline = line.replace("%ExportBuildDirectory%", ExportBuildDirectory) + newline = newline.replace("%LeveldesignDirectory%", LeveldesignDirectory) + newline = newline.replace("%LeveldesignWorldDirectory%", LeveldesignWorldDirectory) + newline = newline.replace("%LeveldesignDfnDirectory%", LeveldesignDfnDirectory) newline = newline.replace("%SmallbankExportDirectory%", SmallbankExportDirectory) newline = newline.replace("%FarbankBuildDirectory%", FarbankBuildDirectory) newline = newline.replace("%EcosystemName%", EcosystemName) 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 555f921f3..042dde26c 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py @@ -58,9 +58,9 @@ mkPath(log, ExportBuildDirectory + "/" + SmallbankExportDirectory) # Setup build directories printLog(log, ">>> Setup build directories <<<") mkPath(log, ExportBuildDirectory + "/" + ZoneWeldBuildDirectory) -for dir in RbankIgPaths: +for dir in IgLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) -for dir in RbankShapePaths: +for dir in ShapeLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) mkPath(log, ExportBuildDirectory + "/" + RbankBboxBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory) @@ -69,7 +69,6 @@ mkPath(log, ExportBuildDirectory + "/" + RbankTessellationBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankSmoothBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankRawBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankPreprocBuildDirectory) -mkPath(log, ExportBuildDirectory + "/" + RbankMeshBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) 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 90922c0c3..5540c0a43 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export rbank diff --git a/code/nel/tools/build_gamedata/processes/rbank/2_build.py b/code/nel/tools/build_gamedata/processes/rbank/2_build.py index 5e4a69df4..800fe0a15 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/2_build.py +++ b/code/nel/tools/build_gamedata/processes/rbank/2_build.py @@ -61,16 +61,16 @@ else: cf = open("build_ig_boxes.cfg", "w") cf.write("\n") cf.write("Pathes = {\n") - for dir in RbankIgPaths: + for dir in IgLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") - for dir in RbankShapePaths: + for dir in ShapeLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") cf.write("};\n") cf.write("\n") cf.write("IGs = {\n") - for dir in RbankIgPaths: + for dir in IgLookupDirectories: files = findFiles(log, ExportBuildDirectory + "/" + dir, "", ".ig") for file in files: cf.write("\t\"" + os.path.basename(file)[0:-len(".ig")] + "\", \n") @@ -157,10 +157,10 @@ for file in files: cf.write("};\n") cf.write("\n") cf.write("Pathes = {\n") -for dir in RbankIgPaths: +for dir in IgLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") -for dir in RbankShapePaths: +for dir in ShapeLookupDirectories: mkPath(log, ExportBuildDirectory + "/" + dir) cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") cf.write("};\n") @@ -221,22 +221,33 @@ if BuildIndoorRbank == "": elif ExecTimeout == "": toolLogFail(log, ExecTimeoutTool, ToolSuffix) else: + retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory + mkPath(log, retrieversDir) + removeFilesRecursiveExt(log, retrieversDir, ".rbank") + removeFilesRecursiveExt(log, retrieversDir, ".gr") + removeFilesRecursiveExt(log, retrieversDir, ".lr") cf = open("build_indoor_rbank.cfg", "w") cf.write("\n") - mkPath(log, ExportBuildDirectory + "/" + RbankMeshBuildDirectory) - cf.write("MeshPath = \"" + ExportBuildDirectory + "/" + RbankMeshBuildDirectory + "/\";\n") - cf.write("Meshes = { };\n") # *********************** TODO export CMB ******************************************** - # mkPath(log, ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory) - # cf.write("OutputPath = \"" + ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory + "/\";\n") - mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) - cf.write("OutputPath = \"" + ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "/\";\n") + mkPath(log, ExportBuildDirectory + "/" + RBankCmbExportDirectory) + cf.write("MeshPath = \"" + ExportBuildDirectory + "/" + RBankCmbExportDirectory + "/\";\n") + # cf.write("Meshes = { };\n") + cf.write("Meshes = \n") + cf.write("{\n") + meshFiles = findFilesNoSubdir(log, ExportBuildDirectory + "/" + RBankCmbExportDirectory, ".cmb") + lenCmbExt = len(".cmb") + for file in meshFiles: + cf.write("\t\"" + file[0:-lenCmbExt] + "\", \n") + cf.write("};\n") + cf.write("OutputPath = \"" + retrieversDir + "/\";\n") + # mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) + # cf.write("OutputPath = \"" + ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "/\";\n") cf.write("OutputPrefix = \"unused\";\n") cf.write("Merge = 1;\n") mkPath(log, ExportBuildDirectory + "/" + RbankSmoothBuildDirectory) cf.write("MergePath = \"" + ExportBuildDirectory + "/" + RbankSmoothBuildDirectory + "/\";\n") cf.write("MergeInputPrefix = \"temp\";\n") - # cf.write("MergeOutputPrefix = \"tempMerged\";\n") - cf.write("MergeOutputPrefix = \"" + RbankRbankName + "\";\n") + cf.write("MergeOutputPrefix = \"tempMerged\";\n") + # cf.write("MergeOutputPrefix = \"" + RbankRbankName + "\";\n") cf.write("AddToRetriever = 1;\n") cf.write("\n") cf.close() @@ -244,6 +255,21 @@ else: os.remove("build_indoor_rbank.cfg") printLog(log, "") +retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory +mkPath(log, retrieversDir) +outputDir = ExportBuildDirectory + "/" + RbankOutputBuildDirectory +mkPath(log, outputDir) +printLog(log, ">>> Move gr, rbank and lr <<<") +if needUpdateDirNoSubdir(log, retrieversDir, outputDir): + removeFilesRecursiveExt(log, outputDir, ".rbank") + removeFilesRecursiveExt(log, outputDir, ".gr") + removeFilesRecursiveExt(log, outputDir, ".lr") + copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".rbank") + copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".gr") + copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged_", RbankRbankName + "_", ".lr") +else: + printLog(log, "SKIP *") + log.close() diff --git a/code/nel/tools/build_gamedata/processes/shape/1_export.py b/code/nel/tools/build_gamedata/processes/shape/1_export.py index 9d3cb67e5..3207b122f 100644 --- a/code/nel/tools/build_gamedata/processes/shape/1_export.py +++ b/code/nel/tools/build_gamedata/processes/shape/1_export.py @@ -134,7 +134,7 @@ if MaxAvailable: printLog(log, "ERROR Failed to read 3dsmax log") else: printLog(log, "WARNING No 3dsmax log") - if (os.path.exists(tagFilePath)): + if (not needUpdate(log, maxFilePath, tagFilePath)): printLog(log, "OK " + maxFilePath) retriesLeft = 0 else: 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 340a0957e..b468ed7d8 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export skel 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 a50f6e5a7..9ac863866 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export swt 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 d73362d45..9dec2c5e4 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export veget 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 10e085024..d8b936d2a 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-10-06-GMT +# \date 2010-09-03-12-46-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export zone 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 a55f23182..43e2095ee 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py @@ -70,6 +70,10 @@ DisplaceSourceDirectory = "landscape/_texture_tiles/displace" # *** 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" 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 6c4508985..5d36f4c5c 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py @@ -89,7 +89,7 @@ MultipleTilesPostfix += [ "_wi" ] BankTileBankName = "" # *** LANDSCAPE NAME *** -LandscapeName = ContinentName +LandscapeName = "" # *** LIGO OPTIONS *** LigoExportLand = "" @@ -99,7 +99,7 @@ LigoExportHeightmap1 = "big_invalid.png" LigoExportZFactor1 = "1.0" LigoExportHeightmap2 = "noise_invalid.png" LigoExportZFactor2 = "0.5" -LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank" +LigoTileBankFile = "" # *** MAPS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/construction/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/common/construction/properties_base.cfg index 2fa378594..9539f7f2f 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/properties_base.cfg +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/properties_base.cfg @@ -1,18 +1,20 @@ // Bank file name -bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank"; -bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank"; +bank_name = ""; +bankfar_name = ""; // Search pathes search_pathes = { "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory - "%ExportBuildDirectory%/common/sfx/shape", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory - "%ExportBuildDirectory%/common/sfx/map", // Sfx directory - "%ExportBuildDirectory%/common/construction/shape", // Construction directory + "%ExportBuildDirectory%/common/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", // Construction directory + "%ExportBuildDirectory%/common/construction/map_export", // Construction directory + "%ExportBuildDirectory%/common/construction/map_uncompressed", // Construction directory }; // Additional ig file name @@ -38,10 +40,10 @@ sun_fov = 0.52359877; // Pi / 6 sun_radius = 5000; // GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting -grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr"; +grbank= ""; // LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting -rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank"; +rbank= ""; // The lighter search in rbank any retriever with identifier ---igname*** as substring // where --- is col_identifier_prefix and *** is col_identifier_suffix 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 ac8baa134..bdaf079b7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py @@ -217,6 +217,10 @@ ClodSourceDirectories += [ "stuff/lod_actors/lod_fauna" ] # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + # Skeleton directories SkelExportDirectory = CommonPath + "/skel" 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 fcd134e00..16497a95d 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py @@ -58,6 +58,10 @@ MapUncompressedSourceDirectories = [ ] # *** 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" 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 fe7618b72..500f9ac0c 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py @@ -70,6 +70,10 @@ DisplaceSourceDirectory = "landscape/_texture_tiles/displace" # *** 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" 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 9097c3b3a..37950fd34 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py @@ -89,7 +89,7 @@ MultipleTilesPostfix += [ "_wi" ] BankTileBankName = "" # *** LANDSCAPE NAME *** -LandscapeName = ContinentName +LandscapeName = "" # *** LIGO OPTIONS *** LigoExportLand = "" @@ -99,7 +99,7 @@ LigoExportHeightmap1 = "big_invalid.png" LigoExportZFactor1 = "1.0" LigoExportHeightmap2 = "noise_invalid.png" LigoExportZFactor2 = "0.5" -LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank" +LigoTileBankFile = "" # *** MAPS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/outgame/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/common/outgame/properties_base.cfg index a4ffbf3ca..952b18141 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/properties_base.cfg +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/properties_base.cfg @@ -1,18 +1,20 @@ // Bank file name -bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank"; -bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank"; +bank_name = ""; +bankfar_name = ""; // Search pathes search_pathes = { "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory - "%ExportBuildDirectory%/common/sfx/shape", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory - "%ExportBuildDirectory%/common/sfx/map", // Sfx directory - "%ExportBuildDirectory%/common/outgame/shape", // Outgame directory + "%ExportBuildDirectory%/common/sfx/map_export", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_uncompressed", // Sfx directory + "%ExportBuildDirectory%/common/outgame/shape_clodtex_build", // Outgame directory "%ExportBuildDirectory%/common/outgame/shape_with_coarse_mesh", // Outgame directory - "%ExportBuildDirectory%/common/outgame/map", // Outgame directory + "%ExportBuildDirectory%/common/outgame/map_export", // Outgame directory + "%ExportBuildDirectory%/common/outgame/map_uncompressed", // Outgame directory }; // Additional ig file name @@ -38,10 +40,10 @@ sun_fov = 0.52359877; // Pi / 6 sun_radius = 5000; // GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting -grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr"; +grbank= ""; // LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting -rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank"; +rbank= ""; // The lighter search in rbank any retriever with identifier ---igname*** as substring // where --- is col_identifier_prefix and *** is col_identifier_suffix 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 5de327a3a..e32efbf13 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py @@ -62,6 +62,10 @@ MapUncompressedSourceDirectories = [ ] # *** 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" 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 ba46541dd..eac798b0d 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py @@ -83,6 +83,10 @@ AnimSourceDirectories += [ "sky_v2/max" ] # *** 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" 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 e68c6853e..7dcffade5 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py @@ -93,7 +93,7 @@ BankTileBankName = "" # *** LANDSCAPE NAME *** -LandscapeName = ContinentName +LandscapeName = "" # *** LIGO OPTIONS *** @@ -104,7 +104,7 @@ LigoExportHeightmap1 = "big_invalid.png" LigoExportZFactor1 = "1.0" LigoExportHeightmap2 = "noise_invalid.png" LigoExportZFactor2 = "0.5" -LigoTileBankFile = "landscape/_texture_tiles/jungle/jungle.bank" +LigoTileBankFile = "" # *** MAPS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sky/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/common/sky/properties_base.cfg index 6b6cd9e75..3e48d3784 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/properties_base.cfg +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/properties_base.cfg @@ -1,18 +1,20 @@ // Bank file name -bank_name = "%ExportBuildDirectory%/ecosystems/jungle/smallbank/jungle.smallbank"; -bankfar_name = "%ExportBuildDirectory%/ecosystems/jungle/farbank/jungle.farbank"; +bank_name = ""; +bankfar_name = ""; // Search pathes search_pathes = { "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory - "%ExportBuildDirectory%/common/sfx/shape", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory - "%ExportBuildDirectory%/common/sfx/map", // Sfx directory - "%ExportBuildDirectory%/common/sky/shape", // Sky directory + "%ExportBuildDirectory%/common/sfx/map_export", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_uncompressed", // Sfx directory + "%ExportBuildDirectory%/common/sky/shape_clodtex_build", // Sky directory "%ExportBuildDirectory%/common/sky/shape_with_coarse_mesh", // Sky directory - "%ExportBuildDirectory%/common/sky/map", // Sky directory + "%ExportBuildDirectory%/common/sky/map_export", // Sky directory + "%ExportBuildDirectory%/common/sky/map_uncompressed", // Sky directory }; // Additional ig file name @@ -38,10 +40,10 @@ sun_fov = 0.52359877; // Pi / 6 sun_radius = 5000; // GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting -grbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.gr"; +grbank= ""; // LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting -rbank= "%ExportBuildDirectory%/continents/newbieland/rbank_output/newbieland.rbank"; +rbank= ""; // The lighter search in rbank any retriever with identifier ---igname*** as substring // where --- is col_identifier_prefix and *** is col_identifier_suffix 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 3c0e4663a..3b477843a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py @@ -82,8 +82,45 @@ 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 += [ 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 not yet used +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" ] + + + # *** 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" @@ -166,7 +203,6 @@ RbankTessellationBuildDirectory = CommonPath + "/rbank_tessellation" RbankSmoothBuildDirectory = CommonPath + "/rbank_smooth" RbankRawBuildDirectory = CommonPath + "/rbank_raw" RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc" -RbankMeshBuildDirectory = CommonPath + "/rbank_cmb" RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers" RbankOutputBuildDirectory = CommonPath + "/rbank_output" 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 356670e32..33b9f5bb9 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py @@ -140,17 +140,17 @@ RbankZoneDr = "77_CS" RbankRbankName = LandscapeName # Import ig pathes -RbankIgPaths = [ ] # ExportBuildDirectory/... -RbankIgPaths += [ "continents/" + ContinentName + "/ig_other" ] -RbankIgPaths += [ "continents/" + ContinentName + "/ig_land" ] +#RbankIgPaths = [ ] # ExportBuildDirectory/... +#RbankIgPaths += [ "continents/" + ContinentName + "/ig_other" ] +#RbankIgPaths += [ "continents/" + ContinentName + "/ig_land" ] # Import shape pathes -RbankShapePaths = [ ] # ExportBuildDirectory/... -RbankShapePaths += [ "continents/" + ContinentName + "/shape" ] -RbankShapePaths += [ "continents/" + ContinentName + "/shape_with_coarse_mesh_builded" ] -RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape" ] -RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape_with_coarse_mesh_builded" ] -RbankShapePaths += [ "common/sfx/ps" ] +#RbankShapePaths = [ ] # ExportBuildDirectory/... +#RbankShapePaths += [ "continents/" + ContinentName + "/shape" ] +#RbankShapePaths += [ "continents/" + ContinentName + "/shape_with_coarse_mesh_builded" ] +#RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape" ] +#RbankShapePaths += [ "ecosystems/" + EcosystemName + "/shape_with_coarse_mesh_builded" ] +#RbankShapePaths += [ "common/sfx/ps" ] # RbankShapePaths += [ "l:/leveldesign/world_edit_files" ] # *** MAPS OPTIONS *** 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 27c73e966..8bb47d4dd 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 @@ -1,4 +1,16 @@ +// 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"; @@ -7,18 +19,25 @@ bankfar_name = "%ExportBuildDirectory%/%FarbankBuildDirectory%/%EcosystemName%.f search_pathes = { "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory - "%ExportBuildDirectory%/common/sfx/shape", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory - "%ExportBuildDirectory%/common/sfx/map", // Sfx directory - "%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape", // Shape 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/%EcosystemName%/shape_clodtex_build", // Shape directory "%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape_with_coarse_mesh", // Shape directory - "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map", // Map directory + "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/%EcosystemName%/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 - "%ExportBuildDirectory%/continents/%ContinentName%/shape", // Shape directory + "%ExportBuildDirectory%/continents/%ContinentName%/shape_clodtex_build", // Shape directory "%ExportBuildDirectory%/continents/%ContinentName%/shape_with_coarse_mesh", // Shape directory - "%ExportBuildDirectory%/continents/%ContinentName%/map", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_export", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_uncompressed", // Map directory }; // Additional ig file name 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 9cc03f2b9..7617e1b67 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -150,6 +150,10 @@ PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] # *** 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" @@ -209,7 +213,6 @@ IgOtherBuildDirectory = "_invalid" # Rbank directories RbankOutputBuildDirectory = "_invalid" -RbankMeshBuildDirectory = "_invalid" # Ligo directories 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 12104fead..dfc4e0c65 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'desert' ecosystem. 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 1916e5013..9b4069598 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -154,6 +154,10 @@ PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] # *** 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" @@ -213,7 +217,6 @@ IgOtherBuildDirectory = "_invalid" # Rbank directories RbankOutputBuildDirectory = "_invalid" -RbankMeshBuildDirectory = "_invalid" # Ligo directories 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 ca70a8a59..d0a378e9a 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'jungle' ecosystem. 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 e48979a8c..9b2f1f87f 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -162,6 +162,10 @@ PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] # *** 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" @@ -221,7 +225,6 @@ IgOtherBuildDirectory = "_invalid" # Rbank directories RbankOutputBuildDirectory = "_invalid" -RbankMeshBuildDirectory = "_invalid" # Ligo directories 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 93817c333..791c668ef 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'lacustre' ecosystem. 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 cebc4857a..1e03bde60 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -147,6 +147,10 @@ PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] # *** 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" @@ -206,7 +210,6 @@ IgOtherBuildDirectory = "_invalid" # Rbank directories RbankOutputBuildDirectory = "_invalid" -RbankMeshBuildDirectory = "_invalid" # Ligo directories 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 b49eec027..2cf5635ef 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-10-06-GMT +# \date 2010-09-03-14-50-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'primes_racines' ecosystem. diff --git a/code/ryzom/tools/build_gamedata/workspace/projects.py b/code/ryzom/tools/build_gamedata/workspace/projects.py index a83f27f3b..dc55909cf 100644 --- a/code/ryzom/tools/build_gamedata/workspace/projects.py +++ b/code/ryzom/tools/build_gamedata/workspace/projects.py @@ -33,6 +33,12 @@ ProjectsToProcess += [ "common/interface" ] ProjectsToProcess += [ "common/objects" ] ProjectsToProcess += [ "common/sfx" ] 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 # Ecosystem projects ProjectsToProcess += [ "ecosystems/desert" ] @@ -42,17 +48,9 @@ ProjectsToProcess += [ "ecosystems/lacustre" ] # Continent projects ProjectsToProcess += [ "continents/newbieland" ] - -# Common projects depending on continent projects -ProjectsToProcess += [ "common/construction" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg... -ProjectsToProcess += [ "common/outgame" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg... -ProjectsToProcess += [ "common/sky" ] # Depends on jungle/newbieland due to ig_light tool usage of properties.cfg... +#ProjectsToProcess += [ "continents/indoors" ] # TODO Note: must be after all other continents due to dependencies on fy/ma/zo/tr # TODO -#ProjectsToProcess += [ "common/characters" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_hr" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_lr" ] # TODO -#ProjectsToProcess += [ "continents/indoors" ] # TODO # end of file