fixed ordering problem, but have a wier flicker in non editor mode

This commit is contained in:
2026-05-03 22:09:08 +02:00
parent 4fce05a927
commit 4002030de8
5 changed files with 9 additions and 15 deletions

View File

@@ -1,6 +1,7 @@
#include "OrdererSpriteSet.hpp"
#include <algorithm>
#include <tuple>
#include <cmath>
#include "Debug.hpp"
TSE::OrdererSpriteSetChunk::OrdererSpriteSetChunk(int _chunksize, const Vector2 &_pos, SortingOrder _order)
@@ -210,14 +211,6 @@ const std::vector<TSE::Vector2> *TSE::OrdererSpriteSet::GetChunkPositionsInOrder
}
dirty = false;
string poses = "[";
for(auto pos : orderedChunks)
{
poses += pos.ToString() + ",";
}
poses.erase(poses.end() - 1);
poses += "]";
TSE_LOG("orderedPositions: " + poses);
}
return &orderedChunks;
}
@@ -245,7 +238,7 @@ void TSE::OrdererSpriteSet::DirtyAll()
TSE::Vector2 TSE::OrdererSpriteSet::LocalToChunkPos(const Vector2 &v)
{
Vector2 p = Vector2((int)v.x % chunkSize, (int)v.y % chunkSize);
Vector2 p = Vector2(std::fmod(v.x, chunkSize), std::fmod(v.y, chunkSize));
if(p.x < 0) p.x += chunkSize;
if(p.y < 0) p.y += chunkSize;
return p;

View File

@@ -50,7 +50,7 @@ namespace TSE
Rect bounds = Rect(0,0,0,0);
public:
int chunkSize = 16;
float chunkSize = 16;
SortingOrder order = TopRight;
TileSet* set;
std::unordered_map<Vector2, OrdererSpriteSetChunk> chunks;