1 /*
2     XorGramana Copyright 2009 James W. Morris, james@jwm-art.net
3 
4     This file is part of XorGramana.
5 
6     XorGramana 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 3 of the License, or
9     (at your option) any later version.
10 
11     XorGramana 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 XorGramana.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef _EXPLODE_H
20 #define _EXPLODE_H
21 
22 #include "movelist.h"
23 #include "types.h"
24 
25 /*
26     explode_process_detonator explodes a bomb. it calculates the
27     direction of the blast (pah!) and removes objects from the
28     map (if appropriate - ie don't blast holes in map boundary).
29 */
30 
31 /* MAX_EXP_CHECKS defines the maximum number of checks there may    *
32  * be after a bomb has exploded - the checks are for gravitating    *
33  * objects which due to the explosion, should start gravitating     *
34  * ie potentially there is no longer anything to stop them.         *
35  * this value is just used for the arrays - the most checks there   *
36  * are is nine.                                                     */
37 #define MAX_EXP_CHECKS 10
38 
39 void explode_process_detonator(struct xmv_link* detlnk);
40 void explode_process_h_blast(xy_t bombx, xy_t bomby, su_t detdir);
41 void explode_process_v_blast(xy_t bombx, xy_t bomby, su_t detdir);
42 
43 #endif
44 
45