diff --git a/code/Mesh/Editor/MeshAsset.h b/code/Mesh/Editor/MeshAsset.h index 6b7e468835..58c98b66ff 100644 --- a/code/Mesh/Editor/MeshAsset.h +++ b/code/Mesh/Editor/MeshAsset.h @@ -95,6 +95,9 @@ class T_DLLCLASS MeshAsset : public editor::Asset /*! */ bool getGrounded() const { return m_grounded; } + /*! */ + void setDecalResponse(bool decalResponse) { m_decalResponse = decalResponse; } + /*! */ bool getDecalResponse() const { return m_decalResponse; } diff --git a/code/Mesh/Editor/MeshAssetEditor.cpp b/code/Mesh/Editor/MeshAssetEditor.cpp index 418ffeed1d..81494c0f0e 100644 --- a/code/Mesh/Editor/MeshAssetEditor.cpp +++ b/code/Mesh/Editor/MeshAssetEditor.cpp @@ -1,6 +1,6 @@ /* * TRAKTOR - * Copyright (c) 2022-2023 Anders Pistol. + * Copyright (c) 2022-2024 Anders Pistol. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -169,6 +169,10 @@ bool MeshAssetEditor::create(ui::Widget* parent, db::Instance* instance, ISerial if (!m_checkGrounded->create(containerLeft, i18n::Text(L"MESHASSET_EDITOR_GROUNDED"))) return false; + m_checkDecalResponse = new ui::CheckBox(); + if (!m_checkDecalResponse->create(containerLeft, i18n::Text(L"MESHASSET_EDITOR_DECAL_RESPONSE"))) + return false; + Ref< ui::Container > containerRight = new ui::Container(); containerRight->create(containerOptions, ui::WsNone, new ui::TableLayout(L"*,*", L"*", 0_ut, 4_ut)); @@ -251,9 +255,7 @@ void MeshAssetEditor::apply() m_asset->setRenormalize(m_checkRenormalize->isChecked()); m_asset->setCenter(m_checkCenter->isChecked()); m_asset->setGrounded(m_checkGrounded->isChecked()); - //m_asset->setLodSteps(m_sliderLodSteps->getValue()); - //m_asset->setLodMaxDistance(parseString< float >(m_editLodMaxDistance->getText())); - //m_asset->setLodCullDistance(parseString< float >(m_editLodCullDistance->getText())); + m_asset->setDecalResponse(m_checkDecalResponse->isChecked()); m_asset->setScaleFactor(parseString< float >(m_editScaleFactor->getText())); m_asset->setPreviewAngle(m_sliderPreviewAngle->getValue() * TWO_PI / 100.0f); @@ -325,6 +327,7 @@ void MeshAssetEditor::updateFile() m_checkRenormalize->setChecked(m_asset->getRenormalize()); m_checkCenter->setChecked(m_asset->getCenter()); m_checkGrounded->setChecked(m_asset->getGrounded()); + m_checkDecalResponse->setChecked(m_asset->getDecalResponse()); m_editScaleFactor->setText(toString(m_asset->getScaleFactor())); m_sliderPreviewAngle->setValue((int32_t)(m_asset->getPreviewAngle() * 100.0f / TWO_PI)); } diff --git a/code/Mesh/Editor/MeshAssetEditor.h b/code/Mesh/Editor/MeshAssetEditor.h index 693df15215..afc774f528 100644 --- a/code/Mesh/Editor/MeshAssetEditor.h +++ b/code/Mesh/Editor/MeshAssetEditor.h @@ -1,6 +1,6 @@ /* * TRAKTOR - * Copyright (c) 2022-2023 Anders Pistol. + * Copyright (c) 2022-2024 Anders Pistol. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -86,10 +86,7 @@ class T_DLLCLASS MeshAssetEditor : public editor::IObjectEditor Ref< ui::CheckBox > m_checkRenormalize; Ref< ui::CheckBox > m_checkCenter; Ref< ui::CheckBox > m_checkGrounded; - //Ref< ui::Static > m_staticLodSteps; - //Ref< ui::Slider > m_sliderLodSteps; - //Ref< ui::Edit > m_editLodMaxDistance; - //Ref< ui::Edit > m_editLodCullDistance; + Ref< ui::CheckBox > m_checkDecalResponse; Ref< ui::Edit > m_editScaleFactor; Ref< ui::Slider > m_sliderPreviewAngle; Ref< ui::Image > m_imagePreview; diff --git a/resources/runtime/editor/locale/english/Traktor.Mesh.Editor.dictionary b/resources/runtime/editor/locale/english/Traktor.Mesh.Editor.dictionary index ea6cc02a5e..f74d8994cb 100644 --- a/resources/runtime/editor/locale/english/Traktor.Mesh.Editor.dictionary +++ b/resources/runtime/editor/locale/english/Traktor.Mesh.Editor.dictionary @@ -213,6 +213,10 @@ MESHASSET_EDITOR_GROUNDED Grounded + + MESHASSET_EDITOR_DECAL_RESPONSE + Decal Response + MESHASSET_EDITOR_EXTRACT_TEXTURE Extract texture...