idz: Deal with multiple load2on2 formats

This commit is contained in:
Tau
2019-11-06 17:28:30 -05:00
parent dfdd775370
commit 2392aaa205
6 changed files with 74 additions and 10 deletions
+3 -2
View File
@@ -5,7 +5,7 @@ import { createProfile } from "./createProfile";
import { createTeam } from "./createTeam";
import { joinAutoTeam } from "./joinAutoTeam";
import { discoverProfile } from "./discoverProfile";
import { load2on2 } from "./load2on2";
import { load2on2_v1, load2on2_v2 } from "./load2on2";
import { loadConfig } from "./loadConfig";
import { loadConfig2 } from "./loadConfig2";
import { loadEventInfo } from "./loadEventInfo";
@@ -52,7 +52,8 @@ const funcList: ReaderFn[] = [
createTeam,
joinAutoTeam,
discoverProfile,
load2on2,
load2on2_v1,
load2on2_v2,
loadConfig,
loadConfig2,
loadEventInfo,
+18 -4
View File
@@ -2,14 +2,28 @@ import { RequestCode } from "./_defs";
import { ExtId } from "../model/base";
import { Profile } from "../model/profile";
import { Team } from "../model/team";
import { Load2on2Request } from "../request/load2on2";
import { Load2on2Request1, Load2on2Request2 } from "../request/load2on2";
load2on2.msgCode = 0x00b0 as RequestCode;
load2on2.msgLen = 0x0010;
load2on2_v1.msgCode = 0x00b0 as RequestCode;
load2on2_v1.msgLen = 0x0010;
export function load2on2(buf: Buffer): Load2on2Request {
export function load2on2_v1(buf: Buffer): Load2on2Request1 {
return {
type: "load_2on2_req",
format: 1,
field_0002: buf.readUInt16LE(0x0002),
profileId: buf.readUInt32LE(0x0004) as ExtId<Profile>,
teamId: buf.readUInt32LE(0x0008) as ExtId<Team>,
};
}
load2on2_v2.msgCode = 0x0132 as RequestCode;
load2on2_v2.msgLen = 0x0010;
export function load2on2_v2(buf: Buffer): Load2on2Request2 {
return {
type: "load_2on2_req",
format: 2,
field_0002: buf.readUInt16LE(0x0002),
profileId: buf.readUInt32LE(0x0004) as ExtId<Profile>,
teamId: buf.readUInt32LE(0x0008) as ExtId<Team>,