From 996488ca7e396e5fb4ceaa2ee86a5a57e6c5ecbe Mon Sep 17 00:00:00 2001 From: floppy Date: Thu, 10 Feb 2022 09:58:14 +0100 Subject: [PATCH] remove unnecessary, vec!s from namgen bricks --- world/src/site/namegen.rs | 127 +++++++++++++++++--------------------- 1 file changed, 57 insertions(+), 70 deletions(-) diff --git a/world/src/site/namegen.rs b/world/src/site/namegen.rs index a4b7460019..121dd6ca60 100644 --- a/world/src/site/namegen.rs +++ b/world/src/site/namegen.rs @@ -56,21 +56,18 @@ impl<'a, R: Rng> NameGen<'a, R> { // biome naming // generic pub fn generate_biome(self) -> String { - let cons = vec![ + let start = [ "b", "d", "f", "g", "h", "k", "l", "m", "n", "s", "t", "w", "br", "dr", "gr", "gh", "kh", "kr", "st", "str", "th", "tr", "ar", "ark", "adr", "ath", "an", "el", "elb", "eldr", "estr", "ostr", "ond", "ondr", "ul", "uld", "eld", "eldr", ]; - let start = cons.clone(); - let mid = vec![ + let middle = [ "br", "d", "dr", "dn", "dm", "fr", "g", "gr", "gl", "k", "kr", "l", "ll", "m", "mm", "n", "nn", "nd", "st", "th", "rw", "nw", "thr", "lk", "nk", "ng", "rd", "rk", "nr", - "nth", "rth", "kn", "rl", "gg", "lg", "str", "nb", "lb", "ld", "rm", "sd", "sb", + "nth", "rth", "kn", "rl", "gg", "lg", "str", "nb", "lb", "ld", "rm", "sd", "sb", "tt", ]; - let mut middle = mid.clone(); - middle.extend(vec!["tt"]); - let vowel = vec!["o", "e", "a", "u", "ae"]; - let end = vec![ + let vowel = ["o", "e", "a", "u", "ae"]; + let end = [ "ul", "um", "un", "uth", "und", "ur", "an", "a", "ar", "a", "amar", "amur", "ath", "or", "on", "oth", "omor", "omur", "omar", "ador", "odor", "en", "end", "eth", "amon", "edur", "aden", "oden", "alas", "elas", "alath", "aloth", "eloth", "eres", "ond", @@ -128,16 +125,15 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_lake_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "f", "g", "d", "h", "c", "m", "l", "n", "p", "r", "s", "t", "w", "v", "z", "qu", "br", "bl", "ch", "chr", "dr", "dw", "fr", "fl", "gr", "gw", "pr", "pl", "st", "sl", "str", "sn", "sp", "spr", "sw", "tr", "wr", "as", "ast", "en", "end", "eld", "es", "on", "ond", "orn", "un", "und", "undr", "in", "ind", ]; - let start = cons.clone(); - let middle = vec!["b", "g", "d", "ch", "m", "l", "n", "p", "r", "s", "t", "v"]; - let vowel = vec!["e", "a", "i", "o", "u"]; - let end = vec![ + let middle = ["b", "g", "d", "ch", "m", "l", "n", "p", "r", "s", "t", "v"]; + let vowel = ["e", "a", "i", "o", "u"]; + let end = [ "oric", "aric", "eric", "ara", "ira", "ora", "era", "aron", "eron", "oron", "ugan", "igan", "adar", "edar", "agron", "udar", "alar", "ular", "imar", "amar", "iles", "ares", "odor", "odur", "azan", "uzan", "ichor", "olon", "anath", "oloth", "oroth", @@ -166,21 +162,20 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_grassland_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "f", "g", "d", "h", "c", "m", "l", "n", "p", "r", "s", "t", "w", "v", "z", "qu", "br", "bl", "ch", "chr", "dr", "dw", "fr", "fl", "gr", "gw", "pr", "pl", "st", "sl", "str", "sn", "sp", "spr", "sw", "tr", "wr", "ab", "abr", "al", "ald", "as", "ast", "amm", "ach", "adr", "en", "end", "eld", "end", "es", "amr", "on", "ond", "ochr", "orn", "ost", "ord", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "b", "g", "d", "c", "m", "l", "n", "p", "r", "s", "t", "v", "br", "ch", "chr", "dr", "gr", "pr", "st", "sl", "sn", "sp", "sw", "tr", "ghr", "mm", "n", "nn", "nd", "ln", "lm", "nr", "r", "rz", "lz", "ld", "rm", "sd", "rn", "ss", "sm", "rv", "lv", ]; - let vowel = vec!["e", "a", "i", "o", "ea", "au"]; - let end = vec![ + let vowel = ["e", "a", "i", "o", "ea", "au"]; + let end = [ "on", "oc", "ic", "oric", "aric", "eric", "elten", "alend", "alan", "aven", "elen", "estin", "ostin", "alic", "elic", "alon", "elon", "arac", "erac", "eden", "elen", "owan", "owen", "iel", "ien", "ing", "olm", "ulm", "ilm", "alm", "elm", "oria", "aria", @@ -207,16 +202,15 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_ocean_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "f", "g", "d", "h", "c", "m", "l", "n", "p", "r", "s", "t", "w", "v", "z", "qu", "br", "bl", "ch", "chr", "dr", "dw", "fr", "fl", "gr", "gw", "pr", "pl", "st", "sl", "str", "sn", "sp", "spr", "sw", "tr", "wr", "as", "ast", "en", "end", "eld", "es", "on", "ond", "orn", "un", "und", "undr", "in", "ind", ]; - let start = cons.clone(); - let middle = vec!["b", "g", "d", "ch", "m", "l", "n", "p", "r", "s", "t", "v"]; - let vowel = vec!["e", "a", "i", "o", "u"]; - let end = vec![ + let middle = ["b", "g", "d", "ch", "m", "l", "n", "p", "r", "s", "t", "v"]; + let vowel = ["e", "a", "i", "o", "u"]; + let end = [ "oric", "aric", "eric", "ara", "ira", "ora", "era", "aron", "eron", "oron", "ugan", "igan", "adar", "edar", "agron", "udar", "alar", "ular", "imar", "amar", "iles", "ares", "odor", "odur", "azan", "uzan", "ichor", "olon", "anath", "oloth", "oroth", @@ -245,19 +239,18 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_mountain_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "d", "f", "g", "h", "k", "l", "m", "n", "s", "t", "w", "br", "dr", "gr", "gh", "kh", "kr", "st", "str", "th", "tr", "ar", "ark", "adr", "ath", "an", "el", "elb", "eldr", "estr", "ostr", "ond", "ondr", "ul", "uld", "eld", "eldr", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "br", "d", "dr", "dn", "dm", "fr", "g", "gr", "gl", "k", "kr", "l", "ll", "m", "mm", "n", "nn", "nd", "st", "th", "rw", "nw", "thr", "lk", "nk", "ng", "rd", "rk", "nr", "nth", "rth", "kn", "rl", "gg", "lg", "str", "nb", "lb", "ld", "rm", "sd", "sb", ]; - let vowel = vec!["o", "e", "a", "u", "ae"]; - let end = vec![ + let vowel = ["o", "e", "a", "u", "ae"]; + let end = [ "ul", "um", "un", "uth", "und", "ur", "an", "a", "ar", "a", "amar", "amur", "ath", "or", "on", "oth", "omor", "omur", "omar", "ador", "odor", "en", "end", "eth", "amon", "edur", "aden", "oden", "alas", "elas", "alath", "aloth", "eloth", "eres", "ond", @@ -286,19 +279,18 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_snowland_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "d", "f", "g", "h", "k", "l", "m", "n", "s", "t", "w", "br", "dr", "gr", "gh", "kh", "kr", "st", "str", "th", "tr", "ar", "ark", "adr", "ath", "an", "el", "elb", "eldr", "estr", "ostr", "ond", "ondr", "ul", "uld", "eld", "eldr", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "br", "d", "dr", "dn", "dm", "fr", "g", "gr", "gl", "k", "kr", "l", "ll", "m", "mm", "n", "nn", "nd", "st", "th", "rw", "nw", "thr", "lk", "nk", "ng", "rd", "rk", "nr", "nth", "rth", "kn", "rl", "gg", "lg", "str", "nb", "lb", "ld", "rm", "sd", "sb", ]; - let vowel = vec!["o", "e", "a", "u", "ae"]; - let end = vec![ + let vowel = ["o", "e", "a", "u", "ae"]; + let end = [ "ul", "um", "un", "uth", "und", "ur", "an", "a", "ar", "a", "amar", "amur", "ath", "or", "on", "oth", "omor", "omur", "omar", "ador", "odor", "en", "end", "eth", "amon", "edur", "aden", "oden", "alas", "elas", "alath", "aloth", "eloth", "eres", "ond", @@ -327,18 +319,17 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_desert_custom(&mut self) -> String { - let cons = vec![ + let start = [ "j", "k", "m", "l", "n", "h", "t", "z", "f", "sh", "s", "q", "z", "y", "gh", "r", "ed", "abg", "ab", "al", "b", "d", "alm", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "j", "k", "m", "l", "n", "h", "t", "w", "z", "r", "f", "sh", "s", "q", "z", "y", "gh", "b", "d", "lf", "lsh", "zd", "br", "lb", "mr", "th", "bd", "db", "ks", "ksh", "nb", "st", "my", "kh", "khl", "zr", "thr", "hm", "hk", "yb", "hb", "hd", ]; - let vowel = vec!["e", "a", "i", "u", "ai", "ua"]; - let end = vec![ + let vowel = ["e", "a", "i", "u", "ai", "ua"]; + let end = [ "ejaz", "adaqas", "ahrain", "emen", "ahduri", "abna", "araq", "akhm", "atafan", "alik", "ajd", "uda", "ara", "asqa", "uda", "uha", "amin", "iman", "anis", "ayma", "almud", "ubal", "ammad", "ammud", "amir", "anaf", "afan", "aila", "amma", "ahra", "akhla", @@ -387,19 +378,18 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_jungle_custom(&mut self) -> String { - let cons = vec![ + let start = [ "j", "k", "m", "l", "n", "p", "h", "t", "v", "z", "s", "x", "tl", "izt", "qu", "z", "y", "tz", "om", "az", "aztl", "ch", "azt", "aw", "c", "uax", "ax", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "k", "m", "l", "n", "p", "n", "h", "t", "v", "z", "s", "tl", "qu", "z", "y", "tl", "ch", "c", "j", "tz", "lc", "lk", "kt", "cn", "xm", "xp", "mn", "c", "k T", "n Y", "n P", "k P", "k X", "n K", "n H", "h P", "h K", "k J", "k Ch", "n J", "n Ch", "k P", "h J", ]; - let vowel = vec!["e", "a", "i", "o", "u", "aa", "ui", "uu", "oa", "ai", "ua"]; - let end = vec![ + let vowel = ["e", "a", "i", "o", "u", "aa", "ui", "uu", "oa", "ai", "ua"]; + let end = [ "ibalba", "alba", "oztoc", "ictlan", "itlan", "epetl", "opetl", "ocan", "aztlan", "allan", "illan", "atz", "oyoi", "ahau", "azotz", "agual", "acna", "acan", "axtab", "ixtab", "apeku", "ivo", "otec", "oyotl", "oatl", "icue", "aax", "iyalo", "aac", @@ -429,19 +419,18 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_forest_custom(&mut self) -> String { - let cons = vec![ + let start = [ "d", "f", "h", "l", "m", "n", "r", "s", "t", "w", "v", "z", "st", "th", "thr", "str", "vr", "wr", "an", "and", "ald", "ath", "as", "all", "amm", "an", "az", "en", "end", "eld", "eldr", "es", "ell", "aldr", "astr", "estr", "on", "ond", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "th", "d", "dr", "sl", "sm", "rw", "rv", "l", "ll", "m", "mm", "n", "nn", "nd", "ndr", "thr", "nth", "ln", "lm", "lz", "nz", "nr", "str", "sth", "ld", "rm", "sd", "rn", "ss", "sn", "lw", "lv", "th", "rw", "nw", "r", "rth", "rz", ]; - let vowel = vec!["o", "e", "a", "u", "ae"]; - let end = vec![ + let vowel = ["o", "e", "a", "u", "ae"]; + let end = [ "anir", "enir", "elen", "alen", "ezen", "azen", "yn", "andir", "endir", "ond", "alar", "ales", "eles", "arain", "alain", "anuin", "athuin", "aruin", "yr", "ethuin", "eruin", "athul", "edor", "edes", "edus", "inyr", "eden", "azar", "atiel", "etiel", "etien", @@ -469,18 +458,17 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_savannah_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "d", "nz", "g", "mb", "k", "m", "l", "n", "nt", "ng", "t", "w", "z", "sh", "zw", "gb", "an", "on", "s", "nj", "x", "gb", "mp", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "b", "d", "nz", "g", "mb", "k", "m", "l", "n", "nt", "n", "ng", "t", "w", "z", "qu", "sh", "ngb", "nb", "nd", "np", "gd", "k", "gn", "n", "kt", "nw", "mz", "mp", "md", "kz", "ml", "ns", "j", "y", "nz", ]; - let vowel = vec!["e", "a", "i", "o", "u", "ou", "oa", "ai"]; - let end = vec![ + let vowel = ["e", "a", "i", "o", "u", "ou", "oa", "ai"]; + let end = [ "oko", "apa", "eke", "embe", "okele", "ambi", "oubou", "abwe", "amato", "otho", "iloko", "eloko", "adroa", "ansi", "umba", "ami", "ata", "uluku", "oluku", "ogbo", "odudu", "iwara", "itaka", "anuka", "ukasa", "usisi", "umbe", "anga", "emba", "ambe", @@ -509,21 +497,20 @@ impl<'a, R: Rng> NameGen<'a, R> { } pub fn generate_taiga_custom(&mut self) -> String { - let cons = vec![ + let start = [ "b", "f", "g", "d", "h", "c", "m", "l", "n", "p", "r", "s", "t", "w", "v", "z", "qu", "br", "bl", "ch", "chr", "dr", "dw", "fr", "fl", "gr", "gw", "pr", "pl", "st", "sl", "str", "sn", "sp", "spr", "sw", "tr", "wr", "ab", "abr", "al", "ald", "as", "ast", "amm", "ach", "adr", "en", "end", "eld", "end", "es", "amr", "on", "ond", "ochr", "orn", "ost", "ord", ]; - let start = cons.clone(); - let middle = vec![ + let middle = [ "b", "g", "d", "c", "m", "l", "n", "p", "r", "s", "t", "v", "br", "ch", "chr", "dr", "gr", "pr", "st", "sl", "sn", "sp", "sw", "tr", "ghr", "mm", "n", "nn", "nd", "ln", "lm", "nr", "r", "rz", "lz", "ld", "rm", "sd", "rn", "ss", "sm", "rv", "lv", ]; - let vowel = vec!["e", "a", "i", "o", "ea", "au"]; - let end = vec![ + let vowel = ["e", "a", "i", "o", "ea", "au"]; + let end = [ "on", "oc", "ic", "oric", "aric", "eric", "elten", "alend", "alan", "aven", "elen", "estin", "ostin", "alic", "elic", "alon", "elon", "arac", "erac", "eden", "elen", "owan", "owen", "iel", "ien", "ing", "olm", "ulm", "ilm", "alm", "elm", "oria", "aria", @@ -558,20 +545,20 @@ impl<'a, R: Rng> NameGen<'a, R> { // towns pub fn generate_town(mut self) -> String { - let start = vec![ + let start = [ "b", "f", "g", "d", "h", "c", "m", "l", "n", "p", "r", "s", "t", "w", "v", "z", "qu", "br", "bl", "ch", "chr", "dr", "dw", "fr", "fl", "gr", "gw", "pr", "pl", "st", "sl", "str", "sn", "sp", "spr", "sw", "tr", "wr", "ab", "abr", "al", "ald", "as", "ast", "amm", "ach", "adr", "en", "end", "eld", "end", "es", "amr", "on", "ond", "ochr", "orn", "ost", "ord", ]; - let middle = vec![ + let middle = [ "b", "g", "d", "c", "m", "l", "n", "p", "r", "s", "t", "v", "br", "ch", "chr", "dr", "gr", "pr", "st", "sl", "sn", "sp", "sw", "tr", "mm", "n", "nn", "nd", "ln", "lm", "nr", "r", "rz", "lz", "ld", "rm", "sd", "rn", "ss", "sm", "rv", "lv", ]; - let vowel = vec!["e", "a", "i", "o", "ea", "au"]; - let end = vec![ + let vowel = ["e", "a", "i", "o", "ea", "au"]; + let end = [ "on", "aton", "enton", "eau", "eaux", "erg", "enberg", "enburg", "oc", "ic", "oric", "aric", "eric", "ach", "aven", "elen", "andam", "endam", "estin", "ostin", "alic", "elic", "alon", "elon", "arac", "erac", "eden", "elen", "owan", "owen", "iel", "ien", @@ -585,7 +572,7 @@ impl<'a, R: Rng> NameGen<'a, R> { // greek-latin inspired location names for danari pub fn generate_danari(mut self) -> String { - let start = vec![ + let start = [ "d", "ph", "r", "st", "t", "s", "p", "th", "br", "tr", "m", "k", "cr", "phr", "dr", "pl", "ch", "l", "ap", "akr", "ak", "ar", "ath", "asp", "al", "aph", "aphr", "oph", "or", "ok", "on", "od", "oth", "om", "ep", "er", "em", "eph", "eth", "yps", "yph", @@ -595,17 +582,17 @@ impl<'a, R: Rng> NameGen<'a, R> { "pp", "ss", "th", "mm", "s", "t", "g", "mn", "rg", "b", "p", "ps", "kl", "dr", "mp", "sp", "cht", "lph", ]; - let middle = vec![ + let middle = [ "d", "ph", "r", "st", "t", "s", "p", "th", "br", "tr", "m", "k", "cr", "phr", "dr", "pl", "ch", "l", "ap", "akr", "ak", "ar", "ath", "asp", "al", "aph", "aphr", "oph", "or", "ok", "on", "od", "oth", "om", "ep", "er", "em", "eph", "eth", "yps", "yph", "ach", "amph", "yp", "ik", "is", "iph", "ith", "pr", "as", "asph", "ps", "b", "n", "z", "x", "kr", "kt", "cht", "chr", "thr", "dr", "pr", "pl", "h", "in", "g", "sph", ]; - let vowel = vec![ + let vowel = [ "o", "e", "a", "i", "y", "eo", "ae", "ea", "oi", "io", "ia", "aeo", ]; - let end = vec![ + let end = [ "ilia", "ilios", "os", "oros", "ophos", "elos", "ethos", "athos", "yros", "a", "ares", "aros", "olis", "ophis", "era", "ara", "ora", "antis", "entis", "ead", "aeon", "on", "eon", "oron", "ena", "is", "as", "eris", "eras", "inis", "aros", "in", "orea", "isis", @@ -618,15 +605,15 @@ impl<'a, R: Rng> NameGen<'a, R> { // primitive-orcish inspired location names for gnarling fortification pub fn generate_gnarling(mut self) -> String { - let start = vec!["gn", "kr", "k", "r", "t", "kn", "tr", "kt", "gr"]; - let middle = vec![ + let start = ["gn", "kr", "k", "r", "t", "kn", "tr", "kt", "gr"]; + let middle = [ "t", "tt", "k", "kk", "r", "r", "rl", "lm", "km", "tm", "kn", "kr", "tr", "nk", "gn", "kl", "kt", "lt", "arln", "ln", "k't", "k'n", "k'm", "g'm", "l'k", "t'n", "r'k", "n'kr", "k R", "t K", "rl Gn", "rl K", "k Gn", "t M", "t N", "r K", "r N", "k M", "k T", "rl T", "t Kn", "r Kn", ]; - let vowel = vec!["e", "a", "i", "o"]; - let end = vec![ + let vowel = ["e", "a", "i", "o"]; + let end = [ "arak", "orok", "arok", "orak", "attak", "akarl", "okarl", "atok", "anak", "etak", "orek", "arek", "atik", "arik", "etik", "arlak", "arlek", "otek", "almek", "arlnok", "arlnak", "okorl", "eknok", "ottok", "erlek", "akkat", "okkar", "attor", "ittor",