mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-17 04:01:51 +00:00
Added Savegame Migration (version 1010)
Signed-off-by: Daan Breur <git@daanbreur.systems>
This commit is contained in:
parent
96b76aa631
commit
d9d7292526
@ -14,6 +14,7 @@ import { SavegameInterface_V1006 } from "./schemas/1006";
|
|||||||
import { SavegameInterface_V1007 } from "./schemas/1007";
|
import { SavegameInterface_V1007 } from "./schemas/1007";
|
||||||
import { SavegameInterface_V1008 } from "./schemas/1008";
|
import { SavegameInterface_V1008 } from "./schemas/1008";
|
||||||
import { SavegameInterface_V1009 } from "./schemas/1009";
|
import { SavegameInterface_V1009 } from "./schemas/1009";
|
||||||
|
import { SavegameInterface_V1010 } from "./schemas/1010";
|
||||||
|
|
||||||
const logger = createLogger("savegame");
|
const logger = createLogger("savegame");
|
||||||
|
|
||||||
@ -54,7 +55,7 @@ export class Savegame extends ReadWriteProxy {
|
|||||||
* @returns {number}
|
* @returns {number}
|
||||||
*/
|
*/
|
||||||
static getCurrentVersion() {
|
static getCurrentVersion() {
|
||||||
return 1009;
|
return 1010;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -160,6 +161,11 @@ export class Savegame extends ReadWriteProxy {
|
|||||||
data.version = 1009;
|
data.version = 1009;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.version === 1009) {
|
||||||
|
SavegameInterface_V1010.migrate1009to1010(data);
|
||||||
|
data.version = 1010;
|
||||||
|
}
|
||||||
|
|
||||||
return ExplainedResult.good();
|
return ExplainedResult.good();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import { SavegameInterface_V1006 } from "./schemas/1006";
|
|||||||
import { SavegameInterface_V1007 } from "./schemas/1007";
|
import { SavegameInterface_V1007 } from "./schemas/1007";
|
||||||
import { SavegameInterface_V1008 } from "./schemas/1008";
|
import { SavegameInterface_V1008 } from "./schemas/1008";
|
||||||
import { SavegameInterface_V1009 } from "./schemas/1009";
|
import { SavegameInterface_V1009 } from "./schemas/1009";
|
||||||
|
import { SavegameInterface_V1010 } from "./schemas/1010";
|
||||||
|
|
||||||
/** @type {Object.<number, typeof BaseSavegameInterface>} */
|
/** @type {Object.<number, typeof BaseSavegameInterface>} */
|
||||||
export const savegameInterfaces = {
|
export const savegameInterfaces = {
|
||||||
@ -23,6 +24,7 @@ export const savegameInterfaces = {
|
|||||||
1007: SavegameInterface_V1007,
|
1007: SavegameInterface_V1007,
|
||||||
1008: SavegameInterface_V1008,
|
1008: SavegameInterface_V1008,
|
||||||
1009: SavegameInterface_V1009,
|
1009: SavegameInterface_V1009,
|
||||||
|
1010: SavegameInterface_V1010,
|
||||||
};
|
};
|
||||||
|
|
||||||
const logger = createLogger("savegame_interface_registry");
|
const logger = createLogger("savegame_interface_registry");
|
||||||
|
|||||||
30
src/js/savegame/schemas/1010.js
Normal file
30
src/js/savegame/schemas/1010.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { createLogger } from "../../core/logging.js";
|
||||||
|
import { SavegameInterface_V1009 } from "./1009.js";
|
||||||
|
|
||||||
|
const schema = require("./1010.json");
|
||||||
|
const logger = createLogger("savegame_interface/1010");
|
||||||
|
|
||||||
|
export class SavegameInterface_V1010 extends SavegameInterface_V1009 {
|
||||||
|
getVersion() {
|
||||||
|
return 1010;
|
||||||
|
}
|
||||||
|
|
||||||
|
getSchemaUncached() {
|
||||||
|
return schema;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {import("../savegame_typedefs.js").SavegameData} data
|
||||||
|
*/
|
||||||
|
static migrate1009to1010(data) {
|
||||||
|
logger.log("Migrating 1009 to 1010");
|
||||||
|
const dump = data.dump;
|
||||||
|
if (!dump) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!dump.map.hasOwnProperty("allowNonPrimaryColors")) {
|
||||||
|
dump.map.allowNonPrimaryColors = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
5
src/js/savegame/schemas/1010.json
Normal file
5
src/js/savegame/schemas/1010.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"required": [],
|
||||||
|
"additionalProperties": true
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user