Skip to content

Add support for jumping without resetting the callstack - #160

Open
willvale wants to merge 1 commit into
JBenda:masterfrom
willvale:jump-with-callstack
Open

Add support for jumping without resetting the callstack#160
willvale wants to merge 1 commit into
JBenda:masterfrom
willvale:jump-with-callstack

Conversation

@willvale

Copy link
Copy Markdown
Contributor

Based on similar experimental code in the C# runtime.

I use this for jumping back to the start of the current knot, in order to implement dialogue which can be cancelled and restarted cleanly, so the player doesn't miss out on important information.

E.g.

SIL_VERIFY(m_runner->move_to(m_runner->get_current_knot(), false));

@JBenda is this something you'd be interested in? It needs a bit more work to make it complete, but IMO the idea is useful.

… runtime.

Useful for things like restarting the current knot.
@github-actions

Copy link
Copy Markdown

Ink Proof Results

These results are obtained by running the Ink-Proof Testing Suite on the compiled binaries in this pull request.

System Results
Linux x64 130/130 passed
MacOSX-ARM DISABLED
MacOSX DISABLED
Windows x64 130/130 passed

@JBenda

JBenda commented Jul 30, 2026

Copy link
Copy Markdown
Owner

I like the idea of "restarting" a convo
but currently do not see which data you want to keep that are not stored in globals anyway.

So if I understand it correctly, the difference between
SIL_VERIFY(m_runner->move_to(m_runner->get_current_knot(), false)); and SIL_VERIFY(m_runner->move_to(m_runner->get_current_knot(), true)); would that threads will stay valid?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants