diff --git a/game/engines/default/engine/dialogs/VideoOptions.lua b/game/engines/default/engine/dialogs/VideoOptions.lua index 57ffc7bdca1fb5bb43f23e9d9a1b9baf429602c2..9c409ebf7e19b9c3a483039d015802614adb5071 100644 --- a/game/engines/default/engine/dialogs/VideoOptions.lua +++ b/game/engines/default/engine/dialogs/VideoOptions.lua @@ -136,12 +136,13 @@ function _M:generateList() list[#list+1] = { zone=zone, name=string.toTString"#GOLD##{bold}#Gamma correction#WHITE##{normal}#", status=function(item) return tostring(config.settings.gamma_correction) end, fct=function(item) - game:registerDialog(GetQuantity.new("Gamma correction", "From 1 to 300", config.settings.gamma_correction, 300, function(qty) + game:registerDialog(GetQuantity.new("Gamma correction", "From 50 to 300", config.settings.gamma_correction, 300, function(qty) + qty = util.bound(qty, 50, 300) game:saveSettings("gamma_correction", ("gamma_correction = %d\n"):format(qty)) config.settings.gamma_correction = qty core.display.setGamma(config.settings.gamma_correction / 100) self.c_list:drawItem(item) - end), 1) + end), 50) end,} self.list = list diff --git a/game/engines/default/engine/utils.lua b/game/engines/default/engine/utils.lua index c7edf150a496bbe7733bb28b1478ee24459329f2..f2b55125588e4029440aca6e7f0eb4754928d2e1 100644 --- a/game/engines/default/engine/utils.lua +++ b/game/engines/default/engine/utils.lua @@ -707,6 +707,24 @@ function tstring:tokenize(tokens) return ret end +function tstring:extractLines() + local rets = {} + local ret = tstring{} + local v, tv + for i = 1, #self do + v = self[i] + tv = type(v) + if tv == true then + rets[#rets+1] = ret + ret = tstring{} + else + ret[#ret+1] = v + end + end + rets[#rets+1] = ret + return rets +end + function tstring:makeLineTextures(max_width, font, no_split, r, g, b) local list = no_split and self or self:splitLines(max_width, font) local fh = font:lineSkip()