Use CookieMonsterFramework for save/load, infoMenu

This commit is contained in:
Daniël van Noord
2021-07-11 10:21:16 +02:00
parent b959b3c024
commit c0e788b143
95 changed files with 809 additions and 675 deletions

View File

@@ -1,3 +1,4 @@
import { initFunctions } from '@cookiemonsterteam/cookiemonsterframework';
import { VersionMajor, VersionMinor } from '../Data/Moddata.ts';
import CMDrawHook from '../Disp/DrawHook';
import CMClickHook from '../Main/ClickHook';
@@ -14,6 +15,11 @@ import { isInitializing } from './Variables'; // eslint-disable-line no-unused-v
export default function init() {
isInitializing = true;
let proceed = true;
// Load Cookie Monster Mod Framework and register mod
initFunctions.initModFramework();
initFunctions.registerMod('cookieMonsterMod');
if (Game.version !== Number(VersionMajor)) {
// eslint-disable-next-line no-restricted-globals, no-alert
proceed = confirm(

View File

@@ -1,6 +1,10 @@
import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings';
import loadMod from '@cookiemonsterteam/cookiemonsterframework/src/saveDataFunctions/loadMod';
import headers from '../Data/headers';
import { VersionMajor, VersionMinor } from '../Data/Moddata.ts';
import { FavouriteSettings } from '../Disp/VariablesAndData'; // eslint-disable-line no-unused-vars
import settings from '../Data/settings';
import UpdateColours from '../Disp/HelperFunctions/UpdateColours';
import CMLoopHook from '../Main/LoopHook';
import InitData from '../Sim/InitializeData/InitData';
/**
@@ -8,12 +12,13 @@ import InitData from '../Sim/InitializeData/InitData';
* "do stuff with the string data you saved previously"
*/
export default function load(str) {
const save = JSON.parse(str);
InitData();
// The if-statement is a failsafe for old saves
if (typeof save.favouriteSettings !== 'undefined') FavouriteSettings = save.favouriteSettings;
LoadConfig(save.settings);
if (save.version !== `${VersionMajor}.${VersionMinor}`) {
loadMod('cookieMonsterMod', str, settings, headers, CMLoopHook);
UpdateColours();
if (
Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.version !==
`${VersionMajor}.${VersionMinor}`
) {
if (Game.prefs.popups)
Game.Popup(
'A new version of Cookie Monster has been loaded, check out the release notes in the info tab!',

View File

@@ -1,6 +1,4 @@
import { CMOptions } from '../Config/VariablesAndData';
import { VersionMajor, VersionMinor } from '../Data/Moddata.ts';
import { FavouriteSettings } from '../Disp/VariablesAndData';
/**
* This creates a save function to the CM object. Per Game code/comments:
@@ -8,9 +6,7 @@ import { FavouriteSettings } from '../Disp/VariablesAndData';
* return 'a string to be saved';"
*/
export default function save() {
return JSON.stringify({
favouriteSettings: FavouriteSettings,
settings: CMOptions,
version: `${VersionMajor}.${VersionMinor}`,
});
const saveObject = Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod;
saveObject.version = `${VersionMajor}.${VersionMinor}`;
return JSON.stringify(saveObject);
}