Repository navigation
feat: the editor link's live scene, timeline and console, and --mods - #1214
Merged
Merged
Conversation
The editor keeps its live scene, its timeline and Mod mode's console with as little added to the link as they need. - The live scene reads where the ships are from Mission file, which the game already keeps up each frame as the original does, and their orders and targets from State. - The timeline reads the triggers fired and the commands run since the last State, from State. - The console takes the one new message, Console line, run as if typed into the game's console. The console's answers now go to the log too. - Playing with a chosen set of mods needs no message: --mods loads only the mods it names, in that order, for that run. Closes #1059 Closes #1207 Closes #1201 Closes #1202
This was referenced Oct 15, 2026
With --mods, the mods screen opened on the chosen mods only, and saving there, or CANCEL CHANGES, wrote that short list to starlancer.ini. The screen now stays shut with --mods, as it does with --no-mods. Review fixes: --mods tells a path from a name by the platform's separators, the editor's console lines run through the console driver, the script's clock in ticks has one helper, the session's tests share their setup, and the new docs and comments are reworded plainly.
vdmkenny
added a commit
to OpenReliant/openreliant-editor
that referenced
this pull request
Oct 15, 2026
OpenReliant 0.16.0 ([OpenReliant/openreliant#1214](OpenReliant/openreliant#1214)) raises the link's protocol to 2. The new version only adds messages and keys, which a reader skips, but the editor noted any protocol other than its own as a failure. It now notes only an older game's protocol, and says to update OpenReliant. A test covers a newer and an older game. The design and the docs now say what OpenReliant 0.16.0 gives the editor, with one new message: - **Live scene:** `Mission file` (asked for with `Get mission`) has each ship's place and heading, which the game updates every frame, and `State` gives each ship's order and target. - **Timeline:** `State` lists the triggers fired and the commands run since the last state, on the script's clock. The holds are the editor's own. - **Console:** `Console line` runs a line in the game's console, and the answers come from `openreliant.log`. Reload scripts is the console line `reload`. - **Play with this mod only, and a packed `.hog`:** `--mods`. Reload scripts and Play with this mod only pointed at OpenReliant/openreliant#1201 and OpenReliant/openreliant#1202, which are done. They now point at Mod mode (#4), where the editor's side of them belongs. The catalogue export is the editor's own work. OpenReliant still has to bring live changes (OpenReliant/openreliant#1057), and the earlier parts' variables for Play from part (OpenReliant/openreliant#577). Checks: `make check` (format, files, tests).
vdmkenny
pushed a commit
that referenced
this pull request
Oct 15, 2026
🤖 I have created a release *beep* *boop* --- ## [0.16.0](v0.15.0...v0.16.0) (2026-10-15) ### Features * the editor link's live scene, timeline and console, and --mods ([#1214](#1214)) ([05a8555](05a8555)), closes [#1059](#1059) [#1207](#1207) [#1201](#1201) [#1202](#1202) ### Fixes * the names a mod gives its ship types and pilots reach the game ([#1190](#1190)) ([66a0fc1](66a0fc1)), closes [#1186](#1186) ### Documentation * the editor link's messages, the original's and OpenReliant's own ([#1212](#1212)) ([4a2bc7c](4a2bc7c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
vdmkenny
added a commit
to OpenReliant/openreliant-editor
that referenced
this pull request
Oct 15, 2026
Pins OpenReliant at its v0.16.0 release, whose link carries the live scene, the timeline's events and the console line (OpenReliant/openreliant#1214). Its new `Console line` tag is one only the editor sends, so the session's switch over OpenReliant's messages ignores it, as it ignores `Get mission` and `Get state`. Checks: `make check` (40 steps, 46 tests), and `--check-missions` against the game (44 missions, 0 failing).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The editor's live scene, timeline and Mod mode console, with as little added to the link as they need. Only one message is new: everything else uses what the link already has (docs/engine/editor-link.md, Adding a message).
Mission filealready gives where the ships are: the game keeps each ship's run-time place and heading in its record every frame, as the original does (mission_ships_sync), and flags a destroyed one.Stategains each ship's order and target (ship.N.order,ship.N.target).Stategains what the script did since the last state: the triggers fired and the commands run, each with its time on the script's clock (event.N.*,events_dropped). The game keeps them only while an editor is linked, 512 at most.Console line(0x107). It runs a line as if typed into the game's console (developer mode, a mod with scripts), in the menus too. While no mission plays, OpenReliant's own messages are taken and the original's still wait. The console's answers now go to the log underconsole, a line each, where an editor reads them with what the scripts print. Reloading needs nothing new: folder mods' scripts already reload when saved, andreloadis a console line.--mods <mod,...>loads only those mods, in that order, by name in the mods folder or by a path to a folder or.hogelsewhere, and leaves the mods screen's list as it is.openListing's sorting of mods is shared with it.The link's protocol is 2. The released editor still links to it: it only notes the different version.
Checks:
zig build test(all pass, 1 skipped),zig fmt --check,make check-files,make check-missions(75 missions, 0 failing). End to end against the real game, headless, with a small client: Hello gives protocol 2;--modsloaded the first-mission mod and the bananas example by its path;Stategave the ships' orders and the start part's five commands at 0 ms; a console line ran both in a mission and in the menus, and its answer came out inopenreliant.log.Closes #1059
Closes #1207
Closes #1201
Closes #1202