Palettes / GRAYSCALE 16

GRAYSCALE 16 by SZIEBERTH รdรกm

Most distinctive 16 grays. For other number of colors, see the link in my comment.

๐Ÿฆ€ Rust

#![no_std]
#![no_main]
use firefly_rust::*;

#[unsafe(no_mangle)]
extern "C" fn boot() {
    set_colors();
}

fn set_colors() {
    // https://lospec.com/palette-list/grayscale-16
    set_color(Color::from(1), RGB::new(0x00, 0x00, 0x00));
    set_color(Color::from(2), RGB::new(0x18, 0x18, 0x18));
    set_color(Color::from(3), RGB::new(0x28, 0x28, 0x28));
    set_color(Color::from(4), RGB::new(0x38, 0x38, 0x38));
    set_color(Color::from(5), RGB::new(0x47, 0x47, 0x47));
    set_color(Color::from(6), RGB::new(0x56, 0x56, 0x56));
    set_color(Color::from(7), RGB::new(0x64, 0x64, 0x64));
    set_color(Color::from(8), RGB::new(0x71, 0x71, 0x71));
    set_color(Color::from(9), RGB::new(0x7e, 0x7e, 0x7e));
    set_color(Color::from(10), RGB::new(0x8c, 0x8c, 0x8c));
    set_color(Color::from(11), RGB::new(0x9b, 0x9b, 0x9b));
    set_color(Color::from(12), RGB::new(0xab, 0xab, 0xab));
    set_color(Color::from(13), RGB::new(0xbd, 0xbd, 0xbd));
    set_color(Color::from(14), RGB::new(0xd1, 0xd1, 0xd1));
    set_color(Color::from(15), RGB::new(0xe7, 0xe7, 0xe7));
    set_color(Color::from(16), RGB::new(0xff, 0xff, 0xff));
}

๐Ÿƒ Go

package main

import "github.com/firefly-zero/firefly-go/firefly"

func init() {
    firefly.Boot = boot
}

func boot() {
    setColors()
}

func setColors() {
    // https://lospec.com/palette-list/grayscale-16
    firefly.SetColor(1, firefly.RGB{R: 0x00, G: 0x00, B: 0x00})
    firefly.SetColor(2, firefly.RGB{R: 0x18, G: 0x18, B: 0x18})
    firefly.SetColor(3, firefly.RGB{R: 0x28, G: 0x28, B: 0x28})
    firefly.SetColor(4, firefly.RGB{R: 0x38, G: 0x38, B: 0x38})
    firefly.SetColor(5, firefly.RGB{R: 0x47, G: 0x47, B: 0x47})
    firefly.SetColor(6, firefly.RGB{R: 0x56, G: 0x56, B: 0x56})
    firefly.SetColor(7, firefly.RGB{R: 0x64, G: 0x64, B: 0x64})
    firefly.SetColor(8, firefly.RGB{R: 0x71, G: 0x71, B: 0x71})
    firefly.SetColor(9, firefly.RGB{R: 0x7e, G: 0x7e, B: 0x7e})
    firefly.SetColor(10, firefly.RGB{R: 0x8c, G: 0x8c, B: 0x8c})
    firefly.SetColor(11, firefly.RGB{R: 0x9b, G: 0x9b, B: 0x9b})
    firefly.SetColor(12, firefly.RGB{R: 0xab, G: 0xab, B: 0xab})
    firefly.SetColor(13, firefly.RGB{R: 0xbd, G: 0xbd, B: 0xbd})
    firefly.SetColor(14, firefly.RGB{R: 0xd1, G: 0xd1, B: 0xd1})
    firefly.SetColor(15, firefly.RGB{R: 0xe7, G: 0xe7, B: 0xe7})
    firefly.SetColor(16, firefly.RGB{R: 0xff, G: 0xff, B: 0xff})
}

โšก๏ธ Zig

const ff = @import("firefly");

pub export fn update() void {
    setColors()
}

fn setColors() void {
    // https://lospec.com/palette-list/grayscale-16
    ff.setColor(@enumFromInt(1), ff.RGB{.r = 0x00, .g = 0x00, .b = 0x00});
    ff.setColor(@enumFromInt(2), ff.RGB{.r = 0x18, .g = 0x18, .b = 0x18});
    ff.setColor(@enumFromInt(3), ff.RGB{.r = 0x28, .g = 0x28, .b = 0x28});
    ff.setColor(@enumFromInt(4), ff.RGB{.r = 0x38, .g = 0x38, .b = 0x38});
    ff.setColor(@enumFromInt(5), ff.RGB{.r = 0x47, .g = 0x47, .b = 0x47});
    ff.setColor(@enumFromInt(6), ff.RGB{.r = 0x56, .g = 0x56, .b = 0x56});
    ff.setColor(@enumFromInt(7), ff.RGB{.r = 0x64, .g = 0x64, .b = 0x64});
    ff.setColor(@enumFromInt(8), ff.RGB{.r = 0x71, .g = 0x71, .b = 0x71});
    ff.setColor(@enumFromInt(9), ff.RGB{.r = 0x7e, .g = 0x7e, .b = 0x7e});
    ff.setColor(@enumFromInt(10), ff.RGB{.r = 0x8c, .g = 0x8c, .b = 0x8c});
    ff.setColor(@enumFromInt(11), ff.RGB{.r = 0x9b, .g = 0x9b, .b = 0x9b});
    ff.setColor(@enumFromInt(12), ff.RGB{.r = 0xab, .g = 0xab, .b = 0xab});
    ff.setColor(@enumFromInt(13), ff.RGB{.r = 0xbd, .g = 0xbd, .b = 0xbd});
    ff.setColor(@enumFromInt(14), ff.RGB{.r = 0xd1, .g = 0xd1, .b = 0xd1});
    ff.setColor(@enumFromInt(15), ff.RGB{.r = 0xe7, .g = 0xe7, .b = 0xe7});
    ff.setColor(@enumFromInt(16), ff.RGB{.r = 0xff, .g = 0xff, .b = 0xff});
}

๐Ÿ€ C

#include "./vendor/firefly/firefly.c"

BOOT void boot()
{
    set_colors();
}

void set_colors()
{
    // https://lospec.com/palette-list/grayscale-16
    RGB color1 = {0x00, 0x00, 0x00};
    set_color(1, color1);
    RGB color2 = {0x18, 0x18, 0x18};
    set_color(2, color2);
    RGB color3 = {0x28, 0x28, 0x28};
    set_color(3, color3);
    RGB color4 = {0x38, 0x38, 0x38};
    set_color(4, color4);
    RGB color5 = {0x47, 0x47, 0x47};
    set_color(5, color5);
    RGB color6 = {0x56, 0x56, 0x56};
    set_color(6, color6);
    RGB color7 = {0x64, 0x64, 0x64};
    set_color(7, color7);
    RGB color8 = {0x71, 0x71, 0x71};
    set_color(8, color8);
    RGB color9 = {0x7e, 0x7e, 0x7e};
    set_color(9, color9);
    RGB color10 = {0x8c, 0x8c, 0x8c};
    set_color(10, color10);
    RGB color11 = {0x9b, 0x9b, 0x9b};
    set_color(11, color11);
    RGB color12 = {0xab, 0xab, 0xab};
    set_color(12, color12);
    RGB color13 = {0xbd, 0xbd, 0xbd};
    set_color(13, color13);
    RGB color14 = {0xd1, 0xd1, 0xd1};
    set_color(14, color14);
    RGB color15 = {0xe7, 0xe7, 0xe7};
    set_color(15, color15);
    RGB color16 = {0xff, 0xff, 0xff};
    set_color(16, color16);
}

โž• C++

#include "./vendor/firefly/firefly.c"

BOOT void boot()
{
    set_colors();
}

void set_colors()
{
    // https://lospec.com/palette-list/grayscale-16
    set_color(1, {0x00, 0x00, 0x00});
    set_color(2, {0x18, 0x18, 0x18});
    set_color(3, {0x28, 0x28, 0x28});
    set_color(4, {0x38, 0x38, 0x38});
    set_color(5, {0x47, 0x47, 0x47});
    set_color(6, {0x56, 0x56, 0x56});
    set_color(7, {0x64, 0x64, 0x64});
    set_color(8, {0x71, 0x71, 0x71});
    set_color(9, {0x7e, 0x7e, 0x7e});
    set_color(10, {0x8c, 0x8c, 0x8c});
    set_color(11, {0x9b, 0x9b, 0x9b});
    set_color(12, {0xab, 0xab, 0xab});
    set_color(13, {0xbd, 0xbd, 0xbd});
    set_color(14, {0xd1, 0xd1, 0xd1});
    set_color(15, {0xe7, 0xe7, 0xe7});
    set_color(16, {0xff, 0xff, 0xff});
}

๐Ÿฐ MoonBit

///|
using @firefly {type Color, type RGB}

///|
pub fn boot() -> Unit {
  set_colors()
}

///|
fn set_colors() -> Unit {
  // https://lospec.com/palette-list/grayscale-16
  @firefly.set_color(Color::from_int(1), RGB::new(0x00, 0x00, 0x00));
  @firefly.set_color(Color::from_int(2), RGB::new(0x18, 0x18, 0x18));
  @firefly.set_color(Color::from_int(3), RGB::new(0x28, 0x28, 0x28));
  @firefly.set_color(Color::from_int(4), RGB::new(0x38, 0x38, 0x38));
  @firefly.set_color(Color::from_int(5), RGB::new(0x47, 0x47, 0x47));
  @firefly.set_color(Color::from_int(6), RGB::new(0x56, 0x56, 0x56));
  @firefly.set_color(Color::from_int(7), RGB::new(0x64, 0x64, 0x64));
  @firefly.set_color(Color::from_int(8), RGB::new(0x71, 0x71, 0x71));
  @firefly.set_color(Color::from_int(9), RGB::new(0x7e, 0x7e, 0x7e));
  @firefly.set_color(Color::from_int(10), RGB::new(0x8c, 0x8c, 0x8c));
  @firefly.set_color(Color::from_int(11), RGB::new(0x9b, 0x9b, 0x9b));
  @firefly.set_color(Color::from_int(12), RGB::new(0xab, 0xab, 0xab));
  @firefly.set_color(Color::from_int(13), RGB::new(0xbd, 0xbd, 0xbd));
  @firefly.set_color(Color::from_int(14), RGB::new(0xd1, 0xd1, 0xd1));
  @firefly.set_color(Color::from_int(15), RGB::new(0xe7, 0xe7, 0xe7));
  @firefly.set_color(Color::from_int(16), RGB::new(0xff, 0xff, 0xff));
}

๐ŸŒ™ Lua

function boot()
  set_colors()
end

function set_colors()
  -- https://lospec.com/palette-list/grayscale-16
  firefly.set_color(1, {r=0x00, g=0x00, b=0x00});
  firefly.set_color(2, {r=0x18, g=0x18, b=0x18});
  firefly.set_color(3, {r=0x28, g=0x28, b=0x28});
  firefly.set_color(4, {r=0x38, g=0x38, b=0x38});
  firefly.set_color(5, {r=0x47, g=0x47, b=0x47});
  firefly.set_color(6, {r=0x56, g=0x56, b=0x56});
  firefly.set_color(7, {r=0x64, g=0x64, b=0x64});
  firefly.set_color(8, {r=0x71, g=0x71, b=0x71});
  firefly.set_color(9, {r=0x7e, g=0x7e, b=0x7e});
  firefly.set_color(10, {r=0x8c, g=0x8c, b=0x8c});
  firefly.set_color(11, {r=0x9b, g=0x9b, b=0x9b});
  firefly.set_color(12, {r=0xab, g=0xab, b=0xab});
  firefly.set_color(13, {r=0xbd, g=0xbd, b=0xbd});
  firefly.set_color(14, {r=0xd1, g=0xd1, b=0xd1});
  firefly.set_color(15, {r=0xe7, g=0xe7, b=0xe7});
  firefly.set_color(16, {r=0xff, g=0xff, b=0xff});
end