rust/landgen/src/outline_template_based/template_based.rs
changeset 16073 5d302b12d837
parent 16058 de01be16df95
equal deleted inserted replaced
16072:a4cbc6926439 16073:5d302b12d837
    18         &self,
    18         &self,
    19         parameters: &LandGenerationParameters<T>,
    19         parameters: &LandGenerationParameters<T>,
    20         random_numbers: &mut impl Rng,
    20         random_numbers: &mut impl Rng,
    21     ) -> Land2D<T> {
    21     ) -> Land2D<T> {
    22         let do_invert = self.outline_template.is_negative
    22         let do_invert = self.outline_template.is_negative
    23             && (!self.outline_template.can_invert || random_numbers.gen());
    23             && (!self.outline_template.can_invert || random_numbers.random());
    24         let (basic, zero) = if do_invert {
    24         let (basic, zero) = if do_invert {
    25             (parameters.zero, parameters.basic)
    25             (parameters.zero, parameters.basic)
    26         } else {
    26         } else {
    27             (parameters.basic, parameters.zero)
    27             (parameters.basic, parameters.zero)
    28         };
    28         };
    35             land.size().size(),
    35             land.size().size(),
    36             random_numbers,
    36             random_numbers,
    37         );
    37         );
    38 
    38 
    39         // mirror
    39         // mirror
    40         if self.outline_template.can_mirror && random_numbers.gen() {
    40         if self.outline_template.can_mirror && random_numbers.random() {
    41             points.mirror();
    41             points.mirror();
    42         }
    42         }
    43 
    43 
    44         // flip
    44         // flip
    45         if self.outline_template.can_flip && random_numbers.gen() {
    45         if self.outline_template.can_flip && random_numbers.random() {
    46             points.flip();
    46             points.flip();
    47         }
    47         }
    48 
    48 
    49         if !parameters.skip_distort {
    49         if !parameters.skip_distort {
    50             let distortion_limiting_factor = 100 + random_numbers.gen_range(0..8) * 10;
    50             let distortion_limiting_factor = 100 + random_numbers.random_range(0..8) * 10;
    51 
    51 
    52             points.distort(
    52             points.distort(
    53                 parameters.distance_divisor,
    53                 parameters.distance_divisor,
    54                 distortion_limiting_factor,
    54                 distortion_limiting_factor,
    55                 random_numbers,
    55                 random_numbers,