diff options
Diffstat (limited to 'src/renderer')
| -rw-r--r-- | src/renderer/ui.rs | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/src/renderer/ui.rs b/src/renderer/ui.rs index 9af0113..98c916d 100644 --- a/src/renderer/ui.rs +++ b/src/renderer/ui.rs @@ -1,4 +1,5 @@ use egui::{Color32, Stroke, Ui, epaint::CircleShape}; +use fastnoise_lite::NoiseType; use glam::IVec2; use rapier2d::pipeline::QueryFilter; @@ -109,7 +110,7 @@ pub fn draw_egui<'a>( ui.add(egui::Slider::new(&mut camera.zoom, 0.0..=10.0).text("Zoom")); ui.heading("Proc gen"); if ui.button("Generate").clicked() { - world_generator.update_params(config); + world_generator.update_params(config.world_generator_config); for cx in -5..5 { for cy in -5..5 { let chunk = world_generator.generate_chunk(IVec2::new(cx, cy)); @@ -117,9 +118,45 @@ pub fn draw_egui<'a>( } } } - ui.add(egui::Slider::new(&mut config.proc_gen_seed, -100000..=100000).text("Seed")); + ui.add( + egui::Slider::new( + &mut config.world_generator_config.proc_gen_seed, + -100000..=100000, + ) + .text("Seed"), + ); + ui.add( + egui::Slider::new( + &mut config.world_generator_config.occupied_threshold, + 0.0..=1.0, + ) + .text("Occupation threshold"), + ); + ui.add( + egui::Slider::new( + &mut config.world_generator_config.stone_threshold, + 0.0..=1.0, + ) + .text("Stone threshold"), + ); + ui.label("Cave noise"); - ui.add(egui::Slider::new(&mut config.cave_noise_freq, 0.0..=1.0).text("Frequency")); + ui.add( + egui::Slider::new( + &mut config.world_generator_config.cave_noise_freq, + 0.0..=1.0, + ) + .text("Frequency"), + ); + + ui.label("Hardness noise"); + ui.add( + egui::Slider::new( + &mut config.world_generator_config.hardness_noise_freq, + 0.0..=1.0, + ) + .text("Frequency"), + ); ui.label(format!( "Mouse (world): x,y=({x}, {y})", |
