mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-06-20 05:23:40 +00:00
More code cleanup
This commit is contained in:
parent
82ad4fb5c8
commit
1150ee2b22
@ -97,6 +97,19 @@ CModelEditorWindow::CModelEditorWindow(QWidget *pParent)
|
|||||||
ui->AnimParamCSpinBox->setProperty ("ModelEditorWidgetType", eAnimParamCSpinBox);
|
ui->AnimParamCSpinBox->setProperty ("ModelEditorWidgetType", eAnimParamCSpinBox);
|
||||||
ui->AnimParamDSpinBox->setProperty ("ModelEditorWidgetType", eAnimParamDSpinBox);
|
ui->AnimParamDSpinBox->setProperty ("ModelEditorWidgetType", eAnimParamDSpinBox);
|
||||||
|
|
||||||
|
connect(ui->ActionOpen, SIGNAL(triggered()), this, SLOT(Open()));
|
||||||
|
connect(ui->ActionImport, SIGNAL(triggered()), this, SLOT(Import()));
|
||||||
|
connect(ui->ActionSave, SIGNAL(triggered()), this, SLOT(Save()));
|
||||||
|
connect(ui->ActionSaveAs, SIGNAL(triggered()), this, SLOT(SaveAs()));
|
||||||
|
connect(ui->ActionConvertToDDS, SIGNAL(triggered()), this, SLOT(ConvertToDDS()));
|
||||||
|
connect(ui->ActionConvertToTXTR, SIGNAL(triggered()), this, SLOT(ConvertToTXTR()));
|
||||||
|
connect(ui->MeshPreviewButton, SIGNAL(clicked()), this, SLOT(SetMeshPreview()));
|
||||||
|
connect(ui->SpherePreviewButton, SIGNAL(clicked()), this, SLOT(SetSpherePreview()));
|
||||||
|
connect(ui->FlatPreviewButton, SIGNAL(clicked()), this, SLOT(SetFlatPreview()));
|
||||||
|
connect(ui->ClearColorPicker, SIGNAL(ColorChanged(QColor)), this, SLOT(ClearColorChanged(QColor)));
|
||||||
|
connect(ui->CameraModeButton, SIGNAL(clicked()), this, SLOT(ToggleCameraMode()));
|
||||||
|
connect(ui->ToggleGridButton, SIGNAL(toggled(bool)), this, SLOT(ToggleGrid(bool)));
|
||||||
|
|
||||||
connect(ui->SetSelectionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateUI(int)));
|
connect(ui->SetSelectionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateUI(int)));
|
||||||
connect(ui->MatSelectionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateUI(int)));
|
connect(ui->MatSelectionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateUI(int)));
|
||||||
connect(ui->EnableTransparencyCheck, SIGNAL(toggled(bool)), this, SLOT(UpdateMaterial(bool)));
|
connect(ui->EnableTransparencyCheck, SIGNAL(toggled(bool)), this, SLOT(UpdateMaterial(bool)));
|
||||||
@ -109,10 +122,10 @@ CModelEditorWindow::CModelEditorWindow(QWidget *pParent)
|
|||||||
connect(ui->EnableDynamicLightingCheck, SIGNAL(toggled(bool)), this, SLOT(UpdateMaterial(bool)));
|
connect(ui->EnableDynamicLightingCheck, SIGNAL(toggled(bool)), this, SLOT(UpdateMaterial(bool)));
|
||||||
connect(ui->SourceBlendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
connect(ui->SourceBlendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
||||||
connect(ui->DestBlendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
connect(ui->DestBlendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
||||||
connect(ui->KonstColorPickerA, SIGNAL(colorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
connect(ui->KonstColorPickerA, SIGNAL(ColorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
||||||
connect(ui->KonstColorPickerB, SIGNAL(colorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
connect(ui->KonstColorPickerB, SIGNAL(ColorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
||||||
connect(ui->KonstColorPickerC, SIGNAL(colorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
connect(ui->KonstColorPickerC, SIGNAL(ColorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
||||||
connect(ui->KonstColorPickerD, SIGNAL(colorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
connect(ui->KonstColorPickerD, SIGNAL(ColorChanged(QColor)), this, SLOT(UpdateMaterial(QColor)));
|
||||||
connect(ui->PassTable, SIGNAL(cellClicked(int,int)), this, SLOT(UpdateMaterial(int, int)));
|
connect(ui->PassTable, SIGNAL(cellClicked(int,int)), this, SLOT(UpdateMaterial(int, int)));
|
||||||
connect(ui->TevKColorSelComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
connect(ui->TevKColorSelComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
||||||
connect(ui->TevKAlphaSelComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
connect(ui->TevKAlphaSelComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateMaterial(int)));
|
||||||
@ -703,27 +716,7 @@ void CModelEditorWindow::UpdateAnimParamUI(int Mode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionConvert_to_DDS_triggered()
|
void CModelEditorWindow::Open()
|
||||||
{
|
|
||||||
QString Input = QFileDialog::getOpenFileName(this, "Retro Texture (*.TXTR)", "", "*.TXTR");
|
|
||||||
if (Input.isEmpty()) return;
|
|
||||||
|
|
||||||
TString TexFilename = Input.toStdString();
|
|
||||||
TResPtr<CTexture> pTex = (CTexture*) gResCache.GetResource(TexFilename);
|
|
||||||
TString OutName = TexFilename.GetFilePathWithoutExtension() + ".dds";
|
|
||||||
|
|
||||||
CFileOutStream Out(OutName.ToStdString(), IOUtil::eLittleEndian);
|
|
||||||
if (!Out.IsValid()) QMessageBox::warning(this, "Error", "Couldn't open output DDS!");
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
bool success = pTex->WriteDDS(Out);
|
|
||||||
if (!success) QMessageBox::warning(this, "Error", "Couldn't write output DDS!");
|
|
||||||
else QMessageBox::information(this, "Success", "Successfully converted to DDS!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionOpen_triggered()
|
|
||||||
{
|
{
|
||||||
QString ModelFilename = QFileDialog::getOpenFileName(this, "Save model", "", "Retro Model (*.CMDL)");
|
QString ModelFilename = QFileDialog::getOpenFileName(this, "Save model", "", "Retro Model (*.CMDL)");
|
||||||
if (ModelFilename.isEmpty()) return;
|
if (ModelFilename.isEmpty()) return;
|
||||||
@ -739,61 +732,20 @@ void CModelEditorWindow::on_actionOpen_triggered()
|
|||||||
gResCache.Clean();
|
gResCache.Clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionSave_triggered()
|
void CModelEditorWindow::Import()
|
||||||
{
|
{
|
||||||
if (!mpCurrentModel) return;
|
QString FileName = QFileDialog::getOpenFileName(this, "Model", "", "*.obj;*.fbx;*.dae;*.3ds;*.blend");
|
||||||
|
if (FileName.isEmpty()) return;
|
||||||
|
|
||||||
if (mOutputFilename.isEmpty())
|
Assimp::Importer Importer;
|
||||||
{
|
Importer.SetPropertyInteger(AI_CONFIG_PP_FD_REMOVE, 1);
|
||||||
on_actionSave_as_triggered();
|
Importer.SetPropertyInteger(AI_CONFIG_PP_RVC_FLAGS,
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CFileOutStream CMDLOut(mOutputFilename.toStdString(), IOUtil::eBigEndian);
|
|
||||||
CModelCooker::WriteCookedModel(mpCurrentModel, ePrime, CMDLOut);
|
|
||||||
QMessageBox::information(this, "Saved", "Model saved!");
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::closeEvent(QCloseEvent*)
|
|
||||||
{
|
|
||||||
emit Closed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_MeshPreviewButton_clicked()
|
|
||||||
{
|
|
||||||
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawMesh);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_SpherePreviewButton_clicked()
|
|
||||||
{
|
|
||||||
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawSphere);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_FlatPreviewButton_clicked()
|
|
||||||
{
|
|
||||||
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawSquare);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_ClearColorPicker_colorChanged(const QColor &Color)
|
|
||||||
{
|
|
||||||
CColor NewColor = CColor::Integral(Color.red(), Color.green(), Color.blue(), Color.alpha());
|
|
||||||
ui->Viewport->SetClearColor(NewColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionImport_triggered()
|
|
||||||
{
|
|
||||||
QString filename = QFileDialog::getOpenFileName(this, "Model", "", "*.obj;*.fbx;*.dae;*.3ds;*.blend");
|
|
||||||
if (filename.isEmpty()) return;
|
|
||||||
|
|
||||||
Assimp::Importer importer;
|
|
||||||
importer.SetPropertyInteger(AI_CONFIG_PP_FD_REMOVE, 1);
|
|
||||||
importer.SetPropertyInteger(AI_CONFIG_PP_RVC_FLAGS,
|
|
||||||
aiComponent_TANGENTS_AND_BITANGENTS |
|
aiComponent_TANGENTS_AND_BITANGENTS |
|
||||||
aiComponent_ANIMATIONS |
|
aiComponent_ANIMATIONS |
|
||||||
aiComponent_LIGHTS |
|
aiComponent_LIGHTS |
|
||||||
aiComponent_CAMERAS);
|
aiComponent_CAMERAS);
|
||||||
|
|
||||||
const aiScene *pScene = importer.ReadFile(filename.toStdString(),
|
const aiScene *pScene = Importer.ReadFile(FileName.toStdString(),
|
||||||
aiProcess_JoinIdenticalVertices |
|
aiProcess_JoinIdenticalVertices |
|
||||||
aiProcess_Triangulate |
|
aiProcess_Triangulate |
|
||||||
aiProcess_RemoveComponent |
|
aiProcess_RemoveComponent |
|
||||||
@ -823,42 +775,54 @@ void CModelEditorWindow::on_actionImport_triggered()
|
|||||||
gResCache.Clean();
|
gResCache.Clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionSave_as_triggered()
|
void CModelEditorWindow::Save()
|
||||||
|
{
|
||||||
|
if (!mpCurrentModel) return;
|
||||||
|
|
||||||
|
if (mOutputFilename.isEmpty())
|
||||||
|
{
|
||||||
|
SaveAs();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CFileOutStream CMDLOut(mOutputFilename.toStdString(), IOUtil::eBigEndian);
|
||||||
|
CModelCooker::WriteCookedModel(mpCurrentModel, ePrime, CMDLOut);
|
||||||
|
QMessageBox::information(this, "Saved", "Model saved!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::SaveAs()
|
||||||
{
|
{
|
||||||
QString FileName = QFileDialog::getSaveFileName(this, "Save model", "", "Retro Model (*.CMDL)");
|
QString FileName = QFileDialog::getSaveFileName(this, "Save model", "", "Retro Model (*.CMDL)");
|
||||||
if (FileName.isEmpty()) return;
|
if (FileName.isEmpty()) return;
|
||||||
|
|
||||||
mOutputFilename = FileName;
|
mOutputFilename = FileName;
|
||||||
on_actionSave_triggered();
|
Save();
|
||||||
|
|
||||||
TString name = TString(FileName.toStdString());
|
TString Name = TString(FileName.toStdString());
|
||||||
setWindowTitle("Prime World Editor - Model Editor: " + TO_QSTRING(name));
|
setWindowTitle("Prime World Editor - Model Editor: " + TO_QSTRING(Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_CameraModeButton_clicked()
|
void CModelEditorWindow::ConvertToDDS()
|
||||||
{
|
{
|
||||||
CCamera *pCam = &ui->Viewport->Camera();
|
QString Input = QFileDialog::getOpenFileName(this, "Retro Texture (*.TXTR)", "", "*.TXTR");
|
||||||
|
if (Input.isEmpty()) return;
|
||||||
|
|
||||||
if (pCam->MoveMode() == eOrbitCamera)
|
TString TexFilename = Input.toStdString();
|
||||||
|
TResPtr<CTexture> pTex = gResCache.GetResource(TexFilename);
|
||||||
|
TString OutName = TexFilename.GetFilePathWithoutExtension() + ".dds";
|
||||||
|
|
||||||
|
CFileOutStream Out(OutName.ToStdString(), IOUtil::eLittleEndian);
|
||||||
|
if (!Out.IsValid()) QMessageBox::warning(this, "Error", "Couldn't open output DDS!");
|
||||||
|
|
||||||
|
else
|
||||||
{
|
{
|
||||||
pCam->SetMoveMode(eFreeCamera);
|
bool Success = pTex->WriteDDS(Out);
|
||||||
ui->CameraModeButton->setIcon(QIcon(":/icons/Show.png"));
|
if (!Success) QMessageBox::warning(this, "Error", "Couldn't write output DDS!");
|
||||||
ui->CameraModeButton->setToolTip(QString("Free Camera"));
|
else QMessageBox::information(this, "Success", "Successfully converted to DDS!");
|
||||||
}
|
|
||||||
|
|
||||||
else if (pCam->MoveMode() == eFreeCamera)
|
|
||||||
{
|
|
||||||
pCam->SetMoveMode(eOrbitCamera);
|
|
||||||
ui->CameraModeButton->setIcon(QIcon(":/icons/Orbit Camera.png"));
|
|
||||||
ui->CameraModeButton->setToolTip(QString("Orbit Camera"));
|
|
||||||
|
|
||||||
CVector3f Pos = pCam->Position();
|
|
||||||
CVector3f Target = mpCurrentModelNode->AABox().Center();
|
|
||||||
pCam->SetOrbitDistance(Pos.Distance(Target));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_actionConvert_DDS_to_TXTR_triggered()
|
void CModelEditorWindow::ConvertToTXTR()
|
||||||
{
|
{
|
||||||
QString Input = QFileDialog::getOpenFileName(this, "DirectDraw Surface (*.dds)", "", "*.dds");
|
QString Input = QFileDialog::getOpenFileName(this, "DirectDraw Surface (*.dds)", "", "*.dds");
|
||||||
if (Input.isEmpty()) return;
|
if (Input.isEmpty()) return;
|
||||||
@ -883,7 +847,56 @@ void CModelEditorWindow::on_actionConvert_DDS_to_TXTR_triggered()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelEditorWindow::on_ToggleGridButton_toggled(bool Checked)
|
void CModelEditorWindow::SetMeshPreview()
|
||||||
{
|
{
|
||||||
ui->Viewport->SetGridEnabled(Checked);
|
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawMesh);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::SetSpherePreview()
|
||||||
|
{
|
||||||
|
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawSphere);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::SetFlatPreview()
|
||||||
|
{
|
||||||
|
ui->Viewport->SetDrawMode(CModelEditorViewport::eDrawSquare);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::ClearColorChanged(const QColor& rkNewColor)
|
||||||
|
{
|
||||||
|
CColor Color = TO_CCOLOR(rkNewColor);
|
||||||
|
ui->Viewport->SetClearColor(Color);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::ToggleCameraMode()
|
||||||
|
{
|
||||||
|
CCamera *pCam = &ui->Viewport->Camera();
|
||||||
|
|
||||||
|
if (pCam->MoveMode() == eOrbitCamera)
|
||||||
|
{
|
||||||
|
pCam->SetMoveMode(eFreeCamera);
|
||||||
|
ui->CameraModeButton->setIcon(QIcon(":/icons/Show.png"));
|
||||||
|
ui->CameraModeButton->setToolTip(QString("Free Camera"));
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (pCam->MoveMode() == eFreeCamera)
|
||||||
|
{
|
||||||
|
pCam->SetMoveMode(eOrbitCamera);
|
||||||
|
ui->CameraModeButton->setIcon(QIcon(":/icons/Orbit Camera.png"));
|
||||||
|
ui->CameraModeButton->setToolTip(QString("Orbit Camera"));
|
||||||
|
|
||||||
|
CVector3f Pos = pCam->Position();
|
||||||
|
CVector3f Target = mpCurrentModelNode->AABox().Center();
|
||||||
|
pCam->SetOrbitDistance(Pos.Distance(Target));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::ToggleGrid(bool Enabled)
|
||||||
|
{
|
||||||
|
ui->Viewport->SetGridEnabled(Enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModelEditorWindow::closeEvent(QCloseEvent*)
|
||||||
|
{
|
||||||
|
emit Closed();
|
||||||
}
|
}
|
||||||
|
@ -98,28 +98,18 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_actionConvert_to_DDS_triggered();
|
void Open();
|
||||||
|
void Import();
|
||||||
void on_actionOpen_triggered();
|
void Save();
|
||||||
void on_actionSave_triggered();
|
void SaveAs();
|
||||||
|
void ConvertToDDS();
|
||||||
void on_MeshPreviewButton_clicked();
|
void ConvertToTXTR();
|
||||||
|
void SetMeshPreview();
|
||||||
void on_SpherePreviewButton_clicked();
|
void SetSpherePreview();
|
||||||
|
void SetFlatPreview();
|
||||||
void on_FlatPreviewButton_clicked();
|
void ClearColorChanged(const QColor& rkNewColor);
|
||||||
|
void ToggleCameraMode();
|
||||||
void on_ClearColorPicker_colorChanged(const QColor &);
|
void ToggleGrid(bool Enabled);
|
||||||
|
|
||||||
void on_actionImport_triggered();
|
|
||||||
|
|
||||||
void on_actionSave_as_triggered();
|
|
||||||
|
|
||||||
void on_CameraModeButton_clicked();
|
|
||||||
|
|
||||||
void on_actionConvert_DDS_to_TXTR_triggered();
|
|
||||||
|
|
||||||
void on_ToggleGridButton_toggled(bool checked);
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void Closed();
|
void Closed();
|
||||||
|
@ -2396,8 +2396,8 @@
|
|||||||
<attribute name="toolBarBreak">
|
<attribute name="toolBarBreak">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</attribute>
|
</attribute>
|
||||||
<addaction name="actionOpen"/>
|
<addaction name="ActionOpen"/>
|
||||||
<addaction name="actionSave"/>
|
<addaction name="ActionSave"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenuBar" name="menubar">
|
<widget class="QMenuBar" name="menubar">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
@ -2412,29 +2412,29 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>File</string>
|
<string>File</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionOpen"/>
|
<addaction name="ActionOpen"/>
|
||||||
<addaction name="actionSave"/>
|
<addaction name="ActionSave"/>
|
||||||
<addaction name="actionSave_as"/>
|
<addaction name="ActionSaveAs"/>
|
||||||
<addaction name="actionImport"/>
|
<addaction name="ActionImport"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="actionExit"/>
|
<addaction name="ActionExit"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuTextures">
|
<widget class="QMenu" name="menuTextures">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Textures</string>
|
<string>Textures</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionConvert_to_DDS"/>
|
<addaction name="ActionConvertToDDS"/>
|
||||||
<addaction name="actionConvert_DDS_to_TXTR"/>
|
<addaction name="ActionConvertToTXTR"/>
|
||||||
</widget>
|
</widget>
|
||||||
<addaction name="menuFile"/>
|
<addaction name="menuFile"/>
|
||||||
<addaction name="menuTextures"/>
|
<addaction name="menuTextures"/>
|
||||||
</widget>
|
</widget>
|
||||||
<action name="actionOpen">
|
<action name="ActionOpen">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Open</string>
|
<string>Open</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionExit">
|
<action name="ActionExit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Exit</string>
|
<string>Exit</string>
|
||||||
</property>
|
</property>
|
||||||
@ -2442,32 +2442,32 @@
|
|||||||
<string>Esc</string>
|
<string>Esc</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionSave">
|
<action name="ActionSave">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Save</string>
|
<string>Save</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionConvert_to_DDS">
|
<action name="ActionConvertToDDS">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Export to DDS</string>
|
<string>Export to DDS</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionExport_curent_model_s_textures">
|
<action name="ActionExportCurrentModelTextures">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Export curent model's textures</string>
|
<string>Export curent model's textures</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionImport">
|
<action name="ActionImport">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Import</string>
|
<string>Import</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionSave_as">
|
<action name="ActionSaveAs">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Save as...</string>
|
<string>Save as...</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionConvert_DDS_to_TXTR">
|
<action name="ActionConvertToTXTR">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Convert DDS to TXTR</string>
|
<string>Convert DDS to TXTR</string>
|
||||||
</property>
|
</property>
|
||||||
@ -2485,7 +2485,7 @@
|
|||||||
<header>Editor/Widgets/WColorPicker.h</header>
|
<header>Editor/Widgets/WColorPicker.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
<slots>
|
<slots>
|
||||||
<signal>colorChanged(QColor)</signal>
|
<signal>ColorChanged(QColor)</signal>
|
||||||
</slots>
|
</slots>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
@ -97,7 +97,7 @@ QWidget* CPropertyDelegate::createEditor(QWidget *pParent, const QStyleOptionVie
|
|||||||
case eColorProperty:
|
case eColorProperty:
|
||||||
{
|
{
|
||||||
WColorPicker *pColorPicker = new WColorPicker(pParent);
|
WColorPicker *pColorPicker = new WColorPicker(pParent);
|
||||||
CONNECT_RELAY(pColorPicker, rkIndex, colorChanged(QColor));
|
CONNECT_RELAY(pColorPicker, rkIndex, ColorChanged(QColor));
|
||||||
pOut = pColorPicker;
|
pOut = pColorPicker;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -265,14 +265,8 @@ void CPropertyDelegate::setEditorData(QWidget *pEditor, const QModelIndex &rkInd
|
|||||||
WColorPicker *pColorPicker = static_cast<WColorPicker*>(pEditor);
|
WColorPicker *pColorPicker = static_cast<WColorPicker*>(pEditor);
|
||||||
TColorProperty *pColor = static_cast<TColorProperty*>(pProp);
|
TColorProperty *pColor = static_cast<TColorProperty*>(pProp);
|
||||||
|
|
||||||
CColor SrcColor = pColor->Get();
|
CColor Color = pColor->Get();
|
||||||
QColor Color;
|
pColorPicker->SetColor(TO_QCOLOR(Color));
|
||||||
Color.setRed(SrcColor.R * 255);
|
|
||||||
Color.setGreen(SrcColor.G * 255);
|
|
||||||
Color.setBlue(SrcColor.B * 255);
|
|
||||||
Color.setAlpha(SrcColor.A * 255);
|
|
||||||
|
|
||||||
pColorPicker->SetColor(Color);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,13 +424,8 @@ void CPropertyDelegate::setModelData(QWidget *pEditor, QAbstractItemModel* /*pMo
|
|||||||
WColorPicker *pColorPicker = static_cast<WColorPicker*>(pEditor);
|
WColorPicker *pColorPicker = static_cast<WColorPicker*>(pEditor);
|
||||||
TColorProperty *pColor = static_cast<TColorProperty*>(pProp);
|
TColorProperty *pColor = static_cast<TColorProperty*>(pProp);
|
||||||
|
|
||||||
QColor SrcColor = pColorPicker->Color();
|
QColor Color = pColorPicker->Color();
|
||||||
CColor Color;
|
pColor->Set(TO_CCOLOR(Color));
|
||||||
Color.R = SrcColor.red() / 255.f;
|
|
||||||
Color.G = SrcColor.green() / 255.f;
|
|
||||||
Color.B = SrcColor.blue() / 255.f;
|
|
||||||
Color.A = SrcColor.alpha() / 255.f;
|
|
||||||
pColor->Set(Color);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,9 +5,11 @@
|
|||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#define TO_QSTRING(str) UICommon::ToQString(str)
|
#define TO_QSTRING(Str) UICommon::ToQString(Str)
|
||||||
#define TO_TSTRING(str) UICommon::ToTString(str)
|
#define TO_TSTRING(Str) UICommon::ToTString(Str)
|
||||||
#define TO_TWIDESTRING(str) UICommon::ToTWideString(str)
|
#define TO_TWIDESTRING(Str) UICommon::ToTWideString(Str)
|
||||||
|
#define TO_CCOLOR(Clr) CColor::Integral(Clr.red(), Clr.green(), Clr.blue(), Clr.alpha())
|
||||||
|
#define TO_QCOLOR(Clr) QColor(Clr.R * 255, Clr.G * 255, Clr.B * 255, Clr.A * 255)
|
||||||
|
|
||||||
namespace UICommon
|
namespace UICommon
|
||||||
{
|
{
|
||||||
|
@ -106,17 +106,39 @@ CWorldEditor::CWorldEditor(QWidget *parent)
|
|||||||
connect(ui->TransformSpinBox, SIGNAL(ValueChanged(CVector3f)), this, SLOT(OnTransformSpinBoxModified(CVector3f)));
|
connect(ui->TransformSpinBox, SIGNAL(ValueChanged(CVector3f)), this, SLOT(OnTransformSpinBoxModified(CVector3f)));
|
||||||
connect(ui->TransformSpinBox, SIGNAL(EditingDone(CVector3f)), this, SLOT(OnTransformSpinBoxEdited(CVector3f)));
|
connect(ui->TransformSpinBox, SIGNAL(EditingDone(CVector3f)), this, SLOT(OnTransformSpinBoxEdited(CVector3f)));
|
||||||
connect(ui->CamSpeedSpinBox, SIGNAL(valueChanged(double)), this, SLOT(OnCameraSpeedChange(double)));
|
connect(ui->CamSpeedSpinBox, SIGNAL(valueChanged(double)), this, SLOT(OnCameraSpeedChange(double)));
|
||||||
connect(ui->ActionLink, SIGNAL(toggled(bool)), this, SLOT(OnLinkButtonToggled(bool)));
|
|
||||||
connect(ui->ActionUnlink, SIGNAL(triggered()), this, SLOT(OnUnlinkClicked()));
|
|
||||||
connect(ui->ActionDelete, SIGNAL(triggered()), this, SLOT(DeleteSelection()));
|
|
||||||
connect(ui->ActionCut, SIGNAL(triggered()), this, SLOT(Cut()));
|
|
||||||
connect(ui->ActionCopy, SIGNAL(triggered()), this, SLOT(Copy()));
|
|
||||||
connect(ui->ActionPaste, SIGNAL(triggered()), this, SLOT(Paste()));
|
|
||||||
connect(qApp->clipboard(), SIGNAL(dataChanged()), this, SLOT(OnClipboardDataModified()));
|
connect(qApp->clipboard(), SIGNAL(dataChanged()), this, SLOT(OnClipboardDataModified()));
|
||||||
connect(&mUndoStack, SIGNAL(indexChanged(int)), this, SLOT(OnUndoStackIndexChanged()));
|
connect(&mUndoStack, SIGNAL(indexChanged(int)), this, SLOT(OnUndoStackIndexChanged()));
|
||||||
|
|
||||||
connect(ui->ActionSave, SIGNAL(triggered()), this, SLOT(Save()));
|
connect(ui->ActionSave, SIGNAL(triggered()), this, SLOT(Save()));
|
||||||
connect(ui->ActionSaveAndRepack, SIGNAL(triggered()), this, SLOT(SaveAndRepack()));
|
connect(ui->ActionSaveAndRepack, SIGNAL(triggered()), this, SLOT(SaveAndRepack()));
|
||||||
|
connect(ui->ActionCut, SIGNAL(triggered()), this, SLOT(Cut()));
|
||||||
|
connect(ui->ActionCopy, SIGNAL(triggered()), this, SLOT(Copy()));
|
||||||
|
connect(ui->ActionPaste, SIGNAL(triggered()), this, SLOT(Paste()));
|
||||||
|
connect(ui->ActionDelete, SIGNAL(triggered()), this, SLOT(DeleteSelection()));
|
||||||
|
connect(ui->ActionSelectAll, SIGNAL(triggered()), this, SLOT(SelectAllTriggered()));
|
||||||
|
connect(ui->ActionInvertSelection, SIGNAL(triggered()), this, SLOT(InvertSelectionTriggered()));
|
||||||
|
connect(ui->ActionLink, SIGNAL(toggled(bool)), this, SLOT(OnLinkButtonToggled(bool)));
|
||||||
|
connect(ui->ActionUnlink, SIGNAL(triggered()), this, SLOT(OnUnlinkClicked()));
|
||||||
|
|
||||||
|
connect(ui->ActionDrawWorld, SIGNAL(triggered()), this, SLOT(ToggleDrawWorld()));
|
||||||
|
connect(ui->ActionDrawObjects, SIGNAL(triggered()), this, SLOT(ToggleDrawObjects()));
|
||||||
|
connect(ui->ActionDrawCollision, SIGNAL(triggered()), this, SLOT(ToggleDrawCollision()));
|
||||||
|
connect(ui->ActionDrawObjectCollision, SIGNAL(triggered()), this, SLOT(ToggleDrawObjectCollision()));
|
||||||
|
connect(ui->ActionDrawLights, SIGNAL(triggered()), this, SLOT(ToggleDrawLights()));
|
||||||
|
connect(ui->ActionGameMode, SIGNAL(triggered()), this, SLOT(ToggleGameMode()));
|
||||||
|
connect(ui->ActionDisableBackfaceCull, SIGNAL(triggered()), this, SLOT(ToggleBackfaceCull()));
|
||||||
|
connect(ui->ActionDisableAlpha, SIGNAL(triggered()), this, SLOT(ToggleDisableAlpha()));
|
||||||
|
connect(ui->ActionNoLighting, SIGNAL(triggered()), this, SLOT(SetNoLighting()));
|
||||||
|
connect(ui->ActionBasicLighting, SIGNAL(triggered()), this, SLOT(SetBasicLighting()));
|
||||||
|
connect(ui->ActionWorldLighting, SIGNAL(triggered()), this, SLOT(SetWorldLighting()));
|
||||||
|
connect(ui->ActionNoBloom, SIGNAL(triggered()), this, SLOT(SetNoBloom()));
|
||||||
|
connect(ui->ActionBloomMaps, SIGNAL(triggered()), this, SLOT(SetBloomMaps()));
|
||||||
|
connect(ui->ActionFakeBloom, SIGNAL(triggered()), this, SLOT(SetFakeBloom()));
|
||||||
|
connect(ui->ActionBloom, SIGNAL(triggered()), this, SLOT(SetBloom()));
|
||||||
|
connect(ui->ActionIncrementGizmo, SIGNAL(triggered()), this, SLOT(IncrementGizmo()));
|
||||||
|
connect(ui->ActionDecrementGizmo, SIGNAL(triggered()), this, SLOT(DecrementGizmo()));
|
||||||
|
connect(ui->ActionEditLayers, SIGNAL(triggered()), this, SLOT(EditLayers()));
|
||||||
|
connect(ui->ActionEditPoiToWorldMap, SIGNAL(triggered()), this, SLOT(EditPoiToWorldMap()));
|
||||||
|
|
||||||
ui->CreateTabEditorProperties->SyncToEditor(this);
|
ui->CreateTabEditorProperties->SyncToEditor(this);
|
||||||
ui->ModifyTabEditorProperties->SyncToEditor(this);
|
ui->ModifyTabEditorProperties->SyncToEditor(this);
|
||||||
@ -189,7 +211,7 @@ void CWorldEditor::SetArea(CWorld *pWorld, CGameArea *pArea)
|
|||||||
|
|
||||||
// Default bloom to Fake Bloom for Metroid Prime 3; disable for other games
|
// Default bloom to Fake Bloom for Metroid Prime 3; disable for other games
|
||||||
bool AllowBloom = (mpWorld->Version() == eCorruptionProto || mpWorld->Version() == eCorruption);
|
bool AllowBloom = (mpWorld->Version() == eCorruptionProto || mpWorld->Version() == eCorruption);
|
||||||
AllowBloom ? on_ActionFakeBloom_triggered() : on_ActionNoBloom_triggered();
|
AllowBloom ? SetFakeBloom() : SetNoBloom();
|
||||||
ui->menuBloom->setEnabled(AllowBloom);
|
ui->menuBloom->setEnabled(AllowBloom);
|
||||||
|
|
||||||
// Disable EGMC editing for Prime 1 and DKCR
|
// Disable EGMC editing for Prime 1 and DKCR
|
||||||
@ -951,33 +973,66 @@ void CWorldEditor::OnClosePoiEditDialog()
|
|||||||
ui->MainViewport->SetRenderMergedWorld(true);
|
ui->MainViewport->SetRenderMergedWorld(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// These functions are from "Go to slot" in the designer
|
void CWorldEditor::SelectAllTriggered()
|
||||||
void CWorldEditor::on_ActionDrawWorld_triggered()
|
{
|
||||||
|
FNodeFlags NodeFlags = CScene::NodeFlagsForShowFlags(ui->MainViewport->ShowFlags());
|
||||||
|
NodeFlags &= ~(eModelNode | eStaticNode | eCollisionNode);
|
||||||
|
SelectAll(NodeFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::InvertSelectionTriggered()
|
||||||
|
{
|
||||||
|
FNodeFlags NodeFlags = CScene::NodeFlagsForShowFlags(ui->MainViewport->ShowFlags());
|
||||||
|
NodeFlags &= ~(eModelNode | eStaticNode | eCollisionNode);
|
||||||
|
InvertSelection(NodeFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::ToggleDrawWorld()
|
||||||
{
|
{
|
||||||
ui->MainViewport->SetShowWorld(ui->ActionDrawWorld->isChecked());
|
ui->MainViewport->SetShowWorld(ui->ActionDrawWorld->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDrawCollision_triggered()
|
void CWorldEditor::ToggleDrawObjects()
|
||||||
{
|
|
||||||
ui->MainViewport->SetShowFlag(eShowWorldCollision, ui->ActionDrawCollision->isChecked());
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDrawObjects_triggered()
|
|
||||||
{
|
{
|
||||||
ui->MainViewport->SetShowFlag(eShowObjectGeometry, ui->ActionDrawObjects->isChecked());
|
ui->MainViewport->SetShowFlag(eShowObjectGeometry, ui->ActionDrawObjects->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDrawLights_triggered()
|
void CWorldEditor::ToggleDrawCollision()
|
||||||
|
{
|
||||||
|
ui->MainViewport->SetShowFlag(eShowWorldCollision, ui->ActionDrawCollision->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::ToggleDrawObjectCollision()
|
||||||
|
{
|
||||||
|
ui->MainViewport->SetShowFlag(eShowObjectCollision, ui->ActionDrawObjectCollision->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::ToggleDrawLights()
|
||||||
{
|
{
|
||||||
ui->MainViewport->SetShowFlag(eShowLights, ui->ActionDrawLights->isChecked());
|
ui->MainViewport->SetShowFlag(eShowLights, ui->ActionDrawLights->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDrawSky_triggered()
|
void CWorldEditor::ToggleDrawSky()
|
||||||
{
|
{
|
||||||
ui->MainViewport->SetShowFlag(eShowSky, ui->ActionDrawSky->isChecked());
|
ui->MainViewport->SetShowFlag(eShowSky, ui->ActionDrawSky->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionNoLighting_triggered()
|
void CWorldEditor::ToggleGameMode()
|
||||||
|
{
|
||||||
|
ui->MainViewport->SetGameMode(ui->ActionGameMode->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::ToggleBackfaceCull()
|
||||||
|
{
|
||||||
|
ui->MainViewport->Renderer()->ToggleBackfaceCull(!ui->ActionDisableBackfaceCull->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::ToggleDisableAlpha()
|
||||||
|
{
|
||||||
|
ui->MainViewport->Renderer()->ToggleAlphaDisabled(ui->ActionDisableAlpha->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CWorldEditor::SetNoLighting()
|
||||||
{
|
{
|
||||||
CGraphics::sLightMode = CGraphics::eNoLighting;
|
CGraphics::sLightMode = CGraphics::eNoLighting;
|
||||||
ui->ActionNoLighting->setChecked(true);
|
ui->ActionNoLighting->setChecked(true);
|
||||||
@ -985,7 +1040,7 @@ void CWorldEditor::on_ActionNoLighting_triggered()
|
|||||||
ui->ActionWorldLighting->setChecked(false);
|
ui->ActionWorldLighting->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionBasicLighting_triggered()
|
void CWorldEditor::SetBasicLighting()
|
||||||
{
|
{
|
||||||
CGraphics::sLightMode = CGraphics::eBasicLighting;
|
CGraphics::sLightMode = CGraphics::eBasicLighting;
|
||||||
ui->ActionNoLighting->setChecked(false);
|
ui->ActionNoLighting->setChecked(false);
|
||||||
@ -993,7 +1048,7 @@ void CWorldEditor::on_ActionBasicLighting_triggered()
|
|||||||
ui->ActionWorldLighting->setChecked(false);
|
ui->ActionWorldLighting->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionWorldLighting_triggered()
|
void CWorldEditor::SetWorldLighting()
|
||||||
{
|
{
|
||||||
CGraphics::sLightMode = CGraphics::eWorldLighting;
|
CGraphics::sLightMode = CGraphics::eWorldLighting;
|
||||||
ui->ActionNoLighting->setChecked(false);
|
ui->ActionNoLighting->setChecked(false);
|
||||||
@ -1001,7 +1056,7 @@ void CWorldEditor::on_ActionWorldLighting_triggered()
|
|||||||
ui->ActionWorldLighting->setChecked(true);
|
ui->ActionWorldLighting->setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionNoBloom_triggered()
|
void CWorldEditor::SetNoBloom()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->SetBloom(CRenderer::eNoBloom);
|
ui->MainViewport->Renderer()->SetBloom(CRenderer::eNoBloom);
|
||||||
ui->ActionNoBloom->setChecked(true);
|
ui->ActionNoBloom->setChecked(true);
|
||||||
@ -1010,7 +1065,7 @@ void CWorldEditor::on_ActionNoBloom_triggered()
|
|||||||
ui->ActionBloom->setChecked(false);
|
ui->ActionBloom->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionBloomMaps_triggered()
|
void CWorldEditor::SetBloomMaps()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->SetBloom(CRenderer::eBloomMaps);
|
ui->MainViewport->Renderer()->SetBloom(CRenderer::eBloomMaps);
|
||||||
ui->ActionNoBloom->setChecked(false);
|
ui->ActionNoBloom->setChecked(false);
|
||||||
@ -1019,7 +1074,7 @@ void CWorldEditor::on_ActionBloomMaps_triggered()
|
|||||||
ui->ActionBloom->setChecked(false);
|
ui->ActionBloom->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionFakeBloom_triggered()
|
void CWorldEditor::SetFakeBloom()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->SetBloom(CRenderer::eFakeBloom);
|
ui->MainViewport->Renderer()->SetBloom(CRenderer::eFakeBloom);
|
||||||
ui->ActionNoBloom->setChecked(false);
|
ui->ActionNoBloom->setChecked(false);
|
||||||
@ -1028,7 +1083,7 @@ void CWorldEditor::on_ActionFakeBloom_triggered()
|
|||||||
ui->ActionBloom->setChecked(false);
|
ui->ActionBloom->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionBloom_triggered()
|
void CWorldEditor::SetBloom()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->SetBloom(CRenderer::eBloom);
|
ui->MainViewport->Renderer()->SetBloom(CRenderer::eBloom);
|
||||||
ui->ActionNoBloom->setChecked(false);
|
ui->ActionNoBloom->setChecked(false);
|
||||||
@ -1037,17 +1092,17 @@ void CWorldEditor::on_ActionBloom_triggered()
|
|||||||
ui->ActionBloom->setChecked(true);
|
ui->ActionBloom->setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDisableBackfaceCull_triggered()
|
void CWorldEditor::IncrementGizmo()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->ToggleBackfaceCull(!ui->ActionDisableBackfaceCull->isChecked());
|
mGizmo.IncrementSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDisableAlpha_triggered()
|
void CWorldEditor::DecrementGizmo()
|
||||||
{
|
{
|
||||||
ui->MainViewport->Renderer()->ToggleAlphaDisabled(ui->ActionDisableAlpha->isChecked());
|
mGizmo.DecrementSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionEditLayers_triggered()
|
void CWorldEditor::EditLayers()
|
||||||
{
|
{
|
||||||
// Launch layer editor
|
// Launch layer editor
|
||||||
CLayerEditor Editor(this);
|
CLayerEditor Editor(this);
|
||||||
@ -1055,41 +1110,7 @@ void CWorldEditor::on_ActionEditLayers_triggered()
|
|||||||
Editor.exec();
|
Editor.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWorldEditor::on_ActionIncrementGizmo_triggered()
|
void CWorldEditor::EditPoiToWorldMap()
|
||||||
{
|
|
||||||
mGizmo.IncrementSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDecrementGizmo_triggered()
|
|
||||||
{
|
|
||||||
mGizmo.DecrementSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionDrawObjectCollision_triggered()
|
|
||||||
{
|
|
||||||
ui->MainViewport->SetShowFlag(eShowObjectCollision, ui->ActionDrawObjectCollision->isChecked());
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionGameMode_triggered()
|
|
||||||
{
|
|
||||||
ui->MainViewport->SetGameMode(ui->ActionGameMode->isChecked());
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionSelectAll_triggered()
|
|
||||||
{
|
|
||||||
FNodeFlags NodeFlags = CScene::NodeFlagsForShowFlags(ui->MainViewport->ShowFlags());
|
|
||||||
NodeFlags &= ~(eModelNode | eStaticNode | eCollisionNode);
|
|
||||||
SelectAll(NodeFlags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionInvertSelection_triggered()
|
|
||||||
{
|
|
||||||
FNodeFlags NodeFlags = CScene::NodeFlagsForShowFlags(ui->MainViewport->ShowFlags());
|
|
||||||
NodeFlags &= ~(eModelNode | eStaticNode | eCollisionNode);
|
|
||||||
InvertSelection(NodeFlags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CWorldEditor::on_ActionEditPoiToWorldMap_triggered()
|
|
||||||
{
|
{
|
||||||
if (!mpPoiDialog)
|
if (!mpPoiDialog)
|
||||||
{
|
{
|
||||||
|
@ -111,28 +111,29 @@ private slots:
|
|||||||
void OnTransformSpinBoxModified(CVector3f Value);
|
void OnTransformSpinBoxModified(CVector3f Value);
|
||||||
void OnTransformSpinBoxEdited(CVector3f Value);
|
void OnTransformSpinBoxEdited(CVector3f Value);
|
||||||
void OnClosePoiEditDialog();
|
void OnClosePoiEditDialog();
|
||||||
void on_ActionDrawWorld_triggered();
|
|
||||||
void on_ActionDrawCollision_triggered();
|
void SelectAllTriggered();
|
||||||
void on_ActionDrawObjects_triggered();
|
void InvertSelectionTriggered();
|
||||||
void on_ActionDrawLights_triggered();
|
void ToggleDrawWorld();
|
||||||
void on_ActionDrawSky_triggered();
|
void ToggleDrawObjects();
|
||||||
void on_ActionNoLighting_triggered();
|
void ToggleDrawCollision();
|
||||||
void on_ActionBasicLighting_triggered();
|
void ToggleDrawObjectCollision();
|
||||||
void on_ActionWorldLighting_triggered();
|
void ToggleDrawLights();
|
||||||
void on_ActionNoBloom_triggered();
|
void ToggleDrawSky();
|
||||||
void on_ActionBloomMaps_triggered();
|
void ToggleGameMode();
|
||||||
void on_ActionFakeBloom_triggered();
|
void ToggleBackfaceCull();
|
||||||
void on_ActionBloom_triggered();
|
void ToggleDisableAlpha();
|
||||||
void on_ActionDisableBackfaceCull_triggered();
|
void SetNoLighting();
|
||||||
void on_ActionDisableAlpha_triggered();
|
void SetBasicLighting();
|
||||||
void on_ActionEditLayers_triggered();
|
void SetWorldLighting();
|
||||||
void on_ActionIncrementGizmo_triggered();
|
void SetNoBloom();
|
||||||
void on_ActionDecrementGizmo_triggered();
|
void SetBloomMaps();
|
||||||
void on_ActionDrawObjectCollision_triggered();
|
void SetFakeBloom();
|
||||||
void on_ActionGameMode_triggered();
|
void SetBloom();
|
||||||
void on_ActionSelectAll_triggered();
|
void IncrementGizmo();
|
||||||
void on_ActionInvertSelection_triggered();
|
void DecrementGizmo();
|
||||||
void on_ActionEditPoiToWorldMap_triggered();
|
void EditLayers();
|
||||||
|
void EditPoiToWorldMap();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void Closed();
|
void Closed();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user