|
@@ -16,65 +16,19 @@ return {
|
|
|
description = "The table to edit the configuration settings on.",
|
|
|
table = {
|
|
|
{
|
|
|
- name = "identity",
|
|
|
+ name = "version",
|
|
|
type = "string",
|
|
|
- description = "A unique label for this project."
|
|
|
- },
|
|
|
- {
|
|
|
- name = "audio",
|
|
|
- type = "table",
|
|
|
- description = "Configuration for the audio module.",
|
|
|
- table = {
|
|
|
- {
|
|
|
- name = "spatializer",
|
|
|
- type = "string",
|
|
|
- description = "An audio spatializer to use (`simple`, `oculus`, or `phonon`). If `nil`, all of them are attempted.'"
|
|
|
- },
|
|
|
- {
|
|
|
- name = "start",
|
|
|
- type = "boolean",
|
|
|
- description = "Whether the playback device should be automatically started."
|
|
|
- }
|
|
|
- }
|
|
|
+ description = "The version of LÖVR this project targets (not used yet)."
|
|
|
},
|
|
|
{
|
|
|
- name = "headset",
|
|
|
- type = "table",
|
|
|
- description = "Configuration for the headset.",
|
|
|
- table = {
|
|
|
- {
|
|
|
- name = "drivers",
|
|
|
- type = "table",
|
|
|
- description = "An ordered list of preferred headset drivers."
|
|
|
- },
|
|
|
- {
|
|
|
- name = "msaa",
|
|
|
- type = "number",
|
|
|
- description = "The amount of antialiasing to use when rendering to the headset."
|
|
|
- },
|
|
|
- {
|
|
|
- name = "offset",
|
|
|
- type = "number",
|
|
|
- description = "The vertical offset for seated experiences."
|
|
|
- }
|
|
|
- }
|
|
|
+ name = "identity",
|
|
|
+ type = "string",
|
|
|
+ description = "A unique label for this project."
|
|
|
},
|
|
|
{
|
|
|
- name = "math",
|
|
|
- type = "table",
|
|
|
- description = "Configuration for the math module.",
|
|
|
- table = {
|
|
|
- {
|
|
|
- name = "ffi",
|
|
|
- type = "boolean",
|
|
|
- description = "Whether vector objects should use an optimized LuaJIT FFI codepath."
|
|
|
- },
|
|
|
- {
|
|
|
- name = "globals",
|
|
|
- type = "boolean",
|
|
|
- description = "Whether vector object functions should be added to the global scope."
|
|
|
- }
|
|
|
- }
|
|
|
+ name = "saveprecedence",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether the files in the save directory should have precedence over files in the source archive."
|
|
|
},
|
|
|
{
|
|
|
name = "modules",
|
|
@@ -121,6 +75,11 @@ return {
|
|
|
type = "boolean",
|
|
|
description = "Whether the physics module should be enabled."
|
|
|
},
|
|
|
+ {
|
|
|
+ name = "system",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether the system module should be enabled."
|
|
|
+ },
|
|
|
{
|
|
|
name = "thread",
|
|
|
type = "boolean",
|
|
@@ -133,6 +92,74 @@ return {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ {
|
|
|
+ name = "audio",
|
|
|
+ type = "table",
|
|
|
+ description = "Configuration for the audio module.",
|
|
|
+ table = {
|
|
|
+ {
|
|
|
+ name = "spatializer",
|
|
|
+ type = "string",
|
|
|
+ description = "An audio spatializer to use (`simple`, `oculus`, or `phonon`). If `nil`, all of them are attempted.'"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "start",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether the playback device should be automatically started."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "graphics",
|
|
|
+ type = "table",
|
|
|
+ description = "Configuration for the graphics module.",
|
|
|
+ table = {
|
|
|
+ {
|
|
|
+ name = "debug",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether debug messages from the GPU should get sent to lovr.log."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "headset",
|
|
|
+ type = "table",
|
|
|
+ description = "Configuration for the headset.",
|
|
|
+ table = {
|
|
|
+ {
|
|
|
+ name = "drivers",
|
|
|
+ type = "table",
|
|
|
+ description = "An ordered list of preferred headset drivers."
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "supersample",
|
|
|
+ type = "number",
|
|
|
+ description = "A scaling factor to apply to the headset texture. Improves visual quality but reduces performance. Can also be a boolean."
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "offset",
|
|
|
+ type = "number",
|
|
|
+ description = "The vertical offset for seated experiences."
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "msaa",
|
|
|
+ type = "number",
|
|
|
+ description = "The amount of antialiasing to use when rendering to the headset."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "math",
|
|
|
+ type = "table",
|
|
|
+ description = "Configuration for the math module.",
|
|
|
+ table = {
|
|
|
+ {
|
|
|
+ name = "globals",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether vector object functions should be added to the global scope."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
{
|
|
|
name = "window",
|
|
|
type = "table",
|
|
@@ -154,14 +181,14 @@ return {
|
|
|
description = "Whether the window is fullscreen."
|
|
|
},
|
|
|
{
|
|
|
- name = "msaa",
|
|
|
- type = "number",
|
|
|
- description = "The number of antialiasing samples to use."
|
|
|
+ name = "resizable",
|
|
|
+ type = "boolean",
|
|
|
+ description = "Whether the window is fullscreen."
|
|
|
},
|
|
|
{
|
|
|
- name = "vsync",
|
|
|
+ name = "msaa",
|
|
|
type = "number",
|
|
|
- description = "0 to disable vsync, 1 to enable."
|
|
|
+ description = "The number of antialiasing samples to use."
|
|
|
},
|
|
|
{
|
|
|
name = "title",
|
|
@@ -172,6 +199,11 @@ return {
|
|
|
name = "icon",
|
|
|
type = "string",
|
|
|
description = "The path to the window icon file."
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name = "vsync",
|
|
|
+ type = "number",
|
|
|
+ description = "0 to disable vsync, 1 to enable."
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -187,7 +219,7 @@ return {
|
|
|
examples = {
|
|
|
{
|
|
|
description = "A noop conf.lua that sets all configuration settings to their defaults:",
|
|
|
- code = "function lovr.conf(t)\n\n -- Set the project identity\n t.identity = 'default'\n\n -- Audio\n t.audio.spatializer = nil\n t.audio.start = true\n\n -- Graphics\n t.graphics.debug = false\n\n -- Headset settings\n t.headset.drivers = { 'openxr', 'oculus', 'vrapi', 'openvr', 'webxr', 'desktop' }\n t.headset.msaa = 4\n t.headset.offset = 1.7\n\n -- Math settings\n t.math.globals = true\n\n -- Enable or disable different modules\n t.modules.audio = true\n t.modules.data = true\n t.modules.event = true\n t.modules.graphics = true\n t.modules.headset = true\n t.modules.math = true\n t.modules.physics = true\n t.modules.thread = true\n t.modules.timer = true\n\n -- Configure the desktop window\n t.window.width = 1080\n t.window.height = 600\n t.window.fullscreen = false\n t.window.msaa = 0\n t.window.vsync = 1\n t.window.title = 'LÖVR'\n t.window.icon = nil\nend"
|
|
|
+ code = "function lovr.conf(t)\n\n -- Set the project version and identity\n t.version = '0.14.0'\n t.identity = 'default'\n\n -- Set save directory precedence\n t.saveprecedence = true\n\n -- Enable or disable different modules\n t.modules.audio = true\n t.modules.data = true\n t.modules.event = true\n t.modules.graphics = true\n t.modules.headset = true\n t.modules.math = true\n t.modules.physics = true\n t.modules.system = true\n t.modules.thread = true\n t.modules.timer = true\n\n -- Audio\n t.audio.spatializer = nil\n t.audio.start = true\n\n -- Graphics\n t.graphics.debug = false\n\n -- Headset settings\n t.headset.drivers = { 'openxr', 'oculus', 'vrapi', 'pico', 'openvr', 'webxr', 'desktop' }\n t.headset.supersample = false\n t.headset.offset = 1.7\n t.headset.msaa = 4\n\n -- Math settings\n t.math.globals = true\n\n -- Configure the desktop window\n t.window.width = 1080\n t.window.height = 600\n t.window.fullscreen = false\n t.window.msaa = 0\n t.window.vsync = 1\n t.window.title = 'LÖVR'\n t.window.icon = nil\nend"
|
|
|
}
|
|
|
},
|
|
|
notes = "Disabling the headset module can improve startup time a lot if you aren't intending to use `lovr.headset`.\n\nYou can set `t.window` to nil to avoid creating the window. You can do it yourself later by using `lovr.graphics.createWindow`.\n\nIf the `lovr.graphics` module is disabled or the window isn't created, attempting to use any functionality requiring graphics may cause a crash.\n\nEnabling the `t.graphics.debug` flag will add additional error checks and will send messages from the GPU driver to the `lovr.log` callback. This will decrease performance but can help provide information on performance problems or other bugs.\n\nThe `headset.offset` field is a vertical offset applied to the scene for headsets that do not center their tracking origin on the floor. This can be thought of as a \"default user height\". Setting this offset makes it easier to design experiences that work in both seated and standing VR configurations."
|