From 2c50486cb72d1eef9bae95c9353ac5681d914397 Mon Sep 17 00:00:00 2001 From: T1ti <40864460+T1ti@users.noreply.github.com> Date: Tue, 16 Jul 2024 03:52:27 +0200 Subject: [PATCH] ground effect exclusion now renders in excplusion paint mode only --- src/noggit/ui/GroundEffectsTool.cpp | 30 +++++++++++++++++++++++------ src/noggit/ui/GroundEffectsTool.hpp | 9 +++++---- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/noggit/ui/GroundEffectsTool.cpp b/src/noggit/ui/GroundEffectsTool.cpp index 2fdc8cc6..18309827 100644 --- a/src/noggit/ui/GroundEffectsTool.cpp +++ b/src/noggit/ui/GroundEffectsTool.cpp @@ -52,10 +52,10 @@ namespace Noggit _render_type_group->addButton(_render_active_sets); render_layout->addWidget(_render_active_sets, 0, 0); - _render_exclusion_map = new QRadioButton("Doodads Disabled", this); - _render_exclusion_map->setToolTip("Render chunk units where effect doodads are disabled as white, rest as black"); - _render_type_group->addButton(_render_exclusion_map); - render_layout->addWidget(_render_exclusion_map, 0, 1); + // _render_exclusion_map = new QRadioButton("Doodads Disabled", this); + // _render_exclusion_map->setToolTip("Render chunk units where effect doodads are disabled as white, rest as black"); + // _render_type_group->addButton(_render_exclusion_map); + // render_layout->addWidget(_render_exclusion_map, 0, 1); // If chunk contains Texture/Effect : Render as green or red if the effect layer is active or not. _render_placement_map = new QRadioButton("Selected Texture state", this); @@ -63,7 +63,7 @@ namespace Noggit active layer, render as green if it's active. \nThis defines which of the 4 textures' set is currently active,\ this is determined by which has the highest opacity."); _render_type_group->addButton(_render_placement_map); - render_layout->addWidget(_render_placement_map, 1, 0); + render_layout->addWidget(_render_placement_map, 0, 1); _render_active_sets->setChecked(true); } @@ -279,12 +279,30 @@ namespace Noggit updateTerrainUniformParams(); }); - connect(_render_exclusion_map, &QRadioButton::clicked, + // connect(_render_exclusion_map, &QRadioButton::clicked, + // [this](bool checked) + // { + // updateTerrainUniformParams(); + // }); + + connect(_brush_grup_box, &QGroupBox::clicked, [this](bool checked) { updateTerrainUniformParams(); }); + connect(_paint_effect, &QRadioButton::clicked, + [this](bool checked) + { + updateTerrainUniformParams(); + }); + + connect(_paint_exclusion, &QRadioButton::clicked, + [this](bool checked) + { + updateTerrainUniformParams(); + }); + // Get list of ground effect id this texture uses in this ADT. connect(button_scan_adt, &QPushButton::clicked , [=]() diff --git a/src/noggit/ui/GroundEffectsTool.hpp b/src/noggit/ui/GroundEffectsTool.hpp index 8ccb6970..b9e58c4e 100644 --- a/src/noggit/ui/GroundEffectsTool.hpp +++ b/src/noggit/ui/GroundEffectsTool.hpp @@ -120,17 +120,18 @@ namespace Noggit inline bool render_active_sets_overlay() const { - return isVisible() && _render_active_sets->isChecked() && render_mode(); + return isVisible() && !render_exclusion_map_overlay() && _render_active_sets->isChecked() && render_mode(); }; inline bool render_placement_map_overlay() const { - return isVisible() && _render_placement_map->isChecked() && render_mode(); + return isVisible() && !render_exclusion_map_overlay() && _render_placement_map->isChecked() && render_mode(); }; inline bool render_exclusion_map_overlay() const { - return isVisible() && _render_exclusion_map->isChecked() && render_mode(); + // return isVisible() && _render_exclusion_map->isChecked() && render_mode(); + return isVisible() && brush_mode() == ground_effect_brush_mode::exclusion; }; void change_radius(float change) @@ -164,7 +165,7 @@ namespace Noggit // - Render as black is set is not present. QRadioButton* _render_placement_map; // Render chunk units where effect doodads are disabled as white, rest as black. - QRadioButton* _render_exclusion_map; + // QRadioButton* _render_exclusion_map; QCheckBox* _chkbox_merge_duplicates; QListWidget* _effect_sets_list; // For render previews.