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