ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/random_maps/rproto.h
Revision: 1.8
Committed: Sun Jul 1 05:00:19 2007 UTC (16 years, 11 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-2_2, rel-2_3
Changes since 1.7: +11 -12 lines
Log Message:
- upgrade crossfire trt to the GPL version 3 (hopefully correctly).
- add a single file covered by the GNU Affero General Public License
  (which is not yet released, so I used the current draft, which is
  legally a bit wavy, but its likely better than nothing as it expresses
  direct intent by the authors, and we can upgrade as soon as it has been
  released).
  * this should ensure availability of source code for the server at least
    and hopefully also archetypes and maps even when modified versions
    are not being distributed, in accordance of section 13 of the agplv3.

File Contents

# User Rev Content
1 root 1.7 /*
2 root 1.8 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
3 root 1.7 *
4     * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
5     * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team
6     * Copyright (©) 1992,2007 Frank Tore Johansen
7     *
8 root 1.8 * Crossfire TRT is free software: you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License as published by
10     * the Free Software Foundation, either version 3 of the License, or
11     * (at your option) any later version.
12 root 1.7 *
13 root 1.8 * This program is distributed in the hope that it will be useful,
14     * but WITHOUT ANY WARRANTY; without even the implied warranty of
15     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16     * GNU General Public License for more details.
17 root 1.7 *
18 root 1.8 * You should have received a copy of the GNU General Public License
19     * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 root 1.7 *
21     * The authors can be reached via e-mail to <crossfire@schmorp.de>
22     */
23    
24 root 1.1 /* random_map.c */
25 root 1.3 extern void dump_layout(char **layout, random_map_params *RP);
26     extern char **layoutgen(random_map_params *RP);
27     extern char **symmetrize_layout(char **maze, int sym, random_map_params *RP);
28     extern char **rotate_layout(char **maze, int rotation, random_map_params *RP);
29     extern void roomify_layout(char **maze, random_map_params *RP);
30     extern int can_make_wall(char **maze, int dx, int dy, int dir, random_map_params *RP);
31 root 1.1 extern int make_wall(char **maze, int x, int y, int dir);
32 root 1.3 extern void doorify_layout(char **maze, random_map_params *RP);
33     extern void write_map_parameters_to_string(char *buf, random_map_params *RP);
34 root 1.6 extern void write_parameters_to_string(char *buf, int xsize_n, int ysize_n, const char *wallstyle_n, const char *floorstyle_n, const char *monsterstyle_n, const char *treasurestyle_n, const char *layoutstyle_n, const char *decorstyle_n, const char *doorstyle_n, const char *exitstyle_n, const char *final_map_n, const char *exit_on_final_map_n, const char *this_map_n, int layoutoptions1_n, int layoutoptions2_n, int layoutoptions3_n, int symmetry_n, int dungeon_depth_n, int dungeon_level_n, int difficulty_n, int difficulty_given_n, int decoroptions_n, int orientation_n, int origin_x_n, int origin_y_n, uint32_t random_seed_n, int treasureoptions_n, float difficulty_increase);
35 root 1.1 extern void copy_object_with_inv(object *src_ob, object *dest_ob);
36     /* room_gen_onion.c */
37     extern char **map_gen_onion(int xsize, int ysize, int option, int layers);
38     extern void centered_onion(char **maze, int xsize, int ysize, int option, int layers);
39     extern void bottom_centered_onion(char **maze, int xsize, int ysize, int option, int layers);
40     extern void draw_onion(char **maze, float *xlocations, float *ylocations, int layers);
41     extern void make_doors(char **maze, float *xlocations, float *ylocations, int layers, int options);
42     extern void bottom_right_centered_onion(char **maze, int xsize, int ysize, int option, int layers);
43     /* room_gen_spiral.c */
44     extern char **map_gen_spiral(int xsize, int ysize, int option);
45     extern void connect_spirals(int xsize, int ysize, int sym, char **layout);
46     /* maze_gen.c */
47     extern char **maze_gen(int xsize, int ysize, int option);
48     extern void make_wall_free_list(int xsize, int ysize);
49     extern void pop_wall_point(int *x, int *y);
50     extern int find_free_point(char **maze, int *x, int *y, int xc, int yc, int xsize, int ysize);
51     extern void fill_maze_full(char **maze, int x, int y, int xsize, int ysize);
52     extern void fill_maze_sparse(char **maze, int x, int y, int xsize, int ysize);
53     /* wall.c */
54 root 1.3 extern int surround_flag(char **layout, int i, int j, random_map_params *RP);
55     extern int surround_flag2(char **layout, int i, int j, random_map_params *RP);
56     extern int surround_flag3(maptile *map, sint16 i, sint16 j, random_map_params *RP);
57     extern int surround_flag4(maptile *map, int i, int j, random_map_params *RP);
58     extern void make_map_walls(maptile *map, char **layout, char *w_style, random_map_params *RP);
59     extern object *pick_joined_wall(object *the_wall, char **layout, int i, int j, random_map_params *RP);
60     extern object *retrofit_joined_wall(maptile *the_map, int i, int j, int insert_flag, random_map_params *RP);
61 root 1.1 /* monster.c */
62 root 1.2 extern void insert_multisquare_ob_in_map(object *new_obj, maptile *map);
63 root 1.3 extern void place_monsters(maptile *map, char *monsterstyle, int difficulty, random_map_params *RP);
64 root 1.1 /* door.c */
65     extern int surround_check2(char **layout, int i, int j, int Xsize, int Ysize);
66 root 1.3 extern void put_doors(maptile *the_map, char **maze, const char *doorstyle, random_map_params *RP);
67 root 1.1 /* decor.c */
68 root 1.2 extern int obj_count_in_map(maptile *map, int x, int y);
69 root 1.3 extern void put_decor(maptile *map, char **maze, char *decorstyle, int decor_option, random_map_params *RP);
70 root 1.1 /* exit.c */
71 root 1.3 extern void find_in_layout(int mode, char target, int *fx, int *fy, char **layout, random_map_params *RP);
72     extern void place_exits(maptile *map, char **maze, char *exitstyle, int orientation, random_map_params *RP);
73     extern void unblock_exits(maptile *map, char **maze, random_map_params *RP);
74 root 1.1 /* treasure.c */
75 root 1.2 extern int wall_blocked(maptile *m, int x, int y);
76 root 1.3 extern void place_treasure(maptile *map, char **layout, char *treasure_style, int treasureoptions, random_map_params *RP);
77     extern object *place_chest(int treasureoptions, int x, int y, maptile *map, maptile *style_map, int n_treasures, random_map_params *RP);
78     extern object *find_closest_monster(maptile *map, int x, int y, random_map_params *RP);
79     extern int keyplace(maptile *map, int x, int y, char *keycode, int door_flag, int n_keys, random_map_params *RP);
80     extern object *find_monster_in_room_recursive(char **layout, maptile *map, int x, int y, random_map_params *RP);
81     extern object *find_monster_in_room(maptile *map, int x, int y, random_map_params *RP);
82     extern void find_spot_in_room_recursive(char **layout, int x, int y, random_map_params *RP);
83     extern void find_spot_in_room(maptile *map, int x, int y, int *kx, int *ky, random_map_params *RP);
84     extern void find_enclosed_spot(maptile *map, int *cx, int *cy, random_map_params *RP);
85 root 1.2 extern void remove_monsters(int x, int y, maptile *map);
86     extern object **surround_by_doors(maptile *map, char **layout, int x, int y, int opts);
87     extern object *door_in_square(maptile *map, int x, int y);
88 root 1.3 extern void find_doors_in_room_recursive(char **layout, maptile *map, int x, int y, object **doorlist, int *ndoors, random_map_params *RP);
89     extern object **find_doors_in_room(maptile *map, int x, int y, random_map_params *RP);
90     extern void lock_and_hide_doors(object **doorlist, maptile *map, int opts, random_map_params *RP);
91 root 1.1 /* special.c */
92 root 1.2 extern void nuke_map_region(maptile *map, int xstart, int ystart, int xsize, int ysize);
93     extern void include_map_in_map(maptile *dest_map, maptile *in_map, int x, int y);
94     extern int find_spot_for_submap(maptile *map, char **layout, int *ix, int *iy, int xsize, int ysize);
95     extern void place_fountain_with_specials(maptile *map);
96 root 1.3 extern void place_special_exit(maptile *map, int hole_type, random_map_params *RP);
97     extern void place_specials_in_map(maptile *map, char **layout, random_map_params *RP);
98 root 1.1 /* style.c */
99     extern int load_dir(const char *dir, char ***namelist, int skip_dirs);
100 root 1.2 extern maptile *load_style_map(char *style_name);
101     extern maptile *find_style(const char *dirname, const char *stylename, int difficulty);
102     extern object *pick_random_object(maptile *style);
103 root 1.1 extern void free_style_maps(void);
104     /* rogue_layout.c */
105     extern int surround_check(char **layout, int i, int j, int Xsize, int Ysize);
106     extern char **roguelike_layout_gen(int xsize, int ysize, int options);
107     /* snake.c */
108     extern char **make_snake_layout(int xsize, int ysize, int options);
109     /* square_spiral.c */
110     extern void find_top_left_corner(char **maze, int *cx, int *cy);
111     extern char **make_square_spiral_layout(int xsize, int ysize, int options);
112     /* expand2x.c */
113     extern char **expand2x(char **layout, int xsize, int ysize);