Palettes / Forest-16

Forest-16 by Eclipse89

Small palette on the desaturated side, especially good for foliage and nature

🦀 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/forest-16
    set_color(Color::from(1), RGB::new(0x64, 0x98, 0x8e));
    set_color(Color::from(2), RGB::new(0x3d, 0x70, 0x85));
    set_color(Color::from(3), RGB::new(0x0f, 0x2c, 0x2e));
    set_color(Color::from(4), RGB::new(0x34, 0x56, 0x44));
    set_color(Color::from(5), RGB::new(0x6b, 0x7f, 0x5c));
    set_color(Color::from(6), RGB::new(0xb0, 0xb1, 0x7c));
    set_color(Color::from(7), RGB::new(0xe1, 0xc5, 0x84));
    set_color(Color::from(8), RGB::new(0xc8, 0x96, 0x60));
    set_color(Color::from(9), RGB::new(0xad, 0x5f, 0x52));
    set_color(Color::from(10), RGB::new(0x91, 0x36, 0x36));
    set_color(Color::from(11), RGB::new(0x69, 0x2f, 0x11));
    set_color(Color::from(12), RGB::new(0x89, 0x54, 0x2f));
    set_color(Color::from(13), RGB::new(0x79, 0x6e, 0x63));
    set_color(Color::from(14), RGB::new(0xa1, 0x7d, 0x5e));
    set_color(Color::from(15), RGB::new(0xb4, 0xa1, 0x8f));
    set_color(Color::from(16), RGB::new(0xec, 0xdd, 0xba));
}

🏃 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/forest-16
    firefly.SetColor(1, firefly.RGB{R: 0x64, G: 0x98, B: 0x8e})
    firefly.SetColor(2, firefly.RGB{R: 0x3d, G: 0x70, B: 0x85})
    firefly.SetColor(3, firefly.RGB{R: 0x0f, G: 0x2c, B: 0x2e})
    firefly.SetColor(4, firefly.RGB{R: 0x34, G: 0x56, B: 0x44})
    firefly.SetColor(5, firefly.RGB{R: 0x6b, G: 0x7f, B: 0x5c})
    firefly.SetColor(6, firefly.RGB{R: 0xb0, G: 0xb1, B: 0x7c})
    firefly.SetColor(7, firefly.RGB{R: 0xe1, G: 0xc5, B: 0x84})
    firefly.SetColor(8, firefly.RGB{R: 0xc8, G: 0x96, B: 0x60})
    firefly.SetColor(9, firefly.RGB{R: 0xad, G: 0x5f, B: 0x52})
    firefly.SetColor(10, firefly.RGB{R: 0x91, G: 0x36, B: 0x36})
    firefly.SetColor(11, firefly.RGB{R: 0x69, G: 0x2f, B: 0x11})
    firefly.SetColor(12, firefly.RGB{R: 0x89, G: 0x54, B: 0x2f})
    firefly.SetColor(13, firefly.RGB{R: 0x79, G: 0x6e, B: 0x63})
    firefly.SetColor(14, firefly.RGB{R: 0xa1, G: 0x7d, B: 0x5e})
    firefly.SetColor(15, firefly.RGB{R: 0xb4, G: 0xa1, B: 0x8f})
    firefly.SetColor(16, firefly.RGB{R: 0xec, G: 0xdd, B: 0xba})
}

⚡️ Zig

const ff = @import("firefly");

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

fn setColors() void {
    // https://lospec.com/palette-list/forest-16
    ff.setColor(@enumFromInt(1), ff.RGB{.r = 0x64, .g = 0x98, .b = 0x8e});
    ff.setColor(@enumFromInt(2), ff.RGB{.r = 0x3d, .g = 0x70, .b = 0x85});
    ff.setColor(@enumFromInt(3), ff.RGB{.r = 0x0f, .g = 0x2c, .b = 0x2e});
    ff.setColor(@enumFromInt(4), ff.RGB{.r = 0x34, .g = 0x56, .b = 0x44});
    ff.setColor(@enumFromInt(5), ff.RGB{.r = 0x6b, .g = 0x7f, .b = 0x5c});
    ff.setColor(@enumFromInt(6), ff.RGB{.r = 0xb0, .g = 0xb1, .b = 0x7c});
    ff.setColor(@enumFromInt(7), ff.RGB{.r = 0xe1, .g = 0xc5, .b = 0x84});
    ff.setColor(@enumFromInt(8), ff.RGB{.r = 0xc8, .g = 0x96, .b = 0x60});
    ff.setColor(@enumFromInt(9), ff.RGB{.r = 0xad, .g = 0x5f, .b = 0x52});
    ff.setColor(@enumFromInt(10), ff.RGB{.r = 0x91, .g = 0x36, .b = 0x36});
    ff.setColor(@enumFromInt(11), ff.RGB{.r = 0x69, .g = 0x2f, .b = 0x11});
    ff.setColor(@enumFromInt(12), ff.RGB{.r = 0x89, .g = 0x54, .b = 0x2f});
    ff.setColor(@enumFromInt(13), ff.RGB{.r = 0x79, .g = 0x6e, .b = 0x63});
    ff.setColor(@enumFromInt(14), ff.RGB{.r = 0xa1, .g = 0x7d, .b = 0x5e});
    ff.setColor(@enumFromInt(15), ff.RGB{.r = 0xb4, .g = 0xa1, .b = 0x8f});
    ff.setColor(@enumFromInt(16), ff.RGB{.r = 0xec, .g = 0xdd, .b = 0xba});
}

🐀 C

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

BOOT void boot()
{
    set_colors();
}

