rollnw.model
- class rollnw.model.Mdl
Implementation of ASCII Mdl file format
- static from_file(path)
Loads mdl file from file path
- valid()
Determines if file was successfully parsed
- class rollnw.model.MdlAABBNode
AABB model node
- entries: List[MdlAABBEntry]
- class rollnw.model.MdlAnimation
Class containing model animation
- anim_root: str
- events: List[MdlAnimationEvent]
- length: float
- transition_time: float
- class rollnw.model.MdlCameraNode
Camera node
- enum rollnw.model.MdlClassification(value)
Model classes
- Member Type:
int
Valid values are as follows:
- invalid = <MdlClassification.invalid: 1>
- effect = <MdlClassification.effect: 2>
- tile = <MdlClassification.tile: 3>
- character = <MdlClassification.character: 4>
- door = <MdlClassification.door: 5>
- item = <MdlClassification.item: 6>
- gui = <MdlClassification.gui: 7>
- class rollnw.model.MdlControllerKey
Model controller
- columns: int
- data_offset: int
- is_key: bool
- key_offset: int
- name: str
- rows: int
- time_offset: int
- type: int
- class rollnw.model.MdlControllerType
Controller types
- alpha: ClassVar[int]
- alpha_end: ClassVar[int]
- alpha_mid: ClassVar[int]
- alpha_start: ClassVar[int]
- birthrate: ClassVar[int]
- blur_length: ClassVar[int]
- bounce_co: ClassVar[int]
- color: ClassVar[int]
- color_end: ClassVar[int]
- color_mid: ClassVar[int]
- color_start: ClassVar[int]
- combine_time: ClassVar[int]
- detonate: ClassVar[int]
- drag: ClassVar[int]
- fps: ClassVar[int]
- frame_end: ClassVar[int]
- frame_start: ClassVar[int]
- grav: ClassVar[int]
- life_exp: ClassVar[int]
- lightning_delay: ClassVar[int]
- lightning_radius: ClassVar[int]
- lightning_scale: ClassVar[int]
- lightning_subdiv: ClassVar[int]
- mass: ClassVar[int]
- multiplier: ClassVar[int]
- orientation: ClassVar[int]
- p2p_bezier2: ClassVar[int]
- p2p_bezier3: ClassVar[int]
- particle_rot: ClassVar[int]
- percent_end: ClassVar[int]
- percent_mid: ClassVar[int]
- percent_start: ClassVar[int]
- position: ClassVar[int]
- radius: ClassVar[int]
- rand_vel: ClassVar[int]
- scale: ClassVar[int]
- self_illum_color: ClassVar[int]
- shadow_radius: ClassVar[int]
- size_end: ClassVar[int]
- size_end_y: ClassVar[int]
- size_mid: ClassVar[int]
- size_mid_y: ClassVar[int]
- size_start: ClassVar[int]
- size_start_y: ClassVar[int]
- spread: ClassVar[int]
- threshold: ClassVar[int]
- velocity: ClassVar[int]
- vertical_displacement: ClassVar[int]
- wirecolor: ClassVar[int]
- xsize: ClassVar[int]
- ysize: ClassVar[int]
- class rollnw.model.MdlDanglymeshNode
- constraints: List[float]
- displacement: float
- period: float
- tightness: float
- class rollnw.model.MdlDummyNode
Dummy node
- class rollnw.model.MdlEmitterNode
Emitter node
- blastlength: float
- blastradius: float
- blend: str
- blend_sel: int
- chunkname: str
- deadspace: float
- flags: int
- loop: int
- opacity: float
- p2p_type: str
- render: str
- render_sel: int
- renderorder: int
- spawntype: int
- spawntype_sel: int
- texture: str
- twosidedtex: int
- update: str
- update_sel: int
- xgrid: int
- ygrid: int
- class rollnw.model.MdlFace
Model face
- material_idx: int
- shader_group_idx: int
- tvert_idx: List[int]
- vert_idx: List[int]
- enum rollnw.model.MdlGeometryFlag(value)
Geometry flags
- Member Type:
int
Valid values are as follows:
- geometry = <MdlGeometryFlag.geometry: 1>
- model = <MdlGeometryFlag.model: 2>
- animation = <MdlGeometryFlag.animation: 3>
- binary = <MdlGeometryFlag.binary: 4>
- enum rollnw.model.MdlGeometryType(value)
Geometry types
- Member Type:
int
Valid values are as follows:
- geometry = <MdlGeometryType.geometry: 1>
- model = <MdlGeometryType.model: 2>
- animation = <MdlGeometryType.animation: 3>
- class rollnw.model.MdlLightNode
Light node
- affectdynamic: int
- ambientonly: int
- dynamic: bool
- fadinglight: int
- flarepositions: List[float]
- flareradius: float
- flaresizes: List[float]
- generateflare: int
- lensflares: float
- lightpriority: int
- multiplier: float
- shadow: int
- textures: List[str]
- class rollnw.model.MdlModel
A parsed model
- animation_count()
Gets the number of animations
- animations()
Gets an iterator of animations
- animationscale: float
- classification: int
- file_dependency: str
- get_animation(index: int)
Gets an animation
- ignorefog: bool
- radius: float
- supermodel_name: str
- class rollnw.model.MdlNode
Base Model Node
- get_controller(type: int, is_key: bool) Tuple[MdlControllerKey, List[float], List[float]]
Gets a controller key and times and key data
Note
If not an animation, time will be empty
- inheritcolor: bool
- name: str
- type: int
- class rollnw.model.MdlNodeFlags
Model node flags
- aabb: ClassVar[int]
- anim: ClassVar[int]
- camera: ClassVar[int]
- dangly: ClassVar[int]
- emitter: ClassVar[int]
- header: ClassVar[int]
- light: ClassVar[int]
- mesh: ClassVar[int]
- patch: ClassVar[int]
- reference: ClassVar[int]
- skin: ClassVar[int]
- class rollnw.model.MdlNodeType
Model node types
- aabb: ClassVar[int]
- animmesh: ClassVar[int]
- camera: ClassVar[int]
- danglymesh: ClassVar[int]
- dummy: ClassVar[int]
- emitter: ClassVar[int]
- light: ClassVar[int]
- patch: ClassVar[int]
- reference: ClassVar[int]
- skin: ClassVar[int]
- trimesh: ClassVar[int]
- class rollnw.model.MdlPatchNode
Patch node
- class rollnw.model.MdlSkinNode
Skin mesh node
- vertices: List[SkinVertex]
List of vertex positions, texcoords, normals, tangents
- enum rollnw.model.MdlTriangleMode(value)
Triangle mode
- Member Type:
int
Valid values are as follows:
- triangle = <MdlTriangleMode.triangle: 1>
- triangle_strip = <MdlTriangleMode.triangle_strip: 2>
- class rollnw.model.MdlTrimeshNode
Trimesh Node
- beaming: bool
- bitmap: str
- displtype: int
- indices: List[int]
List of vertex indices
- lightmapped: int
- materialname: str
- multimaterial: List[str]
- render: bool
- renderhint: str
- rotatetexture: bool
- shadow: bool
- shininess: float
- showdispl: bool
- textures: List[str]
- tilefade: int
- transparencyhint: int
- class rollnw.model.ModelEmitterFlag
Emitter flags
- affected_by_wind: ClassVar[int]
- bounce: ClassVar[int]
- inherit: ClassVar[int]
- inherit_local: ClassVar[int]
- inherit_part: ClassVar[int]
- inherit_vel: ClassVar[int]
- is_tinted: ClassVar[int]
- p2p: ClassVar[int]
- p2p_sel: ClassVar[int]
- random: ClassVar[int]
- splat: ClassVar[int]
- class rollnw.model.SkinVertex
Skin Vertex data