forked from SilverStudioGames/WTS
Bug fix
* Fixed sorting of numbered doll layers starting with double digits
This commit is contained in:
parent
7e768adddf
commit
6fbf369d3e
@ -69,7 +69,7 @@ init python:
|
||||
salt = str( [self.name, self.char.pose, self.type, self.id, str(self.color), str(self.char.body._hash)] )
|
||||
return hash(salt)
|
||||
|
||||
@functools.cache
|
||||
@functools.cache # <- TODO: Reevaluate if this function should allow multiple caches (aside from different subpaths)
|
||||
def get_layers(self, hash, subpath=""):
|
||||
path = posixpath.join(self.modpath, "characters", self.name, "poses", self.char.pose, subpath, "clothes", self.type, self.id)
|
||||
|
||||
@ -130,7 +130,7 @@ init python:
|
||||
else:
|
||||
layers.setdefault(ltype, [f, zorder])
|
||||
|
||||
return layers
|
||||
return dict(sorted(layers.items(), key=lambda x: (extract_number(x[0]), x[0])))
|
||||
|
||||
@functools.cache
|
||||
def build_image(self, hash, subpath="", matrix=None, maxsize=(1010, 1200)):
|
||||
|
@ -225,3 +225,9 @@ init python early:
|
||||
|
||||
def execute_callbacks(callbacks):
|
||||
for callback in callbacks: callback()
|
||||
|
||||
def extract_number(key):
|
||||
match = re.match(r'^(\d+)', key)
|
||||
if match:
|
||||
return int(match.group(1))
|
||||
return float('inf') # Return a large number for non-numeric keys
|
||||
|
Loading…
Reference in New Issue
Block a user