mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-16 05:42:32 +00:00
Fix Remap::invert() when a tile is moved out of the range
This commit is contained in:
parent
9f09fbe01a
commit
a2e2337b23
@ -137,12 +137,23 @@ void Remap::merge(const Remap& other)
|
|||||||
Remap Remap::invert() const
|
Remap Remap::invert() const
|
||||||
{
|
{
|
||||||
Remap inv(size());
|
Remap inv(size());
|
||||||
|
|
||||||
|
for (int i=0; i<size(); ++i)
|
||||||
|
inv.m_map[i] = kNoMap;
|
||||||
|
|
||||||
for (int i=0; i<size(); ++i) {
|
for (int i=0; i<size(); ++i) {
|
||||||
int j = m_map[i];
|
int j = m_map[i];
|
||||||
if (j == kNoMap)
|
if (j == kNoMap ||
|
||||||
|
// Already mapped
|
||||||
|
inv.m_map[j] != kNoMap)
|
||||||
continue;
|
continue;
|
||||||
inv.map(j, i);
|
inv.map(j, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i=0; i<size(); ++i)
|
||||||
|
if (inv.m_map[i] == kNoMap)
|
||||||
|
inv.m_map[i] = i;
|
||||||
|
|
||||||
return inv;
|
return inv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user