mods
This commit is contained in:
parent
0d498fe4b0
commit
c5899d5646
|
|
@ -116,4 +116,39 @@ worldgentypes.city = {
|
|||
// ["bird", 0.025, 10],
|
||||
],
|
||||
baseHeight: 0.25
|
||||
}
|
||||
|
||||
|
||||
currentBuildingElement = "wood";
|
||||
|
||||
function buildSelectHandler(r) {
|
||||
if (!r) { return; }
|
||||
e = r.replace(/ /g, "_");
|
||||
es = mostSimilarElement(e);
|
||||
if (es) {
|
||||
currentBuildingElement = es;
|
||||
logMessage("Element \"" + e + "\" selected");
|
||||
}
|
||||
else {
|
||||
currentBuildingElement = "wood";
|
||||
logMessage("Element \"" + e + "\" not found");
|
||||
selectElement(null);
|
||||
}
|
||||
}
|
||||
|
||||
elements.slab = {
|
||||
color: "#888888",
|
||||
onSelect: () => {
|
||||
promptInput("Which element should the slab be?", buildSelectHandler, "Select Material")
|
||||
},
|
||||
onPlace: (pixel) => {
|
||||
pixel.mat = currentBuildingElement;
|
||||
},
|
||||
renderer: (pixel,ctx) => {
|
||||
let color = elements[pixel.mat].color;
|
||||
if (Array.isArray(color)) color = color[0];
|
||||
if (color) { ctx.fillStyle = color; }
|
||||
ctx.fillRect(canvasCoord(pixel.x), canvasCoord(pixel.y+0.5), pixelSize, pixelSize/2);
|
||||
},
|
||||
category: "solids"
|
||||
}
|
||||
156
mods/devtests.js
156
mods/devtests.js
|
|
@ -193,138 +193,28 @@ elements.clone_fluid = {
|
|||
// category: "special"
|
||||
// }
|
||||
|
||||
addCanvasLayer("devtests");
|
||||
addCanvasLayer("devtests2");
|
||||
canvasLayersPre.unshift(canvasLayers["devtests"]);
|
||||
devtestsCtx = canvasLayers["devtests"].getContext("2d");
|
||||
devtestsCtx2 = canvasLayers["devtests2"].getContext("2d");
|
||||
delete canvasLayers.devtests;
|
||||
delete canvasLayers.devtests2;
|
||||
|
||||
viewInfo[9] = { // Blur
|
||||
name: "blur",
|
||||
pixel: viewInfo[1].pixel,
|
||||
post: function(ctx) {
|
||||
devtestsCtx.canvas.width = ctx.canvas.width;
|
||||
devtestsCtx.canvas.height = ctx.canvas.height;
|
||||
devtestsCtx.filter = "blur(80px)";
|
||||
// Draw the blurred content on the canvas
|
||||
devtestsCtx.drawImage(canvasLayers["pixels"], 0, 0);
|
||||
devtestsCtx.filter = "none";
|
||||
},
|
||||
};
|
||||
|
||||
elements.fire.emit = true;
|
||||
elements.lightning.emit = 15;
|
||||
elements.electric.emit = true;
|
||||
elements.plasma.emit = true;
|
||||
elements.uranium.emit = 3;
|
||||
elements.uranium.emitColor = "#009800";
|
||||
elements.rainbow.emit = true;
|
||||
elements.static.emit = true;
|
||||
elements.flash.emit = true;
|
||||
elements.cold_fire.emit = true;
|
||||
elements.blaster.emit = true;
|
||||
elements.ember.emit = true;
|
||||
elements.fw_ember.emit = 10;
|
||||
elements.bless.emit = true;
|
||||
elements.pop.emit = true;
|
||||
elements.explosion.emit = true;
|
||||
elements.n_explosion.emit = 10;
|
||||
elements.supernova.emit = 20;
|
||||
elements.midas_touch.emit = true;
|
||||
elements.fireball.emit = true;
|
||||
|
||||
elements.sun.emit = 15;
|
||||
elements.light.emit = 3;
|
||||
elements.liquid_light.emit = true;
|
||||
elements.laser.emit = 3;
|
||||
elements.neutron.emit = 3;
|
||||
elements.proton.emit = 3;
|
||||
elements.radiation.emit = 3;
|
||||
elements.fallout.emit = 3;
|
||||
elements.rad_steam.emit = 2;
|
||||
elements.rad_steam.emitColor = "#6ad48c";
|
||||
elements.rad_cloud.emit = 2;
|
||||
elements.rad_cloud.emitColor = "#009800";
|
||||
elements.rad_glass.emit = 2;
|
||||
elements.rad_glass.emitColor = "#009800";
|
||||
elements.rad_shard.emit = 2;
|
||||
elements.rad_shard.emitColor = "#009800";
|
||||
elements.malware.emit = 2;
|
||||
elements.border.emit = 2;
|
||||
|
||||
viewInfo[8] = { // Blur Glow (Emissive pixels only)
|
||||
name: "blurglow",
|
||||
pixel: viewInfo[1].pixel,
|
||||
effects: true,
|
||||
colorEffects: true,
|
||||
pre: function(ctx) {
|
||||
devtestsCtx2.canvas.width = ctx.canvas.width;
|
||||
devtestsCtx2.canvas.height = ctx.canvas.height;
|
||||
},
|
||||
pixel: viewInfo[1].pixel,
|
||||
post: function(ctx) {
|
||||
devtestsCtx.canvas.width = ctx.canvas.width;
|
||||
devtestsCtx.canvas.height = ctx.canvas.height;
|
||||
devtestsCtx.filter = "blur(30px)";
|
||||
// Draw the blurred content on the canvas
|
||||
devtestsCtx.drawImage(devtestsCtx2.canvas, 0, 0);
|
||||
devtestsCtx.filter = "none";
|
||||
},
|
||||
};
|
||||
|
||||
// viewInfo[7] = { // Pixelized Glow (Emissive pixels only)
|
||||
// name: "pixelglow",
|
||||
// pixel: viewInfo[1].pixel,
|
||||
// effects: true,
|
||||
// colorEffects: true,
|
||||
// pre: function(ctx) {
|
||||
// devtestsCtx2.canvas.width = width;
|
||||
// devtestsCtx2.canvas.height = height;
|
||||
// devtestsCtx.canvas.width = ctx.canvas.width;
|
||||
// devtestsCtx.canvas.height = ctx.canvas.height;
|
||||
// if (devtestsCtx.msImageSmoothingEnabled !== false) {
|
||||
// devtestsCtx.msImageSmoothingEnabled = false;
|
||||
// devtestsCtx.mozImageSmoothingEnabled = false;
|
||||
// devtestsCtx.webkitImageSmoothingEnabled = false;
|
||||
// devtestsCtx.imageSmoothingEnabled = false;
|
||||
// }
|
||||
// },
|
||||
// pixel: viewInfo[1].pixel,
|
||||
// post: function(ctx) {
|
||||
// // devtestsCtx.canvas.width = ctx.canvas.width;
|
||||
// // devtestsCtx.canvas.height = ctx.canvas.height;
|
||||
// // devtestsCtx.filter = "blur(30px)";
|
||||
// // Draw the blurred content on the canvas
|
||||
// devtestsCtx.filter = "blur(30px)";
|
||||
// devtestsCtx.drawImage(devtestsCtx2.canvas, 0, 0, width, height, 0, 0, devtestsCtx.canvas.width, devtestsCtx.canvas.height);
|
||||
// devtestsCtx.filter = "none";
|
||||
// devtestsCtx.drawImage(devtestsCtx.canvas, 0, 0, devtestsCtx.canvas.width, devtestsCtx.canvas.height, 0, 0, devtestsCtx.canvas.width, devtestsCtx.canvas.height);
|
||||
// },
|
||||
// };
|
||||
|
||||
renderEachPixel(function(pixel,ctx) {
|
||||
if (view === 8) {
|
||||
if (elements[pixel.element].emit || pixel.emit || (elements[pixel.element].colorOn && pixel.charge)) {
|
||||
let a = (settings.textures !== 0) ? pixel.alpha : undefined;
|
||||
let d = elements[pixel.element].emit||true;
|
||||
if (d === true) d = 5;
|
||||
let r = Math.floor(d/2);
|
||||
drawSquare(devtestsCtx2,elements[pixel.element].emitColor||pixel.color,pixel.x-r,pixel.y-r,d,a);
|
||||
// viewInfo[1].pixel(pixel,devtestsCtx2);
|
||||
elements.hue_paint = {
|
||||
color: elements.paint.color,
|
||||
tool: (pixel) => {
|
||||
let hsl;
|
||||
if (pixel.color.match(/^rgb/)) {
|
||||
hsl = RGBToHSL(pixel.color.match(/\d+/g));
|
||||
}
|
||||
if (pixel.charge && !elements[pixel.element].colorOn) {
|
||||
drawSquare(devtestsCtx2,"#ffff00",pixel.x-1,pixel.y-1,3);
|
||||
if (hsl) {
|
||||
let newRGB = hexToRGB(currentColorMap.hue_paint);
|
||||
let newHSL = RGBToHSL([newRGB.r,newRGB.g,newRGB.b]);
|
||||
hsl[0] = parseFloat(newHSL[0]);
|
||||
hsl[1] = parseFloat(hsl[1]);
|
||||
if (hsl[1] < 0.05) hsl[1] = 0.1;
|
||||
hsl[2] = parseFloat(hsl[2]);
|
||||
newRGB = HSLtoRGB(hsl);
|
||||
newRGB[0] = Math.floor(newRGB[0]);
|
||||
newRGB[1] = Math.floor(newRGB[1]);
|
||||
newRGB[2] = Math.floor(newRGB[2]);
|
||||
pixel.color = "rgb("+newRGB.join(",")+")";
|
||||
delete pixel.origColor;
|
||||
}
|
||||
}
|
||||
// else if (view === 7) {
|
||||
// let a = (settings.textures !== 0) ? pixel.alpha : undefined;
|
||||
// let d = elements[pixel.element].emit||true;
|
||||
// if (d === true) d = 5;
|
||||
// let r = Math.floor(d/2);
|
||||
// devtestsCtx2.fillStyle = pixel.color;
|
||||
// if (devtestsCtx2.globalAlpha !== a) { devtestsCtx2.globalAlpha = a; }
|
||||
// devtestsCtx2.fillRect(pixel.x-r, pixel.y-r, d, d);
|
||||
// }
|
||||
})
|
||||
},
|
||||
category: "special",
|
||||
customColor: true,
|
||||
}
|
||||
Loading…
Reference in New Issue