Xc3-model-py

Latest version: v0.12.0

Safety actively analyzes 701948 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.12.0

Added
* Added field `root_translation` to `animation.Animation` for additional translation of the root bone.
* Added variant `Unk` to `material.ColorWriteMode`.
* Added variant `Unk21` to `TextureUsage`.
* Added function `load_collisions` for loading collision data from `.wiidcm` or `.idcm` files.
* Added `collision` module for collision mesh data.

Changed
* Changed animation loading methods like `animation.Animation.model_space_transforms` to include root bone translation if present.

Removed
* Removed `shader_database.ModelPrograms` and `shader_database.MapPrograms` as they are no longer used.
* Removed `map` and `model` methods from `shader_database.ShaderDatabase` to match database changes. Access the shader from the material instead.

0.11.0

Added
* Added field `outline_width` to `material.OutputAssignments`.
* Added field `outline_width` to `shader_database.ShaderProgram`.
* Added field `skinning` to `Models`.
* Added types `Skinning`, `Bone`, `BoneBounds`, `BoneConstraint`, and `BoneConstraintType` to `skinning` module.
* Added method `monolib.ShaderTextures.global_textures` for accessing all supported sampler names and textures.

Changed
* Changed `shader_database.BufferDependency.index` to be an `int` or `None`.
* Changed `channels` fields for all types in `shader_database` to `channel` with a single character string or `None`.
* Changed shader database files to use a custom binary format.

0.10.0

Added
* Added type `monolib.ShaderTextures`.
* Added type `material.FurShellParams`.
* Added type `material.WorkCallback` for the element type of `Material.work_callbacks`.
* Added variant `Overlay` to `shader_database.LayerBlendMode`.
* Added type `shader_database.OutputDependencies` to store dependencies and layers.
* Added function `decode_images_png`.

Changed
* Moved material types in `materials` module.
* Changed `material.OutputAssignment` to store layers per channel.
* Changed `material.OutputLayerAssignment` to `material.LayerChannelAssignment`.

Removed
* Removed fields `color_layers` and `normal_layers` from `shader_database.ShaderProgram`.
* Removed field `alpha_test_ref` from `material.MaterialParameters`.

0.9.0

Added
* Added field `normal_layers` to `shader_database.ShaderProgram`.
* Added field `layers` to `OutputAssignment`.
* Added type `OutputLayerAssignment`.
* Added field `color_layers` to `shader_database.ShaderProgram`.
* Added fields `blend_mode` and `is_fresnel` to `OutputLayerAssignment`.
* Added fields `blend_mode` and `is_fresnel` to `shader_database.TextureLayer`.
* Added type `shader_database.LayerBlendMode`.

Changed
* Changed method `ChannelAssignment.textures` to `ChannelAssignment.texture` with a single texture assignment.
* Combined fields `name` and `channel` for `shader_database.TextureLayer` to a single field `value` of type `shader_database.Dependency`.

0.8.0

Added
* Added field `outline_buffers` to `vertex.ModelBuffers`.
* Added type `vertex.OutlineBuffer`.
* Added field `color` to `Material`.
* Added field `primitive_type` to `vertex.IndexBuffer`.
* Added type `vertex.PrimitiveType`.
* Added variants `WeightIndex2`, `Unk15`, `Unk16`, `Unk18`, `Unk24`, `Unk25`, `Unk26`, `Unk30`, `Unk31`, `Normal2`, `ValInf`, `Normal3`, `VertexColor3`, and `Flow` to `vertex.AttributeType`.
* Added type `EncodeSurfaceRgbaFloat32Args` for encoding floating point images.
* Added type `EncodeSurfaceRgba8Args` for encoding images.
* Added function `encode_images_rgbaf32` for encoding floating point images in parallel.
* Added function `encode_images_rgba8` for encoding images in parallel.
* Added function `decode_images_rgbaf32` for decoding images in parallel.
* Added type `Dds` as an opaque wrapper for DDS files.
* Added static method `ImageTexture.from_dds` for low cost conversion of DDS files.

Changed
* Improved accuracy of vertex data rebuilding.

Removed
* Removed field `mat_color` from `MaterialParameters`.
* Removed method `ModelRoot.decode_images_rgbaf32`. Use `decode_images_rgbaf32` instead.
* Removed method `MapRoot.decode_images_rgbaf32`. Use `decode_images_rgbaf32` instead.

Fixed
* Fixed an issue where `ModelRoot.save_images_rgba8` and `MapRoot.save_images_rgba8` did not work due to incorrect feature flags.

0.7.0

Added
* Added type `ChannelAssignmentAttribute` for vertex attribute shader dependencies.
* Added method `attribute` to `ChannelAssignment`.
* Added fields `flags`, `render_flags`, `state_flags`, `work_values`, `shader_vars`, `work_callbacks`, `alpha_test_ref`, `m_unks1_1`, `m_unks1_2`, `m_unks1_3`, `m_unks1_4`, `technique_index`, `parameters`, `m_unks2_2`, and `m_unks3_1` to `Material`.
* Added shader database types in the `shader_database` module for querying the database information.
* Added type `ColorWriteMode` for material state flags.

Changed
* Renamed `Mesh.unk_mesh_index1` to `Mesh.index_buffer_index2` to better reflect in game data.
* Changed the behavior of `ModelRoot.to_mxmd_model` to also recreate materials.
* Changed the output of exceptions to include inner errors for easier debugging.
* Renamed `ChannelAssignmentTexture` to `TextureAssignment`.
* Changed field `TextureAssignment.channel_index` to `TextureAssignment.channels`.
* Changed field `TextureAssignment.texture_scale` to `TextureAssignment.texture_transforms`.
* Renamed `Shader` to `ShaderProgram`.
* Changed the `ShaderProgram.texture` method to `ShaderProgram.textures` method that returns an optional list of assigned textures.
* Changed `load_model` and `load_map` functions to take `xc3_model_py.shader_database.ShaderDatabase` instead of a path.
* Changed `load_model_legacy` to take an optional `xc3_model_py.shader_database.ShaderDatabase` argument.

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.