Commit Graph

6 Commits (master)

Author SHA1 Message Date
octacian 12415cc700
Replace input, output, and output_editable APIs for system.* keys
* [set/get]_input -> system.input (string)
* [set/get]_output -> system.output (string)
* set_output_editable -> system.output_editable (bool)
2018-11-24 21:25:27 -08:00
octacian 0326648b0d
Replace OS APIs in favour of a system table
`get_os` and `set_os` APIs are replaced with a `system` table which 
stores the data and limits the valid keys and types via metatables.
2018-07-23 18:39:42 -07:00
octacian d749eafb28
Preserve, improve environment and replace userdata
* Preserve the environment table so that it must
only be regenerated after a game restart, after
a computer is restarted, and at the tiem of the
initialization of a computer.
* Replace the current meta-based userdata
mechanisms with a global `ram` variable within the
environment, as the preservation of the environment
itself causes its global variables to be preserved
as well
* Make `get_attr` convert meta to a table before
accessing the requested key in order to ensure that
the meta can be correctly accessed even if it is
not a string
* Initialize output_editable meta on node place
2018-06-01 07:50:42 -07:00
octacian 7bc3a5c6b1
Disconnect player object environment and scripts
Remove the requirement of a player object as a parameter
to make_env and to run_code and run_file. Instead, a
`current_user` meta field is used.
2018-05-31 18:30:43 -07:00
octacian b48d5c2d55
Add nano command
Supplemented by new set_run OS API.
2018-05-31 12:40:26 -07:00
octacian 613657d454
Add luacheck and convert spaces to tabs 2018-05-31 11:00:44 -07:00