Implement native TGA and DDS compatibility (#39)

This commit is contained in:
2026-08-09 02:51:39 +00:00
parent 2c806d80ff
commit 5d1573fc82
10 changed files with 1285 additions and 31 deletions

View File

@@ -7,7 +7,12 @@ license.workspace = true
repository.workspace = true
description = "Rust rewrite shell for the LibreMetaverse client library"
[features]
default = ["dds-bc67"]
dds-bc67 = ["dep:bcdec_rs"]
[dependencies]
bcdec_rs = { version = "0.2.0", optional = true }
libremetaverse-imaging = { path = "../libremetaverse-imaging" }
libremetaverse-structured-data = { path = "../libremetaverse-structured-data" }
libremetaverse-types = { path = "../libremetaverse-types" }

View File

@@ -34081,33 +34081,10 @@ pub mod imaging {
}
/// C# type: `T:LibreMetaverse.Imaging.Targa`.
pub struct Targa;
impl Targa {
/// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.IO.Stream)`.
pub fn decode_to_managed_image_with_stream(
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.IO.Stream)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.String)`.
pub fn decode_to_managed_image_with_string(
file_name: String,
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.String)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.Targa.Encode(LibreMetaverse.Imaging.ManagedImage)`.
pub fn encode(
image: libremetaverse_imaging::ManagedImage,
) -> Result<Vec<u8>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Targa.Encode(LibreMetaverse.Imaging.ManagedImage)",
)
}
}
/// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.IO.Stream)`.
/// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.String)`.
/// C# member: `M:LibreMetaverse.Imaging.Targa.Encode(LibreMetaverse.Imaging.ManagedImage)`.
pub use crate::targa::Targa;
}
pub mod import_export {

View File

@@ -3,6 +3,7 @@
extern crate self as libremetaverse;
mod generated;
mod targa;
#[cfg(test)]
mod appearance_baker_semantics;

File diff suppressed because it is too large Load Diff