From ef93305313334502c77c43b07d35b314bdd9c4a3 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 22 Sep 2023 12:55:17 +0200 Subject: [PATCH] ls:: randomwalk_size parameter added --- config.cpp | 3 +++ landgen.cpp | 4 +++- menus.cpp | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config.cpp b/config.cpp index d5e7fbf2..1e45c2cd 100644 --- a/config.cpp +++ b/config.cpp @@ -3229,6 +3229,9 @@ EX int config3 = addHook(hooks_configfile, 100, [] { "land size in horodisk mode", "Set this to -2 to get perfect horodisks. Smaller values yield less dense horodisks, and " "larger values might produce horodisks with errors or crashing into each other.", 'H'); + param_i(randomwalk_size, "randomwalk_size", 10)->editable(2, 100, 1, + "land size in randomwalk mode", + "The average size of a land in randomwalk mode.", 'R'); param_f(global_boundary_ratio, "global_boundary_ratio") ->editable(0, 5, 0.1, "Width of cell boundaries", diff --git a/landgen.cpp b/landgen.cpp index f5bfaab5..c4bc063b 100644 --- a/landgen.cpp +++ b/landgen.cpp @@ -2847,9 +2847,11 @@ EX void repairLandgen(cell *c) { } } +EX int randomwalk_size = 10; + EX void setland_randomwalk(cell *c) { if(c->land) return; - if(hrand(10) == 0) setland(c, currentlands[hrand(isize(currentlands))]); + if(hrand(randomwalk_size) == 0) setland(c, currentlands[hrand(isize(currentlands))]); else { cell *c2 = nullptr; for(int i=0; i<10 && !(c2 && (!disksize || is_in_disk(c2)) && is_in_fractal(c2)); i++) diff --git a/menus.cpp b/menus.cpp index b704b69d..fd0a0693 100644 --- a/menus.cpp +++ b/menus.cpp @@ -437,6 +437,8 @@ EX void show_chaos() { dialog::addBreak(100); if(ls::horodisk_structure()) add_edit(horodisk_from); + else if(land_structure == lsChaosRW) + add_edit(randomwalk_size); else dialog::addBreak(100); dialog::addBack();