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:
SwbfUcfbBuilderUniversal Chunk Format Block (UCFB)
- build()¶
- 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'¶