You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3201 lines
98 KiB
Plaintext
3201 lines
98 KiB
Plaintext
-------------------------------------------------------------------------------
|
|
-- load.ms
|
|
-- Version 2.8
|
|
-- Loader script to define structures and loading and managing functions
|
|
-- By: Mathias Lindner
|
|
-- eMail: devsupport@crytek.com
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
try
|
|
(
|
|
if cryTools.showSplash == true then
|
|
(
|
|
if crySplash.open == false then
|
|
(
|
|
bm = (openBitmap (crytools.BuildPathFull + "Tools\\maxscript\\icons\\splash.png"))
|
|
createDialog crysplash style:#(#style_border) modal:false bitmap:bm width:bm.width height:bm.height fgcolor:white
|
|
)
|
|
|
|
try crysplash.build.text = "LOADING CryANIM" catch()
|
|
)
|
|
)catch()
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:logOutput
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- creates the log and fills it with function definitions, errors
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
function logOutput outputText init:undefined =
|
|
(
|
|
logFilepath = (cryTools.cryTemp + "cryAnim_log.txt")
|
|
|
|
if init != undefined then
|
|
try deleteFile logFilepath catch()
|
|
|
|
try
|
|
(
|
|
if doesfileexist logFilepath == false then
|
|
logStream = createFile logFilepath
|
|
else
|
|
logStream = openFile logFilepath mode:"a"
|
|
|
|
if logStream != undefined then
|
|
(
|
|
if findString "!!>" outputText != 0 and getCurrentException() != undefined then
|
|
(
|
|
|
|
additionString = "-----------------------------------------------------------------------------------\n"
|
|
additionString += (getCurrentException() as String) + "\n" + additionString
|
|
|
|
if cryTools.suppresswarnings == false then
|
|
break()
|
|
else
|
|
print (outputText + "\n" + additionString)
|
|
)
|
|
else
|
|
additionString = ""
|
|
|
|
|
|
|
|
if trackTime != undefined then
|
|
(
|
|
trackTimeDiv = timeStamp() - trackTimeStop
|
|
if additionString == "" then
|
|
outputText += " [" + (trackTimeDiv ) as String + " ms]"
|
|
|
|
trackTimeStop = timeStamp()
|
|
)
|
|
|
|
format (outputText + "\n" + additionString) to:logStream
|
|
close logStream
|
|
|
|
)
|
|
)
|
|
catch ( print "Error in Log-Output" )
|
|
)
|
|
logOutput ( "CryAnim Log " + localTime + "\n===============================================\n" ) init:true
|
|
|
|
|
|
trackTime = timeStamp()
|
|
trackTimeStop = timeStamp()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:Structures
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- structure initialisation
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.base structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct aToolsBaseStruct
|
|
(
|
|
setVars,
|
|
getFilePaths,
|
|
lowercase,
|
|
readTempFile,
|
|
perforce,
|
|
loadFiles,
|
|
iniFile,
|
|
getPerforcePath,
|
|
setMacros,
|
|
setCallbacks,
|
|
setMenu,
|
|
callStartUp,
|
|
reloadScript,
|
|
killCryAnim
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim._f structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct bipPartSt ( object, part, name, pivotSel )
|
|
struct objectSt ( selected, parent, child, isPivot )
|
|
struct pivotSelSt ( index, pivotName, position, pivPoint, pivObject )
|
|
struct partNameSt ( name, leftRight, bodyPart )
|
|
struct pivPointSt ( name, position )
|
|
struct pivotDistanceStruct ( distance, name )
|
|
|
|
struct aToolsFunctionStruct
|
|
(
|
|
getBipNames,
|
|
getBaseBip,
|
|
getSelectedBipPart,
|
|
getPivotPointPos,
|
|
getNearestSnapshot,
|
|
moveBipPartPivPoint,
|
|
moveRotBipPartPivPoint,
|
|
moveBipPart,
|
|
moveRotBipPart,
|
|
moveToFloor,
|
|
resetRotation,
|
|
rotateAnim,
|
|
moveToBodyMass,
|
|
bipToZero2,
|
|
bipToZero3,
|
|
setTrajectories,
|
|
resetLocator,
|
|
getChildren,
|
|
getChildExtent,
|
|
createSnapshot,
|
|
lockRotation,
|
|
pasteTransform
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.align structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct selectionSt ( pivot = #(), selection = #() )
|
|
struct pivotLastSt ( index = 6, pivotName, position, pivObject, pivPoint = pivPointSt() )
|
|
struct partSt ( LHand = pivotLastSt(), RHand = pivotLastSt(), LFoot = pivotLastSt(), RFoot = pivotLastSt(), tempSelection )
|
|
struct pivotListSt ( pointList = selectionSt(), edgeList = selectionSt(), pivotLast = partSt() )
|
|
struct pointEdgeSt ( pivot, selection )
|
|
struct activePivotSt ( interPivot, interPos )
|
|
|
|
struct aToolsAlignFunctionStruct
|
|
(
|
|
createPivotEdge,
|
|
createPivotPoint,
|
|
createPointEdge,
|
|
initVars,
|
|
interactPivotPoint,
|
|
setPivotPoint,
|
|
clickAction,
|
|
deletePivotPoints,
|
|
switchViewPort,
|
|
callPivotSelect
|
|
)
|
|
|
|
struct aToolsAlignStruct
|
|
(
|
|
pivotSelect,
|
|
_f = aToolsAlignFunctionStruct(),
|
|
_v = pivotListSt()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.operation structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct operationFunctionStruct
|
|
(
|
|
updateDialog,
|
|
getSelectedAxis,
|
|
align,
|
|
alignLine,
|
|
applyOperation
|
|
)
|
|
|
|
struct operationStruct
|
|
(
|
|
_f = operationFunctionStruct(),
|
|
_v = #()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.pivot structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct pivotFunctionStruct
|
|
(
|
|
pivotPoint
|
|
)
|
|
|
|
struct pivotStruct
|
|
(
|
|
_f = pivotFunctionStruct(),
|
|
_v = #()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.poseManager structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct charStruct ( name, nodes = #(), collections = #() )
|
|
struct collectionStruct ( name, poses = #() )
|
|
struct poseStruct ( name, nodes = #() )
|
|
struct nodeStruct ( name, transform )
|
|
|
|
struct poseManagerFunctionStruct
|
|
(
|
|
outputINI,
|
|
inputINI,
|
|
createPoseBitmap,
|
|
updateList,
|
|
addEntry,
|
|
createEntry,
|
|
deleteEntry,
|
|
renameEntry,
|
|
applyPose
|
|
)
|
|
|
|
struct poseManagerVarsStruct
|
|
(
|
|
poses = #()
|
|
)
|
|
|
|
struct poseManagerStruct
|
|
(
|
|
createDialog,
|
|
renameDialog,
|
|
_f = poseManagerFunctionStruct(),
|
|
_v = poseManagerVarsStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.loadSave structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct loadSaveFunctionStruct
|
|
(
|
|
progressDialog,
|
|
checkRange,
|
|
progressDialog,
|
|
updateProgressBar,
|
|
bakeMuscleBones,
|
|
getStatusExtents,
|
|
getProgressInfo
|
|
)
|
|
|
|
struct loadSaveVarsStruct
|
|
(
|
|
bipOpenPath = "",
|
|
bipSavePath = "",
|
|
cafSavePath = ""
|
|
)
|
|
|
|
struct loadSaveStruct
|
|
(
|
|
testBar,
|
|
showSelectedFile,
|
|
_f = loadSaveFunctionStruct(),
|
|
_v = loadSaveVarsStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.models structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct modelPathStruct ( name, path )
|
|
struct itemStruct ( name, external, model, parent, reference, rotation, position )
|
|
|
|
struct modelsFunctionStruct
|
|
(
|
|
selectItem,
|
|
sortList,
|
|
setVisible,
|
|
getEntries,
|
|
LoadModel,
|
|
updateExtent,
|
|
updateExtentModel,
|
|
selectByNameFilterNode,
|
|
selectByNameFilterParent
|
|
)
|
|
|
|
struct modelsVarsStruct
|
|
(
|
|
itemList = #()
|
|
)
|
|
|
|
struct modelsStruct
|
|
(
|
|
editItemList,
|
|
entryDetails,
|
|
editModelList,
|
|
loadModelRC,
|
|
_f = modelsFunctionStruct(),
|
|
_v = modelsVarsStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.main.target structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct targetFunctionStruct
|
|
(
|
|
updateDDSelection,
|
|
updateOffset,
|
|
setManualOffset
|
|
)
|
|
|
|
struct targetStruct
|
|
(
|
|
_f = targetFunctionStruct(),
|
|
_v = #()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
struct settingsFunctionStruct
|
|
(
|
|
callCustomizeDialog
|
|
)
|
|
|
|
struct settingsStruct
|
|
(
|
|
customizeRollouts,
|
|
_f = settingsFunctionStruct(),
|
|
_v = #()
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--################################################################
|
|
struct mainDialogVarsStruct
|
|
(
|
|
animToolsINIPath,
|
|
tempINIPath,
|
|
bipWorkingDir = "",
|
|
cafWorkingDir = "",
|
|
dialogMaxHeight
|
|
)
|
|
|
|
struct controlStruct ( name, rolloutName, tooltip, pos, width, height )
|
|
struct mainDialogFunctionStruct
|
|
(
|
|
getUI,
|
|
checkExport,
|
|
updateDialog,
|
|
callDialog
|
|
)
|
|
|
|
struct mainDialogStruct
|
|
(
|
|
dialog,
|
|
rollouts = #(),
|
|
loadSave = loadSaveStruct(),
|
|
models = modelsStruct(),
|
|
operation = operationStruct(),
|
|
pivot = pivotStruct(),
|
|
poseManager = poseManagerStruct(),
|
|
target = targetStruct(),
|
|
settings = settingsStruct(),
|
|
_f = mainDialogFunctionStruct(),
|
|
_v = mainDialogVarsStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI.batchProcess structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct boneStruct ( active, name, external, bones )
|
|
struct resultStruct ( index, name )
|
|
struct maskStruct ( normal = #(), add = #(), remove = #(), extension = #() )
|
|
struct subFolderStruct ( path, node )
|
|
|
|
struct subRangeStruct ( objects, range, export )
|
|
|
|
struct batchFileStruct
|
|
(
|
|
filename,
|
|
path,
|
|
details,
|
|
process,
|
|
used,
|
|
extension,
|
|
anm,
|
|
node,
|
|
subRanges = #(),
|
|
subRangePrefix = ""
|
|
)
|
|
|
|
struct batchProcessVarsStruct
|
|
(
|
|
sourcePath = "",
|
|
exportPath = "",
|
|
customScripts = #(),
|
|
customScriptsSave = #(),
|
|
customScriptStatus = "",
|
|
customScriptSelected = 0,
|
|
flags = #{},
|
|
subFolders = #(),
|
|
exportFiles = #(),
|
|
selectedFile,
|
|
fileQue,
|
|
exportBones,
|
|
boneList = #()
|
|
)
|
|
|
|
struct batchProcessFunctionStruct
|
|
(
|
|
subRangeCallDialog,
|
|
subRangeUpdateList,
|
|
subRangeGetRange,
|
|
subRangeUpdateRange,
|
|
subRangeUpdateValues,
|
|
subRangeSetList,
|
|
subRangeLoadFromDummy,
|
|
subRangeUpdateDialog,
|
|
subRangeCreateUDPString,
|
|
|
|
addNode,
|
|
callDialog,
|
|
updateSubFolderSelection,
|
|
updateSubFolders,
|
|
getCheckedNodes,
|
|
updateCounter,
|
|
getScriptList,
|
|
updateScriptLists,
|
|
createScriptDialog,
|
|
getAllFolders,
|
|
getAllFiles,
|
|
getBoneDetection,
|
|
getFilename,
|
|
getExtension,
|
|
findMaskEntry,
|
|
getFileFound,
|
|
refreshFiles,
|
|
updateDialog,
|
|
generateOutput,
|
|
executeCustomScripts,
|
|
loadBatchFile,
|
|
processFiles,
|
|
updateExtent
|
|
)
|
|
|
|
struct batchProcessDialogStruct
|
|
(
|
|
dialog,
|
|
customizeScript,
|
|
subRangeDialog,
|
|
progressDialog,
|
|
editBoneList,
|
|
entryDetails,
|
|
_f = batchProcessFunctionStruct(),
|
|
_v = batchProcessVarsStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim.UI structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct aToolsUIStruct
|
|
(
|
|
main = mainDialogStruct(),
|
|
batchProcess = batchProcessDialogStruct()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim._v structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct rotPosStruct ( rotation = (eulerangles 0 0 0), position = [0,0,0] )
|
|
|
|
struct aToolsGlobalVarsStruct
|
|
(
|
|
various = #(),
|
|
tempATPath,
|
|
perforceDir = "",
|
|
lockRotation,
|
|
transformList = #()
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--// cryTools.cryAnim structure
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
struct aToolsStruct
|
|
(
|
|
_v = ( aToolsGlobalVarsStruct() ),
|
|
_f = ( aToolsFunctionStruct() ),
|
|
base = ( aToolsBaseStruct() ),
|
|
align = ( aToolsAlignStruct() ),
|
|
UI = ( aToolsUIStruct() )
|
|
)
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
logOutput "> Initialized main structures"
|
|
|
|
|
|
|
|
if cryTools.cryAnim != undefined then
|
|
reloadCryAnim = true
|
|
|
|
try cryTools.cryAnim.base.killCryAnim() catch()
|
|
|
|
|
|
cryTools.cryAnim = aToolsStruct()
|
|
|
|
|
|
|
|
logOutput "> Created CryAnim structure interface"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.getFilePaths
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- gets the paths of all used functions when loading and return the perforce path
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.getFilePaths = function getFilePaths op =
|
|
(
|
|
try
|
|
(
|
|
struct ATFileStruct ( aToolsPaths = #(), perforcePaths = #() )
|
|
local JPath = cryTools.BuildPathFull + "Tools\\maxscript\\cryAnim\\"
|
|
local ATFilePath = ATFileStruct()
|
|
|
|
append ATFilePath.aToolsPaths (JPath + "load.ms")
|
|
append ATFilePath.aToolsPaths (JPath + "functions.ms")
|
|
|
|
append ATFilePath.perforcePaths (JPath + "load.ms")
|
|
append ATFilePath.perforcePaths (JPath + "functions.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\operation.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\perforce.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\pivot.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\pose.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\save.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\target.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\tools.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\locator.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\muscle.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\models\\models8.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\main\\models\\models9.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\batch8.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\batch9.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\AutoLoc.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\Rotate180.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\ConvertTCB.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\bipExport.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\bipSave.ms")
|
|
append ATFilePath.perforcePaths (JPath + "ui\\batch\\Scripts\\bipSaveExport.ms")
|
|
|
|
case op of
|
|
(
|
|
#perforcePath:
|
|
(
|
|
newString = substring JPath cryTools.buildPathFull.count JPath.count
|
|
|
|
|
|
local perforcePath = cryTools.cryAnim._v.perforceDir
|
|
if perforcePath != undefined then
|
|
(
|
|
perforcePath += "/"
|
|
local tempArray = filterString newString "\\"
|
|
for i = 1 to tempArray.count do
|
|
perforcePath += tempArray[i] + (if i < tempArray.count then "/" else "")
|
|
)
|
|
return perforcePath
|
|
)
|
|
|
|
#localPath: return JPath
|
|
|
|
#aToolsPaths: return ATFilePath
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.getFilePaths" )
|
|
)
|
|
getFilePaths = undefined
|
|
logOutput "> Created cryAnim.base.getFilePath function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.lowercase
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- converts string to lower case
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.lowercase = function lowercase input =
|
|
(
|
|
try
|
|
(
|
|
local tempString = ""
|
|
|
|
for i = 1 to input.count do
|
|
(
|
|
x = input[i]
|
|
n = bit.charAsInt x
|
|
if (n > 64) and (n < 90) then
|
|
x = bit.intAsChar (n + 32)
|
|
tempString += x
|
|
)
|
|
return tempString
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.lowercase"; return "" )
|
|
)
|
|
lowercase = undefined
|
|
logOutput "> Created cryAnim.base.lowercase function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.readTempFile
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- reads the temp file generated by perforce
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.readTempFile = function readTempFile =
|
|
(
|
|
try
|
|
(
|
|
local tempSize = 0
|
|
local tempString = ""
|
|
|
|
--// if file temp file exists
|
|
if doesFileExist cryTools.cryAnim._v.tempATPath == true then
|
|
(
|
|
|
|
--// wait, until maxscript can access the file
|
|
while tempStream == undefined do --tempSize < 1 do
|
|
(
|
|
escapeEnable = true
|
|
tempStream = openFile cryTools.cryAnim._v.tempATPath mode:"r"
|
|
)
|
|
|
|
|
|
--// open the temp file
|
|
if getFileSize cryTools.cryAnim._v.tempATPath == 0 then
|
|
(
|
|
print "Perforce not found..."
|
|
return undefined
|
|
)
|
|
--// read all lines
|
|
while eof tempStream != true do
|
|
tempString += (readLine tempStream) + "\n"
|
|
|
|
--// close the file
|
|
close tempStream
|
|
--// delete file
|
|
deleteFile cryTools.cryAnim._v.tempATPath
|
|
|
|
--// returns the lines of the file
|
|
return tempString
|
|
)
|
|
else
|
|
return undefined
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.readTempFile" )
|
|
)
|
|
readTempFile = undefined
|
|
logOutput "> Created cryAnim.base.readTempFile function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.perforce
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- connection between perforce and max
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.perforce = function perforce filename op =
|
|
(
|
|
try
|
|
(
|
|
case op of
|
|
(
|
|
#localToDepot:
|
|
(
|
|
try
|
|
(
|
|
buildFilter = filterString cryTools.buildPathFull "\\"
|
|
buildString = ""
|
|
for i = 1 to (buildFilter.count - 1) do
|
|
buildString += buildFilter[i] + "\\"
|
|
|
|
perforceFilter = filterString cryTools.cryAnim._v.perforceDir "/"
|
|
perforceString = "//"
|
|
for i = 1 to (perforceFilter.count - 1) do
|
|
perforceString += perforceFilter[i] + (if i < (perforceFilter.count - 1) then "/" else "")
|
|
|
|
pathString = substring filename buildString.count filename.count
|
|
|
|
|
|
tempFilter = filterString pathString "\\"
|
|
if tempFilter.count > 1 then
|
|
(
|
|
tempString = perforceString
|
|
for i = 1 to tempFilter.count do
|
|
tempString += "/" + tempFilter[i]
|
|
|
|
return tempString
|
|
)
|
|
else
|
|
return false
|
|
|
|
)catch (return undefined)
|
|
)
|
|
#depotToLocal:
|
|
(
|
|
try
|
|
(
|
|
tempFilter = filterString filename "/"
|
|
if tempFilter.count > 1 then
|
|
(
|
|
tempString = (filterString crytools.BUIldPathFull "\\")[1]
|
|
|
|
for i = 2 to tempFilter.count do
|
|
tempString += "\\" + tempFilter[i]
|
|
|
|
|
|
return tempString
|
|
)
|
|
else
|
|
return false
|
|
)
|
|
catch(return undefined)
|
|
)
|
|
|
|
#getFilename:
|
|
(
|
|
tempFilter = filterString filename "\\"
|
|
return tempFilter[tempFilter.count]
|
|
)
|
|
|
|
#getDirectory:
|
|
(
|
|
tempFilter = filterString filename "\\"
|
|
tempString = ""
|
|
for i = 1 to (tempFilter.count - 1) do
|
|
tempString += tempFilter[i] + "\\"
|
|
|
|
return tempString
|
|
)
|
|
|
|
#getFileStats:
|
|
(
|
|
struct tempATFileStruct
|
|
(
|
|
depotFile,
|
|
clientFile,
|
|
headRev,
|
|
haveRev,
|
|
otherOpen,
|
|
userOpen,
|
|
exist
|
|
)
|
|
|
|
tempStruct = tempATFileStruct exist:true
|
|
|
|
tempPath = cryTools.cryAnim.base.perforce filename #localToDepot
|
|
|
|
if (tempPath != false) and (tempPath != undefined) then
|
|
(
|
|
cryTools.scmd ("p4 -s fstat " + tempPath + " > \"" + cryTools.cryAnim._v.tempATPath + "\"") false
|
|
|
|
tempString = ""
|
|
while tempString == "" do
|
|
(
|
|
escapeEnable = true
|
|
tempString = cryTools.cryAnim.base.readTempFile()
|
|
)
|
|
if tempString != undefined then
|
|
(
|
|
tempFilter = filterString tempString "\n"
|
|
|
|
|
|
|
|
for i = 1 to tempFilter.count do
|
|
(
|
|
tempSecFilter = filterString tempFilter[i] " "
|
|
if (findString tempFilter[i] "depotFile") != undefined then
|
|
tempStruct.depotFile = tempSecFilter[tempSecFilter.count]
|
|
if (findString tempFilter[i] "clientFile") != undefined then
|
|
tempStruct.clientFile = tempSecFilter[tempSecFilter.count]
|
|
if (findString tempFilter[i] "headRev") != undefined then
|
|
tempStruct.headRev = tempSecFilter[tempSecFilter.count]
|
|
if (findString tempFilter[i] "haveRev") != undefined then
|
|
tempStruct.haveRev = tempSecFilter[tempSecFilter.count]
|
|
if (findString tempFilter[i] "otherOpen0") != undefined then
|
|
tempStruct.otherOpen = tempSecFilter[tempSecFilter.count]
|
|
if (findString tempFilter[i] "actionOwner") != undefined then
|
|
tempStruct.userOpen = true
|
|
if (findString tempFilter[i] "no such file") != undefined then
|
|
tempStruct.exist = false
|
|
)
|
|
|
|
return tempStruct
|
|
)
|
|
)
|
|
--else
|
|
return undefined
|
|
)
|
|
|
|
#getLatestRev:
|
|
(
|
|
cryTools.scmd ("p4 sync -f " + (cryTools.cryAnim.base.perforce filename #localToDepot) ) false
|
|
return true
|
|
)
|
|
|
|
#open:
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #getLatestRev
|
|
cryTools.scmd ("p4 edit " + (cryTools.cryAnim.base.perforce filename #localToDepot) ) false
|
|
return true
|
|
)
|
|
#add:
|
|
(
|
|
tempBinary == ""
|
|
fileType = cryTools.cryAnim.base.perforce filename #getFilename
|
|
tempString = cryTools.cryAnim.base.lowercase fileType
|
|
|
|
if (findString tempString ".caf") != undefined then tempBinary = "-t binary+l "
|
|
if (findString tempString ".bip") != undefined then tempBinary = "-t binary+l "
|
|
|
|
cryTools.scmd ("p4 add " + tempBinary + (cryTools.cryAnim.base.perforce filename #localToDepot) ) false
|
|
return true
|
|
)
|
|
|
|
#getPath:
|
|
(
|
|
if cryTools.scmd != undefined then
|
|
(
|
|
cryTools.scmd ("p4 where " + filename + " > \"" + cryTools.cryAnim._v.tempATPath + "\"") false
|
|
|
|
tempString = ""
|
|
while tempString == "" do
|
|
(
|
|
escapeEnable = true
|
|
tempString = cryTools.cryAnim.base.readTempFile()
|
|
)
|
|
|
|
try ( return (filterString tempString " ")[1] ) catch (return undefined)
|
|
)
|
|
else
|
|
return undefined
|
|
)
|
|
|
|
|
|
#checkForLoad:
|
|
(
|
|
tempStruct = cryTools.cryAnim.base.perforce filename #getFileStats
|
|
if tempStruct != undefined then
|
|
(
|
|
if tempStruct.exist == true then
|
|
(
|
|
if tempStruct.otherOpen != undefined then
|
|
(
|
|
messageBox ("The file is currently opened by:\n\n" + tempStruct.otherOpen) title:("Perforce Check: " + (cryTools.cryAnim.base.perforce filename #getFilename))
|
|
)
|
|
else
|
|
(
|
|
if tempStruct.userOpen == undefined then
|
|
(
|
|
if (queryBox "Do you want to 'Open for Edit' ?" title:("Perforce Check: " + (cryTools.cryAnim.base.perforce filename #getFilename))) == true then
|
|
(
|
|
if tempStruct.headRev != tempStruct.haveRev then
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #getLatestRev
|
|
)
|
|
|
|
cryTools.cryAnim.base.perforce filename #open
|
|
)
|
|
else
|
|
return false
|
|
)
|
|
return true
|
|
)
|
|
)
|
|
return false
|
|
)
|
|
else
|
|
return undefined
|
|
)
|
|
|
|
#checkForSave:
|
|
(
|
|
tempCBAStruct = cryTools.cryAnim.base.perforce (cryTools.buildPathFull + "Game\\Animations\\Animations.cba") #getFileStats
|
|
if tempCBAStruct != undefined then
|
|
(
|
|
if tempCBAStruct.headRev != tempCBAStruct.haveRev then
|
|
if (cryTools.cryAnim.base.perforce (cryTools.buildPathFull + "Game\\Animations\\Animations.cba") #getLatestRev) == true then
|
|
print "Synched - Animations.cba"
|
|
)
|
|
|
|
tempStruct = cryTools.cryAnim.base.perforce filename #getFileStats
|
|
if tempStruct != undefined then
|
|
(
|
|
if tempStruct.exist == true then
|
|
(
|
|
if tempStruct.headRev != tempStruct.haveRev then
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #getLatestRev
|
|
)
|
|
|
|
if tempStruct.userOpen == undefined then
|
|
(
|
|
if tempStruct.otherOpen != undefined then
|
|
(
|
|
return (queryBox ("The file is currently opened by:\n\n" + tempStruct.otherOpen + "\n\nOverwrite File?") title:("Perforce Check: " + (cryTools.cryAnim.base.perforce filename #getFilename)) beep:true)
|
|
)
|
|
if (queryBox "Do you want to 'Open for Edit' ?" title:("Perforce Check: " + (cryTools.cryAnim.base.perforce filename #getFilename))) == true then
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #open
|
|
return true
|
|
)
|
|
else
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #setReadMessage
|
|
return false
|
|
)
|
|
|
|
)
|
|
else
|
|
return true
|
|
)
|
|
else
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #setReadMessage
|
|
return false
|
|
)
|
|
)
|
|
else
|
|
return undefined
|
|
)
|
|
|
|
|
|
#setRead:
|
|
(
|
|
--// set attribute to read --
|
|
if ((getFiles filename)[1]) != undefined then
|
|
(
|
|
if (getFileAttribute filename #readOnly) == true then
|
|
(
|
|
setFileAttribute filename #readOnly false
|
|
return true
|
|
)
|
|
else
|
|
return false
|
|
)
|
|
else
|
|
return undefined
|
|
)
|
|
#setReadMessage:
|
|
(
|
|
if (cryTools.cryAnim.base.perforce filename #setRead) == true then
|
|
(
|
|
try
|
|
(
|
|
if (cryTools.cryAnim.getUI "Perforce" "chkReadOnly").checked == true then
|
|
messageBox ("Set File Attribute to Read") title:("File Check: " + (cryTools.cryAnim.base.perforce filename #getFilename))
|
|
)catch()
|
|
return true
|
|
)
|
|
else
|
|
return false
|
|
)
|
|
|
|
#checkForAdd:
|
|
(
|
|
tempStruct = cryTools.cryAnim.base.perforce filename #getFileStats
|
|
if tempStruct != undefined then
|
|
(
|
|
if tempStruct.exist == false then
|
|
(
|
|
if (queryBox "The file is not in the database.\nAdd to Source Control?" title:("Perforce Check: " + (cryTools.cryAnim.base.perforce filename #getFilename))) == true then
|
|
(
|
|
cryTools.cryAnim.base.perforce filename #add
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
#checkLoading:
|
|
(
|
|
|
|
local fileArray = #()
|
|
local perforcePath = cryTools.cryAnim.base.getFilePaths #perforcePath
|
|
if perforcePath != undefined then
|
|
(
|
|
local tempFileString = ""
|
|
local tempFileList = #()
|
|
local ATFileListPath = (cryTools.cryAnim.base.getFilePaths #aToolsPaths).perforcePaths
|
|
local ATFileListHeadRev = #()
|
|
local ATFileListHaveRev = #()
|
|
local ATUpdatedFiles = #()
|
|
local tempFileString = ""
|
|
|
|
while tempFileString == "" do
|
|
(
|
|
escapeEnable = true
|
|
tempFileString = cryTools.cryAnim.base.readTempFile()
|
|
)
|
|
|
|
for i = 1 to tempFileList.count do
|
|
(
|
|
if (findString tempFileList[i] "clientFile") != undefined then
|
|
(
|
|
append ATFileListPath (substring tempFileList[i] 19 tempFileList[i].count)
|
|
)
|
|
)
|
|
|
|
tempBool = false
|
|
|
|
for i = 1 to ATFileListPath.count do
|
|
(
|
|
local tempFileStat = cryTools.cryAnim.base.perforce ATFileListPath[i] #getFileStats
|
|
|
|
if (tempFileStat.depotFile != undefined) and (tempFileStat.haveRev != undefined) then
|
|
(
|
|
if (tempFileStat.haveRev != tempFileStat.headRev) then
|
|
(
|
|
cryTools.cryAnim.base.perforce ATFileListPath[i] #getLatestRev
|
|
append ATUpdatedFiles (cryTools.cryAnim.base.perforce ATFileListPath[i] #getFilename)
|
|
print (" Synched - " + (cryTools.cryAnim.base.perforce ATFileListPath[i] #getFilename) )
|
|
tempBool = true
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
|
|
if tempBool == false then
|
|
return false
|
|
else
|
|
(
|
|
tempMessageFilesString = ""
|
|
local tempMessageBottomString = ""
|
|
local tempMessageString = ""
|
|
local compareFileSize = undefined
|
|
|
|
for i = 1 to ATUpdatedFiles.count do
|
|
tempMessageFilesString += "\n" + ATUpdatedFiles[i]
|
|
|
|
|
|
return ATUpdatedFiles
|
|
|
|
|
|
)
|
|
|
|
return true
|
|
)
|
|
return undefined
|
|
|
|
)
|
|
|
|
#messageOnLoading:
|
|
(
|
|
local tempMessageString = ""
|
|
local tempMessageBottomString = ""
|
|
local tempMessageFilesString = ""
|
|
|
|
if filename.count > 1 then
|
|
tempMessageString = "These Files were Updated:\n"
|
|
else
|
|
tempMessageString = "This File was Updated:\n"
|
|
for i = 1 to filename.count do
|
|
tempMessageFilesString += "\n" + filename[i]
|
|
|
|
if cryTools.suppressWarnings == false then
|
|
messageBox (tempMessageString + tempMessageFilesString + tempMessageBottomString) title:"CryAnim Perforce Check"
|
|
)
|
|
|
|
#messageOnUpdate:
|
|
(
|
|
local tempMessageString = ""
|
|
local tempMessageBottomString = ""
|
|
local tempMessageFilesString = ""
|
|
|
|
if filename.count > 1 then
|
|
tempMessageString = "These Files were Updated:\n"
|
|
else
|
|
tempMessageString = "This File was Updated:\n"
|
|
|
|
for i = 1 to filename.count do
|
|
tempMessageFilesString += "\n " + filename[i]
|
|
|
|
tempMessageFilesString += "\n\n Do you want to reload cryAnim?"
|
|
|
|
if cryTools.suppressWarnings == false then
|
|
if (queryBox (tempMessageString + tempMessageFilesString + tempMessageBottomString) title:"CryAnim Perforce Check") == true then
|
|
cryTools.cryAnim.base.reloadScript()
|
|
)
|
|
|
|
|
|
#autoUpdate:
|
|
(
|
|
local tempVar = cryTools.cryAnim.base.perforce "" #checkLoading
|
|
if tempVar != false then
|
|
cryTools.cryAnim.base.perforce tempVar #messageOnUpdate
|
|
)
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.perforce" )
|
|
)
|
|
perforce = undefined
|
|
logOutput "> Created cryAnim.base.perforce function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.loadFiles
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- loads used files
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.loadFiles = function loadFiles op =
|
|
(
|
|
try
|
|
(
|
|
local ATFilePath = cryTools.cryAnim.base.getFilePaths #aToolsPaths
|
|
|
|
case op of
|
|
(
|
|
#load:( fileIn ATFilePath.aToolsPaths[1] ; return true )
|
|
#all:
|
|
(
|
|
for i = 2 to ATFilePath.aToolsPaths.count do
|
|
(
|
|
try ( fileIn ATFilePath.aToolsPaths[i] )
|
|
catch ( print ("Can't load: " + ATFilePath.aToolsPaths[i] ) )
|
|
)
|
|
return true
|
|
)
|
|
#functions:( fileIn ATFilePath.aToolsPaths[2] ; return true )
|
|
#pivot:( fileIn ATFilePath.aToolsPath[3] ; return true )
|
|
#dialog:( fileIn ATFilePath.aToolsPath[4] ; return true )
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.loadFiles" )
|
|
)
|
|
loadFiles = undefined
|
|
logOutput "> Created cryAnim.base.loadFiles function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.iniFile
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- input and output of the cryAnim ini file
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.iniFile = function iniFile op item value:undefined =
|
|
(
|
|
try
|
|
(
|
|
try
|
|
(
|
|
csexport.set_value
|
|
|
|
case op of
|
|
(
|
|
#set:
|
|
(
|
|
case item of
|
|
(
|
|
-- Default Settings --
|
|
#dialogPos: ( try ( csexport.set_value "cryAnimDlgPos" ( if value == undefined then ( (getDialogPos cryTools.cryAnim.UI.main.dialog) as String) else value) ) catch() )
|
|
#visible: ( try (csexport.set_value "cryAnimDlgVisible" value ) catch() )
|
|
#autoUpdate: ( try ( csexport.set_value "cryAnimDlgAutoUpdate" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Perforce" "chkAutoUpdate").checked == true then "1" else "0") else value ) ) catch() )
|
|
#autoUpdateTime: ( try ( csexport.set_value "cryAnimDlgAutoUpdateTime" (if value == undefined then ( (cryTools.cryAnim.UI.main._f.getUI "Perforce" "spnAutoUpdateTime").value as String ) else value ) ) catch() )
|
|
#multiRow: ( try ( csexport.set_value "cryAnimDlgMultiRow" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Settings" "chkMultiRow").checked == true then "1" else "0") else value ) ) catch() )
|
|
#rolloutStates: ( try ( csexport.set_value "cryAnimDlgRolloutStates" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Settings" "chkRolloutStates").checked == true then "1" else "0") else value ) ) catch() )
|
|
#readOnly: ( try ( csexport.set_value "cryAnimDlgReadOnly" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Settings" "chkReadOnly").checked == true then "1" else "0" ) else value ) ) catch () )
|
|
#workingDir: ( try ( csexport.set_value "cryAnimDlgWorkingDir" (if value == undefined then ( (cryTools.cryAnim.UI.main._f.getUI "Settings" "edWorkingDir").text ) else value ) ) catch () )
|
|
#loadBiped: ( try ( csexport.set_value "cryAnimDlgLoadBiped" (if value == undefined then cryTools.cryAnim.UI.main.loadSave._v.bipOpenPath else value ) ) catch () )
|
|
|
|
|
|
|
|
-- Open For Edit --
|
|
#loadOpen: ( try ( csexport.set_value "cryAnimDlgOFELoad" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radLoadOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveOpen: ( try ( csexport.set_value "cryAnimDlgOFESave" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#exportOpen: ( try ( csexport.set_value "cryAnimDlgOFEExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radExportOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveExportOpen: ( try ( csexport.set_value "cryAnimDlgOFESaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveExportOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
|
|
-- Add To Source Control --
|
|
#saveAdd: ( try ( csexport.set_value "cryAnimDlgASCSave" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#exportAdd: ( try ( csexport.set_value "cryAnimDlgASCExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radExportAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveExportAdd: ( try ( csexport.set_value "cryAnimDlgASCSaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveExportAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
|
|
-- Prompt for File --
|
|
#savePrompt: ( try ( csexport.set_value "cryAnimDlgPFFSave" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radSavePrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
#exportPrompt: ( try ( csexport.set_value "cryAnimDlgPFFExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radExportPrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
#saveExportPrompt: ( try ( csexport.set_value "cryAnimDlgPFFSaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radSaveExportPrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
|
|
|
|
|
|
-- Rollout Settings --
|
|
#targetRO: ( try ( csexport.set_value "cryAnimDlgRolloutTarget" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Target" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#operationRO: ( try ( csexport.set_value "cryAnimDlgRolloutOperation" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Operation" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#pivotRO: ( try ( csexport.set_value "cryAnimDlgRolloutPivot" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Pivot" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#modelsRO: ( try ( csexport.set_value "cryAnimDlgRolloutModels" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Models" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#locatorRO: ( try ( csexport.set_value "cryAnimDlgRolloutLocator" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Locator" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#poseRO: ( try ( csexport.set_value "cryAnimDlgRolloutPose" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Pose Manager" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#musclesRO: ( try ( csexport.set_value "cryAnimDlgRolloutMuscles" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Muscles" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#loadSaveRO: ( try ( csexport.set_value "cryAnimDlgRolloutLoadSave" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Load / Save / Export" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#perforceRO: ( try ( csexport.set_value "cryAnimDlgRolloutPerforce" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Perforce" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#toolsRO: ( try ( csexport.set_value "cryAnimDlgRolloutTools" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Settings" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
|
|
#batchProcessExt: ( try ( csexport.set_value "cryAnimDlgBatchExtension" value ) catch() )
|
|
#batchProcessSourcePath: ( try ( csexport.set_value "cryAnimDlgBatchOpenPath" value ) catch() )
|
|
#batchProcessExportPath: ( try ( csexport.set_value "cryAnimDlgbatchProcessPath" value ) catch() )
|
|
#batchProcessSubFolderSelection: ( try ( csexport.set_value "cryAnimDlgBatchSubFolderSelection" value ) catch() )
|
|
#batchProcessSubFolders: ( try ( csexport.set_value "cryAnimDlgBatchSubFolders" (if value != undefined then (if value == true then "1" else "0") ) ) catch() )
|
|
|
|
|
|
#models:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
tempString = value[i].name + "#" + value[i].path
|
|
try ( csexport.set_value ("cryAnimDlgModel" + i as String) tempString ) catch()
|
|
)
|
|
|
|
else
|
|
try ( csexport.set_value ("cryAnimDlgModel" + i as String) "" ) catch()
|
|
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
|
|
|
|
#items:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
local tempStringArray = (itemStruct name:"" external:"" model:"" reference:"" parent:"" rotation:"" position:"")
|
|
local maxCount = value[i].model.count
|
|
|
|
for d = 1 to maxCount do
|
|
(
|
|
tempStringArray.model += value[i].model[d] + (if i != maxCount then ";" else "")
|
|
tempStringArray.reference += value[i].reference[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.parent += value[i].parent[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.rotation += value[i].rotation[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.position += value[i].position[d] as String + (if i != maxCount then ";" else "")
|
|
)
|
|
|
|
tempString = value[i].name + "#" + value[i].external + "#" + tempStringArray.model + "#" + tempStringArray.reference + "#" + tempStringArray.parent + "#" + tempStringArray.rotation + "#" + tempStringArray.position
|
|
try ( csexport.set_value ("cryAnimDlgWeapon" + i as String) tempString ) catch()
|
|
)
|
|
else
|
|
try ( csexport.set_value ("cryAnimDlgWeapon" + i as String) "" ) catch()
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
|
|
|
|
#bones:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
tempString = value[i].active + "#" + value[i].name + "#" + value[i].external + "#" + value[i].bones
|
|
try ( csexport.set_value ("cryAnimDlgBone" + i as String) tempString ) catch()
|
|
)
|
|
else
|
|
try ( csexport.set_value ("cryAnimDlgBone" + i as String) "" ) catch()
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
)
|
|
)
|
|
#get:
|
|
(
|
|
case item of
|
|
(
|
|
--// Default Settings --
|
|
#dialogPos: ( try ( execute ("return " + (csexport.get_value "cryAnimDlgPos" ) ) ) catch(return undefined) )
|
|
#visible: ( try ( return (if (csexport.get_value "cryAnimDlgVisible") == "1" then true else false) ) catch() )
|
|
#autoUpdate: ( try ( return (if (csexport.get_value "cryAnimDlgAutoUpdate") == "1" then true else false) ) catch() )
|
|
#autoUpdateTime: ( try ( return ( (csexport.get_value "cryAnimDlgAutoUpdateTime") as Integer) ) catch() )
|
|
#multiRow: ( try ( return (if (csexport.get_value "cryAnimDlgMultiRow") == "1" then true else false) ) catch() )
|
|
#rolloutStates: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutStates") == "1" then true else false) ) catch() )
|
|
#readOnly: ( try ( return (if (csexport.get_value "cryAnimDlgReadOnly") == "1" then true else false) ) catch() )
|
|
#workingDir: ( try ( return (csexport.get_value "cryAnimDlgWorkingDir") ) catch() )
|
|
#loadBiped: ( try ( return (csexport.get_value "cryAnimDlgLoadBiped") ) catch() )
|
|
|
|
|
|
|
|
--// Open For Edit --
|
|
#loadOpen: ( try ( return (case (csexport.get_value "cryAnimDlgOFELoad") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveOpen: ( try ( return (case (csexport.get_value "cryAnimDlgOFESave") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportOpen: ( try ( return (case (csexport.get_value "cryAnimDlgOFEExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportOpen: ( try ( return (case (csexport.get_value "cryAnimDlgOFESaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
--// Add To Source Control --
|
|
#saveAdd: ( try ( return (case (csexport.get_value "cryAnimDlgASCSave") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportAdd: ( try ( return (case (csexport.get_value "cryAnimDlgASCExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportAdd: ( try ( return (case (csexport.get_value "cryAnimDlgASCSaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
--// Prompt for File --
|
|
#savePrompt: ( try ( return (case (csexport.get_value "cryAnimDlgPFFSave") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportPrompt: ( try ( return (case (csexport.get_value "cryAnimDlgPFFExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportPrompt: ( try ( return (case (csexport.get_value "cryAnimDlgPFFSaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
|
|
--// Rollout Settings --
|
|
#targetRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutTarget") == "1" then true else false) ) catch() )
|
|
#operationRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutOperation") == "1" then true else false) ) catch() )
|
|
#pivotRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutPivot") == "1" then true else false) ) catch() )
|
|
#modelsRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutModels") == "1" then true else false) ) catch() )
|
|
#locatorRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutLocator") == "1" then true else false) ) catch() )
|
|
#poseRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutPose") == "1" then true else false) ) catch() )
|
|
#musclesRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutMuscles") == "1" then true else false) ) catch() )
|
|
#loadSaveRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutLoadSave") == "1" then true else false) ) catch() )
|
|
#perforceRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutPerforce") == "1" then true else false) ) catch() )
|
|
#toolsRO: ( try ( return (if (csexport.get_value "cryAnimDlgRolloutTools") == "1" then true else false) ) catch() )
|
|
|
|
--// Batch Process Settings --
|
|
#batchProcessExt: ( try ( return (csexport.get_value "cryAnimDlgBatchExtension") ) catch() )
|
|
#batchProcessSourcePath: ( try ( return (csexport.get_value "cryAnimDlgBatchOpenPath") ) catch() )
|
|
#batchProcessExportPath: ( try ( return (csexport.get_value "cryAnimDlgbatchProcessPath") ) catch() )
|
|
#batchProcessSubFolderSelection: ( try ( return (csexport.get_value "cryAnimDlgBatchSubFolderSelection") ) catch() )
|
|
#batchProcessSubFolders: ( try ( return (if (csexport.get_value "cryAnimDlgBatchSubFolders") == "1" then true else false) ) catch() )
|
|
|
|
#models:
|
|
(
|
|
tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
tempString = csexport.get_value ("cryAnimDlgModel" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
tempInt = findString tempString "#"
|
|
tempFilter = filterString tempString "#"
|
|
if tempInt == 1 then
|
|
(
|
|
tempFilter[2] = tempFilter[1]
|
|
tempFilter[1] = ""
|
|
)
|
|
|
|
if tempIn == tempString.count then
|
|
(
|
|
tempFilter[2] = ""
|
|
)
|
|
|
|
append tempArray (modelPathStruct name:tempFilter[1] path:tempFilter[2])
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
|
|
|
|
#items:
|
|
(
|
|
tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
tempString = csexport.get_value ("cryAnimDlgWeapon" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
tempFilter = filterString tempString "#"
|
|
|
|
append tempArray (itemStruct name:(tempFilter[1] as String) external:(tempFilter[2] as String) model:(tempFilter[3] as String) reference:(tempFilter[4] as String) parent:(tempFilter[5] as String) rotation:(tempFilter[6] as String) position:(tempFilter[7] as String))
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
|
|
|
|
#bones:
|
|
(
|
|
local tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
local tempString = csexport.get_value ("cryAnimDlgBone" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
local tempFilter = filterString tempString "#"
|
|
|
|
append tempArray (boneStruct active:(tempFilter[1] as String) name:(tempFilter[2] as String) external:(tempFilter[3] as String) bones:(tempFilter[4] as String) )
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
catch
|
|
(
|
|
case op of
|
|
(
|
|
#set:
|
|
(
|
|
case item of
|
|
(
|
|
-- Default Settings --
|
|
#dialogPos: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "pos" ( if value == undefined then (cryTools.cryAnim.UI.dialog.pos as String) else value) ) catch() )
|
|
#visible: (try (setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "visible" value ) catch() )
|
|
#autoUpdate: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "autoUpdate" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Perforce" "chkAutoUpdate").checked == true then "1" else "0") else value ) ) catch() )
|
|
#autoUpdateTime: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "autoUpdateTime" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Perforce" "spnAutoUpdateTime").value == true then "1" else "0") else value ) ) catch() )
|
|
#rolloutStates: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "rolloutStates" (if value == undefined then (if (cryTools.cryAnim.UI.main._f.getUI "Settings" "chkRolloutStates").checked == true then "1" else "0") else value ) ) catch() )
|
|
#readOnly: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "readOnly" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Settings" "chkReadOnly").checked == true then "1" else "0" ) else value ) ) catch () )
|
|
#workingDir: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "workingDir" (if value == undefined then ( (cryTools.cryAnim.UI.main._f.getUI "Settings" "edWorkingDir").text ) else value ) ) catch () )
|
|
#loadBiped: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "loadBiped" (if value == undefined then cryTools.cryAnim.UI.main.loadSave._v.bipOpenPath else value ) ) catch () )
|
|
|
|
|
|
|
|
-- Open For Edit --
|
|
#loadOpen: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Load" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radLoadOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveOpen: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Save" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#exportOpen: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Export" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radExportOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveExportOpen: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "SaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveExportOpen").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
|
|
-- Add To Source Control --
|
|
#saveAdd: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "Save" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#exportAdd: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "Export" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radExportAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
#saveExportAdd: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "SaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Perforce" "radSaveExportAdd").state of ( 1: "1"; 2: "2"; 3: "3" ); ) else value ) ) catch() )
|
|
|
|
-- Prompt for File --
|
|
#savePrompt: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "Save" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radSavePrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
#exportPrompt: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "Export" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radExportPrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
#saveExportPrompt: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "SaveExport" (if value == undefined then (case (cryTools.cryAnim.UI.main._f.getUI "Settings" "radSaveExportPrompt").state of ( 1: "1"; 2: "2" ); ) else value ) ) catch() )
|
|
|
|
|
|
|
|
-- Rollout Settings --
|
|
#target: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Target" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Target" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#operation: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Operation" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Operation" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#pivot: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Pivot" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Pivot" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#base: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Misc" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Misc" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#muscles: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Muscles" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Muscles" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#loadSave: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "LoadSave" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Load / Save / Export" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#perforce: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Perforce" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Perforce" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
#tools: (try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Settings" (if value == undefined then ( if (cryTools.cryAnim.UI.main._f.getUI "Settings" "").open == true then "1" else "0" ) else value ) ) catch () )
|
|
|
|
#batchProcessExt: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "Extension" value ) catch() )
|
|
#batchProcessSourcePath: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "OpenPath" value ) catch() )
|
|
#batchProcessExportPath: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "ExportPath" value ) catch() )
|
|
#batchProcessSubFolderSelection: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "SubFolderSelection" value ) catch() )
|
|
#batchProcessSubFolders: ( try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "SubFolders" (if value != undefined then (if value == true then "1" else "0") ) ) catch() )
|
|
|
|
|
|
#models:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
tempString = value[i].name + "#" + value[i].path
|
|
try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Models" ("path" + i as String) tempString ) catch()
|
|
)
|
|
|
|
else
|
|
try ( delINISetting cryTools.cryAnim._v.animToolsINIPath "Models" ("path" + i as String) ) catch()
|
|
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
|
|
|
|
#items:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
local tempStringArray = (itemStruct name:"" external:"" model:"" reference:"" parent:"" rotation:"" position:"")
|
|
local maxCount = value[i].model.count
|
|
|
|
for d = 1 to maxCount do
|
|
(
|
|
tempStringArray.model += value[i].model[d] + (if i != maxCount then ";" else "")
|
|
tempStringArray.reference += value[i].reference[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.parent += value[i].parent[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.rotation += value[i].rotation[d] as String + (if i != maxCount then ";" else "")
|
|
tempStringArray.position += value[i].position[d] as String + (if i != maxCount then ";" else "")
|
|
)
|
|
|
|
tempString = value[i].name + "#" + value[i].external + "#" + tempStringArray.model + "#" + tempStringArray.reference + "#" + tempStringArray.parent + "#" + tempStringArray.rotation + "#" + tempStringArray.position
|
|
try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Weapons" ("wp" + i as String) tempString ) catch()
|
|
)
|
|
else
|
|
try ( delINISetting cryTools.cryAnim._v.animToolsINIPath "Weapons" ("wp" + i as String) ) catch()
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
|
|
|
|
#bones:
|
|
(
|
|
if value != undefined then
|
|
(
|
|
for i = 1 to 20 do
|
|
(
|
|
if value[i] != undefined then
|
|
(
|
|
tempString = value[i].active + "#" + value[i].name + "#" + value[i].external + "#" + value[i].bones
|
|
try ( setINISetting cryTools.cryAnim._v.animToolsINIPath "Bones" ("bone" + i as String) tempString ) catch()
|
|
)
|
|
else
|
|
try ( delINISetting cryTools.cryAnim._v.animToolsINIPath "Bones" ("bone" + i as String) ) catch()
|
|
)
|
|
)
|
|
else
|
|
print "No value defined."
|
|
)
|
|
|
|
)
|
|
)
|
|
#get:
|
|
(
|
|
case item of
|
|
(
|
|
-- Default Settings --
|
|
#dialogPos: ( try ( execute ("return " + (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "pos" ) ) ) catch(return undefined) )
|
|
#visible: (try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "visible") == "1" then true else false) ) catch() )
|
|
#autoUpdate: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "autoUpdate") == "1" then true else false) ) catch() )
|
|
#autoUpdateTime: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "spnAutoUpdateTime") ) catch() )
|
|
#rolloutStates: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "rolloutStates") == "1" then true else false) ) catch() )
|
|
#readOnly: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "readOnly") == "1" then true else false) ) catch() )
|
|
#workingDir: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "workingDir") ) catch() )
|
|
#loadBiped: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "cryAnimDlg" "loadBiped") ) catch() )
|
|
|
|
|
|
|
|
-- Open For Edit --
|
|
#loadOpen: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Load") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveOpen: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Save") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportOpen: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "Export") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportOpen: ( try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "OpenForEdit" "SaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
-- Add To Source Control --
|
|
#saveAdd: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "Save") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportAdd: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "Export") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportAdd: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "AddToSourceControl" "SaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
-- Prompt for File --
|
|
#savePrompt: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "Save") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#exportPrompt: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "Export") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
#saveExportPrompt: (try ( return (case (getINISetting cryTools.cryAnim._v.animToolsINIPath "PromptForFile" "SaveExport") of ("1": 1; "2": 2; "3": 3);) ) catch() )
|
|
|
|
|
|
-- Rollout Settings --
|
|
#target: (try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Target") == "1" then true else false) ) catch() )
|
|
#operation: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Operation") == "1" then true else false) ) catch() )
|
|
#pivot: (try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Pivot") == "1" then true else false) ) catch() )
|
|
#base: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Misc") == "1" then true else false) ) catch() )
|
|
#muscles: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Muscles") == "1" then true else false) ) catch() )
|
|
#loadSave: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "LoadSave") == "1" then true else false) ) catch() )
|
|
#perforce: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Perforce") == "1" then true else false) ) catch() )
|
|
#tools: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "Rollouts" "Settings") == "1" then true else false) ) catch() )
|
|
|
|
#batchProcessExt: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "Extension") ) catch() )
|
|
#batchProcessSourcePath: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "OpenPath") ) catch() )
|
|
#batchProcessExportPath: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "ExportPath") ) catch() )
|
|
#batchProcessSubFolderSelection: ( try ( return (getINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "SubFolderSelection") ) catch() )
|
|
#batchProcessSubFolders: ( try ( return (if (getINISetting cryTools.cryAnim._v.animToolsINIPath "batchProcess" "SubFolders") == "1" then true else false) ) catch() )
|
|
|
|
#models:
|
|
(
|
|
tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
tempString = getINISetting cryTools.cryAnim._v.animToolsINIPath "Models" ("path" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
tempInt = findString tempString "#"
|
|
tempFilter = filterString tempString "#"
|
|
if tempInt == 1 then
|
|
(
|
|
tempFilter[2] = tempFilter[1]
|
|
tempFilter[1] = ""
|
|
)
|
|
|
|
if tempIn == tempString.count then
|
|
(
|
|
tempFilter[2] = ""
|
|
)
|
|
|
|
append tempArray (modelPathStruct name:tempFilter[1] path:tempFilter[2])
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
|
|
|
|
#items:
|
|
(
|
|
tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
tempString = getINISetting cryTools.cryAnim._v.animToolsINIPath "Weapons" ("wp" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
tempFilter = filterString tempString "#"
|
|
|
|
append tempArray (itemStruct name:(tempFilter[1] as String) external:(tempFilter[2] as String) model:(tempFilter[3] as String) reference:(tempFilter[4] as String) parent:(tempFilter[5] as String) rotation:(tempFilter[6] as String) position:(tempFilter[7] as String))
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
|
|
|
|
#bones:
|
|
(
|
|
tempArray = #()
|
|
|
|
for i = 1 to 20 do
|
|
(
|
|
tempString = getINISetting cryTools.cryAnim._v.animToolsINIPath "Bones" ("bone" + i as String)
|
|
if tempString != "" then
|
|
(
|
|
tempFilter = filterString tempString "#"
|
|
|
|
append tempArray (boneStruct active:(tempFilter[1] as String) name:(tempFilter[2] as String) external:(tempFilter[3] as String) bones:(tempFilter[4] as String) )
|
|
)
|
|
)
|
|
return tempArray
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.iniFile" )
|
|
)
|
|
iniFile = undefined
|
|
logOutput "> Created cryAnim.base.iniFile function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.getPerforcePath
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- checks, if the dialog is visible or not
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.getPerforcePath = function getPerforcePath =
|
|
(
|
|
try
|
|
(
|
|
local perforceString = ""
|
|
local buildFilter = filterString cryTools.buildPathFull "\\"
|
|
for i = 1 to buildFilter.count do
|
|
perforceString += buildFilter[i] + (if i < buildFilter.count then "\\" else "")
|
|
|
|
local perforceString = cryTools.cryAnim.base.perforce perforceString #getPath
|
|
|
|
return perforceString
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.getPerforcePath" )
|
|
)
|
|
getPerforcePath = undefined
|
|
logOutput "> Created cryAnim.base.getPerforcePath function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.setMacros
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- creates macros and menu/quad menu entries
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.setMacros = function setMacros op =
|
|
(
|
|
try
|
|
(
|
|
case op of
|
|
(
|
|
#delete:
|
|
(
|
|
local animToolsMacros = getFiles (getDir #UI + "MacroScripts\\CryAnim*.mcr")
|
|
|
|
for i = 1 to animToolsMacros.count do
|
|
deleteFile animToolsMacros[i]
|
|
|
|
menuMan.updateMenubar()
|
|
)
|
|
|
|
#update:
|
|
(
|
|
ATFilesArray = # \
|
|
( \
|
|
"ATAnimToolsDlg", \
|
|
"ATBipToZero2", \
|
|
"ATBipToZero3", \
|
|
"ATCreateSingleSnapshot", \
|
|
"ATCreateChildrenSnapshot", \
|
|
"ATHideAllTrajectories", \
|
|
"ATMoveRot", \
|
|
"ATMoveToFloor", \
|
|
"ATMoveToPivPoint", \
|
|
"ATMoveRotToPivPoint", \
|
|
"ATMoveToSnapshot", \
|
|
"ATPivotSelect", \
|
|
"ATResetRotation", \
|
|
"ATShowTrajectory", \
|
|
"ATLockRotation", \
|
|
"ATUnlockRotation", \
|
|
"ATCopyTransform", \
|
|
"ATPasteTransform", \
|
|
"ATPastePosition", \
|
|
"ATPasteRotation" \
|
|
)
|
|
|
|
localMacros = getFiles ((getDir #UI) + "\\MacroScripts\\CryAnim*")
|
|
for i = 1 to ATFilesArray.count do
|
|
(
|
|
for f = 1 to 40 do
|
|
(
|
|
if localMacros.count == 0 then
|
|
exit
|
|
else
|
|
(
|
|
try
|
|
(
|
|
if (findString localMacros[f] ATFilesArray[i]) != undefined then
|
|
deleteItem localMacros f
|
|
)
|
|
catch()
|
|
)
|
|
)
|
|
)
|
|
|
|
if localMacros.count != 0 then
|
|
(
|
|
for i = 1 to localMacros.count do
|
|
(
|
|
deleteFile localMacros[i]
|
|
print ("Deleted unused MacroScript: " + localMacros[i])
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
macroScript ATCreateSingleSnapshot category:"CryAnim" toolTip:"create single snapshot"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if selection.count > 0 then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
with animate off
|
|
cryTools.cryAnim._f.createSnapshot()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
macroScript ATCreateChildrenSnapshot category:"CryAnim" toolTip:"create children snapshot"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if selection.count > 0 then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
with animate off
|
|
(
|
|
if $selection.count > 0 then
|
|
(
|
|
local baseArray = cryTools.cryAnim._f.createSnapshot children:true
|
|
if baseArray != undefined then
|
|
group baseArray prefix:"Snapshot_"
|
|
)
|
|
else
|
|
print "Nothing selected"
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATPivotSelect category:"CryAnim" toolTip:"select pivot"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
if selectedBipPart.object.isPivot == true then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo off
|
|
cryTools.cryAnim.align._f.callPivotSelect()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATMoveToSnapshot category:"CryAnim" toolTip:"move to snapshot"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
return true
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
nearestSnap = cryTools.cryAnim._f.getNearestSnapshot()
|
|
if nearestSnap != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "move to snap" on
|
|
cryTools.cryAnim._f.moveBipPart()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
|
|
macroScript ATMoveToPivPoint category:"CryAnim" toolTip:"move to pivot point"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
if selectedBipPart.pivotSel.pivPoint.name != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
if selectedBipPart.object.isPivot == true then
|
|
return true
|
|
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "move to pivot point" on
|
|
cryTools.cryAnim._f.moveBipPartPivPoint()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
macroScript ATMoveRotToPivPoint category:"CryAnim" toolTip:"move/rotate to pivot point"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
if selectedBipPart.pivotSel.pivPoint.name != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
if selectedBipPart.object.isPivot == true then
|
|
return true
|
|
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "move/rot to pivot point" on
|
|
cryTools.cryAnim._f.moveRotBipPartPivPoint()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
macroScript ATMoveRot category:"CryAnim" toolTip:"move/rotate to snapshot"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
nearestSnap = cryTools.cryAnim._f.getNearestSnapshot()
|
|
if nearestSnap != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "move/rot to snap" on
|
|
cryTools.cryAnim._f.moveRotBipPart()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATMoveToFloor category:"CryAnim" toolTip:"move to floor"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
if (selectedBipPart.part.bodyPart == "Foot") and (selectedBipPart.object.child == undefined)then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
else
|
|
print ("No aTools Structure loaded...")
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "move to floor" on
|
|
cryTools.cryAnim._f.moveToFloor()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATResetRotation category:"CryAnim" toolTip:"reset rotation"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo "reset rotation" on
|
|
cryTools.cryAnim._f.resetRotation()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATCryAnimDlg category:"CryAnim" toolTip:"cryAnim dialog" icon:#("Reactor",5)
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
undo off
|
|
cryTools.cryAnim.UI.main._f.callDialog()
|
|
)
|
|
)catch()
|
|
)
|
|
|
|
|
|
macroScript ATBipToZero2 category:"CryAnim" toolTip:"bip to [0,0]"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $Bip01 != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
cryTools.cryAnim._f.bipToZero2()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATBipToZero3 category:"CryAnim" toolTip:"bip to [0,0,0]"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $Bip01 != undefined then
|
|
return true
|
|
else
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
cryTools.cryAnim._f.bipToZero3()
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATShowTrajectory category:"CryAnim" toolTip:"show trajectory"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if (cryTools.cryAnim != undefined) and ((maxVersion())[1] < 9000) then
|
|
(
|
|
for obj in $selection do
|
|
if getTrajectoryOn obj == false then
|
|
return true
|
|
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
cryTools.cryAnim._f.setTrajectories #show
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATHideAllTrajectories category:"CryAnim" toolTip:"hide all trajectories"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if (cryTools.cryAnim != undefined) and ((maxVersion())[1] < 9000) then
|
|
(
|
|
return cryTools.cryAnim._f.setTrajectories #checkHide
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
cryTools.cryAnim._f.setTrajectories #hide
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATLockRotation category:"CryAnim" toolTip:"lock rotation"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
local selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
if cryTools.cryAnim._v.lockRotation == undefined then
|
|
(
|
|
/*
|
|
|
|
*/
|
|
|
|
return true
|
|
)
|
|
)
|
|
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
cryTools.cryAnim._f.lockRotation()
|
|
|
|
/*
|
|
when transform $selection[1] change id:#lockRotation do
|
|
(
|
|
if cryTools != undefined then
|
|
(
|
|
if cryTools.cryAnim._v.lockRotation != undefined then
|
|
(
|
|
local selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
if selectedBipPart.part.bodyPart == "Hand" then
|
|
biped.setTransform $selection[1] #rotation cryTools.cryAnim._v.lockRotation true
|
|
)
|
|
)
|
|
)
|
|
*/
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATUnlockRotation category:"CryAnim" toolTip:"unlock rotation"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
if cryTools.cryAnim._v.lockRotation != undefined then
|
|
return true
|
|
)
|
|
|
|
return false
|
|
)
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
selectedBipPart = cryTools.cryAnim._f.getSelectedBipPart()
|
|
if selectedBipPart != undefined then
|
|
(
|
|
cryTools.cryAnim._v.lockRotation = undefined
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATCopyTransform category:"CryAnim" toolTip:"copy transform"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $selection.count > 0 then
|
|
return true
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
try deleteFile cryTools.cryAnim.UI.main._v.tempINIPath catch()
|
|
for d = 1 to $selection.count do
|
|
(
|
|
setINISetting cryTools.cryAnim.UI.main._v.tempINIPath ("Object" + d as String) "1" ($selection[d].transform as String)
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATPasteTransform category:"CryAnim" toolTip:"paste transform"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $selection.count > 0 then
|
|
return true
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
return true
|
|
else
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
(
|
|
if $selection.count > 0 then
|
|
(
|
|
for d = 1 to $selection.count do
|
|
(
|
|
local newTran = getINISetting cryTools.cryAnim.UI.main._v.tempINIPath ("Object" + d as String) "1"
|
|
if newTran != "" then
|
|
(
|
|
newTran = execute ( newTran )
|
|
cryTools.cryAnim._f.pasteTransform $selection[d] newTran #transform
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATPastePosition category:"CryAnim" toolTip:"paste position"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $selection.count > 0 then
|
|
return true
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
return true
|
|
else
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
(
|
|
if $selection.count > 0 then
|
|
(
|
|
for d = 1 to $selection.count do
|
|
(
|
|
local newTran = getINISetting cryTools.cryAnim.UI.main._v.tempINIPath ("Object" + d as String) "1"
|
|
if newTran != "" then
|
|
(
|
|
newTran = execute ( newTran )
|
|
cryTools.cryAnim._f.pasteTransform $selection[d] newTran #pos
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)catch()
|
|
)
|
|
)
|
|
|
|
|
|
macroScript ATPasteRotation category:"CryAnim" toolTip:"paste rotation"
|
|
(
|
|
on isVisible do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if $selection.count > 0 then
|
|
return true
|
|
)
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on isEnabled do
|
|
(
|
|
try
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
return true
|
|
else
|
|
return false
|
|
)catch( return false )
|
|
)
|
|
on execute do
|
|
(
|
|
try
|
|
(
|
|
if cryTools.cryAnim != undefined then
|
|
(
|
|
if (getFiles cryTools.cryAnim.UI.main._v.tempINIPath).count > 0 then
|
|
(
|
|
if $selection.count > 0 then
|
|
(
|
|
for d = 1 to $selection.count do
|
|
(
|
|
local newTran = getINISetting cryTools.cryAnim.UI.main._v.tempINIPath ("Object" + d as String) "1"
|
|
if newTran != "" then
|
|
(
|
|
newTran = execute ( newTran )
|
|
cryTools.cryAnim._f.pasteTransform $selection[d] newTran #rotation
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)catch(print "FUCK!!")
|
|
)
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.setMacros" )
|
|
)
|
|
setMacros = undefined
|
|
logOutput "> Created cryAnim.base.setMacros function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.setMenu
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- creates menu for CryAnim
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.setMenu = function setMenu =
|
|
(
|
|
try
|
|
(
|
|
local animToolsName = "CryAnim"
|
|
|
|
tempInterface = menuMan.findMenu "Context CryAnim"
|
|
if tempInterface != undefined then
|
|
menuMan.unRegisterMenu tempInterface
|
|
|
|
|
|
-- Menu
|
|
local ATm = menuMan.createMenu "Context CryAnim"
|
|
-- Seperator
|
|
local ATSep = menuMan.createSeparatorItem()
|
|
-- List of menUItems
|
|
local ATmItem
|
|
|
|
-- adding menUItems and set names
|
|
ATmItem = menuMan.createActionItem "ATBipToZero2" animToolsName; ATmItem.setTitle "bip to [0,0]"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATBipToZero3" animToolsName; ATmItem.setTitle "bip to [0,0,0]"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATShowTrajectory" animToolsName; ATmItem.setTitle "show trajectory"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATHideAllTrajectories" animToolsName; ATmItem.setTitle "hide all trajectories"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATMoveToPivPoint" animToolsName; ATmItem.setTitle "move to pivot point"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATMoveRotToPivPoint" animToolsName; ATmItem.setTitle "move/rotate to pivot point"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATMoveToSnapshot" animToolsName; ATmItem.setTitle "move to snapshot"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATMoveRot" animToolsName; ATmItem.setTitle "move/rotate to snapshot"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATLockRotation" animToolsName; ATmItem.setTitle "lock rotation"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATUnlockRotation" animToolsName; ATmItem.setTitle "unlock rotation"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATResetRotation" animToolsName; ATmItem.setTitle "reset rotation"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
ATmItem = menuMan.createActionItem "ATMoveToFloor" animToolsName; ATmItem.setTitle "move to floor"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItemSubMenu = menuMan.createMenu "create snapshot"
|
|
ATmItemSubMenUItem1 = menuMan.createActionItem "ATCreateSingleSnapshot" animToolsName ; ATmItemSubMenUItem1.setTitle "single" ; ATmItemSubMenUItem1.setUseCustomTitle true; ATmItemSubMenu.addItem ATmItemSubMenUItem1 -1
|
|
ATmItemSubMenUItem2 = menuMan.createActionItem "ATCreateChildrenSnapshot" animToolsName ; ATmItemSubMenUItem2.setTitle "children" ; ATmItemSubMenUItem2.setUseCustomTitle true; ATmItemSubMenu.addItem ATmItemSubMenUItem2 -1
|
|
--
|
|
ATmItem = menuMan.createSubMenUItem "create snapshot" ATmItemSubMenu ; ATmItem.setTitle "create snapshot"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATCopyTransform" animToolsName; ATmItem.setTitle "copy"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItemSubMenu = menuMan.createMenu "paste"
|
|
ATmItemSubMenUItem1 = menuMan.createActionItem "ATPasteTransform" animToolsName ; ATmItemSubMenUItem1.setTitle "transform" ; ATmItemSubMenUItem1.setUseCustomTitle true; ATmItemSubMenu.addItem ATmItemSubMenUItem1 -1
|
|
ATmItemSubMenUItem2 = menuMan.createActionItem "ATPastePosition" animToolsName ; ATmItemSubMenUItem2.setTitle "position" ; ATmItemSubMenUItem2.setUseCustomTitle true; ATmItemSubMenu.addItem ATmItemSubMenUItem2 -1
|
|
ATmItemSubMenUItem3 = menuMan.createActionItem "ATPasteRotation" animToolsName ; ATmItemSubMenUItem3.setTitle "rotation" ; ATmItemSubMenUItem3.setUseCustomTitle true; ATmItemSubMenu.addItem ATmItemSubMenUItem3 -1
|
|
--
|
|
ATmItem = menuMan.createSubMenUItem "paste" ATmItemSubMenu ; ATmItem.setTitle "paste"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createSeparatorItem(); ATm.addItem ATmItem -1
|
|
--
|
|
ATmItem = menuMan.createActionItem "ATPivotSelect" animToolsName; ATmItem.setTitle "select pivot"; ATmItem.setUseCustomTitle true; ATm.addItem ATmItem -1
|
|
|
|
-- QuadMenu
|
|
local ATqM = menuMan.getQuadMenu 1
|
|
-- lower left corner of QuadMenu
|
|
local ATqMCorner = ATqM.getMenu 4
|
|
-- generates subMenu to put in the Menu
|
|
local ATqMSub = menuMan.createSubMenUItem "Context CryAnim" ATm
|
|
-- sets the subMenu to be flat
|
|
ATqMSub.setDisplayFlat true
|
|
-- adding subMenu to QuadMenuCorner
|
|
ATqMCorner.addItem ATqMSub -1
|
|
|
|
--// initialize when struct --
|
|
deleteAllChangeHandlers id:#lockRotation
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.setMenu" )
|
|
)
|
|
setMenu = undefined
|
|
logOutput "> Created cryAnim.base.setMenu function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.setCallbacks
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- creates callbacks for cryAnim
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.setCallbacks = function setCallbacks =
|
|
(
|
|
try
|
|
(
|
|
with undo off
|
|
(
|
|
callbacks.removeScripts id:#checkDialogVisible
|
|
callbacks.addScript #preSystemShutdown "cryTools.cryAnim.base.killCryAnim()" id:#checkDialogVisible
|
|
)
|
|
return true
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.setCallbacks" )
|
|
)
|
|
setCallbacks = undefined
|
|
logOutput "> Created cryAnim.base.setCallbacks function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.initVars
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- initializes variables
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.setVars = function setVars =
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main._v.dialogMaxHeight = ((sysInfo.desktopSize)[2] - 135)
|
|
cryTools.cryAnim.UI.main._v.tempINIPath = (cryTools.cryTemp + "cryAnim_temp.ini")
|
|
cryTools.cryAnim.UI.main._v.animToolsINIPath = (cryTools.cryTemp + "cryAnim.ini")
|
|
|
|
cryTools.cryAnim._v.tempATPath = (cryTools.cryTemp + "cryAnim_perforce.at")
|
|
cryTools.cryAnim._v.perforceDir = cryTools.cryAnim.base.getPerforcePath()
|
|
cryTools.cryAnim._v.various[35] = #(rotPosStruct())
|
|
|
|
cryTools.cryAnim.align._v.pivotLast.LFoot.pivObject = "Bip01 L Foot"
|
|
cryTools.cryAnim.align._v.pivotLast.RFoot.pivObject = "Bip01 R Foot"
|
|
cryTools.cryAnim.align._v.pivotLast.LHand.pivObject = "Bip01 L Hand"
|
|
cryTools.cryAnim.align._v.pivotLast.RHand.pivObject = "Bip01 R Hand"
|
|
|
|
cryTools.cryAnim.align._v.pivotLast.LHand.pivotName = "p6_(Bip01 L Hand)"
|
|
cryTools.cryAnim.align._v.pivotLast.RHand.pivotName = "p6_(Bip01 R Hand)"
|
|
cryTools.cryAnim.align._v.pivotLast.LFoot.pivotName = "p6_(Bip01 L Foot)"
|
|
cryTools.cryAnim.align._v.pivotLast.RFoot.pivotName = "p6_(Bip01 R Foot)"
|
|
|
|
return true
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.initVars" )
|
|
)
|
|
setVars = undefined
|
|
logOutput "> Created cryAnim.base.initVars function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.killCryAnim
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- kills the dialog if one is opened and cleans all used variables
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.killCryAnim = function killCryAnim unloadCryAnim:undefined =
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim._v.various[10] = true
|
|
|
|
try destroyDialog cryTools.cryAnim.UI.main.dialog catch()
|
|
try destroyDialog cryTools.cryAnim.UI.main.models.editModelList catch()
|
|
try destroyDialog cryTools.cryAnim.UI.main.models.editItemList catch()
|
|
try destroyDialog cryTools.cryAnim.UI.batchProcess.customizeScript catch()
|
|
try destroyDialog cryTools.cryAnim.UI.batchProcess.subRangeDialog catch()
|
|
|
|
try closeRolloutFloater cryTools.cryAnim.UI.batchProcess.dialog catch()
|
|
try destroyDialog cryTools.cryAnim.UI.batchProcess.editBoneList catch()
|
|
|
|
|
|
|
|
if unloadCryAnim == true then
|
|
(
|
|
cryTools.cryAnim = undefined
|
|
gc light:true
|
|
)
|
|
|
|
|
|
return true
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.killCryAnim" )
|
|
)
|
|
killCryAnim = undefined
|
|
logOutput "> Created cryAnim.base.killCryAnim function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.callStartUp
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- sets up CryAnim
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.callStartUp = function callStartUp =
|
|
(
|
|
try
|
|
(
|
|
--// deleting pivPoint if available
|
|
for obj in objects do
|
|
if ((findString obj.name "pivPoint") != undefined) or ((findString obj.name "pivSnap") != undefined) then
|
|
delete obj
|
|
|
|
|
|
cryTools.cryAnim.base.setVars()
|
|
cryTools.cryAnim.base.setMacros #update
|
|
cryTools.cryAnim.base.setMenu()
|
|
cryTools.cryAnim.base.setCallbacks()
|
|
|
|
|
|
|
|
|
|
if cryTools.cryAnim._v.perforceDir != undefined then
|
|
(
|
|
if (cryTools.cryAnim.base.iniFile #get #autoUpdate) == true then
|
|
(
|
|
if (local tempVar = cryTools.cryAnim.base.perforce "" #checkLoading) != false then
|
|
cryTools.cryAnim.base.perforce tempVar #messageOnLoading
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
local finishedLoading = cryTools.cryAnim.base.loadFiles #all
|
|
|
|
|
|
if (cryTools.cryAnim.base.iniFile #get #visible) == true then
|
|
(
|
|
try crysplash.build.text = "LOADING DIALOG" catch()
|
|
cryTools.cryAnim.UI.main._f.callDialog()
|
|
)
|
|
|
|
|
|
local tempLoadString = "Loaded"
|
|
|
|
if reloadCryAnim == true then
|
|
tempLoadString = "Reloaded"
|
|
|
|
reloadCryAnim = undefined
|
|
|
|
|
|
trackTime = ((timeStamp() - trackTime) / 1000.0)
|
|
|
|
if finishedLoading == true then
|
|
print (tempLoadString + " CryAnim in " + trackTime as String + " seconds.\n")
|
|
|
|
|
|
try destroyDialog crySplash catch()
|
|
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.callStartUp" )
|
|
)
|
|
callStartUp = undefined
|
|
logOutput "> Created cryAnim.base.callStartUp function"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
--################################################################
|
|
-- DEF:cryTools.cryAnim.base.reloadScript
|
|
----------------------------------------------------------------------------------------------------------------------------------
|
|
-- reloads the full script
|
|
--################################################################
|
|
--///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
cryTools.cryAnim.base.reloadScript = function reloadScript =
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.base.loadFiles #load
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.base.reloadScript" )
|
|
)
|
|
reloadScript = undefined
|
|
logOutput "> Created cryAnim.base.reloadScript function"
|
|
|
|
|
|
|
|
|
|
--// creates aTools
|
|
cryTools.cryAnim.base.callStartUp()
|
|
|
|
logOutput ">> load.ms loaded"
|
|
|
|
trackTime = undefined |