reduce extra includes

This commit is contained in:
MihailRis 2025-03-18 19:44:32 +03:00
parent dbe9ca5efe
commit b3feb5945b
25 changed files with 71 additions and 46 deletions

View File

@ -6,6 +6,7 @@
#include <string.h> #include <string.h>
#include <algorithm> #include <algorithm>
#include "data/dv.hpp"
#include "util/data_io.hpp" #include "util/data_io.hpp"
#include "util/stringutil.hpp" #include "util/stringutil.hpp"

6
src/data/dv_fwd.hpp Normal file
View File

@ -0,0 +1,6 @@
#pragma once
namespace dv {
class value;
struct optionalvalue;
}

View File

@ -4,7 +4,6 @@
#include "typedefs.hpp" #include "typedefs.hpp"
#include "settings.hpp" #include "settings.hpp"
#include "assets/Assets.hpp"
#include "content/content_fwd.hpp" #include "content/content_fwd.hpp"
#include "content/ContentPack.hpp" #include "content/ContentPack.hpp"
#include "content/PacksManager.hpp" #include "content/PacksManager.hpp"
@ -15,10 +14,10 @@
#include "Time.hpp" #include "Time.hpp"
#include <memory> #include <memory>
#include <stdexcept>
#include <string> #include <string>
#include <vector> #include <vector>
class Assets;
class Level; class Level;
class Screen; class Screen;
class EnginePaths; class EnginePaths;

View File

@ -7,6 +7,7 @@
#include "content/Content.hpp" #include "content/Content.hpp"
#include "content/ContentPack.hpp" #include "content/ContentPack.hpp"
#include "graphics/core/Atlas.hpp" #include "graphics/core/Atlas.hpp"
#include "graphics/commons/Model.hpp"
#include "maths/UVRegion.hpp" #include "maths/UVRegion.hpp"
#include "voxels/Block.hpp" #include "voxels/Block.hpp"
#include "core_defs.hpp" #include "core_defs.hpp"

View File

@ -6,7 +6,7 @@
#include <stdexcept> #include <stdexcept>
#include <unordered_map> #include <unordered_map>
#include "graphics/commons/Model.hpp" #include "maths/UVRegion.hpp"
class Content; class Content;
class Assets; class Assets;

View File

@ -21,11 +21,11 @@ void UiDocument::rebuildIndices() {
gui::UINode::getIndices(root, map); gui::UINode::getIndices(root, map);
} }
const uinodes_map& UiDocument::getMap() const { const UINodesMap& UiDocument::getMap() const {
return map; return map;
} }
uinodes_map& UiDocument::getMapWriteable() { UINodesMap& UiDocument::getMapWriteable() {
return map; return map;
} }

View File

