-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
102 lines (90 loc) · 2.76 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
var defaultKernels = [
{
name: "CCSE",
author: "klattmose",
version: "2.035+kernel",
date: "20/9/23",
id: "io.github.klattmose.CCSE",
saveId: "8b16bf7c", // CRC32
available: true,
res: {
main: "https://redbigz.github.io/Shortbread-Loader/kernels/ccsekern/main.js"
}
},
{
name: "Steam Workshop",
author: "RedBigz",
version: "v1.0",
date: "5/11/23",
id: "io.redbigz.wskern",
saveId: "webshop-407a3d2c",
available: true,
res: {
main: "https://redbigz.github.io/Shortbread-Loader/kernels/wskern/main.js"
}
},
{
name: "Macadamia",
author: "RedBigz",
version: "0.0.1proto",
date: "TBA",
id: "io.redbigz.Macadamia",
saveId: "11067f61",
available: false,
res: {
main: null
}
},
];
window.sbm_loadKernel = (num) => {
var kern = defaultKernels[num];
Game.ClosePrompt();
PlaySound('snd/tick.mp3');
Game.SaveTo = kern.saveId;
if (localStorage.getItem(Game.SaveTo)) { } else {
Game.HardReset(2);
Game.cookies = 0;
Game.WriteSave();
}
Game.LoadSave();
if (kern.res.main) {
Game.LoadMod(kern.res.main, null, (err) => {Game.Prompt(`An error occured while loading ${kern.res.main}.<br><small>${JSON.stringify(err)}</small>`, [["Reload Page", "location=location"]])});
}
}
function sbm_kernelSelect() {
function kernelContainer(kern, num) {
var oc = kern.available ? `window.sbm_loadKernel(${num})` : "";
var wa = kern.available ? "" : " warning";
return `
<div style="border-bottom:1px dashed rgba(255,255,255,0.2);clear:both;overflow:hidden;padding:4px 0px;">
<div style="float:left;width:49%;text-align:left;overflow:hidden;">
<b>${kern.name}</b><br>
${kern.author}<br>
<small>${kern.version} | ${kern.date}</small>
</div>
<div style="float:right;width:49%;text-align:right;overflow:hidden;">
${kern.saveId}
<a class="option${wa}" style="padding:0px 2px;font-size:10px;margin:0px;vertical-align:top;" onclick="${oc}">Load</a>
</div>
</div>
`;
}
var kerns = "";
for (num in defaultKernels) {
kerns += kernelContainer(defaultKernels[num], num);
}
Game.Prompt(
`
<h3>shortbread</h3><br>
<small>by redbigz</small><br>
${kerns}
<small style="font-style:italic;">each kernel uses a different save file. your main game is never touched, other than the shortbread exploit's residence in your save.</small>
`,
[]
);
// <a class='option'>Macadamia (unavailable)</a><br>
// <a class='option' id='kernel-ccse'>CCSE (compatibility)</a><br></br>
// document.getElementById("kernel-ccse").onclick = () => {
// };
}
sbm_kernelSelect();