pymunge.swbf.builders package

Submodules

pymunge.swbf.builders.builder module

class pymunge.swbf.builders.builder.BinaryProperty(magic: str, buffer: bytearray, pad: bool = True)

Bases: UcfbNode

data() bytes
class pymunge.swbf.builders.builder.Ext

Bases: Enum

Class = 'class'
Model = 'model'
enumerators = [('Class', 'class'), ('Model', 'model')]
class pymunge.swbf.builders.builder.Magic

Bases: Enum

Arcs = 'ARCS'
Barrier = 'BARR'
Base = 'BASE'
Bin_ = 'BIN_'
Bnam = 'BNAM'
Data = 'DATA'
Dxt1 = 'DXT1'
Dxt3 = 'DXT3'
EntityClass = 'entc'
ExplosionClass = 'expc'
Face = 'FACE'
Flag = 'FLAG'
Format = 'FMT_'
Gmod = 'gmod'
Ibuf = 'IBUF'
Info = 'INFO'
Leaf = 'LEAF'
Level = 'lvl_'
Localization = 'Locl'
Lod0 = 'LOD0'
Material = 'MTRL'
Mina = 'MINA'
Model = 'modl'
Name = 'NAME'
Node = 'NODE'
OrdnanceClass = 'ordc'
Plan = 'plan'
Prnt = 'PRNT'
Property = 'PROP'
Region = 'regn'
Rtyp = 'RTYP'
Scop = 'SCOP'
Script = 'scr_'
Segm = 'segm'
Size = 'SIZE'
Skeleton = 'skel'
Sky = 'sky_'
Snam = 'SNAM'
Sphr = 'SPHR'
Tada = 'TADA'
Texture = 'tex_'
TextureName = 'TNAM'
Tnja = 'TNJA'
Tree = 'TREE'
Type = 'TYPE'
Ucfb = 'ucfb'
Vbuf = 'VBUF'
WeaponClass = 'wpnc'
Xfrm = 'XFRM'
enumerators = [('Arcs', 'ARCS'), ('Barrier', 'BARR'), ('Base', 'BASE'), ('Bin_', 'BIN_'), ('Bnam', 'BNAM'), ('Data', 'DATA'), ('Dxt1', 'DXT1'), ('Dxt3', 'DXT3'), ('EntityClass', 'entc'), ('ExplosionClass', 'expc'), ('Face', 'FACE'), ('Flag', 'FLAG'), ('Format', 'FMT_'), ('Gmod', 'gmod'), ('Ibuf', 'IBUF'), ('Info', 'INFO'), ('Leaf', 'LEAF'), ('Level', 'lvl_'), ('Localization', 'Locl'), ('Lod0', 'LOD0'), ('Name', 'NAME'), ('Node', 'NODE'), ('Material', 'MTRL'), ('Mina', 'MINA'), ('Model', 'modl'), ('OrdnanceClass', 'ordc'), ('Plan', 'plan'), ('Property', 'PROP'), ('Prnt', 'PRNT'), ('Region', 'regn'), ('Rtyp', 'RTYP'), ('Script', 'scr_'), ('Scop', 'SCOP'), ('Segm', 'segm'), ('Size', 'SIZE'), ('Sky', 'sky_'), ('Skeleton', 'skel'), ('Snam', 'SNAM'), ('Sphr', 'SPHR'), ('Texture', 'tex_'), ('Tada', 'TADA'), ('TextureName', 'TNAM'), ('Tnja', 'TNJA'), ('Tree', 'TREE'), ('Type', 'TYPE'), ('Ucfb', 'ucfb'), ('Vbuf', 'VBUF'), ('WeaponClass', 'wpnc'), ('Xfrm', 'XFRM')]
class pymunge.swbf.builders.builder.NumberProperty(magic: str, number: int)

Bases: UcfbNode

data() bytes
class pymunge.swbf.builders.builder.Script(name: str, info: str, body: bytearray)

Bases: SwbfUcfbBuilder

class pymunge.swbf.builders.builder.Skeleton(name: str, root: str, properties: dict)

Bases: SwbfUcfbBuilder

class pymunge.swbf.builders.builder.StringProperty(magic: str, string: str, pad: bool = True)

Bases: UcfbNode

data() bytes
class pymunge.swbf.builders.builder.SwbfUcfbBuilder(tree: Document, magic: str)

Bases: UcfbNode

Extension = 'bin'
build()
data() bytearray
dump(width: int = 16)
class pymunge.swbf.builders.builder.Ucfb(tree: ReqParser)

Bases: SwbfUcfbBuilder

Universal Chunk Format Block (UCFB)

build()
class pymunge.swbf.builders.builder.UcfbNode

Bases: object

add(node)
pymunge.swbf.builders.builder.float32_array_data(numbers: list[float]) bytes
pymunge.swbf.builders.builder.float32_data(number: float) bytes
pymunge.swbf.builders.builder.int32_data(number: int) bytes
pymunge.swbf.builders.builder.string_data(string: str) bytes

pymunge.swbf.builders.fnv1a module

pymunge.swbf.builders.fnv1a.fnv1a_32(s: str) int

Customized fnv1a (32-bit variant) algorithm. Converts unsigned 32 bit integer hash from the input string. The input string is converted to lowercase () while hashing.

Parameters:

s (str) – The input string.

Returns:

The calculated hash value.

Return type:

int

pymunge.swbf.builders.msh module

pymunge.swbf.builders.odf module

class pymunge.swbf.builders.odf.ClassBuilder(tree: OdfParser)

Bases: SwbfUcfbBuilder

Extension = 'class'
build()
class pymunge.swbf.builders.odf.ClassBuilderError(text: str | None = None)

Bases: ErrorMessage

CODE = 14
NAME = 'ClassBuilderError'
TOPIC = 'ODF'
class pymunge.swbf.builders.odf.ClassBuilderWarning(text: str | None = None)

Bases: WarningMessage

CODE = 15
NAME = 'ClassBuilderWarning'
TOPIC = 'ODF'
class pymunge.swbf.builders.odf.ClassChunk

Bases: object

BASE = 'BASE'
PROP = 'PROP'
TYPE = 'TYPE'
class pymunge.swbf.builders.odf.InconsistentSections(section_count: int, filepath: Path)

Bases: ClassBuilderError

CODE = 16
NAME = 'InconsistentSections'
class pymunge.swbf.builders.odf.MissingNode(node: type[OdfNode], filepath: Path)

Bases: ClassBuilderError

CODE = 18
NAME = 'MissingNode'
class pymunge.swbf.builders.odf.MissingSection(name: str, filepath: Path)

Bases: ClassBuilderError

CODE = 17
NAME = 'MissingSection'

Module contents