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.78 by root, Sat Nov 7 18:30:05 2009 UTC vs.
Revision 1.107 by root, Sat Nov 17 23:40:01 2018 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 (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team
4 * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 5 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team 6 * Copyright (©) 2002 Mark Wedel & Crossfire Development Team
6 * Copyright (©) 1992,2007 Frank Tore Johansen 7 * Copyright (©) 1992 Frank Tore Johansen
7 * 8 *
8 * Deliantra is free software: you can redistribute it and/or modify it under 9 * 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 10 * 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 11 * Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version. 12 * option) any later version.
12 * 13 *
13 * This program is distributed in the hope that it will be useful, 14 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details. 17 * GNU General Public License for more details.
17 * 18 *
18 * You should have received a copy of the Affero GNU General Public License 19 * You should have received a copy of the Affero GNU General Public License
19 * and the GNU General Public License along with this program. If not, see 20 * and the GNU General Public License along with this program. If not, see
20 * <http://www.gnu.org/licenses/>. 21 * <http://www.gnu.org/licenses/>.
21 * 22 *
22 * The authors can be reached via e-mail to <support@deliantra.net> 23 * The authors can be reached via e-mail to <support@deliantra.net>
23 */ 24 */
24 25
25#ifndef LIBPROTO_H_ 26#ifndef LIBPROTO_H_
26#define LIBPROTO_H_ 27#define LIBPROTO_H_
27
28void load_materials (void);
29 28
30/* anim.c */ 29/* anim.c */
31void free_all_anim (); 30void free_all_anim ();
32void init_anim (); 31void init_anim ();
33int find_animation (const char *name);
34void animate_object (object *op, int dir); 32void animate_object (object *op, int dir);
35/* arch.c */ 33/* arch.c */
36archetype *find_archetype_by_object_name (const char *name); 34archetype *find_archetype_by_object_name (const char *name);
37archetype *find_archetype_by_object_type_name (int type, const char *name); 35archetype *find_archetype_by_object_type_name (int type, const char *name);
38object *get_archetype_by_skill_name (const char *skill, int type); 36object *get_archetype_by_skill_name (const char *skill, int type);
45void dump_arch (archetype *at); 43void dump_arch (archetype *at);
46void dump_all_archetypes (); 44void dump_all_archetypes ();
47void free_all_archs (); 45void free_all_archs ();
48void check_generators (); 46void check_generators ();
49bool load_archetype_file (const char *filename); 47bool load_archetype_file (const char *filename);
50object *get_archetype (const char *name);
51unsigned long hasharch (const char *str, int tablesize); 48unsigned long hasharch (const char *str, int tablesize);
52object *clone_arch (int type); 49object *clone_arch (int type);
53object *object_create_arch (archetype *at); 50object *object_create_arch (archetype *at);
54/* button.c */ 51/* button.c */
55void push_button (object *op, object *originator); 52void push_button (object *op, object *originator);
63void do_mood_floor (object *op, object *source = 0); 60void do_mood_floor (object *op, object *source = 0);
64object *check_inv_recursive (object *op, const object *trig); 61object *check_inv_recursive (object *op, const object *trig);
65void check_inv (object *op, object *trig); 62void check_inv (object *op, object *trig);
66void verify_button_links (const maptile *map); 63void verify_button_links (const maptile *map);
67/* exp.c */ 64/* exp.c */
65int exp_to_level (sint64 exp);
66sint64 level_to_min_exp (int level);
68int new_exp (const object *ob); 67int new_exp (const object *ob);
69void init_experience (); 68void _reload_exp_table ();
70void dump_experience ();
71/* friend.c */ 69/* friend.c */
72void add_friendly_object (object *op); 70void add_friendly_object (object *op);
73void remove_friendly_object (object *op); 71void remove_friendly_object (object *op);
74void dump_friendly_objects (); 72void dump_friendly_objects ();
75void clean_friendly_list (); 73void clean_friendly_list ();
76/* glue.c */
77void fatal (int err);
78/* holy.c */ 74/* holy.c */
79void init_gods (); 75void init_gods ();
80godlink *get_rand_god (); 76godlink *get_rand_god ();
81object *pntr_to_god_obj (godlink *godlnk); 77object *pntr_to_god_obj (godlink *godlnk);
82void dump_gods (); 78void dump_gods ();
103int get_power_from_ench (int ench); 99int get_power_from_ench (int ench);
104int calc_item_power (const object *op, int flag); 100int calc_item_power (const object *op, int flag);
105const typedata *get_typedata (int itemtype); 101const typedata *get_typedata (int itemtype);
106const typedata *get_typedata_by_name (const char *name); 102const typedata *get_typedata_by_name (const char *name);
107const char *describe_resistance (const object *op, int newline); 103const char *describe_resistance (const object *op, int newline);
108const char *get_levelnumber (int i); 104const char *ordinal (int i);
109const char *describe_item (const object *op, object *owner); 105const char *describe_item (const object *op, object *owner);
110int is_magical (const object *op); 106int is_magical (const object *op);
111int need_identify (const object *op);
112void identify (object *op); 107void identify (object *op);
113void examine (object *op, object *tmp); 108void examine (object *op, object *tmp);
114/* links.c */ 109/* links.c */
115objectlink *get_objectlink (); 110objectlink *get_objectlink ();
116oblinkpt *get_objectlinkpt (); 111oblinkpt *get_objectlinkpt ();
118void free_objectlinkpt (oblinkpt *obp); 113void free_objectlinkpt (oblinkpt *obp);
119/* living.c */ 114/* living.c */
120void change_attr_value (living *stats, int attr, sint8 value); 115void change_attr_value (living *stats, int attr, sint8 value);
121void check_stat_bounds (living *stats); 116void check_stat_bounds (living *stats);
122int change_abil (object *op, object *tmp); 117int change_abil (object *op, object *tmp);
123int allowed_class (const object *op);
124void set_dragon_name (object *pl, const object *abil, const object *skin); 118void set_dragon_name (object *pl, const object *abil, const object *skin);
125object *give_skill_by_name (object *op, const char *skill_name); 119object *give_skill_by_name (object *op, const char *skill_name);
126void player_lvl_adj (object *who, object *op); 120void player_lvl_adj (object *who, object *op);
127sint64 level_exp (int level, double expmul); 121sint64 level_exp (int level, double expmul);
128void calc_perm_exp (object *op); 122void calc_perm_exp (object *op);
129sint64 check_exp_adjust (const object *op, sint64 exp); 123sint64 check_exp_adjust (const object *op, sint64 exp);
130void change_exp (object *op, sint64 exp, const char *skill_name, int flag); 124void change_exp (object *op, sint64 exp, shstr_tmp skill_name, int flag);
131void apply_death_exp_penalty (object *op); 125void apply_death_exp_penalty (object *op);
132int did_make_save (const object *op, int level, int bonus); 126int did_make_save (const object *op, int level, int bonus);
133/* los.c */ 127/* los.c */
134void init_block (); 128void init_block ();
135void update_all_map_los (maptile *map); 129void update_all_map_los (maptile *map);
141int blocked_link (object *ob, maptile *m, int sx, int sy); 135int blocked_link (object *ob, maptile *m, int sx, int sy);
142/* object.c */ 136/* object.c */
143char *dump_object (object *op); 137char *dump_object (object *op);
144void dump_me (object *op, char *outstr); 138void dump_me (object *op, char *outstr);
145object *find_object (tag_t i); 139object *find_object (tag_t i);
140object *find_object_uuid (UUID i);
146object *find_object_name (const char *str); 141object *find_object_name (const char *str);
147void free_all_object_data (); 142void free_all_object_data ();
148void update_turn_face (object *op); 143void update_turn_face (object *op);
149void update_object (object *op, int action); 144void update_object (object *op, int action);
150object *merge_ob (object *op, object *top); 145object *merge_ob (object *op, object *top);
151object *insert_ob_in_map_at (object *op, maptile *m, object *originator, int flag, int x, int y); 146object *insert_ob_in_map_at (object *op, maptile *m, object *originator, int flag, int x, int y);
152object *insert_ob_in_map (object *op, maptile *m, object *originator, int flag); 147object *insert_ob_in_map (object *op, maptile *m, object *originator, int flag);
153void replace_insert_ob_in_map (shstr_tmp archname, object *op); 148void replace_insert_ob_in_map (shstr_tmp archname, object *op);
154object *insert_ob_in_ob (object *op, object *where); 149object *insert_ob_in_ob (object *op, object *where);
155int check_move_on (object *op, object *originator); 150int check_move_on (object *op, object *originator, int flags = 0);
156object *present_arch (const archetype *at, maptile *m, int x, int y); 151object *present_arch (const archetype *at, maptile *m, int x, int y);
157object *present (unsigned char type, maptile *m, int x, int y); 152object *present (unsigned char type, maptile *m, int x, int y);
158object *present_in_ob (unsigned char type, const object *op); 153object *present_in_ob (unsigned char type, const object *op);
159object *present_in_ob_by_name (int type, const char *str, const object *op); 154object *present_in_ob_by_name (int type, const char *str, const object *op);
160object *present_arch_in_ob (const archetype *at, const object *op); 155object *present_arch_in_ob (const archetype *at, const object *op);
171int can_pick (const object *who, const object *item); 166int can_pick (const object *who, const object *item);
172object *find_obj_by_type_subtype (const object *who, int type, int subtype); 167object *find_obj_by_type_subtype (const object *who, int type, int subtype);
173/* path.c */ 168/* path.c */
174char *path_combine (const char *src, const char *dst); 169char *path_combine (const char *src, const char *dst);
175char *path_combine_and_normalize (const char *src, const char *dst); 170char *path_combine_and_normalize (const char *src, const char *dst);
176/* porting.c */
177void remove_directory (const char *path);
178char *ltostr10 (signed long n);
179char *doubletostr10 (double v);
180FILE *open_and_uncompress (const char *name, int flag, int *compressed);
181void close_and_delete (FILE *fp, int compressed);
182void make_path_to_file (char *filename);
183/* player.c */ 171/* player.c */
184void free_player (player *pl); 172void free_player (player *pl);
185int atnr_is_dragon_enabled (int attacknr); 173int atnr_is_dragon_enabled (int attacknr);
186int is_dragon_pl (const object *op);
187/* quest.c */ 174/* quest.c */
188int quest_is_quest_marker (const object *marker, int task); 175int quest_is_quest_marker (const object *marker, int task);
189int quest_is_in_progress (const object *marker, int task); 176int quest_is_in_progress (const object *marker, int task);
190int quest_is_completed (const object *marker, int task); 177int quest_is_completed (const object *marker, int task);
191const char *quest_get_name (const object *marker); 178const char *quest_get_name (const object *marker);
235void add_abilities (object *op, object *change); 222void add_abilities (object *op, object *change);
236void give_artifact_abilities (object *op, object *artifct); 223void give_artifact_abilities (object *op, object *artifct);
237void generate_artifact (object *op, int difficulty); 224void generate_artifact (object *op, int difficulty);
238void fix_flesh_item (object *item, object *donor); 225void fix_flesh_item (object *item, object *donor);
239/* utils.c */ 226/* utils.c */
240int random_roll (int min, int max, const object *op, int goodbad); 227int random_roll (int min, int max, const object *op, bool prefer_high);
241sint64 random_roll64 (sint64 min, sint64 max, const object *op, int goodbad); 228sint64 random_roll64 (sint64 min, sint64 max, const object *op, bool prefer_high);
242int die_roll (int num, int size, const object *op, int goodbad); 229int die_roll (int num, int size, const object *op, bool prefer_high);
243materialtype_t *name_to_material (const shstr_cmp name);
244void transmute_materialname (object *op, const object *change); 230void transmute_materialname (object *op, const object *change);
245void set_materialname (object *op, int difficulty, materialtype_t *nmt);
246void strip_media_tag (char *message);
247void strip_endline (char *buf); 231void strip_endline (char *buf);
248void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize); 232void replace (const char *src, const char *key, const char *replacement, char *result, size_t resultsize);
249/* loader.c */ 233/* loader.c */
250int set_variable (object *op, char *buf); 234int set_variable (object *op, char *buf);
251void init_vars (); 235void init_vars ();
252char *get_ob_diff (object *op, object *op2); 236char *get_ob_diff (object *op, object *op2);
237bool load_resource_file_ (const char *filename);
253/* map.c */ 238/* map.c */
254maptile *find_style (const char *dirname, const char *stylename, int difficulty); 239maptile *find_style (const char *dirname, const char *stylename, int difficulty, bool recurse = false);
255object *pick_random_object (maptile *style); 240object *pick_random_object (maptile *style);
256 241
257/* former funcpoint.h */ 242/* former funcpoint.h */
258/* 243/*
259 * These function-pointers are defined in common/glue.c 244 * These function-pointers are defined in common/glue.c
264 * Ryo 2005-07-15 249 * Ryo 2005-07-15
265 */ 250 */
266 251
267void move_apply (object *, object *, object *); 252void move_apply (object *, object *, object *);
268void draw_info (int, int, object *, const char *); 253void draw_info (int, int, object *, const char *);
269void clean_tmp_files (void); 254void clean_tmp_files ();
270void fix_auto_apply (maptile *); 255void fix_auto_apply (maptile *);
271void init_blocksview_players (void); 256void init_blocksview_players ();
272void monster_check_apply (object *, object *); 257void monster_check_apply (object *, object *);
273void process_active_maps (void); 258void process_active_maps ();
274void remove_friendly_object (object *); 259void remove_friendly_object (object *);
275void update_buttons (maptile *); 260void update_buttons (maptile *);
276void move_teleporter (object *); 261void move_teleporter (object *);
277void move_firewall (object *); 262void move_firewall (object *);
278void move_creator (object *); 263void move_creator (object *);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines