@gwigz/homunculus-core
Version:
A third-party framework for interacting with Linden Lab's virtual world "Second Life"
77 lines (76 loc) • 2.41 kB
TypeScript
/**
* RegionHandshake 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 { Bool, F32, U64, UUID, Variable1 } from "../types";
import { type PacketMetadata } from "./packet";
export interface RegionHandshakeData {
regionInfo?: {
regionFlags: number;
simAccess: number;
simName: string | Buffer;
simOwner: string;
isEstateManager: boolean;
waterHeight: number;
billableFactor: number;
cacheId: string;
terrainBase0: string;
terrainBase1: string;
terrainBase2: string;
terrainBase3: string;
terrainDetail0: string;
terrainDetail1: string;
terrainDetail2: string;
terrainDetail3: string;
terrainStartHeight00: number;
terrainStartHeight01: number;
terrainStartHeight10: number;
terrainStartHeight11: number;
terrainHeightRange00: number;
terrainHeightRange01: number;
terrainHeightRange10: number;
terrainHeightRange11: number;
};
regionInfo2?: {
regionId: string;
};
regionInfo3?: {
cPUClassId: number;
cPURatio: number;
coloName: string | Buffer;
productSku: string | Buffer;
productName: string | Buffer;
};
regionInfo4?: {
regionFlagsExtended: number | bigint;
regionProtocols: number | bigint;
}[];
}
export declare const regionHandshakeMetadata: {
id: number;
name: string;
frequency: 2;
trusted: true;
compression: true;
blocks: ({
name: string;
parameters: ([string, typeof UUID] | [string, typeof Variable1] | [string, typeof Bool] | [string, typeof F32])[];
multiple?: undefined;
} | {
name: string;
parameters: [string, typeof U64][];
multiple: true;
})[];
};
export declare const regionHandshake: (data: RegionHandshakeData, reliable?: boolean) => {
data: RegionHandshakeData;
reliable: boolean | undefined;
metadata: PacketMetadata;
};
export declare const createRegionHandshakeDelegate: (config: Omit<import("..").DelegateConfig<RegionHandshakeData>, "metadata">) => void;