-- Example Yoink Configuration File
--- vim: ft=lua ts=4
print "loading default settings..."
--- Set the level of detail to use when drawing scenes. This can be 1, 2 or
--- 3, where 1 shows the least amount of detail and 3 draws the scene with
--- the most detail.
+-- Set the level of detail to use when drawing scenes. This can be 1, 2 or 3,
+-- where 1 shows the least amount of detail and 3 draws the scene with the
+-- most detail. Lower levels of detail may improve performance on slower
+-- machines.
-detail = 3
+detail = 3
--- Set the number of times each second the physics state will be updated. A
--- value of 100 or higher is ideal for accurate physics approximations. Values
--- that are much lower cause the CPU to do less work, but accuracy will suffer.
--- Errors could be introduced in the game with extremely low values.
+-- Set the number of times each second the physics state will be updated. The
+-- quality of the physics simulation will increase as you increase this value,
+-- but the processor will be taxed more. Errors could be introduced in the
+-- game with extremely low values.
-timestep = 80
+timestep = 100
--- Set the maximum number of frames that can be drawn per second. A value
--- of 50 is pretty good. If your computer is really old, you can get away
--- with decreasing this value and still have reasonably smooth animation.
--- You can set this to a very high number to effectively render as many
--- frames as is possible, but the actual rate could be limited by vertical
--- display synchronization, depending on the X11 driver and settings used.
--- You should not set this option higher than the point where the vertical
--- synchronization effectively limits the draw rate or else the game may
--- not be able to update the physics on schedule which could actually
--- significantly lower the quality of the animation.
+-- Set the target number of frames that should be drawn per second. The
+-- smoothness of the animation increases as you increase this value. You
+-- probably want to set this somewhere in the 25-200 range, depending on how
+-- much work you want your computer to do. For example, if you're on battery
+-- power, you might prefer 25 which is still reasonably smooth and will
+-- decrease battery drain significantly. You can also set this to an
+-- arbitrarily high number to effectively draw as many frames as possible, but
+-- your actual framerate might be limited by the refresh rate of your display;
+-- use the swapcontrol setting to enable or disable this behavior. You can
+-- determine your actual framerate with the showfps option.
-maxfps = timestep / 2
+framerate = 60
--- Set whether or not to print the current actual framerate to the console.
+-- Set this to show the current frames per second in the window caption.
-printfps = false
+showfps = false
--- Set whether or not the game will run in full-screen mode. If false, the
--- game will run in a window.
+-- Set this to run the game in full-screen mode. The default behavior is to
+-- run the game in a window.
-fullscreen = false
+fullscreen = false
--- If the game is running in a window, set whether or not the window will
--- be resizable.
+-- If the game is running in a window, set this to also make the window
+-- resizable. This has no effective if the fullscreen option is set.
-resizable = true
+resizable = true
--- Set the resolution or size of the window. The value is an array with
--- three number elements representing the width, height, and bits per pixel
--- that make up the video mode. A typical value is 800,600 for a size of
--- 800x600 pixels with millions of colors (the third number is optional).
+-- Set the display resolution or size of the viewing window. If left at the
+-- default value (a function), the video mode will only be set if we're not in
+-- fullscreen. That way, a native resolution will be used.
-videomode = {800, 600}
+videomode = function()
+ if not fullscreen then return {800, 600} end
+end
--- Set whether or not the cursor will be visible when you mouse over the
--- display of the game.
+-- Set this to use double-buffering to improve animation quality. You really
+-- don't want to turn this off.
-showcursor = true
+doublebuffer = true
--- Set whether or not the drawing should use two buffers. This results in
--- a higher quality animation. You should usually leave this as true.
+-- Set this to sync with the refresh rate of your display. Your framerate
+-- will be limited to the refresh rate, but you may experience less tearing
+-- caused by the display vertical refresh. On the other hand, you might
+-- experience worse tearing, depending on your setup. Try it both ways.
-doublebuffer = true
+swapcontrol = false
+
+-- Set this to the number of FSAA samples to perform. This will smooth out
+-- jagged lines but may reduce framerates on slow hardware. Possible values
+-- depend on your video card and drivers, but typical values include 1, 2, 4,
+-- and higher powers of two. Set to 0 to disable FSAA.
+
+multisamples = 0
+
+-- Set the level of log detail that will be output to the console. Possible
+-- values are:
+-- 0 nothing
+-- 1 errors
+-- 2 warnings
+-- 3 info
+-- 4 debug messages
+
+loglevel = 2
--- Set whether or not to sync with the display in order to reduce
--- distortion.
-swapcontrol = true
+-- vi:ft=lua