From e5f661d405fd9a584db474caa6adf2597dc6078a Mon Sep 17 00:00:00 2001 From: Tau Date: Thu, 4 Apr 2019 16:55:49 -0400 Subject: [PATCH] impl garage lock request --- src/idz/decoder/index.ts | 2 ++ src/idz/decoder/loadTopTen.ts | 2 +- src/idz/decoder/lockGarage.ts | 12 ++++++++++++ src/idz/handler/index.ts | 4 ++++ src/idz/handler/lockGarage.ts | 10 ++++++++++ src/idz/request/index.ts | 2 ++ src/idz/request/lockGarage.ts | 4 ++++ 7 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/idz/decoder/lockGarage.ts create mode 100644 src/idz/handler/lockGarage.ts create mode 100644 src/idz/request/lockGarage.ts diff --git a/src/idz/decoder/index.ts b/src/idz/decoder/index.ts index ddaa065..857c360 100644 --- a/src/idz/decoder/index.ts +++ b/src/idz/decoder/index.ts @@ -13,6 +13,7 @@ import { loadServerList } from "./loadServerList"; import { loadStocker } from "./loadStocker"; import { loadTeam } from "./loadTeam"; import { loadTeamRanking, loadTeamRanking2 } from "./loadTeamRanking"; +import { lockGarage } from "./lockGarage"; import { lockProfile } from "./lockProfile"; import { saveExpedition } from "./saveExpedition"; import { saveProfile } from "./saveProfile"; @@ -47,6 +48,7 @@ const funcList: ReaderFn[] = [ loadTeamRanking, loadTeamRanking2, loadTopTen, + lockGarage, lockProfile, saveExpedition, saveProfile, diff --git a/src/idz/decoder/loadTopTen.ts b/src/idz/decoder/loadTopTen.ts index a7df435..1edc44a 100644 --- a/src/idz/decoder/loadTopTen.ts +++ b/src/idz/decoder/loadTopTen.ts @@ -6,6 +6,6 @@ loadTopTen.msgLen = 0x00e0; export function loadTopTen(buf: Buffer): LoadTopTenRequest { return { - type: "load_top_ten", + type: "load_top_ten_req", }; } diff --git a/src/idz/decoder/lockGarage.ts b/src/idz/decoder/lockGarage.ts new file mode 100644 index 0000000..03690e0 --- /dev/null +++ b/src/idz/decoder/lockGarage.ts @@ -0,0 +1,12 @@ +import { RequestCode } from "../defs"; +import { LockGarageRequest } from "../request/lockGarage"; + +lockGarage.msgCode = 0x00a9 as RequestCode; +lockGarage.msgLen = 0x0010; + +export function lockGarage(buf: Buffer): LockGarageRequest { + return { + type: "lock_garage_request", + field_0004: buf.readUInt32LE(0x0004), + }; +} diff --git a/src/idz/handler/index.ts b/src/idz/handler/index.ts index 057b1d0..501086d 100644 --- a/src/idz/handler/index.ts +++ b/src/idz/handler/index.ts @@ -11,6 +11,7 @@ import { loadServerList } from "./loadServerList"; import { loadStocker } from "./loadStocker"; import { loadTeamRanking } from "./loadTeamRanking"; import { loadTopTen } from "./loadTopTen"; +import { lockGarage } from "./lockGarage"; import { lockProfile } from "./lockProfile"; import { saveExpedition } from "./saveExpedition"; import { saveProfile } from "./saveProfile"; @@ -64,6 +65,9 @@ export function dispatch(w: World, req: Request): Response { case "load_top_ten_req": return loadTopTen(w, req); + case "lock_garage_request": + return lockGarage(w, req); + case "lock_profile_req": return lockProfile(w, req); diff --git a/src/idz/handler/lockGarage.ts b/src/idz/handler/lockGarage.ts new file mode 100644 index 0000000..7363996 --- /dev/null +++ b/src/idz/handler/lockGarage.ts @@ -0,0 +1,10 @@ +import { LockGarageRequest } from "../request/lockGarage"; +import { GenericResponse } from "../response/generic"; +import { World } from "../world"; + +export function lockGarage(w: World, req: LockGarageRequest): GenericResponse { + return { + type: "generic_res", + status: 1, // ignored + }; +} diff --git a/src/idz/request/index.ts b/src/idz/request/index.ts index a9f27ca..5d57be2 100644 --- a/src/idz/request/index.ts +++ b/src/idz/request/index.ts @@ -14,6 +14,7 @@ import { LoadTeamRequest } from "./loadTeam"; import { LoadTeamRankingRequest } from "./loadTeamRanking"; import { LoadTopTenRequest } from "./loadTopTen"; import { LockAccountRequest } from "./lockProfile"; +import { LockGarageRequest } from "./lockGarage"; import { SaveExpeditionRequest } from "./saveExpedition"; import { UpdateProvisionalStoreRankRequest } from "./updateProvisionalStoreRank"; import { UpdateStoryClearNumRequest } from "./updateStoryClearNum"; @@ -37,6 +38,7 @@ export type Request = | LoadTeamRankingRequest | LoadTopTenRequest | LockAccountRequest + | LockGarageRequest | SaveExpeditionRequest | SaveProfileRequest | SaveSettingsRequest diff --git a/src/idz/request/lockGarage.ts b/src/idz/request/lockGarage.ts new file mode 100644 index 0000000..19a83a8 --- /dev/null +++ b/src/idz/request/lockGarage.ts @@ -0,0 +1,4 @@ +export interface LockGarageRequest { + type: "lock_garage_request"; + field_0004: number; +}