From 53a3cd6d8c57a1f3f10a96a815196b3dd2024fe8 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Tue, 14 Jun 2011 12:42:47 +0000 Subject: [PATCH] Limit gamma setting add tstring:extractLines() git-svn-id: http://svn.net-core.org/repos/t-engine4@3645 51575b47-30f0-44d4-a5cc-537603b46e54 --- .../default/engine/dialogs/VideoOptions.lua | 5 +++-- game/engines/default/engine/utils.lua | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/game/engines/default/engine/dialogs/VideoOptions.lua b/game/engines/default/engine/dialogs/VideoOptions.lua index 57ffc7bdca..9c409ebf7e 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 c7edf150a4..f2b5512558 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() -- GitLab