Added: #929 Ig build process.

This commit is contained in:
kaetemi 2010-08-11 14:18:33 +02:00
parent 2ea64cdd30
commit d3b8b80f29
32 changed files with 1408 additions and 316 deletions

View file

@ -79,3 +79,6 @@ BuildShadowSkinTool = "build_shadow_skin"
PanoplyMakerTool = "panoply_maker"
HlsBankMakerTool = "hls_bank_maker"
LandExportTool = "land_export"
PrimExportTool = "prim_export"
IgElevationTool = "ig_elevation"
IgAddTool = "ig_add"

View file

@ -0,0 +1,66 @@
#!/usr/bin/python
#
# \file 0_setup.py
# \brief setup dummy
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Setup dummy
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Setup dummy")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
# Setup source directories
printLog(log, ">>> Setup source directories <<<")
#for dir in MapSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# Setup export directories
printLog(log, ">>> Setup export directories <<<")
#mkPath(log, ExportBuildDirectory + "/" + DummyTagExportDirectory)
# Setup build directories
printLog(log, ">>> Setup build directories <<<")
#mkPath(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory)
# Setup client directories
printLog(log, ">>> Setup client directories <<<")
#mkPath(log, ClientDataDirectory + "/" + DummyClientDirectory)
log.close()
# end of file

View file

@ -0,0 +1,117 @@
#!/usr/bin/python
#
# \file 1_export.py
# \brief Export dummy
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Export dummy
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Export dummy")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
if MaxAvailable:
# Find tools
Max = findMax(log, MaxDirectory, MaxExecutable)
# ExecTimeout = findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix)
printLog(log, "")
# Export dummy 3dsmax
printLog(log, ">>> Export dummy 3dsmax <<<")
# Build paths
#scriptSrc = "maxscript/dummy_export.ms"
# scriptDst = MaxDirectory + "/scripts/dummy_export.ms"
#scriptDst = MaxUserDirectory + "/scripts/dummy_export.ms"
#logFile = ScriptDirectory + "/processes/dummy/log.log"
#outDirTag = ExportBuildDirectory + "/" + DummyTagExportDirectory
#mkPath(log, outDirTag)
#outDirWithoutCoarse = ExportBuildDirectory + "/" + DummyExportDirectory
#mkPath(log, outDirWithoutCoarse)
#outDirWithCoarse = ExportBuildDirectory + "/" + DummyWithCoarseMeshExportDirectory
#mkPath(log, outDirWithCoarse)
#outDirLightmap = ExportBuildDirectory + "/" + DummyLightmapNotOptimizedExportDirectory
#mkPath(log, outDirLightmap)
#outDirAnim = ExportBuildDirectory + "/" + DummyAnimExportDirectory
#mkPath(log, outDirAnim)
#tagList = findFiles(log, outDirTag, "", ".tag")
#tagLen = len(tagList)
# For each directoy
#if os.path.isfile(scriptDst):
# os.remove(scriptDst)
#for dir in DummySourceDirectories:
# tagDiff = 1
# dummySourceDir = DatabaseDirectory + "/" + dir
# mkPath(log, dummySourceDir)
# sSrc = open(scriptSrc, "r")
# sDst = open(scriptDst, "w")
# for line in sSrc:
# newline = line.replace("output_logfile", logFile)
# newline = newline.replace("dummy_source_directory", dummySourceDir)
# newline = newline.replace("output_directory_tag", outDirTag)
# newline = newline.replace("output_directory_without_coarse_mesh", outDirWithoutCoarse)
# newline = newline.replace("output_directory_with_coarse_mesh", outDirWithCoarse)
# newline = newline.replace("dummy_export_opt_export_lighting", DummyExportOptExportLighting)
# newline = newline.replace("dummy_export_opt_shadow", DummyExportOptShadow)
# newline = newline.replace("dummy_export_opt_lighting_limit", str(DummyExportOptLightingLimit))
# newline = newline.replace("dummy_export_opt_lumel_size", DummyExportOptLumelSize)
# newline = newline.replace("dummy_export_opt_oversampling", str(DummyExportOptOversampling))
# newline = newline.replace("dummy_export_opt_lightmap_log", DummyExportOptLightmapLog)
# newline = newline.replace("dummy_lightmap_path", outDirLightmap)
# newline = newline.replace("output_directory_anim", outDirAnim)
# sDst.write(newline)
# sSrc.close()
# sDst.close()
# while tagDiff > 0:
# printLog(log, "MAXSCRIPT " + scriptDst)
# subprocess.call([ Max, "-U", "MAXScript", "dummy_export.ms", "-q", "-mi", "-vn" ])
# tagList = findFiles(log, outDirTag, "", ".tag")
# newTagLen = len(tagList)
# tagDiff = newTagLen - tagLen
# tagLen = newTagLen
# printLog(log, "Exported " + str(tagDiff) + " .max files!")
# tagDiff += hackBdummyTree() # force rerun also when bdummy tree deleted
# os.remove(scriptDst)
printLog(log, "")
log.close()
# end of file

View file

@ -0,0 +1,96 @@
#!/usr/bin/python
#
# \file 2_build.py
# \brief Build dummy
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Build dummy
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Build dummy")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
# Find tools
ExecTimeout = findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix)
BuildShadowSkin = findTool(log, ToolDirectories, BuildShadowSkinTool, ToolSuffix)
BuildClodtex = findTool(log, ToolDirectories, BuildClodtexTool, ToolSuffix)
LightmapOptimizer = findTool(log, ToolDirectories, LightmapOptimizerTool, ToolSuffix)
TgaToDds = findTool(log, ToolDirectories, TgaToDdsTool, ToolSuffix)
BuildCoarseMesh = findTool(log, ToolDirectories, BuildCoarseMeshTool, ToolSuffix)
#if 1: # todo: CoarseMeshTextureNames length > 0 ...
# printLog(log, ">>> Build coarse meshes <<<")
# dummyWithCoarseMesh = ExportBuildDirectory + "/" + DummyWithCoarseMeshExportDirectory
# mkPath(log, dummyWithCoarseMesh)
# dummyWithCoarseMeshBuilded = ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory
# mkPath(log, dummyWithCoarseMeshBuilded)
# cf = open("confdummy_generated.cfg", "w")
# cf.write("texture_mul_size = " + TextureMulSizeValue + ";\n")
# cf.write("\n")
# cf.write("search_path = \n")
# cf.write("{\n")
# cf.write("\t\"" + dummyWithCoarseMesh + "\", \n")
# for dir in MapSourceDirectories:
# cf.write("\t\"" + DatabaseDirectory + "/" + dir + "\", \n")
# cf.write("};\n")
# cf.write("\n")
# cf.write("list_mesh = \n")
# cf.write("{\n")
# # For each dummy with coarse mesh
# files = findFiles(log, dummyWithCoarseMesh, "", ".dummy")
# for file in files:
# sourceFile = dummyWithCoarseMesh + "/" + file
# if os.path.isfile(sourceFile):
# destFile = dummyWithCoarseMeshBuilded + "/" + file
# cf.write("\t\"" + file + "\", \"" + destFile + "\", \n")
# cf.write("};\n")
# cf.write("\n")
# cf.write("output_textures = \n")
# cf.write("{\n")
# # For each dummy with coarse mesh
# for tn in CoarseMeshTextureNames:
# cf.write("\t\"" + dummyWithCoarseMesh + "/" + tn + ".tga\", \n")
# cf.write("};\n")
# cf.close()
# subprocess.call([ BuildCoarseMesh, "confdummy_generated.cfg" ])
# os.remove("confdummy_generated.cfg")
# for tn in CoarseMeshTextureNames:
# subprocess.call([ TgaToDds, dummyWithCoarseMesh + "/" + tn + ".tga", "-o", dummyWithCoarseMeshBuilded + "/" + tn + ".dds", "-a", "5" ])
log.close()
# end of file

View file

@ -0,0 +1,63 @@
#!/usr/bin/python
#
# \file 3_install.py
# \brief Install dummy
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Install dummy
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Install dummy")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
#clientPath = ClientDataDirectory + "/" + DummyClientDirectory
#mkPath(log, clientPath)
printLog(log, ">>> Install dummy <<<")
#mkPath(log, ExportBuildDirectory + "/" + DummyExportDirectory)
#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyExportDirectory, clientPath, ".dummy")
#mkPath(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory)
#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dummy")
#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dds")
#mkPath(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory)
#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory, clientPath, ".anim")
printLog(log, "")
log.close()
# end of file

View file

@ -0,0 +1,78 @@
#!/usr/bin/python
#
# \file 0_setup.py
# \brief setup ig
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Setup ig
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Setup ig")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
# Setup source directories
printLog(log, ">>> Setup source directories <<<")
for dir in IgLandSourceDirectories:
mkPath(log, DatabaseDirectory + "/" + dir)
for dir in IgOtherSourceDirectories:
mkPath(log, DatabaseDirectory + "/" + dir)
mkPath(log, DatabaseDirectory + "/" + LigoBaseSourceDirectory)
# Setup export directories
printLog(log, ">>> Setup export directories <<<")
mkPath(log, ExportBuildDirectory + "/" + IgStaticLandExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgStaticTagExportDirectory)
# Setup build directories
printLog(log, ">>> Setup build directories <<<")
mkPath(log, ExportBuildDirectory + "/" + LigoIgLandBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandPrimBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandLigoBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandStaticBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
# Setup client directories
printLog(log, ">>> Setup client directories <<<")
#mkPath(log, ClientDataDirectory + "/" + IgClientDirectory)
log.close()
# end of file

View file

@ -0,0 +1,111 @@
#!/usr/bin/python
#
# \file 1_export.py
# \brief Export ig
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Export ig
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Export ig")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
Max = "" #find later
def igExport(sourceDir, targetDir):
scriptSrc = "maxscript/ig_export.ms"
scriptDst = MaxUserDirectory + "/scripts/ig_export.ms"
logFile = ScriptDirectory + "/processes/ig/log.log"
outDirTag = ExportBuildDirectory + "/" + IgStaticTagExportDirectory
outDirIg = ExportBuildDirectory + "/" + targetDir
igSourceDir = DatabaseDirectory + "/" + sourceDir
tagList = findFiles(log, outDirTag, "", ".tag")
tagLen = len(tagList)
if os.path.isfile(scriptDst):
os.remove(scriptDst)
tagDiff = 1
sSrc = open(scriptSrc, "r")
sDst = open(scriptDst, "w")
for line in sSrc:
newline = line.replace("output_logfile", logFile)
newline = newline.replace("ig_source_directory", igSourceDir)
newline = newline.replace("output_directory_tag", outDirTag)
newline = newline.replace("output_directory_ig", outDirIg)
sDst.write(newline)
sSrc.close()
sDst.close()
while tagDiff > 0:
printLog(log, "MAXSCRIPT " + scriptDst)
subprocess.call([ Max, "-U", "MAXScript", "ig_export.ms", "-q", "-mi", "-vn" ])
tagList = findFiles(log, outDirTag, "", ".tag")
newTagLen = len(tagList)
tagDiff = newTagLen - tagLen
tagLen = newTagLen
printLog(log, "Exported " + str(tagDiff) + " .max files!")
os.remove(scriptDst)
return
if MaxAvailable:
# Find tools
Max = findMax(log, MaxDirectory, MaxExecutable)
# ExecTimeout = findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix)
printLog(log, "")
mkPath(log, ExportBuildDirectory + "/" + IgStaticTagExportDirectory)
# Export ig land 3dsmax
printLog(log, ">>> Export ig land 3dsmax <<<")
mkPath(log, ExportBuildDirectory + "/" + IgStaticLandExportDirectory)
for dir in IgLandSourceDirectories:
mkPath(log, DatabaseDirectory + "/" + dir)
igExport(dir, IgStaticLandExportDirectory)
# Export ig other 3dsmax
printLog(log, ">>> Export ig other 3dsmax <<<")
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
for dir in IgOtherSourceDirectories:
mkPath(log, DatabaseDirectory + "/" + dir)
igExport(dir, IgStaticOtherExportDirectory)
printLog(log, "")
log.close()
# end of file

View file

@ -0,0 +1,244 @@
#!/usr/bin/python
#
# \file 2_build.py
# \brief Build ig
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Build ig
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Build ig")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
# Find tools
ExecTimeout = findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix)
PrimExport = findTool(log, ToolDirectories, PrimExportTool , ToolSuffix)
IgElevation = findTool(log, ToolDirectories, IgElevationTool, ToolSuffix)
IgAdd = findTool(log, ToolDirectories, IgAddTool, ToolSuffix)
configDir = ActiveProjectDirectory + "/generated"
mkPath(log, configDir)
def igElevation(inputIgDir, outputIgDir):
printLog(log, ">>> IG Elevation <<<")
mkPath(log, inputIgDir)
mkPath(log, outputIgDir)
mkPath(log, DatabaseDirectory + "/" + LigoBaseSourceDirectory)
configFile = configDir + "/ig_elevation.cfg"
if os.path.isfile(configFile):
os.remove(configFile)
printLog(log, "CONFIG " + configFile)
cf = open(configFile, "w")
cf.write("// ig_elevation.cfg\n")
cf.write("\n")
cf.write("InputIGDir = \"" + inputIgDir + "\";\n")
cf.write("OutputIGDir = \"" + outputIgDir + "\";\n")
cf.write("\n")
cf.write("CellSize = 160.0;")
cf.write("\n")
cf.write("HeightMapFile1 = \"" + DatabaseDirectory + "/" + LigoBaseSourceDirectory + "/" + LigoExportHeightmap1 + "\";\n")
cf.write("ZFactor1 = " + LigoExportZFactor1 + ";\n")
cf.write("HeightMapFile2 = \"" + DatabaseDirectory + "/" + LigoBaseSourceDirectory + "/" + LigoExportHeightmap2 + "\";\n")
cf.write("ZFactor2 = " + LigoExportZFactor2 + ";\n")
cf.write("\n")
cf.write("LandFile = \"" + DatabaseDirectory + "/" + LigoBaseSourceDirectory + "/" + LigoExportLand + "\";\n")
cf.write("\n")
cf.close()
subprocess.call([ IgElevation, configFile ])
os.remove(configFile)
# Build process
if (ContinentLeveldesignWorldDirectory != "") or (len(IgOtherSourceDirectories) > 0):
printLog(log, ">>> Prim IG: ON <<<")
configFile = configDir + "/prim_export.cfg"
if os.path.isfile(configFile):
os.remove(configFile)
outIgDir = ExportBuildDirectory + "/" + IgElevLandPrimBuildDirectory
mkPath(log, outIgDir)
zoneWDir = ExportBuildDirectory + "/" + ZoneWeldBuildDirectory
mkPath(log, zoneWDir)
smallBank = DatabaseDirectory + "/" + TileRootSourceDirectory + "/" + BankTileBankName + ".bank"
farBank = ExportBuildDirectory + "/" + FarbankBuildDirectory + "/" + BankTileBankName + MultipleTilesPostfix[0] + ".farbank"
displaceDir = DatabaseDirectory + "/" + DisplaceSourceDirectory
continentDir = LeveldesignWorldDirectory + "/" + ContinentLeveldesignWorldDirectory
mkPath(log, continentDir)
formDir = LeveldesignDirectory
mkPath(log, LeveldesignDirectory)
printLog(log, "CONFIG " + configFile)
cf = open(configFile, "w")
cf.write("// prim_export.cfg\n")
cf.write("\n")
cf.write("OutIGDir = \"" + outIgDir + "\";\n")
cf.write("ZoneWDir = \"" + zoneWDir + "\";\n")
cf.write("\n")
cf.write("SmallBank = \"" + smallBank + "\";\n")
cf.write("FarBank = \"" + farBank + "\";\n")
cf.write("DisplaceDir = \"" + displaceDir + "\";\n")
cf.write("\n")
cf.write("CellSize = 160.0;")
cf.write("\n")
cf.write("PrimDirs = {\n")
cf.write("\t\"" + continentDir + "\", \n")
for dir in IgPrimitiveSourceDirectories:
mkPath(log, DatabaseDirectory + "/" + dir)
cf.write("\t\"" + DatabaseDirectory + "/" + dir + "\", \n")
cf.write("};\n")
cf.write("\n")
cf.write("FormDir = \"" + formDir + "\";\n")
cf.write("\n")
cf.close()
subprocess.call([ PrimExport, configFile ])
os.remove(configFile)
igElevation(ExportBuildDirectory + "/" + LigoIgLandBuildDirectory, ExportBuildDirectory + "/" + IgElevLandLigoBuildDirectory)
igElevation(ExportBuildDirectory + "/" + IgStaticLandExportDirectory, ExportBuildDirectory + "/" + IgElevLandStaticBuildDirectory)
printLog(log, ">>> Merge land IGs <<<")
mkPath(log, ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory)
removeFilesRecursive(log, ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandPrimBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandLigoBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgElevLandStaticBuildDirectory)
igFilesPrim = findFiles(log, ExportBuildDirectory + "/" + IgElevLandPrimBuildDirectory, "", ".ig")
igFilesLigo = findFiles(log, ExportBuildDirectory + "/" + IgElevLandLigoBuildDirectory, "", ".ig")
igFilesStatic = findFiles(log, ExportBuildDirectory + "/" + IgElevLandStaticBuildDirectory, "", ".ig")
igFilesAll = [ ]
for igFile in igFilesPrim:
if not igFile in igFilesAll:
igFilesAll += [ igFile ]
for igFile in igFilesLigo:
if not igFile in igFilesAll:
igFilesAll += [ igFile ]
for igFile in igFilesStatic:
if not igFile in igFilesAll:
igFilesAll += [ igFile ]
igFilesAll.sort()
for igFile in igFilesAll:
primIgFile = ExportBuildDirectory + "/" + IgElevLandPrimBuildDirectory + "/" + igFile
ligoIgFile = ExportBuildDirectory + "/" + IgElevLandLigoBuildDirectory + "/" + igFile
staticIgFile = ExportBuildDirectory + "/" + IgElevLandStaticBuildDirectory + "/" + igFile
tempIgFile = ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory + "/" + igFile
outIgFile = ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + igFile
activeFile = ""
needsUpdate = 0
sourceTools = ""
if igFile in igFilesPrim:
if needUpdate(log, primIgFile, outIgFile):
needsUpdate = 1
if not needsUpdate == 1 and igFile in igFilesLigo:
if needUpdate(log, ligoIgFile, outIgFile):
needsUpdate = 1
if not needsUpdate == 1 and igFile in igFilesStatic:
if needUpdate(log, staticIgFile, outIgFile):
needsUpdate = 1
if needsUpdate == 1:
if os.path.isfile(outIgFile):
os.remove(outIgFile)
if igFile in igFilesPrim:
sourceTools += " [Prim]"
activeFile = primIgFile
if igFile in igFilesLigo:
if activeFile == "":
activeFile = ligoIgFile
else:
sourceTools += " [Ligo]"
subprocess.call([ IgAdd, tempIgFile, ligoIgFile, activeFile ])
activeFile = tempIgFile
if igFile in igFilesStatic:
if activeFile == "":
activeFile = staticIgFile
else:
sourceTools += " [Static]"
subprocess.call([ IgAdd, outIgFile, staticIgFile, activeFile ])
activeFile = outIgFile
else:
shutil.copy(activeFile, outIgFile)
printLog(log, "MERGE " + igFile + sourceTools)
else:
printLog(log, "SKIP " + igFile)
# Remove temporary land IGs
printLog(log, ">>> Remove temporary land IGs <<<")
mkPath(log, ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory)
removeFilesRecursive(log, ExportBuildDirectory + "/" + IgTempLandMergeBuildDirectory)
# Remove outdated land IGs
printLog(log, ">>> Remove outdated land IGs <<<")
igFilesOut = findFiles(log, ExportBuildDirectory + "/" + IgLandBuildDirectory, "", ".ig")
for igFile in igFilesOut:
if not igFile in igFilesAll:
printLog(log, "RM " + ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + igFile)
os.remove(ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + igFile)
# Verify land IGs
printLog(log, ">>> Verify land IGs <<<")
for igFile in igFilesAll:
if not igFile in igFilesOut:
printLog(log, "MISSING " + igFile)
# Write land IGs TXT
printLog(log, ">>> Write land IGs TXT <<<")
igTxtFile = ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt"
printLog(log, "WRITE " + ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt")
if os.path.isfile(igTxtFile):
os.remove(igTxtFile)
igTxt = open(igTxtFile, "w")
for igFile in igFilesAll:
igTxt.write(igFile + "\n")
igTxt.close()
# Merge other IGs
printLog(log, ">>> Merge other IGs <<<") # (not true merge, since not necesserary)
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory, ".ig")
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory, ".ig")
log.close()
# end of file

View file

@ -0,0 +1,60 @@
#!/usr/bin/python
#
# \file 3_install.py
# \brief Install ig
# \date 2010-05-24 13:42GMT
# \author Jan Boon (Kaetemi)
# Python port of game data build pipeline.
# Install ig
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2010 Winch Gate Property Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
from scripts import *
from buildsite import *
from process import *
from tools import *
from directories import *
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Install ig")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
clientPathIg = ClientDataDirectory + "/" + IgClientDirectory
mkPath(log, clientPathIg)
printLog(log, ">>> Install ig <<<")
landBuildDir = ExportBuildDirectory + "/" + IgLandBuildDirectory
mkPath(log, landBuildDir)
copyFilesExtNoTreeIfNeeded(log, landBuildDir, clientPathIg, "_ig.txt") # Copy the *_ig.txt file
# Do not copy *.ig in ig_land, because zone process will copy zone ig lighted versions into client directory.
# Do not copy *.ig ig_other, because ig_light process will copy ig lighted versions into client directory.
printLog(log, "")
log.close()
# end of file

View file

@ -0,0 +1,304 @@
-- Some globals
NEL3D_APPDATA_ACCEL = 1423062561 -- type of accelerator : "32" = is not an accelerator and IS clusterized
-- "0" = is not an accelerator and IS NOT clusterized (always visible)
-- "1" = is an accelerator type PORTAL
-- "2" = is an accelerator type CLUSTER
-- "6" = is an accelerator type CLUSTER FATHER-VISIBLE
-- "10" = is an accelerator type CLUSTER VISIBLE-FROM-FATHER
-- "14" = is an accelerator type CLUSTER FATHER-VISIBLE and VISIBLE-FROM-FATHER
-- "17" = is an accelerator type PORTAL DYNAMIC
NEL3D_APPDATA_DONOTEXPORT = 1423062565 -- do not export me : "undefined" = export me
-- "0" = export me
-- "1" = DONT export me
NEL3D_APPDATA_IGNAME = 1423062564 -- string : name of the Instance Group
NEL3D_APPDATA_LOD_NAME_COUNT_MAX = 10
NEL3D_APPDATA_LOD = 1423062537
NEL3D_APPDATA_LOD_NAME_COUNT = NEL3D_APPDATA_LOD
NEL3D_APPDATA_LOD_NAME = NEL3D_APPDATA_LOD_NAME_COUNT+1
NEL3D_APPDATA_LOD_BLEND_IN = NEL3D_APPDATA_LOD_NAME+NEL3D_APPDATA_LOD_NAME_COUNT_MAX
NEL3D_APPDATA_LOD_BLEND_OUT = NEL3D_APPDATA_LOD_BLEND_IN+1
NEL3D_APPDATA_LOD_COARSE_MESH = NEL3D_APPDATA_LOD_BLEND_OUT+1
NEL_OBJECT_NAME_DATA = 1970
-- Allocate 20 Me for the script
heapSize += 15000000
nlErrorFilename = "output_logfile"
nlErrorStream = openFile nlErrorFilename mode:"a"
if nlErrorStream == undefined then
nlErrorStream = createFile nlErrorFilename
-- Unhide category
fn unhidecategory =
(
if (geometry.count > 0) then
(
unhide geometry[1]
if (geometry[1].ishidden == true) then
max hide object toggle
)
if (shapes.count > 0) then
(
unhide shapes[1]
if (shapes[1].ishidden == true) then
max hide shape toggle
)
if (lights.count > 0) then
(
unhide lights[1]
if (lights[1].ishidden == true) then
max hide light toggle
)
if (cameras.count > 0) then
(
unhide cameras[1]
if (cameras[1].ishidden == true) then
max hide camera toggle
)
if (helpers.count > 0) then
(
unhide helpers[1]
if (helpers[1].ishidden == true) then
max hide helper toggle
)
)
-- Log a message
fn nlerror message =
(
if nlErrorStream != undefined then
(
format "%\n" message to:nlErrorStream
flush nlErrorStream
)
-- To the console
print message
)
-- This node is n accelerator ?
fn isAccelerator node =
(
accel = getappdata node NEL3D_APPDATA_ACCEL
if (accel != undefined) then
(
if (accel == "0") or (accel == "32") then
return false
else
return true
)
return false
)
-- Get the ig name of this object
fn getIg node =
(
return (getappdata node NEL3D_APPDATA_IGNAME)
)
try
(
-- Get files in the ig_source_directory
files = getFiles "ig_source_directory/*.max"
-- Sort files
sort files
-- No file ?
if files.count != 0 then
(
-- For each files
for i = 1 to files.count do
(
try
(
-- Free memory and file handles
gc ()
-- Reset 3dsmax
resetMAXFile #noprompt
-- Get the tag file name
tag = ("output_directory_tag/"+(getFilenameFile files[i])+(getFilenameType files[i])+".tag")
-- Compare date with the tag file
if (NeLTestFileDate tag files[i]) == true then
(
-- Open the max project
nlerror ("Scanning file "+files[i]+" ...")
if (mergeMaxFile files[i] quiet:true) == true then
(
-- Unhide category
unhidecategory()
tagThisFile = true
-- Unhide
max unhide all
-- unselect
max select none
-- Exported object count
exported = 0
-- Ig array
ig_array = #()
-- Scan all the ig in this project
for node in objects do
(
ig = getIg node
if ( (ig != undefined) and (ig != "") ) then
(
-- Found ?
found = false
-- Already found ?
for j = 1 to ig_array.count do
(
if (ig_array[j]==ig) then
(
found = true
exit
)
)
-- Found ?
if (found == false) then
(
append ig_array ig
)
)
)
-- Have some ig ?
if (ig_array.count != 0) then
(
-- For each ig
for ig = 1 to ig_array.count do
(
-- Output filename
output = ("output_directory_ig/"+ig_array[ig]+".ig")
-- Check date
if (NeLTestFileDate output files[i]) == true then
(
-- Select none
max select none
-- Select all node in this ig
for node in geometry do
(
-- Select it if in the ig
if ( (getIg node) == ig_array[ig]) then
selectmore node
)
-- Select all lights in this ig
for node in lights do
(
-- Select it if in the ig
if ( (getIg node) == ig_array[ig]) then
selectmore node
)
-- Select all lights in this ig
for node in helpers do
(
-- Select it if in the ig
if ( (getIg node) == ig_array[ig]) then
selectmore node
)
-- Check export
try
(
-- Export the ig
instancegroup2export = $selection as array
if (NelExportInstanceGroup instancegroup2export output) == true then
(
nlerror ("OK "+output)
)
else
(
-- Error
nlerror ("ERROR exporting ig "+ig_array[ig]+" in file "+files[i])
tagThisFile = false
)
)
catch
(
-- Error
nlerror ("ERROR fatal error exporting ig "+ig_array[ig]+" in file "+files[i])
tagThisFile = false
)
)
else
(
nlerror ("SKIPPED "+output)
)
)
)
else
(
-- Error
nlerror ("WARNING nothing exported from ig max file "+files[i])
)
-- Write a tag file
if tagThisFile == true then
(
tagFile = createFile tag
if tagFile == undefined then
(
nlerror ("WARNING can't create tag file "+tag)
)
else
(
print "toto" to: tagFile
close tagFile
)
)
resetMAXFile #noprompt
)
else
(
-- Error
nlerror ("ERROR exporting ig: can't open the file "+files[i])
)
)
else
(
-- Error
nlerror ("SKIPPED BY TAG "+files[i])
)
)
catch
(
-- Error
nlerror ("ERROR error exporting ig in files " + files[i])
)
)
)
else
(
nlerror ("WARNING no max file in folder ig_source_directory")
)
)
catch
(
-- Error
nlerror ("ERROR fatal error exporting ig in folder ig_source_directory")
)
-- Bye
resetMAXFile #noprompt
quitMAX #noPrompt
quitMAX () #noPrompt

View file

@ -45,17 +45,14 @@ printLog(log, "")
# Setup source directories
printLog(log, ">>> Setup source directories <<<")
#for dir in ig_lightSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# Setup export directories
printLog(log, ">>> Setup export directories <<<")
#mkPath(log, ExportBuildDirectory + "/" + ig_lightExportDirectory)
# Setup build directories
printLog(log, ">>> Setup build directories <<<")
mkPath(log, ExportBuildDirectory + "/" + IgVillageBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgLightVillageBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory)
# Setup client directories
printLog(log, ">>> Setup client directories <<<")

View file

@ -52,11 +52,11 @@ printLog(log, ">>> Build ig_light <<<")
if IgLighter == "":
toolLogFail(log, IgLighterTool, ToolSuffix)
else:
srcDir = ExportBuildDirectory + "/" + IgVillageBuildDirectory
srcDir = ExportBuildDirectory + "/" + IgOtherBuildDirectory
mkPath(log, srcDir)
destDir = ExportBuildDirectory + "/" + IgLightVillageBuildDirectory
destDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory
mkPath(log, destDir)
subprocess.call([ IgLighter, srcDir, destDir, ScriptDirectory + "/configuration/zone_lighter_properties.cfg" ])
subprocess.call([ IgLighter, srcDir, destDir, ActiveProjectDirectory + "/generated/zone_lighter.cfg" ])
printLog(log, "")
log.close()

View file

@ -44,7 +44,7 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
printLog(log, ">>> Install ig_light <<<")
srcDir = ExportBuildDirectory + "/" + IgLightVillageBuildDirectory
srcDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory
mkPath(log, srcDir)
destDir = ClientDataDirectory + "/" + IgClientDirectory
mkPath(log, destDir)

View file

@ -45,6 +45,7 @@ printLog(log, "")
# Setup source directories
printLog(log, ">>> Setup source directories <<<")
mkPath(log, DatabaseDirectory + "/" + LigoBaseSourceDirectory)
mkPath(log, DatabaseDirectory + "/" + LigoMaxSourceDirectory)
mkPath(log, DatabaseDirectory + "/" + ZoneSourceDirectory)

View file

@ -60,7 +60,7 @@ for dir in RbankShapePaths:
mkPath(log, ExportBuildDirectory + "/" + dir)
mkPath(log, ExportBuildDirectory + "/" + RbankBboxBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgVillageBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + RbankTessellationBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + RbankSmoothBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + RbankRawBuildDirectory)

View file

@ -102,8 +102,8 @@ mkPath(log, LeveldesignWorldDirectory)
cf.write("LevelDesignWorldPath = \"" + LeveldesignWorldDirectory + "\";\n")
mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory)
cf.write("IgLandPath = \"" + ExportBuildDirectory + "/" + IgLandBuildDirectory + "\";\n")
mkPath(log, ExportBuildDirectory + "/" + IgVillageBuildDirectory)
cf.write("IgVillagePath = \"" + ExportBuildDirectory + "/" + IgVillageBuildDirectory + "\";\n")
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
cf.write("IgVillagePath = \"" + ExportBuildDirectory + "/" + IgOtherBuildDirectory + "\";\n")
cf.write("\n")
mkPath(log, ExportBuildDirectory + "/" + RbankTessellationBuildDirectory)
cf.write("TessellationPath = \"" + ExportBuildDirectory + "/" + RbankTessellationBuildDirectory + "/\";\n")

View file

@ -53,6 +53,7 @@ mkPath(log, ExportBuildDirectory + "/" + ZoneExportDirectory)
# Setup build directories
printLog(log, ">>> Setup build directories <<<")
mkPath(log, ExportBuildDirectory + "/" + ZoneDependBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + ZoneWeldBuildDirectory)
# Setup client directories

View file

@ -50,16 +50,32 @@ ExecTimeout = findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix)
printLog(log, "")
# We are in BEST mode
# TODO if (high quality) blahblahblah
if BuildQuality == 1:
printLog(log, ">>> Build zone dependencies <<<")
if ZoneDependencies == "":
toolLogFail(log, ZoneDependenciesTool, ToolSuffix)
elif ExecTimeout == "":
toolLogFail(log, ExecTimeoutTool, ToolSuffix)
else:
printLog(log, "********************************")
printLog(log, "******** TODO ********")
printLog(log, "********************************")
mkPath(log, ExportBuildDirectory + "/" + ZoneExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + ZoneDependBuildDirectory)
mkPath(log, ActiveProjectDirectory + "/generated")
configFile = ActiveProjectDirectory + "/generated/zone_dependencies.cfg"
templateCf = open(ActiveProjectDirectory + "/generated/zone_lighter.cfg", "r")
cf = open(configFile, "w")
for line in templateCf:
cf.write(line)
cf.write("\n");
cf.write("level_design_directory = \"" + LeveldesignDirectory + "\";\n");
cf.write("level_design_world_directory = \"" + LeveldesignWorldDirectory + "\";\n");
cf.write("level_design_dfn_directory = \"" + LeveldesignDfnDirectory + "\";\n");
cf.write("continent_name = \"" + ContinentName + "\";\n");
cf.write("\n");
cf.close()
for zoneRegion in ZoneRegions:
subprocess.call([ ExecTimeout, str(ZoneBuildDependTimeout), ZoneDependencies, configFile, ExportBuildDirectory + "/" + ZoneExportDirectory + "/" + zoneRegion[0] + ".zone", ExportBuildDirectory + "/" + ZoneExportDirectory + "/" + zoneRegion[1] + ".zone", ExportBuildDirectory + "/" + ZoneDependBuildDirectory + "/doomy.depend" ])
printLog(log, "")
# For each zone directory

View file

@ -54,7 +54,7 @@ for line in ps:
newline = newline.replace("%EcosystemPath%", EcosystemPath)
newline = newline.replace("%BankTileBankName%", BankTileBankName)
newline = newline.replace("%IgLandBuildDirectory%", IgLandBuildDirectory)
newline = newline.replace("%IgVillageBuildDirectory%", IgVillageBuildDirectory)
newline = newline.replace("%IgOtherBuildDirectory%", IgOtherBuildDirectory)
newline = newline.replace("%RbankOutputBuildDirectory%", RbankOutputBuildDirectory)
newline = newline.replace("%RbankRbankName%", RbankRbankName)
newline = newline.replace("%BuildQuality%", str(BuildQuality))

View file

@ -47,7 +47,7 @@ printLog(log, "")
#TgaToDds = findTool(log, ToolDirectories, TgaToDdsTool, ToolSuffix)
printLog(log, "")
# For each zone_light directory
# Export zone_light water maps
printLog(log, ">>> Export zone_light water maps <<<")
srcDir = ExportBuildDirectory + "/" + ZoneLightWaterShapesLightedExportDirectory
mkPath(log, srcDir)
@ -55,47 +55,8 @@ for dir in WaterMapSourceDirectories:
destDir = DatabaseDirectory + "/" + dir
mkPath(log, destDir)
copyFilesExtNoTreeIfNeeded(log, srcDir, destDir, ".tga")
#mkPath(log, ExportBuildDirectory + "/" + zone_lightExportDirectory)
#for dir in zone_lightSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# niouname = dir.replace("/", "_")
# newpath = ExportBuildDirectory + "/" + zone_lightExportDirectory + "/" + niouname
# mkPath(log, newpath)
# copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".tga")
printLog(log, "")
# For each zone_light directory to compress in one DXTC
#printLog(log, ">>> Export zone_light dxtc <<<")
#mkPath(log, ExportBuildDirectory + "/" + zone_lightDxtcExportDirectory)
#for dir in zone_lightDxtcSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + zone_lightDxtcExportDirectory, ".tga")
#printLog(log, "")
# For each zone_light fullscreen directory compress independently all in dds
#printLog(log, ">>> Export zone_light fullscreen <<<")
#if TgaToDds == "":
# toolLogFail(log, TgaToDdsTool, ToolSuffix)
#else:
# mkPath(log, ExportBuildDirectory + "/" + zone_lightFullscreenExportDirectory)
# for dir in zone_lightFullscreenSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# files = findFiles(log, DatabaseDirectory + "/" + dir, "", ".tga")
# for file in files:
# sourceFile = DatabaseDirectory + "/" + dir + "/" + file
# destFile = ExportBuildDirectory + "/" + zone_lightFullscreenExportDirectory + "/" + os.path.basename(file)[0:-len(".tga")] + ".dds"
# if needUpdateLogRemoveDest(log, sourceFile, destFile):
# subprocess.call([ TgaToDds, sourceFile, "-o", destFile, "-a", "5" ])
#printLog(log, "")
# For each zone_light 3d directory
#printLog(log, ">>> Export zone_light 3d <<<")
#mkPath(log, ExportBuildDirectory + "/" + zone_light3DExportDirectory)
#for dir in zone_light3DSourceDirectories:
# mkPath(log, DatabaseDirectory + "/" + dir)
# copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + zone_light3DExportDirectory, ".tga")
#printLog(log, "")
log.close()

View file

@ -88,11 +88,11 @@ else:
mkPath(log, dependDir)
files = findFiles(log, srcDir, "", ".zonel")
for file in files:
igsrcFile = igsrcDir + os.path.basename(file)[0:-len(".zonel")] + ".ig"
igsrcFile = igsrcDir + "/" + os.path.basename(file)[0:-len(".zonel")] + ".ig"
destFile = destDir + "/" + os.path.basename(file)[0:-len(".zonel")] + ".ig"
if (os.path.isfile(igsrcFile)):
if (needUpdateLogRemoveDest(log, igsrcFile, destFile)):
srcFile = srcDir + "/" + file # ************************* TODO CHECK IF THIS REALLY WORKS *************************************
srcFile = srcDir + "/" + file
dependFile = destDir + "/" + file[0:-len(".zonel")] + ".depend"
subprocess.call([ ExecTimeout, str(ZoneIgLightBuildTimeout), ZoneIgLighter, srcFile, destFile, ActiveProjectDirectory + "/generated/zone_lighter.cfg", dependFile ])
printLog(log, "")

View file

@ -58,7 +58,7 @@ mkPath(log, destDir)
copyFilesNoTreeIfNeeded(log, srcDir, destDir)
printLog(log, ">>> Install zone_light igs <<<")
srcDir = ExportBuildDirectory + "/" + IgLandBuildDirectory
srcDir = ExportBuildDirectory + "/" + ZoneLightIgLandBuildDirectory
mkPath(log, srcDir)
destDir = ClientDataDirectory + "/" + IgClientDirectory
mkPath(log, destDir)

View file

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "..\..\nel\src\3d.vcproj", "{2B48BE83-108B-4E8E-8A55-6627CF09AC5A}"
ProjectSection(ProjectDependencies) = postProject
{44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516}
@ -211,12 +211,22 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_items_2_csv", "leveld
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master", "leveldesign\master\master.vcproj", "{D53B297E-01B6-4E9A-9753-BBF18A6EB332}"
ProjectSection(ProjectDependencies) = postProject
{44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516}
{577230FF-399C-4C9D-9495-CEC106326441} = {577230FF-399C-4C9D-9495-CEC106326441}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "georges_plugin_test", "leveldesign\georges_plugin_test\georges_plugin_test.vcproj", "{36DE80C1-0519-4177-847C-17A8D846D365}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "georges_convert", "leveldesign\georges_convert\georges_convert.vcproj", "{3539CE53-2596-4BC4-A177-045BBAFF4A82}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "export", "leveldesign\export\export.vcproj", "{577230FF-399C-4C9D-9495-CEC106326441}"
ProjectSection(ProjectDependencies) = postProject
{44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516}
{9D284C6B-BE12-4549-87E5-2337D64F31BE} = {9D284C6B-BE12-4549-87E5-2337D64F31BE}
{2B48BE83-108B-4E8E-8A55-6627CF09AC5A} = {2B48BE83-108B-4E8E-8A55-6627CF09AC5A}
{1DDC11C7-AF79-40F3-A6D4-F84BA8644B5C} = {1DDC11C7-AF79-40F3-A6D4-F84BA8644B5C}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "patch_gen", "patch_gen\patch_gen.vcproj", "{E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}"
ProjectSection(ProjectDependencies) = postProject

View file

@ -26,15 +26,19 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# *** SOURCE DIRECTORIES IN THE DATABASE ***
# *** ECOSYSTEM AND CONTINENT NAMES ***
EcosystemName = "jungle"
EcosystemPath = "ecosystems/" + EcosystemName
ContinentName = "newbieland"
ContinentPath = "continents/" + ContinentName
# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD ***
ContinentLeveldesignWorldDirectory = ContinentName
# *** SOURCE DIRECTORIES IN THE DATABASE ***
# Ligo directories
LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName
@ -43,6 +47,20 @@ LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max"
# Zone directories
ZoneSourceDirectory = "landscape/zones/" + EcosystemName
# Ig directories
IgLandSourceDirectories = [ ]
# IgLandSourceDirectories += [ "landscape/zones/" + ContinentName ] # For old snowballs style landscape when not using ligo
IgOtherSourceDirectories = [ ]
IgOtherSourceDirectories += [ "stuff/" + ContinentName + "/sky" ] # The canopee in the sky
IgPrimitiveSourceDirectories = [ ]
IgPrimitiveSourceDirectories += [ "primitive/" + ContinentName ] # Contains plants (trees, etc) primitive made with world editor
# Tiles root directory
TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
# Displace directory
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE ***
@ -64,16 +82,22 @@ SmallbankExportDirectory = EcosystemPath + "/smallbank"
# Tiles directories
DisplaceExportDirectory = EcosystemPath + "/diplace"
# Ig directories
IgStaticLandExportDirectory = ContinentPath + "/ig_static_land" # Landscape IG eported from 3dsmax not elevated by the heightmap
IgStaticOtherExportDirectory = ContinentPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax
IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files
# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE ***
# Ligo directories
LigoZoneBuildDirectory = ContinentPath + "/ligo_zones"
LigoIgLandBuildDirectory = ContinentPath + "/ligo_ig_land"
LigoIgOtherBuildDirectory = ContinentPath + "/ligo_ig_other"
LigoIgLandBuildDirectory = ContinentPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap
LigoIgOtherBuildDirectory = ContinentPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape
# Zone directories
ZoneWeldBuildDirectory = ContinentPath + "/zone_weld"
ZoneDependBuildDirectory = ContinentPath + "/zone_depend"
ZoneLightWaterShapesLightedExportDirectory = ContinentPath + "/zone_lwsl_temp" #fixme
ZoneLightBuildDirectory = ContinentPath + "/zone_lighted" #fixme
ZoneLightDependBuildDirectory = ContinentPath + "/zone_lighted_depend" #fixme
@ -82,9 +106,15 @@ ZoneLightIgLandBuildDirectory = ContinentPath + "/zone_lighted_ig_land" #fixme
# Farbank directories
FarbankBuildDirectory = EcosystemPath + "/farbank"
# Ig directories ************** TODO CONFIRM IN IG BUILD PROCESS ************ FIX RBANK IF NEEDED ***********
IgLandBuildDirectory = "_invalid"
IgVillageBuildDirectory = "_invalid"
# Ig directories
IgElevLandPrimBuildDirectory = ContinentPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter)
IgElevLandLigoBuildDirectory = ContinentPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap
IgElevLandStaticBuildDirectory = ContinentPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap
IgTempLandMergeBuildDirectory = ContinentPath + "/ig_temp_land_merge"
IgTempLandCompareBuildDirectory = ContinentPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison
IgLandBuildDirectory = ContinentPath + "/ig_land" # Final IG directory for landscape IGs
IgOtherBuildDirectory = ContinentPath + "/ig_other" # Final IG directory for village or construction IGs
IgOtherLightedBuildDirectory = ContinentPath + "/ig_other_lighted"
# Rbank directories
RbankBboxBuildDirectory = ContinentPath + "/rbank_bbox"

View file

@ -30,12 +30,12 @@
# *** PROCESS CONFIG ***
ProcessToComplete = [ ]
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process (not yet), but does not export max files
ProcessToComplete += [ "zone" ]
#ProcessToComplete += [ "ig" ] # not implemented
ProcessToComplete += [ "zone_light" ]
ProcessToComplete += [ "rbank" ]
#ProcessToComplete += [ "ig_light" ]
#ProcessToComplete += [ "ps" ]
ProcessToComplete += [ "zone" ] # works, need to check completeness
ProcessToComplete += [ "ig" ] # fully implemented
ProcessToComplete += [ "zone_light" ] # works, need to check completeness
ProcessToComplete += [ "rbank" ] # works, need to check completeness
ProcessToComplete += [ "ig_light" ] # fully implemented
#ProcessToComplete += [ "ps" ] # not implemented
# *** ECOSYSTEM AND CONTINENT NAMES ***
@ -52,6 +52,13 @@ ContinentFile = ContinentName + "/" + ContinentName + ".continent"
# *** BANK EXPORT OPTIONS ***
# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM ***
MultipleTilesPostfix = [ ]
MultipleTilesPostfix += [ "_sp" ]
MultipleTilesPostfix += [ "_su" ]
MultipleTilesPostfix += [ "_au" ]
MultipleTilesPostfix += [ "_wi" ]
# Name of the tilebank to use
BankTileBankName = EcosystemName
@ -67,7 +74,8 @@ LigoExportZFactor2 = "0.5"
LigoTileBankFile = "landscape/_texture_tiles/" + EcosystemName + "/" + EcosystemName + ".bank"
# *** ZONE REGIONS ( up-left, down-right ) ***
ZoneRegion = [ "65_bz", "77_cs" ]
ZoneRegions = [ ]
ZoneRegions += [ [ "65_bz" ] + [ "77_cs" ] ]
# *** RBANK OPTIONS ***

View file

@ -108,9 +108,12 @@ TilesSourceDirectories += [ "landscape/_texture_tiles/" + EcosystemName + "_wi/T
# Tiles root directory
TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
# Displace directoriy
# Displace directory
DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace"
# Do not use, needs to be removed and fixed in processes
DisplaceSourceDirectories = [ ]
DisplaceSourceDirectories += [ "landscape/_texture_tiles/" + EcosystemName + "/displace" ]
DisplaceSourceDirectories += [ DisplaceSourceDirectory ]
# Bank directory
BankSourceDirectory = "landscape/_texture_tiles/" + EcosystemName
@ -192,7 +195,7 @@ FarbankBuildDirectory = "ecosystems/" + EcosystemName + "/farbank"
# Ig directories ************** TODO CONFIRM IN IG BUILD PROCESS ************ FIX RBANK IF NEEDED ***********
IgLandBuildDirectory = "_invalid"
IgVillageBuildDirectory = "_invalid"
IgOtherBuildDirectory = "_invalid"
# Rbank directories
RbankOutputBuildDirectory = "_invalid"

View file

@ -37,7 +37,7 @@ ProcessToComplete += [ "displace" ] # OK
ProcessToComplete += [ "veget" ] # OK
ProcessToComplete += [ "vegetset" ] # OK
ProcessToComplete += [ "ligo" ] # not fully implemented, works for this process, but does not export max files
#ProcessToComplete += [ "pacs_prim" ]
##ProcessToComplete += [ "pacs_prim" ]
# *** MAP EXPORT OPTIONS ***
PanoplyFileList = [ ]

View file

@ -4,6 +4,7 @@
Version="9,00"
Name="alias_synchronizer"
ProjectGUID="{3ECD7F32-6603-45D2-91AB-5FBC278F6DC8}"
RootNamespace="alias_synchronizer"
TargetFrameworkVersion="0"
>
<Platforms>
@ -70,6 +71,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="alias_synchronizer_r.exe"
SubSystem="1"
OptimizeReferences="2"

View file

@ -221,6 +221,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="..\install\$(ProjectName)_r.exe"
SubSystem="2"
OptimizeReferences="2"

View file

@ -916,7 +916,7 @@ int main (int argc, char**argv)
catch(Exception &e)
{
// Error in the log
nlwarning ("Error loading zone file (%s) : %s", files[i].c_str (), e.what ());
nlwarning ("Error loading primitive file (%s) : %s", files[i].c_str (), e.what ());
}
// Progress bar

View file

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Version="9,00"
Name="prim_export"
ProjectGUID="{96975416-BE2B-4458-8DF4-91870D25C46B}"
TargetFrameworkVersion="131072"
RootNamespace="prim_export"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
@ -18,13 +19,10 @@
</ToolFiles>
<Configurations>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
Name="Debug|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
IntermediateDirectory="obj\$(ConfigurationName)\$(ProjectName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
@ -41,137 +39,42 @@
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\Release/prim_export.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_CONSOLE"
StringPooling="true"
RuntimeLibrary="2"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release/prim_export.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="freetype.lib libxml2.lib odbc32.lib odbccp32.lib"
OutputFile=".\Release/prim_export.exe"
LinkIncremental="1"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/prim_export.pdb"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\Release/prim_export.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release/prim_export.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="freetype.lib libxml2.lib odbc32.lib odbccp32.lib"
OutputFile=".\Release/prim_export.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/prim_export.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="1"
/>
<Tool
@ -201,9 +104,6 @@
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
@ -221,21 +121,19 @@
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\Debug/prim_export.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_CONSOLE"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Debug/prim_export.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
@ -245,23 +143,20 @@
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="freetype.lib libxml2.lib odbc32.lib odbccp32.lib"
OutputFile=".\Debug/prim_export.exe"
LinkIncremental="1"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/prim_export.pdb"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
@ -287,13 +182,10 @@
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
IntermediateDirectory="obj\$(ConfigurationName)\$(ProjectName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
@ -310,21 +202,20 @@
/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\Debug/prim_export.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Debug/prim_export.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
Optimization="4"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="true"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;NDEBUG;ASSERT_THROW_EXCEPTION;_CONSOLE"
StringPooling="true"
ExceptionHandling="2"
RuntimeLibrary="2"
DisableLanguageExtensions="false"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
@ -334,23 +225,21 @@
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="freetype.lib libxml2.lib odbc32.lib odbccp32.lib"
OutputFile=".\Debug/prim_export.exe"
LinkIncremental="1"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_r.exe"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/prim_export.pdb"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrtd"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(RootNamespace)_r.lib"
TargetMachine="1"
/>
<Tool
@ -375,61 +264,94 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="true"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;NDEBUG;ASSERT_THROW_EXCEPTION;_CONSOLE"
StringPooling="true"
ExceptionHandling="2"
RuntimeLibrary="2"
DisableLanguageExtensions="false"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_r.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrtd"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(RootNamespace)_r.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="main.cpp"
>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath="..\master\ContinentCfg.h"
>
@ -438,12 +360,10 @@
RelativePath="..\master\easy_cfg.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
<File
RelativePath="main.cpp"
>
</Filter>
</File>
<File
RelativePath="prim_export.cfg"
>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Version="9,00"
Name="land_export"
ProjectGUID="{FECBB892-F33C-4195-AB69-9B708BFBCDEA}"
RootNamespace="land_export"
@ -75,7 +75,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="land_export_r.exe"
LinkIncremental="1"
SuppressStartupBanner="true"