diff options
author | Vittorio Romeo <vittorio.romeo@outlook.com> | 2021-11-10 01:57:04 +0000 |
---|---|---|
committer | Vittorio Romeo <vittorio.romeo@outlook.com> | 2021-11-10 01:57:04 +0000 |
commit | 1a105c6dd6f4ab47ed49145874bfbed64c3eea33 (patch) | |
tree | dbf0d8c778d5246b23afe663106e4ee870193ac6 | |
parent | 56c3e1460b8db31d510460f76eafe8783fe1ceed (diff) |
Render trail after walls
-rw-r--r-- | include/SSVOpenHexagon/Core/HexagonGame.hpp | 4 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/HGGraphics.cpp | 7 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/HGUpdate.cpp | 8 | ||||
-rw-r--r-- | src/SSVOpenHexagon/Core/HexagonGame.cpp | 7 |
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"); } |