@ -19,12 +19,12 @@ struct uidocscript {
bool onclose : 1; bool onclose : 1;
}; };
using uinodes_map = std::unordered_map<std::string, std::shared_ptr<gui::UINode>>; using UINodesMap = std::unordered_map<std::string, std::shared_ptr<gui::UINode>>;
class UiDocument { class UiDocument {
std::string id; std::string id;
uidocscript script; uidocscript script;
uinodes_map map; UINodesMap map;
std::shared_ptr<gui::UINode> root; std::shared_ptr<gui::UINode> root;
scriptenv env; scriptenv env;
public: public:
@ -38,8 +38,8 @@ public:
void rebuildIndices(); void rebuildIndices();
const std::string& getId() const; const std::string& getId() const;
const uinodes_map& getMap() const; const UINodesMap& getMap() const;
uinodes_map& getMapWriteable(); UINodesMap& getMapWriteable();
std::shared_ptr<gui::UINode> getRoot() const; std::shared_ptr<gui::UINode> getRoot() const;
std::shared_ptr<gui::UINode> get(const std::string& id) const; std::shared_ptr<gui::UINode> get(const std::string& id) const;
const uidocscript& getScript() const; const uidocscript& getScript() const;

View File

@ -13,8 +13,6 @@
#include "graphics/core/Batch2D.hpp" #include "graphics/core/Batch2D.hpp"
#include "graphics/core/Batch3D.hpp" #include "graphics/core/Batch3D.hpp"
#include "graphics/core/DrawContext.hpp" #include "graphics/core/DrawContext.hpp"
#include "graphics/core/Font.hpp"
#include "graphics/core/Mesh.hpp"
#include "graphics/core/Shader.hpp" #include "graphics/core/Shader.hpp"
#include "graphics/core/Texture.hpp" #include "graphics/core/Texture.hpp"
#include "graphics/core/ImageData.hpp" #include "graphics/core/ImageData.hpp"

View File

@ -1,6 +1,5 @@
#include "menu.hpp" #include "menu.hpp"
#include <filesystem>
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include "UiDocument.hpp" #include "UiDocument.hpp"
@ -18,9 +17,8 @@
#include "screens/MenuScreen.hpp" #include "screens/MenuScreen.hpp"
#include "settings.hpp" #include "settings.hpp"
#include "util/stringutil.hpp" #include "util/stringutil.hpp"
#include "assets/assetload_funcs.hpp"
namespace fs = std::filesystem;
using namespace gui; using namespace gui;
void menus::create_version_label(gui::GUI& gui) { void menus::create_version_label(gui::GUI& gui) {

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
#include "data/dv.hpp" #include "data/dv.hpp"
#include "graphics/ui/elements/Menu.hpp" #include "delegates.hpp"
#include <string> #include <string>
#include <vector> #include <vector>
@ -12,6 +12,10 @@ class Engine;
class UiDocument; class UiDocument;
namespace gui {
class GUI;
}
namespace menus { namespace menus {
/// @brief Create development version label at the top-right screen corner /// @brief Create development version label at the top-right screen corner
void create_version_label(gui::GUI& gui); void create_version_label(gui::GUI& gui);
@ -22,7 +26,11 @@ namespace menus {
std::vector<dv::value> args std::vector<dv::value> args
); );
void show_process_panel(Engine& engine, const std::shared_ptr<Task>& task, const std::wstring& text=L""); void show_process_panel(
Engine& engine,
const std::shared_ptr<Task>& task,
const std::wstring& text = L""
);
bool call(Engine& engine, runnable func); bool call(Engine& engine, runnable func);
} }

View File

@ -6,6 +6,7 @@
#include "core_defs.hpp" #include "core_defs.hpp"
#include "debug/Logger.hpp" #include "debug/Logger.hpp"
#include "engine/Engine.hpp" #include "engine/Engine.hpp"
#include "assets/Assets.hpp"
#include "frontend/ContentGfxCache.hpp" #include "frontend/ContentGfxCache.hpp"
#include "frontend/LevelFrontend.hpp" #include "frontend/LevelFrontend.hpp"
#include "frontend/hud.hpp" #include "frontend/hud.hpp"
@ -17,6 +18,7 @@
#include "graphics/render/WorldRenderer.hpp" #include "graphics/render/WorldRenderer.hpp"
#include "graphics/ui/GUI.hpp" #include "graphics/ui/GUI.hpp"
#include "graphics/ui/elements/Menu.hpp" #include "graphics/ui/elements/Menu.hpp"
#include "graphics/core/TextureAnimation.hpp"
#include "io/io.hpp" #include "io/io.hpp"
#include "logic/LevelController.hpp" #include "logic/LevelController.hpp"
#include "logic/PlayerController.hpp" #include "logic/PlayerController.hpp"

View File

@ -5,6 +5,7 @@
#include "graphics/core/Batch2D.hpp" #include "graphics/core/Batch2D.hpp"
#include "graphics/core/Shader.hpp" #include "graphics/core/Shader.hpp"
#include "graphics/core/Texture.hpp" #include "graphics/core/Texture.hpp"
#include "assets/Assets.hpp"
#include "maths/UVRegion.hpp" #include "maths/UVRegion.hpp"
#include "window/Window.hpp" #include "window/Window.hpp"
#include "window/Camera.hpp" #include "window/Camera.hpp"

View File

@ -14,6 +14,7 @@
#include "graphics/core/Shader.hpp" #include "graphics/core/Shader.hpp"
#include "graphics/core/Texture.hpp" #include "graphics/core/Texture.hpp"
#include "graphics/core/Viewport.hpp" #include "graphics/core/Viewport.hpp"
#include "graphics/commons/Model.hpp"
#include <glm/ext.hpp> #include <glm/ext.hpp>

View File

@ -4,6 +4,7 @@
#include "WorldRenderer.hpp" #include "WorldRenderer.hpp"
#include "TextsRenderer.hpp" #include "TextsRenderer.hpp"
#include "TextNote.hpp" #include "TextNote.hpp"
#include "assets/Assets.hpp"
#include "assets/assets_util.hpp" #include "assets/assets_util.hpp"
#include "content/Content.hpp" #include "content/Content.hpp"
#include "voxels/Chunks.hpp" #include "voxels/Chunks.hpp"

View File

@ -1,18 +1,10 @@
#pragma once #pragma once
#include "data/dv.hpp" #include "data/dv_fwd.hpp"
#include <memory>
class Serializable { class Serializable {
public: public:
virtual ~Serializable() {} virtual ~Serializable() {}
virtual dv::value serialize() const = 0; virtual dv::value serialize() const = 0;
virtual void deserialize(const dv::value& src) = 0; virtual void deserialize(const dv::value& src) = 0;
void deserializeOpt(const dv::optionalvalue& opt) {
if (opt.ptr) {
deserialize(*opt.ptr);
}
}
}; };

View File

@ -1,4 +1,5 @@
#include "audio/audio.hpp" #include "audio/audio.hpp"
#include "assets/Assets.hpp"
#include "engine/Engine.hpp" #include "engine/Engine.hpp"
#include "api_lua.hpp" #include "api_lua.hpp"

View File

@ -4,6 +4,7 @@
#include "api_lua.hpp" #include "api_lua.hpp"
#include "coders/png.hpp" #include "coders/png.hpp"
#include "constants.hpp" #include "constants.hpp"
#include "assets/Assets.hpp"
#include "content/Content.hpp" #include "content/Content.hpp"
#include "debug/Logger.hpp" #include "debug/Logger.hpp"
#include "engine/Engine.hpp" #include "engine/Engine.hpp"

View File

@ -2,7 +2,6 @@
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include <memory> #include <memory>
#include <string>
#include <vector> #include <vector>
#include "io/fwd.hpp" #include "io/fwd.hpp"

View File

@ -3,7 +3,7 @@
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include <string> #include <string>
#include "data/dv.hpp" #include "data/dv_fwd.hpp"
#include "delegates.hpp" #include "delegates.hpp"
#include "typedefs.hpp" #include "typedefs.hpp"

View File

@ -3,6 +3,7 @@
#include "debug/Logger.hpp" #include "debug/Logger.hpp"
#include "engine/Engine.hpp" #include "engine/Engine.hpp"
#include "io/io.hpp" #include "io/io.hpp"
#include "assets/Assets.hpp"
#include "frontend/hud.hpp" #include "frontend/hud.hpp"
#include "frontend/UiDocument.hpp" #include "frontend/UiDocument.hpp"
#include "graphics/render/WorldRenderer.hpp" #include "graphics/render/WorldRenderer.hpp"

View File

@ -3,6 +3,7 @@
#include <glm/vec3.hpp> #include <glm/vec3.hpp>
#include <glm/vec4.hpp> #include <glm/vec4.hpp>
#include <optional> #include <optional>
#include <string>
#include "interfaces/Serializable.hpp" #include "interfaces/Serializable.hpp"

View File

@ -1,6 +1,8 @@
#pragma once #pragma once
#include <glm/vec3.hpp> #include <glm/vec3.hpp>
#include <string>
#include <vector>
#include "interfaces/Serializable.hpp" #include "interfaces/Serializable.hpp"

27
src/world/Weather.cpp Normal file
View File

@ -0,0 +1,27 @@
#include "Weather.hpp"
#include "data/dv.hpp"
dv::value Weather::serialize() const {
return dv::object({
{"a", a.serialize()},
{"b", b.serialize()},
{"name-a", nameA},
{"name-b", nameB},
{"t", t},
{"speed", speed},
});
}
void Weather::deserialize(const dv::value& src) {
if (src.has("a")) {
a.deserialize(src["a"]);
}
if (src.has("b")) {
b.deserialize(src["b"]);
}
src.at("name-a").get(nameA);
src.at("name-b").get(nameB);
src.at("t").get(t);
src.at("speed").get(speed);
}

View File

@ -45,23 +45,6 @@ struct Weather : Serializable {
return b.thunderRate * t + a.thunderRate * (1.0f - t); return b.thunderRate * t + a.thunderRate * (1.0f - t);
} }
dv::value serialize() const override { dv::value serialize() const override;
return dv::object({ void deserialize(const dv::value& src) override;
{"a", a.serialize()},
{"b", b.serialize()},
{"name-a", nameA},
{"name-b", nameB},
{"t", t},
{"speed", speed},
});
}
void deserialize(const dv::value& src) override {
a.deserializeOpt(src.at("a"));
b.deserializeOpt(src.at("b"));
src.at("name-a").get(nameA);
src.at("name-b").get(nameB);
src.at("t").get(t);
src.at("speed").get(speed);
}
}; };

View File

@ -4,6 +4,8 @@
#include <algorithm> #include <algorithm>
#include <climits> #include <climits>
#include "data/dv.hpp"
using namespace data; using namespace data;
TEST(StructLayout, ReadWrite) { TEST(StructLayout, ReadWrite) {