1 | /* |
1 | /* |
2 | * CrossFire, A Multiplayer game for X-windows |
2 | * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. |
3 | * |
3 | * |
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
4 | * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team |
5 | * Copyright (C) 2002-2005 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002-2005,2007 Mark Wedel & Crossfire Development Team |
6 | * Copyright (C) 1992 Frank Tore Johansen |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
7 | * |
7 | * |
8 | * This program is free software; you can redistribute it and/or modify |
8 | * Crossfire TRT is free software; you can redistribute it and/or modify it |
9 | * it under the terms of the GNU General Public License as published by |
9 | * under the terms of the GNU General Public License as published by the Free |
10 | * the Free Software Foundation; either version 2 of the License, or |
10 | * Software Foundation; either version 2 of the License, or (at your option) |
11 | * (at your option) any later version. |
11 | * any later version. |
12 | * |
12 | * |
13 | * This program is distributed in the hope that it will be useful, |
13 | * This program is distributed in the hope that it will be useful, but |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
16 | * GNU General Public License for more details. |
16 | * for more details. |
17 | * |
17 | * |
18 | * You should have received a copy of the GNU General Public License |
18 | * You should have received a copy of the GNU General Public License along |
19 | * along with this program; if not, write to the Free Software |
19 | * with Crossfire TRT; if not, write to the Free Software Foundation, Inc. 51 |
20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
20 | * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
21 | * |
21 | * |
22 | * The authors can be reached via e-mail at crossfire@schmorp.de |
22 | * The authors can be reached via e-mail to <crossfire@schmorp.de> |
23 | */ |
23 | */ |
24 | |
24 | |
25 | /* |
25 | /* |
26 | * The maptile is allocated each time a new map is opened. |
26 | * The maptile is allocated each time a new map is opened. |
27 | * It contains pointers (very indirectly) to all objects on the map. |
27 | * It contains pointers (very indirectly) to all objects on the map. |
… | |
… | |
200 | double ACC (RW, reset_time); |
200 | double ACC (RW, reset_time); |
201 | uint32 ACC (RW, reset_timeout); /* How many seconds must elapse before this map |
201 | uint32 ACC (RW, reset_timeout); /* How many seconds must elapse before this map |
202 | * should be reset |
202 | * should be reset |
203 | */ |
203 | */ |
204 | bool ACC (RW, dirty); /* if true, something was inserted or removed */ |
204 | bool ACC (RW, dirty); /* if true, something was inserted or removed */ |
|
|
205 | bool ACC (RW, no_reset); // must not reset this map |
205 | bool ACC (RW, fixed_resettime); /* if true, reset time is not affected by |
206 | bool ACC (RW, fixed_resettime); /* if true, reset time is not affected by |
206 | * players entering/exiting map |
207 | * players entering/exiting map |
207 | */ |
208 | */ |
208 | sint32 ACC (RW, timeout); /* swapout is set to this */ |
209 | sint32 ACC (RW, timeout); /* swapout is set to this */ |
209 | sint32 ACC (RW, swap_time); /* When it reaches 0, the map will be swapped out */ |
210 | sint32 ACC (RW, swap_time); /* When it reaches 0, the map will be swapped out */ |
… | |
… | |
211 | * be loaded before used. The map,omap and map_ob |
212 | * be loaded before used. The map,omap and map_ob |
212 | * arrays will be allocated when the map is loaded */ |
213 | * arrays will be allocated when the map is loaded */ |
213 | sint16 players; /* How many players are on this map right now */ |
214 | sint16 players; /* How many players are on this map right now */ |
214 | uint16 ACC (RW, difficulty); /* What level the player should be to play here */ |
215 | uint16 ACC (RW, difficulty); /* What level the player should be to play here */ |
215 | |
216 | |
|
|
217 | bool ACC (RW, active); // wether this map is active or not |
216 | bool ACC (RW, per_player); |
218 | bool ACC (RW, per_player); |
217 | bool ACC (RW, per_party); |
219 | bool ACC (RW, per_party); |
218 | bool ACC (RW, outdoor); /* True if an outdoor map */ |
220 | bool ACC (RW, outdoor); /* True if an outdoor map */ |
219 | bool ACC (RW, nodrop); /* avoid dropping anything on this map */ |
221 | bool ACC (RW, nodrop); /* avoid dropping anything on this map */ |
220 | uint8 ACC (RW, darkness); /* indicates level of darkness of map */ |
222 | uint8 ACC (RW, darkness); /* indicates level of darkness of map */ |
… | |
… | |
249 | MTH void alloc (); |
251 | MTH void alloc (); |
250 | // deallocates the mapspaces (and destroys all objects) |
252 | // deallocates the mapspaces (and destroys all objects) |
251 | MTH void clear (); |
253 | MTH void clear (); |
252 | |
254 | |
253 | MTH void fix_auto_apply (); |
255 | MTH void fix_auto_apply (); |
254 | MTH void decay_objects (); |
256 | MTH void do_decay_objects (); |
255 | MTH void update_buttons (); |
257 | MTH void update_buttons (); |
256 | MTH int change_map_light (int change); |
258 | MTH int change_map_light (int change); |
257 | static void change_all_map_light (int change); //PERL |
259 | static void change_all_map_light (int change); //PERL |
258 | MTH void set_darkness_map (); |
260 | MTH void set_darkness_map (); |
259 | MTH int estimate_difficulty () const; |
261 | MTH int estimate_difficulty () const; |