Esempio n. 1
0
class VersionInfo(BasicBitfield):
    """
	Determines the format of the OVL file.
	n.b. pos counts from the end!
	# compression                         __ _
	# pc/pz uncompressed	8212	00100000 00010100
	# pc/pz zlib			8340	00100000 10010100
	# pc/pz oodle			8724	00100010 00010100
	
	# JWE (uncomp)	        24596	01100000 00010100
	# JWE zlib				24724	01100000 10010100
	# JWE oodle (switch)	25108	01100010 00010100
	"""
    unk_1 = BitfieldMember(pos=2, mask=0x4, return_type=bool)
    unk_2 = BitfieldMember(pos=4, mask=0x10, return_type=bool)
    compression = BitfieldMember(pos=7, mask=0x380, return_type=Compression)
    unk_3 = BitfieldMember(pos=13, mask=0x2000, return_type=bool)
    is_jwe = BitfieldMember(pos=14, mask=0x4000, return_type=bool)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
Esempio n. 2
0
class ModelFlagZT(BasicBitfield):

	"""
	Determines the data held by a mesh.
	"""
	stripify = BitfieldMember(pos=6, mask=0x40, return_type=bool)
	repeat_tris = BitfieldMember(pos=9, mask=0x200, return_type=bool)

	def set_defaults(self):
		pass

	def read(self, stream):
		self._value = stream.read_uint()

	def write(self, stream):
		stream.write_uint(self._value)
Esempio n. 3
0
class ModelFlag(BasicBitfield):
    """
	Determines the data held by a mesh.
	Count from the end!!!
	"""
    basic_info = BitfieldMember(pos=9, mask=0x200, return_type=bool)
    weights = BitfieldMember(pos=4, mask=0x10, return_type=bool)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
Esempio n. 4
0
class RenderFlag(BasicBitfield):
    """
	Determines how the model is rendered.
	"""
    a = BitfieldMember(pos=0, mask=0x1, return_type=bool)
    b = BitfieldMember(pos=1, mask=0x2, return_type=bool)
    c = BitfieldMember(pos=2, mask=0x4, return_type=bool)
    d = BitfieldMember(pos=3, mask=0x8, return_type=bool)
    e = BitfieldMember(pos=4, mask=0x10, return_type=bool)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_ushort()

    def write(self, stream):
        stream.write_ushort(self._value)
Esempio n. 5
0
class ModelFlag(BasicBitfield):
    """
	Determines the data held by a mesh.
	"""
    stripify = BitfieldMember(pos=3, mask=0x8, return_type=bool)
    weights = BitfieldMember(pos=4, mask=0x10, return_type=bool)
    repeat_tris = BitfieldMember(pos=5, mask=0x20, return_type=bool)
    fur_shells = BitfieldMember(pos=8, mask=0x100, return_type=bool)
    basic_info = BitfieldMember(pos=9, mask=0x200, return_type=bool)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
Esempio n. 6
0
class Caps2(BasicBitfield):
    reserved_1 = BitfieldMember(pos=0, mask=0x1ff, return_type=int)
    cubemap = BitfieldMember(pos=9, mask=0x200, return_type=int)
    cubemap_pos_x = BitfieldMember(pos=10, mask=0x400, return_type=int)
    cubemap_neg_x = BitfieldMember(pos=11, mask=0x800, return_type=int)
    cubemap_pos_y = BitfieldMember(pos=12, mask=0x1000, return_type=int)
    cubemap_neg_y = BitfieldMember(pos=13, mask=0x2000, return_type=int)
    cubemap_pos_z = BitfieldMember(pos=14, mask=0x4000, return_type=int)
    cubemap_neg_z = BitfieldMember(pos=15, mask=0x8000, return_type=int)
    reserved_2 = BitfieldMember(pos=16, mask=0x1f0000, return_type=int)
    volume = BitfieldMember(pos=21, mask=0x200000, return_type=int)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
