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.
307 lines
9.0 KiB
Plaintext
307 lines
9.0 KiB
Plaintext
--###############################################################################
|
|
--// rollout with elements to control the locator
|
|
--###############################################################################
|
|
rollout poseRO "Pose Manager"
|
|
(
|
|
groupbox gbCharacters " Characters " pos:[2,5] width:153 height:43
|
|
editText edCharacter "" pos:[29,22] width:80 height:17
|
|
dropdownlist ddCharacter "" pos:[32,20] width:94 height:10
|
|
button btnCreateCharacter "" pos:[8,20] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,6,6,20,20) width:29 height:29 toolTip:"Creates a new Character"
|
|
button btnDeleteCharacter "" pos:[128,20] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,8,8,17,17) width:29 height:29 toolTip:"Deletes selected Character"
|
|
|
|
|
|
groupbox gbCollections " Collections " pos:[2,55] width:153 height:43
|
|
editText edCollection "" pos:[29,72] width:80 height:17
|
|
dropdownlist ddCollection "" pos:[32,70] width:94 height:10
|
|
button btnCreateCollection "" pos:[8,70] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,6,6,20,20) width:29 height:29 toolTip:"Creates a new Collection"
|
|
button btnDeleteCollection "" pos:[128,70] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,8,8,17,17) width:29 height:29 toolTip:"Deletes selected Collection"
|
|
|
|
|
|
groupbox gbPoses " Poses " pos:[2,105] width:153 height:63
|
|
editText edPose "" pos:[29,122] width:80 height:17
|
|
dropdownlist ddPose "" pos:[32,120] width:94 height:20
|
|
button btnCreatePose "" pos:[8,120] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,6,6,20,20) width:29 height:29 toolTip:"Creates a new Pose"
|
|
button btnDeletePose "" pos:[128,120] width:21 height:21 images:#((getDir #maxroot + "UI\\Icons\\ParameterCollector_i.bmp"), undefined, 28,8,8,17,17) width:29 height:29 toolTip:"Deletes selected Pose"
|
|
button btnPastePose "Paste" pos:[38,145] width:80 height:20
|
|
|
|
|
|
groupbox gbPaste " Paste " pos:[2,185] width:153 height:75
|
|
checkbox chkPastePosition "Position" pos:[12,200] checked:true
|
|
checkbox chkPasteRotation "Rotation" pos:[12,220] checked:true
|
|
checkbox chkControllerValue "Controller Value" pos:[12,240] checked:true
|
|
checkbox chkBoneOnly "Nodes Only" pos:[76,200] width:75
|
|
checkbox chkByVelocity "By Velocity" pos:[76,220]
|
|
|
|
|
|
groupbox gbPreview " Preview " pos:[2,273] width:153 height:150
|
|
bitmap bmpPreview "" pos:[7,289] width:144 height:110
|
|
checkbox chkNodesOnly "Only Nodes visible" pos:[12,403] checked:true
|
|
|
|
groupbox gbNodes " Nodes " pos:[2,435] width:153 height:169
|
|
multilistbox lbNodes "" pos:[7,455] width:143 height:9
|
|
button btnAddNode "Add" pos:[7,578] width:72 height:20 toolText:"Adds new node to the list"
|
|
button btnDeleteNode "Delete" pos:[79,578] width:71 height:20 toolText:"Deletes selected node/s"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
on poseRO open do
|
|
(
|
|
try
|
|
(
|
|
try ( if (cryTools.cryAnim.base.iniFile #get #rolloutStates) == true then (cryTools.cryAnim.UI.main._f.getUI "Pose Manager" "").open = cryTools.cryAnim.base.iniFile #get #poseRO) catch()
|
|
|
|
cryTools.cryAnim.UI.main.poseManager._f.inputINI()
|
|
cryTools.cryAnim.UI.main.poseManager._f.updateList #character initial:true
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.open" )
|
|
)
|
|
|
|
|
|
on poseRO rolledUp value do
|
|
(
|
|
try
|
|
(
|
|
if (cryTools.cryAnim.base.iniFile #get #poseRO) != value then
|
|
cryTools.cryAnim.base.iniFile #set #poseRO
|
|
|
|
cryTools.cryAnim.UI.main._f.updateDialog()
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.rolledUp" )
|
|
)
|
|
|
|
|
|
|
|
|
|
on ddCharacter selected value do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.updateList #character
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.ddCharacter.selected" )
|
|
)
|
|
|
|
|
|
on ddCollection selected value do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.updateList #collection
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.ddCollection.selected" )
|
|
)
|
|
|
|
|
|
on ddPose selected value do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.updateList #default
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.ddPose.selected" )
|
|
)
|
|
|
|
|
|
on btnCreateCharacter pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.createEntry "Character"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnCreateCharacter.pressed" )
|
|
)
|
|
|
|
|
|
on btnDeleteCharacter pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.deleteEntry "Character"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnDeleteCharacter.pressed" )
|
|
)
|
|
|
|
on btnCreateCollection pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.createEntry "Collection"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnCreateCollection.pressed" )
|
|
)
|
|
|
|
on btnDeleteCollection pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.deleteEntry "Collection"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnDeleteCollection.pressed" )
|
|
)
|
|
|
|
on btnCreatePose pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.createEntry "Pose"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnCreatePose.pressed" )
|
|
)
|
|
|
|
on btnDeletePose pressed do
|
|
(
|
|
try
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.deleteEntry "Pose"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnDeletePose.pressed" )
|
|
)
|
|
|
|
on edCharacter changed value do
|
|
(
|
|
try
|
|
(
|
|
if ddCharacter.items.count > 0 then
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.renameEntry "Character"
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.edCharacter.changed" )
|
|
)
|
|
|
|
|
|
|
|
on edCollection changed value do
|
|
(
|
|
try
|
|
(
|
|
if ddCollection.items.count > 0 then
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.renameEntry "Collection"
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.edCollection.changed" )
|
|
)
|
|
|
|
|
|
|
|
on edPose changed value do
|
|
(
|
|
try
|
|
(
|
|
if ddPose.items.count > 0 then
|
|
(
|
|
cryTools.cryAnim.UI.main.poseManager._f.renameEntry "Pose"
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.edPose.changed" )
|
|
)
|
|
|
|
|
|
|
|
on btnPastePose pressed do
|
|
(
|
|
try
|
|
(
|
|
if ddPose.items.count > 0 then
|
|
(
|
|
undo "Paste Pose" on
|
|
cryTools.cryAnim.UI.main.poseManager._f.applyPose()
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnPastePose.pressed" )
|
|
)
|
|
|
|
|
|
|
|
on btnAddNode pressed do
|
|
(
|
|
try
|
|
(
|
|
if ddCharacter.items.count > 0 then
|
|
(
|
|
if selection.count == 0 then
|
|
local tempVar = selectByName title:"Add Character Nodes" showHidden:true single:false --filter:filterNodes --// somehow crashes max...
|
|
else
|
|
local tempVar = getCurrentSelection()
|
|
|
|
if classOf tempVar == Array and tempVar.count > 0 then
|
|
(
|
|
local tempArray = cryTools.cryAnim.UI.main.poseManager._v.poses[ddCharacter.selection].nodes
|
|
for i = 1 to tempVar.count do
|
|
if (findItem tempArray tempVar[i].name) == 0 then
|
|
append tempArray tempVar[i].name
|
|
|
|
tempArray = cryTools.sortRootChildren tempArray
|
|
|
|
lbNodes.items = tempArray
|
|
cryTools.cryAnim.UI.main.poseManager._v.poses[ddCharacter.selection].nodes = tempArray
|
|
|
|
cryTools.cryAnim.UI.main.poseManager._f.outputINI()
|
|
)
|
|
else
|
|
messageBox "No nodes selected." title:"Error Adding Nodes"
|
|
|
|
)
|
|
else
|
|
messageBox "No Character in List " title:"Error adding Nodes"
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnAddNode.pressed" )
|
|
)
|
|
|
|
|
|
|
|
on btnDeleteNode pressed do
|
|
(
|
|
try
|
|
(
|
|
if lbNodes.items.count > 0 then
|
|
(
|
|
local poses = cryTools.cryAnim.UI.main.poseManager._v.poses
|
|
local saveSelection = lbNodes.selection as Array
|
|
local newSelection = (lbNodes.selection as Array)[1]
|
|
|
|
lbNodes.selection = #{newSelection}
|
|
if newSelection == lbNodes.items.count then lbNodes.selection = #{lbNodes.items.count - 1}
|
|
if newSelection == 0 then lbNodes.selection = #{1}
|
|
|
|
local newList = #()
|
|
local tempArray = cryTools.cryAnim.UI.main.poseManager._v.poses[ddCharacter.selection].nodes
|
|
for i = 1 to tempArray.count do
|
|
if (findItem saveSelection i) == 0 then
|
|
append newList tempArray[i]
|
|
|
|
if newList.count > 1 then
|
|
newList = cryTools.sortRootChildren newList
|
|
|
|
|
|
|
|
lbNodes.items = newList
|
|
cryTools.cryAnim.UI.main.poseManager._v.poses[ddCharacter.selection].nodes = newList
|
|
|
|
cryTools.cryAnim.UI.main.poseManager._f.outputINI()
|
|
)
|
|
)
|
|
catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.poseRO.btnDeleteNode.pressed" )
|
|
)
|
|
)
|
|
logOutput "> Created poseRO rollout"
|
|
|
|
|
|
try
|
|
(
|
|
if cryTools.cryAnim.base.iniFile #get #multiRow == true then
|
|
addSubRollout cryTools.cryAnim.UI.main.dialog.row3 poseRO
|
|
else
|
|
addSubRollout cryTools.cryAnim.UI.main.dialog.row1 poseRO rolledUp:true
|
|
)
|
|
catch ( logOutput "!!> Error adding poseRO to main dialog" )
|
|
poseRO = undefined
|
|
|
|
|
|
logOutput ">> pose.ms loaded" |