Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend/StarWireInterface.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-03-29 02:54:17 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-03-29 02:54:17 +1100
commit55cc6d793da04e2e5803748fbe339c997bd5f9a1 (patch)
treee534c402174bb4d6b8ef58c4aa7ee699f2796aa4 /source/frontend/StarWireInterface.cpp
parent8fee64013ef5902b167883523a11706c77b9cfb4 (diff)
wire interface: fetch render vars on init instead of every wire (wtf?)
Diffstat (limited to 'source/frontend/StarWireInterface.cpp')
-rw-r--r--source/frontend/StarWireInterface.cpp33
1 files changed, 11 insertions, 22 deletions
diff --git a/source/frontend/StarWireInterface.cpp b/source/frontend/StarWireInterface.cpp
index 7238218..5382cbb 100644
--- a/source/frontend/StarWireInterface.cpp
+++ b/source/frontend/StarWireInterface.cpp
@@ -26,6 +26,17 @@ WirePane::WirePane(WorldClientPtr worldClient, PlayerPtr player, WorldPainterPtr
m_outSize = Vec2F(context()->textureSize("/interface/wires/outbound.png")) / TilePixels;
m_nodeSize = Vec2F(1.8f, 1.8f);
+ JsonObject config = assets->json("/player.config:wireConfig").toObject();
+ m_minBeamWidth = config.get("minWireWidth").toFloat();
+ m_maxBeamWidth = config.get("maxWireWidth").toFloat();
+ m_beamWidthDev = config.value("wireWidthDev", (m_maxBeamWidth - m_minBeamWidth) / 3).toFloat();
+ m_minBeamTrans = config.get("minWireTrans").toFloat();
+ m_maxBeamTrans = config.get("maxWireTrans").toFloat();
+ m_beamTransDev = config.value("wireTransDev", (m_maxBeamTrans - m_minBeamTrans) / 3).toFloat();
+ m_innerBrightnessScale = config.get("innerBrightnessScale").toFloat();
+ m_firstStripeThickness = config.get("firstStripeThickness").toFloat();
+ m_secondStripeThickness = config.get("secondStripeThickness").toFloat();
+
setTitle({}, "", "Wire you looking at me like that?");
disableScissoring();
markAsContainer();
@@ -65,28 +76,6 @@ void WirePane::renderWire(Vec2F from, Vec2F to, Color baseColor) {
return clamp<float>(Random::nrandf(dev, max), min, max);
};
- float m_beamWidthDev;
- float m_minBeamWidth;
- float m_maxBeamWidth;
- float m_beamTransDev;
- float m_minBeamTrans;
- float m_maxBeamTrans;
- float m_innerBrightnessScale;
- float m_firstStripeThickness;
- float m_secondStripeThickness;
-
- auto assets = Root::singleton().assets();
- JsonObject config = assets->json("/player.config:wireConfig").toObject();
- m_minBeamWidth = config.get("minWireWidth").toFloat();
- m_maxBeamWidth = config.get("maxWireWidth").toFloat();
- m_beamWidthDev = config.value("wireWidthDev", (m_maxBeamWidth - m_minBeamWidth) / 3).toFloat();
- m_minBeamTrans = config.get("minWireTrans").toFloat();
- m_maxBeamTrans = config.get("maxWireTrans").toFloat();
- m_beamTransDev = config.value("wireTransDev", (m_maxBeamTrans - m_minBeamTrans) / 3).toFloat();
- m_innerBrightnessScale = config.get("innerBrightnessScale").toFloat();
- m_firstStripeThickness = config.get("firstStripeThickness").toFloat();
- m_secondStripeThickness = config.get("secondStripeThickness").toFloat();
-
float lineThickness = m_worldPainter->camera().pixelRatio() * rangeRand(m_beamWidthDev, m_minBeamWidth, m_maxBeamWidth);
float beamTransparency = rangeRand(m_beamTransDev, m_minBeamTrans, m_maxBeamTrans);
baseColor.setAlphaF(baseColor.alphaF() * beamTransparency);