Implement native object models (#68)
This commit is contained in:
@@ -890,7 +890,6 @@ fn render_visual_catalog(catalog: &VisualCatalog) -> String {
|
||||
visual_parameters: Vec::new(),\n\
|
||||
})\n\
|
||||
}\n\n\
|
||||
pub(crate) fn new_texture_entry_face() -> Result<crate::PrimitiveTextureEntryFace, crate::Error> { Ok(crate::PrimitiveTextureEntryFace) }\n\n\
|
||||
#[cfg(test)] mod tests { use super::*; #[test] fn golden_catalog_shape_and_values() { let params = generated_params(); assert_eq!(params.len(), 672); assert_eq!(GROUP0_PARAM_IDS.len(), 253); assert!(GROUP0_PARAM_IDS.windows(2).all(|ids| ids[0] < ids[1])); let height = ¶ms[&33]; assert_eq!(height.name, \"Height\"); assert_eq!(height.group, 0); assert_eq!(height.wearable.as_deref(), Some(\"shape\")); assert_eq!(height.min_value, -2.3); assert_eq!(height.max_value, 2.0); assert!(!height.skeletal_distortions.as_ref().unwrap().is_empty()); } }\n",
|
||||
);
|
||||
body
|
||||
|
||||
@@ -197,6 +197,18 @@ NATIVE_TYPES = {
|
||||
"T:LibreMetaverse.Messages.Linden.EventQueueGetMessage": "crate::event_queue::EventQueueGetMessage",
|
||||
"T:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage": "crate::message_decoder::AttachmentResourcesMessage",
|
||||
"T:LibreMetaverse.Primitive.PhysicsProperties": "crate::message_decoder::PrimitivePhysicsProperties",
|
||||
"T:LibreMetaverse.Primitive": "crate::object_model::Primitive",
|
||||
"T:LibreMetaverse.Primitive.ConstructionData": "crate::object_model::PrimitiveConstructionData",
|
||||
"T:LibreMetaverse.Primitive.FlexibleData": "crate::object_model::PrimitiveFlexibleData",
|
||||
"T:LibreMetaverse.Primitive.LightData": "crate::object_model::PrimitiveLightData",
|
||||
"T:LibreMetaverse.Primitive.LightImage": "crate::object_model::PrimitiveLightImage",
|
||||
"T:LibreMetaverse.Primitive.ObjectProperties": "crate::object_model::PrimitiveObjectProperties",
|
||||
"T:LibreMetaverse.Primitive.ParticleSystem": "crate::object_model::PrimitiveParticleSystem",
|
||||
"T:LibreMetaverse.Primitive.SculptData": "crate::object_model::PrimitiveSculptData",
|
||||
"T:LibreMetaverse.Primitive.TextureAnimation": "crate::object_model::PrimitiveTextureAnimation",
|
||||
"T:LibreMetaverse.Primitive.TextureEntry": "crate::object_model::PrimitiveTextureEntry",
|
||||
"T:LibreMetaverse.Primitive.TextureEntryFace": "crate::object_model::PrimitiveTextureEntryFace",
|
||||
"T:LibreMetaverse.Materials.LegacyMaterial": "crate::object_model::LegacyMaterial",
|
||||
"T:LibreMetaverse.ArchetypeParam": "crate::genepool_catalog::ArchetypeParam",
|
||||
"T:LibreMetaverse.AttentionData": "crate::attention_catalog::AttentionData",
|
||||
"T:LibreMetaverse.AttentionSet": "crate::attention_catalog::AttentionSet",
|
||||
@@ -330,6 +342,18 @@ NATIVE_DECLARATIONS = {
|
||||
}
|
||||
|
||||
NATIVE_MEMBER_BODIES = {
|
||||
"M:LibreMetaverse.Helpers.TEGlowByte(System.Single)":
|
||||
"Ok(crate::object_model::te_glow_byte(glow))",
|
||||
"M:LibreMetaverse.Helpers.TEGlowFloat(System.Byte[],System.Int32)":
|
||||
"crate::object_model::te_glow_float(bytes, pos)",
|
||||
"M:LibreMetaverse.Helpers.TEOffsetFloat(System.Byte[],System.Int32)":
|
||||
"crate::object_model::te_offset_float(bytes, pos)",
|
||||
"M:LibreMetaverse.Helpers.TEOffsetShort(System.Single)":
|
||||
"Ok(crate::object_model::te_offset_short(offset))",
|
||||
"M:LibreMetaverse.Helpers.TERotationFloat(System.Byte[],System.Int32)":
|
||||
"crate::object_model::te_rotation_float(bytes, pos)",
|
||||
"M:LibreMetaverse.Helpers.TERotationShort(System.Single)":
|
||||
"Ok(crate::object_model::te_rotation_short(rotation))",
|
||||
"M:LibreMetaverse.AvatarAnimationEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation})":
|
||||
"crate::avatar_manager::AvatarAnimationEventArgs::native_new(avatar_id, anims)",
|
||||
"P:LibreMetaverse.AvatarAnimationEventArgs.Animations":
|
||||
@@ -1871,8 +1895,6 @@ NATIVE_MEMBER_BODIES = {
|
||||
"crate::foliage_catalog::grass_by_id(self.prim_data.state)",
|
||||
"M:LibreMetaverse.Primitive.GetTreeDefinition":
|
||||
"crate::foliage_catalog::TreeDefinitions::get(self.tree_species)",
|
||||
"M:LibreMetaverse.Primitive.TextureEntryFace.#ctor(LibreMetaverse.Primitive.TextureEntryFace)":
|
||||
"crate::visual_catalog::new_texture_entry_face()",
|
||||
"M:LibreMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)":
|
||||
"crate::notation::buffer_characters_equal(reader, buffer, offset)",
|
||||
"M:LibreMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)":
|
||||
|
||||
@@ -1014,6 +1014,7 @@ def validate_generated_shims() -> None:
|
||||
"crate::message_decoder::",
|
||||
"crate::NameValue {",
|
||||
"crate::object_material::",
|
||||
"crate::object_model::",
|
||||
"crate::notation::",
|
||||
"crate::packet_catalog::",
|
||||
"crate::packet_wire::",
|
||||
|
||||
Reference in New Issue
Block a user