mirror of
https://github.com/lospec/pixel-editor.git
synced 2023-08-10 21:12:51 +03:00
153 lines
6.6 KiB
JavaScript
153 lines
6.6 KiB
JavaScript
|
|
palettes = {
|
|
"Endesga 32": {
|
|
colors: "be4a2f,d77643,ead4aa,e4a672,b86f50,733e39,3e2731,a22633,e43b44,f77622,feae34,fee761,63c74d,3e8948,265c42,193c3e,124e89,0099db,2ce8f5,ffffff,c0cbdc,8b9bb4,5a6988,3a4466,262b44,181425,ff0044,68386c,b55088,f6757a,e8b796,c28569".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
"Resurrect 64": {
|
|
colors: "2e222f,3e3546,625565,966c6c,ab947a,694f62,7f708a,9babb2,c7dcd0,ffffff,6e2727,b33831,ea4f36,f57d4a,ae2334,e83b3b,fb6b1d,f79617,f9c22b,7a3045,9e4539,cd683d,e6904e,fbb954,4c3e24,676633,a2a947,d5e04b,fbff86,165a4c,239063,1ebc73,91db69,cddf6c,313638,374e4a,547e64,92a984,b2ba90,0b5e65,0b8a8f,0eaf9b,30e1b9,8ff8e2,323353,484a77,4d65b4,4d9be6,8fd3ff,45293f,6b3e75,905ea9,a884f3,eaaded,753c54,a24b6f,cf657f,ed8099,831c5d,c32454,f04f78,f68181,fca790,fdcbb0".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
"AAP-64": {
|
|
colors: "060608,141013,3b1725,73172d,b4202a,df3e23,fa6a0a,f9a31b,ffd541,fffc40,d6f264,9cdb43,59c135,14a02e,1a7a3e,24523b,122020,143464,285cc4,249fde,20d6c7,a6fcdb,ffffff,fef3c0,fad6b8,f5a097,e86a73,bc4a9b,793a80,403353,242234,221c1a,322b28,71413b,bb7547,dba463,f4d29c,dae0ea,b3b9d1,8b93af,6d758d,4a5462,333941,422433,5b3138,8e5252,ba756a,e9b5a3,e3e6ff,b9bffb,849be4,588dbe,477d85,23674e,328464,5daf8d,92dcba,cdf7e2,e4d2aa,c7b08b,a08662,796755,5a4e44,423934".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
"Zughy 32": {
|
|
colors: "472d3c,5e3643,7a444a,a05b53,bf7958,eea160,f4cca1,b6d53c,71aa34,397b44,3c5956,302c2e,5a5353,7d7071,a0938e,cfc6b8,dff6f5,8aebf1,28ccdf,3978a8,394778,39314b,564064,8e478c,cd6093,ffaeb6,f4b41b,f47e1b,e6482e,a93b3b,827094,4f546b".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
Journey: {
|
|
colors: "050914,110524,3b063a,691749,9c3247,d46453,f5a15d,ffcf8e,ff7a7d,ff417d,d61a88,94007a,42004e,220029,100726,25082c,3d1132,73263d,bd4035,ed7b39,ffb84a,fff540,c6d831,77b02a,429058,2c645e,153c4a,052137,0e0421,0c0b42,032769,144491,488bd4,78d7ff,b0fff1,faffff,c7d4e1,928fb8,5b537d,392946,24142c,0e0f2c,132243,1a466b,10908e,28c074,3dff6e,f8ffb8,f0c297,cf968c,8f5765,52294b,0f022e,35003b,64004c,9b0e3e,d41e3c,ed4c40,ff9757,d4662f,9c341a,691b22,450c28,2d002e".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
Vinik24: {
|
|
colors: "000000,6f6776,9a9a97,c5ccb8,8b5580,c38890,a593a5,666092,9a4f50,c28d75,7ca1c0,416aa3,8d6268,be955c,68aca9,387080,6e6962,93a167,6eaa78,557064,9d9f7f,7e9e99,5d6872,433455".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
"Sweetie 16": {
|
|
colors: "1a1c2c,5d275d,b13e53,ef7d57,ffcd75,a7f070,38b764,257179,29366f,3b5dc9,41a6f6,73eff7,f4f4f4,94b0c2,566c86,333c57".split(
|
|
","
|
|
),
|
|
},
|
|
|
|
Lospec500: {
|
|
colors: "10121c,2c1e31,6b2643,ac2847,ec273f,94493a,de5d3a,e98537,f3a833,4d3533,6e4c30,a26d3f,ce9248,dab163,e8d282,f7f3b7,1e4044,006554,26854c,5ab552,9de64e,008b8b,62a477,a6cb96,d3eed3,3e3b65,3859b3,3388de,36c5f4,6dead6,5e5b8c,8c78a5,b0a7b8,deceed,9a4d76,c878af,cc99ff,fa6e79,ffa2ac,ffd1d5,f6e8e0,ffffff".split(
|
|
","
|
|
),
|
|
},
|
|
};
|
|
palettes["Commodore 64"] = {"name":"Commodore 64","author":"","colors":["000000","626262","898989","adadad","ffffff","9f4e44","cb7e75","6d5412","a1683c","c9d487","9ae29b","5cab5e","6abfc6","887ecb","50459b","a057a3"]};
|
|
palettes["PICO-8"] = {"name":"PICO-8","author":"","colors":["000000","1D2B53","7E2553","008751","AB5236","5F574F","C2C3C7","FFF1E8","FF004D","FFA300","FFEC27","00E436","29ADFF","83769C","FF77A8","FFCCAA"]};
|
|
palettes["Gameboy Color"] = {"name":"Nintendo Gameboy (Black Zero)","author":"","colors":["2e463d","385d49","577b46","7e8416"]};
|
|
|
|
|
|
|
|
//populate palettes list in new pixel menu
|
|
(() => {
|
|
const palettesMenu = document.getElementById('palette-menu');
|
|
const splashPalettes = document.getElementById('palette-menu-splash');
|
|
const noPaletteButton = document.getElementById('no-palette-button');
|
|
const newPixelElement = document.getElementById('new-pixel');
|
|
const paletteButton = document.getElementById('palette-button');
|
|
const paletteButtonSplash = document.getElementById('palette-button-splash');
|
|
const loadPaletteButton = document.getElementById('load-palette-button');
|
|
const loadPaletteButtonSplash = document.getElementById('load-palette-button-splash');
|
|
|
|
splashPalettes.refresh = function () {
|
|
splashPalettes.innerHTML = '';
|
|
palettesMenu.innerHTML = '';
|
|
|
|
Object.keys(palettes).forEach((paletteName,) => {
|
|
|
|
const button = document.createElement('button');
|
|
button.appendChild(document.createTextNode(paletteName));
|
|
|
|
//if the palette was specified by the user, change the dropdown to it
|
|
if (palettes[paletteName].specified) {
|
|
Util.setText('palette-button', paletteName);
|
|
Util.setText('palette-button-splash', paletteName)
|
|
//Show empty palette option
|
|
noPaletteButton.style.display = 'block';
|
|
}
|
|
|
|
const buttonEvent = () => {
|
|
//hide the dropdown menu
|
|
Util.deselect('palette-menu');
|
|
Util.deselect('palette-button');
|
|
Util.deselect('palette-menu-splash');
|
|
Util.deselect('palette-button-splash');
|
|
|
|
//show empty palette option
|
|
noPaletteButton.style.display = 'block';
|
|
|
|
//set the text of the dropdown to the newly selected preset
|
|
Util.setText('palette-button', paletteName);
|
|
Util.setText('palette-button-splash', paletteName);
|
|
}
|
|
|
|
// Making a copy for the splash page too
|
|
const copyButton = button.cloneNode(true);
|
|
copyButton.addEventListener('click', buttonEvent);
|
|
button.addEventListener('click', buttonEvent);
|
|
|
|
// Appending it to the splash palette menu
|
|
splashPalettes.appendChild(copyButton);
|
|
palettesMenu.appendChild(button);
|
|
});
|
|
}
|
|
|
|
splashPalettes.refresh();
|
|
|
|
|
|
const loadPaletteButtonEvent = () => {
|
|
document.getElementById('load-palette-browse-holder').click();
|
|
}
|
|
const clickPaletteButtonEvent = (e) => {
|
|
Util.toggle('palette-button');
|
|
Util.toggle('palette-menu');
|
|
|
|
Util.deselect('preset-button');
|
|
Util.deselect('preset-menu');
|
|
|
|
// Splash version
|
|
Util.toggle('palette-button-splash');
|
|
Util.toggle('palette-menu-splash');
|
|
|
|
e.stopPropagation();
|
|
}
|
|
// Load Palettes
|
|
loadPaletteButton.addEventListener('click', loadPaletteButtonEvent);
|
|
loadPaletteButtonSplash.addEventListener('click', loadPaletteButtonEvent);
|
|
|
|
// Palette menu click
|
|
paletteButtonSplash.addEventListener('click', clickPaletteButtonEvent);
|
|
paletteButton.addEventListener('click', clickPaletteButtonEvent);
|
|
|
|
noPaletteButton.addEventListener('click', () => {
|
|
noPaletteButton.style.display = 'none';
|
|
Util.setText('palette-button', 'Choose a palette...');
|
|
})
|
|
|
|
newPixelElement.addEventListener('click', () => {
|
|
Util.deselect('preset-button');
|
|
Util.deselect('preset-menu');
|
|
Util.deselect('palette-button');
|
|
Util.deselect('palette-menu');
|
|
|
|
// Splash version
|
|
Util.deselect('palette-button-splash');
|
|
Util.deselect('palette-menu-splash');
|
|
})
|
|
})();
|