diff --git a/bindings/py3devil1tex.py b/bindings/py3devil1tex.py index 1e77a24..dccf093 100644 --- a/bindings/py3devil1tex.py +++ b/bindings/py3devil1tex.py @@ -136,7 +136,8 @@ class pyTextureBatch: self.cstruct.batch = None tbd = pyTextureBatchDescriptor(i, filedata) self.amount = tbd.gettexnumber() - memsize = self.amount * tbd.gettexturesize() + self.size = tbd.gettexturesize() + memsize = self.amount * self.size self.cstruct.batch = ctypes.cast( ctypes.create_string_buffer(memsize), ctypes.POINTER(Texture)) @@ -149,5 +150,12 @@ class pyTextureBatch: return def gettextures(self): - return self.cstruct.batch[:self.amount] + ptrs = self.cstruct.batch[:self.amount] + textures = [] + for ptr in ptrs: + texture = ctypes.cast(ptr.data, + ctypes.POINTER( + ctypes.c_ubyte * self.size))[0] + textures.append(texture) + return textures