Merge pull request #712 from Jayd-Rubies/main

tbh idk wtf i did when i first made this mod
This commit is contained in:
slweeb 2024-06-23 16:47:41 -04:00 committed by GitHub
commit bed30a2d13
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 0 additions and 116 deletions

View File

@ -39,120 +39,4 @@
if (!confirm("Are you sure you want to erase this save slot?")) { return }
localStorage.removeItem("SandboxelsSaves/"+i);
showSaves();
}
function confirmSave() {
if (!savingState) { return }
var saveName = document.getElementById("saveName").value || "Unnamed";
var saveTemp = document.getElementById("saveTemp").getAttribute("state") === "1";
var saveColors = document.getElementById("saveColors").getAttribute("state") === "1";
var saveMods = document.getElementById("saveMods").getAttribute("state") === "1";
var saveSettings = document.getElementById("saveSettings").getAttribute("state") === "1";
var saveRaw = document.getElementById("saveRaw").getAttribute("state") === "1";
var saveAuthor = document.getElementById("saveAuthor").value || "";
if (saveAuthor && !currentSaveData) {
setSetting("authorName",saveAuthor)
}
var saveDesc = document.getElementById("saveDesc").value || "";
var config = {name:saveName,temp:saveTemp,mods:saveMods,settings:saveSettings,raw:saveRaw,keep:[],author:saveAuthor,desc:saveDesc};
if (saveTemp) { config.keep.push("temp") }
if (saveColors) { config.keep.push("color") }
if (savingState.slot) {
// save stringified generateSave() to localStorage SandboxelsSaves/i
localStorage.setItem("SandboxelsSaves/"+savingState.slot, JSON.stringify(generateSave(undefined,config)));
closeMenu();
showSaves();
}
else {
// save to <name>.sbxls
var save = generateSave(undefined,config);
var blob = new Blob([JSON.stringify(save)], {type: "application/json"});
var url = URL.createObjectURL(blob);
var a = document.createElement("a");
a.href = url;
a.download = saveName+".sbxls";
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
closeMenu();
}
}
function saveToFile() {
savingState = {slot:null};
document.getElementById("saveName").value = "";
document.getElementById("saveAuthor").value = "";
document.getElementById("saveDesc").value = "";
showSavePrompt();
}
function loadFromFile() {
var input = document.createElement("input");
input.type = "file";
// input.accept = ".sbxls,.json,.txt,text/*,application/json";
input.addEventListener("change", function(e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.readAsText(file,"UTF-8");
reader.onload = readerEvent => {
var content = readerEvent.target.result;
loadSave(JSON.parse(content));
}
closeMenu();
});
input.click();
}
function showSavePrompt() {
closeMenu();
var savePromptParent = document.getElementById("savePromptParent");
var saveWarning = document.getElementById("saveWarning");
if (currentSaveData) {
document.getElementById("saveName").value = currentSaveData.name || "";
document.getElementById("saveAuthor").value = currentSaveData.author || "";
document.getElementById("saveDesc").value = currentSaveData.desc || "";
}
else if (settings.authorName) {
document.getElementById("saveAuthor").value = settings.authorName;
}
saveWarning.innerHTML = "<br>"
var menuTitle = document.querySelector("#savePromptMenu .menuTitle");
if (savingState.slot === null) {
menuTitle.innerHTML = "Save to File";
}
else {
menuTitle.innerHTML = "Save to Slot";
if (localStorage["SandboxelsSaves/"+savingState.slot]) {
saveWarning.innerHTML += "<br>This will overwrite the save in slot "+savingState.slot+"!";
}
}
var saveMods = document.getElementById("saveMods");
if (enabledMods.length !== 0) {
saveMods.style.display = "inline-block";
saveWarning.innerHTML += "<br>Mods might not be necessary to include, and may annoy the user!";
}
else { saveMods.style.display = "none"; }
savePromptParent.style.display = "block";
showingMenu = "savePrompt";
document.getElementById("saveName").focus();
}
function showSettings() {
var settingsParent = document.getElementById("settingsParent");
settingsParent.style.display = "block";
showingMenu = "settings";
}
function setSetting(setting,value) {
settings[setting] = value;
saveSettings();
}
function toggleInput(input,setting,updateText) {
if (input.getAttribute("state") === "0") {
input.setAttribute("state","1");
if (updateText !== false) { input.value = "ON"; }
if (setting) { setSetting(setting,1); }
}
else {
input.setAttribute("state","0");
if (updateText !== false) { input.value = "OFF"; }
if (setting) { setSetting(setting,0); }
}
}