Skip to content

Narrative switching support #44

Description

@nsensfel
  • Add the following instructions:
    • (narrative:push filename tag_list) which creates a new memory stack and loads the indicated narrative.
    • (narrative:pop) which pops the current narrative (frees memory too).
    • (narrative:pop_until_any tag_list) which pops narrative until there is a narrative with at least one tag in the tag_list.
    • (narrative:pop_until_all tag_list) which pops narrative until there is a narrative with all the tags in the tag_list.
    • (narrative:pop_while_any tag_list)
    • (narrative:pop_while_all tag_list)
    • (narrative:switch filename tag_list) which pops the current narrative and pushes the new one.
    • (narrative:add_tag tag)
    • (narrative:remove_tag tag)
  • Add the following computation:
    • (narrative:tag_list)
  • Add the shared variable category of issue Sharing memory over multiple narratives #20. They are stored separately as they do not get freed when narrative switch.
  • Addresses should reflect the narrative memory stack system.

Example of things that could use separate narratives:

  • Menus.
  • Instantiated areas (random dungeon).

Activity

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestfateIssues relating to the Fate languageinterpreterwyrdIssues relating to the Wyrd language

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions