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

Comparing deliantra/server/include/sproto.h (file contents):
Revision 1.12 by elmex, Tue Aug 15 06:04:15 2006 UTC vs.
Revision 1.37 by root, Sun Jan 7 02:39:14 2007 UTC

1int same_party (partylist *a, partylist *b);
1/* alchemy.c */ 2/* alchemy.c */
2int need_identify (const object *obj); 3int need_identify (const object *obj);
3int apply_shop_mat (object *shop_mat, object *op); 4int apply_shop_mat (object *shop_mat, object *op);
4const char *cost_string_from_value(uint64 cost, int approx); 5const char *cost_string_from_value(sint64 cost, int approx);
5void pay_player (object *pl, uint64 amount); 6void pay_player (object *pl, sint64 amount);
6uint64 pay_player_arch (object *pl, const char *arch, uint64 amount); 7sint64 pay_player_arch (object *pl, const char *arch, sint64 amount);
7void attempt_do_alchemy(object *caster, object *cauldron); 8void attempt_do_alchemy(object *caster, object *cauldron);
8int content_recipe_value(object *op); 9int content_recipe_value(object *op);
9int numb_ob_inside(object *op); 10int numb_ob_inside(object *op);
10object *attempt_recipe(object *caster, object *cauldron, int ability, recipe *rp, int nbatches); 11object *attempt_recipe(object *caster, object *cauldron, int ability, recipe *rp, int nbatches);
11void adjust_product(object *item, int lvl, int yield); 12void adjust_product(object *item, int lvl, int yield);
41int unapply_for_ob(object *who, object *op, int aflags); 42int unapply_for_ob(object *who, object *op, int aflags);
42int can_apply_object(object *who, object *op); 43int can_apply_object(object *who, object *op);
43int apply_special(object *who, object *op, int aflags); 44int apply_special(object *who, object *op, int aflags);
44int monster_apply_special(object *who, object *op, int aflags); 45int monster_apply_special(object *who, object *op, int aflags);
45int auto_apply(object *op); 46int auto_apply(object *op);
46void fix_auto_apply(mapstruct *m); 47void fix_auto_apply(maptile *m);
47void eat_special_food(object *who, object *food); 48void eat_special_food(object *who, object *food);
48void apply_lighter(object *who, object *lighter); 49void apply_lighter(object *who, object *lighter);
49void scroll_failure(object *op, int failure, int power); 50void scroll_failure(object *op, int failure, int power);
50void apply_changes_to_player(object *pl, object *change); 51void apply_changes_to_player(object *pl, object *change);
51void apply_item_transformer(object *pl, object *transformer); 52void apply_item_transformer(object *pl, object *transformer);
79int find_unused_connected_value(struct mapdef *map); 80int find_unused_connected_value(struct mapdef *map);
80int find_or_create_connection_for_map(object *pl, short x, short y, object *rune); 81int find_or_create_connection_for_map(object *pl, short x, short y, object *rune);
81object *get_connection_rune(object *pl, short x, short y); 82object *get_connection_rune(object *pl, short x, short y);
82object *get_msg_book(object *pl, short x, short y); 83object *get_msg_book(object *pl, short x, short y);
83object *get_wall(struct mapdef *map, int x, int y); 84object *get_wall(struct mapdef *map, int x, int y);
84void fix_walls(struct mapdef *map, int x, int y); 85void fix_walls(maptile *map, int x, int y);
86void fix_walls_around(maptile *map, int x, int y);
85void apply_builder_floor(object *pl, object *material, short x, short y); 87void apply_builder_floor(object *pl, object *material, short x, short y);
86void apply_builder_wall(object *pl, object *material, short x, short y); 88void apply_builder_wall(object *pl, object *material, short x, short y);
87void apply_builder_item(object *pl, object *item, short x, short y); 89void apply_builder_item(object *pl, object *item, short x, short y);
88void apply_builder_remove(object *pl, int dir); 90void apply_builder_remove(object *pl, int dir);
89void apply_map_builder(object *pl, int dir); 91void apply_map_builder(object *pl, int dir);
158int command_bug(object *op, char *params); 160int command_bug(object *op, char *params);
159void malloc_info(object *op); 161void malloc_info(object *op);
160void current_region_info(object *op); 162void current_region_info(object *op);
161void current_map_info(object *op); 163void current_map_info(object *op);
162int command_whereabouts(object *op, char *params); 164int command_whereabouts(object *op, char *params);
163int command_who(object *op, char *params);
164void display_who_entry(object *op, player *pl, const char *format);
165void get_who_escape_code_value(char *return_val, const char letter, player *pl);
166int command_afk(object *op, char *params); 165int command_afk(object *op, char *params);
167int command_malloc(object *op, char *params); 166int command_malloc(object *op, char *params);
168int command_mapinfo(object *op, char *params); 167int command_mapinfo(object *op, char *params);
169int command_whereami(object *op, char *params); 168int command_whereami(object *op, char *params);
170int command_maps(object *op, char *params); 169int command_maps(object *op, char *params);
202int command_resistances(object *op, char *params); 201int command_resistances(object *op, char *params);
203int command_help(object *op, char *params); 202int command_help(object *op, char *params);
204int onoff_value(const char *line); 203int onoff_value(const char *line);
205int command_quit(object *op, char *params); 204int command_quit(object *op, char *params);
206int command_real_quit(object *op, char *params); 205int command_real_quit(object *op, char *params);
207int command_explore(object *op, char *params);
208int command_sound(object *op, char *params); 206int command_sound(object *op, char *params);
209void receive_player_name(object *op, char k); 207void receive_player_name(object *op, char k);
210void receive_player_password(object *op, char k); 208void receive_player_password(object *op, char k);
211int explore_mode(void);
212int command_title(object *op, char *params); 209int command_title(object *op, char *params);
213int command_save(object *op, char *params); 210int command_save(object *op, char *params);
214int command_peaceful(object *op, char *params); 211int command_peaceful(object *op, char *params);
215int command_wimpy(object *op, char *params); 212int command_wimpy(object *op, char *params);
216int command_brace(object *op, char *params); 213int command_brace(object *op, char *params);
226int command_southeast(object *op, char *params); 223int command_southeast(object *op, char *params);
227int command_southwest(object *op, char *params); 224int command_southwest(object *op, char *params);
228int command_west(object *op, char *params); 225int command_west(object *op, char *params);
229int command_stay(object *op, char *params); 226int command_stay(object *op, char *params);
230/* c_new.c */ 227/* c_new.c */
231int execute_newserver_command(object *pl, char *command); 228void execute_newserver_command(object *pl, char *command);
232int command_run(object *op, char *params); 229int command_run(object *op, char *params);
233int command_run_stop(object *op, char *params); 230int command_run_stop(object *op, char *params);
234int command_fire(object *op, char *params); 231int command_fire(object *op, char *params);
235int command_fire_stop(object *op, char *params); 232int command_fire_stop(object *op, char *params);
236int bad_command(object *op, char *params); 233int bad_command(object *op, char *params);
289int command_banish(object *op, char *params); 286int command_banish(object *op, char *params);
290int command_kick(object *op, char *params); 287int command_kick(object *op, char *params);
291int command_save_overlay(object *op, char *params); 288int command_save_overlay(object *op, char *params);
292int command_toggle_shout(object *op, char *params); 289int command_toggle_shout(object *op, char *params);
293int command_shutdown(object *op, char *params); 290int command_shutdown(object *op, char *params);
294int command_goto(object *op, char *params);
295int command_generate(object *op, char *params);
296int command_freeze(object *op, char *params); 291int command_freeze(object *op, char *params);
297int command_arrest(object *op, char *params); 292int command_arrest(object *op, char *params);
298int command_summon(object *op, char *params); 293int command_summon(object *op, char *params);
299int command_teleport(object *op, char *params); 294int command_teleport(object *op, char *params);
300int command_create(object *op, char *params); 295int command_create(object *op, char *params);
416void rec_sighup(int i); 411void rec_sighup(int i);
417void rec_sigquit(int i); 412void rec_sigquit(int i);
418void rec_sigpipe(int i); 413void rec_sigpipe(int i);
419void rec_sigbus(int i); 414void rec_sigbus(int i);
420void rec_sigterm(int i); 415void rec_sigterm(int i);
421void fatal_signal(int make_core, int close_sockets);
422void init_signals(void); 416void init_signals(void);
423void init_races(void); 417void init_races(void);
424void dump_races(void); 418void dump_races(void);
425void add_to_racelist(const char *race_name, object *op); 419void add_to_racelist(const char *race_name, object *op);
426racelink *get_racelist(void); 420racelink *get_racelist(void);
427racelink *find_racelink(const char *name); 421racelink *find_racelink(const char *name);
428/* login.c */ 422/* login.c */
429void emergency_save(int flag);
430void delete_character(const char *name, int); 423void delete_character(const char *name);
431int verify_player(const char *name, char *password); 424int verify_player(const char *name, char *password);
432int check_name(player *me, const char *name); 425int check_name(player *me, const char *name);
433int create_savedir_if_needed(char *savedir); 426int create_savedir_if_needed(char *savedir);
434void destroy_object(object *op); 427void destroy_object(object *op);
435int save_player(object *op, int flag);
436void copy_file(const char *filename, FILE *fpout); 428void copy_file(const char *filename, FILE *fpout);
437void check_login(object *op);
438/* main.c */ 429/* main.c */
430void server_tick ();
439void version(object *op); 431void version(object *op);
440void info_keys(object *op); 432void info_keys(object *op);
441void start_info(object *op);
442char *crypt_string(char *str, char *salt); 433char *crypt_string(char *str, char *salt);
443int check_password(char *typed, char *crypted); 434int check_password(char *typed, char *crypted);
444void enter_player_savebed(object *op); 435void enter_player_savebed(object *op);
445void leave_map(object *op); 436void leave_map(object *op);
446void set_map_timeout(mapstruct *oldmap); 437void set_map_timeout(maptile *oldmap);
447char *clean_path(const char *file); 438char *clean_path(const char *file);
448char *unclean_path(const char *src); 439char *unclean_path(const char *src);
449void enter_exit(object *op, object *exit_ob); 440void enter_exit(object *op, object *exit_ob);
450void process_active_maps(void);
451void process_players1(mapstruct *map);
452void process_players2(mapstruct *map);
453void process_events(mapstruct *map); 441void process_events();
454void clean_tmp_files(void); 442void clean_tmp_files(void);
455void cleanup(void);
456void leave(player *pl, int draw_exit); 443void leave(player *pl,int draw_exit);
457int forbid_play(void); 444int forbid_play(void);
458void do_specials(void); 445void do_specials(void);
459int main(int argc, char **argv); 446int main(int argc, char **argv);
460/* monster.c */ 447/* monster.c */
461object *check_enemy(object *npc, rv_vector *rv); 448object *check_enemy(object *npc, rv_vector *rv);
489void pace_movev(object *ob); 476void pace_movev(object *ob);
490void pace_moveh(object *ob); 477void pace_moveh(object *ob);
491void pace2_movev(object *ob); 478void pace2_movev(object *ob);
492void pace2_moveh(object *ob); 479void pace2_moveh(object *ob);
493void rand_move(object *ob); 480void rand_move(object *ob);
494void check_earthwalls(object *op, mapstruct *m, int x, int y); 481void check_earthwalls(object *op, maptile *m, int x, int y);
495void check_doors(object *op, mapstruct *m, int x, int y); 482void check_doors(object *op, maptile *m, int x, int y);
496void communicate(object *op, const char *txt); 483void communicate(object *op, const char *txt);
497int talk_to_npc(object *op, object *npc, const char *txt); 484int talk_to_npc(object *op, object *npc, const char *txt);
498int talk_to_wall(object *pl, object *npc, const char *txt); 485int talk_to_wall(object *pl, object *npc, const char *txt);
499object *find_mon_throw_ob(object *op); 486object *find_mon_throw_ob(object *op);
500int can_detect_enemy(object *op, object *enemy, rv_vector *rv); 487int can_detect_enemy(object *op, object *enemy, rv_vector *rv);
504int move_object(object *op, int dir); 491int move_object(object *op, int dir);
505int move_ob(object *op, int dir, object *originator); 492int move_ob(object *op, int dir, object *originator);
506int transfer_ob(object *op, int x, int y, int randomly, object *originator); 493int transfer_ob(object *op, int x, int y, int randomly, object *originator);
507int teleport(object *teleporter, uint8 tele_type, object *user); 494int teleport(object *teleporter, uint8 tele_type, object *user);
508void recursive_roll(object *op, int dir, object *pusher); 495void recursive_roll(object *op, int dir, object *pusher);
509int try_fit(object *op, mapstruct *m, int x, int y); 496int try_fit(object *op, maptile *m, int x, int y);
510int roll_ob(object *op, int dir, object *pusher); 497int roll_ob(object *op, int dir, object *pusher);
511int push_ob(object *who, int dir, object *pusher); 498int push_ob(object *who, int dir, object *pusher);
512/* pets.c */ 499/* pets.c */
513object *get_pet_enemy(object *pet, rv_vector *rv); 500object *get_pet_enemy(object *pet, rv_vector *rv);
514void terminate_all_pets(object *owner); 501void terminate_all_pets(object *owner);
515void remove_all_pets(mapstruct *map); 502void remove_all_pets(maptile *map);
516int follow_owner(object *ob, object *owner); 503int follow_owner(object *ob, object *owner);
517void pet_move(object *ob); 504void pet_move(object *ob);
518object *fix_summon_pet(archetype *at, object *op, int dir, int is_golem); 505object *fix_summon_pet(archetype *at, object *op, int dir, int is_golem);
519void move_golem(object *op); 506void move_golem(object *op);
520void control_golem(object *op, int dir); 507void control_golem(object *op, int dir);
528player *find_player_partial_name(const char *plname); 515player *find_player_partial_name(const char *plname);
529void display_motd(const object *op); 516void display_motd(const object *op);
530void send_rules(const object *op); 517void send_rules(const object *op);
531void send_news(const object *op); 518void send_news(const object *op);
532int playername_ok(const char *cp); 519int playername_ok(const char *cp);
533int add_player(NewSocket *ns);
534archetype *get_player_archetype(archetype *at); 520archetype *get_player_archetype(archetype *at);
535object *get_nearest_player(object *mon); 521object *get_nearest_player(object *mon);
536int path_to_player(object *mon, object *pl, unsigned mindiff); 522int path_to_player(object *mon, object *pl, unsigned mindiff);
537void give_initial_items(object *pl, treasurelist *items); 523void give_initial_items(object *pl, treasurelist *items);
538void get_name(object *op); 524void get_name(object *op);
539void get_password(object *op); 525void get_password(object *op);
540void play_again(object *op); 526void play_again(object *op);
541int receive_play_again(object *op, char key); 527int receive_play_again(object *op, char key);
542void confirm_password(object *op); 528void confirm_password(object *op);
543void get_party_password(object *op, partylist *party); 529void get_party_password(object *op, partylist *party);
544int roll_stat(void);
545void roll_stats(object *op);
546void Roll_Again(object *op); 530void Roll_Again(object *op);
547void Swap_Stat(object *op, int Swap_Second); 531void Swap_Stat(object *op, int Swap_Second);
548int key_roll_stat(object *op, char key); 532int key_roll_stat(object *op, char key);
549int key_change_class(object *op, char key); 533int key_change_class(object *op, char key);
550int key_confirm_quit(object *op, char key); 534int key_confirm_quit(object *op, char key);
587void *cfapi_get_hooks(int *type, ...); 571void *cfapi_get_hooks(int *type, ...);
588int plugins_remove_plugin(const char *id); 572int plugins_remove_plugin(const char *id);
589crossfire_plugin *plugins_find_plugin(const char *id); 573crossfire_plugin *plugins_find_plugin(const char *id);
590void plugins_display_list(object *op); 574void plugins_display_list(object *op);
591void *cfapi_system_find_animation(int *type, ...); 575void *cfapi_system_find_animation(int *type, ...);
592void *cfapi_system_strdup_local(int *type, ...); 576void *cfapi_system_strdup(int *type, ...);
593void *cfapi_system_register_global_event(int *type, ...); 577void *cfapi_system_register_global_event(int *type, ...);
594void *cfapi_system_unregister_global_event(int *type, ...); 578void *cfapi_system_unregister_global_event(int *type, ...);
595void *cfapi_system_add_string(int *type, ...);
596void *cfapi_system_remove_string(int *type, ...);
597void *cfapi_system_check_path(int *type, ...); 579void *cfapi_system_check_path(int *type, ...);
598void *cfapi_system_re_cmp(int *type, ...); 580void *cfapi_system_re_cmp(int *type, ...);
599void *cfapi_system_directory(int *type, ...); 581void *cfapi_system_directory(int *type, ...);
600void *cfapi_map_get_map(int *type, ...); 582void *cfapi_map_get_map(int *type, ...);
601void *cfapi_map_has_been_loaded(int *type, ...); 583void *cfapi_map_has_been_loaded(int *type, ...);
679int trap_see(object *op, object *trap); 661int trap_see(object *op, object *trap);
680int trap_show(object *trap, object *where); 662int trap_show(object *trap, object *where);
681int trap_disarm(object *disarmer, object *trap, int risk, object *skill); 663int trap_disarm(object *disarmer, object *trap, int risk, object *skill);
682void trap_adjust(object *trap, int difficulty); 664void trap_adjust(object *trap, int difficulty);
683/* shop.c */ 665/* shop.c */
666int get_payment(object *pl);
684uint64 query_cost(const object *tmp, object *who, int flag); 667sint64 query_cost(const object *tmp, object *who, int flag);
685const char *query_cost_string(const object *tmp, object *who, int flag); 668const char *query_cost_string(const object *tmp, object *who, int flag);
686uint64 query_money(const object *op); 669sint64 query_money(const object *op);
687int pay_for_amount(uint64 to_pay, object *pl); 670int pay_for_amount(sint64 to_pay, object *pl);
688int pay_for_item(object *op, object *pl); 671int pay_for_item(object *op, object *pl);
689int can_pay(object *pl); 672int can_pay(object *pl);
690int get_payment(object *pl, object *op);
691void sell_item(object *op, object *pl); 673void sell_item(object *op, object *pl);
692double shopkeeper_approval(const mapstruct *map, const object *player); 674double shopkeeper_approval(const maptile *map, const object *player);
693int describe_shop(const object *op); 675int describe_shop(const object *op);
694void shop_listing(object *op); 676void shop_listing(object *op);
677bool is_in_shop (object *o);
678bool is_in_shop (maptile *map, int x, int y);
695/* skills.c */ 679/* skills.c */
696int steal(object *op, int dir, object *skill); 680int steal(object *op, int dir, object *skill);
697int pick_lock(object *pl, int dir, object *skill); 681int pick_lock(object *pl, int dir, object *skill);
698int hide(object *op, object *skill); 682int hide(object *op, object *skill);
699int jump(object *pl, int dir, object *skill); 683int jump(object *pl, int dir, object *skill);
787/* spell_util.c */ 771/* spell_util.c */
788object *find_random_spell_in_ob(object *ob, const char *skill); 772object *find_random_spell_in_ob(object *ob, const char *skill);
789void set_spell_skill(object *op, object *caster, object *spob, object *dest); 773void set_spell_skill(object *op, object *caster, object *spob, object *dest);
790void init_spells(void); 774void init_spells(void);
791void dump_spells(void); 775void dump_spells(void);
792void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator); 776void spell_effect(object *spob, int x, int y, maptile *map, object *originator);
793int min_casting_level(object *caster, object *spell); 777int min_casting_level(object *caster, object *spell);
794int caster_level(object *caster, object *spell); 778int caster_level(object *caster, object *spell);
795sint16 SP_level_spellpoint_cost(object *caster, object *spell, int flags); 779sint16 SP_level_spellpoint_cost(object *caster, object *spell, int flags);
796int SP_level_dam_adjust(object *caster, object *spob); 780int SP_level_dam_adjust(object *caster, object *spob);
797int SP_level_duration_adjust(object *caster, object *spob); 781int SP_level_duration_adjust(object *caster, object *spob);
798int SP_level_range_adjust(object *caster, object *spob); 782int SP_level_range_adjust(object *caster, object *spob);
799object *check_spell_known(object *op, const char *name); 783object *check_spell_known(object *op, const char *name);
800object *lookup_spell_by_name(object *op, const char *spname); 784object *lookup_spell_by_name(object *op, const char *spname);
801int reflwall(mapstruct *m, int x, int y, object *sp_op); 785int reflwall(maptile *m, int x, int y, object *sp_op);
802int cast_create_obj(object *op, object *caster, object *new_op, int dir); 786int cast_create_obj(object *op, object *caster, object *new_op, int dir);
803int ok_to_put_more(mapstruct *m, sint16 x, sint16 y, object *op, int immune_stop); 787int ok_to_put_more(maptile *m, sint16 x, sint16 y, object *op, int immune_stop);
804int fire_arch_from_position(object *op, object *caster, sint16 x, sint16 y, int dir, object *spell); 788int fire_arch_from_position(object *op, object *caster, sint16 x, sint16 y, int dir, object *spell);
805void regenerate_rod(object *rod); 789void regenerate_rod(object *rod);
806void drain_rod_charge(object *rod); 790void drain_rod_charge(object *rod);
807object *find_target_for_friendly_spell(object *op, int dir); 791object *find_target_for_friendly_spell(object *op, int dir);
808int spell_find_dir(mapstruct *m, int x, int y, object *exclude); 792int spell_find_dir(maptile *m, int x, int y, object *exclude);
809void put_a_monster(object *op, const char *monstername); 793void put_a_monster(object *op, const char *monstername);
810int summon_hostile_monsters(object *op, int n, const char *monstername); 794int summon_hostile_monsters(object *op, int n, const char *monstername);
811void shuffle_attack(object *op, int change_face); 795void shuffle_attack(object *op, int change_face);
812void prayer_failure(object *op, int failure, int power); 796void prayer_failure(object *op, int failure, int power);
813void spell_failure(object *op, int failure, int power, object *skill); 797void spell_failure(object *op, int failure, int power, object *skill);
819/* swamp.c */ 803/* swamp.c */
820void walk_on_deep_swamp(object *op, object *victim); 804void walk_on_deep_swamp(object *op, object *victim);
821void move_deep_swamp(object *op); 805void move_deep_swamp(object *op);
822/* swap.c */ 806/* swap.c */
823void read_map_log(void); 807void read_map_log(void);
824void swap_map(mapstruct *map); 808void swap_map(maptile *map);
825void check_active_maps(void); 809void check_active_maps(void);
826mapstruct *map_least_timeout(char *except_level); 810maptile *map_least_timeout(char *except_level);
827void swap_below_max(char *except_level); 811void swap_below_max(char *except_level);
828int players_on_map(mapstruct *m, int show_all); 812int players_on_map(maptile *m, int show_all);
829void flush_old_maps(void); 813void flush_old_maps(void);
830/* time.c */ 814/* time.c */
831void remove_door(object *op); 815void remove_door(object *op);
832void remove_door2(object *op); 816void remove_door2(object *op);
833void generate_monster_inv(object *gen); 817void generate_monster_inv(object *gen);
840void move_timed_gate(object *op); 824void move_timed_gate(object *op);
841void move_detector(object *op); 825void move_detector(object *op);
842void animate_trigger(object *op); 826void animate_trigger(object *op);
843void move_hole(object *op); 827void move_hole(object *op);
844object *stop_item(object *op); 828object *stop_item(object *op);
845void fix_stopped_item(object *op, mapstruct *map, object *originator); 829void fix_stopped_item(object *op, maptile *map, object *originator);
846object *fix_stopped_arrow(object *op); 830object *fix_stopped_arrow(object *op);
847void move_arrow(object *op); 831void move_arrow(object *op);
848void change_object(object *op); 832void change_object(object *op);
849void move_teleporter(object *op); 833void move_teleporter(object *op);
850void move_player_changer(object *op); 834void move_player_changer(object *op);
859void cftimer_process_event(object *ob); 843void cftimer_process_event(object *ob);
860int cftimer_create(int id, long delay, object *ob, int mode); 844int cftimer_create(int id, long delay, object *ob, int mode);
861int cftimer_destroy(int id); 845int cftimer_destroy(int id);
862int cftimer_find_free_id(void); 846int cftimer_find_free_id(void);
863/* weather.c */ 847/* weather.c */
864void set_darkness_map(mapstruct *m); 848void set_darkness_map(maptile *m);
865void tick_the_clock(void); 849void tick_the_clock(void);
866void init_weather(void); 850void init_weather(void);
867void weather_effect(const char *filename); 851void weather_effect(const char *filename);
868int worldmap_to_weathermap(int x, int y, int *wx, int *wy, mapstruct *m); 852int worldmap_to_weathermap(int x, int y, int *wx, int *wy, maptile *m);
869int real_world_temperature(int x, int y, mapstruct *m); 853int real_world_temperature(int x, int y, maptile *m);
870int similar_direction(int a, int b); 854int similar_direction(int a, int b);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines