mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-11-05 09:36:19 +00:00
895bc7721a
This adds SPDX license headers to all source code files, following the REUSE[1] specification. This does not include any asset files (such as generated JSON files, or textures). While REUSE does support doing so with ".license" files, for now we define these licences using the .reuse/dep5 file. [1]: https://reuse.software/
133 lines
4.3 KiB
Lua
133 lines
4.3 KiB
Lua
-- SPDX-FileCopyrightText: 2020 The CC: Tweaked Developers
|
|
--
|
|
-- SPDX-License-Identifier: LicenseRef-CCPL
|
|
|
|
-- Defined in bios.lua
|
|
|
|
--[[- Loads the given API into the global environment.
|
|
|
|
This function loads and executes the file at the given path, and all global
|
|
variables and functions exported by it will by available through the use of
|
|
`myAPI.<function name>`, where `myAPI` is the base name of the API file.
|
|
|
|
@tparam string path The path of the API to load.
|
|
@treturn boolean Whether or not the API was successfully loaded.
|
|
@since 1.2
|
|
|
|
@deprecated When possible it's best to avoid using this function. It pollutes
|
|
the global table and can mask errors.
|
|
|
|
@{require} should be used to load libraries instead.
|
|
]]
|
|
function loadAPI(path) end
|
|
|
|
--- Unloads an API which was loaded by @{os.loadAPI}.
|
|
--
|
|
-- This effectively removes the specified table from `_G`.
|
|
--
|
|
-- @tparam string name The name of the API to unload.
|
|
-- @since 1.2
|
|
-- @deprecated See @{os.loadAPI} for why.
|
|
function unloadAPI(name) end
|
|
|
|
--[[- Pause execution of the current thread and waits for any events matching
|
|
`filter`.
|
|
|
|
This function @{coroutine.yield|yields} the current process and waits for it
|
|
to be resumed with a vararg list where the first element matches `filter`.
|
|
If no `filter` is supplied, this will match all events.
|
|
|
|
Unlike @{os.pullEventRaw}, it will stop the application upon a "terminate"
|
|
event, printing the error "Terminated".
|
|
|
|
@tparam[opt] string filter Event to filter for.
|
|
@treturn string event The name of the event that fired.
|
|
@treturn any param... Optional additional parameters of the event.
|
|
@usage Listen for `mouse_click` events.
|
|
|
|
while true do
|
|
local event, button, x, y = os.pullEvent("mouse_click")
|
|
print("Button", button, "was clicked at", x, ",", y)
|
|
end
|
|
|
|
@usage Listen for multiple events.
|
|
|
|
while true do
|
|
local eventData = {os.pullEvent()}
|
|
local event = eventData[1]
|
|
|
|
if event == "mouse_click" then
|
|
print("Button", eventData[2], "was clicked at", eventData[3], ",", eventData[4])
|
|
elseif event == "key" then
|
|
print("Key code", eventData[2], "was pressed")
|
|
end
|
|
end
|
|
|
|
@see os.pullEventRaw To pull the terminate event.
|
|
@changed 1.3 Added filter argument.
|
|
]]
|
|
function pullEvent(filter) end
|
|
|
|
--[[- Pause execution of the current thread and waits for events, including the
|
|
`terminate` event.
|
|
|
|
This behaves almost the same as @{os.pullEvent}, except it allows you to handle
|
|
the `terminate` event yourself - the program will not stop execution when
|
|
<kbd>Ctrl+T</kbd> is pressed.
|
|
|
|
@tparam[opt] string filter Event to filter for.
|
|
@treturn string event The name of the event that fired.
|
|
@treturn any param... Optional additional parameters of the event.
|
|
@usage Listen for `terminate` events.
|
|
|
|
while true do
|
|
local event = os.pullEventRaw()
|
|
if event == "terminate" then
|
|
print("Caught terminate event!")
|
|
end
|
|
end
|
|
|
|
@see os.pullEvent To pull events normally.
|
|
]]
|
|
function pullEventRaw(filter) end
|
|
|
|
--- Pauses execution for the specified number of seconds, alias of @{_G.sleep}.
|
|
--
|
|
-- @tparam number time The number of seconds to sleep for, rounded up to the
|
|
-- nearest multiple of 0.05.
|
|
function sleep(time) end
|
|
|
|
--- Get the current CraftOS version (for example, `CraftOS 1.8`).
|
|
--
|
|
-- This is defined by `bios.lua`. For the current version of CC:Tweaked, this
|
|
-- should return `CraftOS 1.8`.
|
|
--
|
|
-- @treturn string The current CraftOS version.
|
|
-- @usage os.version()
|
|
function version() end
|
|
|
|
--[[- Run the program at the given path with the specified environment and
|
|
arguments.
|
|
|
|
This function does not resolve program names like the shell does. This means
|
|
that, for example, `os.run("edit")` will not work. As well as this, it does not
|
|
provide access to the @{shell} API in the environment. For this behaviour, use
|
|
@{shell.run} instead.
|
|
|
|
If the program cannot be found, or failed to run, it will print the error and
|
|
return `false`. If you want to handle this more gracefully, use an alternative
|
|
such as @{loadfile}.
|
|
|
|
@tparam table env The environment to run the program with.
|
|
@tparam string path The exact path of the program to run.
|
|
@param ... The arguments to pass to the program.
|
|
@treturn boolean Whether or not the program ran successfully.
|
|
@usage Run the default shell from within your program:
|
|
|
|
os.run({}, "/rom/programs/shell.lua")
|
|
|
|
@see shell.run
|
|
@see loadfile
|
|
]]
|
|
function run(env, path, ...) end
|