1. as always, code cleanup and memory savings
2. allow force (-f) option with cp
3. cursor library, separating logic from tty [ the cursor library is robust and heavily tested, but the api is not finalized and is considered beta ]
4. fix autorun on ro fs
5. /bin/ls: run all filesystem calls in lua, safe from c-boundaries
6. vt100: small fix with clear line (1-off error)
the cursor lib will probably become an official api, but not yet, still in beta
an application can define its own cursor, can handle the following methods
Here is a rough draft of the api, when it is official there will be an ocdoc article covering this
echo
Echo does not change the input buffer, does not move the relative cursor position to the input, in is only used for updating the UI. Echo will receive the following
"": scroll if needed
nil: initialize blink if needed
boolean: toggle blink if true, force blink off if false
string: write string to output stream
keyboard.keys.right and keyboard.keys.left: move the visual cursor left or right. scroll if necessary
move
number: Intended to move the logical cursor relative to its current input. Should call echo for visual movement
update
string: add (prepend, insert, or append) text to the input buffer
number: remove (backspace, delete) text from the input buffer
should call move if the cursor moves due to the text changes
handle
(name, char, code): called in response to event signals when waiting for input. Typically this is used to handle key_down, touch, drag, and clipboard
return nil if the cursor is closing
return false if the input is interrupted
return true if the input is not done
return <string> as the result of the input when completed
this commit also fixes some positional issues with geolyzer and canSeeSky when used as an internal component with tablets and drones
this commit also adds the hover tier 2 upgrade to the creatix robot
closes#1863
this is a potential solution to robots that need to know if their solar panels are able to charge
if a geolyzer is also added to a robot, it can use the geolyzer component to check for charge options
issue #1778 specifically asked for similar api on the solar upgrade, but we didn't want to make the solar upgrade a component. Doing so would increase the component load of existing robots, which could cause existing robots to simply fail.
thus this is a compromise to that request
closes#1778
the suggested access was to return nil always as the value, but these values aren't nil, and I felt it reasonable to return at least the variable name and not mislead that the value was nil
closes#1607
bundled inputs now include the color of the input that changed
also, the redstone_change signal for bundled input no longer sends the MAX old and MAX new values, but instead, only the old and new values of the specific color that changed
closes#1385
some mods may modify player inventory item arrays directly instead of through the container
also, this fixes other potential mods trying to update the inventory during actions
though unlikely, it would be supported now
closes#2751
If a ticket is created with ForgeChunkManager.Type.ENTITY and bound to
an entity, then forge will actually load that entity's chunk before
returning its ticket. As a result, the drones were initializing their
components before the ticket was added to restoredTickets, so they
never actually reclaimed their ticket. Also added a log message to
detect if something like this happens again.
Got a little creative with some of them.. I have been interested in robots and robot movies for a while and got kind of caught in it. Most of robots/AIs I thought of were already in the list, but I think these would make some nice additions to the list.
reverting a change from july 2017, that had the installer ignore a source if it came from the only rw candidate, when running the multi-selection util. I can see the irritation or confusion of the user when running the installer and it considers a secondary drive as a viable source candidate. Typically, a system would have additional hdds merely to store data. Typically the ro loot floppies are the desired source candidates. I believe the intention here was: "We have multiple source candidates, but only one is rw, thus it is probable that the rw candidate isn't actually intended for install" But I disagree, when testing custom floppies there will easily be one additional rw source.
Also, this change includes some additional command line clarification. If the system selects a source automatically, the first prompt the user sees is where to install. This can be jarring or confusing -- as the user doesn't know yet WHAT is being installed. In that case, we now display what is up for installation before asking where to install it.