Skip to content
Snippets Groups Projects
Commit 1d09ff9d authored by dg's avatar dg
Browse files

gfxmode is now persistent

git-svn-id: http://svn.net-core.org/repos/t-engine4@372 51575b47-30f0-44d4-a5cc-537603b46e54
parent 80ad6379
No related branches found
No related tags found
No related merge requests found
......@@ -139,6 +139,16 @@ function _M:getSaveDescription()
}
end
--- Save a settings file
function _M:saveSettings(file, data)
local restore = fs.getWritePath()
fs.setWritePath(engine.homepath)
local f = fs.open("/settings/"..file..".cfg", "w")
f:write(data)
f:close()
if restore then fs.setWritePath(restore) end
end
available_resolutions =
{
["800x600"] = {800, 600},
......@@ -157,12 +167,7 @@ function _M:setResolution(res)
if self.w ~= old_w or self.h ~= old_h then
self:onResolutionChange()
local restore = fs.getWritePath()
fs.setWritePath(engine.homepath)
local f = fs.open("/settings/resolution.cfg", "w")
f:write(("window.size = %q\n"):format(res))
f:close()
if restore then fs.setWritePath(restore) end
self:saveSettings("resolution", ("window.size = %q\n"):format(res))
end
end
......
......@@ -82,6 +82,7 @@ function _M:newGame()
self.zone = Zone.new("wilderness")
self.player = Player.new{name=self.player_name}
Map:setViewerActor(self.player)
self:setupDisplayMode()
local birth = Birther.new(self.player, {"base", "race", "subrace", "sex", "class", "subclass" }, function()
self.player.wild_x, self.player.wild_y = self.player.default_wilderness[2], self.player.default_wilderness[3]
......@@ -112,26 +113,32 @@ function _M:onResolutionChange()
end
function _M:setupDisplayMode()
self.gfxmode = self.gfxmode or 1
self.gfxmode = self.gfxmode or config.settings.tome.gfxmode or 1
if self.gfxmode == 1 then
print("[DISPLAY MODE] 32x32")
Map:setViewPort(200, 20, self.w - 200, math.floor(self.h * 0.80) - 20, 32, 32, nil, 20, true)
Map:resetTiles()
Map.tiles.use_images = true
self.level.map:recreate()
elseif self.gfxmode == 2 then
print("[DISPLAY MODE] 16x16")
Map:setViewPort(200, 20, self.w - 200, math.floor(self.h * 0.80) - 20, 16, 16, nil, 14, true)
Map:resetTiles()
Map.tiles.use_images = true
self.level.map:recreate()
elseif self.gfxmode == 3 then
print("[DISPLAY MODE] ASCII")
Map:setViewPort(200, 20, self.w - 200, math.floor(self.h * 0.80) - 20, 16, 16, nil, 14, false)
Map:resetTiles()
Map.tiles.use_images = false
else
print("[DISPLAY MODE] ????", self.gfxmode)
end
if self.level then
self.level.map:recreate()
self.target = Target.new(Map, self.player)
self.target.target.entity = self.player
self.level.map:moveViewSurround(self.player.x, self.player.y, 8, 8)
end
self.target = Target.new(Map, self.player)
self.target.target.entity = self.player
self.level.map:moveViewSurround(self.player.x, self.player.y, 8, 8)
self:saveSettings("tome.gfxmode", ("tome.gfxmode = %d\n"):format(self.gfxmode))
end
function _M:save()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment