diff options
Diffstat (limited to 'tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp')
| -rw-r--r-- | tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp | 326 |
1 files changed, 56 insertions, 270 deletions
diff --git a/tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp b/tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp index 235dd23..b3b09b4 100644 --- a/tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp +++ b/tools/ArtistTools/source/BlastPlugin/Window/FileReferencesPanel.cpp @@ -2,7 +2,6 @@ #include "ui_FileReferencesPanel.h" #include "AppMainWindow.h" #include <QtWidgets/QFileDialog> -#include "ProjectParams.h" #include <QtCore/QFile> #include <QtCore/QDebug> #include "GlobalSettings.h" @@ -24,14 +23,12 @@ FileReferencesPanel::FileReferencesPanel(QWidget *parent) ui->lineEditFBX->setText("New.fbx"); ui->lineEditObj->setText("New.obj"); - ui->lineEditCollision->setText("New.repx"); ui->lineEditLLAsset->setText("Newll.blast"); ui->lineEditTKAsset->setText("Newtk.blast"); ui->lineEditBPXA->setText("New.blast"); bValid = false; ui->checkBoxFBX->setChecked(false); ui->checkBoxObj->setChecked(false); - ui->checkBoxCollision->setChecked(false); ui->checkBoxLLAsset->setChecked(false); ui->checkBoxTKAsset->setChecked(false); ui->checkBoxBPXA->setChecked(false); @@ -59,15 +56,12 @@ void FileReferencesPanel::updateValues() ui->lineEditFBX->setText(""); ui->lineEditObj->setText(""); - ui->lineEditCollision->setText(""); ui->lineEditLLAsset->setText(""); ui->lineEditTKAsset->setText(""); ui->lineEditBPXA->setText(""); bValid = false; ui->checkBoxFBX->setChecked(false); ui->checkBoxObj->setChecked(false); - ui->checkBoxCollision->setChecked(false); - ui->checkBoxLLAsset->setChecked(false); ui->checkBoxTKAsset->setChecked(false); ui->checkBoxBPXA->setChecked(false); bValid = true; @@ -128,13 +122,6 @@ void FileReferencesPanel::updateValues() ui->lineEditObj->setText(fileInfo.baseName() + "_New.obj"); } - if (asset.collision.buf != nullptr) - ui->lineEditCollision->setText(asset.collision.buf); - else - { - ui->lineEditCollision->setText(fileInfo.baseName() + "_New.repx"); - } - if (asset.llasset.buf != nullptr) ui->lineEditLLAsset->setText(asset.llasset.buf); else @@ -158,8 +145,8 @@ void FileReferencesPanel::updateValues() bValid = false; ui->checkBoxFBX->setChecked(asset.exportFBX); + ui->checkBoxEmbedFBXCollision->setChecked(asset.embedFBXCollision); ui->checkBoxObj->setChecked(asset.exportOBJ); - ui->checkBoxCollision->setChecked(asset.exportCollision); ui->checkBoxLLAsset->setChecked(asset.exportLLAsset); ui->checkBoxTKAsset->setChecked(asset.exportTKAsset); ui->checkBoxBPXA->setChecked(asset.exportBPXA); @@ -204,147 +191,42 @@ void FileReferencesPanel::on_checkBoxFBX_stateChanged(int arg1) return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { - return; - } - - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { - return; - } - - BPPAsset& asset = assetArray.buf[aaas]; + BPPAsset& asset = *assetPtr; asset.exportFBX = ui->checkBoxFBX->isChecked(); } -void FileReferencesPanel::on_checkBoxObj_stateChanged(int arg1) +void FileReferencesPanel::on_checkBoxEmbedFBXCollision_stateChanged(int arg1) { if (!bValid) { return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { - return; - } - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { - return; - } - - BPPAsset& asset = assetArray.buf[aaas]; - asset.exportOBJ = ui->checkBoxObj->isChecked(); + BPPAsset& asset = *assetPtr; + asset.embedFBXCollision = ui->checkBoxEmbedFBXCollision->isChecked(); } -void FileReferencesPanel::on_checkBoxCollision_stateChanged(int arg1) +void FileReferencesPanel::on_checkBoxObj_stateChanged(int arg1) { if (!bValid) { return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { - return; - } - - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { - return; - } - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - BPPAsset& asset = assetArray.buf[aaas]; - asset.exportCollision = ui->checkBoxCollision->isChecked(); + BPPAsset& asset = *assetPtr; + asset.exportOBJ = ui->checkBoxObj->isChecked(); } void FileReferencesPanel::on_checkBoxLLAsset_stateChanged(int arg1) @@ -354,46 +236,11 @@ void FileReferencesPanel::on_checkBoxLLAsset_stateChanged(int arg1) return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { - return; - } - - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { - return; - } - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - BPPAsset& asset = assetArray.buf[aaas]; + BPPAsset& asset = *assetPtr; asset.exportLLAsset = ui->checkBoxLLAsset->isChecked(); } @@ -404,46 +251,11 @@ void FileReferencesPanel::on_checkBoxTKAsset_stateChanged(int arg1) return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { - return; - } - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { - return; - } - - BPPAsset& asset = assetArray.buf[aaas]; + BPPAsset& asset = *assetPtr; asset.exportTKAsset = ui->checkBoxTKAsset->isChecked(); } @@ -454,46 +266,11 @@ void FileReferencesPanel::on_checkBoxBPXA_stateChanged(int arg1) return; } - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) return; - } - BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); - if (pBlastAsset == nullptr) - { - return; - } - - std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); - std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); - if (itADM == AssetDescMap.end()) - { - return; - } - - AssetList::ModelAsset modelAsset = itADM->second; - if (modelAsset.name.empty()) - { - return; - } - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPAssetArray& assetArray = projectParams.blast.blastAssets; - int aaas = 0; - for (; aaas < assetArray.arraySizes[0]; aaas++) - { - std::string assetname = assetArray.buf[aaas].name; - if (assetname == modelAsset.name) - break; - } - if (aaas == assetArray.arraySizes[0]) - { - return; - } - - BPPAsset& asset = assetArray.buf[aaas]; + BPPAsset& asset = *assetPtr; asset.exportBPXA = ui->checkBoxBPXA->isChecked(); if (asset.exportBPXA) @@ -512,31 +289,58 @@ void FileReferencesPanel::on_btnSave_clicked() copy(fileReferences.fbxSourceAsset, ui->lineEditFBXSourceAsset->text().toUtf8().data()); + BPPAsset* assetPtr = _getCurrentAsset(); + if (nullptr == assetPtr) + return; + + BPPAsset& asset = *assetPtr; + + copy(asset.fbx, ui->lineEditFBX->text().toUtf8().data()); + asset.exportFBX = ui->checkBoxFBX->isChecked(); + + copy(asset.obj, ui->lineEditObj->text().toUtf8().data()); + asset.exportOBJ = ui->checkBoxObj->isChecked(); + + copy(asset.llasset, ui->lineEditLLAsset->text().toUtf8().data()); + asset.exportLLAsset = ui->checkBoxLLAsset->isChecked(); + + copy(asset.tkasset, ui->lineEditTKAsset->text().toUtf8().data()); + asset.exportTKAsset = ui->checkBoxTKAsset->isChecked(); + + copy(asset.bpxa, ui->lineEditBPXA->text().toUtf8().data()); + asset.exportBPXA = ui->checkBoxBPXA->isChecked(); + + SampleManager::ins()->exportAsset(); +} + +BPPAsset* FileReferencesPanel::_getCurrentAsset() +{ SampleManager* pSampleManager = SampleManager::ins(); if (pSampleManager == nullptr) { - return; + return nullptr; } BlastAsset* pBlastAsset = pSampleManager->getCurBlastAsset(); if (pBlastAsset == nullptr) { - return; + return nullptr; } std::map<BlastAsset*, AssetList::ModelAsset>& AssetDescMap = pSampleManager->getAssetDescMap(); std::map<BlastAsset*, AssetList::ModelAsset>::iterator itADM = AssetDescMap.find(pBlastAsset); if (itADM == AssetDescMap.end()) { - return; + return nullptr; } AssetList::ModelAsset modelAsset = itADM->second; if (modelAsset.name.empty()) { - return; + return nullptr; } + BPParams& projectParams = BlastProject::ins().getParams(); BPPAssetArray& assetArray = projectParams.blast.blastAssets; int aaas = 0; for (; aaas < assetArray.arraySizes[0]; aaas++) @@ -547,28 +351,10 @@ void FileReferencesPanel::on_btnSave_clicked() } if (aaas == assetArray.arraySizes[0]) { - return; + return nullptr; } BPPAsset& asset = assetArray.buf[aaas]; - copy(asset.fbx, ui->lineEditFBX->text().toUtf8().data()); - asset.exportFBX = ui->checkBoxFBX->isChecked(); - - copy(asset.obj, ui->lineEditObj->text().toUtf8().data()); - asset.exportOBJ = ui->checkBoxObj->isChecked(); - - copy(asset.collision, ui->lineEditCollision->text().toUtf8().data()); - asset.exportCollision = ui->checkBoxCollision->isChecked(); - - copy(asset.llasset, ui->lineEditLLAsset->text().toUtf8().data()); - asset.exportLLAsset = ui->checkBoxLLAsset->isChecked(); - - copy(asset.tkasset, ui->lineEditTKAsset->text().toUtf8().data()); - asset.exportTKAsset = ui->checkBoxTKAsset->isChecked(); - - copy(asset.bpxa, ui->lineEditBPXA->text().toUtf8().data()); - asset.exportBPXA = ui->checkBoxBPXA->isChecked(); - - SampleManager::ins()->exportAsset(); + return &asset; } |