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...