--- deliantra/server/include/libproto.h 2006/05/07 13:56:22 1.2 +++ deliantra/server/include/libproto.h 2006/09/03 00:18:41 1.8 @@ -19,8 +19,6 @@ extern void dump_all_archetypes(void); extern void free_all_archs(void); extern archetype *get_archetype_struct(void); -extern void first_arch_pass(FILE *fp); -extern void second_arch_pass(FILE *fp); extern void check_generators(void); extern void load_archetypes(void); extern object *arch_to_object(archetype *at); @@ -33,7 +31,9 @@ extern object *object_create_arch(archetype *at); /* button.c */ extern void push_button(object *op); +extern void activate_connection (mapstruct *map, long connection, bool state = true); extern void update_button(object *op); +extern oblinkpt *get_connection_links (mapstruct *map, long connection); extern void update_buttons(mapstruct *m); extern void use_trigger(object *op); extern void animate_turning(object *op); @@ -43,9 +43,9 @@ extern int check_trigger(object *op, object *cause); extern void add_button_link(object *button, mapstruct *map, int connected); extern void remove_button_link(object *op); -extern objectlink *get_button_links(const object *button); +extern oblinkpt *get_button_links(const object *button); extern int get_button_value(const object *button); -extern void do_mood_floor(object *op, object *op2); +extern void do_mood_floor(object *op, object *source = 0); extern object *check_inv_recursive(object *op, const object *trig); extern void check_inv(object *op, object *trig); extern void verify_button_links(const mapstruct *map); @@ -160,8 +160,8 @@ extern int blocked_link(object *ob, mapstruct *m, int sx, int sy); extern int ob_blocked(const object *ob, mapstruct *m, sint16 x, sint16 y); extern void fix_container(object *container); -extern void load_objects(mapstruct *m, FILE *fp, int mapflags); -extern void save_objects(mapstruct *m, FILE *fp, FILE *fp2, int flag); +extern void load_objects(mapstruct *m, object_thawer &fp, int mapflags); +extern void save_objects(mapstruct *m, object_freezer &fp, object_freezer &fp2, int flag); extern mapstruct *get_linked_map(void); extern void allocate_map(mapstruct *m); extern mapstruct *get_empty_map(int sizex, int sizey); @@ -262,12 +262,9 @@ extern char *strdup_local(const char *str); extern long strtol_local(register char *str, char **ptr, register int base); extern char *strcasestr_local(const char *s, const char *find); -extern char *strerror_local(int errnum); extern int isqrt(int n); extern char *ltostr10(signed long n); extern char *doubletostr10(double v); -extern void save_long(char *buf, char *name, long n); -extern void save_long_long(char *buf, char *name, sint64 n); extern FILE *open_and_uncompress(const char *name, int flag, int *compressed); extern void close_and_delete(FILE *fp, int compressed); extern void make_path_to_file(char *filename); @@ -337,14 +334,6 @@ extern void parse_regions(FILE *fp); extern void assign_region_parents(void); /* shstr.c */ -extern void init_hash_table(void); -extern const char *add_string(const char *str); -extern const char *add_refcount(const char *str); -extern int query_refcount(const char *str); -extern const char *find_string(const char *str); -extern void free_string(const char *str); -extern void ss_dump_statistics(void); -extern const char *ss_dump_table(int what); extern int buf_overflow(const char *buf1, const char *buf2, int bufsize); /* time.c */ extern void reset_sleep(void); @@ -364,7 +353,7 @@ extern void create_one_treasure(treasurelist *tl, object *op, int flag, int difficulty, int tries); extern void create_treasure(treasurelist *t, object *op, int flag, int difficulty, int tries); extern object *generate_treasure(treasurelist *t, int difficulty); -extern int level_for_item(const object *op, int difficulty, int retmult); +extern int level_for_item(const object *op, int difficulty); extern int magic_from_difficulty(int difficulty); extern void set_abs_magic(object *op, int magic); extern void set_ring_bonus(object *op, int bonus); @@ -416,10 +405,8 @@ extern int yylex_destroy(void); extern void yyfree(void *ptr); extern int yyerror(char *s); -extern int load_object(FILE *fp, object *op, int bufstate, int map_flags); +extern int load_object(object_thawer &fp, object *op, int bufstate, int map_flags); extern int set_variable(object *op, char *buf); extern void init_vars(void); extern char *get_ob_diff(object *op, object *op2); -extern void save_object(FILE *fp, object *op, int flag); -extern void insert_event(object *op, int etype, char *ehook, char *eplug, char *eoptions); -extern event *find_event(object *op, int etype); +extern void save_object(object_freezer &fp, object *op, int flag);