Add ambient light in graphics options

This commit is contained in:
Eduardo Bart 2012-11-30 14:47:53 -02:00
parent 5fed08b17e
commit ce6423320e
4 changed files with 34 additions and 1 deletions

View File

@ -95,3 +95,22 @@ Panel
minimum: 1
maximum: 61
Label
id: ambientLightLabel
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 6
@onSetup: |
local value = Options.getOption('ambientLight')
self:setText(tr('Ambient light: %s%%', value))
FrameRateScrollbar
id: ambientLight
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 3
minimum: 0
maximum: 100

View File

@ -21,6 +21,7 @@ local defaultOptions = {
showLeftPanel = false,
foregroundFrameRate = 61,
backgroundFrameRate = 201,
ambientLight = 15,
painterEngine = 0
}
@ -177,6 +178,17 @@ function Options.setOption(key, value)
graphicsPanel:getChildById('foregroundFrameRateLabel'):setText(tr('Interface framerate limit: %s', text))
end
g_app.setForegroundPaneMaxFps(value)
elseif key == 'ambientLight' then
addEvent(function()
local map = rootWidget:recursiveGetChildById('gameMapPanel')
if graphicsPanel then
graphicsPanel:getChildById('ambientLightLabel'):setText(tr('Ambient light: %s%%', value))
end
if map then
map:setMinimumAmbientLight(value/100)
map:setDrawLights(value < 100)
end
end)
elseif key == 'painterEngine' then
g_graphics.selectPainterEngine(value)
end

View File

@ -17,7 +17,7 @@ OptionCheckBox < CheckBox
MainWindow
id: optionsWindow
!text: tr('Options')
size: 350 290
size: 350 310
@onEnter: Options.hide()
@onEscape: Options.hide()

View File

@ -658,6 +658,8 @@ void MapView::setDrawMinimapColors(bool enable)
void MapView::setDrawLights(bool enable)
{
if(enable == m_drawLights)
return;
if(enable)
m_lightView = LightViewPtr(new LightView);
else