sandboxels/mods/drawPixels_change_test.js

40 lines
1.1 KiB
JavaScript

oldDrawPixels = drawPixels;
suffixFunction = function() {
// newCurrentPixels = shuffled currentPixels
var newCurrentPixels = currentPixels;
var pixelsFirst = [];
var pixelsLast = [];
var canvas = document.getElementById("game");
var ctx = canvas.getContext("2d");
for (var i = 0; i < newCurrentPixels.length; i++) {
pixel = newCurrentPixels[i];
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
if (pixel.del) {continue};
if (elements[pixel.element].isGas) {
pixelsLast.push(pixel);
}
else {
pixelsFirst.push(pixel);
}
}
var pixelDrawList = pixelsFirst.concat(pixelsLast);
for (var i = 0; i < pixelDrawList.length; i++) {
pixel = pixelDrawList[i];
if (pixelMap[pixel.x][pixel.y] == undefined) {continue}
if (pixel.burning && view !== 2) { // Red glow on burn
//if (!elements[pixel.element].colorOn) {
ctx.fillStyle = "rgba(255,0,0,0.5)";
ctx.fillRect(pixel.x*pixelSize, pixel.y*pixelSize, pixelSize, pixelSize);
//}
}
}
}
drawPixels = function(forceTick=false) {
oldDrawPixels(forceTick);
suffixFunction();
};