1# 2# Copyright <=2004 by Immanuel Halupczok 3# Modified 2005,2010,2014 by Mark Weyer 4# Maintenance modifications 2005,2011 by the cuyo developers 5# 6# This program is free software; you can redistribute it and/or modify 7# it under the terms of the GNU General Public License as published by 8# the Free Software Foundation; either version 2 of the License, or 9# (at your option) any later version. 10# 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. 15# 16# You should have received a copy of the GNU General Public License 17# along with this program; if not, write to the Free Software 18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19# 20 21# This file contains all the definitions which are useful for more than 22# one level: the schemas and the defaults 23 24# It also mentions pics and sounds which cuyo always needs: 25# border.xpm 26# borderh.xpm 27# borderv.xpm 28# dbgZiffern.xpm 29# font-big.xpm 30# explosion.xpm 31# highlight.xpm 32# infoicons.xpm 33# menupics.xpm 34# pause.xpm 35# pktZiffern.xpm 36# pktZiffern2.xpm 37# scroll.xpm 38# titel.xpm 39# down.wav 40# explode.wav 41# land.wav 42# leftright.wav 43# levelloose.wav 44# levelwin.wav 45# menuclick.wav 46# menuscroll.wav 47# turn.wav 48# cuyo.it 49 50 51<< 52 53# The whole icon depends on the four neighbours 54schema16={ 55 switch { 56 0?0?0?0? -> A; 57 0?1?0?0? -> B; 58 0?1?0?1? -> C; 59 0?0?0?1? -> D; 60 0?0?1?0? -> E; 61 0?1?1?0? -> F; 62 0?1?1?1? -> G; 63 0?0?1?1? -> H; 64 1?0?1?0? -> I; 65 1?1?1?0? -> J; 66 1?1?1?1? -> K; 67 1?0?1?1? -> L; 68 1?0?0?0? -> M; 69 1?1?0?0? -> N; 70 1?1?0?1? -> O; 71 1?0?0?1? -> P; 72 }; 73 * 74}; 75 76# Each quarter depends on its three neighbours - but it may only depend 77# on the diagonal neighbour if at least one of the two other neighbours 78# exist... Not yet defined. 79#schema7={ 80#}; 81 82# Each quarter normally depends on its two neighbours. 83# If both are present, the diagonal neighbor counts, too. 84# This schema is useful for blobs that are surrounded by "walls": 85# If a quarter has at least one missing neighbour, there is a wall. 86# Otherwise there may or may not be a wall corner, 87# which has some effect on the picture. 88schema5={ 89 [qu=Q_TL] {switch { 90 0?????0? -> C; 91 1?????0? -> D; 92 0?????1? -> A; 93 1?????10 -> B; 94 1?????11 -> E; 95 };*}; 96 [qu=Q_TR] {switch { 97 0?0????? -> C; 98 0?1????? -> A; 99 1?0????? -> B; 100 101????? -> E; 101 111????? -> D; 102 };*}; 103 [qu=Q_BL] {switch { 104 ????0?0? -> C; 105 ????0?1? -> E; 106 ????1?0? -> D; 107 ????101? -> A; 108 ????111? -> B; 109 };*}; 110 [qu=Q_BR] {switch { 111 ??0?0??? -> C; 112 ??0?1??? -> B; 113 ??1?0??? -> E; 114 ??101??? -> D; 115 ??111??? -> A; 116 };*} 117}; 118 119 120 121# Each quarter depends on its two neighbours 122schema4={ 123 [qu=Q_TL] {switch { 124 0?????0? -> A; 125 0?????1? -> B; 126 1?????0? -> C; 127 1?????1? -> D; 128 };*}; 129 [qu=Q_TR] {switch { 130 0?1????? -> A; 131 0?0????? -> B; 132 1?1????? -> C; 133 1?0????? -> D; 134 };*}; 135 [qu=Q_BL] {switch { 136 ????1?0? -> A; 137 ????1?1? -> B; 138 ????0?0? -> C; 139 ????0?1? -> D; 140 };*}; 141 [qu=Q_BR] {switch { 142 ??1?1??? -> A; 143 ??0?1??? -> B; 144 ??1?0??? -> C; 145 ??0?0??? -> D; 146 };*} 147}; 148 149 150 151# Each Quarter depends on its three neighbours. 152schemaDiag16={ 153 [qu=Q_TL] {switch { 154 0?????00 -> E; 155 0?????10 -> F; 156 1?????00 -> N; 157 1?????10 -> G; 158 0?????01 -> C; 159 0?????11 -> L; 160 1?????01 -> J; 161 1?????11 -> K; 162 };*}; 163 [qu=Q_TR] {switch { 164 000????? -> C; 165 100????? -> G; 166 001????? -> E; 167 101????? -> K; 168 010????? -> L; 169 110????? -> N; 170 011????? -> F; 171 111????? -> J; 172 };*}; 173 [qu=Q_BL] {switch { 174 ????000? -> N; 175 ????100? -> J; 176 ????001? -> L; 177 ????101? -> F; 178 ????010? -> E; 179 ????110? -> C; 180 ????011? -> K; 181 ????111? -> G; 182 };*}; 183 [qu=Q_BR] {switch { 184 ??000??? -> L; 185 ??100??? -> K; 186 ??001??? -> C; 187 ??101??? -> J; 188 ??010??? -> N; 189 ??110??? -> E; 190 ??011??? -> G; 191 ??111??? -> F; 192 };*} 193}; 194 195 196# Each Quarter only depends on its diagonal neighbour. 197schemaDiag2={ 198 [qu=Q_TL] {switch { 199 ???????0 -> A; 200 ???????1 -> B; 201 };*}; 202 [qu=Q_TR] {switch { 203 ?0?????? -> A; 204 ?1?????? -> B; 205 };*}; 206 [qu=Q_BL] {switch { 207 ?????0?? -> A; 208 ?????1?? -> B; 209 };*}; 210 [qu=Q_BR] {switch { 211 ???0???? -> A; 212 ???1???? -> B; 213 };*} 214}; 215 216 217# For hex mode. Each Quarter depends on its two neighbours. 218schemaHex4={ 219 [qu=Q_TL_TL] {switch { 220 0????0 -> A*; 221 1????0 -> C*; 222 }}; 223 [qu=Q_BL_TL] {switch { 224 0????1 -> B*; 225 1????1 -> D*; 226 }}; 227 [qu=Q_TR_TR] {switch { 228 01???? -> A*; 229 11???? -> C*; 230 }}; 231 [qu=Q_BR_TR] {switch { 232 00???? -> B*; 233 10???? -> D*; 234 }}; 235 [qu=Q_BL_BL] {switch { 236 ???10? -> A*; 237 ???00? -> C*; 238 }}; 239 [qu=Q_TL_BL] {switch { 240 ???01? -> B*; 241 ???11? -> D*; 242 }}; 243 [qu=Q_BR_BR] {switch { 244 ??11?? -> A*; 245 ??10?? -> C*; 246 }}; 247 [qu=Q_TR_BR] {switch { 248 ??00?? -> B*; 249 ??01?? -> D*; 250 }}; 251}; 252 253 254# For hex mode. Each Quarter depends on its three neighbours. 255schemaHex8={ 256 [qu=Q_TL_TL] {switch { 257 0???00 -> A*; 258 1???00 -> E*; 259 0???10 -> C*; 260 1???10 -> G*; 261 }}; 262 [qu=Q_BL_TL] {switch { 263 0???01 -> D*; 264 1???01 -> H*; 265 0???11 -> B*; 266 1???11 -> F*; 267 }}; 268 [qu=Q_TR_TR] {switch { 269 001??? -> C*; 270 101??? -> G*; 271 011??? -> A*; 272 111??? -> E*; 273 }}; 274 [qu=Q_BR_TR] {switch { 275 000??? -> D*; 276 100??? -> H*; 277 010??? -> B*; 278 110??? -> F*; 279 }}; 280 [qu=Q_BL_BL] {switch { 281 ???100 -> A*; 282 ???000 -> E*; 283 ???110 -> C*; 284 ???010 -> G*; 285 }}; 286 [qu=Q_TL_BL] {switch { 287 ???001 -> D*; 288 ???101 -> H*; 289 ???011 -> B*; 290 ???111 -> F*; 291 }}; 292 [qu=Q_BR_BR] {switch { 293 ?011?? -> C*; 294 ?010?? -> G*; 295 ?111?? -> A*; 296 ?110?? -> E*; 297 }}; 298 [qu=Q_TR_BR] {switch { 299 ?000?? -> D*; 300 ?001?? -> H*; 301 ?100?? -> B*; 302 ?101?? -> F*; 303 }} 304}; 305 306# Default when there's one file with one icon 307default1 = *; 308 309# Default when there's one file with more than one icon (except for 310# the grass) 311default2 = {schema16}; 312 313# Same as default2, but for the grass 314default2g = {pos=version;*}; 315 316# Default when there are multiple files 317default3 = {file=version;schema16}; 318 319# Default for the icon depicting the value of neighbours 320default_info = default2g; 321 322>> 323