mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 15:50:46 +03:00
More and more localisation
This commit is contained in:
parent
2edb24994c
commit
8af471fab5
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6S79 'Krypton' (24 July 2021)
|
||||
v10.1.0-alpha.1+6S80 'Krypton' (25 July 2021)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 24 July 2021
|
||||
Build Number: 6S79
|
||||
Build Date: 25 July 2021
|
||||
Build Number: 6S80
|
||||
|
|
|
@ -132,7 +132,8 @@ sorted by index.
|
|||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">NL</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> (*</span><span class="identifier-syntax">cmp</span><span class="plain-syntax">)(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</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">NL</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"null inter_tree_location_list"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">qsort</span><span class="plain-syntax">(</span><span class="identifier-syntax">NL</span><span class="plain-syntax">-></span><span class="element-syntax">list</span><span class="plain-syntax">, (</span><span class="identifier-syntax">size_t</span><span class="plain-syntax">) </span><span class="identifier-syntax">NL</span><span class="plain-syntax">-></span><span class="identifier-syntax">list_used</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="reserved-syntax">itl_entry</span><span class="plain-syntax">), </span><span class="identifier-syntax">cmp</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">NL</span><span class="plain-syntax">-></span><span class="element-syntax">list_used</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">qsort</span><span class="plain-syntax">(</span><span class="identifier-syntax">NL</span><span class="plain-syntax">-></span><span class="element-syntax">list</span><span class="plain-syntax">, (</span><span class="identifier-syntax">size_t</span><span class="plain-syntax">) </span><span class="identifier-syntax">NL</span><span class="plain-syntax">-></span><span class="element-syntax">list_used</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="reserved-syntax">itl_entry</span><span class="plain-syntax">), </span><span class="identifier-syntax">cmp</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>And this macro conveniently loops through packages in a node list of their
|
||||
|
|
|
@ -234,7 +234,7 @@ will be <span class="extract"><span class="extract-syntax">Kinds.html</span></sp
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">key</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ge2.html#SP1" class="function-link"><span class="function-syntax">GroupedElement::detail_pages</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ge2.html#SP2" class="function-link"><span class="function-syntax">GroupedElement::detail_pages</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ii.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>This is a one-off function for generating the content of an index element
|
||||
|
@ -321,7 +321,7 @@ of the Inter tree currently being indexed.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::set_tree</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::set_tree</span></span>:<br/><a href="2-ii.html#SP1">§1</a>, <a href="2-ii.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::get_tree</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::get_tree</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP1">§1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1">§1</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Card Element - <a href="3-ce.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP1">§1</a><br/>Commands Element - <a href="3-ce3.html#SP1">§1</a><br/>Contents Element - <a href="3-ce4.html#SP1">§1</a><br/>Events Element - <a href="3-ee.html#SP1">§1</a><br/>Extras Element - <a href="3-ee2.html#SP1">§1</a><br/>Figures Element - <a href="3-fe.html#SP1">§1</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a><br/>Innards Element - <a href="3-ie.html#SP1">§1</a><br/>Phrasebook Element - <a href="3-pe.html#SP1">§1</a><br/>Plot Element - <a href="3-pe2.html#SP1">§1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="3-rfse.html#SP1">§1</a><br/>Standards Element - <a href="3-se.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1">§1</a><br/>Tokens Element - <a href="3-te2.html#SP1">§1</a><br/>Values Element - <a href="3-ve.html#SP1">§1</a><br/>Render EPS Map - <a href="4-rem.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::get_tree</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::get_tree</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP1">§1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1">§1</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Card Element - <a href="3-ce.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP1">§1</a><br/>Commands Element - <a href="3-ce3.html#SP1">§1</a><br/>Contents Element - <a href="3-ce4.html#SP1">§1</a><br/>Events Element - <a href="3-ee.html#SP1">§1</a><br/>Extras Element - <a href="3-ee2.html#SP1">§1</a><br/>Figures Element - <a href="3-fe.html#SP1">§1</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP2">§2</a><br/>Innards Element - <a href="3-ie.html#SP1">§1</a><br/>Phrasebook Element - <a href="3-pe.html#SP1">§1</a><br/>Plot Element - <a href="3-pe2.html#SP1">§1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="3-rfse.html#SP1">§1</a><br/>Standards Element - <a href="3-se.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1">§1</a><br/>Tokens Element - <a href="3-te2.html#SP1">§1</a><br/>Values Element - <a href="3-ve.html#SP1">§1</a><br/>Render EPS Map - <a href="4-rem.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no indexing tree"</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">indexing_tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -354,7 +354,7 @@ of the Inter tree currently being indexed.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> </span><span class="identifier-syntax">index_file_struct</span><span class="plain-syntax">; </span><span class="comment-syntax"> The current index file being written</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::open_file</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::open_file</span></span>:<br/><a href="2-ii.html#SP1_4">§1.4</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">index_leaf</span><span class="plain-syntax">,</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::open_file</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::open_file</span></span>:<br/><a href="2-ii.html#SP1_4">§1.4</a><br/>Grouped Element - <a href="3-ge2.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">index_leaf</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><a href="2-il.html#SP3" class="function-link"><span class="function-syntax">IndexLocations::filename</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">index_leaf</span><span class="plain-syntax">, </span><span class="identifier-syntax">sub</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">STREAM_OPEN_TO_FILE</span><span class="plain-syntax">(&</span><span class="identifier-syntax">index_file_struct</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">UTF8_ENC</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
|
@ -376,7 +376,7 @@ of the Inter tree currently being indexed.
|
|||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::close_index_file</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::close_index_file</span></span>:<br/><a href="2-ii.html#SP1_4">§1.4</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::close_index_file</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">InterpretIndex::close_index_file</span></span>:<br/><a href="2-ii.html#SP1_4">§1.4</a><br/>Grouped Element - <a href="3-ge2.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">STREAM_CLOSE</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::set_page</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -325,7 +325,7 @@ switched off:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IndexRules::index_action_rules</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">IndexRules::index_action_rules</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP1_4">§1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IndexRules::index_action_rules</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">IndexRules::index_action_rules</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP2_1_5">§2.1.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ir.html#SP8" class="function-link"><span class="function-syntax">IndexRules::list_suppress_indexed_links</span></a><span class="plain-syntax">();</span>
|
||||
|
|
|
@ -84,7 +84,7 @@ on typical browser views embedded in apps on Windows, MacOS and Linux.)
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::banner_line</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::banner_line</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP2_5">§2.5</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sym</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::banner_line</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::banner_line</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP2_5">§2.5</a><br/>Grouped Element - <a href="3-ge2.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sym</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">exp</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"table"</span><span class="plain-syntax">, </span><span class="string-syntax">"cellspacing=\"3\" border=\"0\" style=\"background:#eeeeee;\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"tr"</span><span class="plain-syntax">);</span>
|
||||
|
@ -146,11 +146,11 @@ the source text in the application.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link</span></span>:<br/>Lexicon - <a href="2-lxc.html#SP6_2">§6.2</a><br/>Contents Element - <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a><br/>Innards Element - <a href="3-ie.html#SP2_3">§2.3</a><br/>Map Element - <a href="3-me.html#SP2_5">§2.5</a>, <a href="3-me.html#SP2_8">§2.8</a>, <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP7">§7</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_4_2">§1.3.1.4.2</a>, <a href="3-pe2.html#SP1_3_1_4_3">§1.3.1.4.3</a><br/>Tables Element - <a href="3-te.html#SP1_3_1">§1.3.1</a><br/>Values Element - <a href="3-ve.html#SP1_2">§1.2</a><br/>Spatial Map - <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link</span></span>:<br/>Lexicon - <a href="2-lxc.html#SP6_2">§6.2</a><br/>Contents Element - <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a><br/>Innards Element - <a href="3-ie.html#SP3_2">§3.2</a><br/>Map Element - <a href="3-me.html#SP2_5">§2.5</a>, <a href="3-me.html#SP2_8">§2.8</a>, <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP7">§7</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_4_2">§1.3.1.4.2</a>, <a href="3-pe2.html#SP1_3_1_4_3">§1.3.1.4.3</a><br/>Tables Element - <a href="3-te.html#SP1_3_1">§1.3.1</a><br/>Values Element - <a href="3-ve.html#SP1_2">§1.2</a><br/>Spatial Map - <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_to_location</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_location</span><span class="plain-syntax">(</span><span class="identifier-syntax">wn</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_package</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link_package</span></span>:<br/><a href="2-iu.html#SP11">§11</a><br/>Index Rules - <a href="2-ir.html#SP10_2">§10.2</a>, <a href="2-ir.html#SP14_5">§14.5</a>, <a href="2-ir.html#SP14_7">§14.7</a>, <a href="2-ir.html#SP16">§16</a>, <a href="2-ir.html#SP17">§17</a>, <a href="2-ir.html#SP17_1">§17.1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_3">§1.3</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP6_4">§6.4</a>, <a href="3-ce2.html#SP7_1">§7.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2_1">§1.2.1</a>, <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a>, <a href="3-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="3-fe.html#SP1_1">§1.1</a>, <a href="3-fe.html#SP1_2">§1.2</a>, <a href="3-fe.html#SP1_3">§1.3</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP1_1">§1.1</a>, <a href="3-ge2.html#SP2">§2</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_1">§1.3.1.1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1_3">§1.3</a><br/>Tokens Element - <a href="3-te2.html#SP1">§1</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a><br/>Verbs Element - <a href="3-ve2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_package</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link_package</span></span>:<br/><a href="2-iu.html#SP11">§11</a><br/>Index Rules - <a href="2-ir.html#SP10_2">§10.2</a>, <a href="2-ir.html#SP14_5">§14.5</a>, <a href="2-ir.html#SP14_7">§14.7</a>, <a href="2-ir.html#SP16">§16</a>, <a href="2-ir.html#SP17">§17</a>, <a href="2-ir.html#SP17_1">§17.1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_3">§1.3</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP6_4">§6.4</a>, <a href="3-ce2.html#SP7_1">§7.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2_1">§1.2.1</a>, <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a>, <a href="3-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="3-fe.html#SP1_1_1_2">§1.1.1.2</a>, <a href="3-fe.html#SP1_2_1_2">§1.2.1.2</a>, <a href="3-fe.html#SP1_3_1">§1.3.1</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP2_1_2">§2.1.2</a>, <a href="3-ge2.html#SP3">§3</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_1">§1.3.1.1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1_3">§1.3</a><br/>Tokens Element - <a href="3-te2.html#SP1">§1</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a><br/>Verbs Element - <a href="3-ve2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^at"</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">at</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -185,7 +185,7 @@ system set up in <a href="../html-module/2-dr2.html" class="internal">Documentat
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_to_documentation</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link_to_documentation</span></span>:<br/>Index Rules - <a href="2-ir.html#SP17_1">§17.1</a><br/>Lexicon - <a href="2-lxc.html#SP6_2">§6.2</a><br/>Chart Element - <a href="3-ce2.html#SP1_1_2_1">§1.1.2.1</a>, <a href="3-ce2.html#SP4">§4</a>, <a href="3-ce2.html#SP6_4">§6.4</a><br/>Grouped Element - <a href="3-ge2.html#SP2">§2</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_to_documentation</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::link_to_documentation</span></span>:<br/>Index Rules - <a href="2-ir.html#SP17_1">§17.1</a><br/>Lexicon - <a href="2-lxc.html#SP6_2">§6.2</a><br/>Chart Element - <a href="3-ce2.html#SP1_1_2_1">§1.1.2.1</a>, <a href="3-ce2.html#SP4">§4</a>, <a href="3-ce2.html#SP6_4">§6.4</a><br/>Grouped Element - <a href="3-ge2.html#SP3">§3</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">doc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^documentation"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">doc</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">IndexUtilities::DocReferences::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">doc</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -196,7 +196,7 @@ page about the taking action.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::detail_link</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::detail_link</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP1_1">§1.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">stub</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">down</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::detail_link</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::detail_link</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP1_1">§1.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP2_1_1">§2.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">stub</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">down</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">, </span><span class="string-syntax">"href=%s%d_%s.html"</span><span class="plain-syntax">, (</span><span class="identifier-syntax">down</span><span class="plain-syntax">)?</span><span class="string-syntax">"Details/"</span><span class="plain-syntax">:</span><span class="string-syntax">""</span><span class="plain-syntax">, </span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="identifier-syntax">stub</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=0 src=inform:/doc_images/Beneath.png"</span><span class="plain-syntax">);</span>
|
||||
|
@ -242,7 +242,7 @@ code.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::extra_all_link_with</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::extra_all_link_with</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP1_4">§1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">icon</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::extra_all_link_with</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">IndexUtilities::extra_all_link_with</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP2_1_5">§2.1.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">icon</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">, </span><span class="string-syntax">"href=\"#\" onclick=\"showAllResp(%d); return false;\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">nr</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=0 src=inform:/doc_images/%s.png"</span><span class="plain-syntax">, </span><span class="identifier-syntax">icon</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -292,13 +292,25 @@ with everything under the first line being italicised. For example:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_0</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_0</span></span>:<br/>Index Utilities - <a href="2-iu.html#SP1_2">§1.2</a><br/>Index Rules - <a href="2-ir.html#SP10">§10</a>, <a href="2-ir.html#SP10_1">§10.1</a>, <a href="2-ir.html#SP16">§16</a>, <a href="2-ir.html#SP17_1">§17.1</a><br/>Alphabetic Element - <a href="3-ae.html#SP2">§2</a>, <a href="3-ae.html#SP3">§3</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_1">§1.1</a>, <a href="3-ae2.html#SP1_2_1">§1.2.1</a>, <a href="3-ae2.html#SP2">§2</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP1_2">§1.2</a>, <a href="3-ce2.html#SP1_1_1">§1.1.1</a>, <a href="3-ce2.html#SP1_4">§1.4</a>, <a href="3-ce2.html#SP1_1_2_1">§1.1.2.1</a>, <a href="3-ce2.html#SP1_5">§1.5</a>, <a href="3-ce2.html#SP2">§2</a>, <a href="3-ce2.html#SP6_3_1">§6.3.1</a><br/>Commands Element - <a href="3-ce3.html#SP1_5">§1.5</a>, <a href="3-ce3.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2">§1.2</a>, <a href="3-ce4.html#SP1_3">§1.3</a>, <a href="3-ce4.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::bold_0</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Localisation::bold_0</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP2">§2</a><br/>Arithmetic Element - <a href="3-ae2.html#SP2">§2</a><br/>Figures Element - <a href="3-fe.html#SP1_1">§1.1</a>, <a href="3-fe.html#SP1_2">§1.2</a>, <a href="3-fe.html#SP1_3">§1.3</a><br/>Grouped Element - <a href="3-ge2.html#SP2_1_3">§2.1.3</a>, <a href="3-ge2.html#SP2_1_4">§2.1.4</a>, <a href="3-ge2.html#SP2_1_5">§2.1.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::italic_0</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Localisation::italic_0</span></span>:<br/>Alphabetic Element - <a href="3-ae.html#SP3">§3</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_2_1">§1.2.1</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP1_1_2_1">§1.1.2.1</a>, <a href="3-ce2.html#SP6_3_1">§6.3.1</a><br/>Commands Element - <a href="3-ce3.html#SP1_5">§1.5</a>, <a href="3-ce3.html#SP2">§2</a><br/>Events Element - <a href="3-ee.html#SP1">§1</a>, <a href="3-ee.html#SP1_1">§1.1</a>, <a href="3-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="3-fe.html#SP1_1_1_1">§1.1.1.1</a>, <a href="3-fe.html#SP1_2_1_1">§1.2.1.1</a>, <a href="3-fe.html#SP1_2_1_1_1">§1.2.1.1.1</a><br/>Grouped Element - <a href="3-ge2.html#SP2_1_2">§2.1.2</a><br/>Innards Element - <a href="3-ie.html#SP3_2">§3.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_0</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_0</span></span>:<br/>Index Utilities - <a href="2-iu.html#SP1_2">§1.2</a><br/>Index Rules - <a href="2-ir.html#SP10">§10</a>, <a href="2-ir.html#SP10_1">§10.1</a>, <a href="2-ir.html#SP16">§16</a>, <a href="2-ir.html#SP17_1">§17.1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_1">§1.1</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP1_2">§1.2</a>, <a href="3-ce2.html#SP1_1_1">§1.1.1</a>, <a href="3-ce2.html#SP1_4">§1.4</a>, <a href="3-ce2.html#SP1_5">§1.5</a>, <a href="3-ce2.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2">§1.2</a>, <a href="3-ce4.html#SP1_3">§1.3</a>, <a href="3-ce4.html#SP2">§2</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a><br/>Extras Element - <a href="3-ee2.html#SP1_1_1">§1.1.1</a><br/>Figures Element - <a href="3-fe.html#SP1_1">§1.1</a>, <a href="3-fe.html#SP1_2">§1.2</a>, <a href="3-fe.html#SP1_2_1_1_2">§1.2.1.1.2</a>, <a href="3-fe.html#SP1_3">§1.3</a>, <a href="3-fe.html#SP1_3_1">§1.3.1</a><br/>Grouped Element - <a href="3-ge2.html#SP2_1_2">§2.1.2</a>, <a href="3-ge2.html#SP2_1_5">§2.1.5</a><br/>Innards Element - <a href="3-ie.html#SP1">§1</a>, <a href="3-ie.html#SP1_1">§1.1</a>, <a href="3-ie.html#SP1_2">§1.2</a>, <a href="3-ie.html#SP1_3">§1.3</a>, <a href="3-ie.html#SP1_4">§1.4</a>, <a href="3-ie.html#SP3_1">§3.1</a><br/>Lexicon Element - <a href="3-le.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_1</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_1</span></span>:<br/>Index Rules - <a href="2-ir.html#SP14_1">§14.1</a>, <a href="2-ir.html#SP17">§17</a><br/>Lexicon - <a href="2-lxc.html#SP6_1">§6.1</a>, <a href="2-lxc.html#SP6_3">§6.3</a>, <a href="2-lxc.html#SP6_6">§6.6</a><br/>Contents Element - <a href="3-ce4.html#SP1_1">§1.1</a>, <a href="3-ce4.html#SP2">§2</a>, <a href="3-ce4.html#SP2_1">§2.1</a>, <a href="3-ce4.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_1</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_1</span></span>:<br/>Index Rules - <a href="2-ir.html#SP14_1">§14.1</a>, <a href="2-ir.html#SP17">§17</a><br/>Lexicon - <a href="2-lxc.html#SP6_1">§6.1</a>, <a href="2-lxc.html#SP6_3">§6.3</a>, <a href="2-lxc.html#SP6_6">§6.6</a><br/>Contents Element - <a href="3-ce4.html#SP1_1">§1.1</a>, <a href="3-ce4.html#SP2">§2</a>, <a href="3-ce4.html#SP2_1">§2.1</a><br/>Extras Element - <a href="3-ee2.html#SP1_1_1">§1.1.1</a><br/>Figures Element - <a href="3-fe.html#SP1_1_1_1">§1.1.1.1</a>, <a href="3-fe.html#SP1_2_1_1_2">§1.2.1.1.2</a>, <a href="3-fe.html#SP1_3_1">§1.3.1</a><br/>Innards Element - <a href="3-ie.html#SP1_3">§1.3</a>, <a href="3-ie.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -306,13 +318,74 @@ with everything under the first line being italicised. For example:
|
|||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_2</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_2</span></span>:<br/>Index Rules - <a href="2-ir.html#SP14_2">§14.2</a>, <a href="2-ir.html#SP15">§15</a><br/>Contents Element - <a href="3-ce4.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_1n</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_1n</span></span>:<br/>Contents Element - <a href="3-ce4.html#SP3">§3</a><br/>Figures Element - <a href="3-fe.html#SP1_2_1_1_2">§1.2.1.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">f1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_2</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_2</span></span>:<br/>Index Rules - <a href="2-ir.html#SP14_2">§14.2</a>, <a href="2-ir.html#SP15">§15</a><br/>Contents Element - <a href="3-ce4.html#SP1_1">§1.1</a><br/>Figures Element - <a href="3-fe.html#SP1_2_1_1_2">§1.2.1.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val1</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">val1</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[2] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_2n</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_2n</span></span>:<br/>Figures Element - <a href="3-fe.html#SP1_1_1">§1.1.1</a>, <a href="3-fe.html#SP1_1_1_1">§1.1.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">f1</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[2] = </span><span class="identifier-syntax">f2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_2sn</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_2sn</span></span>:<br/>Figures Element - <a href="3-fe.html#SP1_1_1_2">§1.1.1.2</a>, <a href="3-fe.html#SP1_2_1_2">§1.2.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">val1</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[2] = </span><span class="identifier-syntax">f2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_2ns</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_2ns</span></span>:<br/>Figures Element - <a href="3-fe.html#SP1_2_1_1_1">§1.2.1.1.1</a>, <a href="3-fe.html#SP1_2_1_1_2">§1.2.1.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">f1</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[2] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_3nsn</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_3nsn</span></span>:<br/>Figures Element - <a href="3-fe.html#SP1_2_1_1_1">§1.2.1.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val2</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val3</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax">[10];</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lcl.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vacate the vals</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f3</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">f3</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">val3</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[1] = </span><span class="identifier-syntax">f1</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[2] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">; </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[3] = </span><span class="identifier-syntax">f3</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP6" class="function-link"><span class="function-syntax">Localisation::write_general</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">vals</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">f3</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5_1" class="paragraph-anchor"></a><b>§5.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Vacate the vals</span><span class="named-paragraph-number">5.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
@ -320,11 +393,11 @@ with everything under the first line being italicised. For example:
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><10; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">vals</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-lcl.html#SP5">§5</a> (three times).</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-lcl.html#SP5">§5</a> (8 times).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_general</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_general</span></span>:<br/><a href="2-lcl.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Localisation::write_general</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Localisation::write_general</span></span>:<br/><a href="2-lcl.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> **</span><span class="identifier-syntax">vals</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prototype</span><span class="plain-syntax"> = </span><a href="2-lcl.html#SP2" class="function-link"><span class="function-syntax">Localisation::read</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">italics_open</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -158,9 +158,7 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">AlphabeticElement::column</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">AlphabeticElement::column</span></span>:<br/><a href="3-ae.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Elements.A2.%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b> "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -170,9 +168,7 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">AlphabeticElement::note</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">AlphabeticElement::note</span></span>:<br/><a href="3-ae.html#SP1_1">§1.1</a>, <a href="3-ae.html#SP1_2">§1.2</a>, <a href="3-ae.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Elements.A2.%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i> "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -146,9 +146,7 @@ so we do little more than tabulate that data here.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">dims</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">dims</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ar.Dimensionless"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ar.Dimensionless"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ae2.html#SP1_2">§1.2</a>.</li></ul>
|
||||
|
@ -204,9 +202,8 @@ text, sorted into kind order of left and then right operand.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ArithmeticElement::column</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">ArithmeticElement::column</span></span>:<br/><a href="3-ae2.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">key</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Elements.Ar.%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b> "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -94,9 +94,8 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>%S</b>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;&nbsp;<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Bh.Defined"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">":</i>\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Bh.Defined"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_INTER_CHILDREN</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</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="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">PACKAGE_IST</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -261,9 +261,9 @@ or as paragraph of text in pass 2:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="string-syntax">"halftight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP5" class="function-link"><span class="function-syntax">IndexUtilities::anchor_numbered</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">); </span><span class="comment-syntax"> ...the anchor to which the grey icon in the table led</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">); </span><a href="2-iu.html#SP11" class="function-link"><span class="function-syntax">IndexUtilities::kind_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ch.Plural"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i> "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ch.Plural"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP11" class="function-link"><span class="function-syntax">IndexUtilities::kind_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">")"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP3" class="function-link"><span class="function-syntax">IndexUtilities::link_to_documentation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
|
@ -498,9 +498,9 @@ whole row.
|
|||
<span class="plain-syntax"> </span><a href="2-iu.html#SP11" class="function-link"><span class="function-syntax">IndexUtilities::kind_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-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">pass</span><span class="plain-syntax"> == </span><span class="constant-syntax">2</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-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">pass</span><span class="plain-syntax"> == </span><span class="constant-syntax">2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (<i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ch.Plural"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i> "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ch.Plural"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP11" class="function-link"><span class="function-syntax">IndexUtilities::kind_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">")"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -218,24 +218,21 @@ as follows:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OUT_OF_WORLD_COMMAND:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, <i>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cie</span><span class="plain-syntax">-></span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Command"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, "</span><span class="plain-syntax">, </span><span class="identifier-syntax">cie</span><span class="plain-syntax">-></span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Command"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">TESTING_COMMAND:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, <i>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cie</span><span class="plain-syntax">-></span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.TestingCommand"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, "</span><span class="plain-syntax">, </span><span class="identifier-syntax">cie</span><span class="plain-syntax">-></span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.TestingCommand"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">BARE_DIRECTION_COMMAND:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;[direction]&quot; - <i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.DirectionCommand"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;[direction]&quot; - "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.DirectionCommand"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -253,14 +250,14 @@ as follows:
|
|||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::index_alias</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::index_alias</span></span>:<br/><a href="3-ce3.html#SP1_5">§1.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg_pack</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, <i>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Alias"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i> &quot;%S&quot;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^command"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;%S&quot;, "</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Alias"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" &quot;%S&quot;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^command"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg_pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::index_grammar_line</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::index_grammar_line</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::index_grammar_line</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::index_grammar_line</span></span>:<br/>Grouped Element - <a href="3-ge2.html#SP2_1_3">§2.1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^action"</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">an_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
|
@ -274,15 +271,13 @@ as follows:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&quot;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" - <i>%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" - <i>%S</i>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP4" class="function-link"><span class="function-syntax">IndexUtilities::detail_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"A"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"action_id"</span><span class="plain-syntax">), </span><span class="identifier-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">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^reversed"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" <i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Reversed"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Cm.Reversed"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</i>"</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">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -267,10 +267,8 @@ function togglePopup(material_id) {
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ContentsElement::word_count</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">ContentsElement::word_count</span></span>:<br/><a href="3-ce4.html#SP1_2_1">§1.2.1</a>, <a href="3-ce4.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">words</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">words</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^word_count"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.C.Words"</span><span class="plain-syntax">, </span><span class="identifier-syntax">words</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">words</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1n</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.C.Words"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^word_count"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -85,7 +85,9 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ee.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index events with no specific time</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ee.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index timetabled events</span><span class="named-paragraph-number">1.2</span></a></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">when_count</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">tt_count</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>None.</i>"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ev.None"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -99,14 +101,16 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed_for"</span><span class="plain-syntax">) == </span><span class="identifier-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">when_count</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>Events with no specific time</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ev.Timeless"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"tightin2\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^preamble"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (where triggered: "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ev.WhereTriggered"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">entry</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_SUBPACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_timed_rule_trigger"</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_at"</span><span class="plain-syntax">);</span>
|
||||
|
@ -127,7 +131,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed_for"</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">tt_count</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>Timetable</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Ev.Timetable"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tt_count</span><span class="plain-syntax">++;</span>
|
||||
|
|
|
@ -72,7 +72,9 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Elements</a></li><li><b>Extras Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Extras element (Xt) in the index.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>This is to sweep up rulebooks and activities not covered by other elements,
|
||||
really, and most of the code here is just to arrange them in some logical order.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ExtrasElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">ExtrasElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
|
@ -118,12 +120,14 @@ function togglePopup(material_id) {
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-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">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">) == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>From the source text</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Xt.FromSourceText"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>From the extension %S</b>"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Xt.FromExtension"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ee2.html#SP1_1">§1.1</a> (twice).</li></ul>
|
||||
|
|
|
@ -72,62 +72,53 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Elements</a></li><li><b>Figures Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Figures element (Fi) in the index.</p>
|
||||
|
||||
<ul class="toc"><li><a href="3-fe.html#SP1_2">§1.2. Sounds Index</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="3-fe.html#SP1_1">§1.1. Figures</a></li><li><a href="3-fe.html#SP1_2">§1.2. Sounds</a></li><li><a href="3-fe.html#SP1_3">§1.3. Files</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>This also includes sounds and external files, a little questionably.
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Not only figures but also sounds and external files, a little questionably.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">FiguresElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">FiguresElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::get_tree</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Synoptic::inv</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</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">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</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">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</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">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">) < </span><span class="constant-syntax">2</span><span class="plain-syntax">) { </span><span class="comment-syntax"> cover art always creates 1</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"There are no figures, or illustrations, in this project."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the figures</span><span class="named-paragraph-number">1.1</span></a></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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"There are no sound effects in this project."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the sounds</span><span class="named-paragraph-number">1.2</span></a></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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"This project doesn't read or write external files."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index the files</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the figures</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the sounds</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index the files</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>The index is presented with thumbnails of a given pixel width, which
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. Figures. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the figures</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">) <= </span><span class="constant-syntax">1</span><span class="plain-syntax">) { </span><span class="comment-syntax"> cover art always creates 1</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoFigures"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfFigures"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the figures</span><span class="named-paragraph-number">1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_1" class="paragraph-anchor"></a><b>§1.1.1. </b>The table is presented with thumbnails of a given pixel width, which
|
||||
the HTML renderer automatically scales to fit. Height is adjusted so as
|
||||
to match this width, preserving the aspect ratio.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax"> </span><span class="constant-syntax">80</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the figures</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the figures</span><span class="named-paragraph-number">1.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">settings</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">settings</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^max_indexed_figures"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>List of Figures</b>"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"#ffffff"</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">count_of_displayed_figures</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
|
@ -136,78 +127,110 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id</span><span class="plain-syntax"> > </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^filename"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::from_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">width</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">height</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">int</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><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">FIGURE_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="string-syntax">"JPEG"</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">ImageFiles::get_JPEG_dimensions</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">width</span><span class="plain-syntax">, &</span><span class="identifier-syntax">height</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</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="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">FIGURE_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="string-syntax">"PNG"</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">ImageFiles::get_PNG_dimensions</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">width</span><span class="plain-syntax">, &</span><span class="identifier-syntax">height</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</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">rv</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"<i>Unknown image format</i>"</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"%s format: %d (width) by %d (height) pixels"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax">, </span><span class="identifier-syntax">width</span><span class="plain-syntax">, </span><span class="identifier-syntax">height</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="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"<i>Missing from the Figures folder</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">+10);</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="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/image_problem.png\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</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">count_of_displayed_figures</span><span class="plain-syntax">++ < </span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"1\" src=\"file:</span><span class="comment-syntax">%f\" width=\"%d\" height=\"%d\"",</span>
|
||||
<span class="string-syntax"> F, THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);</span>
|
||||
<span class="string-syntax"> WRITE("</span><span class="plain-syntax">&</span><span class="identifier-syntax">nbsp</span><span class="plain-syntax">;</span><span class="string-syntax">");</span>
|
||||
<span class="string-syntax"> } else {</span>
|
||||
<span class="string-syntax"> HTML_OPEN_WITH("</span><span class="identifier-syntax">div</span><span class="string-syntax">", "</span><span class="identifier-syntax">style</span><span class="plain-syntax">=\</span><span class="string-syntax">"width:%dpx; height:%dpx; border:1px solid; background-color:#6495ed;\""</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">*</span><span class="identifier-syntax">height</span><span class="plain-syntax">/</span><span class="identifier-syntax">width</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">line2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Filename: \"%S\" - resource number %d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Filenames::get_leafname</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1_1_1" class="named-paragraph-link"><span class="named-paragraph">Find image format and dimensions</span><span class="named-paragraph-number">1.1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Render a table row for the image</span><span class="named-paragraph-number">1.1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">count_of_displayed_figures</span><span class="plain-syntax"> > </span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(Only the first %d thumbnails have been shown here, "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"to avoid Inform taking up too much memory. If you'd like to "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"see more, set 'Use index figure thumbnails of at least %d.', or "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"whatever number you want to wait for.)"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2n</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ThumbnailLimit"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax">, </span><span class="constant-syntax">10</span><span class="plain-syntax">*</span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. Sounds Index. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the sounds</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_1_1" class="paragraph-anchor"></a><b>§1.1.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Find image format and dimensions</span><span class="named-paragraph-number">1.1.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">FIGURE_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"JPEG"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ImageFiles::get_JPEG_dimensions</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">width</span><span class="plain-syntax">, &</span><span class="identifier-syntax">height</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</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">format_found</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">FIGURE_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">FIGURE_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"PNG"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ImageFiles::get_PNG_dimensions</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">width</span><span class="plain-syntax">, &</span><span class="identifier-syntax">height</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">FIGURE_FILE</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">format_found</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.UnknownFormat"</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Format"</span><span class="plain-syntax">, </span><span class="identifier-syntax">real_format</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">": "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2n</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Dimensions"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">width</span><span class="plain-syntax">, (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">height</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Missing"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_1_1">§1.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_1_2" class="paragraph-anchor"></a><b>§1.1.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a table row for the image</span><span class="named-paragraph-number">1.1.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">+10);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format_found</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/image_problem.png\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</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">count_of_displayed_figures</span><span class="plain-syntax">++ < </span><span class="identifier-syntax">MAX_INDEXED_FIGURES</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"border=\"1\" src=\"file:</span><span class="comment-syntax">%f\" width=\"%d\" height=\"%d\"",</span>
|
||||
<span class="string-syntax"> F, THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);</span>
|
||||
<span class="string-syntax"> WRITE("</span><span class="plain-syntax">&</span><span class="identifier-syntax">nbsp</span><span class="plain-syntax">;</span><span class="string-syntax">");</span>
|
||||
<span class="string-syntax"> } else {</span>
|
||||
<span class="string-syntax"> HTML_OPEN_WITH("</span><span class="identifier-syntax">div</span><span class="string-syntax">",</span>
|
||||
<span class="string-syntax"> "</span><span class="identifier-syntax">style</span><span class="plain-syntax">=\</span><span class="string-syntax">"width:%dpx; height:%dpx; border:1px solid; background-color:#6495ed;\""</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">*</span><span class="identifier-syntax">height</span><span class="plain-syntax">/</span><span class="identifier-syntax">width</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">description</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2sn</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Resource"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::get_leafname</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_1_1">§1.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. Sounds. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the sounds</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfSounds"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoSounds"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the sounds</span><span class="named-paragraph-number">1.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1" class="paragraph-anchor"></a><b>§1.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the sounds</span><span class="named-paragraph-number">1.2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>List of Sounds</b>"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"#ffffff"</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">) {</span>
|
||||
|
@ -217,106 +240,167 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">duration</span><span class="plain-syntax">, </span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">, </span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">, </span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">, </span><span class="identifier-syntax">fsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">midi_version</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">no_tracks</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">preview</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">waveform_style</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="string-syntax">"AIFF"</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">SoundFiles::get_AIFF_duration</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">duration</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fseek</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">SEEK_END</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fsize</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax">) (</span><span class="identifier-syntax">ftell</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="string-syntax">"Ogg Vorbis"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">preview</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</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">SoundFiles::get_OggVorbis_duration</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">duration</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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">rv</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">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">waveform_style</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="string-syntax">"MIDI"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">preview</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</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">SoundFiles::get_MIDI_information</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">midi_version</span><span class="plain-syntax">, &</span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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">rv</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"<i>Unknown sound format</i>"</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">waveform_style</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"Type %d %s file with %d track%s"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">midi_version</span><span class="plain-syntax">, </span><span class="identifier-syntax">real_format</span><span class="plain-syntax">, </span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>Warning: not officially supported in glulx yet</i>"</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">min</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">/6000), </span><span class="identifier-syntax">sec</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">%6000)/100,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">centisec</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">%100);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%01dKB %s file: duration "</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fsize</span><span class="plain-syntax">/1024, (</span><span class="identifier-syntax">fsize</span><span class="plain-syntax">%1024)/102, </span><span class="identifier-syntax">real_format</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">min</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d minutes "</span><span class="plain-syntax">, </span><span class="identifier-syntax">min</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">sec</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">centisec</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">centisec</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d seconds"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sec</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%02d seconds"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sec</span><span class="plain-syntax">, </span><span class="identifier-syntax">centisec</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"exactly"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"Sampled as %d.%01dkHz %s (%d.%01d kilobits/sec)"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">/1000, (</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">%1000)/100,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">==1)?</span><span class="string-syntax">"Mono"</span><span class="plain-syntax">:</span><span class="string-syntax">"Stereo"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">/1000, (</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">%1000)/100);</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="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">, </span><span class="string-syntax">"<i>Missing from the Sounds folder</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">+10);</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="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/image_problem.png\""</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">preview</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"embed"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"src=\"file:</span><span class="comment-syntax">%f\" width=\"%d\" height=\"64\" "</span>
|
||||
<span class="string-syntax"> "</span><span class="identifier-syntax">autostart</span><span class="plain-syntax">=\</span><span class="string-syntax">"false\" volume=\"50%%\" mastersound"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"embed"</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/sound_okay.png\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">line2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Filename: \"%S\" - resource number %d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Filenames::get_leafname</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">line2</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2_1_1" class="named-paragraph-link"><span class="named-paragraph">Find sound format and duration</span><span class="named-paragraph-number">1.2.1.1</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2_1_2" class="named-paragraph-link"><span class="named-paragraph">Render a table row for the sound</span><span class="named-paragraph-number">1.2.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b>This is more or less perfunctory, but still of some use, if only as a list.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2">§1.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_1" class="paragraph-anchor"></a><b>§1.2.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Find sound format and duration</span><span class="named-paragraph-number">1.2.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"AIFF"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">SoundFiles::get_AIFF_duration</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">duration</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fseek</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">SEEK_END</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fsize</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax">) (</span><span class="identifier-syntax">ftell</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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">format_found</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">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"Ogg Vorbis"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">preview</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">SoundFiles::get_OggVorbis_duration</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">duration</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pChannels</span><span class="plain-syntax">, &</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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">format_found</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">SOUND_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"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">SOUND_FILE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">waveform_style</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">real_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"MIDI"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">preview</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">format_found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">SoundFiles::get_MIDI_information</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> &</span><span class="identifier-syntax">midi_version</span><span class="plain-syntax">, &</span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fclose</span><span class="plain-syntax">(</span><span class="identifier-syntax">SOUND_FILE</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">format_found</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.UnknownSoundFormat"</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">waveform_style</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2_1_1_1" class="named-paragraph-link"><span class="named-paragraph">Describe sound in MIDI format</span><span class="named-paragraph-number">1.2.1.1.1</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Describe sound in waveform format</span><span class="named-paragraph-number">1.2.1.1.2</span></a></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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.MissingSound"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_1_1" class="paragraph-anchor"></a><b>§1.2.1.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Describe sound in MIDI format</span><span class="named-paragraph-number">1.2.1.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2ns</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.SoundFormatOneTrack"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">midi_version</span><span class="plain-syntax">, </span><span class="identifier-syntax">real_format</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_3nsn</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.SoundFormatMultiTrack"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">midi_version</span><span class="plain-syntax">, </span><span class="identifier-syntax">real_format</span><span class="plain-syntax">, (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">no_tracks</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">" - "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.SoundUnsupported"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2_1_1">§1.2.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_1_2" class="paragraph-anchor"></a><b>§1.2.1.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Describe sound in waveform format</span><span class="named-paragraph-number">1.2.1.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">size</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">size</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%01dKB"</span><span class="plain-syntax">, </span><span class="identifier-syntax">fsize</span><span class="plain-syntax">/1024, (</span><span class="identifier-syntax">fsize</span><span class="plain-syntax">%1024)/102);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.SoundFile"</span><span class="plain-syntax">, </span><span class="identifier-syntax">size</span><span class="plain-syntax">, </span><span class="identifier-syntax">real_format</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">size</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">min</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">/6000), </span><span class="identifier-syntax">sec</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">%6000)/100, </span><span class="identifier-syntax">centisec</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">duration</span><span class="plain-syntax">%100);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">seconds</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">centisec</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">seconds</span><span class="plain-syntax">, </span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sec</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">seconds</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%02d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sec</span><span class="plain-syntax">, </span><span class="identifier-syntax">centisec</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">min</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">sec</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">centisec</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2ns</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.DurationMS"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">min</span><span class="plain-syntax">, </span><span class="identifier-syntax">seconds</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1n</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.DurationM"</span><span class="plain-syntax">, </span><span class="identifier-syntax">min</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.DurationS"</span><span class="plain-syntax">, </span><span class="identifier-syntax">seconds</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">seconds</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"<br>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">sample</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">sample</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%01dkHz"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">/1000, (</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">%1000)/100);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Sampled"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sample</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">sample</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">pChannels</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Mono"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Stereo"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">bitrate</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">bitrate</span><span class="plain-syntax">, </span><span class="string-syntax">"%d.%01d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pBitsPerSecond</span><span class="plain-syntax">/1000, (</span><span class="identifier-syntax">pSampleRate</span><span class="plain-syntax">%1000)/100);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.BitRate"</span><span class="plain-syntax">, </span><span class="identifier-syntax">bitrate</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">bitrate</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">")"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2_1_1">§1.2.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_2" class="paragraph-anchor"></a><b>§1.2.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a table row for the sound</span><span class="named-paragraph-number">1.2.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">+10);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format_found</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/image_problem.png\""</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">preview</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"embed"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"src=\"file:</span><span class="comment-syntax">%f\" width=\"%d\" height=\"64\" "</span>
|
||||
<span class="string-syntax"> "</span><span class="identifier-syntax">autostart</span><span class="plain-syntax">=\</span><span class="string-syntax">"false\" volume=\"50%%\" mastersound"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"embed"</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/sound_okay.png\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">description</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_2sn</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Resource"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::get_leafname</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. Files. </b>This is more or less perfunctory, but still of some use, if only as a list.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the files</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>List of External Files</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the files</span><span class="named-paragraph-number">1.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1" class="paragraph-anchor"></a><b>§1.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the files</span><span class="named-paragraph-number">1.3.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"#ffffff"</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">) {</span>
|
||||
|
@ -332,23 +416,26 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Filename: %s %S- owned by "</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">is_binary</span><span class="plain-syntax">)?</span><span class="string-syntax">"- binary "</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">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^leafname"</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">is_binary</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.BinaryFile"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^leafname"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.TextFile"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^leafname"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owned"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"this project"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.FileOwnedByThis"</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">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owned_by_other"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"another project"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.FileOwnedByOther"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"project with IFID number <b>%S</b>"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.FileOwnedBy"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owner"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3">§1.3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ee2.html">❮</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-tpt.html">tpt</a></li><li class="progresssection"><a href="3-ae.html">ae</a></li><li class="progresssection"><a href="3-ae2.html">ae2</a></li><li class="progresssection"><a href="3-be.html">be</a></li><li class="progresssection"><a href="3-ce.html">ce</a></li><li class="progresssection"><a href="3-ce2.html">ce2</a></li><li class="progresssection"><a href="3-ce3.html">ce3</a></li><li class="progresssection"><a href="3-ce4.html">ce4</a></li><li class="progresssection"><a href="3-ee.html">ee</a></li><li class="progresssection"><a href="3-ee2.html">ee2</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="3-ge.html">ge</a></li><li class="progresssection"><a href="3-ge2.html">ge2</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresssection"><a href="3-le.html">le</a></li><li class="progresssection"><a href="3-me.html">me</a></li><li class="progresssection"><a href="3-pe.html">pe</a></li><li class="progresssection"><a href="3-pe2.html">pe2</a></li><li class="progresssection"><a href="3-re.html">re</a></li><li class="progresssection"><a href="3-rfse.html">rfse</a></li><li class="progresssection"><a href="3-se.html">se</a></li><li class="progresssection"><a href="3-te.html">te</a></li><li class="progresssection"><a href="3-te2.html">te2</a></li><li class="progresssection"><a href="3-ve.html">ve</a></li><li class="progresssection"><a href="3-ve2.html">ve2</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="3-ge.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -72,7 +72,8 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Elements</a></li><li><b>Grouped Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Grouped actions element (A1) in the index, and also the detailed per-action pages linked from it.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>The element itself is easily made:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
|
@ -108,24 +109,22 @@ function togglePopup(material_id) {
|
|||
<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="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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="identifier-syntax">suppress_comma</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">", "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ge2.html#SP1" class="function-link"><span class="function-syntax">GroupedElement::index_p1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">oow</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^out_of_world"</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">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</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">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP4" class="function-link"><span class="function-syntax">IndexUtilities::detail_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"A"</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax"> = </span><span class="identifier-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">f</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Everything else in this section is for the detail pages: there is one such
|
||||
page for each action.
|
||||
</p>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::index_p1</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bold</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">on_details_page</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">oow</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^out_of_world"</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">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</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">bold</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</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">bold</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-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">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP4" class="function-link"><span class="function-syntax">IndexUtilities::detail_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"A"</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, (</span><span class="identifier-syntax">on_details_page</span><span class="plain-syntax">)?</span><span class="identifier-syntax">FALSE:TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::detail_pages</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::detail_pages</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP1_4">§1.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::get_tree</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Synoptic::inv</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
@ -134,38 +133,52 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP9" class="function-link"><span class="function-syntax">InterpretIndex::open_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"A.html"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"<Actions"</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP1" class="function-link"><span class="function-syntax">IndexUtilities::banner_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Details"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Pages.ActionDetails.Heading"</span><span class="plain-syntax">, </span><span class="string-syntax">"../Actions.html"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_area</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_subheading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>%S - %S</b><br>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_area</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</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="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_area2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_subarea2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_subheading"</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">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">this_area</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_area2</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_subarea2</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="identifier-syntax">WRITE</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">j</span><span class="plain-syntax"> == </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</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">j</span><span class="plain-syntax"> == </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-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">j</span><span class="plain-syntax"> != </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><a href="2-iu.html#SP4" class="function-link"><span class="function-syntax">IndexUtilities::detail_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"A"</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Show the heading</span><span class="named-paragraph-number">1.1</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Show the commands</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Show the action variables</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Show the rules relevant to this action</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Write details page for the action</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP10" class="function-link"><span class="function-syntax">InterpretIndex::close_index_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the heading</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>§2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write details page for the action</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP1" class="function-link"><span class="function-syntax">IndexUtilities::banner_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Details"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Pages.ActionDetails.Heading"</span><span class="plain-syntax">, </span><span class="string-syntax">"../Actions.html"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1_1" class="named-paragraph-link"><span class="named-paragraph">Show the fancy navigate-similar-actions menu</span><span class="named-paragraph-number">2.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1_2" class="named-paragraph-link"><span class="named-paragraph">Show the heading</span><span class="named-paragraph-number">2.1.2</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1_3" class="named-paragraph-link"><span class="named-paragraph">Show the commands</span><span class="named-paragraph-number">2.1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1_4" class="named-paragraph-link"><span class="named-paragraph">Show the action variables</span><span class="named-paragraph-number">2.1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ge2.html#SP2_1_5" class="named-paragraph-link"><span class="named-paragraph">Show the rules relevant to this action</span><span class="named-paragraph-number">2.1.5</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_1" class="paragraph-anchor"></a><b>§2.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the fancy navigate-similar-actions menu</span><span class="named-paragraph-number">2.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_area</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_subheading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>%S - %S</b><br>"</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_area</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</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="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_area2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">this_subarea2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^index_subheading"</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">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">this_area</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_area2</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">this_subarea</span><span class="plain-syntax">, </span><span class="identifier-syntax">this_subarea2</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="identifier-syntax">WRITE</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">j</span><span class="plain-syntax"> == </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an2_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</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">j</span><span class="plain-syntax"> == </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-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">j</span><span class="plain-syntax"> != </span><span class="identifier-syntax">i</span><span class="plain-syntax">) </span><a href="2-iu.html#SP4" class="function-link"><span class="function-syntax">IndexUtilities::detail_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"A"</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_2" class="paragraph-anchor"></a><b>§2.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the heading</span><span class="named-paragraph-number">2.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -178,57 +191,74 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">oow</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"</b>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</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">requires_light</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (requires light)"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (<i>past tense</i> %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^past_name"</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">requires_light</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.RequiresLight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.PastTense"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^past_name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^specification"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">": %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">desc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^description"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">desc</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the commands</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_3" class="paragraph-anchor"></a><b>§2.1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the commands</span><span class="named-paragraph-number">2.1.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>Typed commands leading to this action</b>\n"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.CommandsHeading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">producers</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">line_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_SUBPACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">line_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_cg_line"</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">xref</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">line_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^line"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ce3.html#SP2" class="function-link"><span class="function-syntax">CommandsElement::index_grammar_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">xref</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ce3.html#SP2" class="function-link"><span class="function-syntax">CommandsElement::index_grammar_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">xref</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">producers</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">producers</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>None</i>"</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">producers</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.NoCommands"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the action variables</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_4" class="paragraph-anchor"></a><b>§2.1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the action variables</span><span class="named-paragraph-number">2.1.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ge2.html#SP2" class="function-link"><span class="function-syntax">GroupedElement::no_vars</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>Named values belonging to this action</b>\n"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ge2.html#SP2" class="function-link"><span class="function-syntax">GroupedElement::index_shv_set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ge2.html#SP3" class="function-link"><span class="function-syntax">GroupedElement::no_vars</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.ValuesHeading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ge2.html#SP3" class="function-link"><span class="function-syntax">GroupedElement::index_shv_set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the rules relevant to this action</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_5" class="paragraph-anchor"></a><b>§2.1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the rules relevant to this action</span><span class="named-paragraph-number">2.1.5</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<b>Rules controlling this action</b>"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::bold_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.RulesHeading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</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">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">oow</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^out_of_world"</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">oow</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"persuasion"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"persuasion"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unsuccessful_attempt_by"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unsuccessful attempt"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"setting_action_variables"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"set action variables for"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"before"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"before"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"instead"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"instead of"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"persuasion"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"persuasion"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"unsuccessful_attempt_by"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unsuccessful attempt"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"setting_action_variables"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"set action variables for"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"before"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"before"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"instead"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"instead of"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">check_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^check_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">carry_out_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^carry_out_rulebook"</span><span class="plain-syntax">);</span>
|
||||
|
@ -237,29 +267,32 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">carry_out_pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">carry_out_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">report_pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">report_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">check_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"check"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"check"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">carry_out_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"carry_out"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"carry out"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">check_pack</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"check"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"check"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">carry_out_pack</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"carry_out"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"carry out"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</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">oow</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"after"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"after"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">report_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"report"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"report"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"after"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"after"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax"> += </span><a href="2-ir.html#SP12" class="function-link"><span class="function-syntax">IndexRules::index_action_rules</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">report_pack</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"report"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"report"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</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">resp_count</span><span class="plain-syntax"> > </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Click on the speech-bubble icons to see the responses, "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"or here to see all of them:"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.A1.ResponseIcons"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">":&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP6" class="function-link"><span class="function-syntax">IndexUtilities::extra_all_link_with</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rule_nodes</span><span class="plain-syntax">), </span><span class="string-syntax">"responses"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">resp_count</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b></p>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ge2.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::no_vars</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::no_vars</span></span>:<br/><a href="3-ge2.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::no_vars</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::no_vars</span></span>:<br/><a href="3-ge2.html#SP2_1_4">§2.1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</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">InterTree::no_subpackages</span><span class="plain-syntax">(</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_shared_variable"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::index_shv_set</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::index_shv_set</span></span>:<br/><a href="3-ge2.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::index_shv_set</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::index_shv_set</span></span>:<br/><a href="3-ge2.html#SP2_1_4">§2.1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">var_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_SUBPACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">var_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_shared_variable"</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -72,7 +72,8 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Elements</a></li><li><b>Innards Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Innards element (In) in the index.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Describing the current VM.
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>This element is something of a miscellany, except that it's all about the
|
||||
technical implementation rather than the content of a work.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -86,7 +87,7 @@ function togglePopup(material_id) {
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP6" class="function-link"><span class="function-syntax">IndexUtilities::extra_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"See some technicalities for Inform maintainers only"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Technicalities"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP7" class="function-link"><span class="function-syntax">IndexUtilities::extra_div_open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
|
@ -101,7 +102,9 @@ function togglePopup(material_id) {
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP5" class="function-link"><span class="function-syntax">IndexUtilities::anchor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORYFILE"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Story file format: "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Format"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VM</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^virtual_machine"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VM_icon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^virtual_machine_icon"</span><span class="plain-syntax">);</span>
|
||||
|
@ -117,14 +120,20 @@ function togglePopup(material_id) {
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"The following use options are in force:"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.ActiveUseOptions"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP3" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP3" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">module_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ie.html#SP3" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</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="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Whereas these are not in force:"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.InactiveUseOptions"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">) {</span>
|
||||
|
@ -135,7 +144,7 @@ function togglePopup(material_id) {
|
|||
<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="identifier-syntax">WRITE</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="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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"None."</span><span class="plain-syntax">); </span><span class="comment-syntax"> in practice, this will never happen</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><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.NoUseOptions"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP1">§1</a>.</li></ul>
|
||||
|
@ -156,12 +165,19 @@ function togglePopup(material_id) {
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Inform language definition:\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.LanguageDefinition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">used</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^language_elements_used"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">not_used</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^language_elements_not_used"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Included: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">used</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">not_used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<br>Excluded: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">not_used</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Included"</span><span class="plain-syntax">, </span><span class="identifier-syntax">used</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">not_used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<br>"</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">not_used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Excluded"</span><span class="plain-syntax">, </span><span class="identifier-syntax">not_used</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP1">§1</a>.</li></ul>
|
||||
|
@ -170,7 +186,8 @@ function togglePopup(material_id) {
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Debugging log:"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Log"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</span><span class="plain-syntax">);</span>
|
||||
|
@ -192,7 +209,9 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Now for indexing, where there's nothing much to see.
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Use options can be set in three general ways, and the following function
|
||||
answers the question "was this option set in this way?". <span class="extract"><span class="extract-syntax">E</span></span> is meaningless
|
||||
except for <span class="extract"><span class="extract-syntax">EXTENSION_UO_ORIGIN</span></span>, when we are testing whether it was set in <span class="extract"><span class="extract-syntax">E</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
|
@ -200,30 +219,14 @@ function togglePopup(material_id) {
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::index_options_in_force_from</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></span>:<br/><a href="3-ie.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^active"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^source_file_scoped"</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">set</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ie.html#SP2_1" class="function-link"><span class="function-syntax">InnardsElement::uo_set_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</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">N</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Write in the use option subheading</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP2_3" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option taken</span><span class="named-paragraph-number">2.3</span></a></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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>§2.1. </b>And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::uo_set_from</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::uo_set_from</span></span>:<br/><a href="3-ie.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</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">category</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_in_source_text"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_in_options"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::uo_set_from</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::uo_set_from</span></span>:<br/><a href="3-ie.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">way</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</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">way</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_in_source_text"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_in_options"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_UO_ORIGIN:</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_in_extension"</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">id</span><span class="plain-syntax">) {</span>
|
||||
|
@ -236,29 +239,50 @@ pragma is set:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>§2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the use option subheading</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>Here we list the UOs set in a particular way, using the same calling conventions.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::index_options_in_force_from</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></span>:<br/><a href="3-ie.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">way</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^active"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^source_file_scoped"</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">set</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::uo_set_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">way</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</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">N</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Write in the use option subheading</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option taken</span><span class="named-paragraph-number">3.2</span></a></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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3_1" class="paragraph-anchor"></a><b>§3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the use option subheading</span><span class="named-paragraph-number">3.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"808080"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Set from "</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">category</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">way</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the source text"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.SetFromSource"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the Options.txt configuration file, or automatically"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.SetAutomatically"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IndexUtilities::DocReferences::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"OPTIONSFILE"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_1</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.SetFrom"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</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">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>§2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option taken</span><span class="named-paragraph-number">2.3</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP3">§3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3_2" class="paragraph-anchor"></a><b>§3.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option taken</span><span class="named-paragraph-number">3.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -275,11 +299,12 @@ pragma is set:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">), </span><span class="constant-syntax">2</span><span class="plain-syntax">*</span><span class="identifier-syntax">msv</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PasteButtons::paste_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;<i>Double this</i>"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::italic_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.In.Double"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP2">§2</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ie.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ge2.html">❮</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-tpt.html">tpt</a></li><li class="progresssection"><a href="3-ae.html">ae</a></li><li class="progresssection"><a href="3-ae2.html">ae2</a></li><li class="progresssection"><a href="3-be.html">be</a></li><li class="progresssection"><a href="3-ce.html">ce</a></li><li class="progresssection"><a href="3-ce2.html">ce2</a></li><li class="progresssection"><a href="3-ce3.html">ce3</a></li><li class="progresssection"><a href="3-ce4.html">ce4</a></li><li class="progresssection"><a href="3-ee.html">ee</a></li><li class="progresssection"><a href="3-ee2.html">ee2</a></li><li class="progresssection"><a href="3-fe.html">fe</a></li><li class="progresssection"><a href="3-ge.html">ge</a></li><li class="progresssection"><a href="3-ge2.html">ge2</a></li><li class="progresscurrent">ie</li><li class="progresssection"><a href="3-le.html">le</a></li><li class="progresssection"><a href="3-me.html">me</a></li><li class="progresssection"><a href="3-pe.html">pe</a></li><li class="progresssection"><a href="3-pe2.html">pe2</a></li><li class="progresssection"><a href="3-re.html">re</a></li><li class="progresssection"><a href="3-rfse.html">rfse</a></li><li class="progresssection"><a href="3-se.html">se</a></li><li class="progresssection"><a href="3-te.html">te</a></li><li class="progresssection"><a href="3-te2.html">te2</a></li><li class="progresssection"><a href="3-ve.html">ve</a></li><li class="progresssection"><a href="3-ve2.html">ve2</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="3-le.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -79,13 +79,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><a href="2-iu.html#SP5" class="function-link"><span class="function-syntax">IndexUtilities::anchor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LEXICON"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"smaller\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"For instance, the description 'an unlocked door' is made "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"up from the adjective 'unlocked' and the noun 'door', both of which "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"can be found below. Property adjectives, like 'open', can be used "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"when creating things - 'In the Ballroom is an open container' is "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"allowed because 'open' is a property - but those with complicated "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"definitions, like 'empty', can only be tested during play, e.g. "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"with rules like 'Instead of taking an empty container, ...'."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lcl.html#SP5" class="function-link"><span class="function-syntax">Localisation::write_0</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Lx.Explanation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-lxc.html#SP6" class="function-link"><span class="function-syntax">IndexLexicon::listing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><a href="2-ii.html#SP7" class="function-link"><span class="function-syntax">InterpretIndex::get_lexicon</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -104,8 +104,7 @@ function togglePopup(material_id) {
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_INSTANCES</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="3-me.html#SP5" class="function-link"><span class="function-syntax">MapElement::no_detail_index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> || (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_direction</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="3-me.html#SP5" class="function-link"><span class="function-syntax">MapElement::no_detail_index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)) || (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_direction</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-fi.html#SP14" class="function-link"><span class="function-syntax">FauxInstances::increment_indexing_count</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-me.html#SP1">§1</a>.</li></ul>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Total memory consumption was 391672K = 382 MB
|
||||
Total memory consumption was 392495K = 383 MB
|
||||
|
||||
60.4% was used for 1994926 objects, in 371045 frames in 296 x 800K = 236800K = 231 MB:
|
||||
60.5% was used for 1995026 objects, in 371046 frames in 297 x 800K = 237600K = 232 MB:
|
||||
|
||||
10.4% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
7.1% text_stream_array 5124 x 100 = 512400 objects, 28858368 bytes
|
||||
4.3% linked_list 30840 objects, 17270400 bytes
|
||||
7.1% text_stream_array 5125 x 100 = 512500 objects, 28864000 bytes
|
||||
4.2% linked_list 30840 objects, 17270400 bytes
|
||||
3.4% inter_symbol_array 139 x 1024 = 142336 objects, 13668704 bytes
|
||||
2.5% parse_node 129399 objects, 10351920 bytes
|
||||
1.8% verb_conjugation 160 objects, 7425280 bytes
|
||||
|
@ -234,9 +234,9 @@ Total memory consumption was 391672K = 382 MB
|
|||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
|
||||
39.5% was used for memory not allocated for objects:
|
||||
39.4% was used for memory not allocated for objects:
|
||||
|
||||
20.6% text stream storage 82746500 bytes in 530520 claims
|
||||
20.5% text stream storage 82770840 bytes in 530655 claims
|
||||
4.5% dictionary storage 18153472 bytes in 33229 claims
|
||||
---- sorting 744 bytes in 3 claims
|
||||
1.7% source text 7200000 bytes in 3 claims
|
||||
|
@ -254,5 +254,5 @@ Total memory consumption was 391672K = 382 MB
|
|||
---- code generation workspace for objects 9648 bytes in 9 claims
|
||||
---- emitter array storage 157552 bytes in 2061 claims
|
||||
|
||||
18.6% was overhead - 74974232 bytes = 73217K = 71 MB
|
||||
18.8% was overhead - 75787800 bytes = 74011K = 72 MB
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
100.0% in inform7 run
|
||||
56.0% in compilation to Inter
|
||||
40.2% in //Sequence::undertake_queued_tasks//
|
||||
3.6% in //MajorNodes::pre_pass//
|
||||
2.5% in //MajorNodes::pass_1//
|
||||
56.1% in compilation to Inter
|
||||
40.1% in //Sequence::undertake_queued_tasks//
|
||||
3.5% in //MajorNodes::pre_pass//
|
||||
2.7% in //MajorNodes::pass_1//
|
||||
2.1% in //RTPhrasebook::compile_entries//
|
||||
1.4% in //ImperativeDefinitions::assess_all//
|
||||
1.2% in //RTKindConstructors::compile//
|
||||
1.1% in //RTKindConstructors::compile//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
|
@ -16,21 +16,21 @@
|
|||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
1.8% not specifically accounted for
|
||||
42.0% in running Inter pipeline
|
||||
1.9% not specifically accounted for
|
||||
41.8% in running Inter pipeline
|
||||
10.9% in step preparation
|
||||
9.7% in inter step 7/14: consolidate-text
|
||||
8.3% in inter step 2/14: link
|
||||
6.9% in inter step 14/14: generate inform6 -> auto.inf
|
||||
9.9% in inter step 7/14: consolidate-text
|
||||
8.0% in inter step 2/14: link
|
||||
7.1% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.5% in inter step 10/14: make-identifiers-unique
|
||||
0.4% in inter step 11/14: reconcile-verbs
|
||||
0.2% in inter step 13/14: eliminate-redundant-operations
|
||||
0.2% in inter step 6/14: assimilate
|
||||
0.2% in inter step 8/14: resolve-external-symbols
|
||||
0.2% in inter step 9/14: inspect-plugs
|
||||
0.1% in inter step 12/14: eliminate-redundant-labels
|
||||
0.1% in inter step 4/14: parse-linked-matter
|
||||
0.1% in inter step 5/14: resolve-conditional-compilation
|
||||
2.5% not specifically accounted for
|
||||
1.6% in supervisor
|
||||
0.2% not specifically accounted for
|
||||
0.1% in inter step 9/14: inspect-plugs
|
||||
2.3% not specifically accounted for
|
||||
1.7% in supervisor
|
||||
0.3% not specifically accounted for
|
||||
|
|
|
@ -27,9 +27,62 @@
|
|||
%Index.Elements.Fi.Title = Figures
|
||||
%Index.Elements.Fi.Heading = The figures, sound effects or external files used.|About figures<FIGURES>; About sounds<SOUNDS>; About files<EFILES>
|
||||
|
||||
%Index.Elements.Fi.NoFigures = There are no figures, or illustrations, in this project.
|
||||
%Index.Elements.Fi.NoSounds = There are no sound effects in this project.
|
||||
%Index.Elements.Fi.NoFiles = This project doesn't read or write external files.
|
||||
%Index.Elements.Fi.ListOfFigures = List of Figures
|
||||
%Index.Elements.Fi.ListOfSounds = List of Sounds
|
||||
%Index.Elements.Fi.ListOfFiles = List of External Files
|
||||
|
||||
%Index.Elements.Fi.Format = Format *1
|
||||
%Index.Elements.Fi.UnknownFormat = Unknown image format
|
||||
%Index.Elements.Fi.Dimensions = *1 (width) by *2 (height) pixels
|
||||
%Index.Elements.Fi.Missing = Missing from the Figures folder
|
||||
%Index.Elements.Fi.Resource = Filename: "*1" - resource number *2
|
||||
|
||||
%Index.Elements.Fi.UnknownSoundFormat = Unknown sound format
|
||||
%Index.Elements.Fi.SoundUnsupported = Warning: not officially supported in Glulx yet
|
||||
%Index.Elements.Fi.SoundFormatOneTrack = Type *1 *2 file with 1 track
|
||||
%Index.Elements.Fi.SoundFormatMultiTrack = Type *1 *2 file with *3 tracks
|
||||
%Index.Elements.Fi.SoundFile = *1 *2 file
|
||||
%Index.Elements.Fi.MissingSound = Missing from the Sounds folder
|
||||
%Index.Elements.Fi.DurationS = duration *1 seconds
|
||||
%Index.Elements.Fi.DurationMS = duration *1 minutes *2 seconds
|
||||
%Index.Elements.Fi.DurationM = duration *1 minutes exactly
|
||||
%Index.Elements.Fi.Sampled = Sampled as *1
|
||||
%Index.Elements.Fi.Mono = Mono
|
||||
%Index.Elements.Fi.Stereo = Stereo
|
||||
%Index.Elements.Fi.BitRate = *1 kilobits/sec
|
||||
|
||||
%Index.Elements.Fi.BinaryFile = Binary file "*1"
|
||||
%Index.Elements.Fi.TextFile = File "*1"
|
||||
%Index.Elements.Fi.FileOwnedByThis = owned by this project
|
||||
%Index.Elements.Fi.FileOwnedByOther = owned by another project
|
||||
%Index.Elements.Fi.FileOwnedBy = owned by project with IFID number *1
|
||||
|
||||
%Index.Elements.Fi.ThumbnailLimit =
|
||||
Only the first *1 thumbnails have been shown here, to avoid Inform taking
|
||||
up too much memory. If you'd like to see more, set 'Use index figure
|
||||
thumbnails of at least *2.', or whatever number you want to wait for.
|
||||
|
||||
%Index.Elements.In.Title = Innards
|
||||
%Index.Elements.In.Heading = Technicalities about the story file being produced.|About the story file<STORYFILES>; About use options<OPTIONS>
|
||||
|
||||
%Index.Elements.In.Technicalities = See some technicalities for Inform maintainers only
|
||||
%Index.Elements.In.Format = Story file format
|
||||
%Index.Elements.In.ActiveUseOptions = The following use options are in force
|
||||
%Index.Elements.In.InactiveUseOptions = Whereas these are not in force
|
||||
%Index.Elements.In.NoUseOptions = None
|
||||
%Index.Elements.In.LanguageDefinition = Inform language definition
|
||||
%Index.Elements.In.Included = Included: *1
|
||||
%Index.Elements.In.Excluded = Excluded: *1
|
||||
%Index.Elements.In.Log = Debugging log
|
||||
|
||||
%Index.Elements.In.SetFromSource = Set from the source text
|
||||
%Index.Elements.In.SetAutomatically = Set from the Options.txt configuration file, or automatically
|
||||
%Index.Elements.In.SetFrom = Set from *1
|
||||
%Index.Elements.In.Double = Double this
|
||||
|
||||
%Index.Pages.Actions.Title = Actions Index
|
||||
%Index.Pages.Actions.Caption = Things that people can try to do
|
||||
|
||||
|
@ -38,6 +91,15 @@
|
|||
%Index.Elements.A1.Title = Grouped
|
||||
%Index.Elements.A1.Heading = With similar actions grouped together|About actions<ACTIONS>; New actions<NEWACTIONS>; Out of world actions (in red)<OUTOFWORLD>
|
||||
|
||||
%Index.Elements.A1.RequiresLight = requires light
|
||||
%Index.Elements.A1.PastTense = past tense
|
||||
%Index.Elements.A1.CommandsHeading = Typed commands leading to this action
|
||||
%Index.Elements.A1.NoCommands = None
|
||||
%Index.Elements.A1.ValuesHeading = Named values belonging to this action
|
||||
%Index.Elements.A1.RulesHeading = Rules controlling this action
|
||||
%Index.Elements.A1.ResponseIcons =
|
||||
Click on the speech-bubble icons to see the responses, or here to see all of them
|
||||
|
||||
%Index.Elements.A2.Title = Alphabetic
|
||||
%Index.Elements.A2.Heading = Listed in alphabetical order|About actions<ACTIONS>; New actions<NEWACTIONS>; Out of world actions (in red)<OUTOFWORLD>
|
||||
|
||||
|
@ -53,7 +115,7 @@
|
|||
%Index.Elements.Bh.Heading = Kinds of action, grouped under common names|About kinds of action<KACTIONS>
|
||||
|
||||
%Index.Elements.Bh.None = No names for kinds of action have yet been defined.
|
||||
%Index.Elements.Bh.Defined = defined as any of the following acts
|
||||
%Index.Elements.Bh.Defined = defined as any of the following acts:
|
||||
|
||||
%Index.Elements.Cm.Title = Commands
|
||||
%Index.Elements.Cm.Heading = Commands which the player can type|About commands<UNDERSTANDING>
|
||||
|
@ -151,7 +213,16 @@
|
|||
|
||||
%Index.Elements.Lx.ToBe = *1, to be
|
||||
%Index.Elements.Lx.KindOf = a kind of *1
|
||||
%Index.Elements.Lx/ValueOf = value of *1
|
||||
%Index.Elements.Lx.ValueOf = value of *1
|
||||
|
||||
%Index.Elements.Lx.Explanation =
|
||||
For instance, the description 'an unlocked door' is made
|
||||
up from the adjective 'unlocked' and the noun 'door', both of which
|
||||
can be found below. Property adjectives, like 'open', can be used
|
||||
when creating things - 'In the Ballroom is an open container' is
|
||||
allowed because 'open' is a property - but those with complicated
|
||||
definitions, like 'empty', can only be tested during play, e.g.
|
||||
with rules like 'Instead of taking an empty container, ...'.
|
||||
|
||||
%Index.Elements.Rl.Title = Relations
|
||||
%Index.Elements.Rl.Heading = Relations give meaning to verbs|About relations<RELATIONS>
|
||||
|
@ -177,6 +248,9 @@
|
|||
%Index.Elements.Xt.Title = Extras
|
||||
%Index.Elements.Xt.Heading = Further rulebooks, from the source or extensions|About rulebooks<RULEBOOKS>; About activities<ACTIVITIES>; Moving or abolishing rules<RLISTING>
|
||||
|
||||
%Index.Elements.Xt.FromSourceText = From the source text
|
||||
%Index.Elements.Xt.FromExtension = From the extension *1
|
||||
|
||||
%Index.Pages.Scenes.Title = Scenes Index
|
||||
%Index.Pages.Scenes.Caption = Like scenes in a movie
|
||||
|
||||
|
@ -186,6 +260,11 @@
|
|||
%Index.Elements.Ev.Title = Events
|
||||
%Index.Elements.Ev.Heading = Timed events, if any|About timed events<TIMEDEVENTS>
|
||||
|
||||
%Index.Elements.Ev.None = None
|
||||
%Index.Elements.Ev.Timeless = Events with no specific time
|
||||
%Index.Elements.Ev.WhereTriggered = where triggered
|
||||
%Index.Elements.Ev.Timetable = Timetable
|
||||
|
||||
%Index.Elements.RS.Title = Rules
|
||||
%Index.Elements.RS.Heading = General rules about scenes
|
||||
|
||||
|
|
|
@ -60,7 +60,8 @@ void TreeLists::add(inter_tree_location_list *NL, inter_tree_node *P) {
|
|||
|
||||
void TreeLists::sort(inter_tree_location_list *NL, int (*cmp)(const void *, const void *)) {
|
||||
if (NL == NULL) internal_error("null inter_tree_location_list");
|
||||
qsort(NL->list, (size_t) NL->list_used, sizeof(itl_entry), cmp);
|
||||
if (NL->list_used > 0)
|
||||
qsort(NL->list, (size_t) NL->list_used, sizeof(itl_entry), cmp);
|
||||
}
|
||||
|
||||
@ And this macro conveniently loops through packages in a node list of their
|
||||
|
|
|
@ -185,6 +185,18 @@ with everything under the first line being italicised. For example:
|
|||
Note that a valid documentation reference must begin with an upper-case letter.
|
||||
|
||||
=
|
||||
void Localisation::bold_0(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key) {
|
||||
WRITE("<b>");
|
||||
Localisation::write_0(OUT, D, key);
|
||||
WRITE("</b>");
|
||||
}
|
||||
|
||||
void Localisation::italic_0(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key) {
|
||||
WRITE("<i>");
|
||||
Localisation::write_0(OUT, D, key);
|
||||
WRITE("</i>");
|
||||
}
|
||||
|
||||
void Localisation::write_0(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
|
@ -199,6 +211,17 @@ void Localisation::write_1(OUTPUT_STREAM, localisation_dictionary *D, text_strea
|
|||
Localisation::write_general(OUT, D, key, vals);
|
||||
}
|
||||
|
||||
void Localisation::write_1n(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
int val1) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
TEMPORARY_TEXT(f1)
|
||||
WRITE_TO(f1, "%d", val1);
|
||||
vals[1] = f1;
|
||||
Localisation::write_general(OUT, D, key, vals);
|
||||
DISCARD_TEXT(f1)
|
||||
}
|
||||
|
||||
void Localisation::write_2(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
text_stream *val1, text_stream *val2) {
|
||||
text_stream *vals[10];
|
||||
|
@ -207,6 +230,56 @@ void Localisation::write_2(OUTPUT_STREAM, localisation_dictionary *D, text_strea
|
|||
Localisation::write_general(OUT, D, key, vals);
|
||||
}
|
||||
|
||||
void Localisation::write_2n(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
int val1, int val2) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
TEMPORARY_TEXT(f1)
|
||||
TEMPORARY_TEXT(f2)
|
||||
WRITE_TO(f1, "%d", val1);
|
||||
WRITE_TO(f2, "%d", val2);
|
||||
vals[1] = f1; vals[2] = f2;
|
||||
Localisation::write_general(OUT, D, key, vals);
|
||||
DISCARD_TEXT(f1)
|
||||
DISCARD_TEXT(f2)
|
||||
}
|
||||
|
||||
void Localisation::write_2sn(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
text_stream *val1, int val2) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
TEMPORARY_TEXT(f2)
|
||||
WRITE_TO(f2, "%d", val2);
|
||||
vals[1] = val1; vals[2] = f2;
|
||||
Localisation::write_general(OUT, D, key, vals);
|
||||
DISCARD_TEXT(f2)
|
||||
}
|
||||
|
||||
void Localisation::write_2ns(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
int val1, text_stream *val2) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
TEMPORARY_TEXT(f1)
|
||||
WRITE_TO(f1, "%d", val1);
|
||||
vals[1] = f1; vals[2] = val2;
|
||||
Localisation::write_general(OUT, D, key, vals);
|
||||
DISCARD_TEXT(f1)
|
||||
}
|
||||
|
||||
void Localisation::write_3nsn(OUTPUT_STREAM, localisation_dictionary *D, text_stream *key,
|
||||
int val1, text_stream *val2, int val3) {
|
||||
text_stream *vals[10];
|
||||
@<Vacate the vals@>;
|
||||
TEMPORARY_TEXT(f1)
|
||||
TEMPORARY_TEXT(f3)
|
||||
WRITE_TO(f1, "%d", val1);
|
||||
WRITE_TO(f3, "%d", val3);
|
||||
vals[1] = f1; vals[2] = val2; vals[3] = f3;
|
||||
Localisation::write_general(OUT, D, key, vals);
|
||||
DISCARD_TEXT(f1)
|
||||
DISCARD_TEXT(f3)
|
||||
}
|
||||
|
||||
@<Vacate the vals@> =
|
||||
for (int i=0; i<10; i++) vals[i] = NULL;
|
||||
|
||||
|
|
|
@ -73,9 +73,7 @@ void AlphabeticElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
void AlphabeticElement::column(OUTPUT_STREAM, text_stream *key, localisation_dictionary *LD) {
|
||||
TEMPORARY_TEXT(full)
|
||||
WRITE_TO(full, "Index.Elements.A2.%S", key);
|
||||
WRITE("<b>");
|
||||
Localisation::write_0(OUT, LD, full);
|
||||
WRITE("</b> ");
|
||||
Localisation::bold_0(OUT, LD, full);
|
||||
DISCARD_TEXT(full)
|
||||
}
|
||||
|
||||
|
@ -83,9 +81,7 @@ void AlphabeticElement::column(OUTPUT_STREAM, text_stream *key, localisation_dic
|
|||
void AlphabeticElement::note(OUTPUT_STREAM, text_stream *key, localisation_dictionary *LD) {
|
||||
TEMPORARY_TEXT(full)
|
||||
WRITE_TO(full, "Index.Elements.A2.%S", key);
|
||||
WRITE("<i>");
|
||||
Localisation::write_0(OUT, LD, full);
|
||||
WRITE("</i> ");
|
||||
Localisation::italic_0(OUT, LD, full);
|
||||
DISCARD_TEXT(full)
|
||||
}
|
||||
|
||||
|
|
|
@ -64,9 +64,7 @@ void ArithmeticElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
if (Str::len(dims) > 0) {
|
||||
WRITE("%S", dims);
|
||||
} else {
|
||||
WRITE("<i>");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Ar.Dimensionless");
|
||||
WRITE("</i>");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Ar.Dimensionless");
|
||||
}
|
||||
|
||||
@ This is simply a table of all the multiplications declared in the source
|
||||
|
@ -114,8 +112,7 @@ text, sorted into kind order of left and then right operand.
|
|||
void ArithmeticElement::column(OUTPUT_STREAM, text_stream *key, localisation_dictionary *LD) {
|
||||
TEMPORARY_TEXT(full)
|
||||
WRITE_TO(full, "Index.Elements.Ar.%S", key);
|
||||
WRITE("<b>");
|
||||
Localisation::write_0(OUT, LD, full);
|
||||
WRITE("</b> ");
|
||||
Localisation::bold_0(OUT, LD, full);
|
||||
WRITE(" ");
|
||||
DISCARD_TEXT(full)
|
||||
}
|
||||
|
|
|
@ -23,9 +23,8 @@ void BehaviourElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
HTML_OPEN("p"); WRITE("<b>%S</b>", name);
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
HTML_TAG("br");
|
||||
WRITE(" <i>");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Bh.Defined");
|
||||
WRITE(":</i>\n");
|
||||
WRITE(" ");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Bh.Defined");
|
||||
inter_tree_node *D = Inter::Packages::definition(pack);
|
||||
LOOP_THROUGH_INTER_CHILDREN(C, D) {
|
||||
if (C->W.data[ID_IFLD] == PACKAGE_IST) {
|
||||
|
|
|
@ -155,9 +155,9 @@ or as paragraph of text in pass 2:
|
|||
HTML::open_indented_p(OUT, 1, "halftight");
|
||||
IndexUtilities::anchor_numbered(OUT, i); /* ...the anchor to which the grey icon in the table led */
|
||||
WRITE("<b>"); IndexUtilities::kind_name(OUT, pack, FALSE, TRUE); WRITE("</b>");
|
||||
WRITE(" (<i>");
|
||||
Localisation::write_0(OUT, D, I"Index.Elements.Ch.Plural");
|
||||
WRITE("</i> ");
|
||||
WRITE(" (");
|
||||
Localisation::italic_0(OUT, D, I"Index.Elements.Ch.Plural");
|
||||
WRITE(" ");
|
||||
IndexUtilities::kind_name(OUT, pack, TRUE, FALSE); WRITE(")");
|
||||
IndexUtilities::link_to_documentation(OUT, pack);
|
||||
HTML_CLOSE("p");
|
||||
|
@ -353,9 +353,9 @@ void ChartElement::index_object_kind(OUTPUT_STREAM, tree_inventory *inv,
|
|||
IndexUtilities::kind_name(OUT, pack, FALSE, FALSE);
|
||||
if (pass == 2) WRITE("</b>");
|
||||
if (pass == 2) {
|
||||
WRITE(" (<i>");
|
||||
Localisation::write_0(OUT, D, I"Index.Elements.Ch.Plural");
|
||||
WRITE("</i> ");
|
||||
WRITE(" (");
|
||||
Localisation::italic_0(OUT, D, I"Index.Elements.Ch.Plural");
|
||||
WRITE(" ");
|
||||
IndexUtilities::kind_name(OUT, pack, TRUE, FALSE);
|
||||
WRITE(")");
|
||||
}
|
||||
|
|
|
@ -126,24 +126,21 @@ linked_list *CommandsElement::sort(linked_list *entries) {
|
|||
break;
|
||||
case OUT_OF_WORLD_COMMAND:
|
||||
HTML::begin_colour(OUT, I"800000");
|
||||
WRITE(""%S", <i>", cie->command_headword);
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Cm.Command");
|
||||
WRITE("</i>");
|
||||
WRITE(""%S", ", cie->command_headword);
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Cm.Command");
|
||||
HTML::end_colour(OUT);
|
||||
HTML_TAG("br");
|
||||
break;
|
||||
case TESTING_COMMAND:
|
||||
HTML::begin_colour(OUT, I"800000");
|
||||
WRITE(""%S", <i>", cie->command_headword);
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Cm.TestingCommand");
|
||||
WRITE("</i>");
|
||||
WRITE(""%S", ", cie->command_headword);
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Cm.TestingCommand");
|
||||
HTML::end_colour(OUT);
|
||||
HTML_TAG("br");
|
||||
break;
|
||||
case BARE_DIRECTION_COMMAND:
|
||||
WRITE(""[direction]" - <i>");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Cm.DirectionCommand");
|
||||
WRITE("</i>");
|
||||
WRITE(""[direction]" - ");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Cm.DirectionCommand");
|
||||
HTML_TAG("br");
|
||||
break;
|
||||
}
|
||||
|
@ -160,9 +157,9 @@ void CommandsElement::index_normal(OUTPUT_STREAM, inter_tree *I, inter_package *
|
|||
|
||||
void CommandsElement::index_alias(OUTPUT_STREAM, inter_tree *I, inter_package *cg_pack,
|
||||
text_stream *headword, localisation_dictionary *LD) {
|
||||
WRITE(""%S", <i>", headword);
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Cm.Alias");
|
||||
WRITE("</i> "%S"", Metadata::read_textual(cg_pack, I"^command"));
|
||||
WRITE(""%S", ", headword);
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Cm.Alias");
|
||||
WRITE(" "%S"", Metadata::read_textual(cg_pack, I"^command"));
|
||||
IndexUtilities::link_package(OUT, cg_pack);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
|
@ -181,15 +178,13 @@ void CommandsElement::index_grammar_line(OUTPUT_STREAM, inter_package *cgl,
|
|||
WRITE(""");
|
||||
IndexUtilities::link_package(OUT, cgl);
|
||||
|
||||
WRITE(" - <i>%S", Metadata::read_textual(an, I"^name"));
|
||||
WRITE(" - <i>%S</i>", Metadata::read_textual(an, I"^name"));
|
||||
IndexUtilities::detail_link(OUT, "A",
|
||||
(int) Metadata::read_numeric(an, I"action_id"), TRUE);
|
||||
if (Metadata::read_optional_numeric(cgl, I"^reversed")) {
|
||||
WRITE(" <i>");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Cm.Reversed");
|
||||
WRITE("</i>");
|
||||
WRITE(" ");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Cm.Reversed");
|
||||
}
|
||||
WRITE("</i>");
|
||||
if (oow) HTML::end_colour(OUT);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
|
|
|
@ -173,8 +173,6 @@ void ContentsElement::index_extensions_included_by(OUTPUT_STREAM, tree_inventory
|
|||
@ =
|
||||
void ContentsElement::word_count(OUTPUT_STREAM, inter_package *pack,
|
||||
localisation_dictionary *LD) {
|
||||
TEMPORARY_TEXT(words)
|
||||
WRITE_TO(words, "%d", Metadata::read_numeric(pack, I"^word_count"));
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.C.Words", words);
|
||||
DISCARD_TEXT(words)
|
||||
Localisation::write_1n(OUT, LD, I"Index.Elements.C.Words",
|
||||
(int) Metadata::read_numeric(pack, I"^word_count"));
|
||||
}
|
||||
|
|
|
@ -14,7 +14,9 @@ void EventsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
@<Index events with no specific time@>;
|
||||
@<Index timetabled events@>;
|
||||
if ((when_count == 0) && (tt_count == 0)) {
|
||||
HTML_OPEN("p"); WRITE("<i>None.</i>"); HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Ev.None");
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,14 +27,16 @@ void EventsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
(Metadata::exists(pack, I"^timed_for") == FALSE)) {
|
||||
if (when_count == 0) {
|
||||
HTML_OPEN("p");
|
||||
WRITE("<i>Events with no specific time</i>");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Ev.Timeless");
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
when_count++;
|
||||
HTML_OPEN_WITH("p", "class=\"tightin2\"");
|
||||
WRITE("%S", Metadata::read_textual(pack, I"^preamble"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
WRITE(" (where triggered: ");
|
||||
WRITE(" (");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Ev.WhereTriggered");
|
||||
WRITE(": ");
|
||||
inter_package *entry;
|
||||
LOOP_THROUGH_SUBPACKAGES(entry, pack, I"_timed_rule_trigger") {
|
||||
int at = (int) Metadata::read_optional_numeric(entry, I"^used_at");
|
||||
|
@ -49,7 +53,7 @@ void EventsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
(Metadata::exists(pack, I"^timed_for"))) {
|
||||
if (tt_count == 0) {
|
||||
HTML_OPEN("p");
|
||||
WRITE("<i>Timetable</i>");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.Ev.Timetable");
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
tt_count++;
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
To write the Extras element (Xt) in the index.
|
||||
|
||||
@
|
||||
@ This is to sweep up rulebooks and activities not covered by other elements,
|
||||
really, and most of the code here is just to arrange them in some logical order.
|
||||
|
||||
=
|
||||
void ExtrasElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
|
@ -41,10 +42,12 @@ void ExtrasElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
|
||||
@<Heading for these@> =
|
||||
HTML_OPEN("p");
|
||||
WRITE("<b>");
|
||||
if (Metadata::read_optional_numeric(E, I"^category") == 1) {
|
||||
WRITE("<b>From the source text</b>");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Xt.FromSourceText");
|
||||
} else {
|
||||
WRITE("<b>From the extension %S</b>",
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Xt.FromExtension",
|
||||
Metadata::read_optional_textual(E, I"^credit"));
|
||||
}
|
||||
WRITE("</b>");
|
||||
HTML_CLOSE("p");
|
||||
|
|
|
@ -2,56 +2,45 @@
|
|||
|
||||
To write the Figures element (Fi) in the index.
|
||||
|
||||
@ This also includes sounds and external files, a little questionably.
|
||||
@ Not only figures but also sounds and external files, a little questionably.
|
||||
|
||||
=
|
||||
void FiguresElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
if (TreeLists::len(inv->figure_nodes) > 0) {
|
||||
TreeLists::sort(inv->figure_nodes, Synoptic::module_order);
|
||||
}
|
||||
if (TreeLists::len(inv->sound_nodes) > 0) {
|
||||
TreeLists::sort(inv->sound_nodes, Synoptic::module_order);
|
||||
}
|
||||
if (TreeLists::len(inv->file_nodes) > 0) {
|
||||
TreeLists::sort(inv->file_nodes, Synoptic::module_order);
|
||||
}
|
||||
if (TreeLists::len(inv->figure_nodes) < 2) { /* cover art always creates 1 */
|
||||
HTML_OPEN("p");
|
||||
WRITE("There are no figures, or illustrations, in this project.");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
@<Index the figures@>;
|
||||
}
|
||||
if (TreeLists::len(inv->sound_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
WRITE("There are no sound effects in this project.");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
@<Index the sounds@>;
|
||||
}
|
||||
if (TreeLists::len(inv->file_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
WRITE("This project doesn't read or write external files.");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
@<Index the files@>;
|
||||
}
|
||||
TreeLists::sort(inv->figure_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->sound_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->file_nodes, Synoptic::module_order);
|
||||
@<Index the figures@>;
|
||||
@<Index the sounds@>;
|
||||
@<Index the files@>;
|
||||
}
|
||||
|
||||
@ The index is presented with thumbnails of a given pixel width, which
|
||||
@h Figures.
|
||||
|
||||
@<Index the figures@> =
|
||||
if (TreeLists::len(inv->figure_nodes) <= 1) { /* cover art always creates 1 */
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Fi.NoFigures");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.Fi.ListOfFigures");
|
||||
HTML_CLOSE("p");
|
||||
@<Tabulate the figures@>;
|
||||
}
|
||||
|
||||
@ The table is presented with thumbnails of a given pixel width, which
|
||||
the HTML renderer automatically scales to fit. Height is adjusted so as
|
||||
to match this width, preserving the aspect ratio.
|
||||
|
||||
@d THUMBNAIL_WIDTH 80
|
||||
|
||||
=
|
||||
@<Index the figures@> =
|
||||
@<Tabulate the figures@> =
|
||||
inter_package *settings = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
int MAX_INDEXED_FIGURES =
|
||||
(int) Metadata::read_optional_numeric(settings, I"^max_indexed_figures");
|
||||
HTML_OPEN("p"); WRITE("<b>List of Figures</b>"); HTML_CLOSE("p");
|
||||
HTML::begin_html_table(OUT, "#ffffff", TRUE, 0, 0, 0, 0, 0);
|
||||
int count_of_displayed_figures = 0;
|
||||
inter_package *pack;
|
||||
|
@ -60,76 +49,96 @@ to match this width, preserving the aspect ratio.
|
|||
if (id > 1) {
|
||||
text_stream *filename_as_text = Metadata::read_textual(pack, I"^filename");
|
||||
filename *F = Filenames::from_text(filename_as_text);
|
||||
TEMPORARY_TEXT(line2)
|
||||
TEMPORARY_TEXT(description)
|
||||
unsigned int width = 0, height = 0;
|
||||
int rv = 0;
|
||||
FILE *FIGURE_FILE = Filenames::fopen(F, "rb");
|
||||
if (FIGURE_FILE) {
|
||||
char *real_format = "JPEG";
|
||||
rv = ImageFiles::get_JPEG_dimensions(FIGURE_FILE, &width, &height);
|
||||
fclose(FIGURE_FILE);
|
||||
if (rv == 0) {
|
||||
FIGURE_FILE = Filenames::fopen(F, "rb");
|
||||
if (FIGURE_FILE) {
|
||||
real_format = "PNG";
|
||||
rv = ImageFiles::get_PNG_dimensions(FIGURE_FILE, &width, &height);
|
||||
fclose(FIGURE_FILE);
|
||||
}
|
||||
}
|
||||
if (rv == 0) {
|
||||
WRITE_TO(line2, "<i>Unknown image format</i>");
|
||||
} else {
|
||||
WRITE_TO(line2, "%s format: %d (width) by %d (height) pixels",
|
||||
real_format, width, height);
|
||||
}
|
||||
} else {
|
||||
WRITE_TO(line2, "<i>Missing from the Figures folder</i>");
|
||||
}
|
||||
HTML::first_html_column(OUT, THUMBNAIL_WIDTH+10);
|
||||
if (rv == 0) {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/image_problem.png\"");
|
||||
WRITE(" ");
|
||||
} else if (count_of_displayed_figures++ < MAX_INDEXED_FIGURES) {
|
||||
HTML_TAG_WITH("img", "border=\"1\" src=\"file://%f\" width=\"%d\" height=\"%d\"",
|
||||
F, THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);
|
||||
WRITE(" ");
|
||||
} else {
|
||||
HTML_OPEN_WITH("div", "style=\"width:%dpx; height:%dpx; border:1px solid; background-color:#6495ed;\"",
|
||||
THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);
|
||||
WRITE(" ");
|
||||
HTML_CLOSE("div");
|
||||
}
|
||||
|
||||
HTML::next_html_column(OUT, 0);
|
||||
WRITE("%S", Metadata::read_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
|
||||
HTML_TAG("br");
|
||||
if (Str::len(line2) > 0) {
|
||||
WRITE("%S", line2);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
WRITE("Filename: \"%S\" - resource number %d", Filenames::get_leafname(F), id);
|
||||
HTML::end_html_row(OUT);
|
||||
DISCARD_TEXT(line2)
|
||||
int format_found = 0;
|
||||
@<Find image format and dimensions@>;
|
||||
@<Render a table row for the image@>;
|
||||
DISCARD_TEXT(description)
|
||||
}
|
||||
}
|
||||
HTML::end_html_table(OUT);
|
||||
if (count_of_displayed_figures > MAX_INDEXED_FIGURES) {
|
||||
HTML_OPEN("p");
|
||||
WRITE("(Only the first %d thumbnails have been shown here, "
|
||||
"to avoid Inform taking up too much memory. If you'd like to "
|
||||
"see more, set 'Use index figure thumbnails of at least %d.', or "
|
||||
"whatever number you want to wait for.)",
|
||||
WRITE("(");
|
||||
Localisation::write_2n(OUT, LD, I"Index.Elements.Fi.ThumbnailLimit",
|
||||
MAX_INDEXED_FIGURES, 10*MAX_INDEXED_FIGURES);
|
||||
WRITE(")");
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
|
||||
@h Sounds Index.
|
||||
@<Find image format and dimensions@> =
|
||||
FILE *FIGURE_FILE = Filenames::fopen(F, "rb");
|
||||
if (FIGURE_FILE) {
|
||||
text_stream *real_format = I"JPEG";
|
||||
format_found = ImageFiles::get_JPEG_dimensions(FIGURE_FILE, &width, &height);
|
||||
fclose(FIGURE_FILE);
|
||||
if (format_found == 0) {
|
||||
FIGURE_FILE = Filenames::fopen(F, "rb");
|
||||
if (FIGURE_FILE) {
|
||||
real_format = I"PNG";
|
||||
format_found = ImageFiles::get_PNG_dimensions(FIGURE_FILE, &width, &height);
|
||||
fclose(FIGURE_FILE);
|
||||
}
|
||||
}
|
||||
if (format_found == 0) {
|
||||
Localisation::italic_0(description, LD, I"Index.Elements.Fi.UnknownFormat");
|
||||
} else {
|
||||
Localisation::write_1(description, LD, I"Index.Elements.Fi.Format", real_format);
|
||||
WRITE_TO(description, ": ");
|
||||
Localisation::write_2n(description, LD, I"Index.Elements.Fi.Dimensions",
|
||||
(int) width, (int) height);
|
||||
}
|
||||
} else {
|
||||
Localisation::italic_0(description, LD, I"Index.Elements.Fi.Missing");
|
||||
}
|
||||
|
||||
@<Render a table row for the image@> =
|
||||
HTML::first_html_column(OUT, THUMBNAIL_WIDTH+10);
|
||||
if (format_found == 0) {
|
||||
HTML_TAG_WITH("img",
|
||||
"border=\"0\" src=\"inform:/doc_images/image_problem.png\"");
|
||||
WRITE(" ");
|
||||
} else if (count_of_displayed_figures++ < MAX_INDEXED_FIGURES) {
|
||||
HTML_TAG_WITH("img",
|
||||
"border=\"1\" src=\"file://%f\" width=\"%d\" height=\"%d\"",
|
||||
F, THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);
|
||||
WRITE(" ");
|
||||
} else {
|
||||
HTML_OPEN_WITH("div",
|
||||
"style=\"width:%dpx; height:%dpx; border:1px solid; background-color:#6495ed;\"",
|
||||
THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);
|
||||
WRITE(" ");
|
||||
HTML_CLOSE("div");
|
||||
}
|
||||
|
||||
HTML::next_html_column(OUT, 0);
|
||||
WRITE("%S", Metadata::read_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
HTML_TAG("br");
|
||||
if (Str::len(description) > 0) {
|
||||
WRITE("%S", description);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
Localisation::write_2sn(description, LD, I"Index.Elements.Fi.Resource",
|
||||
Filenames::get_leafname(F), (int) id);
|
||||
HTML::end_html_row(OUT);
|
||||
|
||||
@h Sounds.
|
||||
|
||||
@<Index the sounds@> =
|
||||
HTML_OPEN("p"); WRITE("<b>List of Sounds</b>"); HTML_CLOSE("p");
|
||||
WRITE("\n");
|
||||
if (TreeLists::len(inv->sound_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.Fi.ListOfSounds");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Fi.NoSounds");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
@<Tabulate the sounds@>;
|
||||
}
|
||||
|
||||
@<Tabulate the sounds@> =
|
||||
HTML::begin_html_table(OUT, "#ffffff", TRUE, 0, 0, 0, 0, 0);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->sound_nodes) {
|
||||
|
@ -139,102 +148,143 @@ to match this width, preserving the aspect ratio.
|
|||
unsigned int duration, pBitsPerSecond, pChannels, pSampleRate, fsize,
|
||||
midi_version = 0, no_tracks = 0;
|
||||
int preview = TRUE, waveform_style = TRUE;
|
||||
TEMPORARY_TEXT(line2)
|
||||
int rv = 0;
|
||||
FILE *SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
char *real_format = "AIFF";
|
||||
rv = SoundFiles::get_AIFF_duration(SOUND_FILE, &duration, &pBitsPerSecond,
|
||||
&pChannels, &pSampleRate);
|
||||
fseek(SOUND_FILE, 0, SEEK_END);
|
||||
fsize = (unsigned int) (ftell(SOUND_FILE));
|
||||
fclose(SOUND_FILE);
|
||||
if (rv == 0) {
|
||||
SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
real_format = "Ogg Vorbis";
|
||||
preview = FALSE;
|
||||
rv = SoundFiles::get_OggVorbis_duration(SOUND_FILE, &duration,
|
||||
&pBitsPerSecond, &pChannels, &pSampleRate);
|
||||
fclose(SOUND_FILE);
|
||||
}
|
||||
}
|
||||
if (rv == 0) {
|
||||
SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
waveform_style = FALSE;
|
||||
real_format = "MIDI";
|
||||
preview = TRUE;
|
||||
rv = SoundFiles::get_MIDI_information(SOUND_FILE,
|
||||
&midi_version, &no_tracks);
|
||||
fclose(SOUND_FILE);
|
||||
}
|
||||
}
|
||||
if (rv == 0) {
|
||||
WRITE_TO(line2, "<i>Unknown sound format</i>");
|
||||
} else {
|
||||
if (waveform_style == FALSE) {
|
||||
WRITE_TO(line2, "Type %d %s file with %d track%s",
|
||||
midi_version, real_format, no_tracks,
|
||||
(no_tracks == 1)?"":"s");
|
||||
HTML_TAG("br");
|
||||
WRITE("<i>Warning: not officially supported in glulx yet</i>");
|
||||
} else {
|
||||
int min = (duration/6000), sec = (duration%6000)/100,
|
||||
centisec = (duration%100);
|
||||
WRITE_TO(line2, "%d.%01dKB %s file: duration ",
|
||||
fsize/1024, (fsize%1024)/102, real_format);
|
||||
if (min > 0)
|
||||
WRITE_TO(line2, "%d minutes ", min);
|
||||
if ((sec > 0) || (centisec > 0)) {
|
||||
if (centisec == 0)
|
||||
WRITE_TO(line2, "%d seconds", sec);
|
||||
else
|
||||
WRITE_TO(line2, "%d.%02d seconds", sec, centisec);
|
||||
} else WRITE_TO(line2, "exactly");
|
||||
WRITE_TO(line2, "Sampled as %d.%01dkHz %s (%d.%01d kilobits/sec)",
|
||||
pSampleRate/1000, (pSampleRate%1000)/100,
|
||||
(pChannels==1)?"Mono":"Stereo",
|
||||
pBitsPerSecond/1000, (pSampleRate%1000)/100);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
WRITE_TO(line2, "<i>Missing from the Sounds folder</i>");
|
||||
}
|
||||
HTML::first_html_column(OUT, THUMBNAIL_WIDTH+10);
|
||||
if (rv == 0) {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/image_problem.png\"");
|
||||
} else if (preview) {
|
||||
HTML_OPEN_WITH("embed",
|
||||
"src=\"file://%f\" width=\"%d\" height=\"64\" "
|
||||
"autostart=\"false\" volume=\"50%%\" mastersound",
|
||||
F, THUMBNAIL_WIDTH);
|
||||
HTML_CLOSE("embed");
|
||||
} else {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/sound_okay.png\"");
|
||||
}
|
||||
WRITE(" ");
|
||||
HTML::next_html_column(OUT, 0);
|
||||
WRITE("%S", Metadata::read_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
HTML_TAG("br");
|
||||
if (Str::len(line2) > 0) {
|
||||
WRITE("%S", line2);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
WRITE("Filename: \"%S\" - resource number %d", Filenames::get_leafname(F), id);
|
||||
DISCARD_TEXT(line2)
|
||||
HTML::end_html_row(OUT);
|
||||
TEMPORARY_TEXT(description)
|
||||
int format_found = 0;
|
||||
@<Find sound format and duration@>
|
||||
@<Render a table row for the sound@>;
|
||||
DISCARD_TEXT(description)
|
||||
}
|
||||
HTML::end_html_table(OUT);
|
||||
|
||||
@ This is more or less perfunctory, but still of some use, if only as a list.
|
||||
@<Find sound format and duration@> =
|
||||
FILE *SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
text_stream *real_format = I"AIFF";
|
||||
format_found = SoundFiles::get_AIFF_duration(SOUND_FILE, &duration, &pBitsPerSecond,
|
||||
&pChannels, &pSampleRate);
|
||||
fseek(SOUND_FILE, 0, SEEK_END);
|
||||
fsize = (unsigned int) (ftell(SOUND_FILE));
|
||||
fclose(SOUND_FILE);
|
||||
if (format_found == 0) {
|
||||
SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
real_format = I"Ogg Vorbis";
|
||||
preview = FALSE;
|
||||
format_found = SoundFiles::get_OggVorbis_duration(SOUND_FILE, &duration,
|
||||
&pBitsPerSecond, &pChannels, &pSampleRate);
|
||||
fclose(SOUND_FILE);
|
||||
}
|
||||
}
|
||||
if (format_found == 0) {
|
||||
SOUND_FILE = Filenames::fopen(F, "rb");
|
||||
if (SOUND_FILE) {
|
||||
waveform_style = FALSE;
|
||||
real_format = I"MIDI";
|
||||
preview = TRUE;
|
||||
format_found = SoundFiles::get_MIDI_information(SOUND_FILE,
|
||||
&midi_version, &no_tracks);
|
||||
fclose(SOUND_FILE);
|
||||
}
|
||||
}
|
||||
if (format_found == 0) {
|
||||
Localisation::italic_0(description, LD, I"Index.Elements.Fi.UnknownSoundFormat");
|
||||
} else {
|
||||
if (waveform_style == FALSE) @<Describe sound in MIDI format@>
|
||||
else @<Describe sound in waveform format@>;
|
||||
}
|
||||
} else {
|
||||
Localisation::italic_0(description, LD, I"Index.Elements.Fi.MissingSound");
|
||||
}
|
||||
|
||||
@<Describe sound in MIDI format@> =
|
||||
if (no_tracks == 1) {
|
||||
Localisation::write_2ns(description, LD, I"Index.Elements.Fi.SoundFormatOneTrack",
|
||||
(int) midi_version, real_format);
|
||||
} else {
|
||||
Localisation::write_3nsn(description, LD, I"Index.Elements.Fi.SoundFormatMultiTrack",
|
||||
(int) midi_version, real_format, (int) no_tracks);
|
||||
}
|
||||
WRITE_TO(description, " - ");
|
||||
Localisation::italic_0(description, LD, I"Index.Elements.Fi.SoundUnsupported");
|
||||
|
||||
@<Describe sound in waveform format@> =
|
||||
TEMPORARY_TEXT(size)
|
||||
WRITE_TO(size, "%d.%01dKB", fsize/1024, (fsize%1024)/102);
|
||||
Localisation::write_2(description, LD, I"Index.Elements.Fi.SoundFile", size, real_format);
|
||||
DISCARD_TEXT(size)
|
||||
int min = (duration/6000), sec = (duration%6000)/100, centisec = (duration%100);
|
||||
WRITE_TO(description, ": ");
|
||||
TEMPORARY_TEXT(seconds)
|
||||
if (centisec == 0) WRITE_TO(seconds, "%d", sec);
|
||||
else WRITE_TO(seconds, "%d.%02d", sec, centisec);
|
||||
if (min > 0) {
|
||||
if ((sec > 0) || (centisec > 0)) {
|
||||
Localisation::write_2ns(description, LD, I"Index.Elements.Fi.DurationMS",
|
||||
min, seconds);
|
||||
} else {
|
||||
Localisation::write_1n(description, LD, I"Index.Elements.Fi.DurationM", min);
|
||||
}
|
||||
} else {
|
||||
Localisation::write_1(description, LD, I"Index.Elements.Fi.DurationS", seconds);
|
||||
}
|
||||
DISCARD_TEXT(seconds)
|
||||
WRITE_TO(description, "<br>");
|
||||
TEMPORARY_TEXT(sample)
|
||||
WRITE_TO(sample, "%d.%01dkHz", pSampleRate/1000, (pSampleRate%1000)/100);
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Fi.Sampled", sample);
|
||||
DISCARD_TEXT(sample)
|
||||
WRITE_TO(description, " ");
|
||||
if (pChannels == 1) Localisation::write_0(OUT, LD, I"Index.Elements.Fi.Mono");
|
||||
else Localisation::write_0(OUT, LD, I"Index.Elements.Fi.Stereo");
|
||||
WRITE_TO(description, " (");
|
||||
TEMPORARY_TEXT(bitrate)
|
||||
WRITE_TO(bitrate, "%d.%01d", pBitsPerSecond/1000, (pSampleRate%1000)/100);
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Fi.BitRate", bitrate);
|
||||
DISCARD_TEXT(bitrate)
|
||||
WRITE_TO(description, ")");
|
||||
|
||||
@<Render a table row for the sound@> =
|
||||
HTML::first_html_column(OUT, THUMBNAIL_WIDTH+10);
|
||||
if (format_found == 0) {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/image_problem.png\"");
|
||||
} else if (preview) {
|
||||
HTML_OPEN_WITH("embed",
|
||||
"src=\"file://%f\" width=\"%d\" height=\"64\" "
|
||||
"autostart=\"false\" volume=\"50%%\" mastersound",
|
||||
F, THUMBNAIL_WIDTH);
|
||||
HTML_CLOSE("embed");
|
||||
} else {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/sound_okay.png\"");
|
||||
}
|
||||
WRITE(" ");
|
||||
HTML::next_html_column(OUT, 0);
|
||||
WRITE("%S", Metadata::read_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
HTML_TAG("br");
|
||||
if (Str::len(description) > 0) {
|
||||
WRITE("%S", description);
|
||||
HTML_TAG("br");
|
||||
}
|
||||
Localisation::write_2sn(description, LD, I"Index.Elements.Fi.Resource",
|
||||
Filenames::get_leafname(F), (int) id);
|
||||
HTML::end_html_row(OUT);
|
||||
|
||||
@h Files.
|
||||
This is more or less perfunctory, but still of some use, if only as a list.
|
||||
|
||||
=
|
||||
@<Index the files@> =
|
||||
HTML_OPEN("p");
|
||||
WRITE("<b>List of External Files</b>");
|
||||
HTML_CLOSE("p");
|
||||
if (TreeLists::len(inv->file_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Fi.NoFiles");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.Fi.ListOfFiles");
|
||||
HTML_CLOSE("p");
|
||||
@<Tabulate the files@>;
|
||||
}
|
||||
|
||||
@<Tabulate the files@> =
|
||||
HTML::begin_html_table(OUT, "#ffffff", TRUE, 0, 0, 0, 0, 0);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->file_nodes) {
|
||||
|
@ -250,18 +300,21 @@ to match this width, preserving the aspect ratio.
|
|||
WRITE("%S", Metadata::read_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
HTML_TAG("br");
|
||||
WRITE("Filename: %s %S- owned by ",
|
||||
(is_binary)?"- binary ":"",
|
||||
Metadata::read_textual(pack, I"^leafname"));
|
||||
if (is_binary)
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Fi.BinaryFile",
|
||||
Metadata::read_textual(pack, I"^leafname"));
|
||||
else
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Fi.TextFile",
|
||||
Metadata::read_textual(pack, I"^leafname"));
|
||||
WRITE(" - ");
|
||||
if (Metadata::read_optional_numeric(pack, I"^file_owned")) {
|
||||
WRITE("this project");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Fi.FileOwnedByThis");
|
||||
} else if (Metadata::read_optional_numeric(pack, I"^file_owned_by_other")) {
|
||||
WRITE("another project");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Fi.FileOwnedByOther");
|
||||
} else {
|
||||
WRITE("project with IFID number <b>%S</b>",
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.Fi.FileOwnedBy",
|
||||
Metadata::read_textual(pack, I"^file_owner"));
|
||||
}
|
||||
HTML::end_html_row(OUT);
|
||||
}
|
||||
HTML::end_html_table(OUT);
|
||||
HTML_OPEN("p");
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
To write the Grouped actions element (A1) in the index, and also the detailed
|
||||
per-action pages linked from it.
|
||||
|
||||
@ =
|
||||
@ The element itself is easily made:
|
||||
|
||||
=
|
||||
void GroupedElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
|
@ -37,24 +39,21 @@ void GroupedElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
}
|
||||
if (f == FALSE) HTML_OPEN("p");
|
||||
if ((f) && (suppress_comma == FALSE)) WRITE(", ");
|
||||
GroupedElement::index_p1(OUT, an_pack, FALSE, FALSE, i);
|
||||
inter_ti oow = Metadata::read_optional_numeric(an_pack, I"^out_of_world");
|
||||
if (oow) HTML::begin_colour(OUT, I"800000");
|
||||
WRITE("%S", Metadata::read_optional_textual(an_pack, I"^name"));
|
||||
if (oow) HTML::end_colour(OUT);
|
||||
IndexUtilities::link_package(OUT, an_pack);
|
||||
IndexUtilities::detail_link(OUT, "A", i, FALSE);
|
||||
f = TRUE;
|
||||
}
|
||||
if (f) HTML_CLOSE("p");
|
||||
}
|
||||
|
||||
void GroupedElement::index_p1(OUTPUT_STREAM, inter_package *an_pack, int bold,
|
||||
int on_details_page, int i) {
|
||||
inter_ti oow = Metadata::read_optional_numeric(an_pack, I"^out_of_world");
|
||||
if (oow) HTML::begin_colour(OUT, I"800000");
|
||||
if (bold) WRITE("<b>");
|
||||
WRITE("%S", Metadata::read_optional_textual(an_pack, I"^name"));
|
||||
if (bold) WRITE("</b>");
|
||||
if (oow) HTML::end_colour(OUT);
|
||||
IndexUtilities::link_package(OUT, an_pack);
|
||||
IndexUtilities::detail_link(OUT, "A", i, (on_details_page)?FALSE:TRUE);
|
||||
}
|
||||
@ Everything else in this section is for the detail pages: there is one such
|
||||
page for each action.
|
||||
|
||||
=
|
||||
void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
|
@ -63,37 +62,43 @@ void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
|||
inter_package *an_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(an_pack, i, inv->action_nodes) {
|
||||
text_stream *OUT = InterpretIndex::open_file(NULL, I"A.html", I"<Actions", i, LD);
|
||||
IndexUtilities::banner_line(OUT, NULL, 1, I"^", I"Details",
|
||||
I"Index.Pages.ActionDetails.Heading", "../Actions.html", LD);
|
||||
HTML_TAG("hr");
|
||||
text_stream *this_area = Metadata::read_optional_textual(an_pack, I"^index_heading");
|
||||
text_stream *this_subarea = Metadata::read_optional_textual(an_pack, I"^index_subheading");
|
||||
HTML_OPEN("p");
|
||||
WRITE("<b>%S - %S</b><br>", this_area, this_subarea);
|
||||
int c = 0;
|
||||
inter_package *an2_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(an2_pack, j, inv->action_nodes) {
|
||||
text_stream *this_area2 = Metadata::read_optional_textual(an2_pack, I"^index_heading");
|
||||
text_stream *this_subarea2 = Metadata::read_optional_textual(an2_pack, I"^index_subheading");
|
||||
if ((Str::eq(this_area, this_area2)) && (Str::eq(this_subarea, this_subarea2))) {
|
||||
if (c++ > 0) WRITE(", ");
|
||||
if (j == i) WRITE("<b>");
|
||||
WRITE("%S", Metadata::read_optional_textual(an2_pack, I"^name"));
|
||||
if (j == i) WRITE("</b>");
|
||||
if (j != i) IndexUtilities::detail_link(OUT, "A", j, FALSE);
|
||||
}
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
HTML_TAG("hr");
|
||||
@<Show the heading@>
|
||||
HTML_TAG("hr");
|
||||
@<Show the commands@>;
|
||||
@<Show the action variables@>;
|
||||
@<Show the rules relevant to this action@>;
|
||||
@<Write details page for the action@>;
|
||||
InterpretIndex::close_index_file(OUT);
|
||||
}
|
||||
}
|
||||
|
||||
@<Write details page for the action@> =
|
||||
IndexUtilities::banner_line(OUT, NULL, 1, I"^", I"Details",
|
||||
I"Index.Pages.ActionDetails.Heading", "../Actions.html", LD);
|
||||
HTML_TAG("hr");
|
||||
@<Show the fancy navigate-similar-actions menu@>;
|
||||
HTML_TAG("hr");
|
||||
@<Show the heading@>
|
||||
HTML_TAG("hr");
|
||||
@<Show the commands@>;
|
||||
@<Show the action variables@>;
|
||||
@<Show the rules relevant to this action@>;
|
||||
|
||||
@<Show the fancy navigate-similar-actions menu@> =
|
||||
text_stream *this_area = Metadata::read_optional_textual(an_pack, I"^index_heading");
|
||||
text_stream *this_subarea = Metadata::read_optional_textual(an_pack, I"^index_subheading");
|
||||
HTML_OPEN("p");
|
||||
WRITE("<b>%S - %S</b><br>", this_area, this_subarea);
|
||||
int c = 0;
|
||||
inter_package *an2_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(an2_pack, j, inv->action_nodes) {
|
||||
text_stream *this_area2 = Metadata::read_optional_textual(an2_pack, I"^index_heading");
|
||||
text_stream *this_subarea2 = Metadata::read_optional_textual(an2_pack, I"^index_subheading");
|
||||
if ((Str::eq(this_area, this_area2)) && (Str::eq(this_subarea, this_subarea2))) {
|
||||
if (c++ > 0) WRITE(", ");
|
||||
if (j == i) WRITE("<b>");
|
||||
WRITE("%S", Metadata::read_optional_textual(an2_pack, I"^name"));
|
||||
if (j == i) WRITE("</b>");
|
||||
if (j != i) IndexUtilities::detail_link(OUT, "A", j, FALSE);
|
||||
}
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Show the heading@> =
|
||||
inter_ti oow = Metadata::read_optional_numeric(an_pack, I"^out_of_world");
|
||||
inter_ti requires_light = Metadata::read_numeric(an_pack, I"^requires_light");
|
||||
|
@ -104,8 +109,14 @@ void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
|||
if (oow) HTML::end_colour(OUT);
|
||||
WRITE("</b>");
|
||||
IndexUtilities::link_package(OUT, an_pack);
|
||||
if (requires_light) WRITE(" (requires light)");
|
||||
WRITE(" (<i>past tense</i> %S)", Metadata::read_optional_textual(an_pack, I"^past_name"));
|
||||
if (requires_light) {
|
||||
WRITE(" (");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.A1.RequiresLight");
|
||||
WRITE(")");
|
||||
}
|
||||
WRITE(" (");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.A1.PastTense");
|
||||
WRITE(" %S)", Metadata::read_optional_textual(an_pack, I"^past_name"));
|
||||
text_stream *spec = Metadata::read_optional_textual(an_pack, I"^specification");
|
||||
if (Str::len(spec) > 0) WRITE(": %S", spec);
|
||||
HTML_CLOSE("p");
|
||||
|
@ -113,36 +124,47 @@ void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
|||
if (Str::len(desc) > 0) { HTML_OPEN("p"); WRITE("%S", desc); HTML_CLOSE("p"); }
|
||||
|
||||
@<Show the commands@> =
|
||||
HTML_OPEN("p"); WRITE("<b>Typed commands leading to this action</b>\n"); HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.A1.CommandsHeading");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
int producers = 0;
|
||||
inter_package *line_pack;
|
||||
LOOP_THROUGH_SUBPACKAGES(line_pack, an_pack, I"_cg_line") {
|
||||
inter_symbol *xref = Metadata::read_symbol(line_pack, I"^line");
|
||||
CommandsElement::index_grammar_line(OUT, Inter::Packages::container(xref->definition), NULL, LD);
|
||||
CommandsElement::index_grammar_line(OUT,
|
||||
Inter::Packages::container(xref->definition), NULL, LD);
|
||||
producers++;
|
||||
}
|
||||
if (producers == 0) WRITE("<i>None</i>");
|
||||
if (producers == 0) Localisation::bold_0(OUT, LD, I"Index.Elements.A1.NoCommands");
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Show the action variables@> =
|
||||
if (GroupedElement::no_vars(an_pack, I) > 0) {
|
||||
HTML_OPEN("p"); WRITE("<b>Named values belonging to this action</b>\n"); HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.A1.ValuesHeading");
|
||||
HTML_CLOSE("p");
|
||||
GroupedElement::index_shv_set(OUT, I, an_pack);
|
||||
}
|
||||
|
||||
@<Show the rules relevant to this action@> =
|
||||
HTML_OPEN("p"); WRITE("<b>Rules controlling this action</b>"); HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
WRITE("\n");
|
||||
Localisation::bold_0(OUT, LD, I"Index.Elements.A1.RulesHeading");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
int resp_count = 0;
|
||||
inter_ti oow = Metadata::read_optional_numeric(an_pack, I"^out_of_world");
|
||||
if (oow == FALSE) {
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"persuasion", I"persuasion", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"unsuccessful_attempt_by", I"unsuccessful attempt", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"setting_action_variables", I"set action variables for", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"before", I"before", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"instead", I"instead of", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"persuasion", I"persuasion", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"unsuccessful_attempt_by", I"unsuccessful attempt", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"setting_action_variables", I"set action variables for", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"before", I"before", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"instead", I"instead of", LD);
|
||||
}
|
||||
inter_symbol *check_s = Metadata::read_symbol(an_pack, I"^check_rulebook");
|
||||
inter_symbol *carry_out_s = Metadata::read_symbol(an_pack, I"^carry_out_rulebook");
|
||||
|
@ -151,15 +173,18 @@ void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
|||
inter_package *carry_out_pack = Inter::Packages::container(carry_out_s->definition);
|
||||
inter_package *report_pack = Inter::Packages::container(report_s->definition);
|
||||
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, check_pack, I"check", I"check", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, carry_out_pack, I"carry_out", I"carry out", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, check_pack,
|
||||
I"check", I"check", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, carry_out_pack,
|
||||
I"carry_out", I"carry out", LD);
|
||||
if (oow == FALSE)
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL, I"after", I"after", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, report_pack, I"report", I"report", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, NULL,
|
||||
I"after", I"after", LD);
|
||||
resp_count += IndexRules::index_action_rules(OUT, inv, an_pack, report_pack,
|
||||
I"report", I"report", LD);
|
||||
if (resp_count > 1) {
|
||||
WRITE("Click on the speech-bubble icons to see the responses, "
|
||||
"or here to see all of them:");
|
||||
WRITE(" ");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.A1.ResponseIcons");
|
||||
WRITE(": ");
|
||||
IndexUtilities::extra_all_link_with(OUT, TreeLists::len(inv->rule_nodes), "responses");
|
||||
WRITE("%d", resp_count);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
To write the Innards element (In) in the index.
|
||||
|
||||
@ Describing the current VM.
|
||||
@ This element is something of a miscellany, except that it's all about the
|
||||
technical implementation rather than the content of a work.
|
||||
|
||||
=
|
||||
void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
|
@ -15,7 +16,7 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
|
||||
HTML_OPEN("p");
|
||||
IndexUtilities::extra_link(OUT, 3);
|
||||
WRITE("See some technicalities for Inform maintainers only");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.Technicalities");
|
||||
HTML_CLOSE("p");
|
||||
IndexUtilities::extra_div_open(OUT, 3, 2, "e0e0e0");
|
||||
HTML_OPEN("p");
|
||||
|
@ -27,7 +28,9 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
|
||||
@<Show the virtual machine compiled for@> =
|
||||
IndexUtilities::anchor(OUT, I"STORYFILE");
|
||||
HTML_OPEN("p"); WRITE("Story file format: ");
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.Format");
|
||||
WRITE(": ");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
text_stream *VM = Metadata::read_optional_textual(pack, I"^virtual_machine");
|
||||
text_stream *VM_icon = Metadata::read_optional_textual(pack, I"^virtual_machine_icon");
|
||||
|
@ -39,14 +42,20 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
HTML_CLOSE("p");
|
||||
|
||||
@<Show the use options@> =
|
||||
HTML_OPEN("p"); WRITE("The following use options are in force:"); HTML_CLOSE("p");
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, MAIN_TEXT_UO_ORIGIN, NULL);
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, OPTIONS_FILE_UO_ORIGIN, NULL);
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.ActiveUseOptions");
|
||||
WRITE(":");
|
||||
HTML_CLOSE("p");
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, MAIN_TEXT_UO_ORIGIN, NULL, LD);
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, OPTIONS_FILE_UO_ORIGIN, NULL, LD);
|
||||
inter_package *E;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(E, i, inv->module_nodes)
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, EXTENSION_UO_ORIGIN, E);
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, EXTENSION_UO_ORIGIN, E, LD);
|
||||
int c = 0;
|
||||
HTML_OPEN("p"); WRITE("Whereas these are not in force:"); HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.InactiveUseOptions");
|
||||
WRITE(":");
|
||||
HTML_CLOSE("p");
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->use_option_nodes) {
|
||||
|
@ -57,7 +66,7 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
if (c++ > 0) WRITE(", ");
|
||||
}
|
||||
}
|
||||
if (c == 0) WRITE("None."); /* in practice, this will never happen */
|
||||
if (c == 0) Localisation::write_0(OUT, LD, I"Index.Elements.In.NoUseOptions");
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Write in the index line for a use option not taken@> =
|
||||
|
@ -70,17 +79,25 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
HTML_CLOSE("span");
|
||||
|
||||
@<Show the language elements used@> =
|
||||
WRITE("Inform language definition:\n");
|
||||
HTML_OPEN("p");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.LanguageDefinition");
|
||||
WRITE(":");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
text_stream *used = Metadata::read_optional_textual(pack, I"^language_elements_used");
|
||||
text_stream *not_used = Metadata::read_optional_textual(pack, I"^language_elements_not_used");
|
||||
if (Str::len(used) > 0) WRITE("Included: %S", used);
|
||||
if (Str::len(not_used) > 0) WRITE("<br>Excluded: %S", not_used);
|
||||
if (Str::len(used) > 0)
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.In.Included", used);
|
||||
if ((Str::len(used) > 0) && (Str::len(not_used) > 0)) WRITE("<br>");
|
||||
if (Str::len(not_used) > 0)
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.In.Excluded", not_used);
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Add some paste buttons for the debugging log@> =
|
||||
HTML_OPEN("p");
|
||||
WRITE("Debugging log:");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.Log");
|
||||
WRITE(":");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
|
@ -101,36 +118,23 @@ void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
}
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@ Now for indexing, where there's nothing much to see.
|
||||
@ Use options can be set in three general ways, and the following function
|
||||
answers the question "was this option set in this way?". |E| is meaningless
|
||||
except for |EXTENSION_UO_ORIGIN|, when we are testing whether it was set in |E|.
|
||||
|
||||
@d MAIN_TEXT_UO_ORIGIN 1
|
||||
@d OPTIONS_FILE_UO_ORIGIN 2
|
||||
@d EXTENSION_UO_ORIGIN 3
|
||||
|
||||
=
|
||||
void InnardsElement::index_options_in_force_from(OUTPUT_STREAM, tree_inventory *inv, int category, inter_package *E) {
|
||||
int N = 0;
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->use_option_nodes) {
|
||||
inter_ti set = Metadata::read_numeric(pack, I"^active");
|
||||
inter_ti sfs = Metadata::read_numeric(pack, I"^source_file_scoped");
|
||||
if ((set) && (sfs == FALSE)) {
|
||||
if (InnardsElement::uo_set_from(pack, category, E)) {
|
||||
if (N++ == 0) @<Write in the use option subheading@>;
|
||||
@<Write in the index line for a use option taken@>;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
|
||||
=
|
||||
int InnardsElement::uo_set_from(inter_package *pack, int category, inter_package *E) {
|
||||
switch (category) {
|
||||
case MAIN_TEXT_UO_ORIGIN: if (Metadata::read_optional_numeric(pack, I"^used_in_source_text")) return TRUE; break;
|
||||
case OPTIONS_FILE_UO_ORIGIN: if (Metadata::read_optional_numeric(pack, I"^used_in_options")) return TRUE; break;
|
||||
int InnardsElement::uo_set_from(inter_package *pack, int way, inter_package *E) {
|
||||
switch (way) {
|
||||
case MAIN_TEXT_UO_ORIGIN:
|
||||
if (Metadata::read_optional_numeric(pack, I"^used_in_source_text")) return TRUE;
|
||||
break;
|
||||
case OPTIONS_FILE_UO_ORIGIN:
|
||||
if (Metadata::read_optional_numeric(pack, I"^used_in_options")) return TRUE;
|
||||
break;
|
||||
case EXTENSION_UO_ORIGIN: {
|
||||
inter_symbol *id = Metadata::read_optional_symbol(pack, I"^used_in_extension");
|
||||
if (id) {
|
||||
|
@ -143,18 +147,38 @@ int InnardsElement::uo_set_from(inter_package *pack, int category, inter_package
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
@ Here we list the UOs set in a particular way, using the same calling conventions.
|
||||
|
||||
=
|
||||
void InnardsElement::index_options_in_force_from(OUTPUT_STREAM, tree_inventory *inv,
|
||||
int way, inter_package *E, localisation_dictionary *LD) {
|
||||
int N = 0;
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->use_option_nodes) {
|
||||
inter_ti set = Metadata::read_numeric(pack, I"^active");
|
||||
inter_ti sfs = Metadata::read_numeric(pack, I"^source_file_scoped");
|
||||
if ((set) && (sfs == FALSE)) {
|
||||
if (InnardsElement::uo_set_from(pack, way, E)) {
|
||||
if (N++ == 0) @<Write in the use option subheading@>;
|
||||
@<Write in the index line for a use option taken@>;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@<Write in the use option subheading@> =
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
HTML::begin_colour(OUT, I"808080");
|
||||
WRITE("Set from ");
|
||||
switch (category) {
|
||||
switch (way) {
|
||||
case MAIN_TEXT_UO_ORIGIN:
|
||||
WRITE("the source text"); break;
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.SetFromSource");
|
||||
break;
|
||||
case OPTIONS_FILE_UO_ORIGIN:
|
||||
WRITE("the Options.txt configuration file, or automatically");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.In.SetAutomatically");
|
||||
IndexUtilities::DocReferences::link(OUT, I"OPTIONSFILE"); break;
|
||||
case EXTENSION_UO_ORIGIN:
|
||||
WRITE("%S", Metadata::read_optional_textual(E, I"^credit"));
|
||||
Localisation::write_1(OUT, LD, I"Index.Elements.In.SetFrom",
|
||||
Metadata::read_optional_textual(E, I"^credit"));
|
||||
break;
|
||||
}
|
||||
WRITE(":");
|
||||
|
@ -175,6 +199,7 @@ int InnardsElement::uo_set_from(inter_package *pack, int category, inter_package
|
|||
Metadata::read_optional_textual(pack, I"^name"), 2*msv);
|
||||
PasteButtons::paste_text(OUT, TEMP);
|
||||
DISCARD_TEXT(TEMP)
|
||||
WRITE(" <i>Double this</i>");
|
||||
WRITE(" ");
|
||||
Localisation::italic_0(OUT, LD, I"Index.Elements.In.Double");
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
|
|
|
@ -7,13 +7,7 @@ void LexiconElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
IndexUtilities::anchor(OUT, I"LEXICON");
|
||||
HTML_OPEN("p");
|
||||
HTML_OPEN_WITH("span", "class=\"smaller\"");
|
||||
WRITE("For instance, the description 'an unlocked door' is made "
|
||||
"up from the adjective 'unlocked' and the noun 'door', both of which "
|
||||
"can be found below. Property adjectives, like 'open', can be used "
|
||||
"when creating things - 'In the Ballroom is an open container' is "
|
||||
"allowed because 'open' is a property - but those with complicated "
|
||||
"definitions, like 'empty', can only be tested during play, e.g. "
|
||||
"with rules like 'Instead of taking an empty container, ...'.");
|
||||
Localisation::write_0(OUT, LD, I"Index.Elements.Lx.Explanation");
|
||||
HTML_CLOSE("span");
|
||||
HTML_CLOSE("p");
|
||||
IndexLexicon::listing(OUT, InterpretIndex::get_lexicon(), FALSE, LD);
|
||||
|
|
|
@ -29,8 +29,7 @@ void MapElement::render(OUTPUT_STREAM, localisation_dictionary *D, int test_only
|
|||
@<Mark parts, directions and kinds as ineligible for listing in the World index@> =
|
||||
faux_instance *I;
|
||||
LOOP_OVER_FAUX_INSTANCES(faux_set, I)
|
||||
if ((MapElement::no_detail_index(I))
|
||||
|| (FauxInstances::is_a_direction(I)))
|
||||
if ((MapElement::no_detail_index(I)) || (FauxInstances::is_a_direction(I)))
|
||||
FauxInstances::increment_indexing_count(I);
|
||||
|
||||
@<Give room details within each region in turn in the World index@> =
|
||||
|
|
Loading…
Reference in a new issue