Space Engineers

Space Engineers

Mother OS
Showing 11-20 of 26 entries
< 1  2  3 >
Update: 14 Mar @ 4:35pm

Update: 14 Mar @ 4:29pm

# Changelog

## [0.2.7] - 2025-03-14

### Added
- Added `gear/auto` command to control the autolock state of landing gear and magnetic plates.
- Add `gyro/face` command to orient to grid towards a **GPS waypoint**. A future update will enable facing towards Almanac records. Not useable in-game yet but will be part of autodocking update coming soon.
- Add `piston/speed` command to set the speed of a piston.
- Add `SensorModule` to allow players to make use of sensor blocks. Players can use *hooks* to trigger events when a sensor detects an entity.
- Hooks: `onDetect`, `onClear`


### Updated
- `rotor/lock` and `rotor/unlock` commands now set upper/lower limits to enable rotation without specific angle defninitions via the `rotor/speed` command.
- `piston/speed`, `rotor/speed` and `hinge/speed` commands now accept increment/decrement options to adjust speed while in motion. ie. `rotor/speed Rotor1 2 --add` will increment the current rotor speed by 2 RPM.

Update: 6 Mar @ 1:11pm

# Changelog

## [0.2.6] - 2025-03-06

### Added
- Add `block/action` command to enable players to run block actions current available via the a timer block / toolbar. See `BlockModule`.
- Add `IMyMedicalRoom` to Block Catalogue.
- Add `pb/run` command to run other programmable blocks with an argument.
- Map displays can now be scaled and centered on a position in 2D and 3D (experimental).

### Updated
- Refactor Request & Response creation to factory method in `IntergridMessageService`.
- Connector hooks are now also triggered when using the keyboard shortcut `P` or manipulating the connector via the toolbar.
- Local programmable blocks are no longer rendered on the map display.

### Fixed
- Fixed ambiguity in command execution from wait command. Commands should now execute in parallel vs. sequentially (in some cases).
- Mother now correctly loads LCD displays on subgrids.

Update: 16 Feb @ 3:27pm

# Changelog

## [0.2.5] - 2025-02-16

### Added
- Add `ICoreModule` and `BaseCoreModule` to aid with decompling and simplifying core module behaviours.
- Modules can now register blocks with BlockCatalogue to improve decoupling. This delegates block definition to the Modules, but allows management to remain within the BlockCatalogue.
- The BlockCatalogue now also accesses block-level CustomData to enable block-level configuration. I am working on zooming the map display among other items.
- Players can now acces block `hooks` via a block's CustomData. This allows players to circumvent the event controller when automating localized systems, like an airlock.
- Add `piston/stop` command for stopping a piston while in motion. Note that pistons do not lock like a Rotor or Hinge.
- Players can use `this` in place of the block name when running a hook from a block's custom data. ie. A door can close itself with `door/close this;`.
- Added the following block hooks that can be defined with a block's own customData:
- BlockModule - all blocks.
- `onOn` => triggered when Mother turns a block on with `block/on <block>`
- `onOff` => triggered when Mother turns a block off with `block/off <block>`
- DoorModule - doors.
- `onOpen` => triggered when Mother opens a door with `door/open <door>`
- `onClose` => triggered when Mother closes a door with `door/close <door>`
- ConnectorModule - connectors.
- `onLock` => triggered when Mother connects a connector with `connector/lock <connector>`
- `onUnlock` => triggered when Mother disconnects a connector with `connector/unlock <connector>`
- Block hooks can be defined within Mother's customdata to trigger events on blocks. This allows for localized automation of blocks.


### Updated
- Block Catalogue now manages `IMyTerminalBlock` vs `IMyFunctionalBlock` types for greater flexibility.
- Rename `IModule` to `IExtensionModule`
- `RemoveKeywords` build script now removes `private` and `readonly` keywords during build.
- Add core modules now conform to `ICoreModule` interface.
- Module accessors updated.
- Move Request + Response related events to `Core/Modules/IntergridMessageService`.
- Display scaling is now improved and will be accessible via block level configuration in a future update.

### Fixed
- `DoorModule` commands are fixed in documentation. Doors may be opened with the `door/open` and `door/close` commands.
- Mother can now run on programmable blocks connected via a subgrid without issue.
- Mother now correctly updates groups and blocks when a connector connects/disconnects.

### Removed
- Deprecate `QueryController` in favour of newest Request/Response pattern.

Update: 12 Feb @ 11:06am

# Changelog

## [0.2.4] - 2025-02-12

### Added
- Add script to remove redundant keywords for target environment (programmable block script interface)
- Add `SoundModule` to manage sound blocks with the following commands:
- `sound/set`
- `sound/play`
- `sound/stop`

