@gwigz/homunculus-core
Version:
A third-party framework for interacting with Linden Lab's virtual world "Second Life"
88 lines (87 loc) • 2.74 kB
TypeScript
/**
* ObjectUpdate Packet
*
* This file is used to help our packet serialization and deserialization
* process, and to create new packets on the fly.
*
* ⚠️ Do not edit this file manually, it is generated by the `codegen` script!
*
* @see {@link http://wiki.secondlife.com/wiki/Message_Layout}
*/
import { Color4, F32, U16, U64, UUID, Variable1, Variable2, Vector3 } from "../types";
import { type PacketMetadata } from "./packet";
export interface ObjectUpdateData {
regionData?: {
regionHandle: number | bigint;
timeDilation: number;
};
objectData?: {
id: number;
state: number;
fullId: string;
crc: number;
pCode: number;
material: number;
clickAction: number;
scale: Vector3;
objectData: string | Buffer;
parentId: number;
updateFlags: number;
pathCurve: number;
profileCurve: number;
pathBegin: number;
pathEnd: number;
pathScaleX: number;
pathScaleY: number;
pathShearX: number;
pathShearY: number;
pathTwist: number;
pathTwistBegin: number;
pathRadiusOffset: number;
pathTaperX: number;
pathTaperY: number;
pathRevolutions: number;
pathSkew: number;
profileBegin: number;
profileEnd: number;
profileHollow: number;
textureEntry: string | Buffer;
textureAnim: string | Buffer;
nameValue: string | Buffer;
data: string | Buffer;
text: string | Buffer;
textColor: Color4;
mediaUrl: string | Buffer;
pSBlock: string | Buffer;
extraParams: string | Buffer;
sound: string;
ownerId: string;
gain: number;
flags: number;
radius: number;
jointType: number;
jointPivot: Vector3;
jointAxisOrAnchor: Vector3;
}[];
}
export declare const objectUpdateMetadata: {
id: number;
name: string;
trusted: true;
compression: true;
blocks: ({
name: string;
parameters: ([string, typeof U16] | [string, typeof U64])[];
multiple?: undefined;
} | {
name: string;
parameters: ([string, typeof UUID] | [string, typeof Vector3] | [string, typeof Variable1] | [string, typeof F32] | [string, typeof Variable2] | [string, typeof Color4])[];
multiple: true;
})[];
};
export declare const objectUpdate: (data: ObjectUpdateData, reliable?: boolean) => {
data: ObjectUpdateData;
reliable: boolean | undefined;
metadata: PacketMetadata;
};
export declare const createObjectUpdateDelegate: (config: Omit<import("..").DelegateConfig<ObjectUpdateData>, "metadata">) => void;