1 /* file icon.c */
2 /***************************************************************************
3 *  Copyright 2003 -   Steven Shipway <steve@cheshire.demon.co.uk>          *
4 *                     Put "nospam" in subject to avoid spam filter         *
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               *
19 *  02111-1307, USA.                                                        *
20 ***************************************************************************/
21 
22 
23 #include "wand_head.h"
24 
25 /********************************************************
26 *                     draw_symbol                       *
27 *********************************************************/
draw_symbol(x,y,ch)28 void draw_symbol(x,y,ch)      /* this is where the pretty graphics are   */
29                               /* all defined - change them if you want.. */
30 int  x,y;
31 char ch;
32 {
33     char icon[2][4],
34          (*iconrow)[4] = icon;
35     switch(ch)
36     {
37     case ' ':                    /*  space  */
38         strcpy(*iconrow++,"   ");
39         strcpy(*iconrow,  "   ");
40         break;
41     case '#':                   /*  rock  */
42         strcpy(*iconrow++,"###");
43         strcpy(*iconrow,  "###");
44         break;
45     case '<':                   /*  arrows  */
46         strcpy(*iconrow++,"<--");
47         strcpy(*iconrow,  "<--");
48         break;
49     case '>':
50         strcpy(*iconrow++,"-->");
51         strcpy(*iconrow,  "-->");
52         break;
53     case 'O':                    /* boulder  */
54         strcpy(*iconrow++,"/^\\");
55         strcpy(*iconrow,  "\\_/");
56         break;
57     case ':':                    /*  earth  */
58         strcpy(*iconrow++,". .");
59         strcpy(*iconrow,  " . ");
60         break;
61     case '/':                    /*  slopes */
62         strcpy(*iconrow++," _/");
63         strcpy(*iconrow,  "/  ");
64         break;
65     case '\\':
66         strcpy(*iconrow++,"\\_ ");
67         strcpy(*iconrow,  "  \\");
68         break;
69     case '*':                     /*  diamond  */
70         strcpy(*iconrow++,"/$\\");
71         strcpy(*iconrow,  "\\$/");
72         break;
73     case '=':                     /*  rock  */
74         strcpy(*iconrow++,"=-=");
75         strcpy(*iconrow,  "-=-");
76         break;
77     case '@':                     /*  YOU!!! */
78         strcpy(*iconrow++," o ");
79         strcpy(*iconrow,  "<|>");
80         break;
81     case '~':                     /* pushable thingy */
82          strcpy(*iconrow++,"\\|/");
83          strcpy(*iconrow  ,"/|\\");
84          break;
85     case 't':
86     case 'T':                    /*  teleport  */
87         strcpy(*iconrow++,"(*)");
88         strcpy(*iconrow,  "(*)");
89         break;
90     case 'X':                    /*  exits  */
91         strcpy(*iconrow++,"Way");
92         strcpy(*iconrow,  "Out");
93         break;
94     case '!':                    /*  landmine  */
95         strcpy(*iconrow++," I ");
96         strcpy(*iconrow,  " o ");
97         break;
98     case 'M':                     /* big monster  */
99         strcpy(*iconrow++,"}o{");
100         strcpy(*iconrow,  "/^\\");
101         break;
102     case 'S':                     /* baby monster */
103         strcpy(*iconrow++,"-o-");
104         strcpy(*iconrow,  "/*\\");
105         break;
106     case '^':                      /* balloon */
107         strcpy(*iconrow++,"/~\\");
108         strcpy(*iconrow,  "\\_X");
109         break;
110     case 'C':                      /* time capsule */
111         strcpy(*iconrow++,"   ");
112         strcpy(*iconrow,  "<O>");
113         break;
114     case '+':                      /* cage */
115         strcpy(*iconrow++,"TTT");
116         strcpy(*iconrow,  "III");
117         break;
118     case '_':                      /* more wall characters */
119         strcpy(*iconrow++,"_|_");
120          strcpy(*iconrow  ,"_|_");
121          break;
122     case 'B':                      /* the bomb */
123          strcpy(*iconrow++,"/\\*");
124          strcpy(*iconrow  ,"\\/ ");
125           break;
126     case '%':                      /* the explosion */
127          strcpy(*iconrow++,"Ba\\");
128          strcpy(*iconrow  ,"\\ng");
129           break;
130     default:                       /* this is what it uses if it doesnt */
131                                    /* recognise the character  */
132         strcpy(*iconrow++,"OoO");
133         strcpy(*iconrow,  "oOo");
134         break;
135     };
136     move(y+1,x+1);
137     iconrow--;
138     addstr(*iconrow++);
139     move(y+2,x+1);
140     addstr(*iconrow);
141 }
142