ветки и кусты

This commit is contained in:
azykov@mail.ru
2026-09-04 17:18:31 +03:00
parent e872867c5e
commit 03a7552b9a
12 changed files with 482 additions and 224 deletions
+79 -12
View File
@@ -81,30 +81,97 @@ export const TREE_SPRITE: PixelGrid = grid(
TREE_PALETTE,
);
const BUSH_PALETTE = {
O: '#1b3312',
G: '#5a9c3e',
g: '#3f7a2a',
H: '#a3d977',
};
// Same canopy shape as the tree's foliage (minus its trunk), just recolored and rendered
// smaller — a bush is basically a squat tree.
export const BUSH_SPRITE: PixelGrid = grid(
[
'......OggO......',
'....OGGggGGO....',
'..OGGGGggGGGGO..',
'.OGgGGGHHGGGgGO.',
'OGgGGGGHHGGGGgGO',
'OGGgGGGggGGGgGGO',
'OGgGGGgGGgGGGgGO',
'OGGgGGGGGGGGgGGO',
'OGgGGGGggGGGGgGO',
'.OGgGGGggGGGgGO.',
'..OGgGGggGGgGO..',
'...OGgGggGgGO...',
'....OGgGGgGO....',
'......OggO......',
],
BUSH_PALETTE,
);
const LOG_PALETTE = {
O: '#2a1a0d',
B: '#7a4a2b',
C: '#a9703f',
// Lighter sunlit top and darker shaded underside give the log roundness instead of a flat
// plank look; scattered flecks break up the grain into rough bark texture; the knot (a
// branch scar) and the cut end's growth rings both read as a real piece of wood.
H: '#c9915a',
S: '#5c3820',
F: '#3d2818',
K: '#241505',
R: '#8a5a34',
D: '#150c04',
W: '#e8c99a',
};
export const LOG_SPRITE: PixelGrid = grid(
[
'..OOOOOOOOOOOOOOOO..',
'OBBBBBBBBBBBBBBBBBBO',
'OBCCCCCCCCCCCCCCCCBO',
'OBBBBBBBBBBBBBBBBBBO',
'OBCCCCCCCCCCCCCCCCBO',
'OBBBBBBBBBBBBBBBBBBO',
'OBCCCCCCCCCCCCCCCCBO',
'OBBBBBBBBBBBBBBBBBBO',
'OBCCCCCCCCCCCCCCCCBO',
'OBBBBBBBBBBBBBBBBBBO',
'OBCCCCCCCCCCCCCCCCBO',
'..OOOOOOOOOOOOOOOO..',
'.OOOOOOOOOOOOOOOOOO.',
'OHHHHHHHHHHHHHHHOOHO',
'OHHFHHHHHHHHHHHOCCOO',
'OCCCCKKKCCCCCCOCWWOO',
'OBFBKRRRKFBBBBOWCWCO',
'OCCCKRDRKCCCCCOWWCCO',
'OBBBKRRRKBBBBBOWDCCO',
'OCCCCKKKCCCCCCOWCWCO',
'OBBFBBBBBBFBBBOCWWOO',
'OSSSSSFSSSSSSSSOCCOO',
'OSSSSSSSSSSSSSSSOOSO',
'.OOOOOOOOOOOOOOOOOO.',
],
LOG_PALETTE,
);
const TWIG_PALETTE = {
O: '#241708',
T: '#8a5a34',
L: '#5a9c3e',
};
// A forked twig: a zigzagging main stem (it bends partway up, like a real snapped branch) with a
// shorter side-fork breaking off it and a small leaf bud at the tip.
export const TWIG_SPRITE: PixelGrid = grid(
[
'..........LL...',
'..........OTL..',
'.........OTO...',
'........OTO....',
'.......OTO.....',
'.OT...OTO......',
'..OT.OTO.......',
'...OTOTO.......',
'....OTO........',
'....OTO........',
'...OTO.........',
'..OTO..........',
'.OTO...........',
'OTO............',
],
TWIG_PALETTE,
);
const COIN_PALETTE = {
Y: '#f5c518',
D: '#c99a0e',