number adjuster rework

This commit is contained in:
Laetitia (O-01-67) 2022-12-24 15:24:29 -05:00 committed by GitHub
parent 57192f1dac
commit dff965bb99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 196 additions and 44 deletions

View File

@ -9,6 +9,8 @@ if(enabledMods.includes(variablesMod)) {
numberAdjusterValue = 1; numberAdjusterValue = 1;
numberAdjusterMode = "add"; numberAdjusterMode = "add";
numberAdjusterVerb = "adding"; numberAdjusterVerb = "adding";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = false;
function rgbStringToUnvalidatedObject(string) { function rgbStringToUnvalidatedObject(string) {
string = string.split(","); string = string.split(",");
@ -37,7 +39,6 @@ if(enabledMods.includes(variablesMod)) {
function propPrompt() { function propPrompt() {
propProperty = prompt("Enter the property you want to set"); propProperty = prompt("Enter the property you want to set");
propValue = prompt("Enter the value you want to set to"); propValue = prompt("Enter the value you want to set to");
//special check: element //special check: element
@ -220,24 +221,26 @@ if(enabledMods.includes(variablesMod)) {
}; };
function numberAdjusterPrompt() { function numberAdjusterPrompt() {
var oldProperty = numberAdjusterProperty;
if(oldProperty === null) {
oldProperty = "temp";
};
numberAdjusterProperty = prompt("Enter the property you want to change"); numberAdjusterProperty = prompt("Enter the property you want to change");
if(numberAdjusterProperty === null) {
numberAdjusterProperty = oldProperty;
return false;
};
numberAdjusterValue = prompt("Enter the value you want to use"); numberAdjusterValue = prompt("Enter the value you want to use");
numberAdjusterMode = prompt("Enter \"set\" to set the property to the value,\nor \"add\" to add the value to the property."); numberAdjusterMode = prompt("Enter the operation you want to use");
//property check //property check
//console.log("Null property path"); if(numberAdjusterProperty === "") {
if(numberAdjusterProperty === "" || numberAdjusterProperty === null) {
alert("No property was specified! Defaulting to temp."); alert("No property was specified! Defaulting to temp.");
numberAdjusterProperty = "temp"; numberAdjusterProperty = "temp";
//console.log(numberAdjusterProperty);
}; };
//console.log("Property: " + numberAdjusterProperty);
//value check //value check
if(isNaN(parseFloat(numberAdjusterValue))) { if(isNaN(parseFloat(numberAdjusterValue))) {
//console.log("Invalid value path");
//console.log(numberAdjusterValue);
//empty string
if(numberAdjusterValue === "" || numberAdjusterValue === null) { if(numberAdjusterValue === "" || numberAdjusterValue === null) {
//console.log("Null value path"); //console.log("Null value path");
alert("No value was specified! Defaulting to 1"); alert("No value was specified! Defaulting to 1");
@ -254,32 +257,113 @@ if(enabledMods.includes(variablesMod)) {
//console.log("Value: " + numberAdjusterValue); //console.log("Value: " + numberAdjusterValue);
//mode check //mode check
if(!["set","add"].includes(numberAdjusterMode.toLowerCase())) {
//console.log("Invalid mode path");
//console.log(numberAdjusterMode);
//empty string
if(numberAdjusterMode === "" || numberAdjusterMode === null) {
//console.log("Null mode path");
alert("No mode was specified! Defaulting to \"add\".");
numberAdjusterMode = "add";
//console.log(numberAdjusterMode);
} else {
//console.log("Unknown mode path");
alert("Invalid mode! Only the values \"set\" or \"add\" are accepted (defaulting to \"add\").");
numberAdjusterMode = "add";
//console.log(numberAdjusterMode);
};
};
numberAdjusterMode = numberAdjusterMode.toLowerCase();
//console.log("Mode: " + numberAdjusterMode);
if(numberAdjusterMode === "set") { if(numberAdjusterMode === null) {
numberAdjusterVerb = "assigning"; alert("No operation was specified! Defaulting to add.");
} else if(numberAdjusterMode === "add") { numberAdjusterMode = "add";
};
numberAdjusterMode = numberAdjusterMode.toLowerCase();
var opNames = ["+", "add", "addition", "plus", "increase", "increment", "-", "subtract", "subtraction", "minus", "take away", "takeaway", "decrease", "decrement", "*", "x", "×", "multiply", "multiplication", "times", "by", "/", "÷", "divide", "division", "divided by", "%", "mod", "modulo", "modulus", "modulo by", "=", "set", "equals", "assign", "assignment", ">", ">=", "min", "minimum", "<", "<=", "max", "maximum", "^", "**", "exp", "exponent", "exponentiate", "raise", "raise to", "raised to"];
switch(numberAdjusterMode) {
case "+":
case "add":
case "addition":
case "plus":
case "increase":
case "increment":
numberAdjusterVerb = "adding"; numberAdjusterVerb = "adding";
} else { numberAdjusterPreposition = "to";
numberAdjusterVerb = "doing something probably invalid with"; numberAdjusterReverseOrder = false;
} break;
case "-":
case "subtract":
case "subtraction":
case "minus":
case "take away":
case "takeaway":
case "decrease":
case "decrement":
numberAdjusterVerb = "subtracting";
numberAdjusterPreposition = "from";
numberAdjusterReverseOrder = false;
break;
case "*":
case "x":
case "×":
case "multiply":
case "multiplication":
case "times":
case "by":
numberAdjusterVerb = "multiplying";
numberAdjusterPreposition = "by";
numberAdjusterReverseOrder = true;
break;
case "/":
case "÷":
case "divide":
case "division":
case "divided by":
numberAdjusterVerb = "dividing";
numberAdjusterPreposition = "by";
numberAdjusterReverseOrder = true;
break;
case "%":
case "mod":
case "modulo":
case "modulus":
case "modulo by":
numberAdjusterVerb = "reducing";
numberAdjusterPreposition = "modulo";
numberAdjusterReverseOrder = true;
break;
case "=":
case "set":
case "equals":
case "assign":
case "assignment":
numberAdjusterVerb = "setting";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = true;
break;
case ">": //lower-bounds the color
case ">=":
case "min":
case "minimum":
numberAdjusterVerb = "lower-bounding";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = true;
break;
case "<":
case "<=":
case "max": //upper-bounds the color
case "maximum":
numberAdjusterVerb = "limiting";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = true;
break;
case "^":
case "**":
case "exp":
case "exponent":
case "exponentiate":
case "raise":
case "raise to":
case "raised to":
numberAdjusterVerb = "raising";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = true;
break;
default:
alert(`Invalid operation (defaulting to "add")!`);
numberAdjusterMode = "add";
numberAdjusterVerb = "adding";
numberAdjusterPreposition = "to";
numberAdjusterReverseOrder = false;
break;
};
updateNumberAdjusterDescription(); updateNumberAdjusterDescription();
currentElement = "number_adjuster"; currentElement = "number_adjuster";
}; };
@ -287,25 +371,93 @@ if(enabledMods.includes(variablesMod)) {
elements.number_adjuster = { elements.number_adjuster = {
color: "#7fff00", color: "#7fff00",
tool: function(pixel) { tool: function(pixel) {
if(numberAdjusterProperty !== "element") {
//console.log(numberAdjusterValue);
if(numberAdjusterMode === "set") {
pixel[numberAdjusterProperty] = numberAdjusterValue;
} else if(numberAdjusterMode === "add") {
if(typeof(pixel[numberAdjusterProperty]) === "undefined") { if(typeof(pixel[numberAdjusterProperty]) === "undefined") {
pixel[numberAdjusterProperty] = 0; pixel[numberAdjusterProperty] = 0;
}; };
if(typeof(pixel[numberAdjusterProperty]) === "number") {
switch(numberAdjusterMode.toLowerCase()) {
case "+":
case "add":
case "addition":
case "plus":
case "increase":
case "increment":
pixel[numberAdjusterProperty] += numberAdjusterValue;
break;
case "-":
case "subtract":
case "subtraction":
case "minus":
case "take away":
case "takeaway":
case "decrease":
case "decrement":
pixel[numberAdjusterProperty] -= numberAdjusterValue;
break;
case "*":
case "x":
case "×":
case "multiply":
case "multiplication":
case "times":
case "by":
pixel[numberAdjusterProperty] *= numberAdjusterValue;
break;
case "/":
case "÷":
case "divide":
case "division":
case "divided by":
pixel[numberAdjusterProperty] /= numberAdjusterValue;
break;
case "%":
case "mod":
case "modulo":
case "modulus":
case "modulo by":
pixel[numberAdjusterProperty] %= numberAdjusterValue;
break;
case "=":
case "set":
case "equals":
case "assign":
case "assignment":
pixel[numberAdjusterProperty] = numberAdjusterValue;
break;
case ">": //lower-bounds the color
case ">=":
case "min":
case "minimum":
pixel[numberAdjusterProperty] = Math.max(numberAdjusterValue,pixel[numberAdjusterProperty]);
break;
case "<":
case "<=":
case "max": //upper-bounds the color
case "maximum":
pixel[numberAdjusterProperty] = Math.min(numberAdjusterValue,pixel[numberAdjusterProperty]);
break;
case "^":
case "**":
case "exp":
case "exponent":
case "exponentiate":
case "raise":
case "raise to":
case "raised to":
pixel[numberAdjusterProperty] = pixel[numberAdjusterProperty] ** numberAdjusterValue;
break;
default:
pixel[numberAdjusterProperty] += numberAdjusterValue; pixel[numberAdjusterProperty] += numberAdjusterValue;
}; };
pixelTempCheck(pixel); pixelTempCheck(pixel);
}; };
}, },
category: "tools", category: "tools",
desc: `Sets or adds to numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} to ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`, desc: `Changes properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} ${numberAdjusterPreposition} ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`,
}; };
function updateNumberAdjusterDescription() { function updateNumberAdjusterDescription() {
elements.number_adjuster.desc = `Sets or adds to numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} to ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`; elements.number_adjuster.desc = numberAdjusterReverseOrder ? `Changes numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterProperty} ${numberAdjusterPreposition} ${numberAdjusterValue}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.` : `Changes numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} ${numberAdjusterPreposition} ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`;
}; };
} else { } else {
alert(`The ${variablesMod} mod is required and has been automatically inserted (reload for this to take effect).`) alert(`The ${variablesMod} mod is required and has been automatically inserted (reload for this to take effect).`)