diff --git a/data/text/dialogues.lua b/data/text/dialogues.lua index da8aa7f9ce..55b792167b 100644 --- a/data/text/dialogues.lua +++ b/data/text/dialogues.lua @@ -25,10 +25,6 @@ _("Obsidian Cookbook Recipe for Doom #666 - [REDACTED]\n\nCreate a map pack of [ -- -_("Did you know?\n\nIf you don't feel like backtracking or navigating levels with multiple deep paths and potential dead ends, Linear Mode will create levels that just go from point A to point B!"), - --- - _("Did you know?\n\nNature Mode generates levels that are entirely Parks and/or Caves. Who said you needed to go outside to experience outside?"), -- diff --git a/games/doom/levels.lua b/games/doom/levels.lua index 4b687e27c2..8fa2211131 100644 --- a/games/doom/levels.lua +++ b/games/doom/levels.lua @@ -300,20 +300,13 @@ function DOOM.get_levels() local selected_mode = rand.pick(special_mode) if selected_mode == "streets" then LEV.has_streets = true - LEV.is_linear = false - LEV.is_nature = false - elseif selected_mode == "linear" then - LEV.has_streets = false - LEV.is_linear = true LEV.is_nature = false else LEV.has_streets = false - LEV.is_linear = false LEV.is_nature = true end else LEV.has_streets = false - LEV.is_linear = false LEV.is_nature = false end diff --git a/games/doom/x_doom1.lua b/games/doom/x_doom1.lua index 708f1ade96..408b8efc22 100644 --- a/games/doom/x_doom1.lua +++ b/games/doom/x_doom1.lua @@ -5302,12 +5302,6 @@ function ULTDOOM.get_levels() end if not LEV.prebuilt then - if PARAM.float_linear_mode then - if rand.odds(PARAM.float_linear_mode) then - LEV.is_linear = true - end - end - -- nature mode if PARAM.float_nature_mode then if rand.odds(PARAM.float_nature_mode) then diff --git a/games/heretic/levels.lua b/games/heretic/levels.lua index 99e9b3af0f..793fc74cbb 100644 --- a/games/heretic/levels.lua +++ b/games/heretic/levels.lua @@ -277,20 +277,13 @@ function HERETIC.get_levels() local selected_mode = rand.pick(special_mode) if selected_mode == "streets" then LEV.has_streets = true - LEV.is_linear = false - LEV.is_nature = false - elseif selected_mode == "linear" then - LEV.has_streets = false - LEV.is_linear = true LEV.is_nature = false else LEV.has_streets = false - LEV.is_linear = false LEV.is_nature = true end else LEV.has_streets = false - LEV.is_linear = false LEV.is_nature = false end diff --git a/modules/iwad_mode.lua b/modules/iwad_mode.lua index 3945dde1b8..495224c3ab 100644 --- a/modules/iwad_mode.lua +++ b/modules/iwad_mode.lua @@ -977,7 +977,6 @@ function IWAD_MODE.begin_level(self, LEVEL) LEVEL.size_multiplier = 0.75 LEVEL.has_streets = true -- Its shape implies this LEVEL.is_nature = false - LEVEL.is_linear = false LEVEL.sky_light = 144 LEVEL.squareishness = 55 LEVEL.description = "The " .. rand.key_by_probs(nt.URBAN.lexicon.n) @@ -989,7 +988,6 @@ function IWAD_MODE.begin_level(self, LEVEL) LEVEL.sky_light = 128 LEVEL.has_streets = true LEVEL.is_nature = false - LEVEL.is_linear = false LEVEL.description = rand.key_by_probs(nt.URBAN.lexicon.a) .. " Downtown" LEVEL.squareishness = 60 LEVEL.room_height_style = "tall" @@ -1010,7 +1008,6 @@ function IWAD_MODE.begin_level(self, LEVEL) LEVEL.sky_light = 160 LEVEL.has_streets = true -- Shaped enough for this LEVEL.is_nature = false - LEVEL.is_linear = false LEVEL.description = rand.key_by_probs(nt.URBAN.lexicon.a) .. " Industrial Zone" LEVEL.squareishness = 55 LEVEL.room_height_style = "tall" @@ -1021,7 +1018,6 @@ function IWAD_MODE.begin_level(self, LEVEL) LEVEL.size_consistency = "normal" LEVEL.has_streets = true LEVEL.is_nature = false - LEVEL.is_linear = false LEVEL.sky_light = 144 LEVEL.squareishness = 30 LEVEL.room_height_style = "normal" diff --git a/modules/miscellaneous.lua b/modules/miscellaneous.lua index ae4e0dfc94..74f2af019a 100644 --- a/modules/miscellaneous.lua +++ b/modules/miscellaneous.lua @@ -242,21 +242,6 @@ OB_MODULES["misc"] = randomize_group="architecture" }, - { - name = "float_linear_mode", - label = _("Linear Mode"), - valuator = "slider", - units = _("% Chance Per Level"), - min = 0, - max = 100, - increment = 1, - default = 0, - tooltip = _("Creates linear levels, where rooms are connected along a linear layout from start to exit."), - longtip = _("Due to the nature of linear levels, you may encounter teleports even if you have teleports off. This is necessary in order for linear levels not to prematuraly terminate and therefore become stunted i.e. only have 2-5 rooms."), - randomize_group="architecture", - priority = 98 - }, - { name = "float_nature_mode", label = _("Nature Mode"), diff --git a/scripts/grower.lua b/scripts/grower.lua index 35b2024103..a0f4d2333c 100644 --- a/scripts/grower.lua +++ b/scripts/grower.lua @@ -1179,10 +1179,6 @@ function Grower_decide_extents(LEVEL) gui.printf("--==| Streets Mode activated! |==--\n\n") end - if LEVEL.is_linear then - gui.printf("--==| Linear mode activated! |==--\n\n") - end - if LEVEL.is_nature then gui.printf("--==| Nature mode activated! Take a walk! |==--\n\n") end @@ -1770,11 +1766,6 @@ function Grower_grammatical_pass(SEEDS, LEVEL, R, pass, apply_num, stop_prob, if not is_emergency then return 0 end end - -- hallways cannot be used for teleporter breaks in Linear Mode - if LEVEL.is_linear and is_emergency then - if string.match(rule.name, "hallway") then return 0 end - end - if not ob_match_level_theme(LEVEL, rule) then return 0 end if not ob_match_feature(rule) then return 0 end @@ -1848,7 +1839,7 @@ function Grower_grammatical_pass(SEEDS, LEVEL, R, pass, apply_num, stop_prob, if R.is_street then return 0 end - if (LEVEL.has_linear_start or LEVEL.is_linear) then + if LEVEL.has_linear_start then if R.is_start then return 0 end if not R.grow_parent and not R.is_start then return 0 @@ -3729,22 +3720,6 @@ end break; end - -- Linear Mode - if LEVEL.is_linear then - - if pass == "sprout" then - - if R:prelim_conn_num(LEVEL) >= 2 then - break; - end - - if R.is_start and R:prelim_conn_num(LEVEL) >= 1 then - break; - end - - end - end - if LEVEL.has_linear_start then if pass == "sprout" then if not R.is_street and R:prelim_conn_num(LEVEL) >= 1 and R.is_start then @@ -3795,10 +3770,6 @@ function Grower_grammatical_room(SEEDS, LEVEL, R, pass, is_emergency) apply_num = rand.irange(6,20) end - if LEVEL.is_linear then - apply_num = 1 - end - elseif pass == "decorate" then -- TODO: review this (and stop_prob), see what works best local tmp_num = sel(R.is_big, 10, 6) @@ -4000,16 +3971,9 @@ function Grower_grow_room(SEEDS, LEVEL, R) if R.is_root then return false end - -- MSSP: Unless we're in linear mode, where - -- the map must continue growing elsewhere - -- or in Procedural Gotchas where the arena - -- is much too small. if LEVEL.is_procedural_gotcha then return R:calc_walk_vol() < 128 end - if LEVEL.is_linear then - return false - end return R:calc_walk_vol() < 8 end @@ -4024,7 +3988,7 @@ function Grower_grow_room(SEEDS, LEVEL, R) if not R.is_hallway and is_too_small(R) then Grower_grammatical_room(SEEDS, LEVEL, R, "grow") - if is_too_small(R) and not LEVEL.is_linear then + if is_too_small(R) then if R.grow_parent and R.grow_parent.is_start and R.small_room then return @@ -4036,24 +4000,11 @@ function Grower_grow_room(SEEDS, LEVEL, R) end end - -- Linear Mode, kill mirrored sprouts of symmetric rooms - if LEVEL.is_linear then - if R.grow_parent then - if R.grow_parent:prelim_conn_num(LEVEL) > 2 then - if R.prelim_conn_num == 1 then - gui.debugf("Linear mode: ROOM_" .. R.id .. " culled.\n") - Grower_kill_room(SEEDS, LEVEL, R) - return - end - end - end - end - - if LEVEL.is_linear or LEVEL.is_procedural_gotcha then + if LEVEL.is_procedural_gotcha then if R.grow_parent and R.grow_parent.is_start then if R.grow_parent:prelim_conn_num(LEVEL) > 1 then if R.prelim_conn_num == 1 then - gui.debugf("Linear mode: ROOM " .. R.id .. " culled.\n") + gui.debugf("Procedural Gotcha: ROOM " .. R.id .. " culled.\n") Grower_kill_room(SEEDS, LEVEL, R) end end @@ -4274,12 +4225,6 @@ function Grower_begin_trunks(LEVEL, SEEDS) end end - -- ignore teleporter style setting for linear mode - -- don't you get enough teleporters already anyway?! - if LEVEL.is_linear then - max_trunks = 1 - end - LEVEL.trunks = {} LEVEL.max_trunks = max_trunks @@ -4607,7 +4552,7 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", expand_limits() emergency_sprouts() - if LEVEL.is_linear and not LEVEL.is_procedural_gotcha + if not LEVEL.is_procedural_gotcha and (#LEVEL.rooms < ((LEVEL.min_rooms + LEVEL.max_rooms) / 2)) then if emergency_linear_sprouts() == "oof" then emergency_teleport_break(LEVEL) diff --git a/scripts/level.lua b/scripts/level.lua index 79ab21e6e8..53970ffe0d 100644 --- a/scripts/level.lua +++ b/scripts/level.lua @@ -54,7 +54,6 @@ prebuilt -- true if level will is prebuilt (not generated) is_procedural_gotcha -- true if this level is a special Procedural Gotcha arena - is_linear -- true if this level is linear, as in no branching rooms is_nature -- true if this level is entirely parks and caves has_streets -- true if this level contains Street Mode streets @@ -2702,7 +2701,7 @@ function Level_make_level(LEV) if coverage_target == 0 then coverage_target = LEVEL.min_coverage end - if not LEVEL.is_linear and not SHAPE_GRAMMAR.ignore_coverage then + if not SHAPE_GRAMMAR.ignore_coverage then if LEVEL.cur_coverage < coverage_target then res = "runt" end