gettextures() returns list of writable byte arrays

This commit is contained in:
_ 2018-05-17 22:44:00 -07:00
parent e63154cd7f
commit 52de706a96

View File

@ -136,7 +136,8 @@ class pyTextureBatch:
self.cstruct.batch = None self.cstruct.batch = None
tbd = pyTextureBatchDescriptor(i, filedata) tbd = pyTextureBatchDescriptor(i, filedata)
self.amount = tbd.gettexnumber() self.amount = tbd.gettexnumber()
memsize = self.amount * tbd.gettexturesize() self.size = tbd.gettexturesize()
memsize = self.amount * self.size
self.cstruct.batch = ctypes.cast( self.cstruct.batch = ctypes.cast(
ctypes.create_string_buffer(memsize), ctypes.create_string_buffer(memsize),
ctypes.POINTER(Texture)) ctypes.POINTER(Texture))
@ -149,5 +150,12 @@ class pyTextureBatch:
return return
def gettextures(self): 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