void set_colors()
{
    // https://lospec.com/palette-list/forest-16
    RGB color1 = {0x64, 0x98, 0x8e};
    set_color(1, color1);
    RGB color2 = {0x3d, 0x70, 0x85};
    set_color(2, color2);
    RGB color3 = {0x0f, 0x2c, 0x2e};
    set_color(3, color3);
    RGB color4 = {0x34, 0x56, 0x44};
    set_color(4, color4);
    RGB color5 = {0x6b, 0x7f, 0x5c};
    set_color(5, color5);
    RGB color6 = {0xb0, 0xb1, 0x7c};
    set_color(6, color6);
    RGB color7 = {0xe1, 0xc5, 0x84};
    set_color(7, color7);
    RGB color8 = {0xc8, 0x96, 0x60};
    set_color(8, color8);
    RGB color9 = {0xad, 0x5f, 0x52};
    set_color(9, color9);
    RGB color10 = {0x91, 0x36, 0x36};
    set_color(10, color10);
    RGB color11 = {0x69, 0x2f, 0x11};
    set_color(11, color11);
    RGB color12 = {0x89, 0x54, 0x2f};
    set_color(12, color12);
    RGB color13 = {0x79, 0x6e, 0x63};
    set_color(13, color13);
    RGB color14 = {0xa1, 0x7d, 0x5e};
    set_color(14, color14);
    RGB color15 = {0xb4, 0xa1, 0x8f};
    set_color(15, color15);
    RGB color16 = {0xec, 0xdd, 0xba};
    set_color(16, color16);
}

➕ C++

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

BOOT void boot()
{
    set_colors();
}

void set_colors()
{
    // https://lospec.com/palette-list/forest-16
    set_color(1, {0x64, 0x98, 0x8e});
    set_color(2, {0x3d, 0x70, 0x85});
    set_color(3, {0x0f, 0x2c, 0x2e});
    set_color(4, {0x34, 0x56, 0x44});
    set_color(5, {0x6b, 0x7f, 0x5c});
    set_color(6, {0xb0, 0xb1, 0x7c});
    set_color(7, {0xe1, 0xc5, 0x84});
    set_color(8, {0xc8, 0x96, 0x60});
    set_color(9, {0xad, 0x5f, 0x52});
    set_color(10, {0x91, 0x36, 0x36});
    set_color(11, {0x69, 0x2f, 0x11});
    set_color(12, {0x89, 0x54, 0x2f});
    set_color(13, {0x79, 0x6e, 0x63});
    set_color(14, {0xa1, 0x7d, 0x5e});
    set_color(15, {0xb4, 0xa1, 0x8f});
    set_color(16, {0xec, 0xdd, 0xba});
}

🐰 MoonBit

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

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

///|
fn set_colors() -> Unit {
  // https://lospec.com/palette-list/forest-16
  @firefly.set_color(Color::from_int(1), RGB::new(0x64, 0x98, 0x8e));
  @firefly.set_color(Color::from_int(2), RGB::new(0x3d, 0x70, 0x85));
  @firefly.set_color(Color::from_int(3), RGB::new(0x0f, 0x2c, 0x2e));
  @firefly.set_color(Color::from_int(4), RGB::new(0x34, 0x56, 0x44));
  @firefly.set_color(Color::from_int(5), RGB::new(0x6b, 0x7f, 0x5c));
  @firefly.set_color(Color::from_int(6), RGB::new(0xb0, 0xb1, 0x7c));
  @firefly.set_color(Color::from_int(7), RGB::new(0xe1, 0xc5, 0x84));
  @firefly.set_color(Color::from_int(8), RGB::new(0xc8, 0x96, 0x60));
  @firefly.set_color(Color::from_int(9), RGB::new(0xad, 0x5f, 0x52));
  @firefly.set_color(Color::from_int(10), RGB::new(0x91, 0x36, 0x36));
  @firefly.set_color(Color::from_int(11), RGB::new(0x69, 0x2f, 0x11));
  @firefly.set_color(Color::from_int(12), RGB::new(0x89, 0x54, 0x2f));
  @firefly.set_color(Color::from_int(13), RGB::new(0x79, 0x6e, 0x63));
  @firefly.set_color(Color::from_int(14), RGB::new(0xa1, 0x7d, 0x5e));
  @firefly.set_color(Color::from_int(15), RGB::new(0xb4, 0xa1, 0x8f));
  @firefly.set_color(Color::from_int(16), RGB::new(0xec, 0xdd, 0xba));
}

🌙 Lua

function boot()
  set_colors()
end

function set_colors()
  -- https://lospec.com/palette-list/forest-16
  firefly.set_color(1, {r=0x64, g=0x98, b=0x8e});
  firefly.set_color(2, {r=0x3d, g=0x70, b=0x85});
  firefly.set_color(3, {r=0x0f, g=0x2c, b=0x2e});
  firefly.set_color(4, {r=0x34, g=0x56, b=0x44});
  firefly.set_color(5, {r=0x6b, g=0x7f, b=0x5c});
  firefly.set_color(6, {r=0xb0, g=0xb1, b=0x7c});
  firefly.set_color(7, {r=0xe1, g=0xc5, b=0x84});
  firefly.set_color(8, {r=0xc8, g=0x96, b=0x60});
  firefly.set_color(9, {r=0xad, g=0x5f, b=0x52});
  firefly.set_color(10, {r=0x91, g=0x36, b=0x36});
  firefly.set_color(11, {r=0x69, g=0x2f, b=0x11});
  firefly.set_color(12, {r=0x89, g=0x54, b=0x2f});
  firefly.set_color(13, {r=0x79, g=0x6e, b=0x63});
  firefly.set_color(14, {r=0xa1, g=0x7d, b=0x5e});
  firefly.set_color(15, {r=0xb4, g=0xa1, b=0x8f});
  firefly.set_color(16, {r=0xec, g=0xdd, b=0xba});
end