1 /*
2  * This file is part of 'Garden of coloured lights'.
3  *
4  * 'Garden of coloured lights' is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * 'Garden of coloured lights' is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with 'Garden of coloured lights'.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 
19 void define_palette (void);
20 int build_new_palette (int base, int rshift, int gshift, int bshift);
21 void run_palette_shift (void);
22 void set_base_palette (void);
23 
24 enum
25 {
26 	BASECOL_L1_SPRING,
27 	BASECOL_L1_SUMMER,
28 	BASECOL_L1_AUTUMN,
29 	BASECOL_L1_WINTER,
30 	BASECOL_L1_SPRING2,
31 	BASECOL_L2_1,
32 	BASECOL_L2_2,
33 	BASECOL_L2_3,
34 	BASECOL_L2_4,
35 	BASECOL_L2_5,
36 	BASECOL_L3_1,
37 	BASECOL_L3_2,
38 	BASECOL_L3_3,
39 	BASECOL_L3_4,
40 	BASECOL_L3_5,
41 	BASECOL_L4_1,
42 	BASECOL_L4_2,
43 	BASECOL_L4_3,
44 	BASECOL_L4_4,
45 	BASECOL_L4_5,
46 	BASECOL_CFLOWER,
47 	BASECOL_END
48 };
49 
50 
51 enum
52 {
53 	COL_OUTLINE = 1,
54 	COL_WHITE,
55 	COL_LGREY,
56 	COL_DGREY,
57 	COL_COL1,
58 	COL_COL2,
59 	COL_COL3,
60 	COL_COL4,
61 	COL_BACK1,
62 	COL_BACK2,
63 	COL_BACK3,
64 	COL_BACK4,
65 	COL_BACK5
66 };
67 
68 
69 
70 
71 
72 /*
73 See the ebullet drawing function in display.c for how to use transparent colours.
74 Only these colours may be used (there is more flexibility if you decide to use 16 or higher colour depth,
75 but I like 8).
76 */
77 enum
78 {
79 	TRANS_SH1_OUT = 15,
80 	TRANS_SH1_IN = 28,
81 	TRANS_SH2_OUT = 41,
82 	TRANS_SH2_IN = 54,
83 	TRANS_ORANGE_OUT = 67,
84 	TRANS_ORANGE_IN = 80,
85 	TRANS_YELLOW_OUT = 93,
86 	TRANS_YELLOW_IN = 106,
87 	TRANS_B1_OUT = 119,
88 	TRANS_B1_IN = 132,
89 	TRANS_B2_OUT = 145,
90 	TRANS_B2_IN = 158,
91 	TRANS_B3_OUT = 171,
92 	TRANS_B3_IN = 184,
93 	TRANS_B4_OUT = 197,
94 	TRANS_B4_IN = 210,
95 	TRANS_B5_OUT = 223,
96 	TRANS_B5_IN = 236
97 };
98 
99 
100 
101 
102 enum
103 {
104 	TCOL_SH1,
105 	TCOL_SH2,
106 	TCOL_ORANGE,
107 	TCOL_YELLOW,
108 	TCOL_B1,
109 	TCOL_B2,
110 	TCOL_B3,
111 	TCOL_B4,
112 	TCOL_B5
113 };
114 
115 enum
116 {
117 	EBCOL_B1,
118 	EBCOL_B2,
119 	EBCOL_B3,
120 	EBCOL_B4,
121 	EBCOL_B5
122 };
123 
124 #define TRANS_BACK2_OUTLINE 237
125 #define TRANS_BACK3_OUTLINE 238
126 enum
127 {
128 	TRANS_CONVERT_1 = 239,
129 	TRANS_CONVERT_2,
130 	TRANS_CONVERT_3,
131 	TRANS_CONVERT_4,
132 	TRANS_CONVERT_5,
133 	TRANS_CONVERT_6,
134 	TRANS_CONVERT_7,
135 	TRANS_CONVERT_8,
136 	TRANS_CONVERT_9,
137 	CONVERT_WHITE_TO_GREY
138 };
139 
140 // don't think these do anything at the moment:
141 #define TRANS_REVERSE 225
142 #define TRANS_DARKEN 226
143 
144 #define FIX_BITMAP 244
145 
146 int colour_to_trans (int y);
147