0xa3e51498…25a5sent to0xa7d8d9ef…d270·#13,202,520·view on Etherscan
function xx(a) {
return unhex(hash.substring(a, a + 2));
}
function xxs(a) {
return ((unhex(hash.substring(a, a + 2)) / DEFAULT_SIZE) * DIM);
}
function s(a) {
scaled_val = Math.ceil((a / DEFAULT_SIZE) * DIM);
return scaled_val == 0 ? 1 : scaled_val;
}
function xBetween(x, a, b) {
return (int)(a + (xx(x) / 255.0 * (b - a)));
}
function xsBetween(x, a, b) {
a = s(a);
b = s(b);
return (int)(a + (xx(x) / 255.0 * (b - a)));
}
function srandom(a, b) {
a = s(a);
b = s(b);
return random(a, b)
}
function dotsbg() {
let dots_circle_counter = 0;
let dots_height_counter = 0;
if (type == "light") {
background(255, 255, 255);
}
if (type == "dark") {
background(0, 0, 0);
}
while (dots_height_counter < 8 * DIM) {
while (dots_circle_counter < 8 * DIM) {
noStroke();
if (type == "light") {
fill(0);
}
if (type == "dark") {
fill(255);
}
ellipse(dots_circle_counter, dots_height_counter, s(3), s(3));
dots_circle_counter = dots_circle_counter + s(64);
}
dots_height_counter = dots_height_counter + s(64);
dots_circle_counter = 0;
}
}
function notebookbg(width) {
'use strict'
let grid = []
let notebook = []
let f = 0.02;
let seed = floor(xx(17))
noiseSeed(seed)
notebook[0] = color(0, 0, 0);
notebook[1] = color(255, 255, 255);
let ratio = .5;
if (type == "light") {
ratio = .58
} else {
ratio = .39
}
let dimScale = DIM/DEFAULT_SIZE
for (let y = 0; y < DIM; y++) {
for (let x = 0; x <= DIM; x++) {
let xsc = floor(x/dimScale)
let ysc = floor(y/dimScale)
let i = noise(xsc * f, ysc * f) < ratio ? 1 : 0;
grid.push({
x,
y,
i
});
}
}
noStroke();
grid.forEach((g, index) => {
fill(notebook[g.i])
rect(g.x, g.y, 1, 1);
});
}
function grid3Dbg() {
bgType = "3Dgrid";
background(type == "light" ? 255 : 0);
strokeWeight(s(1));
let GridCounter = 4;
let GridwCounter = 0 - DIM;
let GridLoop = 24;
stroke(type == "light" ? 0 : 255);
while (GridCounter < DIM) {
line(0, s(512) + GridCounter, DIM, s(512) + GridCounter);
GridCounter *= 1.1;
}
while (GridwCounter < DIM) {
line(GridwCounter, s(512) + 4, GridwCounter - (s(64) * GridLoop), DIM);
GridLoop -= 1;
GridwCounter += s(64);
}
}
function horizonbg() {
bgType = "horizon";
if (type == "light") {
background(255);
} else {
background(0, 0, 0);
}
let horizon = 0;
strokeWeight(s(1));
while (horizon < DIM) {
stroke(type == "light" ? 0 : 255);
strokeWeight(horizon / 1.5);
line(0, s(512) + 20 * horizon, DIM, s(512) + 20 * horizon);
horizon += s(1);
}
}
function fakegridbg() {
bgType = "fakegrid";
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM;
let h_lerp = DIM;
let fake_grid_counter = 0;
let fake_grid_counter_h = 0;
let fakeGrid;
fakeGrid = createGraphics(DIM, DIM);
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(clrs[0], clrs[1], inter);
fakeGrid.strokeWeight(2);
fakeGrid.stroke(c);
fakeGrid.line(x_lerp, i, x_lerp + w_lerp, i);
}
image(fakeGrid, 0, 0);
while (fake_grid_counter_h < DIM + s(32)) {
while (fake_grid_counter < DIM + s(32)) {
fill(type == "light" ? 255 : 0);
noStroke();
square(fake_grid_counter - s(16), fake_grid_counter_h - s(16), s(64));
fake_grid_counter = fake_grid_counter + s(66);
}
fake_grid_counter_h = fake_grid_counter_h + s(66);
fake_grid_counter = 0;
}
}
function gridbg() {
bgType = "grid";
if (type == "light") {
background(255, 255, 255);
} else {
background(0, 0, 0);
}
let n = 0;
while (n < DIM) {
noFill();
strokeWeight(s(2));
if (type == "light") {
stroke(0);
} else {
stroke(255, 255, 255);
}
line(0, s(64) + n, DIM, s(64) + n);
line(s(64) + n, 0, s(64) + n, DIM);
n += s(64);
}
}
function wormsbg() {
worms_used = true;
background(255);
noFill();
strokeCap(ROUND);
strokeWeight(s(5));
stroke(0, 0, 0, 25);
let worm_column = 0;
let worm_row = 0;
let worm_switch = 0;
let bezX1 = s(16);
let bezX2 = s(4);
let bezY1 = s(32);
while (worm_row < s(1224)) {
while (worm_column < DIM) {
beginShape();
curveVertex(int(srandom(0, 12) - bezX1) + worm_row, int(srandom(0, 24)) - bezY1 + worm_column);
curveVertex(int(srandom(0, 24)) + worm_row, int(srandom(0, 24)) + worm_column);
curveVertex(int(srandom(0, 26)) + worm_row, int(srandom(0, 24)) + worm_column);
curveVertex(int(srandom(0, 32)) + worm_row, int(srandom(0, 24)) + worm_column);
curveVertex(int(srandom(0, 36)) + bezX2 + worm_row, int(srandom(0, 24)) + bezY1 + worm_column);
endShape();
worm_column = worm_column + s(24);
}
worm_column = worm_column + s(158);
worm_switch++;
worm_row = worm_row + s(32);
if (worm_switch % 2 == 0) {
worm_column = 0;
}
if (worm_switch % 2 != 0) {
worm_column = s(-79);
}
if (worm_switch % 3 == 0) {
worm_column = s(-128);
}
}
}
function starscapebg(randomOffset4, randomOffset5) {
bgType = "starscape";
let starAmt = abs(randomOffset5) * 40;
let bigBang = 0;
let starPosX = random(0, DIM);
let starPosY = random(0, DIM);
let starSize = 1;
noStroke();
fill(255);
background(0);
while (bigBang < starAmt) {
ellipse(starPosX, starPosY, starSize, starSize);
starPosX = random(0, DIM);
starPosY = random(0, DIM);
starSize = starSize + 1;
if (starSize > s(5)) {
starSize = 1;
}
bigBang += 1;
}
}
function sprinklesbg() {
background(255);
strokeCap(ROUND);
strokeWeight(s(6));
stroke(0);
let sprinkle_column = 0;
let sprinkle_row = 0;
let sprinkle_switch = 0;
while (sprinkle_row < (round(1.1953125 * DIM))) {
while (sprinkle_column < DIM) {
line(s(-6) + sprinkle_row, s(16) + sprinkle_column, s(4) + sprinkle_row, s(30) + sprinkle_column);
line(s(-8) + sprinkle_row, s(48) + sprinkle_column, s(8) + sprinkle_row, s(48) + sprinkle_column);
line(0 + sprinkle_row, s(72) + sprinkle_column, 0 + sprinkle_row, s(88) + sprinkle_column);
line(s(4) + sprinkle_row, s(108) + sprinkle_column, s(-6) + sprinkle_row, s(124) + sprinkle_column);
line(s(-8) + sprinkle_row, s(148) + sprinkle_column, s(8) + sprinkle_row, s(148) + sprinkle_column);
sprinkle_column = sprinkle_column + s(158);
}
sprinkle_switch++;
sprinkle_row = sprinkle_row + s(32);
if (sprinkle_switch % 2 == 0) {
sprinkle_column = 0;
}
if (sprinkle_switch % 2 != 0) {
sprinkle_column = s(-79);
}
if (sprinkle_switch % 3 == 0) {
sprinkle_column = s(-128);
}
}
noStroke();
fill('rgba(255,255,255, 0.85)');
rect(0, 0, DIM, DIM);
}
function sprinklesGradientbg() {
sprinkles_used = true;
let sourceSprinklesGradient;
let maskSprinkles;
sourceSprinklesGradient = createGraphics(DIM, DIM);
let x_lerp = 0;
let y_lerp = 0;
let w_lerp = DIM;
let h_lerp = DIM;
for (var i = y_lerp; i <= y_lerp + h_lerp; i++) {
let inter = map(i, y_lerp, y_lerp + h_lerp, 0, 1);
let c = lerpColor(clrs[0], clrs[1], inter);
sourceSprinklesGradient.strokeWeight(2);
sourceSprinklesGradient.stroke(c);
sourceSprinklesGradient.line(x_lerp, i, x_lerp + w_lerp, i);
}
maskSprinkles = createGraphics(DIM, DIM);
maskSprinkles.strokeCap(ROUND);
maskSprinkles.strokeWeight(s(6));
maskSprinkles.stroke(0);
let sprinkle_column = 0;
let sprinkle_row = 0;
let sprinkle_switch = 0;
while (sprinkle_row < (round(1.1953125 * DIM))) {
while (sprinkle_column < DIM) {
maskSprinkles.line(s(-6) + sprinkle_row, s(16) + sprinkle_column, s(4) + sprinkle_row, s(30) + sprinkle_column);
maskSprinkles.line(s(-8) + sprinkle_row, s(48) + sprinkle_column, s(8) + sprinkle_row, s(48) + sprinkle_column);
maskSprinkles.line(0 + sprinkle_row, s(72) + sprinkle_column, 0 + sprinkle_row, s(88) + sprinkle_column);
maskSprinkles.line(s(4) + sprinkle_row, s(108) + sprinkle_column, s(-6) + sprinkle_row, s(124) + sprinkle_column);
maskSprinkles.line(s(-8) + sprinkle_row, s(148) + sprinkle_column, s(8) + sprinkle_row, s(148) + sprinkle_column);
sprinkle_column = sprinkle_column + s(158);
}
sprinkle_switch++;
sprinkle_row = sprinkle_row + s(32);
if (sprinkle_switch % 2 == 0) {
sprinkle_column = 0;
}
if (sprinkle_switch % 2 != 0) {
sprinkle_column = s(-79);
}
if (sprinkle_switch % 3 == 0) {
sprinkle_column = s(-128);
}
}
applyMask(sourceSprinklesGradient, maskSprinkles);
}
function applyMask(source, target) {
let clone;
(clone = source.get()).mask(target.get());
image(clone, 0, 0);
}
function nonBGColor(i) {
if (type == "light") {
return clrs[i].toString() != globalWhite.toString() ? clrs[i] : clrs[(i + 1) % clrs.length];
} else if (type == "dark") {
return clrs[i].toString() != globalBlack.toString() ? clrs[i] : clrs[(i + 1) % clrs.length];
}
return clrs[i];
}
function diffColor(col, i) {
return clrs[i].toString() != col.toString() ? clrs[i] : clrs[(i + 1) % clrs.length];
}
function getColor(i) {
while (clrs[i].toString() == globalWhite.toString() || clrs[i].toString() == globalBlack.toString()) {
i = (i + 1) % clrs.length;
}
return clrs[i];
}