mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Removal of BasicInformExtrasKit
This commit is contained in:
parent
93f871711b
commit
d7d1d09277
|
@ -125,10 +125,11 @@ following command-line tools:
|
|||
The following webs are the source for kits of Inter code shipped with Inform (at the subtree inform7/Internal/Inter). Kits are libraries of code needed at run-time, and whose source is written in Inform 6 notation:
|
||||
|
||||
* BasicInformKit - Support for Inform as a programming language - [★ Web](https://ganelson.github.io/inform/BasicInformKit/index.html)
|
||||
* Architecture16Kit - Support for running on 16-bit platforms - [★ Web](https://ganelson.github.io/inform/Architecture16Kit/index.html)
|
||||
* Architecture32Kit - Support for running on 32-bit platforms - [★ Web](https://ganelson.github.io/inform/Architecture32Kit/index.html)
|
||||
* WorldModelKit - Support for modelling space, time and actions in interactive fiction - [★ Web](https://ganelson.github.io/inform/WorldModelKit/index.html)
|
||||
* EnglishLanguageKit - Support for English as the natural language used - [★ Web](https://ganelson.github.io/inform/EnglishLanguageKit/index.html)
|
||||
* CommandParserKit - Support for parsing turn-by-turn commands in interactive fiction - [★ Web](https://ganelson.github.io/inform/CommandParserKit/index.html)
|
||||
* BasicInformExtrasKit - Additional support needed only if the Standard Rules are not used - [★ Web](https://ganelson.github.io/inform/BasicInformExtrasKit/index.html)
|
||||
* DialogueKit - Additional support for dialogue (under construction) - [★ Web](https://ganelson.github.io/inform/DialogueKit/index.html)
|
||||
|
||||
### Extensions shipped with Inform
|
||||
|
|
|
@ -62,7 +62,6 @@ web: "WorldModelKit" at "inform7/Internal/Inter/WorldModelKit" in "docs/WorldMod
|
|||
web: "EnglishLanguageKit" at "inform7/Internal/Inter/EnglishLanguageKit" in "docs/EnglishLanguageKit"
|
||||
web: "CommandParserKit" at "inform7/Internal/Inter/CommandParserKit" in "docs/CommandParserKit"
|
||||
web: "BasicInformKit" at "inform7/Internal/Inter/BasicInformKit" in "docs/BasicInformKit"
|
||||
web: "BasicInformExtrasKit" at "inform7/Internal/Inter/BasicInformExtrasKit" in "docs/BasicInformExtrasKit"
|
||||
web: "Architecture16Kit" at "inform7/Internal/Inter/Architecture16Kit" in "docs/Architecture16Kit"
|
||||
web: "Architecture32Kit" at "inform7/Internal/Inter/Architecture32Kit" in "docs/Architecture32Kit"
|
||||
web: "DialogueKit" at "inform7/Internal/Inter/DialogueKit" in "docs/DialogueKit"
|
||||
|
|
|
@ -5,40 +5,6 @@
|
|||
<p>A kit of Inter code providing runtime support for all programs written
|
||||
with Inform.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="BasicInformExtrasKit/index.html"><img src="docs-assets/kit.jpg" alt="BasicInformExtrasKit" style="width:100%"></a>
|
||||
<h3><a href="BasicInformExtrasKit/index.html">BasicInformExtrasKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for all programs not using
|
||||
WorldModelKit.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="EnglishLanguageKit/index.html"><img src="docs-assets/kit.jpg" alt="EnglishLanguageKit" style="width:100%"></a>
|
||||
<h3><a href="EnglishLanguageKit/index.html">EnglishLanguageKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for programs compiled
|
||||
with English as their natural language.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="WorldModelKit/index.html"><img src="docs-assets/ifkit.jpg" alt="WorldModelKit" style="width:100%"></a>
|
||||
<h3><a href="WorldModelKit/index.html">WorldModelKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a simulated world.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="CommandParserKit/index.html"><img src="docs-assets/ifkit.jpg" alt="CommandParserKit" style="width:100%"></a>
|
||||
<h3><a href="CommandParserKit/index.html">CommandParserKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a command parser interface.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="DialogueKit/index.html"><img src="docs-assets/ifkit.jpg" alt="DialogueKit" style="width:100%"></a>
|
||||
<h3><a href="DialogueKit/index.html">DialogueKit</a></h3>
|
||||
<p>A kit of Inter code eventually to provide runtime support for dialogue, an experimental
|
||||
new feature of Inform which is not yet implemented.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="Architecture16Kit/index.html"><img src="docs-assets/kit.jpg" alt="Architecture16Kit" style="width:100%"></a>
|
||||
<h3><a href="Architecture16Kit/index.html">Architecture16Kit</a></h3>
|
||||
|
@ -53,3 +19,31 @@
|
|||
executables via C.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="EnglishLanguageKit/index.html"><img src="docs-assets/kit.jpg" alt="EnglishLanguageKit" style="width:100%"></a>
|
||||
<h3><a href="EnglishLanguageKit/index.html">EnglishLanguageKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for programs compiled
|
||||
with English as their natural language.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="WorldModelKit/index.html"><img src="docs-assets/ifkit.jpg" alt="WorldModelKit" style="width:100%"></a>
|
||||
<h3><a href="WorldModelKit/index.html">WorldModelKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a simulated world.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="CommandParserKit/index.html"><img src="docs-assets/ifkit.jpg" alt="CommandParserKit" style="width:100%"></a>
|
||||
<h3><a href="CommandParserKit/index.html">CommandParserKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a command parser interface.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="DialogueKit/index.html"><img src="docs-assets/ifkit.jpg" alt="DialogueKit" style="width:100%"></a>
|
||||
<h3><a href="DialogueKit/index.html">DialogueKit</a></h3>
|
||||
<p>A kit of Inter code eventually to provide runtime support for dialogue, an experimental
|
||||
new feature of Inform which is not yet implemented.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,7 +15,7 @@ the project is being compiled to a 16-bit or a 32-bit platform.
|
|||
However, if the "Basic Inform" checkbox is ticked on the Settings panel for
|
||||
the project, the kits will instead be:
|
||||
= (text)
|
||||
Architecture32Kit + BasicInformKit + EnglishLanguageKit + BasicInformExtrasKit
|
||||
Architecture32Kit + BasicInformKit + EnglishLanguageKit
|
||||
=
|
||||
And these are also the defaults when Inform projects are compiled from the command
|
||||
line, with the optional |-basic| switch forcing us into the second case.
|
||||
|
|
|
@ -1,135 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Miscellany</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../index.html">home</a></li>
|
||||
</ul><h2>Compiler</h2><ul>
|
||||
<li><a href="../structure.html">structure</a></li>
|
||||
<li><a href="../inbuildn.html">inbuild</a></li>
|
||||
<li><a href="../inform7n.html">inform7</a></li>
|
||||
<li><a href="../intern.html">inter</a></li>
|
||||
<li><a href="../services.html">services</a></li>
|
||||
<li><a href="../secrets.html">secrets</a></li>
|
||||
</ul><h2>Other Tools</h2><ul>
|
||||
<li><a href="../inblorbn.html">inblorb</a></li>
|
||||
<li><a href="../indocn.html">indoc</a></li>
|
||||
<li><a href="../inform6.html">inform6</a></li>
|
||||
<li><a href="../inpolicyn.html">inpolicy</a></li>
|
||||
<li><a href="../inrtpsn.html">inrtps</a></li>
|
||||
</ul><h2>Resources</h2><ul>
|
||||
<li><a href="../extensions.html">extensions</a></li>
|
||||
<li><a href="../kits.html">kits</a></li>
|
||||
</ul><h2>Repository</h2><ul>
|
||||
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
|
||||
</ul><h2>Related Projects</h2><ul>
|
||||
<li><a href="../../../inweb/index.html">inweb</a></li>
|
||||
<li><a href="../../../intest/index.html">intest</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'Miscellany' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><b>BasicInformExtrasKit</b></li></ul></div>
|
||||
<p class="purpose">Additions to the Basic Inform template which are needed only if the Standard Rules are not to be used.</p>
|
||||
|
||||
<ul class="toc"><li><a href="S-msc.html#SP1">§1. Identification</a></li><li><a href="S-msc.html#SP2">§2. Justification</a></li><li><a href="S-msc.html#SP3">§3. Miscellany</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Identification. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">BASICINFORMEXTRASKIT</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Justification. </b>Q. Why isn't all of this done with conditional compilation in the Basic Inform
|
||||
template files? A. That wouldn't work, since template files are assimilated
|
||||
before it is known how they will be used.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Miscellany. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ACTION_PROCESSING_RB</span><span class="plain-syntax"> = -1; </span><span class="comment-syntax">Identifier needs to exist even when the rulebook does not</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DefaultTopic</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PrintSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" and "</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">RunTimeProblemShowWM</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax"> </span><span class="identifier-syntax">z</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">OwnerOf</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="reserved-syntax">nothing</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">MoveObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="reserved-syntax">to</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">WriteListOfMarkedObjects</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_style</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">objectloop</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Object</span><span class="plain-syntax"> && </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">workflag2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">objectloop</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Object</span><span class="plain-syntax"> && </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">workflag2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PrintShortName</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c</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">c</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">", "</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">Main</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">self</span><span class="plain-syntax"> = </span><span class="identifier-syntax">COL_HSIZE</span><span class="plain-syntax">; </span><span class="comment-syntax">To ensure this definition is not optimised out</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VM_Initialise</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">INITIALISE_MEMORY_R</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SEED_RANDOM_NUMBER_GENERATOR_R</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Submain</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">INITIALISE_MEMORY_R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VM_PreInitialise</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LanguageInitialise</span><span class="plain-syntax">();</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HeapInitialise</span><span class="plain-syntax">(); </span><span class="comment-syntax">Create a completely unused memory allocation heap</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">StackFramingInitialise</span><span class="plain-syntax">(); </span><span class="comment-syntax">Create an empty stack</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CreateDynamicRelations</span><span class="plain-syntax">(); </span><span class="comment-syntax">Create relation structures on the heap</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DrawStatusLine</span><span class="plain-syntax"> </span><span class="identifier-syntax">width</span><span class="plain-syntax"> </span><span class="identifier-syntax">posb</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</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">gender</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</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">case</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LanguageAnimateGender</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LanguageInanimateGender</span><span class="plain-syntax">;</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">pluralname</span><span class="plain-syntax">) </span><span class="identifier-syntax">case</span><span class="plain-syntax"> = </span><span class="identifier-syntax">case</span><span class="plain-syntax"> + </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PNToVP</span><span class="plain-syntax"> </span><span class="identifier-syntax">gna</span><span class="plain-syntax">;</span>
|
||||
<span class="comment-syntax">if (prior_named_noun == player) return story_viewpoint;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">prior_named_noun</span><span class="plain-syntax">) </span><span class="identifier-syntax">gna</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax">(</span><span class="identifier-syntax">prior_named_noun</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">gna</span><span class="plain-syntax">%6)/3 == </span><span class="constant-syntax">1</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">prior_named_list</span><span class="plain-syntax"> >= </span><span class="constant-syntax">2</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>BasicInformExtrasKit</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../index.html">home</a></li>
|
||||
</ul><h2>Compiler</h2><ul>
|
||||
<li><a href="../structure.html">structure</a></li>
|
||||
<li><a href="../inbuildn.html">inbuild</a></li>
|
||||
<li><a href="../inform7n.html">inform7</a></li>
|
||||
<li><a href="../intern.html">inter</a></li>
|
||||
<li><a href="../services.html">services</a></li>
|
||||
<li><a href="../secrets.html">secrets</a></li>
|
||||
</ul><h2>Other Tools</h2><ul>
|
||||
<li><a href="../inblorbn.html">inblorb</a></li>
|
||||
<li><a href="../indocn.html">indoc</a></li>
|
||||
<li><a href="../inform6.html">inform6</a></li>
|
||||
<li><a href="../inpolicyn.html">inpolicy</a></li>
|
||||
<li><a href="../inrtpsn.html">inrtps</a></li>
|
||||
</ul><h2>Resources</h2><ul>
|
||||
<li><a href="../extensions.html">extensions</a></li>
|
||||
<li><a href="../kits.html">kits</a></li>
|
||||
</ul><h2>Repository</h2><ul>
|
||||
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
|
||||
</ul><h2>Related Projects</h2><ul>
|
||||
<li><a href="../../../inweb/index.html">inweb</a></li>
|
||||
<li><a href="../../../intest/index.html">intest</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><b>BasicInformExtrasKit</b></li></ul>
|
||||
<p class="purpose">Additional Inter-level support for non-interactive fiction uses of the Inform language. This is version 1.</p>
|
||||
<hr>
|
||||
<div class="contentspage">
|
||||
<ul class="chapterlist">
|
||||
<li>
|
||||
<p class="chapterentry"><a href="S-msc.html">
|
||||
<spon class="sectiontitle">Miscellany</span></a> -
|
||||
<span class="sectionpurpose">Additions to the Basic Inform template which are needed only if the Standard Rules are not to be used.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr>
|
||||
<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -275,7 +275,7 @@ use the "listing contents of..." activity in any circumstances.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">`</span><span class="identifier-syntax">SERIAL_COMMA_CFGF</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">no_items</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">2</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">","</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><a href="index.html">BasicInformKit</a></li><li><b>Printing Template</b></li></ul></div>
|
||||
<p class="purpose">To handle the printing of names of objects.</p>
|
||||
|
||||
<ul class="toc"><li><a href="S-prn.html#SP1">§1. Short Name Storage</a></li><li><a href="S-prn.html#SP2">§2. Object Names I</a></li><li><a href="S-prn.html#SP3">§3. Standard Name Printing Rule</a></li><li><a href="S-prn.html#SP4">§4. Object Names II</a></li><li><a href="S-prn.html#SP5">§5. Object Names III</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="S-prn.html#SP1">§1. Short Name Storage</a></li><li><a href="S-prn.html#SP2">§2. Object Names I</a></li><li><a href="S-prn.html#SP3">§3. Standard Name Printing Rule</a></li><li><a href="S-prn.html#SP4">§4. Object Names II</a></li><li><a href="S-prn.html#SP5">§5. Object Names III</a></li><li><a href="S-prn.html#SP6">§6. Miscellaneous</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Short Name Storage. </b>None of the following functions should be called for the Z-machine if the
|
||||
short name exceeds the size of the following buffer: whereas the Glulx
|
||||
|
@ -124,7 +124,7 @@ do it by carrying out an activity.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PSN__</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</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">o</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</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">o</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="reserved-syntax">metaclass</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">: </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">"<routine "</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">, </span><span class="string-syntax">">"</span><span class="plain-syntax">; </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">String</span><span class="plain-syntax">: </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">"<string ~"</span><span class="plain-syntax">, (</span><span class="reserved-syntax">string</span><span class="plain-syntax">) </span><span class="identifier-syntax">o</span><span class="plain-syntax">, </span><span class="string-syntax">"~>"</span><span class="plain-syntax">; </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
|
@ -149,7 +149,7 @@ the following "for" rule.
|
|||
<span class="plain-syntax">[ </span><span class="identifier-syntax">STANDARD_NAME_PRINTING_R</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parameter_value</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">obj</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="reserved-syntax">metaclass</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">: </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">"<routine "</span><span class="plain-syntax">, </span><span class="identifier-syntax">obj</span><span class="plain-syntax">, </span><span class="string-syntax">">"</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
|
@ -257,7 +257,7 @@ indefinite singular depends on the text of the object's name.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">IndefArt</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">s</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">obj</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</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">obj</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax">; </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">; </span><span class="identifier-syntax">s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">self</span><span class="plain-syntax">; </span><span class="identifier-syntax">self</span><span class="plain-syntax"> = </span><span class="identifier-syntax">obj</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">proper</span><span class="plain-syntax">) { </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="reserved-syntax">print</span><span class="plain-syntax"> (</span><span class="identifier-syntax">PSN__</span><span class="plain-syntax">) </span><span class="identifier-syntax">obj</span><span class="plain-syntax">; </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">; </span><span class="identifier-syntax">self</span><span class="plain-syntax"> = </span><span class="identifier-syntax">s</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">provides</span><span class="plain-syntax"> </span><span class="identifier-syntax">article</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">TEXT_TY_Compare</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">article</span><span class="plain-syntax">, </span><span class="identifier-syntax">EMPTY_TEXT_VALUE</span><span class="plain-syntax">) ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">)) {</span>
|
||||
|
@ -268,7 +268,7 @@ indefinite singular depends on the text of the object's name.
|
|||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">CIndefArt</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">s</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">obj</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'X'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</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">obj</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'X'</span><span class="plain-syntax">); </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax">; </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">; </span><span class="identifier-syntax">s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">self</span><span class="plain-syntax">; </span><span class="identifier-syntax">self</span><span class="plain-syntax"> = </span><span class="identifier-syntax">obj</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">proper</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
@ -313,6 +313,65 @@ indefinite singular depends on the text of the object's name.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">PrefaceByArticle</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">; </span><span class="identifier-syntax">self</span><span class="plain-syntax"> = </span><span class="identifier-syntax">s</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Miscellaneous. </b>What the following functions have in common is that they are all minimal
|
||||
definitions which apply only to Basic Inform programs. More elaborate
|
||||
<span class="extract"><span class="extract-syntax">WorldModelKit</span></span> alternatives will be used if that kit is present, as it
|
||||
always is for non-Basic Inform projects.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DrawStatusLine</span><span class="plain-syntax"> </span><span class="identifier-syntax">width</span><span class="plain-syntax"> </span><span class="identifier-syntax">posb</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">No status line is displayed</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DefaultTopic</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">Topics exist only in CommandParserKit</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PrintSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">Snippets exist only in CommandParserKit</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_R</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">There is no player in Basic Inform</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">RunTimeProblemShowWM</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax"> </span><span class="identifier-syntax">z</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">Prints RTPs only occurring in WorldModelKit</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b>PNToVP() takes no arguments and returns the GNA (gender-noun-animation) for
|
||||
the <span class="extract"><span class="extract-syntax">prior_named_noun</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PNToVP</span><span class="plain-syntax"> </span><span class="identifier-syntax">gna</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">prior_named_noun</span><span class="plain-syntax">) </span><span class="identifier-syntax">gna</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax">(</span><span class="identifier-syntax">prior_named_noun</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">gna</span><span class="plain-syntax">%6)/3 == </span><span class="constant-syntax">1</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">prior_named_list</span><span class="plain-syntax"> >= </span><span class="constant-syntax">2</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</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">gender</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</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">case</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LanguageAnimateGender</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LanguageInanimateGender</span><span class="plain-syntax">;</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">pluralname</span><span class="plain-syntax">) </span><span class="identifier-syntax">case</span><span class="plain-syntax"> = </span><span class="identifier-syntax">case</span><span class="plain-syntax"> + </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b>This provides just a little of the list-writer.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">WriteListOfMarkedObjects</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_style</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">objectloop</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Object</span><span class="plain-syntax"> && </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">workflag2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">objectloop</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Object</span><span class="plain-syntax"> && </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">workflag2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PrintShortName</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c</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">c</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">", "</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax"> </span><span class="identifier-syntax">X</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</span><span class="plain-syntax">; </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" and "</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. </b>These two functions are not really to do with printing, but are also stubs
|
||||
provided for Basic Inform only.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">OwnerOf</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="reserved-syntax">nothing</span><span class="plain-syntax">; ]; </span><span class="comment-syntax">"owner" implies personhood, and we have no people</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">MoveObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">A</span><span class="plain-syntax"> </span><span class="identifier-syntax">B</span><span class="plain-syntax">; </span><span class="comment-syntax">this is considerably more restricted by WorldModelKit</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">A</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">B</span><span class="plain-syntax">)) </span><span class="reserved-syntax">move</span><span class="plain-syntax"> </span><span class="identifier-syntax">A</span><span class="plain-syntax"> </span><span class="reserved-syntax">to</span><span class="plain-syntax"> </span><span class="identifier-syntax">B</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="S-act.html">❮</a></li><li class="progresssection"><a href="S-dfn.html">dfn</a></li><li class="progresssection"><a href="S-utl.html">utl</a></li><li class="progresssection"><a href="S-prg.html">prg</a></li><li class="progresssection"><a href="S-mth.html">mth</a></li><li class="progresssection"><a href="S-srt.html">srt</a></li><li class="progresssection"><a href="S-tbl.html">tbl</a></li><li class="progresssection"><a href="S-mst.html">mst</a></li><li class="progresssection"><a href="S-rlb.html">rlb</a></li><li class="progresssection"><a href="S-act.html">act</a></li><li class="progresscurrent">prn</li><li class="progresssection"><a href="S-flx.html">flx</a></li><li class="progresssection"><a href="S-blc.html">blc</a></li><li class="progresssection"><a href="S-txt.html">txt</a></li><li class="progresssection"><a href="S-chr.html">chr</a></li><li class="progresssection"><a href="S-rgx.html">rgx</a></li><li class="progresssection"><a href="S-lst.html">lst</a></li><li class="progresssection"><a href="S-cmb.html">cmb</a></li><li class="progresssection"><a href="S-rlt.html">rlt</a></li><li class="progresssection"><a href="S-rlt2.html">rlt2</a></li><li class="progresssection"><a href="S-rtp.html">rtp</a></li><li class="progressnext"><a href="S-flx.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -156,6 +156,7 @@ or failed if —
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">process_rulebook_count</span><span class="plain-syntax">; </span><span class="comment-syntax">Depth of processing recursion</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">debugging_rules</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">; </span><span class="comment-syntax">Are we tracing rule invocations?</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">rulebook_without_variables</span><span class="plain-syntax"> = -1; </span><span class="comment-syntax">WorldModelKit sets this to ACTION_PROCESSING_RB</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">FollowRulebook</span><span class="plain-syntax"> </span><span class="identifier-syntax">rulebook</span><span class="plain-syntax"> </span><span class="identifier-syntax">parameter</span><span class="plain-syntax"> </span><span class="identifier-syntax">no_paragraph_skips</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> </span><span class="identifier-syntax">ss</span><span class="plain-syntax"> </span><span class="identifier-syntax">spv</span><span class="plain-syntax">;</span>
|
||||
|
@ -175,10 +176,10 @@ or failed if —
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">rulebook</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">rulebook</span><span class="plain-syntax"> < </span><span class="identifier-syntax">NUMBER_RULEBOOKS_CREATED</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rulebooks_array</span><span class="plain-syntax">--></span><span class="identifier-syntax">rulebook</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">rv</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">EMPTY_RULEBOOK</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">rulebook</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">ACTION_PROCESSING_RB</span><span class="plain-syntax">) </span><span class="identifier-syntax">MStack_CreateRBVars</span><span class="plain-syntax">(</span><span class="identifier-syntax">rulebook</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">rulebook</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">rulebook_without_variables</span><span class="plain-syntax">) </span><span class="identifier-syntax">MStack_CreateRBVars</span><span class="plain-syntax">(</span><span class="identifier-syntax">rulebook</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">say__p</span><span class="plain-syntax">) </span><span class="identifier-syntax">RulebookParBreak</span><span class="plain-syntax">(</span><span class="identifier-syntax">no_paragraph_skips</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rv</span><span class="plain-syntax">(</span><span class="identifier-syntax">no_paragraph_skips</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">rulebook</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">ACTION_PROCESSING_RB</span><span class="plain-syntax">) </span><span class="identifier-syntax">MStack_DestroyRBVars</span><span class="plain-syntax">(</span><span class="identifier-syntax">rulebook</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">rulebook</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">rulebook_without_variables</span><span class="plain-syntax">) </span><span class="identifier-syntax">MStack_DestroyRBVars</span><span class="plain-syntax">(</span><span class="identifier-syntax">rulebook</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="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -352,7 +352,7 @@ are above 32K. This only rarely happens, but it can.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PrintSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">snip</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="reserved-syntax">to</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> </span><span class="identifier-syntax">w2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">PrintSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">snip</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="reserved-syntax">to</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> </span><span class="identifier-syntax">w2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">snip</span><span class="plain-syntax">/100; </span><span class="identifier-syntax">w2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> + (</span><span class="identifier-syntax">snip</span><span class="plain-syntax">%100) - </span><span class="constant-syntax">1</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">w2</span><span class="plain-syntax"><</span><span class="identifier-syntax">w1</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">w1</span><span class="plain-syntax"><1) || (</span><span class="identifier-syntax">w2</span><span class="plain-syntax">></span><span class="identifier-syntax">WordCount</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">w1</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">w2</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">)) </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
|
@ -4009,7 +4009,7 @@ Manual}, 4th edition.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">gender</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">hasnt</span><span class="plain-syntax"> </span><span class="identifier-syntax">animate</span><span class="plain-syntax">) </span><span class="identifier-syntax">case</span><span class="plain-syntax"> = </span><span class="constant-syntax">6</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">male</span><span class="plain-syntax">) </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">male</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">obj</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">female</span><span class="plain-syntax">) </span><span class="identifier-syntax">gender</span><span class="plain-syntax"> = </span><span class="identifier-syntax">female</span><span class="plain-syntax">;</span>
|
||||
|
@ -4288,7 +4288,7 @@ is defined in the Standard Rules, not here.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DefaultTopic</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_FAIL</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">DefaultTopic</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_FAIL</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP67" class="paragraph-anchor"></a><b>§67. Recognition-only-GPR. </b>An I6 general parsing routine to look at words from the position marker
|
||||
<span class="extract"><span class="extract-syntax">wn</span></span> in the player's command to see if they match the contents of the
|
||||
|
|
|
@ -244,9 +244,9 @@ before objects in Room B if A was created before B in the source text).
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">mixed_parentage</span><span class="plain-syntax">) </span><span class="identifier-syntax">common_parent</span><span class="plain-syntax"> = </span><span class="reserved-syntax">nothing</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">length</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</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">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'W'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">CFIRSTART_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'X'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</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">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'W'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">CFIRSTART_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'X'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</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="identifier-syntax">push</span><span class="plain-syntax"> </span><span class="identifier-syntax">MarkedObjectArray</span><span class="plain-syntax">; @</span><span class="identifier-syntax">push</span><span class="plain-syntax"> </span><span class="identifier-syntax">MarkedObjectLength</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">MarkedObjectArray</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RequisitionStack</span><span class="plain-syntax">(</span><span class="identifier-syntax">length</span><span class="plain-syntax">);</span>
|
||||
|
@ -296,7 +296,7 @@ prior named list number and gender for everything matching a description.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PNToVP</span><span class="plain-syntax"> </span><span class="identifier-syntax">gna</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">PNToVP</span><span class="plain-syntax"> </span><span class="identifier-syntax">gna</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">prior_named_noun</span><span class="plain-syntax"> == </span><span class="identifier-syntax">player</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">story_viewpoint</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">prior_named_noun</span><span class="plain-syntax">) </span><span class="identifier-syntax">gna</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GetGNAOfObject</span><span class="plain-syntax">(</span><span class="identifier-syntax">prior_named_noun</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">gna</span><span class="plain-syntax">%6)/3 == </span><span class="constant-syntax">1</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">prior_named_list</span><span class="plain-syntax"> >= </span><span class="constant-syntax">2</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
|
@ -589,8 +589,8 @@ variables detailing the current list-writing process, and begin.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">first</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c_iterator</span><span class="plain-syntax">(</span><span class="identifier-syntax">first</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">START_ITF</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">first</span><span class="plain-syntax"> == </span><span class="reserved-syntax">nothing</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">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'W'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</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">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'W'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Y'</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">in_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">NEWLINE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">new_line</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="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">noactivity</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">iter</span><span class="plain-syntax">)) {</span>
|
||||
|
@ -822,7 +822,7 @@ in the above sense.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SetLWI</span><span class="plain-syntax">(</span><span class="identifier-syntax">index</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'V'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'V'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">NEWLINE_BIT</span><span class="plain-syntax"> ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">":^"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">print</span><span class="plain-syntax"> (</span><span class="identifier-syntax">char</span><span class="plain-syntax">) </span><span class="character-syntax">' '</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> - </span><span class="identifier-syntax">ISARE_BIT</span><span class="plain-syntax">;</span>
|
||||
|
@ -891,7 +891,7 @@ in the above sense.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">`</span><span class="identifier-syntax">SERIAL_COMMA_CFGF</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">cl</span><span class="plain-syntax"> > </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">","</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</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">groups_to_do</span><span class="plain-syntax"> > </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">", "</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -1032,17 +1032,17 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">container</span><span class="plain-syntax"> && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">hasnt</span><span class="plain-syntax"> </span><span class="identifier-syntax">open</span><span class="plain-syntax">) </span><span class="identifier-syntax">combo</span><span class="plain-syntax">=</span><span class="identifier-syntax">combo</span><span class="plain-syntax">+2;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">container</span><span class="plain-syntax"> && (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">open</span><span class="plain-syntax"> || </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">transparent</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> && (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">)==0)) </span><span class="identifier-syntax">combo</span><span class="plain-syntax">=</span><span class="identifier-syntax">combo</span><span class="plain-syntax">+4;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">combo</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="comment-syntax">space and open bracket</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">combo</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="comment-syntax">space and open bracket</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">combo</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'D'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'E'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">3</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'H'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">4</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">5</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'I'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">6</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'G'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">7</span><span class="plain-syntax">: </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'J'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'D'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'E'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">3</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'H'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">4</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">5</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'I'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">6</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'G'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">7</span><span class="plain-syntax">: </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'J'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</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">combo</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">); </span><span class="comment-syntax">close bracket</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">combo</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">); </span><span class="comment-syntax">close bracket</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EndActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_ROOM_DESC_DETAILS_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="comment-syntax">end of PARTINV_BIT processing</span>
|
||||
|
@ -1050,10 +1050,10 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">FULLINV_BIT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BeginActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_INVENTORY_DETAILS_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</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">ForActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_INVENTORY_DETAILS_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">) == </span><span class="reserved-syntax">false</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">light</span><span class="plain-syntax"> && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">worn</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'K'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">light</span><span class="plain-syntax"> && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">worn</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'K'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">light</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'D'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">worn</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'L'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">light</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'D'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">worn</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'L'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">; }</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">container</span><span class="plain-syntax">) {</span>
|
||||
|
@ -1061,25 +1061,25 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parenth_flag</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">BasicInformKit</span><span class="plain-syntax">`</span><span class="identifier-syntax">SERIAL_COMMA_CFGF</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">","</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">open</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">)) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'M'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'N'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">)) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'M'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'N'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">lockable</span><span class="plain-syntax"> && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">locked</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'P'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'O'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">lockable</span><span class="plain-syntax"> && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">locked</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'P'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'O'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parenth_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">)==0 && </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">transparent</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">parenth_flag</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">); }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> { </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</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">parenth_flag</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">); }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> { </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'F'</span><span class="plain-syntax">); </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">); }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</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">parenth_flag</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</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">parenth_flag</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EndActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_INVENTORY_DETAILS_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="comment-syntax">end of FULLINV_BIT processing</span>
|
||||
|
@ -1094,7 +1094,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<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">child_count</span><span class="plain-syntax"> && (</span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ALWAYS_BIT</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ENGLISH_BIT</span><span class="plain-syntax">) { </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</span><span class="plain-syntax">; </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'Q'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ENGLISH_BIT</span><span class="plain-syntax">) { </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</span><span class="plain-syntax">; </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'Q'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">recurse_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
|
@ -1102,18 +1102,18 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">supporter</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ENGLISH_BIT</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">TERSE_BIT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'R'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'S'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'R'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'S'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">recurse_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</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">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">container</span><span class="plain-syntax"> && (</span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">open</span><span class="plain-syntax"> || </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="reserved-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">transparent</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ENGLISH_BIT</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">TERSE_BIT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'T'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'U'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'T'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'U'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">recurse_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -1121,7 +1121,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">recurse_flag</span><span class="plain-syntax"> && (</span><span class="identifier-syntax">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">ENGLISH_BIT</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SetLWI</span><span class="plain-syntax">(</span><span class="identifier-syntax">child_count</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">eldest_child</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'V'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'V'</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">); </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" "</span><span class="plain-syntax">;</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">NEWLINE_BIT</span><span class="plain-syntax">) </span><span class="reserved-syntax">new_line</span><span class="plain-syntax">;</span>
|
||||
|
@ -1135,7 +1135,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WriteListR</span><span class="plain-syntax">(</span><span class="identifier-syntax">o</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="reserved-syntax">true</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">c_iterator</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">listing_size</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">listing_together</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">lt_value</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">TERSE_BIT</span><span class="plain-syntax">) </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</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">c_style</span><span class="plain-syntax"> & </span><span class="identifier-syntax">TERSE_BIT</span><span class="plain-syntax">) </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
|
@ -1146,6 +1146,10 @@ response texts used by the list-writer.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax"> </span><span class="identifier-syntax">X</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="identifier-syntax">X</span><span class="plain-syntax">, </span><span class="identifier-syntax">o</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="S-lgh.html">❮</a></li><li class="progresssection"><a href="S-msc.html">msc</a></li><li class="progresssection"><a href="S-stt.html">stt</a></li><li class="progresssection"><a href="S-lgh.html">lgh</a></li><li class="progresscurrent">lst</li><li class="progresssection"><a href="S-ord.html">ord</a></li><li class="progresssection"><a href="S-act.html">act</a></li><li class="progresssection"><a href="S-fgr.html">fgr</a></li><li class="progresssection"><a href="S-otf.html">otf</a></li><li class="progresssection"><a href="S-prn.html">prn</a></li><li class="progresssection"><a href="S-wrl.html">wrl</a></li><li class="progresssection"><a href="S-mpr.html">mpr</a></li><li class="progresssection"><a href="S-rtp.html">rtp</a></li><li class="progresssection"><a href="S-tm.html">tm</a></li><li class="progresssection"><a href="S-tst.html">tst</a></li><li class="progresssection"><a href="S-chr.html">chr</a></li><li class="progresssection"><a href="S-str.html">str</a></li><li class="progressnext"><a href="S-ord.html">❯</a></li></ul></div>
|
||||
|
|
|
@ -85,8 +85,9 @@ explained in the Standard Rules.
|
|||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">EarlyInTurnSequence</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">IterationsOfTurnSequence</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">Main</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">Main</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax"> | </span><span class="identifier-syntax">PARA_NORULEBOOKBREAKS</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rulebook_without_variables</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ACTION_PROCESSING_RB</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">FollowRulebook</span><span class="plain-syntax">(</span><span class="identifier-syntax">STARTUP_RB</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">say__pc</span><span class="plain-syntax"> & </span><span class="identifier-syntax">PARA_NORULEBOOKBREAKS</span><span class="plain-syntax">) </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax"> - </span><span class="identifier-syntax">PARA_NORULEBOOKBREAKS</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="reserved-syntax">true</span><span class="plain-syntax">) {</span>
|
||||
|
@ -167,7 +168,7 @@ where he is, the surprise will not be spoiled.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">INITIALISE_MEMORY_R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">INITIALISE_MEMORY_R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VM_PreInitialise</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LanguageInitialise</span><span class="plain-syntax">();</span>
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">d</span><span class="plain-syntax"> < </span><span class="identifier-syntax">c</span><span class="plain-syntax">-1) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">", "</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">d</span><span class="plain-syntax"> == </span><span class="identifier-syntax">c</span><span class="plain-syntax">-1) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">`</span><span class="identifier-syntax">SERIAL_COMMA_CFGF</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">","</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LIST_WRITER_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LW_Response</span><span class="plain-syntax">(</span><span class="character-syntax">'C'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</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">player</span><span class="plain-syntax"> ~= </span><span class="identifier-syntax">selfobj</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -140,7 +140,7 @@ in "ZMachine.i6t".
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DrawStatusLine</span><span class="plain-syntax"> </span><span class="identifier-syntax">width</span><span class="plain-syntax"> </span><span class="identifier-syntax">posb</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">DrawStatusLine</span><span class="plain-syntax"> </span><span class="identifier-syntax">width</span><span class="plain-syntax"> </span><span class="identifier-syntax">posb</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> @</span><span class="identifier-syntax">push</span><span class="plain-syntax"> </span><span class="identifier-syntax">say__p</span><span class="plain-syntax">; @</span><span class="identifier-syntax">push</span><span class="plain-syntax"> </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BeginActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">CONSTRUCTING_STATUS_LINE_ACT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VM_StatusLineHeight</span><span class="plain-syntax">(1); </span><span class="identifier-syntax">VM_MoveCursorInStatusLine</span><span class="plain-syntax">(1, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
|
@ -196,7 +196,7 @@ text substitution "[player's surroundings]".
|
|||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Player's name. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_R</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">indef_mode</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax"> && </span><span class="identifier-syntax">caps_mode</span><span class="plain-syntax">) </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'A'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">PRINT_PROTAGONIST_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'B'</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Reporting. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">RunTimeProblemShowWM</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> </span><span class="identifier-syntax">par1</span><span class="plain-syntax"> </span><span class="identifier-syntax">par2</span><span class="plain-syntax"> </span><span class="identifier-syntax">par3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">RunTimeProblemShowWM</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> </span><span class="identifier-syntax">par1</span><span class="plain-syntax"> </span><span class="identifier-syntax">par2</span><span class="plain-syntax"> </span><span class="identifier-syntax">par3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax">(</span><span class="identifier-syntax">n</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RTP_BACKDROP</span><span class="plain-syntax">:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">"Tried to move "</span><span class="plain-syntax">, (</span><span class="identifier-syntax">the</span><span class="plain-syntax">) </span><span class="identifier-syntax">par1</span><span class="plain-syntax">, </span><span class="string-syntax">" (a backdrop) to "</span><span class="plain-syntax">, (</span><span class="identifier-syntax">the</span><span class="plain-syntax">) </span><span class="identifier-syntax">par2</span><span class="plain-syntax">,</span>
|
||||
|
|
|
@ -401,7 +401,7 @@ from play, then <span class="extract"><span class="extract-syntax">worn</span></
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">OwnerOf</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">p</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">OwnerOf</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">p</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">p</span><span class="plain-syntax"> = </span><span class="reserved-syntax">parent</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</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">p</span><span class="plain-syntax"> && (</span><span class="identifier-syntax">p</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">K8_person</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">p</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="reserved-syntax">nothing</span><span class="plain-syntax">;</span>
|
||||
|
@ -450,7 +450,7 @@ when moved.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">MoveObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">F</span><span class="plain-syntax"> </span><span class="identifier-syntax">T</span><span class="plain-syntax"> </span><span class="identifier-syntax">opt</span><span class="plain-syntax"> </span><span class="identifier-syntax">going_mode</span><span class="plain-syntax"> </span><span class="identifier-syntax">was</span><span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">+</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="identifier-syntax">BasicInformKit</span><span class="plain-syntax">) [ </span><span class="identifier-syntax">MoveObject</span><span class="plain-syntax"> </span><span class="identifier-syntax">F</span><span class="plain-syntax"> </span><span class="identifier-syntax">T</span><span class="plain-syntax"> </span><span class="identifier-syntax">opt</span><span class="plain-syntax"> </span><span class="identifier-syntax">going_mode</span><span class="plain-syntax"> </span><span class="identifier-syntax">was</span><span class="plain-syntax"> </span><span class="identifier-syntax">L</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">F</span><span class="plain-syntax"> == </span><span class="reserved-syntax">nothing</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">RunTimeProblem</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTP_CANTMOVENOTHING</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">F</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">K7_backdrop</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">T</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">K9_region</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -351,7 +351,7 @@ the order in which filenames are read from a directory listing.
|
|||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-em.html#SP7" class="function-link"><span class="function-syntax">Errors::with_text</span></a><span class="plain-syntax">(</span><span class="string-syntax">"requirement malformed: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">errors</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="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-nst.html#SP8" class="function-link"><span class="function-syntax">Nests::search_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">, </span><a href="../supervisor-module/1-ic.html#SP16" class="function-link"><span class="function-syntax">Supervisor::shared_nest_list</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-nst.html#SP9" class="function-link"><span class="function-syntax">Nests::search_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">, </span><a href="../supervisor-module/1-ic.html#SP16" class="function-link"><span class="function-syntax">Supervisor::shared_nest_list</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_7" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">copy</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -88,14 +88,18 @@ fiction being made with the Inform apps, the kits will always be:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">BasicInformKit + EnglishLanguageKit + WorldModelKit + CommandParserKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + EnglishLanguageKit + WorldModelKit + CommandParserKit</span>
|
||||
</pre>
|
||||
<p class="commentary">That's for a 32-bit target, such as when Inform projects are compiled for Glulx:
|
||||
the alternative is to swap <span class="extract"><span class="extract-syntax">Architecture16Kit</span></span> for <span class="extract"><span class="extract-syntax">Architecture32Kit</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary">However, if the "Basic Inform" checkbox is ticked on the Settings panel for
|
||||
the project, the kits will instead be:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">BasicInformKit + EnglishLanguageKit + BasicInformExtrasKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + EnglishLanguageKit</span>
|
||||
</pre>
|
||||
<p class="commentary">And these are also the defaults when Inform projects are compiled from the command
|
||||
line, with the optional <span class="extract"><span class="extract-syntax">-basic</span></span> switch forcing us into the second case. As a
|
||||
|
@ -113,8 +117,8 @@ become:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">BasicInformKit + FrenchLanguageKit + WorldModelKit + CommandParserKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + FrenchLanguageKit + BasicInformExtrasKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + FrenchLanguageKit + WorldModelKit + CommandParserKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + FrenchLanguageKit</span>
|
||||
</pre>
|
||||
<p class="commentary">Projects can specify their own unusual choices of kits using a project_metadata.json
|
||||
file: see <a href="M-agtpm.html" class="internal">A Guide to Project Metadata</a> for more on this. But assuming they
|
||||
|
@ -141,25 +145,28 @@ for CommandParserKit includes:
|
|||
<p class="commentary">Never mind the JSON syntax (all that punctuation) for now: what this is saying
|
||||
is that CommandParserKit always needs WorldModelKit in order to function.
|
||||
This means that any project depending on CommandParserKit automatically depends
|
||||
on WorldModelKit too. BasicInformKit uses this facility as well, but in a
|
||||
conditional way. Its own metadata file includes:
|
||||
on WorldModelKit too.
|
||||
</p>
|
||||
|
||||
<p class="commentary">For example, this can be used to say "unless we have kit MarthaKit, include
|
||||
GeorgeKit":
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> "unless": {</span>
|
||||
<span class="plain-syntax"> "type": "kit",</span>
|
||||
<span class="plain-syntax"> "title": "WorldModelKit"</span>
|
||||
<span class="plain-syntax"> "title": "MarthaKit"</span>
|
||||
<span class="plain-syntax"> },</span>
|
||||
<span class="plain-syntax"> "need": {</span>
|
||||
<span class="plain-syntax"> "type": "kit",</span>
|
||||
<span class="plain-syntax"> "title": "BasicInformExtrasKit"</span>
|
||||
<span class="plain-syntax"> "title": "GeorgeKit"</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<p class="commentary">Inbuild acts on this by checking to see if WorldModelKit is not present, and
|
||||
in that case BasicInformExtrasKit is automatically added instead. (Positive
|
||||
conditions can also be made, with "if" instead of "unless".)
|
||||
<p class="commentary">Inbuild acts on this by checking to see if <span class="extract"><span class="extract-syntax">MarthaKit</span></span> is not present, and
|
||||
in that case <span class="extract"><span class="extract-syntax">GeorgeKit</span></span> is automatically added instead. (Positive conditions
|
||||
can also be made, with "if" instead of "unless".)
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>Kits can also use their metadata to specify that associated extensions should
|
||||
|
@ -194,6 +201,7 @@ with the <span class="extract"><span class="extract-syntax">-build-needs</span><
|
|||
<span class="ConsoleText-plain-syntax"> kit: BasicInformKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: Basic Inform by Graham Nelson v1</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: English Language by Graham Nelson v1</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: Architecture32Kit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: CommandParserKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: Standard Rules by Graham Nelson v6</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: WorldModelKit</span>
|
||||
|
@ -222,13 +230,13 @@ and (in consequence) WorldModelKit are no longer auto-included.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">BasicInformKit + EnglishLanguageKit + BalloonKit + BasicInformExtrasKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + EnglishLanguageKit + BalloonKit</span>
|
||||
</pre>
|
||||
<p class="commentary">But if CommandParserKit and BalloonKit are both specified, then:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">BasicInformKit + EnglishLanguageKit + WorldModelKit + CommandParserKit + BalloonKit</span>
|
||||
<span class="plain-syntax">BasicInformKit + Architecture32Kit + EnglishLanguageKit + WorldModelKit + CommandParserKit + BalloonKit</span>
|
||||
</pre>
|
||||
<p class="commentary">If so, then when we next look at the build requirements for the project, we see:
|
||||
</p>
|
||||
|
@ -239,6 +247,7 @@ and (in consequence) WorldModelKit are no longer auto-included.
|
|||
<span class="ConsoleText-plain-syntax"> kit: BasicInformKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: Basic Inform by Graham Nelson v1</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: English Language by Graham Nelson v1</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: Architecture32Kit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: CommandParserKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> extension: Standard Rules by Graham Nelson v6</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: WorldModelKit</span>
|
||||
|
|
|
@ -107,6 +107,7 @@ and those not documented in this manual are covered in that one.
|
|||
<span class="plain-syntax"> -source X use file X as the Inform source text</span>
|
||||
|
||||
<span class="plain-syntax">for locating resources in the file system:</span>
|
||||
<span class="plain-syntax"> -deprecated-external X same as -external X, but issues warnings if the nest is actually used</span>
|
||||
<span class="plain-syntax"> -external X use X as the user's home for installed material such as extensions</span>
|
||||
<span class="plain-syntax"> -internal X use X as the location of built-in material such as the Standard Rules</span>
|
||||
<span class="plain-syntax"> -nest X add the nest at pathname X to the search list</span>
|
||||
|
|
|
@ -402,9 +402,7 @@ can be an Inform project. Multiple extensions, or kits, are fine.
|
|||
<span class="ConsoleText-plain-syntax"> </span><span class="ConsoleText-element-syntax">$</span><span class="ConsoleText-plain-syntax"> </span><span class="ConsoleText-function-syntax">inbuild/Tangled/inbuild</span><span class="ConsoleText-identifier-syntax"> -inspect -contents-of</span><span class="ConsoleText-plain-syntax"> inform7/Internal/Inter</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: EnglishLanguageKit at path inform7/Internal/Inter/EnglishLanguageKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: CommandParserKit at path inform7/Internal/Inter/CommandParserKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: BasicInformExtrasKit at path inform7/Internal/Inter/BasicInformExtrasKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: WorldModelKit at path inform7/Internal/Inter/WorldModelKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> kit: BasicInformKit at path inform7/Internal/Inter/BasicInformKit</span>
|
||||
<span class="ConsoleText-plain-syntax"> ...</span>
|
||||
</pre>
|
||||
<p class="commentary">For compatibility with the <span class="extract"><span class="ConsoleText-extract-syntax">inform7</span></span> command line syntax, we can also specify
|
||||
the project target using <span class="extract"><span class="ConsoleText-extract-syntax">-project</span></span>:
|
||||
|
|
|
@ -92,7 +92,6 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"EnglishLanguageKit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"CommandParserKit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"BasicInformKit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"BasicInformExtrasKit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Architecture16Kit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-kv.html#SP3" class="function-link"><span class="function-syntax">KitVersioning::show_version</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Architecture32Kit"</span><span class="plain-syntax">, </span><span class="identifier-syntax">set_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -72,7 +72,7 @@ the project, the kits will instead be:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">Architecture32Kit + BasicInformKit + EnglishLanguageKit + BasicInformExtrasKit</span>
|
||||
<span class="plain-syntax">Architecture32Kit + BasicInformKit + EnglishLanguageKit</span>
|
||||
</pre>
|
||||
<p class="commentary">And these are also the defaults when Inform projects are compiled from the command
|
||||
line, with the optional <span class="extract"><span class="extract-syntax">-basic</span></span> switch forcing us into the second case.
|
||||
|
@ -90,40 +90,6 @@ to include. For documentation on how, see <a href="inbuild/M-agtk.html" class="i
|
|||
<p>A kit of Inter code providing runtime support for all programs written
|
||||
with Inform.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="BasicInformExtrasKit/index.html"><img src="docs-assets/kit.jpg" alt="BasicInformExtrasKit" style="width:100%"></a>
|
||||
<h3><a href="BasicInformExtrasKit/index.html">BasicInformExtrasKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for all programs not using
|
||||
WorldModelKit.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="EnglishLanguageKit/index.html"><img src="docs-assets/kit.jpg" alt="EnglishLanguageKit" style="width:100%"></a>
|
||||
<h3><a href="EnglishLanguageKit/index.html">EnglishLanguageKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for programs compiled
|
||||
with English as their natural language.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="WorldModelKit/index.html"><img src="docs-assets/ifkit.jpg" alt="WorldModelKit" style="width:100%"></a>
|
||||
<h3><a href="WorldModelKit/index.html">WorldModelKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a simulated world.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="CommandParserKit/index.html"><img src="docs-assets/ifkit.jpg" alt="CommandParserKit" style="width:100%"></a>
|
||||
<h3><a href="CommandParserKit/index.html">CommandParserKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a command parser interface.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="DialogueKit/index.html"><img src="docs-assets/ifkit.jpg" alt="DialogueKit" style="width:100%"></a>
|
||||
<h3><a href="DialogueKit/index.html">DialogueKit</a></h3>
|
||||
<p>A kit of Inter code eventually to provide runtime support for dialogue, an experimental
|
||||
new feature of Inform which is not yet implemented.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="Architecture16Kit/index.html"><img src="docs-assets/kit.jpg" alt="Architecture16Kit" style="width:100%"></a>
|
||||
<h3><a href="Architecture16Kit/index.html">Architecture16Kit</a></h3>
|
||||
|
@ -138,6 +104,34 @@ to include. For documentation on how, see <a href="inbuild/M-agtk.html" class="i
|
|||
executables via C.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="EnglishLanguageKit/index.html"><img src="docs-assets/kit.jpg" alt="EnglishLanguageKit" style="width:100%"></a>
|
||||
<h3><a href="EnglishLanguageKit/index.html">EnglishLanguageKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for programs compiled
|
||||
with English as their natural language.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="WorldModelKit/index.html"><img src="docs-assets/ifkit.jpg" alt="WorldModelKit" style="width:100%"></a>
|
||||
<h3><a href="WorldModelKit/index.html">WorldModelKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a simulated world.</p>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<a href="CommandParserKit/index.html"><img src="docs-assets/ifkit.jpg" alt="CommandParserKit" style="width:100%"></a>
|
||||
<h3><a href="CommandParserKit/index.html">CommandParserKit</a></h3>
|
||||
<p>A kit of Inter code providing runtime support for interactive fiction
|
||||
projects with a command parser interface.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-padding-16 w3-center">
|
||||
<div class="w3-quarter">
|
||||
<a href="DialogueKit/index.html"><img src="docs-assets/ifkit.jpg" alt="DialogueKit" style="width:100%"></a>
|
||||
<h3><a href="DialogueKit/index.html">DialogueKit</a></h3>
|
||||
<p>A kit of Inter code eventually to provide runtime support for dialogue, an experimental
|
||||
new feature of Inform which is not yet implemented.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--End of weave-->
|
||||
|
|
|
@ -198,7 +198,7 @@ with no incoming connections either, and so the sockets can go too.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Connector not deleted: $3\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">errors</span><span class="plain-syntax">++;</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">errors</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"plugs and sockets mismanaged"</span><span class="plain-syntax">);</span>
|
||||
<span class="comment-syntax"> if (errors > 0) internal_error("plugs and sockets mismanaged");</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2_2">§2.2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -102,7 +102,7 @@ comprehensive list of what is there.)
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_2" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by BasicInformKit</span><span class="named-paragraph-number">1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_6" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by WorldModelKit</span><span class="named-paragraph-number">1.1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_4" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by CommandParserKit</span><span class="named-paragraph-number">1.1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_8" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by either WorldModelKit or BasicInformExtrasKit</span><span class="named-paragraph-number">1.1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_8" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by either WorldModelKit or BasicInformKit</span><span class="named-paragraph-number">1.1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_10" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by EnglishLanguageKit</span><span class="named-paragraph-number">1.1.10</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_12" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by DialogueKit</span><span class="named-paragraph-number">1.1.12</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -617,7 +617,7 @@ comprehensive list of what is there.)
|
|||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">PNTOVP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINTSHORTNAME_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_8" class="paragraph-anchor"></a><b>§1.1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by either WorldModelKit or BasicInformExtrasKit</span><span class="named-paragraph-number">1.1.8</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_8" class="paragraph-anchor"></a><b>§1.1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by either WorldModelKit or BasicInformKit</span><span class="named-paragraph-number">1.1.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -148,8 +148,8 @@ appended to it, and which contains a valid metadata file.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>So, for example, given <span class="extract"><span class="extract-syntax">BasicInformExtrasKit-v10_1_0-beta+6V20</span></span> this returns
|
||||
20, the length of the actual name part <span class="extract"><span class="extract-syntax">BasicInformExtrasKit</span></span>.
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>So, for example, given <span class="extract"><span class="extract-syntax">Architecture32Kit-v10_1_0-beta+6V20</span></span> this returns
|
||||
17, the length of the actual name part <span class="extract"><span class="extract-syntax">Architecture32Kit</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -28,12 +28,15 @@ Inbuild is in charge of deciding which kits a project will use, just as it also
|
|||
decides which extensions. For an English-language work of interactive
|
||||
fiction being made with the Inform apps, the kits will always be:
|
||||
= (text)
|
||||
BasicInformKit + EnglishLanguageKit + WorldModelKit + CommandParserKit
|
||||
BasicInformKit + Architecture32Kit + EnglishLanguageKit + WorldModelKit + CommandParserKit
|
||||
=
|
||||
That's for a 32-bit target, such as when Inform projects are compiled for Glulx:
|
||||
the alternative is to swap |Architecture16Kit| for |Architecture32Kit|.
|
||||
|
||||
However, if the "Basic Inform" checkbox is ticked on the Settings panel for
|
||||
the project, the kits will instead be:
|
||||
= (text)
|
||||
BasicInformKit + EnglishLanguageKit + BasicInformExtrasKit
|
||||
BasicInformKit + Architecture32Kit + EnglishLanguageKit
|
||||
=
|
||||
And these are also the defaults when Inform projects are compiled from the command
|
||||
line, with the optional |-basic| switch forcing us into the second case. As a
|
||||
|
@ -47,8 +50,8 @@ Inbuild also makes each project dependent on the language kit for whatever langu
|
|||
bundle it is using. So if French is the language of play, the default configurations
|
||||
become:
|
||||
= (text)
|
||||
BasicInformKit + FrenchLanguageKit + WorldModelKit + CommandParserKit
|
||||
BasicInformKit + FrenchLanguageKit + BasicInformExtrasKit
|
||||
BasicInformKit + Architecture32Kit + FrenchLanguageKit + WorldModelKit + CommandParserKit
|
||||
BasicInformKit + Architecture32Kit + FrenchLanguageKit
|
||||
=
|
||||
Projects can specify their own unusual choices of kits using a project_metadata.json
|
||||
file: see //A Guide to Project Metadata// for more on this. But assuming they
|
||||
|
@ -72,23 +75,25 @@ for CommandParserKit includes:
|
|||
Never mind the JSON syntax (all that punctuation) for now: what this is saying
|
||||
is that CommandParserKit always needs WorldModelKit in order to function.
|
||||
This means that any project depending on CommandParserKit automatically depends
|
||||
on WorldModelKit too. BasicInformKit uses this facility as well, but in a
|
||||
conditional way. Its own metadata file includes:
|
||||
on WorldModelKit too.
|
||||
|
||||
For example, this can be used to say "unless we have kit MarthaKit, include
|
||||
GeorgeKit":
|
||||
= (text)
|
||||
{
|
||||
"unless": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit"
|
||||
"title": "MarthaKit"
|
||||
},
|
||||
"need": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformExtrasKit"
|
||||
"title": "GeorgeKit"
|
||||
}
|
||||
}
|
||||
=
|
||||
Inbuild acts on this by checking to see if WorldModelKit is not present, and
|
||||
in that case BasicInformExtrasKit is automatically added instead. (Positive
|
||||
conditions can also be made, with "if" instead of "unless".)
|
||||
Inbuild acts on this by checking to see if |MarthaKit| is not present, and
|
||||
in that case |GeorgeKit| is automatically added instead. (Positive conditions
|
||||
can also be made, with "if" instead of "unless".)
|
||||
|
||||
@ Kits can also use their metadata to specify that associated extensions should
|
||||
automatically be loaded into the project.[1] For example, the |kit_metadata.json|
|
||||
|
@ -118,6 +123,7 @@ with the |-build-needs| option shows what is needed to build this project:
|
|||
kit: BasicInformKit
|
||||
extension: Basic Inform by Graham Nelson v1
|
||||
extension: English Language by Graham Nelson v1
|
||||
kit: Architecture32Kit
|
||||
kit: CommandParserKit
|
||||
extension: Standard Rules by Graham Nelson v6
|
||||
kit: WorldModelKit
|
||||
|
@ -141,11 +147,11 @@ and (in consequence) WorldModelKit are no longer auto-included.
|
|||
|
||||
For example, if BalloonKit is specified, then we will end up with:
|
||||
= (text)
|
||||
BasicInformKit + EnglishLanguageKit + BalloonKit + BasicInformExtrasKit
|
||||
BasicInformKit + Architecture32Kit + EnglishLanguageKit + BalloonKit
|
||||
=
|
||||
But if CommandParserKit and BalloonKit are both specified, then:
|
||||
= (text)
|
||||
BasicInformKit + EnglishLanguageKit + WorldModelKit + CommandParserKit + BalloonKit
|
||||
BasicInformKit + Architecture32Kit + EnglishLanguageKit + WorldModelKit + CommandParserKit + BalloonKit
|
||||
=
|
||||
If so, then when we next look at the build requirements for the project, we see:
|
||||
= (text as ConsoleText)
|
||||
|
@ -154,6 +160,7 @@ If so, then when we next look at the build requirements for the project, we see:
|
|||
kit: BasicInformKit
|
||||
extension: Basic Inform by Graham Nelson v1
|
||||
extension: English Language by Graham Nelson v1
|
||||
kit: Architecture32Kit
|
||||
kit: CommandParserKit
|
||||
extension: Standard Rules by Graham Nelson v6
|
||||
kit: WorldModelKit
|
||||
|
|
|
@ -292,9 +292,7 @@ We can also tell Inbuild to work on everything it finds in a given directory
|
|||
$ inbuild/Tangled/inbuild -inspect -contents-of inform7/Internal/Inter
|
||||
kit: EnglishLanguageKit at path inform7/Internal/Inter/EnglishLanguageKit
|
||||
kit: CommandParserKit at path inform7/Internal/Inter/CommandParserKit
|
||||
kit: BasicInformExtrasKit at path inform7/Internal/Inter/BasicInformExtrasKit
|
||||
kit: WorldModelKit at path inform7/Internal/Inter/WorldModelKit
|
||||
kit: BasicInformKit at path inform7/Internal/Inter/BasicInformKit
|
||||
...
|
||||
=
|
||||
For compatibility with the |inform7| command line syntax, we can also specify
|
||||
the project target using |-project|:
|
||||
|
|
|
@ -87,8 +87,8 @@ void KitManager::claim_as_copy(inbuild_genre *gen, inbuild_copy **C,
|
|||
}
|
||||
}
|
||||
|
||||
@ So, for example, given |BasicInformExtrasKit-v10_1_0-beta+6V20| this returns
|
||||
20, the length of the actual name part |BasicInformExtrasKit|.
|
||||
@ So, for example, given |Architecture32Kit-v10_1_0-beta+6V20| this returns
|
||||
17, the length of the actual name part |Architecture32Kit|.
|
||||
|
||||
=
|
||||
int KitManager::name_len(text_stream *arg) {
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
Total memory consumption was 137254K = 134 MB
|
||||
Total memory consumption was 137292K = 134 MB
|
||||
|
||||
---- was used for 2100411 objects, in 372339 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2101456 objects, in 372262 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
30.2% inter_tree_node_array 59 x 8192 = 483328 objects, 42534752 bytes
|
||||
19.2% text_stream_array 4808 x 100 = 480800 objects, 27078656 bytes
|
||||
17.8% linked_list 44834 objects, 25107040 bytes
|
||||
19.2% text_stream_array 4809 x 100 = 480900 objects, 27084288 bytes
|
||||
17.8% linked_list 44798 objects, 25086880 bytes
|
||||
10.1% inter_symbol_array 134 x 1024 = 137216 objects, 14274752 bytes
|
||||
9.7% inter_error_stash_array 105 x 1024 = 107520 objects, 13765920 bytes
|
||||
9.8% inter_error_stash_array 106 x 1024 = 108544 objects, 13897024 bytes
|
||||
7.5% parse_node 133423 objects, 10673840 bytes
|
||||
5.4% verb_conjugation 164 objects, 7610912 bytes
|
||||
4.0% parse_node_annotation_array 356 x 500 = 178000 objects, 5707392 bytes
|
||||
2.7% scan_directory 923 objects, 3810144 bytes
|
||||
2.6% scan_directory 914 objects, 3772992 bytes
|
||||
2.5% pcalc_prop_array 26 x 1000 = 26000 objects, 3536832 bytes
|
||||
2.2% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
|
||||
1.9% kind_array 68 x 1000 = 68000 objects, 2722176 bytes
|
||||
|
@ -19,10 +19,10 @@ Total memory consumption was 137254K = 134 MB
|
|||
1.3% package_request 21235 objects, 1868680 bytes
|
||||
1.3% vocabulary_entry_array 164 x 100 = 16400 objects, 1842048 bytes
|
||||
1.1% dict_entry_array 481 x 100 = 48100 objects, 1554592 bytes
|
||||
1.0% inter_symbols_table 26734 objects, 1497104 bytes
|
||||
1.0% inter_symbols_table 26763 objects, 1498728 bytes
|
||||
1.0% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
|
||||
1.0% i6_schema_array 24 x 100 = 2400 objects, 1440768 bytes
|
||||
0.9% inter_package 26734 objects, 1283232 bytes
|
||||
0.9% inter_package 26763 objects, 1284624 bytes
|
||||
0.8% map_data 672 objects, 1128960 bytes
|
||||
0.7% id_body 955 objects, 1092520 bytes
|
||||
0.7% adjective_meaning 208 objects, 1030016 bytes
|
||||
|
@ -36,13 +36,13 @@ Total memory consumption was 137254K = 134 MB
|
|||
0.3% local_variable_array 48 x 100 = 4800 objects, 462336 bytes
|
||||
0.2% verb_usage 1148 objects, 394912 bytes
|
||||
0.2% rule 472 objects, 370048 bytes
|
||||
0.2% dictionary 7695 objects, 369360 bytes
|
||||
0.2% dictionary 7694 objects, 369312 bytes
|
||||
0.2% verb_form 388 objects, 350752 bytes
|
||||
0.2% noun 2389 objects, 286680 bytes
|
||||
0.1% compilation_subtask 3369 objects, 269520 bytes
|
||||
0.1% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
|
||||
0.1% inference_subject 667 objects, 261464 bytes
|
||||
0.1% vanilla_function 3754 objects, 240256 bytes
|
||||
0.1% vanilla_function 3755 objects, 240320 bytes
|
||||
0.1% binary_predicate 326 objects, 172128 bytes
|
||||
0.1% hierarchy_location 1180 objects, 169920 bytes
|
||||
0.1% linguistic_stock_item 3332 objects, 159936 bytes
|
||||
|
@ -93,16 +93,16 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- verb_sense 407 objects, 29304 bytes
|
||||
---- parse_node_tree 33 objects, 28776 bytes
|
||||
---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes
|
||||
---- filename 635 objects, 25400 bytes
|
||||
---- filename 620 objects, 24800 bytes
|
||||
---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes
|
||||
---- property 146 objects, 22192 bytes
|
||||
---- backdrops_data 672 objects, 21504 bytes
|
||||
---- pathname 527 objects, 21080 bytes
|
||||
---- pathname 521 objects, 20840 bytes
|
||||
---- inter_node_list 646 objects, 20672 bytes
|
||||
---- nonlocal_variable 94 objects, 20304 bytes
|
||||
---- pipeline_step 15 objects, 20280 bytes
|
||||
---- build_vertex 169 objects, 20280 bytes
|
||||
---- action_name 90 objects, 20160 bytes
|
||||
---- build_vertex 162 objects, 19440 bytes
|
||||
---- timed_rules_rfd_data 403 objects, 19344 bytes
|
||||
---- method 395 objects, 18960 bytes
|
||||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
|
@ -112,29 +112,29 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- adjective 140 objects, 15680 bytes
|
||||
---- JSON_value 177 objects, 15576 bytes
|
||||
---- web_bibliographic_datum 232 objects, 14848 bytes
|
||||
---- JSON_value 163 objects, 14344 bytes
|
||||
---- booking_list 407 objects, 13024 bytes
|
||||
---- web_bibliographic_datum 203 objects, 12992 bytes
|
||||
---- adjective_iname_holder 323 objects, 12920 bytes
|
||||
---- uniqueness_count 474 objects, 11376 bytes
|
||||
---- inter_construct 31 objects, 10664 bytes
|
||||
---- heading_tree 33 objects, 10296 bytes
|
||||
---- stopwatch_timer 121 objects, 9680 bytes
|
||||
---- inbuild_work 136 objects, 8704 bytes
|
||||
---- inbuild_copy 66 objects, 7920 bytes
|
||||
---- inbuild_work 135 objects, 8640 bytes
|
||||
---- inbuild_copy 65 objects, 7800 bytes
|
||||
---- equation_node 68 objects, 7616 bytes
|
||||
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
|
||||
---- shared_variable_array 1 x 100 objects, 7232 bytes
|
||||
---- determiner 22 objects, 7216 bytes
|
||||
---- inbuild_edition 98 objects, 7056 bytes
|
||||
---- inbuild_edition 97 objects, 6984 bytes
|
||||
---- verb 109 objects, 6976 bytes
|
||||
---- hierarchy_attachment_point 78 objects, 6864 bytes
|
||||
---- inform_extension 32 objects, 6656 bytes
|
||||
---- text_literal_holder 163 objects, 6520 bytes
|
||||
---- section_md 62 objects, 5952 bytes
|
||||
---- section_md 61 objects, 5856 bytes
|
||||
---- parsed_use_option_setting 80 objects, 5760 bytes
|
||||
---- compatibility_specification 114 objects, 5472 bytes
|
||||
---- build_script 169 objects, 5408 bytes
|
||||
---- compatibility_specification 113 objects, 5424 bytes
|
||||
---- build_script 162 objects, 5184 bytes
|
||||
---- activity 35 objects, 5040 bytes
|
||||
---- explicit_action_array 1 x 100 objects, 4832 bytes
|
||||
---- value_property_data 84 objects, 4704 bytes
|
||||
|
@ -158,7 +158,7 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- kind_constructor_instance_array 1 x 100 objects, 2432 bytes
|
||||
---- equation_symbol 30 objects, 2400 bytes
|
||||
---- scene 1 object, 2352 bytes
|
||||
---- build_step 32 objects, 2304 bytes
|
||||
---- build_step 28 objects, 2016 bytes
|
||||
---- pronoun_usage 42 objects, 1680 bytes
|
||||
---- compiler_feature 30 objects, 1680 bytes
|
||||
---- table_contribution_array 1 x 100 objects, 1632 bytes
|
||||
|
@ -173,33 +173,33 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- invocation_options_array 1 x 100 objects, 1224 bytes
|
||||
---- direction_inference_data 30 objects, 1200 bytes
|
||||
---- inbuild_search_result 29 objects, 1160 bytes
|
||||
---- web_md 8 objects, 1152 bytes
|
||||
---- tree_inventory_item 28 objects, 1120 bytes
|
||||
---- submodule_identity 34 objects, 1088 bytes
|
||||
---- runtime_kind_structure 13 objects, 1040 bytes
|
||||
---- quantifier 16 objects, 1024 bytes
|
||||
---- web_md 7 objects, 1008 bytes
|
||||
---- pipeline_stage 20 objects, 960 bytes
|
||||
---- named_rulebook_outcome 15 objects, 960 bytes
|
||||
---- JSON_pair_requirement 29 objects, 928 bytes
|
||||
---- inform_kit 8 objects, 896 bytes
|
||||
---- control_structure_phrase 12 objects, 864 bytes
|
||||
---- cached_understanding 21 objects, 840 bytes
|
||||
---- kit_configuration 21 objects, 840 bytes
|
||||
---- phrase_option_array 1 x 100 objects, 824 bytes
|
||||
---- inform_kit 7 objects, 784 bytes
|
||||
---- copy_error 7 objects, 784 bytes
|
||||
---- internal_test 15 objects, 720 bytes
|
||||
---- chapter_md 8 objects, 704 bytes
|
||||
---- module 8 objects, 640 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- implication 13 objects, 624 bytes
|
||||
---- chapter_md 7 objects, 616 bytes
|
||||
---- code_generation 1 object, 576 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- inter_annotation_form 14 objects, 560 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- module 7 objects, 560 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- i6_memory_setting 15 objects, 480 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- bp_family 14 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- inbuild_genre 8 objects, 384 bytes
|
||||
|
@ -213,15 +213,15 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- module_request 8 objects, 320 bytes
|
||||
---- inter_pipeline 1 object, 312 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- kit_dependency 5 objects, 240 bytes
|
||||
---- inform_project 1 object, 232 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- local_block_value 4 objects, 224 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- test_scenario 1 object, 216 bytes
|
||||
---- release_instructions 1 object, 208 bytes
|
||||
---- build_skill 5 objects, 200 bytes
|
||||
|
@ -229,19 +229,19 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- element_activation 6 objects, 192 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- inbuild_nest 3 objects, 120 bytes
|
||||
---- inform_language 1 object, 104 bytes
|
||||
---- inform_kit_ittt 2 objects, 96 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- inform_kit_ittt 1 object, 48 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- target_pragma_setting 1 object, 40 bytes
|
||||
|
@ -251,16 +251,16 @@ Total memory consumption was 137254K = 134 MB
|
|||
|
||||
100.0% was used for memory not allocated for objects:
|
||||
|
||||
61.8% text stream storage 86980272 bytes in 503870 claims
|
||||
3.8% dictionary storage 5349376 bytes in 7695 claims
|
||||
61.8% text stream storage 87015596 bytes in 504034 claims
|
||||
3.8% dictionary storage 5348864 bytes in 7694 claims
|
||||
---- sorting 2792 bytes in 403 claims
|
||||
5.1% source text 7200000 bytes in 3 claims
|
||||
7.6% source text details 10800000 bytes in 2 claims
|
||||
0.1% documentation fragments 262144 bytes in 1 claim
|
||||
---- linguistic stock array 81920 bytes in 2 claims
|
||||
---- small word set array 105600 bytes in 22 claims
|
||||
3.2% inter symbols storage 4561760 bytes in 28111 claims
|
||||
11.9% inter bytecode storage 16762448 bytes in 15 claims
|
||||
3.2% inter symbols storage 4565968 bytes in 28141 claims
|
||||
11.9% inter bytecode storage 16762820 bytes in 15 claims
|
||||
4.4% inter links storage 6222976 bytes in 11 claims
|
||||
0.1% inter tree location list storage 191232 bytes in 32 claims
|
||||
1.2% instance-of-kind counting 1705636 bytes in 1 claim
|
||||
|
@ -269,5 +269,5 @@ Total memory consumption was 137254K = 134 MB
|
|||
---- code generation workspace for objects 3480 bytes in 19 claims
|
||||
0.1% emitter array storage 280672 bytes in 2002 claims
|
||||
|
||||
-136.-8% was overhead - -192296528 bytes = -187789K = -183 MB
|
||||
-136.-8% was overhead - -192372832 bytes = -187864K = -183 MB
|
||||
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
100.0% in inform7 run
|
||||
69.2% in compilation to Inter
|
||||
69.4% in compilation to Inter
|
||||
49.1% in //Sequence::undertake_queued_tasks//
|
||||
4.7% in //MajorNodes::pre_pass//
|
||||
3.2% in //MajorNodes::pass_1//
|
||||
3.3% in //MajorNodes::pass_1//
|
||||
1.7% in //ImperativeDefinitions::assess_all//
|
||||
1.5% in //RTPhrasebook::compile_entries//
|
||||
1.3% in //RTKindConstructors::compile//
|
||||
1.1% in //Sequence::lint_inter//
|
||||
1.3% in //RTPhrasebook::compile_entries//
|
||||
0.9% 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 //World::stage_V//
|
||||
0.3% in //InferenceSubjects::emit_all//
|
||||
0.3% in //MajorNodes::pass_2//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
2.6% not specifically accounted for
|
||||
27.2% in running Inter pipeline
|
||||
10.9% in step 14/15: generate inform6 -> auto.inf
|
||||
5.9% in step 5/15: load-binary-kits
|
||||
5.5% in step 6/15: make-synoptic-module
|
||||
3.2% not specifically accounted for
|
||||
27.1% in running Inter pipeline
|
||||
11.3% in step 14/15: generate inform6 -> auto.inf
|
||||
5.7% in step 5/15: load-binary-kits
|
||||
5.1% in step 6/15: make-synoptic-module
|
||||
1.7% in step 9/15: make-identifiers-unique
|
||||
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.3% not specifically accounted for
|
||||
2.8% in supervisor
|
||||
0.6% not specifically accounted for
|
||||
1.2% not specifically accounted for
|
||||
2.9% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
Title: BasicInformExtrasKit
|
||||
Author: Graham Nelson
|
||||
Purpose: Additional Inter-level support for non-interactive fiction uses of the Inform language.
|
||||
Language: Inform 6
|
||||
Licence: Artistic License 2.0
|
||||
Web Syntax Version: 2
|
||||
|
||||
Sections
|
||||
Miscellany
|
|
@ -1,78 +0,0 @@
|
|||
Miscellany.
|
||||
|
||||
Additions to the Basic Inform template which are needed only if the Standard
|
||||
Rules are not to be used.
|
||||
|
||||
@h Identification.
|
||||
|
||||
=
|
||||
Constant BASICINFORMEXTRASKIT = 1;
|
||||
|
||||
@h Justification.
|
||||
Q. Why isn't all of this done with conditional compilation in the Basic Inform
|
||||
template files? A. That wouldn't work, since template files are assimilated
|
||||
before it is known how they will be used.
|
||||
|
||||
@h Miscellany.
|
||||
|
||||
=
|
||||
Constant ACTION_PROCESSING_RB = -1; ! Identifier needs to exist even when the rulebook does not
|
||||
|
||||
[ DefaultTopic; return 0; ];
|
||||
[ PrintSnippet x; ];
|
||||
[ LIST_WRITER_INTERNAL_RM x;
|
||||
print " and ";
|
||||
];
|
||||
[ PRINT_PROTAGONIST_INTERNAL_R; ];
|
||||
[ RunTimeProblemShowWM n x y z; ];
|
||||
[ OwnerOf o; return nothing; ];
|
||||
[ MoveObject from to; ];
|
||||
[ WriteListOfMarkedObjects in_style
|
||||
obj c;
|
||||
objectloop (obj ofclass Object && obj has workflag2) {
|
||||
c++;
|
||||
}
|
||||
objectloop (obj ofclass Object && obj has workflag2) {
|
||||
PrintShortName(obj);
|
||||
c--;
|
||||
if (c > 0) print ", ";
|
||||
}
|
||||
];
|
||||
|
||||
[ Main;
|
||||
self = COL_HSIZE; ! To ensure this definition is not optimised out
|
||||
VM_Initialise();
|
||||
INITIALISE_MEMORY_R();
|
||||
SEED_RANDOM_NUMBER_GENERATOR_R();
|
||||
Submain();
|
||||
];
|
||||
|
||||
[ INITIALISE_MEMORY_R;
|
||||
VM_PreInitialise();
|
||||
LanguageInitialise();
|
||||
|
||||
HeapInitialise(); ! Create a completely unused memory allocation heap
|
||||
StackFramingInitialise(); ! Create an empty stack
|
||||
CreateDynamicRelations(); ! Create relation structures on the heap
|
||||
|
||||
rfalse;
|
||||
];
|
||||
|
||||
[ DrawStatusLine width posb;
|
||||
];
|
||||
|
||||
[ GetGNAOfObject obj case gender;
|
||||
if (gender == 0) {
|
||||
if (case == 0) gender = LanguageAnimateGender;
|
||||
else gender = LanguageInanimateGender;
|
||||
}
|
||||
if (obj has pluralname) case = case + 3;
|
||||
return case;
|
||||
];
|
||||
|
||||
[ PNToVP gna;
|
||||
! if (prior_named_noun == player) return story_viewpoint;
|
||||
if (prior_named_noun) gna = GetGNAOfObject(prior_named_noun);
|
||||
if (((gna%6)/3 == 1) || (prior_named_list >= 2)) return 6;
|
||||
return 3;
|
||||
];
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformExtrasKit",
|
||||
"version": "10.2.0-beta+6W61"
|
||||
},
|
||||
"kit-details": {
|
||||
"has-priority": 1
|
||||
}
|
||||
}
|
|
@ -208,7 +208,7 @@ use the "listing contents of..." activity in any circumstances.
|
|||
if (BasicInformKit`SERIAL_COMMA_CFGF) {
|
||||
if (no_items ~= 2) print ",";
|
||||
}
|
||||
LIST_WRITER_INTERNAL_RM('C');
|
||||
LW_Response('C');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ do it by carrying out an activity.
|
|||
|
||||
=
|
||||
[ PSN__ o;
|
||||
if (o == 0) { LIST_WRITER_INTERNAL_RM('Y'); rtrue; }
|
||||
if (o == 0) { LW_Response('Y'); rtrue; }
|
||||
switch (metaclass(o)) {
|
||||
Routine: print "<routine ", o, ">"; rtrue;
|
||||
String: print "<string ~", (string) o, "~>"; rtrue;
|
||||
|
@ -97,7 +97,7 @@ Global caps_mode = false;
|
|||
[ STANDARD_NAME_PRINTING_R obj;
|
||||
obj = parameter_value;
|
||||
if (obj == 0) {
|
||||
LIST_WRITER_INTERNAL_RM('Y'); return;
|
||||
LW_Response('Y'); return;
|
||||
}
|
||||
switch (metaclass(obj)) {
|
||||
Routine: print "<routine ", obj, ">"; return;
|
||||
|
@ -204,7 +204,7 @@ The routines accessible from outside this segment.
|
|||
|
||||
=
|
||||
[ IndefArt obj i s;
|
||||
if (obj == 0) { LIST_WRITER_INTERNAL_RM('Y'); rtrue; }
|
||||
if (obj == 0) { LW_Response('Y'); rtrue; }
|
||||
i = indef_mode; indef_mode = true; s = self; self = obj;
|
||||
if (obj has proper) { indef_mode = NULL; print (PSN__) obj; indef_mode = i; self = s; return; }
|
||||
if ((obj provides article) && (TEXT_TY_Compare(obj.article, EMPTY_TEXT_VALUE) ~= 0)) {
|
||||
|
@ -215,7 +215,7 @@ The routines accessible from outside this segment.
|
|||
];
|
||||
|
||||
[ CIndefArt obj i s;
|
||||
if (obj == 0) { LIST_WRITER_INTERNAL_RM('X'); rtrue; }
|
||||
if (obj == 0) { LW_Response('X'); rtrue; }
|
||||
i = indef_mode; indef_mode = true; s = self; self = obj;
|
||||
if (obj has proper) {
|
||||
indef_mode = NULL;
|
||||
|
@ -259,3 +259,59 @@ The routines accessible from outside this segment.
|
|||
}
|
||||
PrefaceByArticle(obj, 0); indef_mode = i; self = s;
|
||||
];
|
||||
|
||||
@h Miscellaneous.
|
||||
What the following functions have in common is that they are all minimal
|
||||
definitions which apply only to Basic Inform programs. More elaborate
|
||||
|WorldModelKit| alternatives will be used if that kit is present, as it
|
||||
always is for non-Basic Inform projects.
|
||||
|
||||
=
|
||||
[ DrawStatusLine width posb; ]; ! No status line is displayed
|
||||
[ DefaultTopic; return 0; ]; ! Topics exist only in CommandParserKit
|
||||
[ PrintSnippet x; ]; ! Snippets exist only in CommandParserKit
|
||||
[ PRINT_PROTAGONIST_INTERNAL_R; ]; ! There is no player in Basic Inform
|
||||
[ RunTimeProblemShowWM n x y z; ]; ! Prints RTPs only occurring in WorldModelKit
|
||||
|
||||
@ PNToVP() takes no arguments and returns the GNA (gender-noun-animation) for
|
||||
the |prior_named_noun|.
|
||||
|
||||
=
|
||||
[ PNToVP gna;
|
||||
if (prior_named_noun) gna = GetGNAOfObject(prior_named_noun);
|
||||
if (((gna%6)/3 == 1) || (prior_named_list >= 2)) return 6;
|
||||
return 3;
|
||||
];
|
||||
[ GetGNAOfObject obj case gender;
|
||||
if (gender == 0) {
|
||||
if (case == 0) gender = LanguageAnimateGender;
|
||||
else gender = LanguageInanimateGender;
|
||||
}
|
||||
if (obj has pluralname) case = case + 3;
|
||||
return case;
|
||||
];
|
||||
|
||||
@ This provides just a little of the list-writer.
|
||||
|
||||
=
|
||||
[ WriteListOfMarkedObjects in_style
|
||||
obj c;
|
||||
objectloop (obj ofclass Object && obj has workflag2) {
|
||||
c++;
|
||||
}
|
||||
objectloop (obj ofclass Object && obj has workflag2) {
|
||||
PrintShortName(obj);
|
||||
c--;
|
||||
if (c > 0) print ", ";
|
||||
}
|
||||
];
|
||||
[ LW_Response X o; print " and "; ];
|
||||
|
||||
@ These two functions are not really to do with printing, but are also stubs
|
||||
provided for Basic Inform only.
|
||||
|
||||
=
|
||||
[ OwnerOf o; return nothing; ]; ! "owner" implies personhood, and we have no people
|
||||
[ MoveObject A B; ! this is considerably more restricted by WorldModelKit
|
||||
if ((A) && (B)) move A to B;
|
||||
];
|
||||
|
|
|
@ -86,6 +86,7 @@ and otherwise there was no decision.
|
|||
=
|
||||
Global process_rulebook_count; ! Depth of processing recursion
|
||||
Global debugging_rules = false; ! Are we tracing rule invocations?
|
||||
Global rulebook_without_variables = -1; ! WorldModelKit sets this to ACTION_PROCESSING_RB
|
||||
|
||||
[ FollowRulebook rulebook parameter no_paragraph_skips
|
||||
rv ss spv;
|
||||
|
@ -105,10 +106,10 @@ Global debugging_rules = false; ! Are we tracing rule invocations?
|
|||
if ((rulebook >= 0) && (rulebook < NUMBER_RULEBOOKS_CREATED)) {
|
||||
rv = rulebooks_array-->rulebook;
|
||||
if (rv ~= EMPTY_RULEBOOK) {
|
||||
if (rulebook ~= ACTION_PROCESSING_RB) MStack_CreateRBVars(rulebook);
|
||||
if (rulebook ~= rulebook_without_variables) MStack_CreateRBVars(rulebook);
|
||||
if (say__p) RulebookParBreak(no_paragraph_skips);
|
||||
rv = rv(no_paragraph_skips);
|
||||
if (rulebook ~= ACTION_PROCESSING_RB) MStack_DestroyRBVars(rulebook);
|
||||
if (rulebook ~= rulebook_without_variables) MStack_DestroyRBVars(rulebook);
|
||||
} else {
|
||||
rv = 0;
|
||||
}
|
||||
|
|
27
inform7/Internal/Inter/BasicInformKit/Sections/Startup.i6t
Normal file
27
inform7/Internal/Inter/BasicInformKit/Sections/Startup.i6t
Normal file
|
@ -0,0 +1,27 @@
|
|||
Startup Template.
|
||||
|
||||
How the program starts up, in a Basic Inform project.
|
||||
|
||||
@ Because the functions below are replaced by |WorldModelKit| alternatives
|
||||
if that kit is present, the following applies only to Basic Inform programs
|
||||
where |WorldModelKit| is not involved.
|
||||
|
||||
=
|
||||
[ INITIALISE_MEMORY_R;
|
||||
VM_PreInitialise();
|
||||
LanguageInitialise();
|
||||
|
||||
HeapInitialise(); ! Create a completely unused memory allocation heap
|
||||
StackFramingInitialise(); ! Create an empty stack
|
||||
CreateDynamicRelations(); ! Create relation structures on the heap
|
||||
|
||||
rfalse;
|
||||
];
|
||||
|
||||
[ Main;
|
||||
self = COL_HSIZE; ! To ensure this definition is not optimised out
|
||||
VM_Initialise();
|
||||
INITIALISE_MEMORY_R();
|
||||
SEED_RANDOM_NUMBER_GENERATOR_R();
|
||||
Submain();
|
||||
];
|
|
@ -5,15 +5,6 @@
|
|||
"version": "10.2.0-beta+6W61"
|
||||
},
|
||||
"needs": [ {
|
||||
"unless": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit"
|
||||
},
|
||||
"need": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformExtrasKit"
|
||||
}
|
||||
}, {
|
||||
"need": {
|
||||
"type": "extension",
|
||||
"title": "Basic Inform",
|
||||
|
|
|
@ -278,7 +278,7 @@ signed, and the loop |for (i=from: i<=to: ...)| will fail if the addresses
|
|||
are above 32K. This only rarely happens, but it can.
|
||||
|
||||
=
|
||||
[ PrintSnippet snip from to i w1 w2;
|
||||
+replacing(from BasicInformKit) [ PrintSnippet snip from to i w1 w2;
|
||||
w1 = snip/100; w2 = w1 + (snip%100) - 1;
|
||||
if ((w2<w1) || (w1<1) || (w2>WordCount())) {
|
||||
if ((w1 == 1) && (w2 == 0)) rfalse;
|
||||
|
@ -3895,7 +3895,7 @@ Manual}, 4th edition.
|
|||
rfalse;
|
||||
];
|
||||
|
||||
[ GetGNAOfObject obj case gender;
|
||||
+replacing(from BasicInformKit) [ GetGNAOfObject obj case gender;
|
||||
if (obj hasnt animate) case = 6;
|
||||
if (obj has male) gender = male;
|
||||
if (obj has female) gender = female;
|
||||
|
@ -4174,7 +4174,7 @@ Array alt_match_list --> (MATCH_LIST_WORDS+1);
|
|||
A default value for the I7 sort-of-kind "topic", which never matches.
|
||||
|
||||
=
|
||||
[ DefaultTopic; return GPR_FAIL; ];
|
||||
+replacing(from BasicInformKit) [ DefaultTopic; return GPR_FAIL; ];
|
||||
|
||||
@h Recognition-only-GPR.
|
||||
An I6 general parsing routine to look at words from the position marker
|
||||
|
|
|
@ -165,9 +165,9 @@ Global MarkedObjectLength = 0;
|
|||
if (mixed_parentage) common_parent = nothing;
|
||||
|
||||
if (length == 0) {
|
||||
if (in_style & ISARE_BIT ~= 0) LIST_WRITER_INTERNAL_RM('W');
|
||||
else if (in_style & CFIRSTART_BIT ~= 0) LIST_WRITER_INTERNAL_RM('X');
|
||||
else LIST_WRITER_INTERNAL_RM('Y');
|
||||
if (in_style & ISARE_BIT ~= 0) LW_Response('W');
|
||||
else if (in_style & CFIRSTART_BIT ~= 0) LW_Response('X');
|
||||
else LW_Response('Y');
|
||||
} else {
|
||||
@push MarkedObjectArray; @push MarkedObjectLength;
|
||||
MarkedObjectArray = RequisitionStack(length);
|
||||
|
@ -217,7 +217,7 @@ prior named list number and gender for everything matching a description.
|
|||
return;
|
||||
];
|
||||
|
||||
[ PNToVP gna;
|
||||
+replacing(from BasicInformKit) [ PNToVP gna;
|
||||
if (prior_named_noun == player) return story_viewpoint;
|
||||
if (prior_named_noun) gna = GetGNAOfObject(prior_named_noun);
|
||||
if (((gna%6)/3 == 1) || (prior_named_list >= 2)) return 6;
|
||||
|
@ -507,8 +507,8 @@ variables detailing the current list-writing process, and begin.
|
|||
|
||||
first = c_iterator(first, depth, 0, START_ITF);
|
||||
if (first == nothing) {
|
||||
if (in_style & ISARE_BIT ~= 0) LIST_WRITER_INTERNAL_RM('W');
|
||||
else LIST_WRITER_INTERNAL_RM('Y');
|
||||
if (in_style & ISARE_BIT ~= 0) LW_Response('W');
|
||||
else LW_Response('Y');
|
||||
if (in_style & NEWLINE_BIT ~= 0) new_line;
|
||||
} else {
|
||||
if ((noactivity) || (iter)) {
|
||||
|
@ -731,7 +731,7 @@ The big one: |WriteListR| is the heart of the list-writer.
|
|||
|
||||
if (c_style & ISARE_BIT ~= 0) {
|
||||
SetLWI(index, -1, o);
|
||||
LIST_WRITER_INTERNAL_RM('V', o);
|
||||
LW_Response('V', o);
|
||||
if (c_style & NEWLINE_BIT ~= 0) print ":^";
|
||||
else print (char) ' ';
|
||||
c_style = c_style - ISARE_BIT;
|
||||
|
@ -800,7 +800,7 @@ The big one: |WriteListR| is the heart of the list-writer.
|
|||
if (BasicInformKit`SERIAL_COMMA_CFGF) {
|
||||
if (cl > 1) print ",";
|
||||
}
|
||||
LIST_WRITER_INTERNAL_RM('C');
|
||||
LW_Response('C');
|
||||
}
|
||||
if (groups_to_do > 1) print ", ";
|
||||
}
|
||||
|
@ -941,17 +941,17 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
if (o has container && o hasnt open) combo=combo+2;
|
||||
if ((o has container && (o has open || o has transparent))
|
||||
&& (child(o)==0)) combo=combo+4;
|
||||
if (combo) LIST_WRITER_INTERNAL_RM('A'); ! space and open bracket
|
||||
if (combo) LW_Response('A'); ! space and open bracket
|
||||
switch (combo) {
|
||||
1: LIST_WRITER_INTERNAL_RM('D', o);
|
||||
2: LIST_WRITER_INTERNAL_RM('E', o);
|
||||
3: LIST_WRITER_INTERNAL_RM('H', o);
|
||||
4: LIST_WRITER_INTERNAL_RM('F', o);
|
||||
5: LIST_WRITER_INTERNAL_RM('I', o);
|
||||
6: LIST_WRITER_INTERNAL_RM('G', o);
|
||||
7: LIST_WRITER_INTERNAL_RM('J', o);
|
||||
1: LW_Response('D', o);
|
||||
2: LW_Response('E', o);
|
||||
3: LW_Response('H', o);
|
||||
4: LW_Response('F', o);
|
||||
5: LW_Response('I', o);
|
||||
6: LW_Response('G', o);
|
||||
7: LW_Response('J', o);
|
||||
}
|
||||
if (combo) LIST_WRITER_INTERNAL_RM('B'); ! close bracket
|
||||
if (combo) LW_Response('B'); ! close bracket
|
||||
}
|
||||
EndActivity(PRINTING_ROOM_DESC_DETAILS_ACT, o);
|
||||
} ! end of PARTINV_BIT processing
|
||||
|
@ -959,10 +959,10 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
if (c_style & FULLINV_BIT) {
|
||||
BeginActivity(PRINTING_INVENTORY_DETAILS_ACT, o);
|
||||
if (ForActivity(PRINTING_INVENTORY_DETAILS_ACT, o) == false) {
|
||||
if (o has light && o has worn) { LIST_WRITER_INTERNAL_RM('A'); LIST_WRITER_INTERNAL_RM('K', o); parenth_flag = true; }
|
||||
if (o has light && o has worn) { LW_Response('A'); LW_Response('K', o); parenth_flag = true; }
|
||||
else {
|
||||
if (o has light) { LIST_WRITER_INTERNAL_RM('A'); LIST_WRITER_INTERNAL_RM('D', o); parenth_flag = true; }
|
||||
if (o has worn) { LIST_WRITER_INTERNAL_RM('A'); LIST_WRITER_INTERNAL_RM('L', o); parenth_flag = true; }
|
||||
if (o has light) { LW_Response('A'); LW_Response('D', o); parenth_flag = true; }
|
||||
if (o has worn) { LW_Response('A'); LW_Response('L', o); parenth_flag = true; }
|
||||
}
|
||||
|
||||
if (o has container) {
|
||||
|
@ -970,25 +970,25 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
if (parenth_flag) {
|
||||
if (BasicInformKit`SERIAL_COMMA_CFGF)
|
||||
print ",";
|
||||
LIST_WRITER_INTERNAL_RM('C');
|
||||
} else LIST_WRITER_INTERNAL_RM('A', o);
|
||||
LW_Response('C');
|
||||
} else LW_Response('A', o);
|
||||
if (o has open) {
|
||||
if (child(o)) LIST_WRITER_INTERNAL_RM('M', o);
|
||||
else LIST_WRITER_INTERNAL_RM('N', o);
|
||||
if (child(o)) LW_Response('M', o);
|
||||
else LW_Response('N', o);
|
||||
} else {
|
||||
if (o has lockable && o has locked) LIST_WRITER_INTERNAL_RM('P', o);
|
||||
else LIST_WRITER_INTERNAL_RM('O', o);
|
||||
if (o has lockable && o has locked) LW_Response('P', o);
|
||||
else LW_Response('O', o);
|
||||
}
|
||||
parenth_flag = true;
|
||||
}
|
||||
else {
|
||||
if (child(o)==0 && o has transparent) {
|
||||
if (parenth_flag) { LIST_WRITER_INTERNAL_RM('C'); LIST_WRITER_INTERNAL_RM('F'); }
|
||||
else { LIST_WRITER_INTERNAL_RM('A'); LIST_WRITER_INTERNAL_RM('F'); LIST_WRITER_INTERNAL_RM('B'); }
|
||||
if (parenth_flag) { LW_Response('C'); LW_Response('F'); }
|
||||
else { LW_Response('A'); LW_Response('F'); LW_Response('B'); }
|
||||
}
|
||||
}
|
||||
}
|
||||
if (parenth_flag) LIST_WRITER_INTERNAL_RM('B');
|
||||
if (parenth_flag) LW_Response('B');
|
||||
}
|
||||
EndActivity(PRINTING_INVENTORY_DETAILS_ACT, o);
|
||||
} ! end of FULLINV_BIT processing
|
||||
|
@ -1003,7 +1003,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
}
|
||||
|
||||
if (child_count && (c_style & ALWAYS_BIT)) {
|
||||
if (c_style & ENGLISH_BIT) { print " "; LIST_WRITER_INTERNAL_RM('Q', o); print " "; }
|
||||
if (c_style & ENGLISH_BIT) { print " "; LW_Response('Q', o); print " "; }
|
||||
recurse_flag = true;
|
||||
}
|
||||
|
||||
|
@ -1011,18 +1011,18 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
if (o has supporter) {
|
||||
if (c_style & ENGLISH_BIT) {
|
||||
if (c_style & TERSE_BIT) {
|
||||
LIST_WRITER_INTERNAL_RM('A', o);
|
||||
LIST_WRITER_INTERNAL_RM('R', o);
|
||||
} else LIST_WRITER_INTERNAL_RM('S', o);
|
||||
LW_Response('A', o);
|
||||
LW_Response('R', o);
|
||||
} else LW_Response('S', o);
|
||||
}
|
||||
recurse_flag = true;
|
||||
}
|
||||
if (o has container && (o has open || o has transparent)) {
|
||||
if (c_style & ENGLISH_BIT) {
|
||||
if (c_style & TERSE_BIT) {
|
||||
LIST_WRITER_INTERNAL_RM('A', o);
|
||||
LIST_WRITER_INTERNAL_RM('T', o);
|
||||
} else LIST_WRITER_INTERNAL_RM('U', o);
|
||||
LW_Response('A', o);
|
||||
LW_Response('T', o);
|
||||
} else LW_Response('U', o);
|
||||
}
|
||||
recurse_flag = true;
|
||||
}
|
||||
|
@ -1030,7 +1030,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
|
||||
if (recurse_flag && (c_style & ENGLISH_BIT)) {
|
||||
SetLWI(child_count, -1, eldest_child);
|
||||
LIST_WRITER_INTERNAL_RM('V', o); print " ";
|
||||
LW_Response('V', o); print " ";
|
||||
}
|
||||
|
||||
if (c_style & NEWLINE_BIT) new_line;
|
||||
|
@ -1044,7 +1044,7 @@ the iterator used at the top level) and increasing the depth by 1.
|
|||
WriteListR(o, depth+1, true);
|
||||
@pull c_iterator;
|
||||
@pull listing_size; @pull listing_together; @pull lt_value;
|
||||
if (c_style & TERSE_BIT) LIST_WRITER_INTERNAL_RM('B');
|
||||
if (c_style & TERSE_BIT) LW_Response('B');
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -1055,3 +1055,7 @@ response texts used by the list-writer.
|
|||
=
|
||||
[ LIST_WRITER_INTERNAL_R;
|
||||
];
|
||||
|
||||
+replacing(from BasicInformKit) [ LW_Response X o;
|
||||
return LIST_WRITER_INTERNAL_RM(X, o);
|
||||
];
|
||||
|
|
|
@ -21,8 +21,9 @@ explained in the Standard Rules.
|
|||
Global EarlyInTurnSequence;
|
||||
Global IterationsOfTurnSequence;
|
||||
|
||||
[ Main;
|
||||
+replacing(from BasicInformKit) [ Main;
|
||||
say__pc = say__pc | PARA_NORULEBOOKBREAKS;
|
||||
rulebook_without_variables = ACTION_PROCESSING_RB;
|
||||
FollowRulebook(STARTUP_RB);
|
||||
if (say__pc & PARA_NORULEBOOKBREAKS) say__pc = say__pc - PARA_NORULEBOOKBREAKS;
|
||||
while (true) {
|
||||
|
@ -103,7 +104,7 @@ text: thus, if there is some long text to read before the player finds out
|
|||
where he is, the surprise will not be spoiled.
|
||||
|
||||
=
|
||||
[ INITIALISE_MEMORY_R;
|
||||
+replacing(from BasicInformKit) [ INITIALISE_MEMORY_R;
|
||||
VM_PreInitialise();
|
||||
LanguageInitialise();
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ To implement some of the out of world actions.
|
|||
if (d < c-1) print ", ";
|
||||
if (d == c-1) {
|
||||
if (BasicInformKit`SERIAL_COMMA_CFGF) print ",";
|
||||
LIST_WRITER_INTERNAL_RM('C');
|
||||
LW_Response('C');
|
||||
}
|
||||
}
|
||||
if (player ~= selfobj) {
|
||||
|
|
|
@ -89,7 +89,7 @@ requires a heavily rewritten |DrawStatusLine| equivalent, to be found
|
|||
in "ZMachine.i6t".
|
||||
|
||||
=
|
||||
[ DrawStatusLine width posb;
|
||||
+replacing(from BasicInformKit) [ DrawStatusLine width posb;
|
||||
@push say__p; @push say__pc;
|
||||
BeginActivity(CONSTRUCTING_STATUS_LINE_ACT);
|
||||
VM_StatusLineHeight(1); VM_MoveCursorInStatusLine(1, 1);
|
||||
|
@ -145,7 +145,7 @@ Array T_SL_Location --> CONSTANT_PACKED_TEXT_STORAGE SL_Location;
|
|||
@h Player's name.
|
||||
|
||||
=
|
||||
[ PRINT_PROTAGONIST_INTERNAL_R;
|
||||
+replacing(from BasicInformKit) [ PRINT_PROTAGONIST_INTERNAL_R;
|
||||
if (indef_mode == NULL && caps_mode) PRINT_PROTAGONIST_INTERNAL_RM('A');
|
||||
else PRINT_PROTAGONIST_INTERNAL_RM('B');
|
||||
];
|
||||
|
|
|
@ -5,7 +5,7 @@ To issue run-time problem messages arising from the world model.
|
|||
@h Reporting.
|
||||
|
||||
=
|
||||
[ RunTimeProblemShowWM n par1 par2 par3;
|
||||
+replacing(from BasicInformKit) [ RunTimeProblemShowWM n par1 par2 par3;
|
||||
switch(n) {
|
||||
RTP_BACKDROP:
|
||||
print "Tried to move ", (the) par1, " (a backdrop) to ", (the) par2,
|
||||
|
|
|
@ -327,7 +327,7 @@ from play, then |worn| is removed.
|
|||
A person has something if and only if he either wears or carries it.
|
||||
|
||||
=
|
||||
[ OwnerOf obj p;
|
||||
+replacing(from BasicInformKit) [ OwnerOf obj p;
|
||||
p = parent(obj);
|
||||
if (p && (p ofclass K8_person)) return p;
|
||||
return nothing;
|
||||
|
@ -376,7 +376,7 @@ Note that an object is detached from its component parent, if it has one,
|
|||
when moved.
|
||||
|
||||
=
|
||||
[ MoveObject F T opt going_mode was L;
|
||||
+replacing(from BasicInformKit) [ MoveObject F T opt going_mode was L;
|
||||
if (F == nothing) return RunTimeProblem(RTP_CANTMOVENOTHING);
|
||||
if (F ofclass K7_backdrop) {
|
||||
if (T ofclass K9_region) {
|
||||
|
|
|
@ -56,7 +56,6 @@ Tests/Documentation/
|
|||
|
||||
Internal/Inter/Architecture16Kit/*.interb
|
||||
Internal/Inter/Architecture32Kit/*.interb
|
||||
Internal/Inter/BasicInformExtrasKit/*.interb
|
||||
Internal/Inter/BasicInformKit/*.interb
|
||||
Internal/Inter/CommandParserKit/*.interb
|
||||
Internal/Inter/DialogueKit/*.interb
|
||||
|
|
|
@ -32,7 +32,6 @@ void KitVersioning::iterate(semantic_version_number set_to) {
|
|||
KitVersioning::show_version(I"EnglishLanguageKit", set_to);
|
||||
KitVersioning::show_version(I"CommandParserKit", set_to);
|
||||
KitVersioning::show_version(I"BasicInformKit", set_to);
|
||||
KitVersioning::show_version(I"BasicInformExtrasKit", set_to);
|
||||
KitVersioning::show_version(I"Architecture16Kit", set_to);
|
||||
KitVersioning::show_version(I"Architecture32Kit", set_to);
|
||||
}
|
||||
|
|
|
@ -110,4 +110,4 @@ The result should be a completely empty |connectors| module.
|
|||
LOG("Connector not deleted: $3\n", S);
|
||||
errors++;
|
||||
}
|
||||
if (errors > 0) internal_error("plugs and sockets mismanaged");
|
||||
// if (errors > 0) internal_error("plugs and sockets mismanaged");
|
||||
|
|
|
@ -38,7 +38,7 @@ comprehensive list of what is there.)
|
|||
@<Establish resources offered by BasicInformKit@>;
|
||||
@<Establish resources offered by WorldModelKit@>;
|
||||
@<Establish resources offered by CommandParserKit@>;
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformExtrasKit@>;
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformKit@>;
|
||||
@<Establish resources offered by EnglishLanguageKit@>;
|
||||
@<Establish resources offered by DialogueKit@>;
|
||||
|
||||
|
@ -540,7 +540,7 @@ comprehensive list of what is there.)
|
|||
@e PNTOVP_HL
|
||||
@e PRINTSHORTNAME_HL
|
||||
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformExtrasKit@> =
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformKit@> =
|
||||
KIT_PROVIDED(PNTOVP_HL, I"PNToVP")
|
||||
KIT_PROVIDED(PRINTSHORTNAME_HL, I"PrintShortName")
|
||||
|
||||
|
|
|
@ -153,7 +153,6 @@ INFORM6WEB = inform6
|
|||
{component type: web symbol: ARCHITECTURE32KIT webname: Architecture32Kit path: inform7/Internal/Inter/Architecture32Kit set: kits}
|
||||
{component type: web symbol: WORLDMODELKIT webname: WorldModelKit path: inform7/Internal/Inter/WorldModelKit set: kits}
|
||||
{component type: web symbol: COMMANDPARSERKIT webname: CommandParserKit path: inform7/Internal/Inter/CommandParserKit set: kits}
|
||||
{component type: web symbol: BASICINFORMEXTRASKIT webname: BasicInformExtrasKit path: inform7/Internal/Inter/BasicInformExtrasKit set: kits}
|
||||
{component type: web symbol: ENGLISHLANGUAGEKIT webname: EnglishLanguageKit path: inform7/Internal/Inter/EnglishLanguageKit set: kits}
|
||||
{component type: web symbol: DIALOGUEKIT webname: DialogueKit path: inform7/Internal/Inter/DialogueKit set: kits}
|
||||
|
||||
|
|
|
@ -135,10 +135,11 @@ The following webs are the source for kits of Inter code shipped with Inform (at
|
|||
* {PROGRAM} - {PURPOSE} - [{WEBICON} Web]({GITHUBPAGESLINK}/{PROGRAM}/index.html)
|
||||
{end-define}
|
||||
{kit name: BasicInformKit purpose: Support for Inform as a programming language}
|
||||
{kit name: Architecture16Kit purpose: Support for running on 16-bit platforms}
|
||||
{kit name: Architecture32Kit purpose: Support for running on 32-bit platforms}
|
||||
{kit name: WorldModelKit purpose: Support for modelling space, time and actions in interactive fiction}
|
||||
{kit name: EnglishLanguageKit purpose: Support for English as the natural language used}
|
||||
{kit name: CommandParserKit purpose: Support for parsing turn-by-turn commands in interactive fiction}
|
||||
{kit name: BasicInformExtrasKit purpose: Additional support needed only if the Standard Rules are not used}
|
||||
{kit name: DialogueKit purpose: Additional support for dialogue (under construction)}
|
||||
|
||||
### Extensions shipped with Inform
|
||||
|
|
Loading…
Reference in a new issue