move modern_feature to be accessed from memory instead of qsetting
This commit is contained in:
@@ -4301,6 +4301,9 @@ void MapView::onSettingsSave()
|
||||
// force updating rendering
|
||||
_camera_moved_since_last_draw = true;
|
||||
|
||||
auto app_config = Noggit::Application::NoggitApplication::instance()->getConfiguration();
|
||||
app_config->modern_features = _settings->value("modern_features", false).toBool();
|
||||
|
||||
}
|
||||
|
||||
void MapView::ShowContextMenu(QPoint pos)
|
||||
|
||||
@@ -427,8 +427,7 @@ void blp_texture::finishLoading()
|
||||
_is_specular = true;
|
||||
}
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
// Only load _h in map view when modern features are enabled
|
||||
if(_context == Noggit::NoggitRenderContext::MAP_VIEW && modern_features)
|
||||
|
||||
@@ -10,11 +10,10 @@
|
||||
#include <noggit/WMOInstance.h>
|
||||
#include <noggit/rendering/Primitives.hpp>
|
||||
#include <opengl/scoped.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include <QtCore/QSettings>
|
||||
|
||||
WMOInstance::WMOInstance(BlizzardArchive::Listfile::FileKey const& file_key, ENTRY_MODF const* d, Noggit::NoggitRenderContext context)
|
||||
: SceneObject(SceneObjectTypes::eWMO, context)
|
||||
, wmo(file_key, context)
|
||||
@@ -27,13 +26,14 @@ WMOInstance::WMOInstance(BlizzardArchive::Listfile::FileKey const& file_key, ENT
|
||||
|
||||
uid = d->uniqueID;
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
if (modern_features) {
|
||||
if (modern_features)
|
||||
{
|
||||
scale = static_cast<float>(d->scale) / 1024.0f;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
scale = 1.0f;
|
||||
}
|
||||
|
||||
|
||||
@@ -778,8 +778,7 @@ void World::scale_selected_models(float v, object_scaling_type type)
|
||||
if (!_selected_model_count)
|
||||
return;
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
for (auto& entry : _current_selection)
|
||||
{
|
||||
@@ -823,7 +822,8 @@ void World::scale_selected_models(float v, object_scaling_type type)
|
||||
wi->recalcExtents();
|
||||
updateTilesWMO(wi, model_update::add);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
ModelInstance* mi = static_cast<ModelInstance*>(obj);
|
||||
|
||||
NOGGIT_CUR_ACTION->registerObjectTransformed(mi);
|
||||
|
||||
@@ -30,6 +30,9 @@ namespace Noggit::Application {
|
||||
std::string ApplicationNoggitDefinitionsPath = "noggit-definitions"; // default for compatibility with older config files
|
||||
NoggitApplicationGraphicsConfiguration GraphicsConfiguration;
|
||||
NoggitApplicationLoggingConfiguration LoggingConfiguration;
|
||||
|
||||
// TODO move setting panel variables here
|
||||
bool modern_features = false;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,26 @@
|
||||
#include <noggit/application/Configuration/NoggitApplicationConfigurationReader.hpp>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonDocument>
|
||||
#include <QtCore/QSettings>
|
||||
|
||||
namespace Noggit::Application {
|
||||
|
||||
NoggitApplicationConfiguration NoggitApplicationConfigurationReader::ReadConfigurationState(QFile& inputFile)
|
||||
{
|
||||
auto noggitApplicationConfiguration = NoggitApplicationConfiguration();
|
||||
|
||||
// TODO move qsetting stuff to config file
|
||||
QSettings settings;
|
||||
noggitApplicationConfiguration.modern_features = settings.value("modern_features", false).toBool();
|
||||
|
||||
settings.sync();
|
||||
//
|
||||
|
||||
inputFile.open(QIODevice::ReadOnly);
|
||||
|
||||
auto document = QJsonDocument().fromJson(inputFile.readAll());
|
||||
auto root = document.object();
|
||||
|
||||
auto noggitApplicationConfiguration = NoggitApplicationConfiguration();
|
||||
if (root.contains("Noggit") && root["Noggit"].isObject())
|
||||
{
|
||||
auto noggitConfiguration = root["Noggit"].toObject();
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#ifndef NOGGIT_APPLICATION_HPP
|
||||
#define NOGGIT_APPLICATION_HPP
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <filesystem>
|
||||
#include <ClientData.hpp>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <blizzard-archive-library/include/ClientFile.hpp>
|
||||
#include <blizzard-archive-library/include/Exception.hpp>
|
||||
#include <blizzard-database-library/include/BlizzardDatabase.h>
|
||||
// #include <noggit/application/NoggitApplication.hpp>
|
||||
#include <noggit/application/Configuration/NoggitApplicationConfiguration.hpp>
|
||||
#include <noggit/ui/windows/downloadFileDialog/DownloadFileDialog.h>
|
||||
#include <noggit/TextureManager.h>
|
||||
@@ -350,8 +351,10 @@ namespace Noggit::Project
|
||||
return {};
|
||||
}
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
|
||||
// QSettings settings;
|
||||
// bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = _configuration->modern_features;
|
||||
if (modern_features)
|
||||
{
|
||||
Log << "Modern Features Enabled" << std::endl;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <noggit/MapChunk.h>
|
||||
#include <noggit/ui/TexturingGUI.h>
|
||||
#include <external/tracy/Tracy.hpp>
|
||||
#include <QtCore/QSettings>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
using namespace Noggit::Rendering;
|
||||
|
||||
@@ -535,8 +535,7 @@ bool TileRender::fillSamplers(MapChunk* chunk, unsigned chunk_index, unsigned i
|
||||
|
||||
|
||||
auto& chunk_textures = (*chunk->texture_set->getTextures());
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
for (int k = 0; k < chunk->texture_set->num(); ++k)
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "WMOGroupRender.hpp"
|
||||
#include <noggit/WMO.h>
|
||||
#include <noggit/Log.h> // LogDebug
|
||||
#include <QtCore/QSettings>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
using namespace Noggit::Rendering;
|
||||
|
||||
@@ -67,8 +67,7 @@ void WMOGroupRender::upload()
|
||||
_draw_calls.clear();
|
||||
WMOCombinedDrawCall* draw_call = nullptr;
|
||||
std::vector<WMORenderBatch*> _used_batches;
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
batch_counter = 0;
|
||||
for (auto& batch : _wmo_group->_batches)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <external/PNG2BLP/Png2Blp.h>
|
||||
#include <noggit/DBC.h>
|
||||
#include <noggit/project/CurrentProject.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <QDir>
|
||||
#include <QBuffer>
|
||||
@@ -98,8 +99,7 @@ void WorldRender::draw (glm::mat4x4 const& model_view
|
||||
_world->_n_loaded_tiles = 0;
|
||||
unsigned tile_counter = 0;
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
for (MapTile* tile : _world->mapIndex.loaded_tiles())
|
||||
{
|
||||
@@ -2015,7 +2015,6 @@ bool WorldRender::saveMinimap(TileIndex const& tile_idx, MinimapRenderSettings*
|
||||
|
||||
image = image.convertToFormat(QImage::Format_RGBA8888);
|
||||
|
||||
QSettings app_settings;
|
||||
QString str = QString(Noggit::Project::CurrentProject::get()->ProjectPath.c_str());
|
||||
if (!(str.endsWith('\\') || str.endsWith('/')))
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <noggit/ui/MinimapCreator.hpp>
|
||||
#include <noggit/ui/tools/ToolPanel/ToolPanel.hpp>
|
||||
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <QDir>
|
||||
#include <QStatusBar>
|
||||
@@ -194,9 +195,9 @@ namespace Noggit
|
||||
if (!saving_minimap)
|
||||
return false;
|
||||
|
||||
QSettings noggitSettings;
|
||||
bool modern_features = noggitSettings.value("modern_features", false).toBool();
|
||||
if (modern_features && (settings->export_mode == MinimapGenMode::LOD_MAPTEXTURES || settings->export_mode == MinimapGenMode::LOD_MAPTEXTURES_N)) {
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
if (modern_features && (settings->export_mode == MinimapGenMode::LOD_MAPTEXTURES || settings->export_mode == MinimapGenMode::LOD_MAPTEXTURES_N))
|
||||
{
|
||||
settings->draw_m2 = false;
|
||||
settings->draw_wmo = false;
|
||||
settings->draw_water = false;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <noggit/World.h>
|
||||
#include <noggit/Log.h>
|
||||
#include <noggit/project/CurrentProject.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <util/qt/overload.hpp>
|
||||
|
||||
@@ -74,9 +75,9 @@ namespace Noggit
|
||||
generate_layout->addRow (sel_adts_btn);
|
||||
generate_layout->addRow (all_adts_btn);
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
if (modern_features) {
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
if (modern_features)
|
||||
{
|
||||
generate_layout->addRow (maptexture_btn);
|
||||
maptexture_btn->setVisible(true);
|
||||
generate_layout->addRow(maptexture_n_btn);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <noggit/ui/ObjectEditor.h>
|
||||
#include <noggit/ActionManager.hpp>
|
||||
#include <noggit/Action.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <QtWidgets/QFormLayout>
|
||||
#include <QtWidgets/QLabel>
|
||||
@@ -270,8 +271,7 @@ namespace Noggit
|
||||
|
||||
if(obj->which() == eWMO)
|
||||
{
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
if(modern_features)
|
||||
{
|
||||
_scale->setEnabled(true);
|
||||
|
||||
@@ -68,8 +68,7 @@ namespace Noggit
|
||||
std::unordered_set<std::string> tilesets_with_specular_variant;
|
||||
|
||||
// If modern features are enabled, set filtering to height textures (_h), otherwise specular (_s).
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
for (auto const& entry_pair : Application::NoggitApplication::instance()->clientData()->listfile()->pathToFileDataIDMap())
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <util/qt/overload.hpp>
|
||||
#include <noggit/TextureManager.h>
|
||||
#include <noggit/ui/tools/AssetBrowser/Ui/AssetBrowser.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <QtWidgets/QFormLayout>
|
||||
#include <QtWidgets/QPushButton>
|
||||
@@ -212,7 +213,7 @@ namespace Noggit
|
||||
tool_layout->setAlignment(quick_palette_btn, Qt::AlignTop);
|
||||
|
||||
// Mists HeightMapping, only enable if modern feature setting is on
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
// Define UI elements regardless of modern_features being enabled because they're used later on as well.
|
||||
_heightmapping_group = new QGroupBox("Height Mapping", tool_widget);
|
||||
@@ -230,7 +231,8 @@ namespace Noggit
|
||||
QPushButton* _heightmapping_copy_btn = new QPushButton("Copy to JSON", this);
|
||||
_heightmapping_copy_btn->setVisible(modern_features);
|
||||
|
||||
if (modern_features) {
|
||||
if (modern_features)
|
||||
{
|
||||
|
||||
auto heightmapping_group_layout(new QFormLayout(_heightmapping_group));
|
||||
|
||||
@@ -330,7 +332,8 @@ namespace Noggit
|
||||
connect (anim_speed_slider, &QSlider::valueChanged, &_anim_speed_prop, &Noggit::unsigned_int_property::set);
|
||||
connect (anim_orientation_dial, &QDial::valueChanged, &_anim_rotation_prop, &Noggit::unsigned_int_property::set);
|
||||
|
||||
if (modern_features) {
|
||||
if (modern_features)
|
||||
{
|
||||
connect(heightmapping_scale_spin, qOverload<double>(&QDoubleSpinBox::valueChanged)
|
||||
, [&](double v)
|
||||
{
|
||||
@@ -469,7 +472,8 @@ namespace Noggit
|
||||
|
||||
// Mists Heightmapping
|
||||
|
||||
if (modern_features) {
|
||||
if (modern_features)
|
||||
{
|
||||
connect(_current_texture, &Noggit::Ui::current_texture::texture_updated
|
||||
, [=]()
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <noggit/ui/minimap_widget.hpp>
|
||||
#include <noggit/ui/widget.hpp>
|
||||
#include <noggit/World.h>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
|
||||
namespace Noggit
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <noggit/ui/tools/NodeEditor/Nodes/DataTypes/GenericData.hpp>
|
||||
#include <noggit/ActionManager.hpp>
|
||||
#include <noggit/Action.hpp>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
using namespace Noggit::Ui::Tools::NodeEditor::Nodes;
|
||||
|
||||
@@ -39,13 +40,15 @@ void ObjectInstanceSetScaleNode::compute()
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj->which() == eWMO) {
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
if (modern_features) {
|
||||
if (obj->which() == eWMO)
|
||||
{
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
if (modern_features)
|
||||
{
|
||||
obj->scale = scale;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
obj->scale = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <external/glm/gtc/quaternion.hpp>
|
||||
#include <external/glm/gtx/string_cast.hpp>
|
||||
#include <noggit/MapView.h>
|
||||
#include <noggit/application/NoggitApplication.hpp>
|
||||
|
||||
#include <limits>
|
||||
|
||||
@@ -146,8 +147,7 @@ void ViewportGizmo::handleTransformGizmo(MapView* map_view
|
||||
NOGGIT_ACTION_MGR->beginAction(map_view, Noggit::ActionFlags::eOBJECTS_TRANSFORMED,
|
||||
Noggit::ActionModalityControllers::eLMB);
|
||||
|
||||
QSettings settings;
|
||||
bool modern_features = settings.value("modern_features", false).toBool();
|
||||
bool modern_features = Noggit::Application::NoggitApplication::instance()->getConfiguration()->modern_features;
|
||||
|
||||
if (gizmo_selection_type == MULTISELECTION)
|
||||
{
|
||||
@@ -169,7 +169,8 @@ void ViewportGizmo::handleTransformGizmo(MapView* map_view
|
||||
float& scale = obj_instance->scale;
|
||||
|
||||
// If modern features are disabled, we don't want to scale WMOs
|
||||
if (obj_instance->which() == eWMO && !modern_features && _gizmo_operation == ImGuizmo::SCALE) {
|
||||
if (obj_instance->which() == eWMO && !modern_features && _gizmo_operation == ImGuizmo::SCALE)
|
||||
{
|
||||
scale = 1.0f;
|
||||
continue;
|
||||
}
|
||||
@@ -290,7 +291,8 @@ void ViewportGizmo::handleTransformGizmo(MapView* map_view
|
||||
float& scale = obj_instance->scale;
|
||||
|
||||
// If modern features are disabled, we don't want to scale WMOs
|
||||
if (obj_instance->which() == eWMO && !modern_features && _gizmo_operation == ImGuizmo::SCALE) {
|
||||
if (obj_instance->which() == eWMO && !modern_features && _gizmo_operation == ImGuizmo::SCALE)
|
||||
{
|
||||
scale = 1.0f;
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user