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.77 by root, Fri Nov 6 12:27:05 2009 UTC vs.
Revision 1.93 by root, Sun Apr 25 10:45:38 2010 UTC

1/* 1/*
2 * This file is part of Deliantra, the Roguelike Realtime MMORPG. 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 * 3 *
4 * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 4 * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team 5 * Copyright (©) 2002 Mark Wedel & Crossfire Development Team
6 * Copyright (©) 1992,2007 Frank Tore Johansen 6 * Copyright (©) 1992 Frank Tore Johansen
7 * 7 *
8 * Deliantra is free software: you can redistribute it and/or modify it under 8 * Deliantra is free software: you can redistribute it and/or modify it under
9 * the terms of the Affero GNU General Public License as published by the 9 * the terms of the Affero GNU General Public License as published by the
10 * Free Software Foundation, either version 3 of the License, or (at your 10 * Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version. 11 * option) any later version.
24 24
25#ifndef LIBPROTO_H_ 25#ifndef LIBPROTO_H_
26#define LIBPROTO_H_ 26#define LIBPROTO_H_
27 27
28/* anim.c */ 28/* anim.c */
29extern void free_all_anim (); 29void free_all_anim ();
30extern void init_anim (); 30void init_anim ();
31extern int find_animation (const char *name); 31int find_animation (const char *name);
32extern void animate_object (object *op, int dir); 32void animate_object (object *op, int dir);
33/* arch.c */ 33/* arch.c */
34extern archetype *find_archetype_by_object_name (const char *name); 34archetype *find_archetype_by_object_name (const char *name);
35extern archetype *find_archetype_by_object_type_name (int type, const char *name); 35archetype *find_archetype_by_object_type_name (int type, const char *name);
36extern object *get_archetype_by_skill_name (const char *skill, int type); 36object *get_archetype_by_skill_name (const char *skill, int type);
37extern archetype *get_archetype_by_type_subtype (int type, int subtype); 37archetype *get_archetype_by_type_subtype (int type, int subtype);
38extern object *get_archetype_by_object_name (const char *name); 38object *get_archetype_by_object_name (const char *name);
39extern object *find_best_weapon_used_match (object *pl, const char *params); 39object *find_best_weapon_used_match (object *pl, const char *params);
40extern int item_matched_string (object *pl, object *op, const char *name); 40int item_matched_string (object *pl, object *op, const char *name);
41extern void arch_info (object *op); 41void arch_info (object *op);
42extern void clear_archetable (); 42void clear_archetable ();
43extern void dump_arch (archetype *at); 43void dump_arch (archetype *at);
44extern void dump_all_archetypes (); 44void dump_all_archetypes ();
45extern void free_all_archs (); 45void free_all_archs ();
46extern void check_generators (); 46void check_generators ();
47extern bool load_archetype_file (const char *filename); 47bool load_archetype_file (const char *filename);
48extern object *get_archetype (const char *name); 48object *get_archetype (const char *name);
49extern unsigned long hasharch (const char *str, int tablesize); 49unsigned long hasharch (const char *str, int tablesize);
50extern object *clone_arch (int type); 50object *clone_arch (int type);
51extern object *object_create_arch (archetype *at); 51object *object_create_arch (archetype *at);
52/* button.c */ 52/* button.c */
53extern void push_button (object *op, object *originator); 53void push_button (object *op, object *originator);
54extern void update_button (object *op, object *originator); 54void update_button (object *op, object *originator);
55extern void use_trigger (object *op, object *originator); 55void use_trigger (object *op, object *originator);
56extern void animate_turning (object *op); 56void animate_turning (object *op);
57extern int check_altar_sacrifice (object *altar, object *sacrifice, object *originator = 0); 57int check_altar_sacrifice (object *altar, object *sacrifice, object *originator = 0);
58extern int operate_altar (object *altar, object **sacrifice, object *originator = 0); 58int operate_altar (object *altar, object **sacrifice, object *originator = 0);
59extern int check_trigger (object *op, object *cause, object *originator = 0); 59int check_trigger (object *op, object *cause, object *originator = 0);
60extern int get_button_value (const object *button); 60int get_button_value (const object *button);
61extern void do_mood_floor (object *op, object *source = 0); 61void do_mood_floor (object *op, object *source = 0);
62extern object *check_inv_recursive (object *op, const object *trig); 62object *check_inv_recursive (object *op, const object *trig);
63extern void check_inv (object *op, object *trig); 63void check_inv (object *op, object *trig);
64extern void verify_button_links (const maptile *map); 64void verify_button_links (const maptile *map);
65/* exp.c */ 65/* exp.c */
66int exp_to_level (sint64 exp);
67sint64 level_to_min_exp (int level);
66extern int new_exp (const object *ob); 68int new_exp (const object *ob);
67extern void init_experience (); 69void init_experience ();
68extern void dump_experience ();
69/* friend.c */ 70/* friend.c */
70extern void add_friendly_object (object *op); 71void add_friendly_object (object *op);
71extern void remove_friendly_object (object *op); 72void remove_friendly_object (object *op);
72extern void dump_friendly_objects (); 73void dump_friendly_objects ();
73extern void clean_friendly_list (); 74void clean_friendly_list ();
74/* glue.c */ 75/* glue.c */
75extern void fatal (int err); 76void fatal (const char *msg);
76/* holy.c */ 77/* holy.c */
77extern void init_gods (); 78void init_gods ();
78extern godlink *get_rand_god (); 79godlink *get_rand_god ();
79extern object *pntr_to_god_obj (godlink *godlnk); 80object *pntr_to_god_obj (godlink *godlnk);
80extern void dump_gods (); 81void dump_gods ();
81/* info.c */ 82/* info.c */
82extern void dump_abilities (); 83void dump_abilities ();
83extern void print_monsters (); 84void print_monsters ();
84extern void bitstostring (long bits, int num, char *str); 85void bitstostring (long bits, int num, char *str);
85/* image.c */ 86/* image.c */
86extern void ReadBmapNames (); 87void ReadBmapNames ();
87extern int FindFace (const char *name, int error); 88int FindFace (const char *name, int error);
88extern int ReadSmooth (); 89int ReadSmooth ();
89extern int FindSmooth (uint16 face, uint16 *smoothed); 90int FindSmooth (uint16 face, uint16 *smoothed);
90extern void free_all_images (); 91void free_all_images ();
91/* init.c */ 92/* init.c */
92extern void init_library (); 93void init_library ();
93extern void init_environ (); 94void init_environ ();
94extern void init_globals (); 95void init_globals ();
95extern void init_objects (); 96void init_objects ();
96extern void init_defaults (); 97void init_defaults ();
97extern void init_dynamic (); 98void init_dynamic ();
98extern void init_clocks (); 99void init_clocks ();
99extern void init_attackmess (); 100void init_attackmess ();
100/* item.c */ 101/* item.c */
101extern int get_power_from_ench (int ench); 102int get_power_from_ench (int ench);
102extern int calc_item_power (const object *op, int flag); 103int calc_item_power (const object *op, int flag);
103extern const typedata *get_typedata (int itemtype); 104const typedata *get_typedata (int itemtype);
104extern const typedata *get_typedata_by_name (const char *name); 105const typedata *get_typedata_by_name (const char *name);
105extern const char *describe_resistance (const object *op, int newline); 106const char *describe_resistance (const object *op, int newline);
106extern const char *get_levelnumber (int i); 107const char *ordinal (int i);
107extern const char *describe_item (const object *op, object *owner); 108const char *describe_item (const object *op, object *owner);
108extern int is_magical (const object *op); 109int is_magical (const object *op);
109extern int need_identify (const object *op);
110extern void identify (object *op); 110void identify (object *op);
111void examine (object *op, object *tmp);
111/* links.c */ 112/* links.c */
112extern objectlink *get_objectlink (); 113objectlink *get_objectlink ();
113extern oblinkpt *get_objectlinkpt (); 114oblinkpt *get_objectlinkpt ();
114extern void free_objectlink (objectlink *ol); 115void free_objectlink (objectlink *ol);
115extern void free_objectlinkpt (oblinkpt *obp); 116void free_objectlinkpt (oblinkpt *obp);
116/* living.c */ 117/* living.c */
117extern void change_attr_value (living *stats, int attr, sint8 value); 118void change_attr_value (living *stats, int attr, sint8 value);
118extern void check_stat_bounds (living *stats); 119void check_stat_bounds (living *stats);
119extern int change_abil (object *op, object *tmp); 120int change_abil (object *op, object *tmp);
120extern int allowed_class (const object *op); 121int allowed_class (const object *op);
121extern void set_dragon_name (object *pl, const object *abil, const object *skin); 122void set_dragon_name (object *pl, const object *abil, const object *skin);
122extern object *give_skill_by_name (object *op, const char *skill_name); 123object *give_skill_by_name (object *op, const char *skill_name);
123extern void player_lvl_adj (object *who, object *op); 124void player_lvl_adj (object *who, object *op);
124extern sint64 level_exp (int level, double expmul); 125sint64 level_exp (int level, double expmul);
125extern void calc_perm_exp (object *op); 126void calc_perm_exp (object *op);
126extern sint64 check_exp_adjust (const object *op, sint64 exp); 127sint64 check_exp_adjust (const object *op, sint64 exp);
127extern void change_exp (object *op, sint64 exp, const char *skill_name, int flag); 128void change_exp (object *op, sint64 exp, const char *skill_name, int flag);
128extern void apply_death_exp_penalty (object *op); 129void apply_death_exp_penalty (object *op);
129extern int did_make_save (const object *op, int level, int bonus); 130int did_make_save (const object *op, int level, int bonus);
130/* los.c */ 131/* los.c */
131extern void init_block (); 132void init_block ();
132extern void update_all_map_los (maptile *map); 133void update_all_map_los (maptile *map);
133extern void update_all_los (const maptile *map, int x, int y); 134void update_all_los (const maptile *map, int x, int y);
134extern void make_sure_seen (const object *op); 135void make_sure_seen (const object *op);
135extern void make_sure_not_seen (const object *op); 136void make_sure_not_seen (const object *op);
136/* map.c */ 137/* map.c */
137extern const char *create_pathname (const char *name); 138const char *create_pathname (const char *name);
138extern int blocked_link (object *ob, maptile *m, int sx, int sy); 139int blocked_link (object *ob, maptile *m, int sx, int sy);
139/* object.c */ 140/* object.c */
140extern char *dump_object (object *op); 141char *dump_object (object *op);
141extern void dump_me (object *op, char *outstr); 142void dump_me (object *op, char *outstr);
142extern object *find_object (tag_t i); 143object *find_object (tag_t i);
144object *find_object_uuid (UUID i);
143extern object *find_object_name (const char *str); 145object *find_object_name (const char *str);
144extern void free_all_object_data (); 146void free_all_object_data ();
145extern void update_turn_face (object *op); 147void update_turn_face (object *op);
146extern void update_object (object *op, int action); 148void update_object (object *op, int action);
147extern object *merge_ob (object *op, object *top); 149object *merge_ob (object *op, object *top);
148extern object *insert_ob_in_map_at (object *op, maptile *m, object *originator, int flag, int x, int y); 150object *insert_ob_in_map_at (object *op, maptile *m, object *originator, int flag, int x, int y);
149extern object *insert_ob_in_map (object *op, maptile *m, object *originator, int flag); 151object *insert_ob_in_map (object *op, maptile *m, object *originator, int flag);
150extern void replace_insert_ob_in_map (shstr_tmp archname, object *op); 152void replace_insert_ob_in_map (shstr_tmp archname, object *op);
151extern object *insert_ob_in_ob (object *op, object *where); 153object *insert_ob_in_ob (object *op, object *where);
152extern int check_move_on (object *op, object *originator); 154int check_move_on (object *op, object *originator);
153extern object *present_arch (const archetype *at, maptile *m, int x, int y); 155object *present_arch (const archetype *at, maptile *m, int x, int y);
154extern object *present (unsigned char type, maptile *m, int x, int y); 156object *present (unsigned char type, maptile *m, int x, int y);
155extern object *present_in_ob (unsigned char type, const object *op); 157object *present_in_ob (unsigned char type, const object *op);
156extern object *present_in_ob_by_name (int type, const char *str, const object *op); 158object *present_in_ob_by_name (int type, const char *str, const object *op);
157extern object *present_arch_in_ob (const archetype *at, const object *op); 159object *present_arch_in_ob (const archetype *at, const object *op);
158extern void flag_inv (object *op, int flag); 160void flag_inv (object *op, int flag);
159extern void unflag_inv (object *op, int flag); 161void unflag_inv (object *op, int flag);
160extern int find_free_spot (const object *ob, maptile *m, int x, int y, int start, int stop); 162int find_free_spot (const object *ob, maptile *m, int x, int y, int start, int stop);
161extern int find_first_free_spot (const object *ob, maptile *m, int x, int y); 163int find_first_free_spot (const object *ob, maptile *m, int x, int y);
162extern void get_search_arr (int *search_arr); 164void get_search_arr (int *search_arr);
163extern int find_dir (maptile *m, int x, int y, object *exclude); 165int find_dir (maptile *m, int x, int y, object *exclude);
164extern int distance (const object *ob1, const object *ob2); 166int distance (const object *ob1, const object *ob2);
165extern int find_dir_2 (int x, int y); 167int find_dir_2 (int x, int y);
166extern int dirdiff (int dir1, int dir2); 168int dirdiff (int dir1, int dir2);
167extern int can_see_monsterP (maptile *m, int x, int y, int dir); 169int can_see_monsterP (maptile *m, int x, int y, int dir);
168extern int can_pick (const object *who, const object *item); 170int can_pick (const object *who, const object *item);
169extern object *find_obj_by_type_subtype (const object *who, int type, int subtype); 171object *find_obj_by_type_subtype (const object *who, int type, int subtype);
170/* path.c */ 172/* path.c */
171extern char *path_combine (const char *src, const char *dst); 173char *path_combine (const char *src, const char *dst);
172extern char *path_combine_and_normalize (const char *src, const char *dst); 174char *path_combine_and_normalize (const char *src, const char *dst);
173/* porting.c */
174extern void remove_directory (const char *path);
175extern char *ltostr10 (signed long n);
176extern char *doubletostr10 (double v);
177extern FILE *open_and_uncompress (const char *name, int flag, int *compressed);
178extern void close_and_delete (FILE *fp, int compressed);
179extern void make_path_to_file (char *filename);
180/* player.c */ 175/* player.c */
181extern void free_player (player *pl); 176void free_player (player *pl);
182extern int atnr_is_dragon_enabled (int attacknr); 177int atnr_is_dragon_enabled (int attacknr);
183extern int is_dragon_pl (const object *op);
184/* quest.c */ 178/* quest.c */
185extern int quest_is_quest_marker (const object *marker, int task); 179int quest_is_quest_marker (const object *marker, int task);
186extern int quest_is_in_progress (const object *marker, int task); 180int quest_is_in_progress (const object *marker, int task);
187extern int quest_is_completed (const object *marker, int task); 181int quest_is_completed (const object *marker, int task);
188extern const char *quest_get_name (const object *marker); 182const char *quest_get_name (const object *marker);
189extern object *quest_get_player_quest (const object *pl, const char *name, const char *name_pl); 183object *quest_get_player_quest (const object *pl, const char *name, const char *name_pl);
190extern object *quest_get_override (const object *ob, const object *pl); 184object *quest_get_override (const object *ob, const object *pl);
191extern const char *quest_get_override_slaying (const object *ob, const object *pl); 185const char *quest_get_override_slaying (const object *ob, const object *pl);
192extern const char *quest_get_override_msg (const object *ob, const object *pl); 186const char *quest_get_override_msg (const object *ob, const object *pl);
193extern void quest_apply_items (object *wrapper, player *pl); 187void quest_apply_items (object *wrapper, player *pl);
194extern int quest_on_activate (object *ob, player *pl); 188int quest_on_activate (object *ob, player *pl);
195extern int quest_is_override_compatible (const object *marker, const object *pl); 189int quest_is_override_compatible (const object *marker, const object *pl);
196/* readable.c */ 190/* readable.c */
197extern void init_readable (); 191void init_readable ();
198extern object *get_random_mon (int level); 192object *get_random_mon (int level);
199extern void tailor_readable_ob (object *book, int msg_type); 193void tailor_readable_ob (object *book, int msg_type);
200extern void write_book_archive (); 194void write_book_archive ();
201extern readable_message_type *get_readable_message_type (object *readable); 195readable_message_type *get_readable_message_type (object *readable);
202/* recipe.c */ 196/* recipe.c */
203extern recipelist *get_formulalist (int i); 197recipelist *get_formulalist (int i);
204extern void init_formulae (); 198void init_formulae ();
205extern void dump_alchemy (); 199void dump_alchemy ();
206extern void dump_alchemy_costs (); 200void dump_alchemy_costs ();
207extern int strtoint (const char *buf); 201int strtoint (const char *buf);
208extern artifact *locate_recipe_artifact (const recipe *rp, size_t idx); 202artifact *locate_recipe_artifact (const recipe *rp, size_t idx);
209extern recipe *get_random_recipe (recipelist *rpl); 203recipe *get_random_recipe (recipelist *rpl);
210/* region.c */ 204/* region.c */
211extern object *get_jail_exit (object *op); 205object *get_jail_exit (object *op);
212/* shstr.c */ 206/* shstr.c */
213extern int buf_overflow (const char *buf1, const char *buf2, int bufsize); 207int buf_overflow (const char *buf1, const char *buf2, int bufsize);
214/* time.c */ 208/* time.c */
215extern void reset_sleep (); 209void reset_sleep ();
216extern void log_time (long process_utime); 210void log_time (long process_utime);
217extern int enough_elapsed_time (); 211int enough_elapsed_time ();
218extern void sleep_delta (); 212void sleep_delta ();
219extern void get_tod (timeofday_t *tod); 213void get_tod (timeofday_t *tod);
220extern void print_tod (object *op); 214void print_tod (object *op);
221extern void time_info (object *op); 215void time_info (object *op);
222/* treasure.c */ 216/* treasure.c */
223extern bool load_treasure_file (const char *filename); 217bool load_treasure_file (const char *filename);
224extern object *generate_treasure (treasurelist *t, int difficulty); 218object *generate_treasure (treasurelist *t, int difficulty);
225extern void set_abs_magic (object *op, int magic); 219void set_abs_magic (object *op, int magic);
226extern void fix_generated_item (object *op, object *creator, int difficulty, int max_magic, int flags); 220void fix_generated_item (object *op, object *creator, int difficulty, int max_magic, int flags);
227extern artifactlist *find_artifactlist (int type); 221artifactlist *find_artifactlist (int type);
228extern void dump_artifacts (); 222void dump_artifacts ();
229extern void dump_monster_treasure_rec (const char *name, treasure *t, int depth); 223void dump_monster_treasure_rec (const char *name, treasure *t, int depth);
230extern void dump_monster_treasure (const char *name); 224void dump_monster_treasure (const char *name);
231extern void init_artifacts (); 225void init_artifacts ();
232extern void add_abilities (object *op, object *change); 226void add_abilities (object *op, object *change);
233extern void give_artifact_abilities (object *op, object *artifct); 227void give_artifact_abilities (object *op, object *artifct);
234extern void generate_artifact (object *op, int difficulty); 228void generate_artifact (object *op, int difficulty);
235extern void fix_flesh_item (object *item, object *donor); 229void fix_flesh_item (object *item, object *donor);
236/* utils.c */ 230/* utils.c */
237extern int random_roll (int min, int max, const object *op, int goodbad); 231int random_roll (int min, int max, const object *op, int goodbad);
238extern sint64 random_roll64 (sint64 min, sint64 max, const object *op, int goodbad); 232sint64 random_roll64 (sint64 min, sint64 max, const object *op, int goodbad);
239extern int die_roll (int num, int size, const object *op, int goodbad); 233int die_roll (int num, int size, const object *op, int goodbad);
240extern materialtype_t *name_to_material (const shstr_cmp name); 234materialtype_t *name_to_material (const shstr_tmp name);
241extern void transmute_materialname (object *op, const object *change); 235void transmute_materialname (object *op, const object *change);
242extern void set_materialname (object *op, int difficulty, materialtype_t *nmt);
243extern void strip_media_tag (char *message);
244extern void strip_endline (char *buf); 236void strip_endline (char *buf);
245extern void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize); 237void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize);
246/* loader.c */ 238/* loader.c */
247extern int set_variable (object *op, char *buf); 239int set_variable (object *op, char *buf);
248extern void init_vars (); 240void init_vars ();
249extern char *get_ob_diff (object *op, object *op2); 241char *get_ob_diff (object *op, object *op2);
242bool load_resource_file_ (const char *filename);
250/* map.c */ 243/* map.c */
251extern maptile *find_style (const char *dirname, const char *stylename, int difficulty); 244maptile *find_style (const char *dirname, const char *stylename, int difficulty, bool recurse = false);
252extern object *pick_random_object (maptile *style); 245object *pick_random_object (maptile *style);
253 246
254/* former funcpoint.h */ 247/* former funcpoint.h */
255/* 248/*
256 * These function-pointers are defined in common/glue.c 249 * These function-pointers are defined in common/glue.c
257 * The functions used to set and initialise them are also there. 250 * The functions used to set and initialise them are also there.
259 * Massive change. Those functions are just defined, no callback, and they should be implemented. 252 * Massive change. Those functions are just defined, no callback, and they should be implemented.
260 * This means glue.c code & such can go away almost entirely. 253 * This means glue.c code & such can go away almost entirely.
261 * Ryo 2005-07-15 254 * Ryo 2005-07-15
262 */ 255 */
263 256
264extern void move_apply (object *, object *, object *); 257void move_apply (object *, object *, object *);
265extern void draw_info (int, int, object *, const char *); 258void draw_info (int, int, object *, const char *);
266extern void clean_tmp_files (void); 259void clean_tmp_files ();
267extern void fix_auto_apply (maptile *); 260void fix_auto_apply (maptile *);
268extern void init_blocksview_players (void); 261void init_blocksview_players ();
269extern void monster_check_apply (object *, object *); 262void monster_check_apply (object *, object *);
270extern void process_active_maps (void); 263void process_active_maps ();
271extern void remove_friendly_object (object *); 264void remove_friendly_object (object *);
272extern void update_buttons (maptile *); 265void update_buttons (maptile *);
273extern void move_teleporter (object *); 266void move_teleporter (object *);
274extern void move_firewall (object *); 267void move_firewall (object *);
275extern void move_creator (object *); 268void move_creator (object *);
276extern void move_marker (object *); 269void move_marker (object *);
277extern void move_duplicator (object *); 270void move_duplicator (object *);
278extern void trap_adjust (object *, int); 271void trap_adjust (object *, int);
279extern void esrv_send_item (object *, object *); 272void esrv_send_item (object *, object *);
280extern void esrv_del_item (player *, int); 273void esrv_del_item (player *, int);
281extern void esrv_update_item (int, object *, object *); 274void esrv_update_item (int, object *, object *);
282extern void esrv_update_spells (player *); 275void esrv_update_spells (player *);
283extern void dragon_ability_gain (object *, int, int); 276void dragon_ability_gain (object *, int, int);
284extern object * find_skill_by_number (object *, int); 277object * find_skill_by_number (object *, int);
285 278
286#endif 279#endif
287 280

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines