Files
2025-09-29 00:52:08 +02:00

161 lines
3.6 KiB
Plaintext
Executable File

--convert 3LateralGUI to Rockstar alpha plane version
--for every item in the 3 lateral gui shit align the rs version to them,
--delete their geo, then attach the RS_ version
filein (RsConfigGetWildWestDir() + "script/3dsMax/_config_files/Wildwest_header.ms")
----------------------------------------------
----------------------------------------------
standardGui = #( --list of all geo based gui nodes which will get replaced by the alphad plane ones
"faceControls_FRAME",
"mouth_FRAME",
"mouth_CTRL",
"mouth_TEXT",
"jaw_FRAME",
"jaw_CTRL",
"jaw_TEXT",
"tongue_TEXT",
"tongueMove_FRAME",
"tongueMove_CTRL",
"tongueRoll_FRAME",
"tongueRoll_CTRL",
"tongueInOut_FRAME",
"tongueInOut_CTRL",
"outerBrow_R_FRAME",
"outerBrow_R_CTRL",
"innerBrow_L_FRAME",
"innerBrow_L_CTRL",
"outerBrow_L_FRAME",
"outerBrow_L_CTRL",
"brows_TEXT",
"innerBrow_R_FRAME",
"innerBrow_R_CTRL",
"eye_R_FRAME",
"eye_L_FRAME",
"eyes_TEXT",
"eye_C_FRAME",
"eye_C_CTRL",
"eye_L_CTRL",
"eye_R_CTRL",
"nose_L_FRAME",
"nose_L_CTRL",
"nose_R_FRAME",
"nose_R_CTRL",
"nose_TEXT",
"cheek_TEXT",
"cheek_L_FRAME",
"cheek_L_CTRL",
"cheek_R_FRAME",
"cheek_R_CTRL",
"lowerLip_L_CTRL",
"lowerLip_C_CTRL",
"lowerLip_R_CTRL",
"lipCorner_R_CTRL",
"upperLip_C_CTRL",
"upperLip_L_CTRL",
"lipCorner_L_CTRL",
"upperLip_R_CTRL",
"eyelidUpperOuter_L_CTRL",
"eyelidUpperInner_L_CTRL",
"eyelidLowerOuter_L_CTRL",
"eyelidLowerInner_L_CTRL",
"eyelidLowerOuter_R_CTRL",
"eyelidLowerInner_R_CTRL",
"eyelidUpperOuter_R_CTRL",
"eyelidUpperInner_R_CTRL"
)
rsGUIFile = (theProjectRoot + "art/peds/3LateralSetup/RockStar_GTAV_GUI.max")
fn convertStandardGuiToAlphaGUI =
(
mergeMaxFile rsGUIFile quiet:true
-- disableSceneRedraw()
max modify mode
for sG = 1 to standardGui.count do
(
stdGUI = getNodeByName standardGui[sG]
alpGUI = getNodeByName ("RS_"+standardGui[sG])
if alpGUI != undefined then
(
--do i need to parent the alpGUI to the stdGui.parent 1st?
alpGui.parent = stdGui.parent
in coordsys world alpGui.transform = in coordsys world stdGui.transform
select stdGui
--need to ensure we maintain existing attr holders
if stdGui.modifiers.count > 0 then
(
modCount = stdGUI.modifiers.count
val = (modCount - 1)
if val < 2 then
(
modPanel.setCurrentObject stdGui.baseObject
modPanel.addModToSelection (Edit_Poly ()) ui:on
maxOps.CollapseNodeTo stdGui 2 off
)
else
(
modPanel.setCurrentObject stdGui.modifiers[val]
modPanel.addModToSelection (Edit_Poly ()) ui:on
maxOps.CollapseNodeTo stdGui (modCount - 1) off
)
modPanel.setCurrentObject stdGui.baseObject
)
else
(
convertTo stdGui PolyMeshObject
)
subobjectLevel = 4
max select all
max delete
--now we can attach the alpha plane
stdGui.EditablePoly.attach alpGUI stDGUI
subobjectLevel = 0
)
else
(
print ("Couldn't find RS node RS_"+standardGui[sG])
)
)
if ((yesNoGUI != undefined) and (yesNoGUI.isDisplayed)) do
(destroyDialog yesNoGUI)
rollout yesNoGUI "Connect Attrs?"
(
button btnYes "Yes" width:160
button btnNo "No" width:160
on btnYes pressed do
(
filein (RsConfigGetWildWestDir() + "script/3dsMax/Characters/Rigging/3Lateral/connectAlphaGuiToAttrs.ms")
-- connectAlphaGUIToAttrs()
(destroyDialog yesNoGUI)
)
on btnNo pressed do
(
--fack all
)
)
CreateDialog yesNoGUI width:175 pos:[800, 600]
)
convertStandardGuiToAlphaGUI()