mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-16 14:42:44 +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 inv(size());
|
||||
|
||||
for (int i=0; i<size(); ++i)
|
||||
inv.m_map[i] = kNoMap;
|
||||
|
||||
for (int i=0; i<size(); ++i) {
|
||||
int j = m_map[i];
|
||||
if (j == kNoMap)
|
||||
if (j == kNoMap ||
|
||||
// Already mapped
|
||||
inv.m_map[j] != kNoMap)
|
||||
continue;
|
||||
inv.map(j, i);
|
||||
}
|
||||
|
||||
for (int i=0; i<size(); ++i)
|
||||
if (inv.m_map[i] == kNoMap)
|
||||
inv.m_map[i] = i;
|
||||
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user