1 /* surfadd.h - headers for surfaces addition algorithm 2 * Copyright (C) 2002 Patrice St-Gelais 3 * patrstg@users.sourceforge.net 4 * www.oricom.ca/patrice.st-gelais 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 */ 20 21 #ifndef _SURFADD 22 #define _SURFADD 1 23 24 #include "hf.h" 25 #include "hf_filters.h" 26 27 typedef struct { 28 // Options for surface addition 29 unsigned int seed; 30 gint xy_random_range; 31 gint h_random_range; 32 gint slope; 33 gint density; 34 hf_struct_type *surf_to_add; 35 filter_struct **current_filter; // Inherited from hf_options->primit_surf 36 gint *filter_merge; // Merge mode, inherited from hf_options->primit_surf 37 gboolean *revert_filter; // Inherited from hf_options->primit_surf 38 gfloat *filter_level; // Inherited from hf_options->primit_surf 39 dist_matrix_struct *dist_matrix; 40 gint frq_percent[12]; // % of max. height for each frequency, from 2 to 4096 41 } surfadd_opt; 42 43 surfadd_opt *surfadd_opt_new(void); 44 void surfadd(hf_struct_type *hf, surfadd_opt *opt); 45 46 #endif 47 48