ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/libproto.h
(Generate patch)

Comparing deliantra/server/include/libproto.h (file contents):
Revision 1.72 by root, Sun Jan 11 06:08:40 2009 UTC vs.
Revision 1.77 by root, Fri Nov 6 12:27:05 2009 UTC

3 * 3 *
4 * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 4 * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team 5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team
6 * Copyright (©) 1992,2007 Frank Tore Johansen 6 * Copyright (©) 1992,2007 Frank Tore Johansen
7 * 7 *
8 * Deliantra is free software: you can redistribute it and/or modify 8 * Deliantra is free software: you can redistribute it and/or modify it under
9 * it under the terms of the GNU General Public License as published by 9 * the terms of the Affero GNU General Public License as published by the
10 * the Free Software Foundation, either version 3 of the License, or 10 * Free Software Foundation, either version 3 of the License, or (at your
11 * (at your option) any later version. 11 * option) 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,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details. 16 * GNU General Public License 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 Affero GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * and the GNU General Public License along with this program. If not, see
20 * <http://www.gnu.org/licenses/>.
20 * 21 *
21 * The authors can be reached via e-mail to <support@deliantra.net> 22 * The authors can be reached via e-mail to <support@deliantra.net>
22 */ 23 */
23 24
24#ifndef LIBPROTO_H_ 25#ifndef LIBPROTO_H_
42extern void dump_arch (archetype *at); 43extern void dump_arch (archetype *at);
43extern void dump_all_archetypes (); 44extern void dump_all_archetypes ();
44extern void free_all_archs (); 45extern void free_all_archs ();
45extern void check_generators (); 46extern void check_generators ();
46extern bool load_archetype_file (const char *filename); 47extern bool load_archetype_file (const char *filename);
47extern object *create_singularity (const char *name);
48extern object *get_archetype (const char *name); 48extern object *get_archetype (const char *name);
49extern unsigned long hasharch (const char *str, int tablesize); 49extern unsigned long hasharch (const char *str, int tablesize);
50extern archetype *type_to_archetype (int type);
51extern object *clone_arch (int type); 50extern object *clone_arch (int type);
52extern object *object_create_arch (archetype *at); 51extern object *object_create_arch (archetype *at);
53/* button.c */ 52/* button.c */
54extern void push_button (object *op, object *originator); 53extern void push_button (object *op, object *originator);
55extern void update_button (object *op, object *originator); 54extern void update_button (object *op, object *originator);
56extern void use_trigger (object *op, object *originator); 55extern void use_trigger (object *op, object *originator);
57extern void animate_turning (object *op); 56extern void animate_turning (object *op);
58extern int check_altar_sacrifice (const object *altar, const object *sacrifice); 57extern int check_altar_sacrifice (object *altar, object *sacrifice, object *originator = 0);
59extern int operate_altar (object *altar, object **sacrifice); 58extern int operate_altar (object *altar, object **sacrifice, object *originator = 0);
60extern void trigger_move (object *op, int state, object *originator);
61extern int check_trigger (object *op, object *cause); 59extern int check_trigger (object *op, object *cause, object *originator = 0);
62extern int get_button_value (const object *button); 60extern int get_button_value (const object *button);
63extern void do_mood_floor (object *op, object *source = 0); 61extern void do_mood_floor (object *op, object *source = 0);
64extern object *check_inv_recursive (object *op, const object *trig); 62extern object *check_inv_recursive (object *op, const object *trig);
65extern void check_inv (object *op, object *trig); 63extern void check_inv (object *op, object *trig);
66extern void verify_button_links (const maptile *map); 64extern void verify_button_links (const maptile *map);
67/* exp.c */ 65/* exp.c */
68extern int new_exp (const object *ob); 66extern int new_exp (const object *ob);
69extern int has_ability (const object *ob);
70extern void init_experience (); 67extern void init_experience ();
71extern void dump_experience (); 68extern void dump_experience ();
72/* friend.c */ 69/* friend.c */
73extern void add_friendly_object (object *op); 70extern void add_friendly_object (object *op);
74extern void remove_friendly_object (object *op); 71extern void remove_friendly_object (object *op);
75extern void dump_friendly_objects (); 72extern void dump_friendly_objects ();
76extern void clean_friendly_list (); 73extern void clean_friendly_list ();
77extern int is_friendly (const object *op);
78/* glue.c */ 74/* glue.c */
79extern void fatal (int err); 75extern void fatal (int err);
80/* holy.c */ 76/* holy.c */
81extern void init_gods (); 77extern void init_gods ();
82extern void add_god_to_list (archetype *god_arch);
83extern int baptize_altar (object *op);
84extern godlink *get_rand_god (); 78extern godlink *get_rand_god ();
85extern object *pntr_to_god_obj (godlink *godlnk); 79extern object *pntr_to_god_obj (godlink *godlnk);
86extern void free_all_god ();
87extern void dump_gods (); 80extern void dump_gods ();
88/* info.c */ 81/* info.c */
89extern void dump_abilities (); 82extern void dump_abilities ();
90extern void print_monsters (); 83extern void print_monsters ();
91extern void bitstostring (long bits, int num, char *str); 84extern void bitstostring (long bits, int num, char *str);
109extern int calc_item_power (const object *op, int flag); 102extern int calc_item_power (const object *op, int flag);
110extern const typedata *get_typedata (int itemtype); 103extern const typedata *get_typedata (int itemtype);
111extern const typedata *get_typedata_by_name (const char *name); 104extern const typedata *get_typedata_by_name (const char *name);
112extern const char *describe_resistance (const object *op, int newline); 105extern const char *describe_resistance (const object *op, int newline);
113extern const char *get_levelnumber (int i); 106extern const char *get_levelnumber (int i);
114extern const char *get_number (int i);
115extern const char *ring_desc (const object *op);
116extern const char *describe_item (const object *op, object *owner); 107extern const char *describe_item (const object *op, object *owner);
117extern int is_magical (const object *op); 108extern int is_magical (const object *op);
118extern int need_identify (const object *op); 109extern int need_identify (const object *op);
119extern void identify (object *op); 110extern void identify (object *op);
120/* links.c */ 111/* links.c */
126extern void change_attr_value (living *stats, int attr, sint8 value); 117extern void change_attr_value (living *stats, int attr, sint8 value);
127extern void check_stat_bounds (living *stats); 118extern void check_stat_bounds (living *stats);
128extern int change_abil (object *op, object *tmp); 119extern int change_abil (object *op, object *tmp);
129extern int allowed_class (const object *op); 120extern int allowed_class (const object *op);
130extern void set_dragon_name (object *pl, const object *abil, const object *skin); 121extern void set_dragon_name (object *pl, const object *abil, const object *skin);
131extern void dragon_level_gain (object *who);
132extern object *give_skill_by_name (object *op, const char *skill_name); 122extern object *give_skill_by_name (object *op, const char *skill_name);
133extern void player_lvl_adj (object *who, object *op); 123extern void player_lvl_adj (object *who, object *op);
134extern sint64 level_exp (int level, double expmul); 124extern sint64 level_exp (int level, double expmul);
135extern void calc_perm_exp (object *op); 125extern void calc_perm_exp (object *op);
136extern sint64 check_exp_loss (const object *op, sint64 exp);
137extern sint64 check_exp_adjust (const object *op, sint64 exp); 126extern sint64 check_exp_adjust (const object *op, sint64 exp);
138extern void change_exp (object *op, sint64 exp, const char *skill_name, int flag); 127extern void change_exp (object *op, sint64 exp, const char *skill_name, int flag);
139extern void apply_death_exp_penalty (object *op); 128extern void apply_death_exp_penalty (object *op);
140extern int did_make_save (const object *op, int level, int bonus); 129extern int did_make_save (const object *op, int level, int bonus);
141/* los.c */ 130/* los.c */
145extern void make_sure_seen (const object *op); 134extern void make_sure_seen (const object *op);
146extern void make_sure_not_seen (const object *op); 135extern void make_sure_not_seen (const object *op);
147/* map.c */ 136/* map.c */
148extern const char *create_pathname (const char *name); 137extern const char *create_pathname (const char *name);
149extern int blocked_link (object *ob, maptile *m, int sx, int sy); 138extern int blocked_link (object *ob, maptile *m, int sx, int sy);
150extern void fix_container (object *container);
151/* object.c */ 139/* object.c */
152extern char *dump_object (object *op); 140extern char *dump_object (object *op);
153extern void dump_me (object *op, char *outstr); 141extern void dump_me (object *op, char *outstr);
154extern object *get_nearest_part (object *op, const object *pl);
155extern object *find_object (tag_t i); 142extern object *find_object (tag_t i);
156extern object *find_object_name (const char *str); 143extern object *find_object_name (const char *str);
157extern void free_all_object_data (); 144extern void free_all_object_data ();
158extern void update_turn_face (object *op); 145extern void update_turn_face (object *op);
159extern void update_object (object *op, int action); 146extern void update_object (object *op, int action);
180extern int can_see_monsterP (maptile *m, int x, int y, int dir); 167extern int can_see_monsterP (maptile *m, int x, int y, int dir);
181extern int can_pick (const object *who, const object *item); 168extern int can_pick (const object *who, const object *item);
182extern object *find_obj_by_type_subtype (const object *who, int type, int subtype); 169extern object *find_obj_by_type_subtype (const object *who, int type, int subtype);
183/* path.c */ 170/* path.c */
184extern char *path_combine (const char *src, const char *dst); 171extern char *path_combine (const char *src, const char *dst);
185extern void path_normalize (char *path);
186extern char *path_combine_and_normalize (const char *src, const char *dst); 172extern char *path_combine_and_normalize (const char *src, const char *dst);
187/* porting.c */ 173/* porting.c */
188extern void remove_directory (const char *path); 174extern void remove_directory (const char *path);
189extern char *strcasestr_local (const char *s, const char *find);
190extern char *ltostr10 (signed long n); 175extern char *ltostr10 (signed long n);
191extern char *doubletostr10 (double v); 176extern char *doubletostr10 (double v);
192extern FILE *open_and_uncompress (const char *name, int flag, int *compressed); 177extern FILE *open_and_uncompress (const char *name, int flag, int *compressed);
193extern void close_and_delete (FILE *fp, int compressed); 178extern void close_and_delete (FILE *fp, int compressed);
194extern void make_path_to_file (char *filename); 179extern void make_path_to_file (char *filename);
207extern const char *quest_get_override_msg (const object *ob, const object *pl); 192extern const char *quest_get_override_msg (const object *ob, const object *pl);
208extern void quest_apply_items (object *wrapper, player *pl); 193extern void quest_apply_items (object *wrapper, player *pl);
209extern int quest_on_activate (object *ob, player *pl); 194extern int quest_on_activate (object *ob, player *pl);
210extern int quest_is_override_compatible (const object *marker, const object *pl); 195extern int quest_is_override_compatible (const object *marker, const object *pl);
211/* readable.c */ 196/* readable.c */
212extern int nstrtok (const char *buf1, const char *buf2);
213extern char *strtoktolin (const char *buf1, const char *buf2);
214extern int book_overflow (const char *buf1, const char *buf2, int booksize);
215extern void init_readable (); 197extern void init_readable ();
216extern void change_book (object *book, int msgtype);
217extern object *get_random_mon (int level); 198extern object *get_random_mon (int level);
218extern char *mon_desc (const object *mon);
219extern object *get_next_mon (object *tmp);
220extern char *mon_info_msg (int level, int booksize);
221extern const char *artifact_msg (int level, int booksize);
222extern char *spellpath_msg (int level, int booksize);
223extern void make_formula_book (object *book, int level);
224extern char *msgfile_msg (int level, int booksize);
225extern const char *god_info_msg (int level, int booksize);
226extern void tailor_readable_ob (object *book, int msg_type); 199extern void tailor_readable_ob (object *book, int msg_type);
227extern void free_all_readable ();
228extern void write_book_archive (); 200extern void write_book_archive ();
229extern readable_message_type *get_readable_message_type (object *readable); 201extern readable_message_type *get_readable_message_type (object *readable);
230/* recipe.c */ 202/* recipe.c */
231extern recipelist *get_formulalist (int i); 203extern recipelist *get_formulalist (int i);
232extern void init_formulae (); 204extern void init_formulae ();
233extern void check_formulae ();
234extern void dump_alchemy (); 205extern void dump_alchemy ();
235extern archetype *find_treasure_by_name (const treasure *t, const char *name, int depth);
236extern long find_ingred_cost (const char *name);
237extern void dump_alchemy_costs (); 206extern void dump_alchemy_costs ();
238extern const char *ingred_name (const char *name);
239extern int strtoint (const char *buf); 207extern int strtoint (const char *buf);
240extern artifact *locate_recipe_artifact (const recipe *rp, size_t idx); 208extern artifact *locate_recipe_artifact (const recipe *rp, size_t idx);
241extern int numb_ingred (const char *buf);
242extern recipelist *get_random_recipelist ();
243extern recipe *get_random_recipe (recipelist *rpl); 209extern recipe *get_random_recipe (recipelist *rpl);
244extern void free_all_recipes ();
245/* region.c */ 210/* region.c */
246extern object *get_jail_exit (object *op); 211extern object *get_jail_exit (object *op);
247extern void init_regions ();
248/* shstr.c */ 212/* shstr.c */
249extern int buf_overflow (const char *buf1, const char *buf2, int bufsize); 213extern int buf_overflow (const char *buf1, const char *buf2, int bufsize);
250/* time.c */ 214/* time.c */
251extern void reset_sleep (); 215extern void reset_sleep ();
252extern void log_time (long process_utime); 216extern void log_time (long process_utime);
256extern void print_tod (object *op); 220extern void print_tod (object *op);
257extern void time_info (object *op); 221extern void time_info (object *op);
258/* treasure.c */ 222/* treasure.c */
259extern bool load_treasure_file (const char *filename); 223extern bool load_treasure_file (const char *filename);
260extern object *generate_treasure (treasurelist *t, int difficulty); 224extern object *generate_treasure (treasurelist *t, int difficulty);
261extern int level_for_item (const object *op, int difficulty);
262extern int magic_from_difficulty (int difficulty);
263extern void set_abs_magic (object *op, int magic); 225extern void set_abs_magic (object *op, int magic);
264extern void set_ring_bonus (object *op, int bonus);
265extern int get_magic (int diff);
266extern void fix_generated_item (object *op, object *creator, int difficulty, int max_magic, int flags); 226extern void fix_generated_item (object *op, object *creator, int difficulty, int max_magic, int flags);
267extern artifactlist *find_artifactlist (int type); 227extern artifactlist *find_artifactlist (int type);
268extern void dump_artifacts (); 228extern void dump_artifacts ();
269extern void dump_monster_treasure_rec (const char *name, treasure *t, int depth); 229extern void dump_monster_treasure_rec (const char *name, treasure *t, int depth);
270extern void dump_monster_treasure (const char *name); 230extern void dump_monster_treasure (const char *name);
271extern void init_artifacts (); 231extern void init_artifacts ();
272extern void add_abilities (object *op, object *change); 232extern void add_abilities (object *op, object *change);
273extern void give_artifact_abilities (object *op, object *artifct); 233extern void give_artifact_abilities (object *op, object *artifct);
274extern void generate_artifact (object *op, int difficulty); 234extern void generate_artifact (object *op, int difficulty);
275extern void fix_flesh_item (object *item, object *donor); 235extern void fix_flesh_item (object *item, object *donor);
276extern int special_potion (object *op);
277extern void free_treasurestruct (treasure *t);
278extern void free_charlinks (linked_char *lc);
279extern void free_artifact (artifact *at);
280extern void free_artifactlist (artifactlist *al);
281extern void free_all_treasures ();
282/* utils.c */ 236/* utils.c */
283extern int random_roll (int min, int max, const object *op, int goodbad); 237extern int random_roll (int min, int max, const object *op, int goodbad);
284extern sint64 random_roll64 (sint64 min, sint64 max, const object *op, int goodbad); 238extern sint64 random_roll64 (sint64 min, sint64 max, const object *op, int goodbad);
285extern int die_roll (int num, int size, const object *op, int goodbad); 239extern int die_roll (int num, int size, const object *op, int goodbad);
286extern materialtype_t *name_to_material (const shstr_cmp name); 240extern materialtype_t *name_to_material (const shstr_cmp name);
287extern void transmute_materialname (object *op, const object *change); 241extern void transmute_materialname (object *op, const object *change);
288extern void set_materialname (object *op, int difficulty, materialtype_t *nmt); 242extern void set_materialname (object *op, int difficulty, materialtype_t *nmt);
289extern void strip_media_tag (char *message); 243extern void strip_media_tag (char *message);
290extern const char *strrstr (const char *haystack, const char *needle);
291extern void strip_endline (char *buf); 244extern void strip_endline (char *buf);
292extern void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize); 245extern void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize);
293extern void make_list_like (char *input);
294/* loader.c */ 246/* loader.c */
295extern int set_variable (object *op, char *buf); 247extern int set_variable (object *op, char *buf);
296extern void init_vars (); 248extern void init_vars ();
297extern char *get_ob_diff (object *op, object *op2); 249extern char *get_ob_diff (object *op, object *op2);
298/* map.c */ 250/* map.c */
326extern void trap_adjust (object *, int); 278extern void trap_adjust (object *, int);
327extern void esrv_send_item (object *, object *); 279extern void esrv_send_item (object *, object *);
328extern void esrv_del_item (player *, int); 280extern void esrv_del_item (player *, int);
329extern void esrv_update_item (int, object *, object *); 281extern void esrv_update_item (int, object *, object *);
330extern void esrv_update_spells (player *); 282extern void esrv_update_spells (player *);
331extern void set_darkness_map (maptile *m);
332extern void dragon_ability_gain (object *, int, int); 283extern void dragon_ability_gain (object *, int, int);
333extern void weather_effect (const char *);
334extern object * find_skill_by_number (object *, int); 284extern object * find_skill_by_number (object *, int);
335 285
336#endif 286#endif
337 287

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines