diff --git a/game/engines/default/engine/Game.lua b/game/engines/default/engine/Game.lua
index b2f40c7da6fc23ba062dcd5bcc6db6a53bb19004..d49aa0493f8dae5ebbd9ddd52af1c7ed3619922e 100644
--- a/game/engines/default/engine/Game.lua
+++ b/game/engines/default/engine/Game.lua
@@ -230,11 +230,18 @@ available_resolutions =
 	["1600x1200 Fullscreen"] = {1600, 1200, true},
 }
 --- Change screen resolution
-function _M:setResolution(res)
-	if not available_resolutions[res] then return false, "unknown resolution" end
+function _M:setResolution(res, force)
+	local r = available_resolutions[res]
+	if force and not r then
+		local _, _, w, h = res:find("([0-9][0-9][0-9]+)x([0-9][0-9][0-9]+)")
+		w = tonumber(w)
+		h = tonumber(h)
+		if w and h then r = {w, h, false} end
+	end
+	if not r then return false, "unknown resolution" end
 
 	local old_w, old_h = self.w, self.h
-	core.display.setWindowSize(available_resolutions[res][1], available_resolutions[res][2], available_resolutions[res][3])
+	core.display.setWindowSize(r[1], r[2], r[3])
 	self.w, self.h = core.display.size()
 
 	if self.w ~= old_w or self.h ~= old_h then
@@ -247,6 +254,7 @@ end
 --- Called when screen resolution changes
 function _M:onResolutionChange()
 	self.w, self.h = core.display.size()
+	self:saveSettings("resolution", ("window.size = %dx%d\n"):format(self.w, self.h))
 end
 
 --- Requests the game to save
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 04cf784562acdcf19a206bf10a75b509ddfa9a3f..9fc27a6eb7dcfe30e38ff42cbe805c3950d00206 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -203,6 +203,11 @@ function _M:updateMainShader()
 		else game.fbo_shader:setUniform("colorize", {0,0,0}) -- Disable
 		end
 
+		-- Blur shader
+		if self:attr("confused") then game.fbo_shader:setUniform("blur", 2)
+		else game.fbo_shader:setUniform("blur", 0) -- Disable
+		end
+
 		-- Moving Blur shader
 		if self:attr("invisible") then game.fbo_shader:setUniform("motionblur", 3)
 		else game.fbo_shader:setUniform("motionblur", 0) -- Disable