@@ -658,10 +658,6 @@ bool DzRobloxAction::deepCopyNode(FbxNode* pDestinationRoot, FbxNode* pSourceNod
658658void DzRobloxAction::executeAction ()
659659{
660660
661- // generateFacs50();
662- // return;
663-
664-
665661 // CreateUI() disabled for debugging -- 2022-Feb-25
666662 /*
667663 // Create and show the dialog. If the user cancels, exit early,
@@ -885,13 +881,15 @@ void DzRobloxAction::executeAction()
885881
886882
887883 // DB 2021-10-11: Progress Bar
888- DzProgress* exportProgress = new DzProgress (" Sending to Roblox..." , 10 );
884+ DzProgress* exportProgress = new DzProgress (" Sending to Roblox Studio ..." , 50 , false , true );
889885 exportProgress->setCloseOnFinish (false );
890886 exportProgress->enable (true );
891-
887+ DzProgress::setCurrentInfo (" Sending to DazToRobloxStudio..." );
888+
892889 // Create Daz3D folder if it doesn't exist
893890 QDir dir;
894891 dir.mkpath (m_sRootFolder);
892+ exportProgress->setCurrentInfo (" Starting up conversion pipeline..." );
895893 exportProgress->step ();
896894
897895 // export FBX
@@ -905,7 +903,8 @@ void DzRobloxAction::executeAction()
905903 return ;
906904 }
907905
908- exportProgress->setInfo (" Preparing FBX PostProcessing Pipeline..." );
906+ exportProgress->setCurrentInfo (" Preparing FBX PostProcessing Pipeline..." );
907+ exportProgress->step ();
909908
910909 // run blender scripts
911910 QString sBlenderLogPath = QString (" %1/blender.log" ).arg (m_sDestinationPath);
@@ -916,7 +915,7 @@ void DzRobloxAction::executeAction()
916915 " blender_dtu_to_roblox_blend.py" << " blender_dtu_to_avatar_autosetup.py" <<
917916 " roblox_tools.py" << " Daz_Cage_Att_Template.blend" <<
918917 " game_readiness_tools.py" << " game_readiness_roblox_data.py" <<
919- " Genesis9Action.blend " << " Genesis9facs50.blend" );
918+ " Genesis9facs50.blend" );
920919 if (bUseFallbackScriptFolder)
921920 {
922921 foreach (QString filename, aOverrideFilenameList)
@@ -959,7 +958,9 @@ void DzRobloxAction::executeAction()
959958 }
960959
961960 /* ****************************************************************************************************/
962- exportProgress->setInfo (" Automatic Cage and Attachment Retargeting..." );
961+ DzProgress::setCurrentInfo (" Automatic Cage and Attachment Retargeting..." );
962+ exportProgress->setCurrentInfo (" Automatic Cage and Attachment Retargeting..." );
963+ exportProgress->step ();
963964
964965 if (m_sAssetType.contains (" R15" ))
965966 {
@@ -1215,10 +1216,11 @@ void DzRobloxAction::executeAction()
12151216 batchFileOut.write (sBatchString .toAscii ().constData ());
12161217 batchFileOut.close ();
12171218
1218- exportProgress->setInfo (" Starting Blender Processing..." );
1219+ DzProgress::setCurrentInfo (" Starting Blender Processing..." );
1220+ exportProgress->setCurrentInfo (" Starting Blender Processing..." );
12191221 bool retCode = executeBlenderScripts (m_sBlenderExecutablePath, sCommandArgs );
12201222
1221- exportProgress->setInfo (" Roblox Avatar Exporter: Export Phase Completed." );
1223+ exportProgress->setCurrentInfo (" Roblox Avatar Exporter: Export Phase Completed." );
12221224 // DB 2021-10-11: Progress Bar
12231225 exportProgress->finish ();
12241226
@@ -1267,7 +1269,7 @@ void DzRobloxAction::executeAction()
12671269 QString sErrorString ;
12681270 sErrorString += QString (" An error occured while running the Blender Python script (ExitCode=%1).\n " ).arg (m_nBlenderExitCode);
12691271 sErrorString += QString (" \n Please check log files at : %1\n " ).arg (m_sDestinationPath);
1270- sErrorString += QString (" \n You can rerun the Blender Python script manually using: %1" ).arg (batchFilePath);
1272+ sErrorString += QString (" \n You can rerun the Blender command-line script manually using: %1" ).arg (batchFilePath);
12711273 QMessageBox::critical (0 , " Roblox Avatar Exporter" , tr (sErrorString .toLocal8Bit ()), QMessageBox::Ok);
12721274 }
12731275 else {
@@ -1458,7 +1460,7 @@ bool DzRobloxAction::executeBlenderScripts(QString sFilePath, QString sCommandli
14581460 break ;
14591461 }
14601462 }
1461- progress->setInfo (" Blender Scripts Completed." );
1463+ progress->setCurrentInfo (" Blender Scripts Completed." );
14621464 progress->finish ();
14631465 delete progress;
14641466 m_nBlenderExitCode = pToolProcess->exitCode ();
@@ -1518,6 +1520,9 @@ DZ_BRIDGE_NAMESPACE::DzBridgeDialog* DzRobloxAction::getBridgeDialog()
15181520// It also assumes that only one G9 character is in the scene.
15191521bool DzRobloxAction::preProcessScene (DzNode* parentNode)
15201522{
1523+ DzProgress::setCurrentInfo (" DazToRobloxStudio Preprocessing..." );
1524+ DzProgress robloxPreProcessProgress = DzProgress (" DazToRobloxStudio Preprocessing..." , 50 , false , true );
1525+
15211526 DzBridgeAction::preProcessScene (parentNode);
15221527
15231528 // Sanity Check
@@ -1540,10 +1545,15 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
15401545 }
15411546 QString sParentNodeName = parentNode->getName ();
15421547 dzApp->debug (" DzRobloxAction::preProcessScene() processing node: " + sParentNodeName );
1548+ robloxPreProcessProgress.setCurrentInfo (" Processing node: " + sParentNodeName );
1549+ robloxPreProcessProgress.step ();
15431550
15441551 // apply optional morphs
15451552 if (m_bEnableBreastsGone)
15461553 {
1554+ robloxPreProcessProgress.setCurrentInfo (" Applying conversion morphs..." );
1555+ robloxPreProcessProgress.step ();
1556+
15471557 // obtain selection
15481558 DzFigure* pFigureNode = qobject_cast<DzFigure*>( dzScene->getPrimarySelection () );
15491559 if (pFigureNode && pFigureNode->getName () == " Genesis9" )
@@ -1575,6 +1585,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
15751585 QString tempPath = dzApp->getTempPath ();
15761586
15771587 // check if geograft present
1588+ robloxPreProcessProgress.setCurrentInfo (" Applying conversion geografts..." );
1589+ robloxPreProcessProgress.step ();
15781590 if (dzScene->findNodeByLabel (" game_engine_mouth_geograft" ) == NULL &&
15791591 dzScene->findNode (" game_engine_mouth_geograft_0" ) == NULL ) {
15801592 DzNode* mouthNode = dzScene->findNode (" Genesis9Mouth" );
@@ -1618,6 +1630,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
16181630 // }
16191631
16201632 // / BONE CONVERSION OPERATION
1633+ robloxPreProcessProgress.setCurrentInfo (" Converting to roblox compatible skeleton..." );
1634+ robloxPreProcessProgress.step ();
16211635 sScriptFilename = sPluginFolder + " /" + sRobloxBoneConverter ;
16221636 if (QFileInfo (sScriptFilename ).exists () == false ) {
16231637 sScriptFilename = dzApp->getTempPath () + " /" + sRobloxBoneConverter ;
@@ -1677,6 +1691,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
16771691 // / TEXTURE OPERATIONS (MODESTY OVERLAY, UV CONVERSION, ETC)
16781692 if (!sApplyModestyOverlay .isEmpty ())
16791693 {
1694+ robloxPreProcessProgress.setCurrentInfo (" Applying modesty layer..." );
1695+ robloxPreProcessProgress.step ();
16801696 sScriptFilename = sPluginFolder + " /" + sApplyModestyOverlay ;
16811697 if (QFileInfo (sScriptFilename ).exists () == false ) {
16821698 sScriptFilename = dzApp->getTempPath () + " /" + sApplyModestyOverlay ;
@@ -1693,6 +1709,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
16931709 dzScene->selectAllNodes (false );
16941710 dzScene->setPrimarySelection (parentNode);
16951711
1712+ robloxPreProcessProgress.setCurrentInfo (" Generating combined texture parts..." );
1713+ robloxPreProcessProgress.step ();
16961714 sScriptFilename = sPluginFolder + " /" + sGenerateCombinedTextures ;
16971715 if (QFileInfo (sScriptFilename ).exists () == false ) {
16981716 sScriptFilename = dzApp->getTempPath () + " /" + sGenerateCombinedTextures ;
@@ -1704,6 +1722,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
17041722 dzScene->selectAllNodes (false );
17051723 dzScene->setPrimarySelection (parentNode);
17061724
1725+ robloxPreProcessProgress.setCurrentInfo (" Merging combined texture parts..." );
1726+ robloxPreProcessProgress.step ();
17071727 sScriptFilename = sPluginFolder + " /" + sCombineTextureMaps ;
17081728 if (QFileInfo (sScriptFilename ).exists () == false ) {
17091729 sScriptFilename = dzApp->getTempPath () + " /" + sCombineTextureMaps ;
@@ -1715,6 +1735,8 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
17151735 dzScene->selectAllNodes (false );
17161736 dzScene->setPrimarySelection (parentNode);
17171737
1738+ robloxPreProcessProgress.setCurrentInfo (" Applying combined texture..." );
1739+ robloxPreProcessProgress.step ();
17181740 sScriptFilename = sPluginFolder + " /" + sAssignCombinedTextures ;
17191741 if (QFileInfo (sScriptFilename ).exists () == false ) {
17201742 sScriptFilename = dzApp->getTempPath () + " /" + sAssignCombinedTextures ;
@@ -1726,6 +1748,9 @@ bool DzRobloxAction::preProcessScene(DzNode* parentNode)
17261748 dzScene->selectAllNodes (false );
17271749 dzScene->setPrimarySelection (parentNode);
17281750
1751+ robloxPreProcessProgress.setCurrentInfo (" DazToRobloxStudio Preprocessing complete." );
1752+ robloxPreProcessProgress.finish ();
1753+
17291754 return true ;
17301755}
17311756
0 commit comments