1
0
Fork 0
mirror of https://github.com/demostf/demo.js synced 2026-06-04 09:04:13 +02:00
This commit is contained in:
Robin Appelman 2017-12-09 17:02:52 +01:00
commit 787c6a0279
21 changed files with 118 additions and 115 deletions

View file

@ -3,7 +3,7 @@ import {CreateStringTablePacket} from '../../Data/Packet';
import {logBase2} from '../../Math';
import {readVarInt, writeVarInt} from '../readBitVar';
import {uncompress, compress} from 'snappyjs';
import {compress, uncompress} from 'snappyjs';
import {StringTable} from '../../Data/StringTable';
import {encodeStringTableEntries, guessStringTableEntryLength, parseStringTableEntries} from '../StringTableParser';
@ -84,7 +84,7 @@ export function EncodeCreateStringTable(packet: CreateStringTablePacket, stream:
entryData.writeUint32(decompressedByteLength);
entryData.writeUint32(compressedData.byteLength + 4); // 4 magic bytes
entryData.writeASCIIString('SNAP', 4);
let typeForce: any = compressedData.buffer;
const typeForce: any = compressedData.buffer;
entryData.writeArrayBuffer(typeForce as BitStream);
}
const entryLength = entryData.index;

View file

@ -1,13 +1,18 @@
import {BitStream} from 'bit-buffer';
import {Packet, PacketMapType, PacketType} from '../../Data/Packet';
import {Encoder, PacketHandler, Parser} from './Parser';
import {UserMessagePacketType} from '../../Data/UserMessage';
import {Encoder, PacketHandler, Parser} from './Parser';
export interface NamedPacketHandler<P extends Packet, N extends PacketType | UserMessagePacketType> extends PacketHandler<P> {
name: N;
}
export function make<T extends PacketType | UserMessagePacketType>(name: T, definition: string, nameKey: string = 'packetType', extraData: any = {}): NamedPacketHandler<PacketMapType[T], T> {
export function make<T extends PacketType | UserMessagePacketType>(
name: T,
definition: string,
nameKey: string = 'packetType',
extraData: any = {}
): NamedPacketHandler<PacketMapType[T], T> {
const parts = definition.split('}');
const items = parts.map((part) => {
return part.split('{');

View file

@ -10,7 +10,9 @@ import {
import {EncodeSayText2, ParseSayText2} from '../UserMessage/SayText2';
import {make, NamedPacketHandler} from './ParserGenerator';
function unknownPacketHandler<T extends UnknownUserMessagePacket['userMessageType']>(userMessageType: T): NamedPacketHandler<UserMessageTypeMap[T], UserMessagePacketType> {
type UnknownType = UnknownUserMessagePacket['userMessageType'];
function unknownPacketHandler<T extends UnknownType>(userMessageType: T): NamedPacketHandler<UserMessageTypeMap[T], UserMessagePacketType> {
return {
parser: (data: BitStream) => {
return {