Use new 48-color scheme taken from Randall Munroe's color survey.

parent 1ca1535e
......@@ -47,14 +47,6 @@ build-bins:
(cd roguestar-engine && cabal build ${OPTS})
(cd roguestar-gl && cabal build ${OPTS})
copy-libs:
(cd rsagl && cabal copy ${OPTS})
copy-bins:
(cd rsagl-demos && cabal copy ${OPTS})
(cd roguestar-engine && cabal copy ${OPTS})
(cd roguestar-gl && cabal copy ${OPTS})
install-libs:
(cd rsagl && cabal install --reinstall ${OPTS})
......@@ -71,18 +63,18 @@ from-scratch:
${MAKE} clean -e OPTS=""
${MAKE} config-libs -e OPTS=""
${MAKE} build-libs -e OPTS=""
${MAKE} copy-libs -e OPTS=""
${MAKE} install-libs -e OPTS=""
${MAKE} config-bins -e OPTS=""
${MAKE} build-bins -e OPTS=""
${MAKE} copy-bins -e OPTS=""
${MAKE} install-bins -e OPTS=""
from-libs:
${MAKE} build-libs -e OPTS=""
${MAKE} copy-libs -e OPTS=""
${MAKE} install-libs -e OPTS=""
${MAKE} clean-bins -e OPTS=""
${MAKE} config-bins -e OPTS=""
${MAKE} build-bins -e OPTS=""
${MAKE} copy-bins -e OPTS=""
${MAKE} install-bins -e OPTS=""
sdist:
(cd rsagl && cabal check && cabal sdist ${OPTS})
......
name: roguestar-engine
version: 0.4.0.1
version: 0.5
license: OtherLicense
license-file: LICENSE
author: Christopher Lane Hinson
......
name: roguestar-gl
version: 0.4.0.1
version: 0.5
license: OtherLicense
license-file: LICENSE
author: Christopher Lane Hinson <lane@downstairspeople.org>
......@@ -15,7 +15,7 @@ description: Roguestar is a science fiction themed roguelike (turn-based
homepage: http://roguestar.downstairspeople.org/
build-depends: base>=4&&<5,
rsagl==0.4.0.1,
rsagl==0.5,
containers>=0.3.0.0 && < 0.4,
arrows>=0.4.1.2 && < 0.5,
mtl>=1.1.0.2 && < 1.2,
......
......@@ -93,8 +93,8 @@ ascendantAvatar = genericCreatureAvatar $ proc () ->
accumulateSceneA -< (scene_layer_local,
lightSource $ PointLight (Point3D 0 0.5 0)
(measure (Point3D 0 0.5 0) (Point3D 0 0 0))
azure
azure)
light_blue
light_blue)
t <- threadTime -< ()
wield_point <- exportCoordinateSystem -< translate (rotateY (fromRotations $ t `cyclical'` (fromSeconds 3)) $ Vector3D 0.25 0.5 0)
returnA -< CreatureThreadOutput {
......
......@@ -9,5 +9,5 @@ import Quality
ascendant_glow :: Quality -> Modeling ()
ascendant_glow _ =
do closedDisc (Point3D 0 0 0) (Vector3D 0 1 0) 0.25
material $ emissive $ scaleRGB (1/5) <$> pattern (spherical (Point3D 0 0 0) 0.25 ) [(0.0,pure white),(0.25,pure azure),(1.0,pure blackbody)]
material $ emissive $ scaleRGB (1/5) <$> pattern (spherical (Point3D 0 0 0) 0.25 ) [(0.0,pure white),(0.25,pure light_blue),(1.0,pure blackbody)]
affine $ translate (Vector3D 0 0.25 0)
......@@ -32,43 +32,42 @@ import Models.LibraryData
treaty_metal :: MaterialM attr ()
treaty_metal = material $
do pigment $ pure camouflage_green
specular 1 $ pure $ viridian
do pigment $ pure turquoise
specular 1 $ pure $ teal
treaty_glow :: MaterialM attr ()
treaty_glow = material $
do pigment $ pure black
emissive $ pure brass
emissive $ pure mustard
treaty_energy_field :: MaterialM attr ()
treaty_energy_field = material $
do emissive $ pure brass
specular 1 $ pure saffron
do emissive $ pure mustard
-- Alliance Materials (yellow-gold solid colors, orange energy colors)
alliance_metal :: Modeling ()
alliance_metal = material $
do pigment $ pure $ scaleRGB 0.6 gold
specular 7 $ pure gold
do pigment $ pure $ scaleRGB 0.6 yellow
specular 7 $ pure yellow
-- Concordance Materials (violet solid colors, blue energy colors)
concordance_metal :: Modeling ()
concordance_metal = material $
do pigment $ pure slate_gray
do pigment $ pure mauve
specular 4 $ pure lilac
concordance_dark_glass :: Modeling ()
concordance_dark_glass = material $
do pigment $ pure black
specular 8 $ pure eggplant
specular 8 $ pure royal_blue
concordance_bright_glass :: Modeling ()
concordance_bright_glass = material $
do pigment $ pure black
emissive $ pure puce
specular 8 $ pure eggplant
emissive $ pure royal_blue
specular 8 $ pure blue
-- Pirates (green solid colors, red energy colors)
......@@ -81,12 +80,12 @@ concordance_bright_glass = material $
-- Cyborg Materials (white solid colors, green energy colors)
cyborg_metal :: MaterialM attr ()
cyborg_metal = metallic $ pure wheat
cyborg_metal = metallic $ pure beige
cyborg_glow :: MaterialM attr ()
cyborg_glow =
do pigment $ pure blackbody
emissive $ pure $ scaleRGB 1.0 green
emissive $ pure $ scaleRGB 1.0 pale_green
{-------------------------------------------------------
- Materials by Species
......@@ -95,15 +94,15 @@ cyborg_glow =
-- Caduceator Skins
caduceator_skin :: Modeling ()
caduceator_skin = material $ pigment $ pattern (cloudy 75 0.01) [(0.0,pure red),(0.5,pure safety_orange),(1.0,pure black)]
caduceator_skin = material $ pigment $ pattern (cloudy 75 0.01) [(0.0,pure red),(0.5,pure orange),(1.0,pure black)]
-- Reptilian Skins
reptilian_pigment :: ColorFunction RGB
reptilian_pigment = pattern (cloudy 75 0.1) [(0.0,pure lavender),(1.0,pure saffron)]
reptilian_pigment = pattern (cloudy 75 0.1) [(0.0,pure lavender),(1.0,pure periwinkle)]
reptilian_specular :: ColorFunction RGB
reptilian_specular = pattern (cloudy 75 0.1) [(0.0,pure firebrick),(1.0,pure chartreuse)]
reptilian_specular = pattern (cloudy 75 0.1) [(0.0,pure red),(1.0,pure mustard)]
reptilian_skin :: Modeling ()
reptilian_skin = material $
......@@ -113,17 +112,17 @@ reptilian_skin = material $
-- Encephalon Skins
encephalon_skin :: Modeling ()
encephalon_skin = material $ pigment $ pattern (cloudy 32 0.1) [(0.0,pure sepia),(1.0,pure amethyst)]
encephalon_skin = material $ pigment $ pattern (cloudy 32 0.1) [(0.0,pure mauve),(1.0,pure salmon)]
{--------------------------------------------------------
- Material by Energy Type
- ------------------------------------------------------}
energyColor :: EnergyColor -> RGB
energyColor Blue = cobalt
energyColor Yellow = saffron
energyColor Blue = blue
energyColor Yellow = yellow
energyColor Red = red
energyColor Green = shamrock
energyColor Green = bright_green
energyMaterial :: EnergyColor -> Modeling ()
energyMaterial c = material $
......
......@@ -9,7 +9,7 @@ import RSAGL.Math.CurveExtras
question_mark_material :: Modeling ()
question_mark_material = material $
do pigment $ pure blackbody
emissive $ pure fuchsia
emissive $ pure hot_pink
question_mark :: Modeling ()
question_mark = model $ scale' 0.1 $
......
......@@ -54,8 +54,8 @@ reptilian_leg_upper _ = rotate (Vector3D 1 0 0) (fromDegrees 90) $ model $
(0.75,10.6),
(0 ,10.8)]
material $
do pigment $ pattern (gradient origin_point_3d (Vector3D 0 10 0)) [(0.0,reptilian_pigment),(1.0,pure burgundy)]
specular 5.0 $ pattern (gradient origin_point_3d (Vector3D 0 10 0)) [(0.0,reptilian_specular),(1.0,pure crimson)]
do pigment $ pattern (gradient origin_point_3d (Vector3D 0 10 0)) [(0.0,reptilian_pigment),(1.0,pure dark_pink)]
specular 5.0 $ pattern (gradient origin_point_3d (Vector3D 0 10 0)) [(0.0,reptilian_specular),(1.0,pure red)]
affine $ scale' (1/10)
reptilian_leg_lower :: Quality -> Modeling ()
......@@ -71,8 +71,8 @@ reptilian_leg_lower _ = rotate (Vector3D 1 0 0) (fromDegrees 90) $ model $
openCone (Point3D 0 9.5 0,0.5) (Point3D 5 10 5,0.0001)
openCone (Point3D 0 9.5 0,0.5) (Point3D (-5) 10 5,0.0001)
material $
do pigment $ pure burgundy
specular 5.0 $ pure crimson
do pigment $ pure dark_pink
specular 5.0 $ pure red
affine $ scale' (1/10)
reptilian_arm_upper :: Quality -> Modeling ()
......@@ -86,8 +86,8 @@ reptilian_arm_upper _ = rotate (Vector3D 1 0 0) (fromDegrees 90) $ model $
(1.0,9.9),
(0 ,0.0)]
material $
do pigment $ pure burgundy
specular 5.0 $ pure crimson
do pigment $ pure dark_pink
specular 5.0 $ pure red
affine $ scale' (1/10)
reptilian_arm_lower :: Quality -> Modeling ()
......@@ -100,7 +100,7 @@ reptilian_arm_lower _ = rotate (Vector3D 1 0 0) (fromDegrees 90) $ model $
(0.5,9.9),
(0 ,0.0)]
material $
do pigment $ pure burgundy
specular 5.0 $ pure crimson
do pigment $ pure dark_pink
specular 5.0 $ pure red
affine $ scale' (1/10)
......@@ -79,7 +79,7 @@ thick_atmosphere = [
arid_atmosphere :: Atmosphere
arid_atmosphere = [
AtmosphereLayer Air 0.05 2.5e-3,
AtmosphereLayer (Dust $ rust) 0.1 1.0e-3 ]
AtmosphereLayer (Dust $ maroon) 0.1 1.0e-3 ]
biomeAtmosphere :: B.ByteString -> (Integer,Atmosphere)
biomeAtmosphere "rockbiome" = (0,arid_atmosphere)
......
......@@ -105,24 +105,24 @@ terrainTexture "water" =
terrainTexture "deepwater" =
do pigment $ pure $ scaleRGB 0.8 blue
specular 100 $ pure white
terrainTexture "sand" = pigment $ pure corn
terrainTexture "desert" = pigment $ pure $ lerp 0.5 (corn,white)
terrainTexture "grass" = pigment $ pure forest_green
terrainTexture "sand" = pigment $ pure beige
terrainTexture "desert" = pigment $ pure $ lerp 0.5 (light_brown,white)
terrainTexture "grass" = pigment $ pure green
terrainTexture "dirt" = pigment $ pure brown
terrainTexture "forest" = pigment $ pure fern_green
terrainTexture "deepforest" = pigment $ pure fern_green
terrainTexture "forest" = pigment $ pure olive_green
terrainTexture "deepforest" = pigment $ pure olive_green
terrainTexture "ice" =
do pigment $ pure white
specular 1 $ pure teal
terrainTexture "lava" =
do pigment $ pure blackbody
emissive $ pure coral
emissive $ pure red
terrainTexture "glass" =
do pigment $ pure black
specular 1 $ pure white
terrainTexture "rockyground" = pigment $ pure slate_gray
terrainTexture "rubble" = pigment $ pure slate_gray
terrainTexture "rockface" = pigment $ pure slate_gray
terrainTexture "rockyground" = pigment $ pure grey
terrainTexture "rubble" = pigment $ pure grey
terrainTexture "rockface" = pigment $ pure grey
terrainTexture _ =
do pigment $ pure blackbody
emissive $ pure magenta
......
......@@ -13,5 +13,5 @@ leafy_blob = model $
tree_branch :: ModelingM () ()
tree_branch = model $
do closedCone (Point3D 0 0 0, 1.0) (Point3D 0 1 0, 0.5)
material $ pigment $ pure dark_brown
material $ pigment $ pure brown
......@@ -120,7 +120,7 @@ testScene =
sceneObject $ return qo_sky
accumulateSceneM (std_scene_layer_infinite+1) $
lightSource $ skylight (Vector3D 0 1 0)
(scaleRGB 0.25 azure)
(scaleRGB 0.25 periwinkle)
accumulateSceneM (std_scene_layer_infinite+1) $
sceneObject $ return qo_ground
transformM (affineOf $ Affine.translate (Vector3D 0 1 (-4)) .
......@@ -219,7 +219,7 @@ planet = model $
deform $ constrain (\(SurfaceVertex3D (Point3D x y z) _) -> x > 0 && y > 0 && z > 0) $
RT.shadowDeform (Vector3D (-1) (-1) (-1)) (map (RT.plane (Point3D 0 0 0)) [Vector3D 1 0 0,Vector3D 0 1 0,Vector3D 0 0 1])
let land_vs_water land water = pattern (cloudy 26 0.4) [(0,water),(0.5,water),(0.51,land),(1,land)]
let grass_and_mountains = pattern (cloudy 81 0.25) [(0.4,pattern (cloudy 99 0.1) [(0.0,pure brown),(1.0,pure slate_gray)]),(0.5,pure forest_green)]
let grass_and_mountains = pattern (cloudy 81 0.25) [(0.4,pattern (cloudy 99 0.1) [(0.0,pure brown),(1.0,pure grey)]),(0.5,pure forest_green)]
let land_and_water = land_vs_water grass_and_mountains (pure blue)
let cities bright dark = land_vs_water (pattern (cloudy 5 0.1) [(0.0,bright),(0.5,dark)]) (dark)
let planet_surface = pattern (gradient (Point3D 0 0 0) (Vector3D 0 0.65 0))
......@@ -234,7 +234,7 @@ planet = model $
moon :: Modeling ()
moon = model $
do RSAGL.Modeling.sphere (Point3D 0 0 0) 0.2
material $ pigment $ pattern (cloudy 8 0.05) [(0.0,pure slate_gray),(1.0,pure white)]
material $ pigment $ pattern (cloudy 8 0.05) [(0.0,pure grey),(1.0,pure white)]
regenerateNormals
monolith :: Modeling ()
......@@ -261,8 +261,8 @@ station = model $
openCone (Point3D 0 0 (-0.5),0.02) (Point3D 0 0 0.5,0.02)
closedCone (Point3D 0 0.2 0,0.2) (Point3D 0 (-0.2) 0,0.2)
material $
do pigment $ pure silver
specular 100 $ pure silver
do pigment $ pure grey
specular 100 $ pure grey
model $
do box (Point3D (-0.15) 0.19 (-0.05)) (Point3D 0.15 0.21 0.05)
material $ emissive $ pure white
......@@ -302,8 +302,8 @@ orb = model $
(-0.4,0.2,0.4)]
regularPrism (Point3D 0 0.5 0,0.5) (Point3D 0 1.0 0,-0.001) 4
material $
do pigment $ pure gold
specular 64 $ pure silver
do pigment $ pure yellow
specular 64 $ pure grey
glow_orb :: Modeling ()
glow_orb = translate (Vector3D 0 1 0) $
......@@ -315,15 +315,15 @@ orb_upper_leg = model $
do tube $ zipCurve (,) (pure 0.05) $ linearInterpolation [Point3D 0 0 0,Point3D 0 0.1 0.5,Point3D 0 0 1]
RSAGL.Modeling.sphere (Point3D 0 0 1) 0.05
material $
do pigment $ pure gold
specular 64 $ pure silver
do pigment $ pure yellow
specular 64 $ pure grey
orb_lower_leg :: Modeling ()
orb_lower_leg = model $
do openCone (Point3D 0 0 0,0.05) (Point3D 0 0 1,0)
material $
do pigment $ pure gold
specular 64 $ pure silver
do pigment $ pure yellow
specular 64 $ pure grey
sky :: Modeling ()
sky = model $
......
name: rsagl-demos
version: 0.4.0.1
version: 0.5
license: BSD3
license-file: LICENSE
author: Christopher Lane Hinson
......@@ -17,10 +17,10 @@ tested-with: GHC==6.12.1
Executable _rsagl_modelview
main-is: ModelView.hs
ghc-options: -threaded -fno-warn-type-defaults -fexcess-precision
build-depends: base>=4, old-time, random, array, arrows, containers, parallel, mtl, OpenGL, GLUT, rsagl==0.4.0.1
build-depends: base>=4, old-time, random, array, arrows, containers, parallel, mtl, OpenGL, GLUT, rsagl==0.5
Executable _rsagl_tests
main-is: Tests.hs
ghc-options: -threaded -fno-warn-type-defaults -fexcess-precision
build-depends: base>=4&&<5, old-time, random, arrows, containers, parallel, QuickCheck, rsagl==0.4.0.1
build-depends: base>=4&&<5, old-time, random, arrows, containers, parallel, QuickCheck, rsagl==0.5
module Main
(main)
where
#!/usr/bin/runghc
import RSAGL.Modeling.Material
import Control.Monad
......@@ -21,7 +19,8 @@ cteToHaskell (ColorTableEntry s r g b) = s ++ " :: RGB\n" ++ s ++ " = rgb256 " +
wrapHaskellModule :: [ColorTableEntry] -> String -> String
wrapHaskellModule cte s = ("module RSAGL.Modeling.RSAGLColors (" ++ (listColors cte) ++ ") where") ++
"\n\nimport RSAGL.Modeling.Material\n\n" ++ s
"\n\nimport Prelude ()" ++
"\nimport RSAGL.Modeling.Material\n\n" ++ s
listColors :: [ColorTableEntry] -> String
listColors = concat . intersperse "," . map cte_name
......@@ -55,7 +54,11 @@ colorTablesToHTML color_tables =
toBlue = realToFrac . cte_blue
takeHalf x = take (length x `div` 2) x
isComment :: String -> Bool
isComment s | null (words s) = True
isComment s = ["#"] == (map (take 1) $ take 1 $ words s)
main :: IO ()
main = do color_tables <- liftM (map readColorTableEntry . lines) $ readFile "rsagl-rgb.txt"
main = do color_tables <- liftM (map readColorTableEntry . filter (not . isComment) . lines) $ readFile "rsagl-rgb.txt"
writeFile "RSAGL/Modeling/RSAGLColors.hs" $ wrapHaskellModule color_tables $ (unlines . map cteToHaskell) color_tables
writeFile "rsagl-rgb.html" $ wrapHTMLFile $ colorTablesToHTML color_tables
module RSAGL.Modeling.RSAGLColors (amber,amethyst,azure,beige,black,blackbody,blue,brass,bronze,brown,burgundy,burnt_sienna,camouflage_green,cardinal,carnation,carrot,chartreuse,chartreuse_yellow,cobalt,copper,coral,corn,crimson,cyan,dark_brown,emerald,eggplant,fern_green,firebrick,forest_green,fuchsia,gold,goldenrod,green,indigo,jade,lavender,lemon,lilac,magenta,maroon,mauve,midnight_blue,mint_green,mustard,ochre,olive,orange,orchid,pale_brown,pink,puce,purple,red,royal_blue,royal_purple,rust,safety_orange,saffron,sapphire,salmon,sea_green,sepia,shamrock,silver,slate_gray,tan_color,teal,ultramarine,vermillion,violet,viridian,wheat,white,yellow) where
module RSAGL.Modeling.RSAGLColors (light_pink,mustard,indigo,lime,sea_green,periwinkle,dark_pink,olive_green,peach,pale_green,light_brown,hot_pink,black,lilac,navy_blue,royal_blue,beige,salmon,olive,maroon,bright_green,dark_purple,mauve,forest_green,aqua,cyan,tan,dark_blue,lavender,turquoise,dark_green,violet,light_purple,lime_green,grey,sky_blue,yellow,magenta,light_green,orange,teal,light_blue,red,brown,pink,blue,green,purple,white,blackbody) where
import Prelude ()
import RSAGL.Modeling.Material
amber :: RGB
amber = rgb256 255 191 1
light_pink :: RGB
light_pink = rgb256 255 209 209
amethyst :: RGB
amethyst = rgb256 153 102 204
azure :: RGB
azure = rgb256 1 127 255
beige :: RGB
beige = rgb256 245 245 220
black :: RGB
black = rgb256 1 1 1
blackbody :: RGB
blackbody = rgb256 0 0 0
blue :: RGB
blue = rgb256 1 1 255
brass :: RGB
brass = rgb256 181 166 66
mustard :: RGB
mustard = rgb256 204 179 3
bronze :: RGB
bronze = rgb256 205 127 50
indigo :: RGB
indigo = rgb256 51 2 130
brown :: RGB
brown = rgb256 150 75 0
lime :: RGB
lime = rgb256 170 255 63
burgundy :: RGB
burgundy = rgb256 128 1 32
sea_green :: RGB
sea_green = rgb256 85 252 172
burnt_sienna :: RGB
burnt_sienna = rgb256 233 116 81
periwinkle :: RGB
periwinkle = rgb256 136 130 242
camouflage_green :: RGB
camouflage_green = rgb256 120 134 107
dark_pink :: RGB
dark_pink = rgb256 204 65 97
cardinal :: RGB
cardinal = rgb256 196 30 58
olive_green :: RGB
olive_green = rgb256 102 122 10
carnation :: RGB
carnation = rgb256 255 166 201
peach :: RGB
peach = rgb256 255 176 112
carrot :: RGB
carrot = rgb256 237 145 33
pale_green :: RGB
pale_green = rgb256 204 253 189
chartreuse :: RGB
chartreuse = rgb256 127 255 1
light_brown :: RGB
light_brown = rgb256 170 129 81
chartreuse_yellow :: RGB
chartreuse_yellow = rgb256 223 255 1
hot_pink :: RGB
hot_pink = rgb256 255 2 130
cobalt :: RGB
cobalt = rgb256 1 71 171
black :: RGB
black = rgb256 1 1 1
copper :: RGB
copper = rgb256 184 115 51
lilac :: RGB
lilac = rgb256 204 162 242
coral :: RGB
coral = rgb256 255 127 80
navy_blue :: RGB
navy_blue = rgb256 0 17 65
corn :: RGB
corn = rgb256 251 236 93
royal_blue :: RGB
royal_blue = rgb256 0 4 164
crimson :: RGB
crimson = rgb256 220 20 60
beige :: RGB
beige = rgb256 238 218 170
cyan :: RGB
cyan = rgb256 1 255 255
salmon :: RGB
salmon = rgb256 255 121 105
dark_brown :: RGB
dark_brown = rgb256 101 67 33
olive :: RGB
olive = rgb256 102 117 5
emerald :: RGB
emerald = rgb256 80 200 120
maroon :: RGB
maroon = rgb256 102 0 32
eggplant :: RGB
eggplant = rgb256 153 1 102
bright_green :: RGB
bright_green = rgb256 0 255 15
fern_green :: RGB
fern_green = rgb256 79 121 66
dark_purple :: RGB
dark_purple = rgb256 51 6 54
firebrick :: RGB
firebrick = rgb256 178 34 34
mauve :: RGB
mauve = rgb256 170 113 129
forest_green :: RGB
forest_green = rgb256 34 139 34
fuchsia :: RGB
fuchsia = rgb256 255 1 255
gold :: RGB
gold = rgb256 255 215 1
forest_green = rgb256 0 71 7
goldenrod :: RGB
goldenrod = rgb256 218 165 32
aqua :: RGB
aqua = rgb256 17 234 202
green :: RGB
green = rgb256 1 255 1
cyan :: RGB
cyan = rgb256 0 255 255
indigo :: RGB
indigo = rgb256 1 65 106
tan :: RGB
tan = rgb256 221 178 98
jade :: RGB
jade = rgb256 1 168 107
dark_blue :: RGB
dark_blue = rgb256 0 3 83
lavender :: RGB
lavender = rgb256 181 126 220
lavender = rgb256 204 159 239
lemon :: RGB
lemon = rgb256 253 233 16
turquoise :: RGB
turquoise = rgb256 0 194 162
lilac :: RGB
lilac = rgb256 200 162 200
dark_green :: RGB
dark_green = rgb256 0 53 5
magenta :: RGB
magenta = rgb256 255 1 255
violet :: RGB
violet = rgb256 153 14 238
maroon :: RGB
maroon = rgb256 128 1 1
light_purple :: RGB
light_purple = rgb256 187 119 247
mauve :: RGB
mauve = rgb256 224 176 255
lime_green :: RGB
lime_green = rgb256 136 254 14
midnight_blue :: RGB
midnight_blue = rgb256 1 51 102
grey :: RGB
grey = rgb256 153 149 149
mint_green :: RGB
mint_green = rgb256 152 255 152
sky_blue :: RGB
sky_blue = rgb256 119 187 251
mustard :: RGB
mustard = rgb256 255 219 88
yellow :: RGB
yellow = rgb256 255 255 31
ochre :: RGB
ochre = rgb256 204 119 34
magenta :: RGB
magenta = rgb256 204 0 112
olive :: RGB
olive = rgb256 128 128 1
light_green :: RGB
light_green = rgb256 153 249 121
orange :: RGB
orange = rgb256 255 160 1
orchid :: RGB
orchid = rgb256 218 112 214
pale_brown :: RGB
pale_brown = rgb256 152 118 84
orange = rgb256 255 115 3
pink :: RGB
pink = rgb256 255 192 203
puce :: RGB
puce = rgb256 204 136 153
teal :: RGB
teal = rgb256 0 147 131
purple :: RGB
purple = rgb256 160 92 240
light_blue :: RGB
light_blue = rgb256 153 208 240
red :: RGB
red = rgb256 255 1 1
royal_blue :: RGB
royal_blue = rgb256 65 105 225
royal_purple :: RGB
royal_purple = rgb256 107 63 160
rust :: RGB
rust = rgb256 183 65 14
safety_orange :: RGB
safety_orange = rgb256 255 102 1
saffron :: RGB
saffron = rgb256 244 196 48
sapphire :: RGB
sapphire = rgb256 8 37 103
salmon :: RGB
salmon = rgb256 255 140 105
red = rgb256 238 0 0
sea_green :: RGB
sea_green = rgb256 46 139 87
sepia :: RGB