1 /***************************************************************************
3 * ZXEmuT -- ZX Spectrum Emulator with Tcl scripting
5 * Copyright (C) 2012-2020 Ketmar Dark <ketmar@ketmar.no-ip.org>
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, version 3 of the License ONLY.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **************************************************************************/
20 static const uint8_t winCur
[10][16][16] = {
21 /* big arrow w/o tail*/
22 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
23 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
24 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
25 {2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0},
26 {2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0},
27 {2,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0},
28 {2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0},
29 {2,1,1,1,1,1,1,1,2,0,0,0,0,0,0,0},
30 {2,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0},
31 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
32 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
33 {2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
34 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
35 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
36 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
37 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
39 {{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
40 {2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
41 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
42 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
43 {2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0},
44 {2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0},
45 {2,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0},
46 {2,1,1,2,2,2,2,0,0,0,0,0,0,0,0,0},
47 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
48 {2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
49 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
50 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
51 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
52 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
53 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
54 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
57 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
58 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
59 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
60 {2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0},
61 {2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0},
62 {2,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0},
63 {2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0},
64 {2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0},
65 {2,1,1,1,2,2,2,2,0,0,0,0,0,0,0,0},
66 {2,1,1,2,1,1,2,0,0,0,0,0,0,0,0,0},
67 {2,2,2,2,1,1,2,0,0,0,0,0,0,0,0,0},
68 {0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0},
69 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
70 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
71 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
72 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
74 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
75 {2,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0},
76 {2,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0},
77 {2,1,1,1,1,1,2,2,0,0,0,0,0,0,0,0},
78 {2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0},
79 {2,1,1,1,2,2,1,2,0,0,0,0,0,0,0,0},
80 {2,1,1,2,1,1,2,0,0,0,0,0,0,0,0,0},
81 {2,1,1,2,1,1,2,0,0,0,0,0,0,0,0,0},
82 {2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0},
83 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
84 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
85 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
86 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
87 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
88 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
89 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
91 /* small arrow from BGE */
92 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
93 {2,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0},
94 {0,2,1,1,2,2,0,0,0,0,0,0,0,0,0,0},
95 {0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0},
96 {0,0,2,1,1,2,2,0,0,0,0,0,0,0,0,0},
97 {0,0,2,1,2,1,2,0,0,0,0,0,0,0,0,0},
98 {0,0,0,2,2,2,1,2,0,0,0,0,0,0,0,0},
99 {0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0},
100 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
101 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
102 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
103 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
104 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
105 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
106 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
107 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
109 /* Pete Cooke arrow */
110 {{2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0},
111 {0,2,1,1,1,1,1,1,2,0,0,0,0,0,0,0},
112 {0,0,2,1,1,1,1,1,2,0,0,0,0,0,0,0},
113 {0,0,0,2,1,1,1,1,1,2,2,0,0,0,0,0},
114 {0,0,0,0,2,1,1,2,2,1,1,2,2,0,0,0},
115 {0,0,0,0,0,2,2,0,0,2,2,1,1,2,2,0},
116 {0,0,0,0,0,0,0,0,0,0,0,2,2,1,1,2},
117 {0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0},
118 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
119 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
120 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
121 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
122 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
123 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
124 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
125 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
127 /* art studio ugly arrow */
128 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
129 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
130 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
131 {2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0},
132 {2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0},
133 {2,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0},
134 {2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0},
135 {2,1,1,1,1,2,2,0,0,0,0,0,0,0,0,0},
136 {2,1,2,2,1,2,0,0,0,0,0,0,0,0,0,0},
137 {0,2,0,2,1,2,0,0,0,0,0,0,0,0,0,0},
138 {0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0},
139 {0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0},
140 {0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0},
141 {0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0},
142 {0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0},
143 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
146 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
147 {2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0},
148 {2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0},
149 {2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0},
150 {2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0},
151 {2,1,1,1,2,2,2,0,0,0,0,0,0,0,0,0},
152 {2,1,2,1,2,0,0,0,0,0,0,0,0,0,0,0},
153 {2,2,0,2,1,2,0,0,0,0,0,0,0,0,0,0},
154 {2,0,0,2,1,2,0,0,0,0,0,0,0,0,0,0},
155 {0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0},
156 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
157 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
158 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
159 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
160 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
161 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
164 {{2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
165 {2,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0},
166 {0,2,1,1,2,2,0,0,0,0,0,0,0,0,0,0},
167 {0,2,1,1,1,1,2,2,0,0,0,0,0,0,0,0},
168 {0,0,2,1,1,1,1,1,2,2,0,0,0,0,0,0},
169 {0,0,2,1,1,1,1,1,1,1,2,0,0,0,0,0},
170 {0,0,0,2,1,1,1,1,2,2,0,0,0,0,0,0},
171 {0,0,0,2,1,1,1,1,1,2,0,0,0,0,0,0},
172 {0,0,0,0,2,1,2,1,1,1,2,0,0,0,0,0},
173 {0,0,0,0,2,1,2,2,1,1,2,0,0,0,0,0},
174 {0,0,0,0,0,2,0,0,2,2,2,0,0,0,0,0},
175 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
176 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
177 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
178 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
179 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
182 {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
183 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
184 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
185 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
186 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
187 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
188 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
189 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
190 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
191 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
192 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
193 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
194 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
195 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
196 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
197 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},