Space Engineers

Space Engineers

Mother OS
Showing 1-10 of 30 entries
< 1  2  3 >
Update: 29 Sep @ 5:21pm

Update: 29 Sep @ 5:05pm

Update: 29 Sep @ 6:12am

# CHANGELOG

## [1.0.0] - 2025-09-29

### Added
- Block configuration is automatically updated when the player modifies a block's CustomData. Under general uses, you should no longer need to run the `boot` or hit `Recompile` during normal use. For example, the map display's scale will automatically adjust when the player edits the `mapScale` property.
- When a block's configuration is updated, it's configuration, hooks and state are refreshed.
- When the programmable block's configuration is updated, the boot cycle initiates.
- Add commands to adjust colors on screens:100:
- `screen/color <color>` - Change font color
- `screen/bgcolor <color>` - Change background color

### Updated
- Improve boot process logic reduce redundant computation and correctly use system state for all run operations.
- Mother now creates config sections for player by default when the programmable block's custom data is empty on boot.

### Fixed
- Fixed issue where players were unable to run remote commands using an underscore (`_`).
- Fixed bug relating to complexity error when defining tags.
- Fixed bug where recompile/boot is not saving the Programmable Block's custom data.

Update: 15 Aug @ 4:59pm

## [0.2.14] - 2025-08-15

### Added
- Mother now supports different communications channels, each with their own passcode.
- Mother can now render grids on the map based on whether they are communicating via **private** or **public** channels.
- Add `block/config` command which allows players to set values in a block's Custom Data.
- Players can filter the map using a whitelist (`+`) and a blacklist (`-`) for grid and channel names

### Updated
- Rename `[Commands]` section to [commands] in programmable block. This should be done for the player automatically using the VersionManager.

### Fixed
- Using the `boot` command no longer creates duplicate headers in the terminal.
- Resolve outstanding warnings displayed when `Checking Code` in-game.

Update: 28 Jun @ 5:15pm

# CHANGELOG [0.2.13] - 2025-06-28]
## Added
- Add `boot` command to trigger system boot process.
- Searchlights now work with all existing `light` commands
- Add `light/brightness` command to enable players to set the brightness of a light. This command supports the `add` and `sub` options to increment or decrement the brightness of a light.
- The `rotor/speed` command now accepts a `free` option to allow free movement by default. This allows stationary rotors to move if they have previously been locked at a specific angle.
- The `hinge/speed` command now accepts a `free` option to allow free movement by default. This allows stationary hinges to move if they have previously been locked at a specific angle.
- The `piston/distance` command can now we incremented or decremented using the `add` and `sub` options.
- - The `hinge/rotate` command can now we incremented or decremented using the `add` and `sub` options.
- The `rotor/rotate` command can now we incremented or decremented using the `add` and `sub` options. **Note:** This command is slightly imprecise and accuracy will improve in future versions.

### Fixed
- Fixed critical bug preventing large grids from booting due to a "script too complex" error. The boot process has been refactored this appears to have resolved the issues. This comes at the cost of a slightly longer boot depending on the number of registered modules.

### Updated
- Updated how increments are handled in `BaseModuleCommand`.

Update: 28 Jun @ 5:12pm

Update: 29 Apr @ 2:40pm

# Changelog

## [0.2.12] - 2025-04-29 (Fieldwork update)
### Added
- Add Air Vent hooks:
- `onPressurized` => triggered when state is *Pressurized*.
- `onPressurizing` => triggered when state is *Pressurizing*.
- `onDepressurized` => triggered when state is *Depressurized*.
- `onDepressurizing` => triggered when state is *Depressurizing*.

- Add Piston hooks:
- `onExtended` => triggered when state is *Extended*.
- `onExtending` => triggered when state is *Extending*.
- `onRetracted` => triggered when state is *Retracted*.
- `onRetracting` => triggered when state is *Retracting*.

- Add `block/toggle` command to toggle a block on and off.

### Updated
- Update Door hooks:
- `onOpen` => triggered when state is fully *Open*.
- `onOpening` => triggered when state is *Opening*.
- `onClose` => triggered when state is fully *Closed*.
- `onClosing` => triggered when state is *Closing*.
- Updated `Instructions.readme` to include Discord channel.

### Fixed
- Fixed critical bug caused by Fieldwork update (1.206). This bug was related to how the programmable block API resolves a `List<>` when being enforced by an interface. The solution was to use the new `MemorySafeList<>` type provided by Keen. We're back baby!

Update: 18 Apr @ 8:44am

# Changelog

## [0.2.11] - 2025-04-18

### Added
- Add `CockpitModule` to manage cockpit blocks. Players can now use the `onOccupied` and `onEmpty` hooks.
- Add `dampeners/on` and `dampeners/off` commands to enable control of thruster dampeners.
- Add `handbrake/on` and `handbrake/off` commands to enable control of the handbrake on a grid.

### Updated
- All system modules are now decoupled and registered as either an `ICoreModule` or `IExtensionModule`. This allows for better management of modules and their dependencies during boot and throughout runtime activities.
- Refactor Extension Modules and commands to use new BaseExtensionModule methods.
- Update file structure to isolate Mother OS modules from Mother Core.
- Rename `WaypointCommandQueue` to `WaypointRoutineQueue` for better context.
- Event subscription from within Extension modules is now much easier and uses the event type vs. name for filtering.
- Hinge and Rotor angle tolerances have been improved to 0.1 degrees.
- The `screen/print` command now support line breaks with the `\n` character with the message string.
- Move `print`, `clear`, and `help` commands into core modules where they belong.
- Move `FlightPlanner` to extension modules and rename to `FlightPlanningModule`.
- Move `DisplayManager` to extension modules and rename to `DisplayModule`.
- Move `get` and `set` commands to LocalStorage module.

### Fixed
- Fix bug related to leading and trailing spaces in tag definitions with a block's custom data.
- Fixed bug preventing pistons from extending correctly. This was related to the Activity Monitor not watching the piston correctly following a refactor of the ActivityMonitor.
- Fix bug where targeting a non-existant tag would throw an exception. This is now handled gracefully and players are notified when a tag cannot be found.
- Fixed bug that was preventing `Connector.onUnlock` hook from firing in some cases.
- Romote Control block is now correctly set from the Block Catalogue.
- Fixed bug preventing LocalStorage from saving properly between program cycles.

### Removed
- Removed Controller classes. This has turn out to be an unecessary abstraction at this state. Modules can handle their own request handling for now.
- Remove logic for rendering lines to a text display. This logic will be re-evaluated when Mother GUI begins development.
- Remove `CommunicationsModule`. These capabilities are handled via other modules.
- Remove `NavigationModule`. These capabilities are handled via other modules.

Update: 7 Apr @ 1:08pm

# Changelog

## [0.2.10] - 2025-04-07

### Added
- Add `Terminal` core module to separate Terminal and Display responsibilities due to their difference in use and implementation.
- Add `SpriteFactory` to manage sprite creation and rendering.
- Add **Tags**. Blocks can now be targeting using tags that are defined with a block's Custom Data. This makes it easy to target groups of blocks without worrying about group merging and hiding with the grid terminal.
- `BaseExtensionModule` now provides accessor for BlockCatalogue.GetBlocksByName().

### Updated
- Extension modules and commands have been refactored for size.
- Refactor DisplayManager to abstract sprite management. Some display manipluation has also been migrated into the `Display` class.
- Refactored core modules for file size.

Update: 31 Mar @ 5:57am