class ModelFlag(BasicBitfield):

	"""
	Determines the data held by a mesh.
	"""
	active = BitfieldMember(pos=3, mask=0x8, return_type=bool)
	basic_info = BitfieldMember(pos=4, mask=0x10, return_type=bool)
	manager_controlled = BitfieldMember(pos=5, mask=0x20, return_type=bool)
	compute_scaled_time = BitfieldMember(pos=6, mask=0x40, return_type=bool)
	weights = BitfieldMember(pos=7, mask=0x80, return_type=bool)

	def set_defaults(self):
		self.active = 1
		self.compute_scaled_time = 1

	def read(self, stream):
		self._value = stream.read_uint()

	def write(self, stream):
		stream.write_uint(self._value)
Esempio n. 8
0
class VersionInfo(BasicBitfield):
    """
	Determines the format of the OVL file held by a mesh.
	n.b. pos counts from the end!
	"""
    unk_1 = BitfieldMember(pos=2, mask=0x4, return_type=bool)
    unk_2 = BitfieldMember(pos=4, mask=0x10, return_type=bool)
    use_zlib = BitfieldMember(pos=7, mask=0x80, return_type=bool)
    use_oodle = BitfieldMember(pos=9, mask=0x200, return_type=bool)
    unk_3 = BitfieldMember(pos=13, mask=0x2000, return_type=bool)
    is_jwe = BitfieldMember(pos=14, mask=0x4000, return_type=bool)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
Esempio n. 9
0
class HeaderFlags(BasicBitfield):
    caps = BitfieldMember(pos=0, mask=0x1, return_type=int)
    height = BitfieldMember(pos=1, mask=0x2, return_type=int)
    width = BitfieldMember(pos=2, mask=0x4, return_type=int)
    pitch = BitfieldMember(pos=3, mask=0x8, return_type=int)
    reserved_1 = BitfieldMember(pos=4, mask=0xff0, return_type=int)
    pixel_format = BitfieldMember(pos=12, mask=0x1000, return_type=int)
    reserved_2 = BitfieldMember(pos=13, mask=0x1e000, return_type=int)
    mipmap_count = BitfieldMember(pos=17, mask=0x20000, return_type=int)
    reserved_3 = BitfieldMember(pos=18, mask=0x40000, return_type=int)
    linear_size = BitfieldMember(pos=19, mask=0x80000, return_type=int)
    reserved_4 = BitfieldMember(pos=20, mask=0x700000, return_type=int)
    depth = BitfieldMember(pos=23, mask=0x800000, return_type=int)

    def set_defaults(self):
        self.caps = 1
        self.pixel_format = 1

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)
Esempio n. 10
0
class PixelFormatFlags(BasicBitfield):
    alpha_pixels = BitfieldMember(pos=0, mask=0x1, return_type=int)
    alpha = BitfieldMember(pos=1, mask=0x2, return_type=int)
    four_c_c = BitfieldMember(pos=2, mask=0x4, return_type=int)
    palette_indexed_4 = BitfieldMember(pos=3, mask=0x8, return_type=int)
    reserved_1 = BitfieldMember(pos=4, mask=0x10, return_type=int)
    palette_indexed_8 = BitfieldMember(pos=5, mask=0x20, return_type=int)
    rgb = BitfieldMember(pos=6, mask=0x40, return_type=int)
    reserved_2 = BitfieldMember(pos=7, mask=0x780, return_type=int)
    palette_indexed_1 = BitfieldMember(pos=11, mask=0x800, return_type=int)
    palette_indexed_2 = BitfieldMember(pos=12, mask=0x1000, return_type=int)
    reserved_3 = BitfieldMember(pos=13, mask=0x6000, return_type=int)
    alpha_premult = BitfieldMember(pos=15, mask=0x8000, return_type=int)
    reserved_4 = BitfieldMember(pos=16, mask=0x10000, return_type=int)
    luminance = BitfieldMember(pos=17, mask=0x20000, return_type=int)
    reserved_5 = BitfieldMember(pos=18, mask=0x7ffc0000, return_type=int)
    normal = BitfieldMember(pos=31, mask=0x80000000, return_type=int)

    def set_defaults(self):
        pass

    def read(self, stream):
        self._value = stream.read_uint()

    def write(self, stream):
        stream.write_uint(self._value)