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