mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-12-15 12:40:30 +00:00
a9547d1d6f
- Fix several inaccuracies with several files not marking Dan's authorship. Most of these are new files, where the code was moved from somewhere else: - In the public API: IDynamicLuaObject, ILuaAPI, TaskCallbakc, IDynamicPeripheral, UpgradeBase - In the ROM: fs, http, require - Do not mark Dan as an author for entirely new code. This affects DetailHelpers, DropConsumer, FluidData, InventoryMethods, ItemDetails, MonitorRenderState, NoTermComputerScreen, Palette, PlatformHelperImpl, UploadFileMessage, the Terminal tests, and any speaker-related files. - Relicence many files under the MPL where we have permission to do so. See #1339 for further details. Thank you to everyone who has contributed so far! Cannot overstate how appreciated it is <3.
131 lines
4.3 KiB
Lua
131 lines
4.3 KiB
Lua
-- SPDX-FileCopyrightText: 2020 The CC: Tweaked Developers
|
|
--
|
|
-- SPDX-License-Identifier: MPL-2.0
|
|
|
|
--[[- 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
|