id summary reporter owner description type status priority milestone component resolution keywords cc phab_field 4947 Converge rmgen1 and rmgen2 elexis "Follow up to comment:3:ticket:4804. `rmgen2` should probably have the globals removed, especially `g_TileClasses` and each map should specify the used tileclasses, even if there are some very common definitions IMO. This way the library functions don't have any state but their output solely depends on the passed arguments, making it easier to understand their results (for instance which properties of `g_TileClasses` are unused by a map). This means `rmgen2` becomes a bit more similar to `rmgen1`. Equally `rmgen2` functions, especially`addElements` could be used by `rmgen1` maps. After that `rmgen2`, `rmgen/gaia_entities.js`, `rmgen/gaia_terrain.js`, `rmgen/player.js` and `rmgen/wall_builder.js` might form a new library (**Layer 3** in the ticket comment), whereas the remaining `rmgen` prototypes (Painters, Placers, Constraint, Map, ...) would become the **Layer 2** of the rmgen stack. This way mods can create random map scripts that reuse reuse the basic map creation tools without importing a dictionary of ancient history rts terms. " defect new Nice to Have Backlog Maps