various fixes + chunk dragger
This commit is contained in:
@@ -752,7 +752,6 @@ void Noggit::Action::registerAllChunkChanges(MapChunk* chunk)
|
||||
registerChunkLiquidChange(chunk);
|
||||
registerVertexSelectionChange();
|
||||
registerChunkShadowChange(chunk);
|
||||
registerAllChunkChanges(chunk);
|
||||
}
|
||||
|
||||
Noggit::Action::~Action()
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <noggit/ui/tools/UiCommon/ImageBrowser.hpp>
|
||||
#include <noggit/ui/tools/BrushStack/BrushStack.hpp>
|
||||
#include <noggit/ui/tools/LightEditor/LightEditor.hpp>
|
||||
#include <noggit/ui/tools/ChunkManipulator/ChunkManipulator.hpp>
|
||||
#include <external/imguipiemenu/PieMenu.hpp>
|
||||
#include <external/tracy/Tracy.hpp>
|
||||
#include <noggit/ui/object_palette.hpp>
|
||||
@@ -204,7 +205,7 @@ ACTION_CODE
|
||||
static const float XSENS = 15.0f;
|
||||
static const float YSENS = 15.0f;
|
||||
|
||||
void MapView::set_editing_mode (editing_mode mode)
|
||||
void MapView::set_editing_mode(editing_mode mode)
|
||||
{
|
||||
|
||||
{
|
||||
@@ -835,6 +836,12 @@ void MapView::setupLightEditorUi()
|
||||
_tool_panel_dock->registerTool("Light Editor", lightEditor);
|
||||
}
|
||||
|
||||
void MapView::setupChunkManipulatorUi()
|
||||
{
|
||||
_chunk_manipulator = new Noggit::Ui::Tools::ChunkManipulator(this, this);
|
||||
_tool_panel_dock->registerTool("Chunk Manipulator", _chunk_manipulator);
|
||||
}
|
||||
|
||||
void MapView::setupNodeEditor()
|
||||
{
|
||||
auto _node_editor = new Noggit::Ui::Tools::NodeEditor::Ui::NodeEditorWidget(this);
|
||||
@@ -2470,6 +2477,9 @@ void MapView::createGUI()
|
||||
connect(this, &QObject::destroyed, _tool_panel_dock, &QObject::deleteLater);
|
||||
_main_window->addDockWidget(Qt::RightDockWidgetArea, _tool_panel_dock);
|
||||
|
||||
// These calls need to be correctly ordered in order to work with the toolbar.
|
||||
// TODO: fix
|
||||
|
||||
setupRaiseLowerUi();
|
||||
setupFlattenBlurUi();
|
||||
setupTexturePainterUi();
|
||||
@@ -2482,6 +2492,7 @@ void MapView::createGUI()
|
||||
setupMinimapEditorUi();
|
||||
setupStampUi();
|
||||
setupLightEditorUi();
|
||||
setupChunkManipulatorUi();
|
||||
setupScriptingUi();
|
||||
// End combined dock
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ namespace Noggit
|
||||
{
|
||||
class BrushStack;
|
||||
class LightEditor;
|
||||
class ChunkManipulator;
|
||||
}
|
||||
|
||||
namespace Scripting
|
||||
@@ -393,6 +394,7 @@ private:
|
||||
Noggit::Ui::MinimapCreator* minimapTool;
|
||||
Noggit::Ui::Tools::BrushStack* stampTool;
|
||||
Noggit::Ui::Tools::LightEditor* lightEditor;
|
||||
Noggit::Ui::Tools::ChunkManipulator* _chunk_manipulator;
|
||||
Noggit::Scripting::scripting_tool* scriptingTool;
|
||||
|
||||
OpenGL::texture* const _texBrush;
|
||||
@@ -440,6 +442,7 @@ private:
|
||||
void setupStampUi();
|
||||
void setupLightEditorUi();
|
||||
void setupScriptingUi();
|
||||
void setupChunkManipulatorUi();
|
||||
void setupNodeEditor();
|
||||
void setupAssetBrowser();
|
||||
void setupDetailInfos();
|
||||
|
||||
@@ -133,32 +133,3 @@ namespace Noggit::Application
|
||||
LogError << "std::terminate: " << reason << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* I wonder if you would correctly guess the reason of this being here... */
|
||||
template < typename Char >
|
||||
requires (std::is_same_v<Char, wchar_t> || std::is_same_v<Char, char>)
|
||||
auto convert
|
||||
(
|
||||
Char const* src,
|
||||
std::string* dst
|
||||
)
|
||||
-> char const*
|
||||
{
|
||||
if constexpr (std::is_same_v<Char, char>)
|
||||
{
|
||||
*dst = src;
|
||||
return dst->c_str();
|
||||
}
|
||||
|
||||
std::string mbc(MB_CUR_MAX, '\0');
|
||||
dst->clear();
|
||||
|
||||
while (*src)
|
||||
{
|
||||
std::wctomb(mbc.data(), *src++);
|
||||
dst->append(mbc.c_str());
|
||||
}
|
||||
|
||||
return dst->c_str();
|
||||
}
|
||||
@@ -74,7 +74,8 @@ enum class editing_mode
|
||||
minimap = 9,
|
||||
stamp = 10,
|
||||
light = 11,
|
||||
scripting = 12
|
||||
scripting = 12,
|
||||
chunk = 13
|
||||
};
|
||||
|
||||
enum water_opacity
|
||||
|
||||
@@ -14,19 +14,20 @@ namespace Noggit
|
||||
setAllowedAreas(Qt::LeftToolBarArea);
|
||||
setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
|
||||
|
||||
add_tool_icon (editing_mode::ground, tr("Raise / Lower"), FontNoggit::TOOL_RAISE_LOWER);
|
||||
add_tool_icon (editing_mode::flatten_blur, tr("Flatten / Blur"), FontNoggit::TOOL_FLATTEN_BLUR);
|
||||
add_tool_icon (editing_mode::paint, tr("Texture Painter"), FontNoggit::TOOL_TEXTURE_PAINT);
|
||||
add_tool_icon (editing_mode::holes, tr("Hole Cutter"), FontNoggit::TOOL_HOLE_CUTTER);
|
||||
add_tool_icon (editing_mode::areaid, tr("Area Designator"), FontNoggit::TOOL_AREA_DESIGNATOR);
|
||||
add_tool_icon (editing_mode::flags, tr("Impass Designator"), FontNoggit::TOOL_IMPASS_DESIGNATOR);
|
||||
add_tool_icon (editing_mode::water, tr("Water Editor"), FontNoggit::TOOL_WATER_EDITOR);
|
||||
add_tool_icon (editing_mode::mccv, tr("Vertex Painter"), FontNoggit::TOOL_VERTEX_PAINT);
|
||||
add_tool_icon (editing_mode::object, tr("Object Editor"), FontNoggit::TOOL_OBJECT_EDITOR);
|
||||
add_tool_icon (editing_mode::minimap, tr("Minimap Editor"), FontNoggit::TOOL_MINIMAP_EDITOR);
|
||||
add_tool_icon(editing_mode::ground, tr("Raise / Lower"), FontNoggit::TOOL_RAISE_LOWER);
|
||||
add_tool_icon(editing_mode::flatten_blur, tr("Flatten / Blur"), FontNoggit::TOOL_FLATTEN_BLUR);
|
||||
add_tool_icon(editing_mode::paint, tr("Texture Painter"), FontNoggit::TOOL_TEXTURE_PAINT);
|
||||
add_tool_icon(editing_mode::holes, tr("Hole Cutter"), FontNoggit::TOOL_HOLE_CUTTER);
|
||||
add_tool_icon(editing_mode::areaid, tr("Area Designator"), FontNoggit::TOOL_AREA_DESIGNATOR);
|
||||
add_tool_icon(editing_mode::flags, tr("Impass Designator"), FontNoggit::TOOL_IMPASS_DESIGNATOR);
|
||||
add_tool_icon(editing_mode::water, tr("Water Editor"), FontNoggit::TOOL_WATER_EDITOR);
|
||||
add_tool_icon(editing_mode::mccv, tr("Vertex Painter"), FontNoggit::TOOL_VERTEX_PAINT);
|
||||
add_tool_icon(editing_mode::object, tr("Object Editor"), FontNoggit::TOOL_OBJECT_EDITOR);
|
||||
add_tool_icon(editing_mode::minimap, tr("Minimap Editor"), FontNoggit::TOOL_MINIMAP_EDITOR);
|
||||
add_tool_icon(editing_mode::stamp, tr("Stamp Mode"), FontNoggit::TOOL_STAMP);
|
||||
add_tool_icon(editing_mode::light, tr("Light Editor"), FontNoggit::TOOL_STAMP);
|
||||
add_tool_icon (editing_mode::scripting, tr("Scripting"), FontNoggit::INFO);
|
||||
add_tool_icon(editing_mode::scripting, tr("Scripting"), FontNoggit::INFO);
|
||||
add_tool_icon(editing_mode::chunk, tr("Chunk Manipulator"), FontNoggit::INFO);
|
||||
}
|
||||
|
||||
void toolbar::add_tool_icon(editing_mode mode, const QString& name, const FontNoggit::Icons& icon)
|
||||
|
||||
Reference in New Issue
Block a user