diff --git a/src/idz/decoder/index.ts b/src/idz/decoder/index.ts index f7372d5..76d755b 100644 --- a/src/idz/decoder/index.ts +++ b/src/idz/decoder/index.ts @@ -29,7 +29,7 @@ import { saveProfile2 } from "./saveProfile2"; import { saveProfile3 } from "./saveProfile3"; import { saveSettings } from "./saveSettings"; import { saveStocker } from "./saveStocker"; -import { saveTimeAttack } from "./saveTimeAttack"; +import { saveTimeAttack1, saveTimeAttack2 } from "./saveTimeAttack"; import { saveTopic } from "./saveTopic"; import { unlockProfile } from "./unlockProfile"; import { updateProvisionalStoreRank } from "./updateProvisionalStoreRank"; @@ -83,7 +83,8 @@ const funcList: ReaderFn[] = [ saveProfile3, saveSettings, saveStocker, - saveTimeAttack, + saveTimeAttack1, + saveTimeAttack2, saveTopic, unlockProfile, updateProvisionalStoreRank, diff --git a/src/idz/decoder/saveTimeAttack.ts b/src/idz/decoder/saveTimeAttack.ts index 3dc7c83..fcdbeaa 100644 --- a/src/idz/decoder/saveTimeAttack.ts +++ b/src/idz/decoder/saveTimeAttack.ts @@ -4,10 +4,7 @@ import { CarSelector } from "../model/car"; import { Profile } from "../model/profile"; import { SaveTimeAttackRequest } from "../request/saveTimeAttack"; -saveTimeAttack.msgCode = 0x00cd as RequestCode; -saveTimeAttack.msgLen = 0x0080; - -export function saveTimeAttack(buf: Buffer): SaveTimeAttackRequest { +function saveTimeAttack(buf: Buffer): SaveTimeAttackRequest { return { type: "save_time_attack_req", profileId: buf.readUInt32LE(0x0004) as ExtId, @@ -34,3 +31,21 @@ export function saveTimeAttack(buf: Buffer): SaveTimeAttackRequest { field_0060: buf.readUInt16LE(0x0060), }; } + +// There is ... literally no difference between these messages other than their +// request code..? Even the response uses the same response code, despite +// the request codes differing. + +saveTimeAttack1.msgCode = 0x00cd as RequestCode; +saveTimeAttack1.msgLen = 0x0080; + +export function saveTimeAttack1(buf: Buffer): SaveTimeAttackRequest { + return saveTimeAttack(buf); +} + +saveTimeAttack2.msgCode = 0x0136 as RequestCode; +saveTimeAttack2.msgLen = 0x0080; + +export function saveTimeAttack2(buf: Buffer): SaveTimeAttackRequest { + return saveTimeAttack(buf); +}