- Drills, Welders, and Grinders can now be controlled using the following commands:
- `block/on`
- `block/off`

- Add `AirVentModule` to manage air vents with the following commands:
- `vent/pressurize`
- `vent/depressurize`
- `vent/toggle`

### Updated
- Script instruction block now contains link to Discord server - https://discord.gg/aPa2UGHy.
- Configuration is now updated with missing defaults on boot and Recompile. This will reduce errors related to invalid configuration in CustomData. Mother will not replace existing values.
- Cockpit map displays now have improved scaling. I will add the ability to set custom scales in a future update.

### Fixed
- The `piston/distance` command now correctly accepts a `speed` option.
- Default configuration in documentation now uses correct sytnax.
- `print` command now works correctly.

Update: 2 Feb @ 11:26am

# Changelog

## [0.2.3] - 2025-02-02

### Added
- Add `wait` command to introduce delays in commands and routines.

### Updated
- Update map display icons for better differentiation.
- GPS Waypoints are diamonds
- Grids are circles
- Mother is a triangle
- Update documentation with more notes and images.
- Removed redundant BlockCatalogue documentation.
- Add `W` indicator to show when Mother is waiting to execute a command in time. See `wait` command.

Update: 1 Feb @ 9:01am

# Changelog

## [0.2.2] - 2025-02-01

### Added
- Set line limit of terminal output to 20. Funny enough, this is the biggest source of performance loss.
- Add Mother logo to displays. The Empire must grow.
- Add `LandingGearModule` to support landing gear operations
- `gear/lock`
- `gear/unlock`
- `gear/toggle`

- Add `TankModule` to support oxygen and hydrogen tanks.
- `tank/stockpile`
- `tank/share`
- `tank/toggle`

### Updated
- System actions (ie. refresh almanac) are now queued using the `Clock` to run, based on their criticality.
- Refactor `TerminalRoutine` to handle targeting and unpacking logic. `TerminalCommand` now only apply to local execution.
- Refactor `CommandBus` to handle local and remote commands based on a `TerminalRoutine` vs. `TerminalCommand`.
- Update documentation links and examples.
- Update `IntergridCommunicationService` to use unpacked strings for transmitting remote commands
- Update sprite drawing in `DisplayManager`.

### Fixed
- Rotors now rotate in correct direction based on angle, and will reset in the opposite direction to 0 degrees.

Update: 30 Jan @ 1:53pm

# Changelog

## [0.2.1] - 2025-01-30

### Added
- Add `Clock` core module. Mother now runs on a 1 second loop by default.
- Add batteries to BlockCatalogue.
- Add `BatteryModule` to enable the following commands:
- battery/charge
- battery/discharge
- battery/auto
- battery/toggle

### Updated
- CommandBus is now more efficient at nesting local commands and routines into flight plan routines.
- CommandCheatsheet links and examples have been updated.
- hide `hinge/reset` and `rotor/reset` commands from documentation. They are unreliable at this time. Please use `hinge/rotate` and `rotor/rotate` to reset hinges and rotors for now.
- Commands and routines are automatically trimmed and sanitized when created.

### Fixed
- The Almanac is now correctly storing waypoints following the setting of a flight plan and loaded on Recompile.
- Fixed issue with `rotor/rotate` speed defaulting to 2 RPM when a negative value is used as the `speed` value. Speed is now unsigned, and only angle will determine the direction of rotation.

Update: 28 Jan @ 3:30pm

# Changelog

## [0.2.0] - 2025-01-28

### Added
- Add CommandQueue to support the queuing of commands in time and at waypoints in a flight plan.
- Runtime can now be set in CustomData via `general.update_frequency`. It defaults to Update100 (every 1.6 seconds). 10 may be used to toggle Update10 (6 times per second).
- Local commands can now be triggered by using an underscore `_` as the first character in the command string. ie. `_PowerOff`. This ensure that a grid can have local definitions of custom commands that can be targeted remotely.
- Add generalized `block/on` and `block/off` commands to support power toggling of functional blocks.

### Updated
- Flight plans now have separate `Loaded` and `Active` states for better control of autopilot.
- CommandBus can now queue commands for execution at a later time.
- Flight plan string can how include commands and routines to execute at a given waypoint:
- `nav/set-flight-plan "GPS:Waypoint1:123:456:789:#FFFFFF:{light/color Light1 red; CustomCommand;...}"`
- Add `off` option got `light/blink` command and updated documentation.

### Fixed
- Rotors and hinges now correctly lock when stopping.
- Custom commands can now correctly be chained together in a routine.

Update: 26 Jan @ 4:00pm

Add new thumbnail and workshop images.