From 48a9bcbdbddb9f91be26aefb7391a8260fcdd8c6 Mon Sep 17 00:00:00 2001 From: BemaniWitch Date: Sun, 25 Oct 2020 18:49:13 -0400 Subject: [PATCH] idz: Add idz_settings.driving_style column --- schema/init/idz.sql | 3 ++- schema/migrate/M0017-idz-v2-support.sql | 33 +++++++++++++++++++++++++ src/idz/userdb/decoder/saveProfile2.ts | 1 + src/idz/userdb/decoder/saveProfile3.ts | 1 + src/idz/userdb/decoder/saveSettings.ts | 1 + src/idz/userdb/handler/createProfile.ts | 1 + src/idz/userdb/model/settings.ts | 1 + src/idz/userdb/sql/settings.ts | 1 + 8 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 schema/migrate/M0017-idz-v2-support.sql diff --git a/schema/init/idz.sql b/schema/init/idz.sql index 6c06f48..bcf7a7e 100644 --- a/schema/init/idz.sql +++ b/schema/init/idz.sql @@ -104,7 +104,8 @@ create table "idz_settings" ( "pack" integer not null, "aura" integer not null, "paper_cup" integer not null, -- Not a boolean, oddly enough - "gauges" integer not null + "gauges" integer not null, + "driving_style" integer not null ); create table "idz_story_state" ( diff --git a/schema/migrate/M0017-idz-v2-support.sql b/schema/migrate/M0017-idz-v2-support.sql new file mode 100644 index 0000000..e159c37 --- /dev/null +++ b/schema/migrate/M0017-idz-v2-support.sql @@ -0,0 +1,33 @@ +create table "new_idz_settings" ( + "id" integer primary key not null + references "idz_profile"("id") + on delete cascade, + "music" integer not null, + "pack" integer not null, + "aura" integer not null, + "paper_cup" integer not null, -- Not a boolean, oddly enough + "gauges" integer not null, + "driving_style" integer not null +); + +insert into "new_idz_settings" ( + "id", + "music", + "pack", + "aura", + "paper_cup", + "gauges", + "driving_style" +) select + x."id", + x."music", + x."pack", + x."aura", + x."paper_cup", + x."gauges", + 0 +from "idz_settings" as x; + +drop table "idz_settings"; + +alter table "new_idz_settings" rename to "idz_settings"; diff --git a/src/idz/userdb/decoder/saveProfile2.ts b/src/idz/userdb/decoder/saveProfile2.ts index b0bd220..5fc9071 100644 --- a/src/idz/userdb/decoder/saveProfile2.ts +++ b/src/idz/userdb/decoder/saveProfile2.ts @@ -95,6 +95,7 @@ export function saveProfile2(buf: Buffer): SaveProfileRequest { aura: buf.readUInt8(0x002c), paperCup: buf.readUInt8(0x00f6), gauges: buf.readUInt8(0x00f7), + drivingStyle: 0, // Not supported until idz2 }, }; } diff --git a/src/idz/userdb/decoder/saveProfile3.ts b/src/idz/userdb/decoder/saveProfile3.ts index 59eb230..f586086 100644 --- a/src/idz/userdb/decoder/saveProfile3.ts +++ b/src/idz/userdb/decoder/saveProfile3.ts @@ -97,6 +97,7 @@ export function saveProfile3(buf: Buffer): SaveProfileRequest { aura: buf.readUInt8(0x002c), paperCup: buf.readUInt8(0x00f6), gauges: buf.readUInt8(0x00f7), + drivingStyle: 0, // Not supported until idz2 }, }; } diff --git a/src/idz/userdb/decoder/saveSettings.ts b/src/idz/userdb/decoder/saveSettings.ts index e13a24d..f2b2eb3 100644 --- a/src/idz/userdb/decoder/saveSettings.ts +++ b/src/idz/userdb/decoder/saveSettings.ts @@ -16,6 +16,7 @@ export function saveSettings(buf: Buffer): SaveSettingsRequest { paperCup: buf.readUInt8(0x0011), gauges: buf.readUInt8(0x0012), aura: buf.readUInt8(0x0013), + drivingStyle: 0, // Not supported until idz2 }, field_0010: buf.readUInt8(0x0010), }; diff --git a/src/idz/userdb/handler/createProfile.ts b/src/idz/userdb/handler/createProfile.ts index 75b3138..4f358e7 100644 --- a/src/idz/userdb/handler/createProfile.ts +++ b/src/idz/userdb/handler/createProfile.ts @@ -34,6 +34,7 @@ export async function createProfile( aura: 0, paperCup: 0, gauges: 5, + drivingStyle: 0, // Not supported until idz2 }; const story: Story = { x: 0, diff --git a/src/idz/userdb/model/settings.ts b/src/idz/userdb/model/settings.ts index 053dba7..6217dad 100644 --- a/src/idz/userdb/model/settings.ts +++ b/src/idz/userdb/model/settings.ts @@ -4,4 +4,5 @@ export interface Settings { aura: number; paperCup: number; gauges: number; + drivingStyle: number; } diff --git a/src/idz/userdb/sql/settings.ts b/src/idz/userdb/sql/settings.ts index dea530d..dec8221 100644 --- a/src/idz/userdb/sql/settings.ts +++ b/src/idz/userdb/sql/settings.ts @@ -27,6 +27,7 @@ export class SqlSettingsRepository implements FacetRepository { aura: parseInt(row.aura!), paperCup: parseInt(row.paper_cup!), gauges: parseInt(row.gauges!), + drivingStyle: parseInt(row.driving_style!), }; }