settings panel moved to xml (WIP)

This commit is contained in:
MihailRis
2024-04-20 03:01:37 +03:00
parent 7cb5b2eb70
commit 9cdf3ff016
33 changed files with 254 additions and 143 deletions
+2 -2
View File
@@ -150,7 +150,7 @@ void WorldRenderer::renderLevel(
Shader* shader = assets->getShader("main");
auto indices = level->content->getIndices();
float fogFactor = 15.0f / ((float)settings.chunks.loadDistance-2);
float fogFactor = 15.0f / ((float)settings.chunks.loadDistance.get()-2);
// Setting up main shader
shader->use();
@@ -158,7 +158,7 @@ void WorldRenderer::renderLevel(
shader->uniformMatrix("u_view", camera->getView());
shader->uniform1f("u_gamma", settings.graphics.gamma);
shader->uniform1f("u_fogFactor", fogFactor);
shader->uniform1f("u_fogCurve", settings.graphics.fogCurve);
shader->uniform1f("u_fogCurve", settings.graphics.fogCurve.get());
shader->uniform1f("u_dayTime", level->getWorld()->daytime);
shader->uniform3f("u_cameraPos", camera->position);
shader->uniform1i("u_cubemap", 1);
+2 -1
View File
@@ -912,7 +912,8 @@ void TrackBar::mouseMove(GUI*, int x, int y) {
value += min;
value = (value > max) ? max : value;
value = (value < min) ? min : value;
value = (int)(value / step) * step;
value = (int64_t)round(value / step) * step;
if (consumer) {
consumer(value);
}
+4 -3
View File
@@ -228,20 +228,21 @@ static std::shared_ptr<UINode> readPanel(UiXmlReader& reader, xml::xmlelement el
}
static std::shared_ptr<UINode> readButton(UiXmlReader& reader, xml::xmlelement element) {
glm::vec4 padding = element->attr("padding", "10").asVec4();
std::shared_ptr<Button> button;
auto& elements = element->getElements();
if (!elements.empty() && elements.at(0)->getTag() != "#") {
glm::vec4 padding = element->attr("padding", "0,0,0,0").asVec4();
auto inner = reader.readUINode(element->getElements().at(0));
if (inner != nullptr) {
button = std::make_shared<Button>(inner, padding);
} else {
button = std::make_shared<Button>(L"", glm::vec4(0.0f), nullptr);
button = std::make_shared<Button>(L"", padding, nullptr);
}
_readPanel(reader, element, *button, false);
} else {
std::wstring text = readAndProcessInnerText(element, reader.getContext());
button = std::make_shared<Button>(text, glm::vec4(0.0f), nullptr);
button = std::make_shared<Button>(text, padding, nullptr);
_readPanel(reader, element, *button, true);
}
if (element->has("text-align")) {