--###############################################################################
	--// rollout with elements to control the locator
--###############################################################################
rollout locatorRO "Locator"
(
	button btnCreate "Create" pos:[8,8] width:70 height:20 toolTip:"Creates Locator_Locomotion biped prop"
	button btnDelete "Delete" pos:[80,8] width:70 height:20 toolTip:"Deletes Locator_Locomotion"
	button btnAutoLoc "Auto-Locator" pos:[8,35] width:142 height:20 toolTip:"Animates the Locator_Locomotion contextual of the animation"
	button btnResetLocator "Reset Locator" pos:[8,55] width:142 height:20 toolTip:"Resets Locator_Locomotion to the origin facing in the direction the character faces"
	button btnSetToBodyMass "Move to Body Mass" pos:[8,75] width:142 height:20 toolTip:"Moves the Locator_Locomotion to the calculated body mass of Bip01"

	
	
	on locatorRO open do
	(
		try
		(
			if (cryTools.cryAnim.base.iniFile #get #rolloutStates) == true then
				(cryTools.cryAnim.UI.main._f.getUI "Locator" "").open = cryTools.cryAnim.base.iniFile #get #locatorRO
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.open" )
	)
	
	
	on locatorRO rolledUp value do
	(
		try
		(
			if (cryTools.cryAnim.base.iniFile #get #locatorRO) != value then
				cryTools.cryAnim.base.iniFile #set #locatorRO
			
			local lolStream = createFile "C:\\Yeah.txt"
			
			cryTools.cryAnim.UI.main._f.updateDialog()
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.rolledUp" )
	)
	
	
	
	
	on btnCreate pressed do
	(
		try
		(
			if $Bip01 != undefined then
			(
				if queryBox "Create Locator_Locomotion?" title:"Locator_Locomotion" == true then
				(
					undo "create Locator_Locomotion" on
					(
						try
						(
							local locVertArray = #([-2.60474,5.627,0], [-2.60474,5.627,5.306], [-2.60501,-5.627,5.306], [-2.60501,-5.627,2.40557e-006], [2.60475,5.627,0], [2.60475,5.627,5.306], [2.60499,-5.627,5.306], [2.605,-5.627,1.88326e-007], [-5.71044,-5.62699,5.306], [-5.71044,-5.62699,3.72612e-006], [5.71043,-5.62701,-1.24204e-006], [5.71043,-5.62701,5.306], [-9.4768e-006,-11.63,-1.24204e-006], [-9.48043e-006,-11.63,5.306])
							$Bip01.controller.figureMode = true
							$Bip01.controller.prop1Exists = false
							
							tempSaveRot = $Bip01.transform.rotation
							tempBipRot = $Bip01.transform.rotation as eulerangles
							if tempBipRot.z > 0 and tempBipRot.z < 180 then
								tempBipRot.z = -90
							
							biped.setTransform $Bip01 #rotation tempBipRot false
							
							$Bip01.controller.prop1Exists = true
							
							tempSel = biped.getNode $Bip01 20
							tempSel.name = "Locator_Locomotion"
							select tempSel
							
							cryTools.cryAnim._f.resetLocator forceDir:true
							
							tempPanel = getCommandPanelTaskMode()
							setCommandPanelTaskMode #modify
							
							addModifier tempSel (Edit_Poly())
							
							
							
							
							tempBit = #{1..(polyOp.getNumVerts tempSel)}
							tempSel.modifiers[1].setSelection 1 tempBit
							tempSel.modifiers[1].setOperation #DeleteVertex
							tempSel.modifiers[1].commit()


							for i = 1 to locVertArray.count do
							(
								tempSel.modifiers[1].CreateVertex [0,0,0]
							)
							tempSel.modifiers[1].commit()
							tempSel.modifiers[1].SetEPolySelLevel #Vertex

							for i = 1 to locVertArray.count do
							(
								tempSel.modifiers[1].SetSelection #Vertex #{}
								tempSel.modifiers[1].Select #Vertex #{i}
								tempSel.modifiers[1].Commit()
								tempSel.modifiers[1].moveSelection locVertArray[i]
								tempSel.modifiers[1].Commit()
								
							)

							tempSel.modifiers[1].CreateFace #(6,5,1)
							tempSel.modifiers[1].CreateFace #(6,1,2)
							tempSel.modifiers[1].CreateFace #(7,6,2)
							tempSel.modifiers[1].CreateFace #(2,3,7)
							tempSel.modifiers[1].CreateFace #(8,5,6)
							tempSel.modifiers[1].CreateFace #(6,7,8)
							tempSel.modifiers[1].CreateFace #(1,4,3)
							tempSel.modifiers[1].CreateFace #(3,2,1)
							tempSel.modifiers[1].CreateFace #(1, 4,5)
							tempSel.modifiers[1].CreateFace #(4,5, 8)
							tempSel.modifiers[1].CreateFace #(11,8,7)
							tempSel.modifiers[1].CreateFace #(7,12,11)
							tempSel.modifiers[1].CreateFace #(3,4, 10)
							tempSel.modifiers[1].CreateFace #(3, 9,10)
							tempSel.modifiers[1].CreateFace #(9,14,12)
							tempSel.modifiers[1].CreateFace #(11,12,14)
							tempSel.modifiers[1].CreateFace #(14,13,11)
							tempSel.modifiers[1].CreateFace #(10,13,14)
							tempSel.modifiers[1].CreateFace #(10,14,9)
							tempSel.modifiers[1].CreateFace #(10,13,11)

							tempSel.modifiers[1].SetSelection #Vertex #{}
							tempSel.modifiers[1].SetEPolySelLevel #Object
							
							tempSel.wireColor = (color 255 0 0)

							tempSel.modifiers[1].Commit()
							
							biped.setTransform $Bip01 #rotation tempSaveRot true
							
							$Bip01.controller.figureMode = false
							
							setCommandPanelTaskMode tempPanel
							
							cryTools.cryAnim._f.resetLocator()
							
							redrawviews()
						)catch (print "Error Creating Locator_Locomotion")
					)
				)
			)
			else
				messageBox "No Biped in Scene." title:"Error Creating Locator_Locomotion"
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.btnCreate.pressed" )
	)
	
	
	on btnDelete pressed do
	(
		try
		(
			if $Bip01 != undefined then
			(
				if queryBox "Delete Locator_Locomotion?" title:"Locator_Locomotion" == true then
				(
					undo "delete Locator_Locomotion" on
					(
						try
						(
							$Bip01.controller.figureMode = true
							$Bip01.controller.prop1Exists = false 
							$Bip01.controller.figureMode = false
						) catch ( print "Error Deleting Locatot_Locomtion" )
					)
				)
			)
			else
				messageBox "No Biped in Scene." title:"Error Deleting Locator_Locomotion"
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.btnDelete.pressed" )
	)
	
	

	on btnResetLocator pressed do
	(
		try
		(
			if $Locator_Locomotion != undefined then
				undo "Reset Locator" on
					cryTools.cryAnim._f.resetLocator()
			else print "No Locator in Scene."
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.btnResetLocator.pressed" )	
	)
	
	
	on btnAutoLoc pressed do
	(
		try
		(
			if $Locator_Locomotion != undefined then
				undo "Auto Locator" on
					try (	fileIn (cryTools.buildPathFull + "Tools\\maxscript\\cryAnim\\ui\\batch\\FirstScript\\AutoLoc.ms") ) catch()
			else print "No Locator in Scene."
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.btnAutoLoc.pressed" )
	)
	
	on btnSetToBodyMass pressed do
	(
		try
		(
			if $Locator_Locomotion != undefined then
				undo "Move to BodyMass" on
					try (	cryTools.cryAnim._f.moveToBodyMass() ) catch( print "Can't execute: Move to Body Mass")
			else print "No Locator in Scene."
		)
		catch ( logOutput "!!> Error in cryAnim.UI.main.dialog.locatorRO.btnSetToBodyMass.pressed" )
	)
	
)
logOutput "> Created locatorRO rollout"

try
(
	if cryTools.cryAnim.base.iniFile #get #multiRow == true then
		addSubRollout cryTools.cryAnim.UI.main.dialog.row2 locatorRO
	else
		addSubRollout cryTools.cryAnim.UI.main.dialog.row1 locatorRO
)
catch ( logOutput "!!> Error adding locatorRO to main dialog" )
locatorRO = undefined


logOutput ">> locator.ms loaded"