Posted June 02, 2023 by desertslug
The v0.5.5 version adds a communication channel for ships, and inorganic materials that come from barren worlds.
Barren worlds are common bodies where the harsh environmental conditions are unsuitable for the growth of organic life. However, they contain vast amounts of inorganic raw materials, which makes them quite valuable in the eyes of interstellar entities.
The extraction modules of ships can accumulate and convert inorganic raw materials.
HOST_WRITE_EXT_BAR : &entity $2 ->
Extracts inorganic raw materials from barren worlds. The entity must be no farther than `BARREN_INTERACTION_UNITS`.
Ships are now capable of emitting a signal that can carry a few bytes of information (8, currently), as well as reading the signals of other ships. This is intended to be a flexible tool to allow ships to communicate with each other through user-defined protocols.
HOST_WRITE_NAV_SIG_SET : &signal $8 ->
Sets the signal of the navigation module.
HOST_WRITE_NAV_SIG_GET : &entity $2 -> &entity-exists $1 : &signal $8
Attempts to read the signal of the specified entity's navigation module.
For example, the manatee OS now supports mimicry. When a ship is set to mimic another, it reads its signal, and finds the state of the ship in the first byte. Then, it jumps to the handler function of that state, while staying in the mimicry state itself. Other arguments of states can be placed after the state byte, such as the barren world to extract inorganic materials from in an extraction state.
Other notes:
Uxn
component are now updated after emulation so that clients can now display the sizes of the working and return stackssrv_msg_recvproc_srventitycommand