idz: Fix saveTimeAttack codecs

This commit is contained in:
BemaniWitch 2021-02-03 17:56:53 -05:00 committed by Tau
parent b23e9af2ea
commit 5ff6adfc5e
3 changed files with 40 additions and 4 deletions

View File

@ -48,7 +48,11 @@ import { saveProfile3 } from "./saveProfile3";
import { saveSettings1, saveSettings2 } from "./saveSettings";
import { saveStocker1, saveStocker2 } from "./saveStocker";
import { saveTeamBanner1, saveTeamBanner2 } from "./saveTeamBanner";
import { saveTimeAttack1, saveTimeAttack2 } from "./saveTimeAttack";
import {
saveTimeAttack1,
saveTimeAttack2,
saveTimeAttack3,
} from "./saveTimeAttack";
import { saveTopic1, saveTopic2 } from "./saveTopic";
import { unknownA_1, unknownA_2 } from "./unknownA";
import { unlockProfile1, unlockProfile2 } from "./unlockProfile";
@ -216,7 +220,7 @@ const funcList210: ReaderFn[] = [
saveSettings2,
saveStocker2,
saveTeamBanner2,
saveTimeAttack2,
saveTimeAttack3,
saveTopic2,
unknownA_2,
unlockProfile2,

View File

@ -49,3 +49,35 @@ saveTimeAttack2.msgLen = 0x0080;
export function saveTimeAttack2(buf: Buffer): SaveTimeAttackRequest {
return saveTimeAttack(buf);
}
saveTimeAttack3.msgCode = 0x0136;
saveTimeAttack3.msgLen = 0x0080;
export function saveTimeAttack3(buf: Buffer): SaveTimeAttackRequest {
return {
type: "save_time_attack_req",
aimeId: buf.readUInt32LE(0x0008) as AimeId,
version: 2,
dayNight: buf.readUInt8(0x0058) & 1,
payload: {
routeNo: (buf.readUInt8(0x0058) >> 1) as RouteNo,
timestamp: new Date(buf.readUInt32LE(0x005c) * 1000),
flags: buf.readUInt8(0x0060),
totalTime: buf.readUInt32LE(0x001c) / 1000,
sectionTimes: [
buf.readUInt32LE(0x0028) / 1000,
buf.readUInt32LE(0x002c) / 1000,
buf.readUInt32LE(0x0030) / 1000,
],
grade: buf.readUInt8(0x0066),
carSelector: buf.readUInt16LE(0x0010) as CarSelector,
},
field_0002: buf.readUInt16LE(0x0004),
field_0008: buf.readUInt32LE(0x000c),
field_0012: buf.readUInt8(0x0016),
field_0015: buf.readUInt8(0x0019),
field_005D: buf.readUInt8(0x0061),
field_005E: buf.readUInt16LE(0x0062),
field_0060: buf.readUInt16LE(0x0064),
};
}

View File

@ -255,7 +255,7 @@ function encode130(res: Response): Buffer {
return saveNewCar2(res);
case "save_time_attack_res":
return saveTimeAttack2(res);
return saveTimeAttack1(res);
case "unlock_profile_res":
return unlockProfile2(res);
@ -366,7 +366,7 @@ function encode210(res: Response): Buffer {
return saveNewCar1(res);
case "save_time_attack_res":
return saveTimeAttack1(res);
return saveTimeAttack2(res);
case "unlock_profile_res":
return unlockProfile1(res);