1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-28 21:14:57 +03:00

Improved test coverage for dialogue

This commit is contained in:
Graham Nelson 2022-09-28 22:11:16 +01:00
parent 8039a9a65d
commit 4f882d5787
20 changed files with 439 additions and 64 deletions

View file

@ -1,6 +1,6 @@
# Inform 7
[Version](notes/versioning.md): 10.2.0-beta+6V72 'Krypton' (27 September 2022)
[Version](notes/versioning.md): 10.2.0-beta+6V73 'Krypton' (28 September 2022)
## About Inform

View file

@ -1,3 +1,3 @@
Prerelease: beta
Build Date: 27 September 2022
Build Number: 6V72
Build Date: 28 September 2022
Build Number: 6V73

View file

@ -425,14 +425,14 @@ performed only after or before other beats.
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">NEXT_DBC:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">previous</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">previous</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">under_heading</span><span class="plain-syntax"> == </span><span class="identifier-syntax">db</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">under_heading</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">iac</span><span class="plain-syntax">++;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">db</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">immediately_after</span><span class="plain-syntax"> = </span><a href="6-dlg.html#SP7" class="function-link"><span class="function-syntax">Dialogue::rvalue_from_dialogue_beat</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">previous</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">db</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">immediately_after</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Rvalues::from_instance</span><span class="plain-syntax">(</span><span class="identifier-syntax">previous</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">as_instance</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-db.html#SP6_1_1" class="named-paragraph-link"><span class="named-paragraph">Issue PM_NoPreviousBeat problem</span><span class="named-paragraph-number">6.1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">LATER_DBC:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">previous</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">previous</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">under_heading</span><span class="plain-syntax"> == </span><span class="identifier-syntax">db</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">under_heading</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">desc</span><span class="plain-syntax"> = </span><a href="6-dlg.html#SP7" class="function-link"><span class="function-syntax">Dialogue::rvalue_from_dialogue_beat</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">previous</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">desc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Rvalues::from_instance</span><span class="plain-syntax">(</span><span class="identifier-syntax">previous</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">as_instance</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax">, </span><span class="identifier-syntax">db</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">some_time_after</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-db.html#SP6_1_1" class="named-paragraph-link"><span class="named-paragraph">Issue PM_NoPreviousBeat problem</span><span class="named-paragraph-number">6.1.1</span></a></span><span class="plain-syntax">;</span>

View file

@ -157,22 +157,22 @@ specific beats and lines to be represented as rvalues, both inside the compiler
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_from_dialogue_beat</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_from_dialogue_beat</span></span>:<br/>Dialogue Beats - <a href="6-db.html#SP6_1">&#167;6.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_from_dialogue_beat</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_dialogue_beat</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_beat</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_beat</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_beat</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_beat</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_beat</span><span class="plain-syntax">) }</span>
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_from_dialogue_line</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_line</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_dialogue_line</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_line</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_line</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_line</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_line</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_line</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_line</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_line</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_line</span><span class="plain-syntax">) }</span>
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_from_dialogue_choice</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_dialogue_choice</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_choice</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_choice</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax">) }</span>
<span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax"> *</span><span class="function-syntax">Dialogue::rvalue_to_dialogue_choice</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Dialogue::rvalue_to_dialogue_choice</span></span>:<br/><a href="6-dlg.html#SP8">&#167;8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax">) }</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>&#167;8. </b>These can be compared at compile time, which means that type-checking can be
used to select phrases or rules depending on specific beats or lines.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Dialogue::compare_CONSTANT</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Dialogue::compare_CONSTANT</span></span>:<br/><a href="6-dlg.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec1</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec2</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rv</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Dialogue::compare_CONSTANT</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Dialogue::compare_CONSTANT</span></span>:<br/><a href="6-dlg.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec1</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec2</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rv</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_kind_of_value</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_dialogue_beat</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-dlg.html#SP7" class="function-link"><span class="function-syntax">Dialogue::rvalue_to_dialogue_beat</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec1</span><span class="plain-syntax">) ==</span>
@ -220,7 +220,7 @@ used to select phrases or rules depending on specific beats or lines.
<span class="identifier-syntax">MAKE_ANNOTATION_FUNCTIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">constant_dialogue_line</span><span class="plain-syntax">, </span><span class="reserved-syntax">dialogue_line</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">MAKE_ANNOTATION_FUNCTIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">constant_dialogue_choice</span><span class="plain-syntax">, </span><span class="reserved-syntax">dialogue_choice</span><span class="plain-syntax">)</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Dialogue::declare_annotations</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Dialogue::declare_annotations</span></span>:<br/><a href="6-dlg.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Dialogue::declare_annotations</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Dialogue::declare_annotations</span></span>:<br/><a href="6-dlg.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::declare_type</span><span class="plain-syntax">(</span><span class="constant-syntax">constant_dialogue_beat_ANNOT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="6-dlg.html#SP10" class="function-link"><span class="function-syntax">Dialogue::write_constant_dialogue_beat_ANNOT</span></a><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::allow</span><span class="plain-syntax">(</span><span class="identifier-syntax">CONSTANT_NT</span><span class="plain-syntax">, </span><span class="constant-syntax">constant_dialogue_beat_ANNOT</span><span class="plain-syntax">);</span>

View file

@ -299,7 +299,7 @@ current function:
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::rtrue</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">());</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitCode::rfalse</span><button class="popup" onclick="togglePopup('usagePopup25')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup25">Usage of <span class="code-font"><span class="function-syntax">EmitCode::rfalse</span></span>:<br/>Group Together - <a href="4-gt.html#SP3">&#167;3</a><br/>Adjectives - <a href="5-adj.html#SP6_1">&#167;6.1</a>, <a href="5-adj.html#SP15">&#167;15</a><br/>Chronology - <a href="5-chr.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Backdrop Instances - <a href="5-bi.html#SP2_1">&#167;2.1</a>, <a href="5-bi.html#SP2_2">&#167;2.2</a><br/>Region Instances - <a href="5-ri.html#SP2">&#167;2</a><br/>Scene Instances - <a href="5-si.html#SP3">&#167;3</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP2_6_1">&#167;2.6.1</a>, <a href="5-dbi.html#SP2_6_1_1">&#167;2.6.1.1</a>, <a href="5-dbi.html#SP2_6_2_1">&#167;2.6.2.1</a>, <a href="5-dbi.html#SP2_6_3">&#167;2.6.3</a>, <a href="5-dbi.html#SP2_7">&#167;2.7</a>, <a href="5-dbi.html#SP2_7_1">&#167;2.7.1</a><br/>Dialogue - <a href="5-dli.html#SP3_10_1">&#167;3.10.1</a>, <a href="5-dli.html#SP3_11">&#167;3.11</a>, <a href="5-dli.html#SP3_12">&#167;3.12</a>, <a href="5-dli.html#SP3_14_3">&#167;3.14.3</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP3_5_1">&#167;3.5.1</a>, <a href="5-dci.html#SP3_6">&#167;3.6</a><br/>Rulebooks - <a href="5-rlb.html#SP15">&#167;15</a><br/>Relations - <a href="5-rlt.html#SP6_4">&#167;6.4</a>, <a href="5-rlt.html#SP6_4_2">&#167;6.4.2</a>, <a href="5-rlt.html#SP6_4_3">&#167;6.4.3</a>, <a href="5-rlt.html#SP6_4_4">&#167;6.4.4</a>, <a href="5-rlt.html#SP6_4_9_1">&#167;6.4.9.1</a>, <a href="5-rlt.html#SP19_3">&#167;19.3</a>, <a href="5-rlt.html#SP21">&#167;21</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP3_2">&#167;3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitCode::rfalse</span><button class="popup" onclick="togglePopup('usagePopup25')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup25">Usage of <span class="code-font"><span class="function-syntax">EmitCode::rfalse</span></span>:<br/>Group Together - <a href="4-gt.html#SP3">&#167;3</a><br/>Adjectives - <a href="5-adj.html#SP6_1">&#167;6.1</a>, <a href="5-adj.html#SP15">&#167;15</a><br/>Chronology - <a href="5-chr.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Backdrop Instances - <a href="5-bi.html#SP2_1">&#167;2.1</a>, <a href="5-bi.html#SP2_2">&#167;2.2</a><br/>Region Instances - <a href="5-ri.html#SP2">&#167;2</a><br/>Scene Instances - <a href="5-si.html#SP3">&#167;3</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP2_6_1_1">&#167;2.6.1.1</a>, <a href="5-dbi.html#SP2_6_2_1">&#167;2.6.2.1</a>, <a href="5-dbi.html#SP2_6_3">&#167;2.6.3</a>, <a href="5-dbi.html#SP2_7">&#167;2.7</a>, <a href="5-dbi.html#SP2_7_1">&#167;2.7.1</a><br/>Dialogue - <a href="5-dli.html#SP3_10_1">&#167;3.10.1</a>, <a href="5-dli.html#SP3_11">&#167;3.11</a>, <a href="5-dli.html#SP3_12">&#167;3.12</a>, <a href="5-dli.html#SP3_14_3">&#167;3.14.3</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP3_5_1">&#167;3.5.1</a>, <a href="5-dci.html#SP3_6">&#167;3.6</a><br/>Rulebooks - <a href="5-rlb.html#SP15">&#167;15</a><br/>Relations - <a href="5-rlt.html#SP6_4">&#167;6.4</a>, <a href="5-rlt.html#SP6_4_2">&#167;6.4.2</a>, <a href="5-rlt.html#SP6_4_3">&#167;6.4.3</a>, <a href="5-rlt.html#SP6_4_4">&#167;6.4.4</a>, <a href="5-rlt.html#SP6_4_9_1">&#167;6.4.9.1</a>, <a href="5-rlt.html#SP19_3">&#167;19.3</a>, <a href="5-rlt.html#SP21">&#167;21</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP3_2">&#167;3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::rfalse</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">());</span>
<span class="plain-syntax">}</span>
</pre>

View file

@ -300,7 +300,6 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><a href="2-ec.html#SP5" class="function-link"><span class="function-syntax">EmitCode::code</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::down</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-dbi.html#SP2_6_1_1" class="named-paragraph-link"><span class="named-paragraph">Return false if latest does not match the immediately after description</span><span class="named-paragraph-number">2.6.1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP14" class="function-link"><span class="function-syntax">EmitCode::rfalse</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
</pre>

View file

@ -1,33 +1,33 @@
100.0% in inform7 run
71.2% in compilation to Inter
51.2% in //Sequence::undertake_queued_tasks//
4.5% in //MajorNodes::pre_pass//
3.3% in //MajorNodes::pass_1//
1.7% in //ImperativeDefinitions::assess_all//
1.5% in //RTPhrasebook::compile_entries//
1.3% in //RTKindConstructors::compile//
71.3% in compilation to Inter
50.5% in //Sequence::undertake_queued_tasks//
4.8% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile//
1.4% in //RTPhrasebook::compile_entries//
1.1% in //Sequence::lint_inter//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //ImperativeDefinitions::compile_first_block//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
2.6% not specifically accounted for
25.8% in running Inter pipeline
10.1% in step 14/15: generate inform6 -> auto.inf
5.6% in step 5/15: load-binary-kits
5.4% in step 6/15: make-synoptic-module
1.3% in step 9/15: make-identifiers-unique
2.8% not specifically accounted for
25.6% in running Inter pipeline
10.0% in step 14/15: generate inform6 -> auto.inf
5.7% in step 5/15: load-binary-kits
5.3% in step 6/15: make-synoptic-module
1.4% in step 9/15: make-identifiers-unique
0.5% in step 4/15: compile-splats
0.3% in step 12/15: eliminate-redundant-operations
0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
0.1% in step 11/15: eliminate-redundant-labels
1.4% not specifically accounted for
2.5% in supervisor
1.1% not specifically accounted for
2.6% in supervisor
0.4% not specifically accounted for

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformExtrasKit",
"version": "10.2.0-beta+6V72"
"version": "10.2.0-beta+6V73"
},
"kit-details": {
"has-priority": 1

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformKit",
"version": "10.2.0-beta+6V72"
"version": "10.2.0-beta+6V73"
},
"needs": [ {
"unless": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "CommandParserKit",
"version": "10.2.0-beta+6V72"
"version": "10.2.0-beta+6V73"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "EnglishLanguageKit",
"version": "10.2.0-beta+6V72"
"version": "10.2.0-beta+6V73"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "WorldModelKit",
"version": "10.2.0-beta+6V72"
"version": "10.2.0-beta+6V73"
},
"needs": [ {
"need": {

View file

@ -1,12 +1,20 @@
Use command line echoing.
Laboratory is a room.
Alice, Belle and Camilla are women in the Laboratory.
East of the Laboratory is the Annexe. Diego and Eric are men in the Annexe. The Annexe is dark.
South of the Laboratory is the Garden. The stumps, bat and ball are in the Garden.
South of the Laboratory is the Garden. Some stumps, the bat and the ball are in the Garden.
Fiona is a woman in the Garden.
West of the Laboratory is the Experimental Zone. Gharlane and Helmuth are men
in the Zone.
North of the Zone is the Strongroom. In the Strongroom are a diamond, an emerald
and a ruby.
When play begins:
showme audibility relation;
showme visibility relation;
@ -15,7 +23,9 @@ When play begins:
showme the list of people who can see Diego;
showme the list of people who can hear Diego;
showme the list of dialogue choices in the nested decisions beat;
showme the list of dialogue lines in the test only present speakers beat.
showme the list of dialogue lines in the test only present speakers beat;
showme the going active scene;
showme the going active beat;
Instead of jumping:
if dialogue about Alice intervenes:
@ -42,6 +52,10 @@ Every turn when the player is in the Garden or the player is in the Lake:
The Lake is east of the Garden. The sea monster and the mermaid are in the Lake.
Every turn when the player is in the Garden:
showme whether or not the bails beat is available;
showme whether or not the bails beat is relevant.
After going to the Lake:
alter the live conversational subject list to { sea monster, mermaid }.
@ -52,6 +66,32 @@ To say report on (D - a dialogue beat):
repeat with C running through dialogue choices in D:
say "[C] is [if C is unperformed]un[end if]performed; [if C is non-recurring]non-[end if]recurring; [if C is flowing]flowing[otherwise]offered[end if][if C is story-ending]; story-ending[end if].";
Before performing the one-time line:
say "**** ";
For performing the one-time line:
say "[speaker] languidly (well, in a [style] way) says: '[textual content of the one-time line]'.";
After performing the one-time line:
say "(Which I think is only to be expected.)";
Before offering a list of dialogue choices (called L):
say "(Okay, select from [L] here.)"
First rule for offering a list of dialogue choices (called L):
let N be 1;
repeat with C running through L:
say "(Option [N]) [textual content of C][line break]";
increase N by 1.
Spoken angrily and spoken softly are performance styles.
After going to the Zone:
perform the Boskone beat.
After going to the Strongroom:
perform the jewellery beat.
Section A (dialog)
(This is the starting beat.)
@ -68,7 +108,7 @@ Section A (dialog)
Diego (this is the d1 line): "I am Diego, though you'll never hear this."
Alice (this is the a1 line): "I am Alice."
Alice (this is the a1 line; to Belle): "I am [speaker], talking to [interlocutor]."
Belle (this is the b1 line; recurring): "I am Belle."
@ -84,7 +124,7 @@ Section B (dialogue)
(This is the test repeated speech beat.)
Alice: "I tell you just once, I am Alice."
Alice (this is the one-time line; angrily): "I tell you just once, I am Alice."
Belle (recurring): "I tell you as often as necessary, I am Alice."
@ -95,6 +135,12 @@ Belle (recurring): "I tell you as often as necessary, I am Alice."
-- (this is the white seedless choice) "My preferred grapes are white seedless."
-- (this is the red choice) "My preferred grapes are red."
-> another choice
-- (this is the rioja choice) "My preferred wine is Rioja."
-- (this is the shiraz choice) "My preferred wine is Shiraz."
-- (this is the camembert choice) "My favourite cheese is camembert."
@ -110,7 +156,7 @@ Narration: "You would appear to have selected: [list of performed dialogue choic
Narration: "[report on the nested decisions beat]"
(This is the going active beat.)
(This is the going active scene.)
Narration: "Bong! The director activity chime goes off."
@ -130,7 +176,7 @@ Diego: "Alice is kind of exhausting."
(About the bat and ball.)
Fiona: "The bat is willow and the ball is cork, I think."
Fiona (after taking the bat): "The bat is willow and the ball is cork, I think."
(About the ball.)
@ -139,8 +185,115 @@ Fiona (mentioning the bat and the stumps):
(About the stumps.)
Fiona: "There are three of them, for some reason."
Fiona (before the player taking the stumps): "There are three of them, for some reason."
(Next; about the stumps. This is the bails beat.)
Fiona: "I suppose that's what you need to hold up two bails."
(Spontaneous. Recurring. Requiring Fiona.)
Narration (recurring): "There is an awkward pause."
A woman: "Sometimes I just wanna talk, you know?"
(About the mermaid.)
Sea monster: "Blubbble."
(Later; about the mermaid.)
Sea monster: "Splish."
Section C (dialogue)
(This is the alien landing scene. If the apple is off-stage.)
Alice: "I see an alien landed today."
-- before looking
Alice: "No, I couldn't see it either."
-- otherwise
Alice (softly): "Aren't you curious?"
(This is the fourth wall breaker beat.)
Narration: "This is all just fiction."
Section D
An alien-summoning apple is in the Laboratory. The apple is edible.
The alien landing scene begins when the apple is off-stage.
A status board is in the Laboratory.
Instead of examining the status board:
repeat with B running through dialogue beats:
say "[B] is [if B is unperformed]un[end if]performed;
[if B is non-recurring]non-[end if]recurring;
[if B is unspontaneous]un[end if]spontaneous;
[if B is unavailable]un[end if]available;
[if B is irrelevant]ir[end if]relevant
[if B is being performed]; being performed[end if]
- [list of speakers required by B][line break]";
Section E
Performing is an action out of world applying to one dialogue beat.
Carry out performing:
perform the dialogue beat understood.
Understand "perform [dialogue beat]" as performing.
Section F (dialogue)
(This is the Boskone beat.)
Helmuth: "Are you, or are you in league with, Star A Star of the Galactic Patrol?"
-- "No."
Gharlane: "A likely story."
<-
-- "I don't know who that is."
Gharlane: "A mere worm."
<-
-- (if the current choice list is empty) "Admit frankly that you've run out of answers."
Gharlane: "Well, I've always respected honesty."
Narration (now Gharlane is nowhere; now Helmuth is nowhere): "The Boskonians vanish."
Section G (dialogue)
(This is the jewellery beat.)
Narration: "Now try taking these three baubles."
-- before taking the diamond
Narration: "I think not."
<-
-- instead of taking the emerald
Narration (now the player has the emerald): "You somehow filch it."
<-
-- after taking the ruby
Narration: "Very good."
<-

View file

@ -71,7 +71,9 @@ Honey: "So, Mr Bond, we meet at last. Welcome to the foremost sporting museum in
Honey (if Honey is honest; this is the admission line): "Really, [the bat] is too heavy for me."
Honey (ending the story saying "She flounced out!"): "That concludes our tour. And frankly, Mr Bond, I expected a little more personal attention from Universal Export's most notorious womanizer."
Honey: "That concludes our tour. And frankly, Mr Bond, I expected a little more personal attention from Universal Export's most notorious womanizer."
-> end the story saying "She flounced out!"
Section 2 - Closer Examination (dialogue)
@ -97,7 +99,9 @@ Honey: "And now, Mr Bond, it is time for you to consider our exhibits!"
-- instead of kissing Honey
Honey (ending the story saying "James Bond will Return"): "Oh, James... Ever since we met eighty seconds ago I have wanted you..."
Honey: "Oh, James... Ever since we met eighty seconds ago I have wanted you..."
-> end the story saying "James Bond will Return"
-- after looking
@ -129,7 +133,9 @@ Section 3 - Escape? (dialogue)
-- "Yes."
Honey (ending the story saying "Vrooom!"): "Spectre has a long memory, Mr Bond!"
Honey: "Spectre has a long memory, Mr Bond!"
-> end the story saying "Vrooom!"
-- "No."

View file

@ -1,5 +1,7 @@
2
1
scenes
examine status
listen
jump
e
@ -15,7 +17,24 @@ z
e
z
z
z
z
w
n
eat apple
look
examine status
perform fourth wall breaker beat
w
1
1
1
n
get diamond
get emerald
get ruby
i
s
e
quit
y

View file

@ -5,17 +5,19 @@
"list of people who can hear Alice" = list of people: {yourself, Alice, Belle, Camilla}
"list of people who can see Diego" = list of people: {}
"list of people who can hear Diego" = list of people: {Diego, Eric}
"list of dialogue choices in the nested decisions beat" = list of dialogue choices: {gouda choice, white seedless choice, red choice, camembert choice, white seeded choice, black choice, poison choice, flow-12}
"list of dialogue choices in the nested decisions beat" = list of dialogue choices: {gouda choice, white seedless choice, red choice, flow-8, rioja choice, shiraz choice, camembert choice, white seeded choice, black choice, poison choice, flow-15}
"list of dialogue lines in the test only present speakers beat" = list of dialogue lines: {d1 line, a1 line, b1 line, d2 line, e1 line, a2 line, reporting narration line}
scene: going active scene
dialogue beat: going active beat
Welcome
An Interactive Fiction
Release 1 / Serial number 160428 / Inform 7 v10.2.0 / D
Laboratory
You can see Alice, Belle and Camilla here.
You can see Alice, Belle, Camilla, an alien-summoning apple and a status board here.
Alice: "I am Alice."
Alice (to Belle): "I am Alice, talking to Belle."
Belle: "I am Belle."
@ -29,21 +31,24 @@
reporting narration line is unperformed; non-recurring; narrated; unelaborated; available; verbal.
Alice: "I tell you just once, I am Alice."
**** Alice languidly (well, in a Spoken angrily way) says: "I tell you just once, I am Alice.".
(Which I think is only to be expected.)
Belle: "I tell you as often as necessary, I am Alice."
Belle: "I tell you as often as necessary, I am Alice."
(1) My favourite cheese is vintage gouda.
(2) My favourite cheese is camembert.
(Okay, select from gouda choice and camembert choice here.)
(Option 1) My favourite cheese is vintage gouda.
(Option 2) My favourite cheese is camembert.
> >
My favourite cheese is camembert.
(1) My preferred grapes are white yet seeded.
(2) My preferred grapes are black.
(3) My preferred grapes are arsenic-laced.
(Okay, select from white seeded choice, black choice and poison choice here.)
(Option 1) My preferred grapes are white yet seeded.
(Option 2) My preferred grapes are black.
(Option 3) My preferred grapes are arsenic-laced.
> > Laboratory
My preferred grapes are white yet seeded.
@ -56,93 +61,287 @@
gouda choice is unperformed; non-recurring; offered.
white seedless choice is unperformed; non-recurring; offered.
red choice is unperformed; non-recurring; offered.
flow-8 is unperformed; non-recurring; flowing.
rioja choice is unperformed; non-recurring; offered.
shiraz choice is unperformed; non-recurring; offered.
camembert choice is performed; non-recurring; offered.
white seeded choice is performed; non-recurring; offered.
black choice is unperformed; non-recurring; offered.
poison choice is unperformed; non-recurring; offered.
flow-12 is unperformed; non-recurring; flowing; story-ending.
flow-15 is unperformed; non-recurring; flowing; story-ending.
> > Laboratory
** scenes
Scene 'Entire Game' playing (for 0 mins now)
(Scene monitoring now switched on. Type "scenes off" to switch it off again.)
> > Laboratory
** examine status
starting beat is performed; non-recurring; unspontaneous; available; irrelevant -
test only present speakers beat is performed; non-recurring; unspontaneous; available; irrelevant - Diego, Alice, Belle and Eric
test repeated speech beat is performed; non-recurring; unspontaneous; available; irrelevant - Alice and Belle
nested decisions beat is performed; non-recurring; unspontaneous; available; irrelevant -
going active beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
going inactive beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
beat-7 is unperformed; recurring; unspontaneous; available; irrelevant -
beat-8 is unperformed; non-recurring; unspontaneous; available; irrelevant - Fiona
beat-9 is unperformed; non-recurring; unspontaneous; available; irrelevant - Fiona
beat-10 is unperformed; non-recurring; unspontaneous; available; irrelevant - Fiona
bails beat is unperformed; non-recurring; unspontaneous; unavailable; irrelevant - Fiona
beat-12 is unperformed; recurring; spontaneous; available; irrelevant - Fiona
beat-13 is unperformed; non-recurring; unspontaneous; available; irrelevant - sea monster
beat-14 is unperformed; non-recurring; unspontaneous; unavailable; irrelevant - sea monster
alien landing beat is unperformed; non-recurring; unspontaneous; unavailable; irrelevant - Alice
fourth wall breaker beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
Boskone beat is unperformed; non-recurring; unspontaneous; available; irrelevant - Helmuth and Gharlane
jewellery beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
> > Laboratory
** listen
"list of people who can hear the player" = list of people: {yourself, Alice, Belle, Camilla}
"list of people who can be heard by the player" = list of people: {yourself, Alice, Belle, Camilla}
> > Laboratory
** jump
Alice: "I am self-explanatory."
> > Darkness
** e
Darkness
It is pitch dark, and you can't see a thing.
> > Darkness
** listen
"list of people who can hear the player" = list of people: {yourself, Diego, Eric}
"list of people who can be heard by the player" = list of people: {yourself, Diego, Eric}
> > Darkness
** jump
Diego: "Alice is kind of exhausting."
> > Laboratory
** w
Laboratory
You can see Alice, Belle and Camilla here.
You can see Alice, Belle, Camilla, an alien-summoning apple and a status board here.
> > Garden
** s
[Scene 'going active scene' begins]
Bong! The director activity chime goes off.
[Scene 'going active scene' ends]
"live conversational subject list" = list of objects: {}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: false
> > Garden
You see nothing special about ball.
** examine ball
You see nothing special about the ball.
"live conversational subject list" = list of objects: {ball}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: false
Fiona picks up the bat.
Fiona: "The bat is willow and the ball is cork, I think."
> > Garden
** z
Time passes.
"live conversational subject list" = list of objects: {bat, ball}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: false
Fiona: "The idea's to use the bat to defend the stumps."
> > Garden
** z
Time passes.
"live conversational subject list" = list of objects: {stumps, bat, ball}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: true
Fiona: "There are three of them, for some reason."
Taken.
> > Garden
** z
Time passes.
"live conversational subject list" = list of objects: {stumps, bat, ball}
"whether or not the bails beat is available" = truth state: true
"whether or not the bails beat is relevant" = truth state: true
Fiona: "I suppose that's what you need to hold up two bails."
> > Garden
** z
Time passes.
"live conversational subject list" = list of objects: {stumps, bat, ball}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: true
There is an awkward pause.
Fiona: "Sometimes I just wanna talk, you know?"
> > Lake
** e
"live conversational subject list" = list of objects: {sea monster, mermaid}
The sea monster: "Blubbble."
> > Lake
** z
Time passes.
"live conversational subject list" = list of objects: {sea monster, mermaid}
The sea monster: "Splish."
> > Lake
** z
Time passes.
"live conversational subject list" = list of objects: {sea monster, mermaid}
> > Lake
** z
Time passes.
"live conversational subject list" = list of objects: {sea monster, mermaid}
> > Lake
** z
Time passes.
"live conversational subject list" = list of objects: {sea monster, mermaid}
> > Garden
** w
Garden
You can see a stumps, bat, ball and Fiona here.
You can see a ball and Fiona here.
"live conversational subject list" = list of objects: {sea monster, mermaid}
"whether or not the bails beat is available" = truth state: false
"whether or not the bails beat is relevant" = truth state: false
There is an awkward pause.
> > Laboratory
** n
Gnob! The director activity chime sounds in reverse.
> > Laboratory
** eat apple
(first taking the alien-summoning apple)
You eat the alien-summoning apple. Not bad.
[Scene 'alien landing scene' begins]
Alice: "I see an alien landed today."
> > Laboratory
** look
Alice: "No, I couldn't see it either."
[Scene 'alien landing scene' ends]
> > Laboratory
** examine status
starting beat is performed; non-recurring; unspontaneous; available; irrelevant -
test only present speakers beat is performed; non-recurring; unspontaneous; available; irrelevant - Diego, Alice, Belle and Eric
test repeated speech beat is performed; non-recurring; unspontaneous; available; irrelevant - Alice and Belle
nested decisions beat is performed; non-recurring; unspontaneous; available; irrelevant -
going active beat is performed; non-recurring; unspontaneous; available; irrelevant -
going inactive beat is performed; non-recurring; unspontaneous; available; irrelevant -
beat-7 is performed; recurring; unspontaneous; available; irrelevant -
beat-8 is performed; non-recurring; unspontaneous; available; irrelevant - Fiona
beat-9 is performed; non-recurring; unspontaneous; available; irrelevant - Fiona
beat-10 is performed; non-recurring; unspontaneous; available; irrelevant - Fiona
bails beat is performed; non-recurring; unspontaneous; unavailable; irrelevant - Fiona
beat-12 is performed; recurring; spontaneous; available; irrelevant - Fiona
beat-13 is performed; non-recurring; unspontaneous; available; irrelevant - sea monster
beat-14 is performed; non-recurring; unspontaneous; available; irrelevant - sea monster
alien landing beat is performed; non-recurring; unspontaneous; available; irrelevant - Alice
fourth wall breaker beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
Boskone beat is unperformed; non-recurring; unspontaneous; available; irrelevant - Helmuth and Gharlane
jewellery beat is unperformed; non-recurring; unspontaneous; available; irrelevant -
> > Laboratory
** perform fourth wall breaker beat
This is all just fiction.
> > Laboratory
** w
Helmuth: "Are you, or are you in league with, Star A Star of the Galactic Patrol?"
(Okay, select from choice-19 and choice-21 here.)
(Option 1) No.
(Option 2) I don't know who that is.
> > Laboratory
No.
Gharlane: "A likely story."
(Okay, select from choice-21 here.)
(Option 1) I don't know who that is.
> > Laboratory
I don't know who that is.
Gharlane: "A mere worm."
(Okay, select from choice-23 here.)
(Option 1) Admit frankly that you've run out of answers.
> > Experimental Zone
Admit frankly that you've run out of answers.
Gharlane: "Well, I've always respected honesty."
The Boskonians vanish.
> > Strongroom
** n
Now try taking these three baubles.
> > Strongroom
** get diamond
I think not.
> > Strongroom
** get emerald
You somehow filch it.
> > Strongroom
** get ruby
Taken.
Very good.
> > Strongroom
** i
You are carrying:
a ruby
an emerald
some stumps
> > Experimental Zone
** s
> > Laboratory
** e
Laboratory
You can see Alice, Belle, Camilla and a status board here.
> > Laboratory
** quit
> Are you sure you want to quit?

View file

@ -34,7 +34,7 @@
Daphne: "A cricket ball is made with a core of cork, which is layered with tightly wound string, and covered by a leather case with a slightly raised sewn seam."
"list of available dialogue beats" = list of dialogue beats: {alpha beat, beta beat, gamma beat, epsilon beat, nu beat, eta beat}
"list of available dialogue beats" = list of dialogue beats: {alpha beat, beta beat, gamma beat, delta beat, epsilon beat, nu beat, eta beat}
Daphne: "Cricket's kind of dull, when you think about it."
The ball: "I disagree!"

View file

@ -61,7 +61,7 @@
** kiss honey
Honey Maiden: "Oh, James... Ever since we met eighty seconds ago I have wanted you..."
You took Sean Connery choice, flow-2, choice-3, choice-6, flow-7, flow-10, choice-11, flow-12, choice-14, flow-15 and choice-16, and heard line-1, line-2, line-3, line-4, line-7, line-11, line-12, line-14 and line-15 in the beats arrival beat and closer examination beat.
You took Sean Connery choice, flow-2, choice-3, choice-6, flow-7, flow-10, choice-12, flow-13, choice-15, flow-16, choice-17 and flow-18, and heard line-1, line-2, line-3, line-4, line-7, line-11, line-12, line-14 and line-15 in the beats arrival beat and closer examination beat.
@ -142,7 +142,7 @@
Honey Maiden: "That concludes our tour. And frankly, Mr Bond, I expected a little more personal attention from Universal Export's most notorious womanizer."
You took choice-3, choice-4, flow-5, flow-10, choice-11, flow-12, choice-13, choice-14, flow-15, choice-19 and flow-20, and heard line-1, line-2, line-4, line-6, line-10, line-11, line-12, line-13, line-14, line-16, line-17 and line-18 in the beats arrival beat and closer examination beat.
You took choice-3, choice-4, flow-5, flow-10, flow-11, choice-12, flow-13, choice-14, choice-15, flow-16, choice-21 and flow-22, and heard line-1, line-2, line-4, line-6, line-10, line-11, line-12, line-13, line-14, line-16, line-17 and line-18 in the beats arrival beat and closer examination beat.

View file

@ -324,14 +324,14 @@ performed only after or before other beats.
case NEXT_DBC:
if ((previous) && (previous->under_heading == db->under_heading)) {
iac++;
db->immediately_after = Dialogue::rvalue_from_dialogue_beat(previous);
db->immediately_after = Rvalues::from_instance(previous->as_instance);
} else {
@<Issue PM_NoPreviousBeat problem@>;
}
break;
case LATER_DBC:
if ((previous) && (previous->under_heading == db->under_heading)) {
parse_node *desc = Dialogue::rvalue_from_dialogue_beat(previous);
parse_node *desc = Rvalues::from_instance(previous->as_instance);
ADD_TO_LINKED_LIST(desc, parse_node, db->some_time_after);
} else {
@<Issue PM_NoPreviousBeat problem@>;

View file

@ -213,7 +213,6 @@ void RTDialogueBeats::beat_compilation_agent(compilation_subtask *ct) {
EmitCode::code();
EmitCode::down();
@<Return false if latest does not match the immediately after description@>;
EmitCode::rfalse();
EmitCode::up();
EmitCode::up();