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.

SystemResults
Linux x64130/130 passed
MacOSX-ARMDISABLED
MacOSXDISABLED
Windows x64130/130 passed

@JBenda

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 freeto 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

@willvale@JBenda