mirror of
https://github.com/demostf/demo.js
synced 2026-06-04 00:54:14 +02:00
encode for setConVar
This commit is contained in:
parent
628f23b216
commit
3d0aee619e
5 changed files with 40 additions and 6 deletions
|
|
@ -11,7 +11,7 @@ import {ParseMenu} from '../Packet/Menu';
|
|||
import {ParsePacketEntities} from '../Packet/PacketEntities';
|
||||
import {PacketParserMap, voidEncoder} from '../Packet/Parser';
|
||||
import {ParseParseSounds} from '../Packet/ParseSounds';
|
||||
import {ParseSetConVar} from '../Packet/SetConVar';
|
||||
import {EncodeSetConVar, ParseSetConVar} from '../Packet/SetConVar';
|
||||
import {ParseTempEntities} from '../Packet/TempEntities';
|
||||
import {ParseUpdateStringTable} from '../Packet/UpdateStringTable';
|
||||
import {ParseUserMessage} from '../Packet/UserMessage';
|
||||
|
|
@ -32,7 +32,7 @@ export class Packet extends Parser {
|
|||
2: make('file', 'transferId{32}fileName{s}requested{b}'),
|
||||
3: make('netTick', 'tick{32}frameTime{16}stdDev{16}'),
|
||||
4: make('stringCmd', 'command{s}'),
|
||||
5: {parser: ParseSetConVar, encoder: voidEncoder},
|
||||
5: {parser: ParseSetConVar, encoder: EncodeSetConVar},
|
||||
6: make('sigOnState', 'state{8}count{32}'),
|
||||
7: make('print', 'value{s}'),
|
||||
8: make('serverInfo',
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import {BitStream} from 'bit-buffer';
|
|||
import {SetConVarPacket} from '../../Data/Packet';
|
||||
|
||||
export function ParseSetConVar(stream: BitStream): SetConVarPacket { // 5: setconvar
|
||||
const count = stream.readBits(8);
|
||||
const vars: {[key: string]: string} = {};
|
||||
const count = stream.readUint8();
|
||||
const vars: { [key: string]: string } = {};
|
||||
for (let i = 0; i < count; i++) {
|
||||
vars[stream.readUTF8String()] = stream.readUTF8String();
|
||||
}
|
||||
|
|
@ -12,3 +12,12 @@ export function ParseSetConVar(stream: BitStream): SetConVarPacket { // 5: setco
|
|||
vars,
|
||||
};
|
||||
}
|
||||
|
||||
export function EncodeSetConVar(packet: SetConVarPacket, stream: BitStream) {
|
||||
const keys = Object.keys(packet.vars);
|
||||
stream.writeUint8(keys.length);
|
||||
for (const key of keys) {
|
||||
stream.writeUTF8String(key);
|
||||
stream.writeUTF8String(packet.vars[key]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue