idz: Fix saveTimeAttack codecs
This commit is contained in:
@@ -48,7 +48,11 @@ import { saveProfile3 } from "./saveProfile3";
|
|||||||
import { saveSettings1, saveSettings2 } from "./saveSettings";
|
import { saveSettings1, saveSettings2 } from "./saveSettings";
|
||||||
import { saveStocker1, saveStocker2 } from "./saveStocker";
|
import { saveStocker1, saveStocker2 } from "./saveStocker";
|
||||||
import { saveTeamBanner1, saveTeamBanner2 } from "./saveTeamBanner";
|
import { saveTeamBanner1, saveTeamBanner2 } from "./saveTeamBanner";
|
||||||
import { saveTimeAttack1, saveTimeAttack2 } from "./saveTimeAttack";
|
import {
|
||||||
|
saveTimeAttack1,
|
||||||
|
saveTimeAttack2,
|
||||||
|
saveTimeAttack3,
|
||||||
|
} from "./saveTimeAttack";
|
||||||
import { saveTopic1, saveTopic2 } from "./saveTopic";
|
import { saveTopic1, saveTopic2 } from "./saveTopic";
|
||||||
import { unknownA_1, unknownA_2 } from "./unknownA";
|
import { unknownA_1, unknownA_2 } from "./unknownA";
|
||||||
import { unlockProfile1, unlockProfile2 } from "./unlockProfile";
|
import { unlockProfile1, unlockProfile2 } from "./unlockProfile";
|
||||||
@@ -216,7 +220,7 @@ const funcList210: ReaderFn[] = [
|
|||||||
saveSettings2,
|
saveSettings2,
|
||||||
saveStocker2,
|
saveStocker2,
|
||||||
saveTeamBanner2,
|
saveTeamBanner2,
|
||||||
saveTimeAttack2,
|
saveTimeAttack3,
|
||||||
saveTopic2,
|
saveTopic2,
|
||||||
unknownA_2,
|
unknownA_2,
|
||||||
unlockProfile2,
|
unlockProfile2,
|
||||||
|
|||||||
@@ -49,3 +49,35 @@ saveTimeAttack2.msgLen = 0x0080;
|
|||||||
export function saveTimeAttack2(buf: Buffer): SaveTimeAttackRequest {
|
export function saveTimeAttack2(buf: Buffer): SaveTimeAttackRequest {
|
||||||
return saveTimeAttack(buf);
|
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),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ function encode130(res: Response): Buffer {
|
|||||||
return saveNewCar2(res);
|
return saveNewCar2(res);
|
||||||
|
|
||||||
case "save_time_attack_res":
|
case "save_time_attack_res":
|
||||||
return saveTimeAttack2(res);
|
return saveTimeAttack1(res);
|
||||||
|
|
||||||
case "unlock_profile_res":
|
case "unlock_profile_res":
|
||||||
return unlockProfile2(res);
|
return unlockProfile2(res);
|
||||||
@@ -366,7 +366,7 @@ function encode210(res: Response): Buffer {
|
|||||||
return saveNewCar1(res);
|
return saveNewCar1(res);
|
||||||
|
|
||||||
case "save_time_attack_res":
|
case "save_time_attack_res":
|
||||||
return saveTimeAttack1(res);
|
return saveTimeAttack2(res);
|
||||||
|
|
||||||
case "unlock_profile_res":
|
case "unlock_profile_res":
|
||||||
return unlockProfile1(res);
|
return unlockProfile1(res);
|
||||||
|
|||||||
Reference in New Issue
Block a user