mrcrowbar.lib.platforms.director module

class mrcrowbar.lib.platforms.director.BitmapCastV4(*argc, **argv)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

bounding_rect = <BlockField: 0x00007f0c834b4230>
bpp = <Bits16: offset=0x0, bits=0b1111000000000000>
initial_rect = <BlockField: 0x00007f0c83581e50>
pitch = <Bits16: offset=0x0, bits=0b111111111111>
reg_x = <UInt16_BE: offset=0x14>
reg_y = <UInt16_BE: offset=0x12>
property repr

Plaintext summary of the Block.

unk4 = <Bytes: offset=0x16>
class mrcrowbar.lib.platforms.director.BitmapCompressor[source]

Bases: Transform

import_data(buffer, parent=None)[source]

Perform a reverse-transform on a byte string.

buffer

Source byte string.

parent

Parent object of the source (to provide context for Refs).

class mrcrowbar.lib.platforms.director.BitmapV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

data = <Bytes: offset=0x0>
class mrcrowbar.lib.platforms.director.Blank(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

property repr

Plaintext summary of the Block.

value = None
class mrcrowbar.lib.platforms.director.BuiltinPalette(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

GRAYSCALE = 253
METALLIC = 249
NTSC = 250
PASTELS = 252
RAINBOW = 254
SYSTEM_MAC = 255
SYSTEM_WIN = 155
VIVID = 251
class mrcrowbar.lib.platforms.director.CastListV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

index = <UInt32_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.CastType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

BITMAP = 1
BUTTON = 7
FILM_LOOP = 2
MOVIE = 9
NULL = 0
PALETTE = 4
PICTURE = 5
RTE = 12
SCRIPT = 11
SHAPE = 8
SOUND = 6
TEXT = 3
VIDEO = 10
class mrcrowbar.lib.platforms.director.CastV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CAST_MAP = {CastType.BITMAP: <class 'mrcrowbar.lib.platforms.director.BitmapCastV4'>, CastType.SHAPE: <class 'mrcrowbar.lib.platforms.director.ShapeCastV4'>, CastType.SCRIPT: <class 'mrcrowbar.lib.platforms.director.ScriptCastV4'>}
cast_type = <UInt8: offset=0x6>
detail = <BlockField: 0x00007f0c834b48c0>
garbage = <Bytes: offset=<EndOffset: detail (rw)>>
property repr

Plaintext summary of the Block.

size1 = <UInt16_BE: offset=0x0>
size2 = <UInt32_BE: offset=0x2>
unk1 = <UInt8: offset=0x7>
class mrcrowbar.lib.platforms.director.ChannelCompressor[source]

Bases: Transform

import_data(buffer, parent=None)[source]

Perform a reverse-transform on a byte string.

buffer

Source byte string.

parent

Parent object of the source (to provide context for Refs).

class mrcrowbar.lib.platforms.director.ChannelType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

FRAME_SCRIPT = 16
PALETTE = 32
SPRITE = 0
class mrcrowbar.lib.platforms.director.ChannelV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHANNEL_MAP = {ChannelType.FRAME_SCRIPT: <class 'mrcrowbar.lib.platforms.director.ScriptChannelV4'>, None: <class 'mrcrowbar.lib.platforms.director.EmptyChannelV4'>}
channel_offset = <UInt16_BE: offset=0x2>
property channel_row
channel_size = <UInt16_BE: offset=0x0>
property channel_type
property channel_type_wrap
data = <BlockField: 0x00007f0c83516c40>
property repr

Plaintext summary of the Block.

class mrcrowbar.lib.platforms.director.ConfigV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

bit_depth = <Int16_BE: offset=0x1c>
cast_array_end = <UInt16_BE: offset=0xe>
cast_array_start = <UInt16_BE: offset=0xc>
checksum = <UInt32_BE: offset=0x40>
property checksum_v4
colour_flag = <UInt8: offset=0x1e>
comment_font = <Int16_BE: offset=0x14>
comment_size = <Int16_BE: offset=0x16>
comment_style = <UInt8: offset=0x18>
comment_style_2 = <UInt8: offset=0x19>
frame_rate = <UInt8: offset=0x10>
length = <UInt16_BE: offset=0x0>
light_switch = <UInt8: offset=0x11>
movie_rect = <BlockField: 0x00007f0c8351ef90>
palette_id = <UInt16_BE: offset=0x46>
protection_bits = <Int16_BE: offset=0x3a>
stage_colour = <Int16_BE: offset=0x1a>
unk1 = <Int16_BE: offset=0x12>
unk10 = <Int32_BE: offset=0x2c>
unk11 = <Int32_BE: offset=0x30>
unk12 = <UInt8: offset=0x34>
unk13 = <Int16_BE: offset=0x36>
unk14 = <Int16_BE: offset=0x38>
unk15 = <UInt32_BE: offset=0x3c>
unk16 = <UInt16_BE: offset=0x44>
unk17 = <UInt8: offset=0x35>
unk4 = <Bytes: offset=0x48, length=8>
unk5 = <UInt8: offset=0x1f>
unk6 = <Int32_BE: offset=0x20>
unk7 = <Int16_BE: offset=0x24>
unk8 = <Int16_BE: offset=0x26>
unk9 = <Int32_BE: offset=0x28>
ver1 = <UInt16_BE: offset=0x2>
class mrcrowbar.lib.platforms.director.DirectorV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFX

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS

alias of DirectorV4Map

magic = <UInt32_P: offset=0x0>
map = <BlockField: 0x00007f0c83515e00>
size = <UInt32_P: offset=0x4>
class mrcrowbar.lib.platforms.director.DirectorV4Map(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFXMap

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP = {1112101956: <class 'mrcrowbar.lib.platforms.director.BitmapV4'>, 1128354602: <class 'mrcrowbar.lib.platforms.director.CastListV4'>, 1128354676: <class 'mrcrowbar.lib.platforms.director.CastV4'>, 1262836010: <class 'mrcrowbar.lib.platforms.director.KeyV4'>, 1281586296: <class 'mrcrowbar.lib.platforms.director.ScriptContextV4'>, 1282302317: <class 'mrcrowbar.lib.platforms.director.ScriptNamesV4'>, 1282630514: <class 'mrcrowbar.lib.platforms.director.ScriptV4'>, 1380533848: <class 'mrcrowbar.lib.platforms.director.DirectorV4Map'>, 1398036564: <class 'mrcrowbar.lib.platforms.director.TextV4'>, 1399812708: <class 'mrcrowbar.lib.platforms.director.SordV4'>, 1448559430: <class 'mrcrowbar.lib.platforms.director.ConfigV4'>, 1448563523: <class 'mrcrowbar.lib.platforms.director.ScoreV4'>, 1768776048: <class 'mrcrowbar.lib.platforms.director.IMapV4'>, 1835884912: <class 'mrcrowbar.lib.platforms.director.MMapV4'>, 1936614432: <class 'mrcrowbar.lib.platforms.director.SoundV4'>}
form_type = <Bytes: offset=0x0, length=4>
stream = <ChunkField: 0x00007f0c83565f90>
class mrcrowbar.lib.platforms.director.DirectorV4Parser(dirfile)[source]

Bases: object

dump_scripts()[source]
get_all_from_mmap(chunk_id, include_missing=False)[source]
get_from_mmap_index(index)[source]
get_from_mmap_list()[source]
get_from_offset(offset)[source]
get_last_from_mmap(chunk_id, include_missing=False)[source]
class mrcrowbar.lib.platforms.director.DirectorV4_LE(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFX

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS

alias of DirectorV4Map

magic = <UInt32_P: offset=0x0>
map = <BlockField: 0x00007f0c83515e00>
size = <UInt32_P: offset=0x4>
class mrcrowbar.lib.platforms.director.DirectorV5(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFX

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS

alias of DirectorV5Map

magic = <UInt32_P: offset=0x0>
map = <BlockField: 0x00007f0c83515e00>
size = <UInt32_P: offset=0x4>
class mrcrowbar.lib.platforms.director.DirectorV5Map(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFXMap

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP = {1112101956: <class 'mrcrowbar.lib.platforms.director.BitmapV4'>, 1128354602: <class 'mrcrowbar.lib.platforms.director.CastListV4'>, 1128354676: <class 'mrcrowbar.lib.platforms.director.CastV4'>, 1262836010: <class 'mrcrowbar.lib.platforms.director.KeyV4'>, 1281586296: <class 'mrcrowbar.lib.platforms.director.ScriptContextV4'>, 1282302317: <class 'mrcrowbar.lib.platforms.director.ScriptNamesV4'>, 1282630514: <class 'mrcrowbar.lib.platforms.director.ScriptV5'>, 1398036564: <class 'mrcrowbar.lib.platforms.director.TextV4'>, 1399812708: <class 'mrcrowbar.lib.platforms.director.SordV4'>, 1448559430: <class 'mrcrowbar.lib.platforms.director.ConfigV4'>, 1448563523: <class 'mrcrowbar.lib.platforms.director.ScoreV4'>, 1768776048: <class 'mrcrowbar.lib.platforms.director.IMapV4'>, 1835884912: <class 'mrcrowbar.lib.platforms.director.MMapV4'>, 1936614432: <class 'mrcrowbar.blocks.Unknown'>}
form_type = <Bytes: offset=0x0, length=4>
stream = <ChunkField: 0x00007f0c83565f90>
class mrcrowbar.lib.platforms.director.DirectorV5_LE(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: RIFX

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS

alias of DirectorV5Map

magic = <UInt32_P: offset=0x0>
map = <BlockField: 0x00007f0c83515e00>
size = <UInt32_P: offset=0x4>
class mrcrowbar.lib.platforms.director.EmptyChannelV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

class mrcrowbar.lib.platforms.director.FrameV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

channels = <BlockField: 0x00007f0c8355f890>
property repr

Plaintext summary of the Block.

size = <UInt16_BE: offset=0x0>
property size_channels
class mrcrowbar.lib.platforms.director.IMapV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

mmap_offset = <UInt32_P: offset=0x4>
unk1 = <UInt32_P: offset=0x0>
unk2 = <Bytes: offset=0xc>
version = <UInt32_P: offset=0x8>
class mrcrowbar.lib.platforms.director.KeyEntry(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

cast_index = <UInt32_P: offset=0x4>
chunk_id = <UInt32_P: offset=0x8>
property repr

Plaintext summary of the Block.

section_index = <UInt32_P: offset=0x0>
class mrcrowbar.lib.platforms.director.KeyV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

entries = <BlockField: 0x00007f0c8351d010>
entry_count = <UInt32_P: offset=0x8>
slot_count = <UInt32_P: offset=0x4>
unk1 = <UInt16_P: offset=0x0>
unk2 = <UInt16_P: offset=0x2>
class mrcrowbar.lib.platforms.director.LingoV4(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

ADD = 5
AMPERSAND = 10
AND = 18
CALL = 86
CALL_EXTERNAL = 87
CALL_EXTERNAL_OBJ = 99
CALL_METHOD = 88
CONCAT = 11
CONTAINS = 21
DIV = 7
EQ = 15
EXIT = 1
FIELD = 27
GE = 17
GT = 16
HILITE = 24
INTERSECTS = 25
JUMP = 147
JUMP_BACK = 84
JUMP_IF = 149
LE = 13
LIST = 30
LT = 12
MOD = 8
MULT = 4
NEGATE = 9
NEQ = 14
NOT = 20
OF = 23
OR = 19
POP_FROM_STACK = 101
POP_GLOBAL = 79
POP_GLOBAL_U16 = 143
POP_LOCAL = 82
POP_PARAM = 81
POP_PROPERTY = 80
POP_PROPERTY_CTX = 96
POP_PROPERTY_CTX_U16 = 160
POP_PROPERTY_OBJ = 98
POP_PROPERTY_OBJ_U16 = 162
POP_PROPERTY_U16 = 144
PROPLIST = 31
PUSH_0 = 3
PUSH_ARGC = 67
PUSH_ARGCNORET = 66
PUSH_ARGCNORET_U16 = 130
PUSH_ARGC_U16 = 131
PUSH_CONST = 68
PUSH_CONST_U16 = 132
PUSH_FROM_STACK = 100
PUSH_GLOBAL = 73
PUSH_GLOBAL_U16 = 137
PUSH_INT = 65
PUSH_INT_U16 = 129
PUSH_LOCAL = 76
PUSH_NAME = 69
PUSH_OBJECT = 70
PUSH_PARAM = 75
PUSH_PATH_U16 = 166
PUSH_PROPERTY = 74
PUSH_PROPERTY_CTX = 95
PUSH_PROPERTY_OBJ = 97
PUSH_PROPERTY_OBJ_U16 = 161
PUSH_PROPERTY_RO = 102
PUT = 90
PUT_TEXTVAR = 89
SLICE_DEL = 91
STARTS = 22
SUB = 6
TELL = 28
TELL_DONE = 29
THE_ENTITY_GET = 92
THE_ENTITY_SET = 93
UNK_00 = 0
UNK_02 = 2
UNK_20 = 32
UNK_21 = 33
UNK_22 = 34
UNK_23 = 35
UNK_24 = 36
UNK_25 = 37
UNK_26 = 38
UNK_27 = 39
UNK_28 = 40
UNK_29 = 41
UNK_2A = 42
UNK_2B = 43
UNK_2C = 44
UNK_2D = 45
UNK_2E = 46
UNK_2F = 47
UNK_30 = 48
UNK_31 = 49
UNK_32 = 50
UNK_33 = 51
UNK_34 = 52
UNK_35 = 53
UNK_36 = 54
UNK_37 = 55
UNK_38 = 56
UNK_39 = 57
UNK_3A = 58
UNK_3B = 59
UNK_3C = 60
UNK_3D = 61
UNK_3E = 62
UNK_3F = 63
UNK_40 = 64
UNK_47 = 71
UNK_48 = 72
UNK_4D = 77
UNK_4E = 78
UNK_53 = 83
UNK_55 = 85
UNK_5E = 94
UNK_67 = 103
UNK_68 = 104
UNK_69 = 105
UNK_6A = 106
UNK_6B = 107
UNK_6C = 108
UNK_6D = 109
UNK_6E = 110
UNK_6F = 111
UNK_70 = 112
UNK_71 = 113
UNK_72 = 114
UNK_73 = 115
UNK_74 = 116
UNK_75 = 117
UNK_76 = 118
UNK_77 = 119
UNK_78 = 120
UNK_79 = 121
UNK_7A = 122
UNK_7B = 123
UNK_7C = 124
UNK_7D = 125
UNK_7E = 126
UNK_7F = 127
UNK_80 = 128
UNK_85 = 133
UNK_86 = 134
UNK_87 = 135
UNK_88 = 136
UNK_8A = 138
UNK_8B = 139
UNK_8C = 140
UNK_8D = 141
UNK_8E = 142
UNK_91 = 145
UNK_92 = 146
UNK_94 = 148
UNK_96 = 150
UNK_97 = 151
UNK_98 = 152
UNK_99 = 153
UNK_9A = 154
UNK_9B = 155
UNK_9C = 156
UNK_9D = 157
UNK_9E = 158
UNK_9F = 159
UNK_A3 = 163
UNK_A4 = 164
UNK_A5 = 165
UNK_A7 = 167
UNK_A8 = 168
UNK_A9 = 169
UNK_AA = 170
UNK_AB = 171
UNK_AC = 172
UNK_AD = 173
UNK_AE = 174
UNK_AF = 175
UNK_B0 = 176
UNK_B1 = 177
UNK_B2 = 178
UNK_B3 = 179
UNK_B4 = 180
UNK_B5 = 181
UNK_B6 = 182
UNK_B7 = 183
UNK_B8 = 184
UNK_B9 = 185
UNK_BA = 186
UNK_BB = 187
UNK_BC = 188
UNK_BD = 189
UNK_BE = 190
UNK_BF = 191
UNK_C0 = 192
UNK_C1 = 193
UNK_C2 = 194
UNK_C3 = 195
UNK_C4 = 196
UNK_C5 = 197
UNK_C6 = 198
UNK_C7 = 199
UNK_C8 = 200
UNK_C9 = 201
UNK_CA = 202
UNK_CB = 203
UNK_CC = 204
UNK_CD = 205
UNK_CE = 206
UNK_CF = 207
UNK_D0 = 208
UNK_D1 = 209
UNK_D2 = 210
UNK_D3 = 211
UNK_D4 = 212
UNK_D5 = 213
UNK_D6 = 214
UNK_D7 = 215
UNK_D8 = 216
UNK_D9 = 217
UNK_DA = 218
UNK_DB = 219
UNK_DC = 220
UNK_DD = 221
UNK_DE = 222
UNK_DF = 223
UNK_E0 = 224
UNK_E1 = 225
UNK_E2 = 226
UNK_E3 = 227
UNK_E4 = 228
UNK_E5 = 229
UNK_E6 = 230
UNK_E7 = 231
UNK_E8 = 232
UNK_E9 = 233
UNK_EA = 234
UNK_EB = 235
UNK_EC = 236
UNK_ED = 237
UNK_EE = 238
UNK_EF = 239
UNK_F0 = 240
UNK_F1 = 241
UNK_F2 = 242
UNK_F3 = 243
UNK_F4 = 244
UNK_F5 = 245
UNK_F6 = 246
UNK_F7 = 247
UNK_F8 = 248
UNK_F9 = 249
UNK_FA = 250
UNK_FB = 251
UNK_FC = 252
UNK_FD = 253
UNK_FE = 254
UNK_FF = 255
WITHIN = 26
class mrcrowbar.lib.platforms.director.MMapEntry(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

chunk_id = <UInt32_P: offset=0x0>
flags = <UInt16_P: offset=0xc>
import_data(*args, **kwargs)[source]

Import data from a byte array.

raw_buffer

Byte array to import from.

length = <UInt32_P: offset=0x4>
memsize = <UInt32_P: offset=0x10>
offset = <UInt32_P: offset=0x8>
property repr

Plaintext summary of the Block.

unk1 = <UInt16_P: offset=0xe>
class mrcrowbar.lib.platforms.director.MMapV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

entries = <BlockField: 0x00007f0c8351ea50>
entries_max = <UInt32_P: offset=0x4>
entries_used = <UInt32_P: offset=0x8>
garbage = <Bytes: offset=<EndOffset: entries (rw)>>
property repr

Plaintext summary of the Block.

unk1 = <Bytes: offset=0x0, length=8>
unk2 = <Bytes: offset=0xc, length=8>
unk3 = <UInt32_P: offset=0x14>
class mrcrowbar.lib.platforms.director.MV93(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS = {1112101956: <class 'mrcrowbar.lib.platforms.director.BitmapV4'>, 1128354602: <class 'mrcrowbar.lib.platforms.director.CastListV4'>, 1128354676: <class 'mrcrowbar.lib.platforms.director.CastV4'>, 1262836010: <class 'mrcrowbar.lib.platforms.director.KeyV4'>, 1281586296: <class 'mrcrowbar.lib.platforms.director.ScriptContextV4'>, 1282302317: <class 'mrcrowbar.lib.platforms.director.ScriptNamesV4'>, 1282630514: <class 'mrcrowbar.lib.platforms.director.ScriptV4'>, 1380533848: <class 'mrcrowbar.lib.platforms.director.DirectorV4Map'>, 1398036564: <class 'mrcrowbar.lib.platforms.director.TextV4'>, 1399812708: <class 'mrcrowbar.lib.platforms.director.SordV4'>, 1448559430: <class 'mrcrowbar.lib.platforms.director.ConfigV4'>, 1448563523: <class 'mrcrowbar.lib.platforms.director.ScoreV4'>, 1768776048: <class 'mrcrowbar.lib.platforms.director.IMapV4'>, 1835884912: <class 'mrcrowbar.lib.platforms.director.MMapV4'>, 1936614432: <class 'mrcrowbar.lib.platforms.director.SoundV4'>}
data_length = <UInt32_P: offset=0x4>
magic = <Bytes: offset=0x0, length=4>
magic2 = <Bytes: offset=0x8, length=4>
stream = <ChunkField: 0x00007f0c834203e0>
class mrcrowbar.lib.platforms.director.MV93_LE(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS = {1112101956: <class 'mrcrowbar.lib.platforms.director.BitmapV4'>, 1128354602: <class 'mrcrowbar.lib.platforms.director.CastListV4'>, 1128354676: <class 'mrcrowbar.lib.platforms.director.CastV4'>, 1262836010: <class 'mrcrowbar.lib.platforms.director.KeyV4'>, 1281586296: <class 'mrcrowbar.lib.platforms.director.ScriptContextV4'>, 1282302317: <class 'mrcrowbar.lib.platforms.director.ScriptNamesV4'>, 1282630514: <class 'mrcrowbar.lib.platforms.director.ScriptV4'>, 1380533848: <class 'mrcrowbar.lib.platforms.director.DirectorV4Map'>, 1398036564: <class 'mrcrowbar.lib.platforms.director.TextV4'>, 1399812708: <class 'mrcrowbar.lib.platforms.director.SordV4'>, 1448559430: <class 'mrcrowbar.lib.platforms.director.ConfigV4'>, 1448563523: <class 'mrcrowbar.lib.platforms.director.ScoreV4'>, 1768776048: <class 'mrcrowbar.lib.platforms.director.IMapV4'>, 1835884912: <class 'mrcrowbar.lib.platforms.director.MMapV4'>, 1936614432: <class 'mrcrowbar.lib.platforms.director.SoundV4'>}
data_length = <UInt32_P: offset=0x4>
magic = <Bytes: offset=0x0, length=4>
magic2 = <Bytes: offset=0x8, length=4>
stream = <ChunkField: 0x00007f0c834202b0>
class mrcrowbar.lib.platforms.director.MV93_V5(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

CHUNK_MAP_CLASS = {1112101956: <class 'mrcrowbar.lib.platforms.director.BitmapV4'>, 1128354602: <class 'mrcrowbar.lib.platforms.director.CastListV4'>, 1128354676: <class 'mrcrowbar.lib.platforms.director.CastV4'>, 1262836010: <class 'mrcrowbar.lib.platforms.director.KeyV4'>, 1281586296: <class 'mrcrowbar.lib.platforms.director.ScriptContextV4'>, 1282302317: <class 'mrcrowbar.lib.platforms.director.ScriptNamesV4'>, 1282630514: <class 'mrcrowbar.lib.platforms.director.ScriptV5'>, 1398036564: <class 'mrcrowbar.lib.platforms.director.TextV4'>, 1399812708: <class 'mrcrowbar.lib.platforms.director.SordV4'>, 1448559430: <class 'mrcrowbar.lib.platforms.director.ConfigV4'>, 1448563523: <class 'mrcrowbar.lib.platforms.director.ScoreV4'>, 1768776048: <class 'mrcrowbar.lib.platforms.director.IMapV4'>, 1835884912: <class 'mrcrowbar.lib.platforms.director.MMapV4'>, 1936614432: <class 'mrcrowbar.blocks.Unknown'>}
data_length = <UInt32_P: offset=0x4>
magic = <Bytes: offset=0x0, length=4>
magic2 = <Bytes: offset=0x8, length=4>
stream = <ChunkField: 0x00007f0c83410170>
class mrcrowbar.lib.platforms.director.PJ93_LE(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

dirdib_drv_offset = <UInt32_P: offset=0x14>
fontmap_offset = <UInt32_P: offset=0x8>
macromix_dll_offset = <UInt32_P: offset=0x18>
magic = <Bytes: offset=0x0, length=4>
resfork1_offset = <UInt32_P: offset=0xc>
resfork2_offset = <UInt32_P: offset=0x10>
rifx_offset = <UInt32_P: offset=0x4>
rifx_offset_dup = <UInt32_P: offset=0x1c>
unk1 = <Bytes: offset=0x20, length=12>
class mrcrowbar.lib.platforms.director.Rect(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

bottom = <Int16_BE: offset=0x4>
property height
left = <Int16_BE: offset=0x2>
property repr

Plaintext summary of the Block.

right = <Int16_BE: offset=0x6>
top = <Int16_BE: offset=0x0>
property width
class mrcrowbar.lib.platforms.director.ScoreV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

extra = <Bytes: offset=<EndOffset: frames (rw)>>
frames = <BlockField: 0x00007f0c83526690>
property repr

Plaintext summary of the Block.

size = <UInt32_BE: offset=0x0>
property size_frames
unk1 = <UInt32_BE: offset=0x4>
unk2 = <UInt32_BE: offset=0x8>
unk3 = <UInt16_BE: offset=0xc>
unk4 = <UInt16_BE: offset=0xe>
unk5 = <UInt16_BE: offset=0x10>
unk6 = <UInt16_BE: offset=0x12>
class mrcrowbar.lib.platforms.director.ScriptArguments(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

name_index = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ScriptCastV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

code = <Bytes: offset=<EndOffset: vars (rw)>, length=<Ref: code_len (rw)>>
property code_len
property repr

Plaintext summary of the Block.

script_id = <UInt16_BE: offset=0x14>
unk1 = <Bytes: offset=0x0, length=20>
unk2 = <UInt32_BE: offset=0x18>
unk3 = <Bytes: offset=<EndOffset: code (rw)>>
var_count = <UInt16_BE: offset=0x16>
vars = <UInt32_BE: offset=0x1c>
class mrcrowbar.lib.platforms.director.ScriptChannelV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

index = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ScriptCode(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

instructions = <ChunkField: 0x00007f0c835674d0>
class mrcrowbar.lib.platforms.director.ScriptConstantFloat(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

offset = <UInt32_BE: offset=0x0>
property repr

Plaintext summary of the Block.

value = <StoreRef: 0x00007f0c83567250>
class mrcrowbar.lib.platforms.director.ScriptConstantString(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

offset = <UInt32_BE: offset=0x0>
property repr

Plaintext summary of the Block.

value = <StoreRef: 0x00007f0c83566d50>
class mrcrowbar.lib.platforms.director.ScriptConstantType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

FLOAT = 9
STRING = 1
UINT32 = 4
class mrcrowbar.lib.platforms.director.ScriptConstantUInt32(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

property repr

Plaintext summary of the Block.

value = <UInt32_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ScriptConstantV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

SCRIPT_CONSTANT_TYPES = {1: <class 'mrcrowbar.lib.platforms.director.ScriptConstantString'>, 4: <class 'mrcrowbar.lib.platforms.director.ScriptConstantUInt32'>, 9: <class 'mrcrowbar.lib.platforms.director.ScriptConstantFloat'>}
const = <BlockField: 0x00007f0c8351ecf0>
const_type = <UInt16_BE: offset=0x0>
property repr

Plaintext summary of the Block.

class mrcrowbar.lib.platforms.director.ScriptConstantV5(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

SCRIPT_CONSTANT_TYPES = {1: <class 'mrcrowbar.lib.platforms.director.ScriptConstantString'>, 4: <class 'mrcrowbar.lib.platforms.director.ScriptConstantUInt32'>, 9: <class 'mrcrowbar.lib.platforms.director.ScriptConstantFloat'>}
const = <BlockField: 0x00007f0c8351e970>
const_type = <UInt32_BE: offset=0x0>
property repr

Plaintext summary of the Block.

class mrcrowbar.lib.platforms.director.ScriptContextEntry(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

active = <Bits16: offset=0x8, bits=0b100>
index = <UInt16_BE: offset=0x6>
property repr

Plaintext summary of the Block.

unk1 = <UInt16_BE: offset=0x0>
unk2 = <UInt16_BE: offset=0x2>
unk3 = <UInt16_BE: offset=0x4>
unk4 = <Bits16: offset=0x8, bits=0b1111111111111011>
class mrcrowbar.lib.platforms.director.ScriptContextV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

entries = <BlockField: 0x00007f0c8351d390>
list_count = <UInt32_BE: offset=0x8>
list_count_2 = <UInt32_BE: offset=0xc>
list_offset = <UInt16_BE: offset=0x10>
unk1 = <Bytes: offset=0x0, length=8>
unk2 = <UInt16_BE: offset=0x12>
unk3 = <Bytes: offset=0x14, length=22>
class mrcrowbar.lib.platforms.director.ScriptFloat(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

exponent = <Bits16: offset=0x4, bits=0b111111111111111>
fraction = <Bits64: offset=0x6, bits=0b111111111111111111111111111111111111111111111111111111111111111>
integer = <Bits64: offset=0x6, bits=0b1000000000000000000000000000000000000000000000000000000000000000>
length = <UInt32_BE: offset=0x0>
property repr

Plaintext summary of the Block.

sign = <Bits16: offset=0x4, bits=0b1000000000000000>
property value
class mrcrowbar.lib.platforms.director.ScriptFunction(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

args = <StoreRef: 0x00007f0c83517bb0>
args_count = <UInt16_BE: offset=0xc>
args_offset = <UInt32_BE: offset=0xe>
property args_size
code = <StoreRef: 0x00007f0c83517a80>
length = <UInt32_BE: offset=0x4>
name_index = <UInt16_BE: offset=0x0>
offset = <UInt32_BE: offset=0x8>
property repr

Plaintext summary of the Block.

unk1 = <UInt16_BE: offset=0x2>
unk10 = <UInt16_BE: offset=0x1e>
unk11 = <UInt16_BE: offset=0x20>
unk12 = <UInt16_BE: offset=0x22>
unk13 = <UInt16_BE: offset=0x24>
unk14 = <UInt16_BE: offset=0x26>
unk15 = <UInt16_BE: offset=0x28>
unk2 = <UInt16_BE: offset=0x18>
unk8 = <UInt16_BE: offset=0x1a>
unk9 = <UInt16_BE: offset=0x1c>
vars = <StoreRef: 0x00007f0c834ffbf0>
vars_count = <UInt16_BE: offset=0x12>
vars_offset = <UInt32_BE: offset=0x14>
property vars_size
class mrcrowbar.lib.platforms.director.ScriptGlobal(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

name_index = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ScriptNamesV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

count = <UInt16_BE: offset=0x12>
length_1 = <UInt16_BE: offset=0x8>
length_2 = <UInt16_BE: offset=0xc>
names = <StringField: offset=<Ref: offset (rw)>, count=<Ref: count (rw)>>
offset = <UInt16_BE: offset=0x10>
unk1 = <UInt16_BE: offset=0x0>
unk2 = <UInt16_BE: offset=0x2>
unk3 = <UInt16_BE: offset=0x4>
unk4 = <UInt16_BE: offset=0x6>
unk5 = <UInt16_BE: offset=0xa>
unk6 = <UInt16_BE: offset=0xe>
class mrcrowbar.lib.platforms.director.ScriptString(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

length = <UInt32_BE: offset=0x0>
property repr

Plaintext summary of the Block.

value = <CString: offset=0x4, length=<Ref: length (rw)>>
class mrcrowbar.lib.platforms.director.ScriptV4(*args, **kwargs)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

cast_id = <UInt16_BE: offset=0x2e>
property code_store_base
code_store_offset = <UInt16_BE: offset=0x10>
code_store_raw = <Bytes: offset=<Ref: code_store_offset (rw)>, length=<Ref: code_store_size (rw)>>
property code_store_size
consts = <BlockField: 0x00007f0c8351edd0>
consts_base = <UInt16_BE: offset=0x5a>
consts_count = <UInt16_BE: offset=0x4e>
consts_offset = <UInt16_BE: offset=0x52>
consts_raw = <Bytes: offset=<EndOffset: consts (rw)>>
property consts_store_offset
consts_unk = <UInt16_BE: offset=0x56>
factory_name_id = <Int16_BE: offset=0x30>
functions = <BlockField: 0x00007f0c8351eeb0>
functions_count = <UInt16_BE: offset=0x48>
functions_offset = <UInt16_BE: offset=0x4c>
globals = <BlockField: 0x00007f0c8351d8d0>
globals_count = <UInt16_BE: offset=0x42>
globals_offset = <UInt16_BE: offset=0x40>
unk1 = <Bytes: offset=0x0, length=16>
unk2 = <Bytes: offset=0x12, length=28>
unk3 = <Bytes: offset=0x44, length=4>
unk4 = <UInt16_BE: offset=0x4a>
unk6 = <UInt16_BE: offset=0x50>
unk7 = <UInt16_BE: offset=0x54>
unk8 = <UInt16_BE: offset=0x58>
unk9 = <Bytes: offset=0x32, length=14>
class mrcrowbar.lib.platforms.director.ScriptV5(*args, **kwargs)[source]

Bases: ScriptV4

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

cast_id = <UInt16_BE: offset=0x2e>
code_store_offset = <UInt16_BE: offset=0x10>
code_store_raw = <Bytes: offset=<Ref: code_store_offset (rw)>, length=<Ref: code_store_size (rw)>>
consts = <BlockField: 0x00007f0c8351e890>
consts_base = <UInt16_BE: offset=0x5a>
consts_count = <UInt16_BE: offset=0x4e>
consts_offset = <UInt16_BE: offset=0x52>
consts_raw = <Bytes: offset=<EndOffset: consts (rw)>>
consts_unk = <UInt16_BE: offset=0x56>
factory_name_id = <Int16_BE: offset=0x30>
functions = <BlockField: 0x00007f0c8351eeb0>
functions_count = <UInt16_BE: offset=0x48>
functions_offset = <UInt16_BE: offset=0x4c>
globals = <BlockField: 0x00007f0c8351d8d0>
globals_count = <UInt16_BE: offset=0x42>
globals_offset = <UInt16_BE: offset=0x40>
unk1 = <Bytes: offset=0x0, length=16>
unk2 = <Bytes: offset=0x12, length=28>
unk3 = <Bytes: offset=0x44, length=4>
unk4 = <UInt16_BE: offset=0x4a>
unk6 = <UInt16_BE: offset=0x50>
unk7 = <UInt16_BE: offset=0x54>
unk8 = <UInt16_BE: offset=0x58>
unk9 = <Bytes: offset=0x32, length=14>
class mrcrowbar.lib.platforms.director.ScriptVariables(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

name_index = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ShapeCastV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

bg_colour = <UInt8: offset=0xd>
fg_colour = <UInt8: offset=0xc>
fill_type = <UInt8: offset=0xe>
line_direction = <UInt8: offset=0x10>
line_thickness = <UInt8: offset=0xf>
pattern = <UInt16_BE: offset=0xa>
rect = <BlockField: 0x00007f0c83581d50>
type = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.ShapeType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

LINE = 4
OVAL = 3
RECTANGLE = 1
ROUND_RECT = 2
class mrcrowbar.lib.platforms.director.SordV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

count = <UInt32_BE: offset=0xc>
index = <UInt16_BE: offset=0x14>
unk1 = <Bytes: offset=0x0, length=12>
unk2 = <UInt16_BE: offset=0x10>
unk3 = <UInt16_BE: offset=0x12>
class mrcrowbar.lib.platforms.director.SoundCastV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

extra = <BlockField: 0x00007f0c835267a0>
extra_size = <UInt8: offset=0x20>
property repr

Plaintext summary of the Block.

unk1 = <Bytes: offset=0x0, length=32>
class mrcrowbar.lib.platforms.director.SoundCastV4Extra(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

name = <CString: offset=0x1, length=<Ref: name_size (rw)>>
name_size = <UInt8: offset=0x0>
property repr

Plaintext summary of the Block.

class mrcrowbar.lib.platforms.director.SoundV4(*argc, **argv)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

channels = <UInt16_BE: offset=0x14>
data = <Bytes: offset=0x4e>
length = <UInt32_BE: offset=0x1e>
length_copy = <UInt32_BE: offset=0x24>
property repr

Plaintext summary of the Block.

sample_bits = <UInt16_BE: offset=0x3e>
sample_rate = <UInt16_BE: offset=0x16>
property sample_signedness
property sample_width
unk1 = <Bytes: offset=0x0, length=20>
unk2 = <Bytes: offset=0x18, length=6>
unk3 = <UInt16_BE: offset=0x22>
unk4 = <UInt16_BE: offset=0x28>
unk5 = <UInt16_BE: offset=0x2a>
unk6 = <UInt16_BE: offset=0x2c>
unk7 = <Bytes: offset=0x2e, length=18>
class mrcrowbar.lib.platforms.director.Sprite(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

cast_id = <UInt16_BE: offset=0x6>
flags = <UInt16_BE: offset=0x4>
height = <UInt16_BE: offset=0xc>
script_id = <UInt8: offset=0x0>
sprite_type = <UInt8: offset=0x1>
start_x = <UInt16_BE: offset=0x8>
start_y = <UInt16_BE: offset=0xa>
width = <UInt16_BE: offset=0xe>
x2 = <UInt16_BE: offset=0x2>
class mrcrowbar.lib.platforms.director.SpriteChannelV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

bg_colour = <UInt8: offset=0x3>
cast_id = <UInt16_BE: offset=0x6>
fg_colour = <UInt8: offset=0x2>
height = <UInt16_BE: offset=0xc>
ink = <Bits: offset=0x5, bits=0b111111>
line_size = <Bits: offset=0x4, bits=0b11>
script_id = <UInt8: offset=0x0>
trails = <Bits: offset=0x5, bits=0b1000000>
type = <UInt8: offset=0x1>
unk4 = <Bits: offset=0x4, bits=0b11111100>
unk5 = <Bits: offset=0x5, bits=0b10000000>
width = <UInt16_BE: offset=0xe>
x_pos = <UInt16_BE: offset=0xa>
y_pos = <UInt16_BE: offset=0x8>
class mrcrowbar.lib.platforms.director.SpriteType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

BITMAP = 1
BUTTON = 8
CAST_MEMBER = 16
CHECKBOX = 9
DIR_MOVIE = 18
FILM_LOOP = 17
INACTIVE = 0
LINE_BOTTOM_TOP = 6
LINE_TOP_BOTTOM = 5
OUTLINED_OVAL = 14
OUTLINED_RECTANGLE = 12
OUTLINED_ROUNDED_RECTANGLE = 13
OVAL = 4
PICT = 11
RADIO_BUTTON = 10
RECTANGLE = 2
ROUNDED_RECTANGLE = 3
TEXT = 7
THINK_LINE = 15
UNUSED = 255
class mrcrowbar.lib.platforms.director.TextV4(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

data = <Bytes: offset=0xc, length=<Ref: length (rw)>>
length = <UInt32_BE: offset=0x4>
unk1 = <UInt32_BE: offset=0x0>
unk2 = <UInt32_BE: offset=0x8>
unk3 = <Bytes: offset=<EndOffset: data (rw)>>
class mrcrowbar.lib.platforms.director.Write16(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

property repr

Plaintext summary of the Block.

value = <UInt16_BE: offset=0x0>
class mrcrowbar.lib.platforms.director.Write8(source_data=None, parent=None, preload_attrs=None, endian=None, cache_bytes=False, path_hint=None)[source]

Bases: Block

Base class for Blocks.

source_data

Source data to construct Block with. Can be a byte string, dictionary of attribute: value pairs, or another Block object.

parent

Parent Block object where this Block is defined. Used for e.g. evaluating Refs.

preload_attrs

Attributes on the Block to set before importing the data. Used for linking in dependencies before loading.

endian

Platform endianness to use when interpreting the Block data. Useful for Blocks which have the same data layout but different endianness for stored numbers. Has no effect on fields with an predefined endianness.

cache_bytes

Cache the bytes equivalent of the Block. Useful for debugging the loading procedure. Defaults to False.

path_hint

Cache a string containing the path of the current Block, relative to the root.

property repr

Plaintext summary of the Block.

value = <UInt8: offset=0x0>
mrcrowbar.lib.platforms.director.unlock_dir_file(filename, klass=<class 'mrcrowbar.lib.platforms.director.DirectorV4'>)[source]