summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVittorio Romeo <vittorio.romeo@outlook.com>2021-11-10 01:57:04 +0000
committerVittorio Romeo <vittorio.romeo@outlook.com>2021-11-10 01:57:04 +0000
commit1a105c6dd6f4ab47ed49145874bfbed64c3eea33 (patch)
treedbf0d8c778d5246b23afe663106e4ee870193ac6
parent56c3e1460b8db31d510460f76eafe8783fe1ceed (diff)
Render trail after walls
-rw-r--r--include/SSVOpenHexagon/Core/HexagonGame.hpp4
-rw-r--r--src/SSVOpenHexagon/Core/HGGraphics.cpp7
-rw-r--r--src/SSVOpenHexagon/Core/HGUpdate.cpp8
-rw-r--r--src/SSVOpenHexagon/Core/HexagonGame.cpp7
4 files changed, 16 insertions, 10 deletions
diff --git a/include/SSVOpenHexagon/Core/HexagonGame.hpp b/include/SSVOpenHexagon/Core/HexagonGame.hpp
index 74d7dedc..265acfb4 100644
--- a/include/SSVOpenHexagon/Core/HexagonGame.hpp
+++ b/include/SSVOpenHexagon/Core/HexagonGame.hpp
@@ -180,8 +180,8 @@ private:
float angle;
};
- sf::Texture& txStarParticle;
- sf::Texture& txSmallCircle;
+ sf::Texture* txStarParticle;
+ sf::Texture* txSmallCircle;
std::vector<Particle> particles;
std::vector<TrailParticle> trailParticles;
diff --git a/src/SSVOpenHexagon/Core/HGGraphics.cpp b/src/SSVOpenHexagon/Core/HGGraphics.cpp
index 15e46fbe..ae1e085d 100644
--- a/src/SSVOpenHexagon/Core/HGGraphics.cpp
+++ b/src/SSVOpenHexagon/Core/HGGraphics.cpp
@@ -226,14 +226,15 @@ void HexagonGame::draw()
}
}
+ render(wallQuads3D);
+ render(pivotQuads3D);
+ render(playerTris3D);
+
if(Config::getShowPlayerTrail() && status.showPlayerTrail)
{
drawTrailParticles();
}
- render(wallQuads3D);
- render(pivotQuads3D);
- render(playerTris3D);
render(wallQuads);
render(capTris);
render(pivotQuads);
diff --git a/src/SSVOpenHexagon/Core/HGUpdate.cpp b/src/SSVOpenHexagon/Core/HGUpdate.cpp
index 7c160638..7ef18412 100644
--- a/src/SSVOpenHexagon/Core/HGUpdate.cpp
+++ b/src/SSVOpenHexagon/Core/HGUpdate.cpp
@@ -885,7 +885,8 @@ void HexagonGame::updateParticles(ssvu::FT mFT)
{
Particle p;
- p.sprite.setTexture(txStarParticle);
+ SSVOH_ASSERT(txStarParticle != nullptr);
+ p.sprite.setTexture(*txStarParticle);
p.sprite.setPosition(
{ssvu::getRndR(-64.f, Config::getWidth() + 64.f), -64.f});
p.sprite.setRotation(ssvu::getRndR(0.f, 360.f));
@@ -934,9 +935,10 @@ void HexagonGame::updateTrailParticles(ssvu::FT mFT)
{
TrailParticle p;
- p.sprite.setTexture(txSmallCircle);
+ SSVOH_ASSERT(txSmallCircle != nullptr);
+ p.sprite.setTexture(*txSmallCircle);
p.sprite.setPosition(player.getPosition());
- p.sprite.setOrigin(sf::Vector2f{txSmallCircle.getSize()} / 2.f);
+ p.sprite.setOrigin(sf::Vector2f{txSmallCircle->getSize()} / 2.f);
const float scale = Config::getPlayerTrailScale();
p.sprite.setScale({scale, scale});
diff --git a/src/SSVOpenHexagon/Core/HexagonGame.cpp b/src/SSVOpenHexagon/Core/HexagonGame.cpp
index 215cc7a8..f6d99a90 100644
--- a/src/SSVOpenHexagon/Core/HexagonGame.cpp
+++ b/src/SSVOpenHexagon/Core/HexagonGame.cpp
@@ -287,8 +287,8 @@ HexagonGame::HexagonGame(Steam::steam_manager* mSteamManager,
levelStatus{Config::getMusicSpeedDMSync(), Config::getSpawnDistance()},
messageText{initText("", font, 38.f)},
pbText{initText("", fontBold, 65.f)},
- txStarParticle(assets.getTextureOrNullTexture("starParticle.png")),
- txSmallCircle(assets.getTextureOrNullTexture("smallCircle.png")),
+ txStarParticle{nullptr},
+ txSmallCircle{nullptr},
levelInfoTextLevel{"", font},
levelInfoTextPack{"", font},
levelInfoTextAuthor{"", font},
@@ -313,6 +313,9 @@ HexagonGame::HexagonGame(Steam::steam_manager* mSteamManager,
overlayCamera.emplace(
*window, sf::View{sf::Vector2f{width / 2.f, height / 2.f},
sf::Vector2f{width, height}});
+
+ txStarParticle = &assets.getTextureOrNullTexture("starParticle.png");
+ txSmallCircle = &assets.getTextureOrNullTexture("smallCircle.png");
}