diff options
author | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:14 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:14 +0200 |
commit | 6d11bb4a2d5bc8ab7c1491639f1083532b1b8fd1 (patch) | |
tree | 0a1ee125b7c5ef7ec37ff0781392989be4f75e26 /src/wild.cc | |
parent | 36969a9058806e71078efcb04a91cc263612d42e (diff) |
Replace RNG with PCG random number generator
Diffstat (limited to 'src/wild.cc')
-rw-r--r-- | src/wild.cc | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/wild.cc b/src/wild.cc index 2d751b17..cbd899f7 100644 --- a/src/wild.cc +++ b/src/wild.cc @@ -186,11 +186,8 @@ static int generate_area(int y, int x, bool_ border, bool_ corner) terrain[2][1] = wild_map[yp][x].feat; terrain[2][2] = wild_map[yp][xp].feat; - /* Hack -- Use the "simple" RNG */ - Rand_quick = TRUE; - /* Hack -- Induce consistant town layout */ - Rand_value = wild_map[y][x].seed; + set_quick_rng(wild_map[y][x].seed); /* Create level background */ for (y1 = 0; y1 < MAX_HGT; y1++) @@ -217,9 +214,6 @@ static int generate_area(int y, int x, bool_ border, bool_ corner) plasma_recursive(1, 1, MAX_WID - 2, MAX_HGT - 2, MAX_WILD_TERRAIN - 1, roughness); } - /* Use the complex RNG */ - Rand_quick = FALSE; - for (y1 = 1; y1 < MAX_HGT - 1; y1++) { for (x1 = 1; x1 < MAX_WID - 1; x1++) @@ -229,6 +223,8 @@ static int generate_area(int y, int x, bool_ border, bool_ corner) } } + /* Change back to "complex" RNG */ + set_complex_rng(); } /* Should we create a town ? */ @@ -297,11 +293,8 @@ static int generate_area(int y, int x, bool_ border, bool_ corner) } } - /* Hack -- Use the "simple" RNG */ - Rand_quick = TRUE; - /* Hack -- Induce consistant town layout */ - Rand_value = wild_map[y][x].seed; + set_quick_rng(wild_map[y][x].seed); entrance = wf_info[wild_map[y][x].feat].entrance; if (!entrance) entrance = wild_map[y][x].entrance; @@ -320,7 +313,7 @@ static int generate_area(int y, int x, bool_ border, bool_ corner) } /* Use the complex RNG */ - Rand_quick = FALSE; + set_complex_rng(); /* MEGA HACK -- set at least one floor grid */ for (y1 = 1; y1 < cur_hgt - 1; y1++) |