mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Refactored the index with a better API
This commit is contained in:
parent
97678a04b9
commit
d749074da9
|
@ -308,11 +308,11 @@ call it for them.
|
|||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InternalTests::perform_index_internal_test</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">internal_test_case</span><span class="plain-syntax"> *</span><span class="identifier-syntax">itc</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Localisation::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Indexing::open_session</span><span class="plain-syntax">(</span><span class="identifier-syntax">Emit::tree</span><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inform_language</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Projects::get_language_of_index</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP6" class="function-link"><span class="function-syntax">Task::project</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::stock_from_file</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">Languages::path_to_bundle</span><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.txt"</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">InterpretIndex::generate_one_element</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Emit::tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">itc</span><span class="plain-syntax">-></span><span class="element-syntax">text_supplying_the_case</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">Indexing::localise</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">Languages::path_to_bundle</span><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.txt"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Indexing::generate_one_element</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">itc</span><span class="plain-syntax">-></span><span class="element-syntax">text_supplying_the_case</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Indexing::close_session</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. </b>And here's a set of six tests of the kinds system. This is quite old code,
|
||||
|
|
|
@ -542,21 +542,18 @@ flag stays <span class="extract"><span class="extract-syntax">FALSE</span></span
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Task::produce_index</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">Task::produce_index</span></span>:<br/>How To Compile - <a href="1-htc.html#SP2_15">§2.15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">project</span><span class="plain-syntax"> = </span><a href="1-wtc.html#SP6" class="function-link"><span class="function-syntax">Task::project</span></a><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">do_not_generate_index</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">write_EPS_format_map</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Indexing::open_session</span><span class="plain-syntax">(</span><span class="identifier-syntax">Emit::tree</span><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inform_language</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Projects::get_language_of_index</span><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Localisation::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::stock_from_file</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">Languages::path_to_bundle</span><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.txt"</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">Indexing::localise</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">Languages::path_to_bundle</span><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.txt"</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">do_not_generate_index</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">InterpretIndex::generate</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Emit::tree</span><span class="plain-syntax">(),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Projects::index_structure</span><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">),</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">Indexing::generate_index_website</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">Projects::index_structure</span><span class="plain-syntax">(</span><span class="identifier-syntax">project</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">do_not_update_census</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">ExtensionWebsite::index_after_compilation</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP6" class="function-link"><span class="function-syntax">Task::project</span></a><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">write_EPS_format_map</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RenderEPSMap::render_map_as_EPS</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP16" class="function-link"><span class="function-syntax">Task::epsmap_file</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">D</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">write_EPS_format_map</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Indexing::generate_EPS_map</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><a href="1-wtc.html#SP16" class="function-link"><span class="function-syntax">Task::epsmap_file</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Indexing::close_session</span><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -91,7 +91,7 @@ non-problem messages when everything was fine. That all happens here:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::fatal_on_file</span><span class="plain-syntax">(</span><span class="string-syntax">"Can't open problem log"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Translating the Source"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</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">Problems::Using::final_report</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">disaster_struck</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">problems_count</span><span class="plain-syntax">) {</span>
|
||||
|
|
251
docs/index-module/1-ia.html
Normal file
251
docs/index-module/1-ia.html
Normal file
|
@ -0,0 +1,251 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Indexing API</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../compiler.html">compiler tools</a></li>
|
||||
<li><a href="../other.html">other tools</a></li>
|
||||
<li><a href="../extensions.html">extensions and kits</a></li>
|
||||
<li><a href="../units.html">unit test tools</a></li>
|
||||
</ul><h2>Compiler Webs</h2><ul>
|
||||
<li><a href="../inbuild/index.html">inbuild</a></li>
|
||||
<li><a href="../inform7/index.html">inform7</a></li>
|
||||
<li><a href="../inter/index.html">inter</a></li>
|
||||
</ul><h2>Inbuild Modules</h2><ul>
|
||||
<li><a href="../supervisor-module/index.html">supervisor</a></li>
|
||||
</ul><h2>Inform7 Modules</h2><ul>
|
||||
<li><a href="../core-module/index.html">core</a></li>
|
||||
<li><a href="../assertions-module/index.html">assertions</a></li>
|
||||
<li><a href="../values-module/index.html">values</a></li>
|
||||
<li><a href="../knowledge-module/index.html">knowledge</a></li>
|
||||
<li><a href="../imperative-module/index.html">imperative</a></li>
|
||||
<li><a href="../runtime-module/index.html">runtime</a></li>
|
||||
<li><a href="../if-module/index.html">if</a></li>
|
||||
<li><a href="../multimedia-module/index.html">multimedia</a></li>
|
||||
<li><a href="index.html"><span class="selectedlink">index</span></a></li>
|
||||
</ul><h2>Inter Modules</h2><ul>
|
||||
<li><a href="../bytecode-module/index.html">bytecode</a></li>
|
||||
<li><a href="../building-module/index.html">building</a></li>
|
||||
<li><a href="../codegen-module/index.html">codegen</a></li>
|
||||
</ul><h2>Services</h2><ul>
|
||||
<li><a href="../arch-module/index.html">arch</a></li>
|
||||
<li><a href="../calculus-module/index.html">calculus</a></li>
|
||||
<li><a href="../html-module/index.html">html</a></li>
|
||||
<li><a href="../inflections-module/index.html">inflections</a></li>
|
||||
<li><a href="../kinds-module/index.html">kinds</a></li>
|
||||
<li><a href="../linguistics-module/index.html">linguistics</a></li>
|
||||
<li><a href="../problems-module/index.html">problems</a></li>
|
||||
<li><a href="../syntax-module/index.html">syntax</a></li>
|
||||
<li><a href="../words-module/index.html">words</a></li>
|
||||
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'Indexing API' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<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#1">Chapter 1: Starting Up</a></li><li><b>Indexing API</b></li></ul></div>
|
||||
<p class="purpose">How the parent tool can ask for an Inter tree to be indexed.</p>
|
||||
|
||||
<ul class="toc"><li><a href="1-ia.html#SP1">§1. Public API</a></li><li><a href="1-ia.html#SP4">§4. Private API</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Public API. </b>This is a large and complex module of code, but it really only does one thing,
|
||||
and so it is simple to control. Other modules or tools should do this only by
|
||||
calling the functions below.
|
||||
</p>
|
||||
|
||||
<p class="commentary">To produce one or more index products (see below), first open a session; then
|
||||
set its localisation — essentially, choose what language it should be written
|
||||
in; then call functions to make the actual products; and finally close the session.
|
||||
Note that:
|
||||
</p>
|
||||
|
||||
<ul class="items"><li>(1) If you want to index the same tree of code to two different languages, you
|
||||
will need to do this as two sessions. However, an Index website and an EPS map
|
||||
which are in the same language can both be made in the same session, and this
|
||||
is more efficient than using two.
|
||||
</li><li>(2) Only one session can be open at a time. In some abstract sense it would be tidy
|
||||
to make this whole module threadsafe, but in concrete terms, it's hard to see
|
||||
what problem that would solve for anyone. If a user needs to make multiple
|
||||
indexes simultaneously, the simplest way would be to start multiple <span class="extract"><span class="extract-syntax">inter</span></span>
|
||||
processes, each working on one project at a time. However, the API is designed
|
||||
so that this decision could be reversed if we wanted to.
|
||||
</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>So, then, opening:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</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">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="identifier-syntax">indexing_lexicon</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">indexing_fis</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">indexing_fs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dict</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">session_closed</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">index_session</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">index_sessions_open</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::open_session</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">if</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><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no tree to index"</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">index_sessions_open</span><span class="plain-syntax">++ > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"one indexing session at a time"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">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">session</span><span class="plain-syntax">-></span><span class="element-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="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_lexicon</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fis</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fs</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">dict</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Localisation::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">session_closed</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure index_session is accessed in 2/fi and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>Now localising. You can either set an existing dictionary which you happen
|
||||
to have to hand, or else ask to read definitions from a file. See <a href="../html-module/2-lcl.html" class="internal">Localisation (in html)</a>
|
||||
for how all of this works.
|
||||
</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">Indexing::set_localisation_dictionary</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-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="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">dict</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Indexing::localise</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::stock_from_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">dict</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>Now for the productive part. You can make an entire index mini-website with
|
||||
the following function, which may generate several hundred HTML files. This is
|
||||
what is used in the Inform GUI apps on every compilation.
|
||||
</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">Indexing::generate_index_website</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">structure</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP1" class="function-link"><span class="function-syntax">InterpretIndex::generate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">structure</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3_2" class="paragraph-anchor"></a><b>§3.2. </b>This is a one-off function for generating the content of an index element
|
||||
(without its heading, or any HTML surround): it's used for unit-testing those
|
||||
elements, but is never used by the Inform GUI app.
|
||||
</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">Indexing::generate_one_element</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">elt</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP3" class="function-link"><span class="function-syntax">Elements::test_card</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3_3" class="paragraph-anchor"></a><b>§3.3. </b>This is used by the Inform GUI apps to "release along with an EPS file".
|
||||
Essentially it makes a print-suitable version of the Map element of the index,
|
||||
though there are also many bells and whistles for customising the appearance
|
||||
of this.
|
||||
</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">Indexing::generate_EPS_map</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP1" class="function-link"><span class="function-syntax">RenderEPSMap::render_map_as_EPS</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3_4" class="paragraph-anchor"></a><b>§3.4. </b>And lastly closing. The only thing this now does is to enable a new session
|
||||
to be opened afterwards, in fact, but that might change in future.
|
||||
</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">Indexing::close_session</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">session_closed</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">index_sessions_open</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3_5" class="paragraph-anchor"></a><b>§3.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Check this is an open session</span><span class="named-paragraph-number">3.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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">session</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 session"</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">session_closed</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"closed indexing session"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-ia.html#SP3">§3</a> (twice), <a href="1-ia.html#SP3_1">§3.1</a>, <a href="1-ia.html#SP3_2">§3.2</a>, <a href="1-ia.html#SP3_3">§3.3</a>, <a href="1-ia.html#SP3_4">§3.4</a>, <a href="1-ia.html#SP4">§4</a> (three times), <a href="1-ia.html#SP5">§5</a> (three times).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Private API. </b>The remaining functions in this section are for use only within the <a href="index.html" class="internal">index</a>
|
||||
module.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_tree</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">Indexing::get_tree</span></span>:<br/>Faux Instances - <a href="2-fi.html#SP10">§10</a><br/>Faux Scenes - <a href="2-fs.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/>Commands Element - <a href="3-ce3.html#SP1">§1</a><br/>Contents Element - <a href="3-ce4.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#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/>Tokens Element - <a href="3-te2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></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">session</span><span class="plain-syntax">-></span><span class="element-syntax">tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_localisation</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">Indexing::get_localisation</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP1">§1</a>, <a href="2-ii.html#SP2">§2</a><br/>The Periodic Table - <a href="3-tpt.html#SP2">§2</a><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/>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/>Gazetteer Element - <a href="3-ge.html#SP1">§1</a><br/>Grouped Element - <a href="3-ge2.html#SP2">§2</a><br/>Innards Element - <a href="3-ie.html#SP1">§1</a><br/>Lexicon Element - <a href="3-le.html#SP1">§1</a><br/>Map Element - <a href="3-me.html#SP1">§1</a>, <a href="3-me.html#SP2">§2</a>, <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP4">§4</a>, <a href="3-me.html#SP7">§7</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/>Verbs Element - <a href="3-ve2.html#SP1">§1</a><br/>Render HTML Map - <a href="4-rhm.html#SP6">§6</a>, <a href="4-rhm.html#SP7">§7</a>, <a href="4-rhm.html#SP10">§10</a><br/>Render EPS Map - <a href="4-rem.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></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">session</span><span class="plain-syntax">-></span><span class="element-syntax">dict</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_inventory</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">Indexing::get_inventory</span></span>:<br/>Faux Instances - <a href="2-fi.html#SP8">§8</a><br/>Faux Scenes - <a href="2-fs.html#SP1">§1</a><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/>Chart Element - <a href="3-ce2.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/>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/>Values Element - <a href="3-ve.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</span></a></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">session</span><span class="plain-syntax">-></span><span class="element-syntax">inv</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>These more substantial resources are calculated only on demand:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_lexicon</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">Indexing::get_lexicon</span></span>:<br/>Gazetteer Element - <a href="3-ge.html#SP1">§1</a><br/>Lexicon Element - <a href="3-le.html#SP1">§1</a><br/>Verbs Element - <a href="3-ve2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_lexicon</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_lexicon</span><span class="plain-syntax"> = </span><a href="2-lxc.html#SP3" class="function-link"><span class="function-syntax">IndexLexicon::stock</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">inv</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_lexicon</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_set_of_instances</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">Indexing::get_set_of_instances</span></span>:<br/>Faux Instances - <a href="2-fi.html#SP10">§10</a>, <a href="2-fi.html#SP11">§11</a>, <a href="2-fi.html#SP12">§12</a><br/>Map Element - <a href="3-me.html#SP1">§1</a>, <a href="3-me.html#SP6">§6</a>, <a href="3-me.html#SP7">§7</a><br/>Spatial Map - <a href="4-sm.html#SP7">§7</a>, <a href="4-sm.html#SP7_5">§7.5</a>, <a href="4-sm.html#SP7_21">§7.21</a>, <a href="4-sm.html#SP7_22">§7.22</a>, <a href="4-sm.html#SP41">§41</a>, <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP1">§1</a>, <a href="4-rhm.html#SP6">§6</a>, <a href="4-rhm.html#SP10">§10</a>, <a href="4-rhm.html#SP13">§13</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1">§1.1</a>, <a href="4-rem.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fis</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><a href="2-fi.html#SP8" class="function-link"><span class="function-syntax">FauxInstances::make_faux</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fis</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Indexing::get_list_of_scenes</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">Indexing::get_list_of_scenes</span></span>:<br/>Plot Element - <a href="3-pe2.html#SP1">§1</a>, <a href="3-pe2.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ia.html#SP3_5" class="named-paragraph-link"><span class="named-paragraph">Check this is an open session</span><span class="named-paragraph-number">3.5</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fs</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fs</span><span class="plain-syntax"> = </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::list_of_faux_scenes</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-im.html">❮</a></li><li class="progresscurrentchapter">1</li><li class="progresssection"><a href="1-im.html">im</a></li><li class="progresscurrent">ia</li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresschapter"><a href="3-tpt.html">3</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="2-il.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -93,7 +93,8 @@ which use this module:
|
|||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">index_page_CLASS</span>
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">index_session_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">index_page_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">index_element_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inter_lexicon_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">index_lexicon_entry_CLASS</span>
|
||||
|
@ -108,6 +109,7 @@ which use this module:
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">rubric_holder_CLASS</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_element</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_page</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax">)</span>
|
||||
|
@ -123,7 +125,7 @@ which use this module:
|
|||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">rubric_holder</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprevoff">❮</li><li class="progresscurrentchapter">1</li><li class="progresscurrent">im</li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresschapter"><a href="3-tpt.html">3</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="2-il.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprevoff">❮</li><li class="progresscurrentchapter">1</li><li class="progresscurrent">im</li><li class="progresssection"><a href="1-ia.html">ia</a></li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresschapter"><a href="3-tpt.html">3</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="1-ia.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -256,10 +256,11 @@ we may need to keep multiple sets of faux instances, one for each tree. So:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::make_faux</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">FauxInstances::make_faux</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IT</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::make_faux</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">FauxInstances::make_faux</span></span>:<br/>Indexing API - <a href="1-ia.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP6" class="function-link"><span class="function-syntax">FauxInstances::new_empty_set</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">indexing_fis</span><span class="plain-syntax"> = </span><span class="identifier-syntax">faux_set</span><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">IT</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">instance_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">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">instance_nodes</span><span class="plain-syntax">)</span>
|
||||
|
@ -275,8 +276,7 @@ we may need to keep multiple sets of faux instances, one for each tree. So:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_door</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="2-fi.html#SP8_6" class="named-paragraph-link"><span class="named-paragraph">Cross-reference door adjacencies</span><span class="named-paragraph-number">8.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-fi.html#SP10" class="function-link"><span class="function-syntax">FauxInstances::decode_hints</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">IT</span><span class="plain-syntax">, </span><span class="constant-syntax">1</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">faux_set</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-fi.html#SP10" class="function-link"><span class="function-syntax">FauxInstances::decode_hints</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8_1" class="paragraph-anchor"></a><b>§8.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Add a faux instance to the set for this object-instance package</span><span class="named-paragraph-number">8.1</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -402,7 +402,9 @@ and only if needed.
|
|||
</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">FauxInstances::decode_hints</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">FauxInstances::decode_hints</span></span>:<br/><a href="2-fi.html#SP8">§8</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_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="identifier-syntax">pass</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::decode_hints</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">FauxInstances::decode_hints</span></span>:<br/><a href="2-fi.html#SP8">§8</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pass</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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/mapping_hints"</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">hint_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">hint_pack</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">"_mapping_hint"</span><span class="plain-syntax">) {</span>
|
||||
|
@ -492,7 +494,7 @@ can only be known once the spatial grid has been found, i.e., on <span class="ex
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">EPS_map_level</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eml</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">eml</span><span class="plain-syntax">, </span><span class="reserved-syntax">EPS_map_level</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_rooms</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_level</span><span class="plain-syntax"> - </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">() == </span><span class="identifier-syntax">scope_level</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_level</span><span class="plain-syntax"> - </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">) == </span><span class="identifier-syntax">scope_level</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">scope</span><span class="plain-syntax"> = &(</span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_parameters</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">scope</span><span class="plain-syntax">) </span><a href="4-mc.html#SP6" class="function-link"><span class="function-syntax">ConfigureIndexMap::put_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">scope</span><span class="plain-syntax">, </span><span class="identifier-syntax">scope_I</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_val</span><span class="plain-syntax">, </span><span class="identifier-syntax">int_val</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
|
@ -500,38 +502,38 @@ can only be known once the spatial grid has been found, i.e., on <span class="ex
|
|||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Instance set properties. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::start_room</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">FauxInstances::start_room</span></span>:<br/>Map Element - <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP7">§7</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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::start_room</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">FauxInstances::start_room</span></span>:<br/>Map Element - <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">faux_set</span><span class="plain-syntax">-></span><span class="element-syntax">start_faux_instance</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::yourself</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">FauxInstances::yourself</span></span>:<br/>Map Element - <a href="3-me.html#SP7">§7</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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::yourself</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">FauxInstances::yourself</span></span>:<br/>Map Element - <a href="3-me.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">faux_set</span><span class="plain-syntax">-></span><span class="element-syntax">faux_yourself</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::benchmark</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">FauxInstances::benchmark</span></span>:<br/>Spatial Map - <a href="4-sm.html#SP4">§4</a>, <a href="4-sm.html#SP7_23">§7.23</a>, <a href="4-sm.html#SP43">§43</a><br/>Render HTML Map - <a href="4-rhm.html#SP11">§11</a>, <a href="4-rhm.html#SP11_1">§11.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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::benchmark</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">FauxInstances::benchmark</span></span>:<br/>Spatial Map - <a href="4-sm.html#SP4">§4</a>, <a href="4-sm.html#SP7_23">§7.23</a>, <a href="4-sm.html#SP43">§43</a><br/>Render HTML Map - <a href="4-rhm.html#SP11">§11</a>, <a href="4-rhm.html#SP11_1">§11.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">faux_set</span><span class="plain-syntax">-></span><span class="element-syntax">faux_benchmark</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </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">FauxInstances::no_directions</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">FauxInstances::no_directions</span></span>:<br/>Spatial Map - <a href="4-sm.html#SP7_12">§7.12</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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::no_directions</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">FauxInstances::no_directions</span></span>:<br/>Spatial Map - <a href="4-sm.html#SP7_12">§7.12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">faux_set</span><span class="plain-syntax">-></span><span class="element-syntax">no_direction_fi</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::no_rooms</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">FauxInstances::no_rooms</span></span>:<br/>Render HTML Map - <a href="4-rhm.html#SP6">§6</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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::no_rooms</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">FauxInstances::no_rooms</span></span>:<br/>Render HTML Map - <a href="4-rhm.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">faux_set</span><span class="plain-syntax">-></span><span class="element-syntax">no_room_fi</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Individual instance properties. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::get_name</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">FauxInstances::get_name</span></span>:<br/>Map Element - <a href="3-me.html#SP1_2_1">§1.2.1</a><br/>Spatial Map - <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP6_3_4">§6.3.4</a>, <a href="4-rhm.html#SP11">§11</a>, <a href="4-rhm.html#SP13">§13</a>, <a href="4-rhm.html#SP13_1">§13.1</a><br/>Render EPS Map - <a href="4-rem.html#SP3_2">§3.2</a></span></button><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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::get_name</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">FauxInstances::get_name</span></span>:<br/>Map Element - <a href="3-me.html#SP1_2_1">§1.2.1</a><br/>Spatial Map - <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP6_3_4">§6.3.4</a>, <a href="4-rhm.html#SP11">§11</a>, <a href="4-rhm.html#SP13">§13</a>, <a href="4-rhm.html#SP13_1">§13.1</a><br/>Render EPS Map - <a href="4-rem.html#SP2_2">§2.2</a></span></button><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="reserved-syntax">if</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><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</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">I</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -594,7 +596,7 @@ can only be known once the spatial grid has been found, i.e., on <span class="ex
|
|||
<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>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::is_a_room</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">FauxInstances::is_a_room</span></span>:<br/><a href="2-fi.html#SP7">§7</a>, <a href="2-fi.html#SP8">§8</a>, <a href="2-fi.html#SP8_1">§8.1</a><br/>Map Element - <a href="3-me.html#SP2">§2</a>, <a href="3-me.html#SP2_3_1">§2.3.1</a>, <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP6">§6</a><br/>Spatial Map - <a href="4-sm.html#SP7_15">§7.15</a><br/>Render EPS Map - <a href="4-rem.html#SP2_6">§2.6</a></span></button><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">FauxInstances::is_a_room</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">FauxInstances::is_a_room</span></span>:<br/><a href="2-fi.html#SP7">§7</a>, <a href="2-fi.html#SP8">§8</a>, <a href="2-fi.html#SP8_1">§8.1</a><br/>Map Element - <a href="3-me.html#SP2">§2</a>, <a href="3-me.html#SP2_3_1">§2.3.1</a>, <a href="3-me.html#SP3">§3</a>, <a href="3-me.html#SP6">§6</a><br/>Spatial Map - <a href="4-sm.html#SP7_15">§7.15</a><br/>Render EPS Map - <a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a></span></button><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="reserved-syntax">if</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><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><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">I</span><span class="plain-syntax">-></span><span class="element-syntax">package</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_room"</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -680,7 +682,7 @@ can only be known once the spatial grid has been found, i.e., on <span class="ex
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c2</span><span class="plain-syntax">) *</span><span class="identifier-syntax">c2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">door</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">map_connection_b</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::get_parameters</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">FauxInstances::get_parameters</span></span>:<br/>Map Configuration - <a href="4-mc.html#SP6">§6</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1_2">§1.1.2</a>, <a href="4-rem.html#SP1_1_3">§1.1.3</a>, <a href="4-rem.html#SP2_5">§2.5</a>, <a href="4-rem.html#SP2_6">§2.6</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_7">§2.7</a></span></button><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="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxInstances::get_parameters</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">FauxInstances::get_parameters</span></span>:<br/>Map Configuration - <a href="4-mc.html#SP6">§6</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1_2">§1.1.2</a>, <a href="4-rem.html#SP1_1_3">§1.1.3</a>, <a href="4-rem.html#SP1_2_1_5">§1.2.1.5</a>, <a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_7">§1.2.1.7</a></span></button><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="reserved-syntax">if</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><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</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">I</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">local_map_parameters</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -101,7 +101,20 @@ annotated.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">simplified_connector</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxScenes::simplified</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">FauxScenes::simplified</span></span>:<br/>Plot Element - <a href="3-pe2.html#SP1">§1</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="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sc_pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxScenes::list_of_faux_scenes</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">FauxScenes::list_of_faux_scenes</span></span>:<br/>Indexing API - <a href="1-ia.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">simplified_scene</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">scene_nodes</span><span class="plain-syntax">, </span><a href="3-pe2.html#SP4" class="function-link"><span class="function-syntax">PlotElement::scene_order</span></a><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">rulebook_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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_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">scene_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">scene_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::simplified</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">scene_pack</span><span class="plain-syntax">), </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="function-syntax">FauxScenes::simplified</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">sc_pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ssc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">-></span><span class="element-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sc_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">-></span><span class="element-syntax">no_ends</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -72,7 +72,7 @@ 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#2">Chapter 2: Utilities</a></li><li><b>Index Interpreter</b></li></ul></div>
|
||||
<p class="purpose">An index is generated by interpreting an index structure file.</p>
|
||||
|
||||
<ul class="toc"><li><a href="2-ii.html#SP4">§4. Registering</a></li><li><a href="2-ii.html#SP6">§6. Current</a></li><li><a href="2-ii.html#SP9">§9. Opening and closing HTML files</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="2-ii.html#SP3">§3. Registering</a></li><li><a href="2-ii.html#SP5">§5. Opening and closing HTML files</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>The index is generated by a bare-bones structure file. These are identified
|
||||
by name: in particular <span class="extract"><span class="extract-syntax">Basic</span></span> is the barer version, for Basic Inform projects,
|
||||
|
@ -104,20 +104,19 @@ by the function <a href="3-ae2.html#SP1" class="internal">ArithmeticElement::ren
|
|||
</p>
|
||||
|
||||
<p class="commentary">The method here is basically to read all the declarations, generating a set
|
||||
of <a href="2-ii.html#SP4" class="internal">index_page</a> and <a href="2-ii.html#SP5" class="internal">index_element</a> objects to represent them, and only to
|
||||
of <a href="2-ii.html#SP3" class="internal">index_page</a> and <a href="2-ii.html#SP4" class="internal">index_element</a> objects to represent them, and only to
|
||||
begin writing some HTML when this scanning is done, i.e., when the whole structure
|
||||
file has been read.
|
||||
</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::generate</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">structure</span><span class="plain-syntax">, </span><span class="identifier-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><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::set_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::generate</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">InterpretIndex::generate</span></span>:<br/>Indexing API - <a href="1-ia.html#SP3_1">§3.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">structure</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">index_structure</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InstalledFiles::index_structure_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">structure</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_generation_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">igs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ii.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Initialise IGS</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="2-ii.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Read the structure file line by line</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="2-ii.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Actually generate the index files</span><span class="named-paragraph-number">1.4</span></a></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_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</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>This little structure is just some state being carried by the reader-function
|
||||
|
@ -126,7 +125,7 @@ which goes through the <span class="extract"><span class="extract-syntax">.index
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">index_generation_state</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dict</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pages</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">index_page</span></span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">index_generation_state</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -136,7 +135,7 @@ which goes through the <span class="extract"><span class="extract-syntax">.index
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">igs</span><span class="plain-syntax">.</span><span class="element-syntax">pages</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_page</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">igs</span><span class="plain-syntax">.</span><span class="element-syntax">dict</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">igs</span><span class="plain-syntax">.</span><span class="element-syntax">session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">session</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="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read the structure file line by line</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -160,9 +159,9 @@ pages.
|
|||
</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::read_structure</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">InterpretIndex::read_structure</span></span>:<br/><a href="2-ii.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::read_structure</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">InterpretIndex::read_structure</span></span>:<br/><a href="2-ii.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_generation_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">igs</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">index_generation_state</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">state</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">igs</span><span class="plain-syntax">-></span><span class="element-syntax">dict</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">igs</span><span class="plain-syntax">-></span><span class="element-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Regexp::create_mr</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">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"page (%C+) (%C+)"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ii.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Register a new index page</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -194,7 +193,7 @@ will be <span class="extract"><span class="extract-syntax">Kinds.html</span></sp
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">path</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Pages.%S.Caption"</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">explanation</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Localisation::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">path</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">path</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_page</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP4" class="function-link"><span class="function-syntax">InterpretIndex::register_page</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">col</span><span class="plain-syntax">, </span><span class="identifier-syntax">heading</span><span class="plain-syntax">, </span><span class="identifier-syntax">explanation</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">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_page</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP3" class="function-link"><span class="function-syntax">InterpretIndex::register_page</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">col</span><span class="plain-syntax">, </span><span class="identifier-syntax">heading</span><span class="plain-syntax">, </span><span class="identifier-syntax">explanation</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">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">new_page</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax">, </span><span class="identifier-syntax">igs</span><span class="plain-syntax">-></span><span class="element-syntax">pages</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ii.html#SP2">§2</a> (twice).</li></ul>
|
||||
|
@ -209,7 +208,7 @@ will be <span class="extract"><span class="extract-syntax">Kinds.html</span></sp
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">hkey</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">tkey</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Elements.%S.Title"</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</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">hkey</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Elements.%S.Heading"</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP5" class="function-link"><span class="function-syntax">InterpretIndex::register_element</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">latest</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP4" class="function-link"><span class="function-syntax">InterpretIndex::register_element</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">latest</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">tkey</span><span class="plain-syntax">), </span><span class="identifier-syntax">hkey</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">tkey</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">hkey</span><span class="plain-syntax">)</span>
|
||||
|
@ -225,31 +224,17 @@ will be <span class="extract"><span class="extract-syntax">Kinds.html</span></sp
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">, </span><span class="string-syntax">"%S.html"</span><span class="plain-syntax">, </span><span class="identifier-syntax">page</span><span class="plain-syntax">-></span><span class="element-syntax">page_leafname</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">key</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">key</span><span class="plain-syntax">, </span><span class="string-syntax">"Index.Pages.%S.Title"</span><span class="plain-syntax">, </span><span class="identifier-syntax">page</span><span class="plain-syntax">-></span><span class="element-syntax">page_leafname</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>
|
||||
<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">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::read</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">), -1, </span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP2" class="function-link"><span class="function-syntax">Elements::periodic_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</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="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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = &</span><span class="identifier-syntax">index_file_struct</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP5" class="function-link"><span class="function-syntax">InterpretIndex::open_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">Localisation::read</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">), -1, </span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP2" class="function-link"><span class="function-syntax">Elements::periodic_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">page</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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::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="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#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>
|
||||
<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">session</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
|
||||
(without its heading, or any HTML surround): it's used for unit-testing those
|
||||
elements.
|
||||
</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::generate_one_element</span><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">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">elt</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-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><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::set_tree</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="3-tpt.html#SP3" class="function-link"><span class="function-syntax">Elements::test_card</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</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_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Registering. </b>So, then, here are the objects representing the index pages and their elements
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Registering. </b>So, then, here are the objects representing the index pages and their elements
|
||||
of content:
|
||||
</p>
|
||||
|
||||
|
@ -263,7 +248,7 @@ of content:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">index_page</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::register_page</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">InterpretIndex::register_page</span></span>:<br/><a href="2-ii.html#SP2_1">§2.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">col</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">index_page</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::register_page</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">InterpretIndex::register_page</span></span>:<br/><a href="2-ii.html#SP2_1">§2.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">col</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="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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_page</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_page</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">new_page</span><span class="plain-syntax">-></span><span class="element-syntax">no_elements</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
@ -275,7 +260,7 @@ of content:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure index_page is accessed in 2/sas, 3/tpt and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">index_element</span><span class="plain-syntax"> {</span>
|
||||
|
@ -287,7 +272,7 @@ of content:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">index_element</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">index_element</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::register_element</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">InterpretIndex::register_element</span></span>:<br/><a href="2-ii.html#SP2_2">§2.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">abb</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">index_element</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::register_element</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">InterpretIndex::register_element</span></span>:<br/><a href="2-ii.html#SP2_2">§2.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">abb</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</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">owner</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">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"template creates index elements improperly"</span><span class="plain-syntax">);</span>
|
||||
|
@ -303,60 +288,14 @@ of content:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure index_element is accessed in 2/sas, 3/tpt and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Current. </b>A clumsy convenience: keeping track of the page currently being written, and
|
||||
of the Inter tree currently being indexed.
|
||||
</p>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Opening and closing HTML files. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_index_page</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::set_page</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">InterpretIndex::set_page</span></span>:<br/><a href="2-ii.html#SP9">§9</a>, <a href="2-ii.html#SP10">§10</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="plain-syntax"> </span><span class="identifier-syntax">current_index_page</span><span class="plain-syntax"> = </span><span class="identifier-syntax">page</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::get_page</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">InterpretIndex::get_page</span></span>:<br/>Styles and Scripts - <a href="2-sas.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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">current_index_page</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">indexing_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<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>, <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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="identifier-syntax">indexing_lexicon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::get_lexicon</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">InterpretIndex::get_lexicon</span></span>:<br/>Gazetteer Element - <a href="3-ge.html#SP1">§1</a><br/>Lexicon Element - <a href="3-le.html#SP1">§1</a><br/>Verbs Element - <a href="3-ve2.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_lexicon</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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 lexicon"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">indexing_lexicon</span><span class="plain-syntax"> = </span><a href="2-lxc.html#SP3" class="function-link"><span class="function-syntax">IndexLexicon::stock</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax">);</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_lexicon</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">indexing_fis</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::get_faux_instances</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">InterpretIndex::get_faux_instances</span></span>:<br/>Faux Instances - <a href="2-fi.html#SP11">§11</a>, <a href="2-fi.html#SP12">§12</a><br/>Map Element - <a href="3-me.html#SP1">§1</a>, <a href="3-me.html#SP6">§6</a>, <a href="3-me.html#SP7">§7</a><br/>Spatial Map - <a href="4-sm.html#SP7">§7</a>, <a href="4-sm.html#SP7_5">§7.5</a>, <a href="4-sm.html#SP7_21">§7.21</a>, <a href="4-sm.html#SP7_22">§7.22</a>, <a href="4-sm.html#SP41">§41</a>, <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP1">§1</a>, <a href="4-rhm.html#SP6">§6</a>, <a href="4-rhm.html#SP10">§10</a>, <a href="4-rhm.html#SP13">§13</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1">§1.1</a>, <a href="4-rem.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">indexing_fis</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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 lexicon"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">indexing_fis</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP8" class="function-link"><span class="function-syntax">FauxInstances::make_faux</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax">);</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_fis</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Opening and closing HTML files. </b></p>
|
||||
|
||||
<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#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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">InterpretIndex::open_file</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">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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IF</span><span class="plain-syntax">,</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="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="identifier-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>
|
||||
<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">IF</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>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::fatal_on_file</span><span class="plain-syntax">(</span><span class="string-syntax">"Can't open index file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
|
@ -364,21 +303,19 @@ of the Inter tree currently being indexed.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::fatal_with_file</span><span class="plain-syntax">(</span><span class="string-syntax">"can't open index file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</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><span class="identifier-syntax">index_file_struct</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">page</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">IF</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</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">OUT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">page</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">IF</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. </b></p>
|
||||
<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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::close_index_file</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::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>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -104,7 +104,7 @@ provides details page number 21 about actions, derived from the leafname <span c
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">IndexLocations::filename</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">IndexLocations::filename</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</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">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">IndexLocations::filename</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">IndexLocations::filename</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</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="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="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full_leafname</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_leafname</span><span class="plain-syntax">, </span><span class="string-syntax">"%d_%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
|
@ -128,7 +128,7 @@ provides details page number 21 about actions, derived from the leafname <span c
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-im.html">❮</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">il</li><li class="progresssection"><a href="2-ii.html">ii</a></li><li class="progresssection"><a href="2-sas.html">sas</a></li><li class="progresssection"><a href="2-iu.html">iu</a></li><li class="progresssection"><a href="2-ir.html">ir</a></li><li class="progresssection"><a href="2-lxc.html">lxc</a></li><li class="progresssection"><a href="2-fi.html">fi</a></li><li class="progresssection"><a href="2-fs.html">fs</a></li><li class="progresschapter"><a href="3-tpt.html">3</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="2-ii.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-ia.html">❮</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">il</li><li class="progresssection"><a href="2-ii.html">ii</a></li><li class="progresssection"><a href="2-sas.html">sas</a></li><li class="progresssection"><a href="2-iu.html">iu</a></li><li class="progresssection"><a href="2-ir.html">ir</a></li><li class="progresssection"><a href="2-lxc.html">lxc</a></li><li class="progresssection"><a href="2-fi.html">fi</a></li><li class="progresssection"><a href="2-fs.html">fs</a></li><li class="progresschapter"><a href="3-tpt.html">3</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="2-ii.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -125,11 +125,10 @@ order, then sorted.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="function-syntax">IndexLexicon::stock</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">IndexLexicon::stock</span></span>:<br/>Index Interpreter - <a href="2-ii.html#SP7">§7</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="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="function-syntax">IndexLexicon::stock</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">IndexLexicon::stock</span></span>:<br/>Indexing API - <a href="1-ia.html#SP5">§5</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="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">inter_lexicon</span><span class="plain-syntax"> *</span><span class="identifier-syntax">lexicon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">lexicon</span><span class="plain-syntax">-></span><span class="element-syntax">first</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">lexicon</span><span class="plain-syntax">-></span><span class="element-syntax">unsorted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_lexicon_entry</span><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="named-paragraph-container code-font"><a href="2-lxc.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Add verb entries</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="2-lxc.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Add preposition entries</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-lxc.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Add adjective entries</span><span class="named-paragraph-number">3.3</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -72,17 +72,21 @@ failing to link to said files correctly.
|
|||
|
||||
<p class="commentary">But it means every HTML page in the index has to embed its own CSS and
|
||||
Javascript, and this is done with a callback function which allows us to insert
|
||||
material into the head of an HTML page when it is opened for output:
|
||||
material into the head of an HTML page when it is opened for output. Note that
|
||||
the function acts only when the page was created with <span class="extract"><span class="extract-syntax">state</span></span>, which will only
|
||||
happen when it was created by <a href="index.html" class="internal">index</a>.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">ADDITIONAL_SCRIPTING_HTML_CALLBACK</span><span class="plain-syntax"> </span><a href="2-sas.html#SP1" class="function-link"><span class="function-syntax">IndexStyles::incorporate</span></a>
|
||||
</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">IndexStyles::incorporate</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_page</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP6" class="function-link"><span class="function-syntax">InterpretIndex::get_page</span></a><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">current_page</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>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-sas.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Incorporate some CSS</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="2-sas.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Incorporate some Javascript</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexStyles::incorporate</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</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">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_page</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">index_page</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">state</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">current_page</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>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-sas.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Incorporate some CSS</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="2-sas.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Incorporate some Javascript</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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>The CSS is mostly the same every time and is therefore mostly loaded from an
|
||||
|
|
|
@ -76,9 +76,9 @@ function togglePopup(material_id) {
|
|||
</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">AlphabeticElement::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">AlphabeticElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">AlphabeticElement::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">AlphabeticElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">action_nodes</span><span class="plain-syntax">, </span><a href="3-ae.html#SP4" class="function-link"><span class="function-syntax">AlphabeticElement::alphabetical_order</span></a><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="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</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>
|
||||
|
|
|
@ -77,9 +77,9 @@ so we do little more than tabulate that data here.
|
|||
</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">ArithmeticElement::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">ArithmeticElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ArithmeticElement::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">ArithmeticElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">kind_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">multiplication_rule_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">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -76,9 +76,10 @@ function togglePopup(material_id) {
|
|||
</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">BehaviourElement::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">BehaviourElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">BehaviourElement::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">BehaviourElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">num_naps</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">named_action_pattern_nodes</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
|
|
@ -78,8 +78,8 @@ simplified form of the iFiction record, without the XML overhead.
|
|||
</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">CardElement::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">CardElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CardElement::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">CardElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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/bibliographic"</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>
|
||||
|
|
|
@ -79,9 +79,9 @@ and it is quite dense with information.
|
|||
</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">ChartElement::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">ChartElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ChartElement::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">ChartElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">kind_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">instance_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">HTML::begin_wide_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -77,8 +77,9 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">CommandsElement::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">CommandsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::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">CommandsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">entries</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ce3.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Create the entries for the command list</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -76,9 +76,10 @@ function togglePopup(material_id) {
|
|||
</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">ContentsElement::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">ContentsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ContentsElement::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">ContentsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">extension_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::category_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">heading_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
|
|
@ -76,9 +76,9 @@ function togglePopup(material_id) {
|
|||
</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">EventsElement::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">EventsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EventsElement::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">EventsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">rule_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="reserved-syntax">int</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>
|
||||
|
|
|
@ -77,9 +77,10 @@ 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#SP4">§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">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="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#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">rulebook_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">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
|
|
@ -78,9 +78,10 @@ function togglePopup(material_id) {
|
|||
</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#SP4">§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">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="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#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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>
|
||||
|
|
|
@ -75,8 +75,9 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">GazetteerElement::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">GazetteerElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">localisation_dictionary</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-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">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GazetteerElement::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">GazetteerElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_lexicon</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -76,9 +76,8 @@ function togglePopup(material_id) {
|
|||
</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#SP4">§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">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="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#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">action_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="reserved-syntax">int</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>
|
||||
|
@ -125,16 +124,18 @@ page for each 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">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="identifier-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="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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">action_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">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><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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = &</span><span class="identifier-syntax">index_file_struct</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ii.html#SP5" class="function-link"><span class="function-syntax">InterpretIndex::open_file</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="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><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><a href="2-ii.html#SP6" 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>
|
||||
|
|
|
@ -77,9 +77,10 @@ technical implementation rather than the content of a work.
|
|||
</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::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">InnardsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::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">InnardsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">use_option_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-ie.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Show the virtual machine compiled for</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -75,14 +75,15 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">LexiconElement::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">LexiconElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">LexiconElement::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">LexiconElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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</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">Localisation::roman</span><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>
|
||||
<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="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_lexicon</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -81,16 +81,17 @@ cues all of that up; but even that code is fairly long.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">suppress_panel_changes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::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">MapElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">test_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::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">MapElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">test_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_4" class="function-link"><span class="function-syntax">SpatialMap::initialise_page_directions</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7" class="function-link"><span class="function-syntax">SpatialMap::establish_spatial_coordinates</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7" class="function-link"><span class="function-syntax">SpatialMap::establish_spatial_coordinates</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">test_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP43" class="function-link"><span class="function-syntax">SpatialMap::perform_map_internal_test</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP43" class="function-link"><span class="function-syntax">SpatialMap::perform_map_internal_test</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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="4-rhm.html#SP6" class="function-link"><span class="function-syntax">HTMLMap::render_map_as_HTML</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="plain-syntax"> </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_region_key</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</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">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP6" class="function-link"><span class="function-syntax">HTMLMap::render_map_as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_region_key</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</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">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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</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">"MDETAILS"</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">unruly</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -126,11 +127,11 @@ cues all of that up; but even that code is fairly long.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">subheaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP1_2_2" class="named-paragraph-link"><span class="named-paragraph">Start a new details panel on the World index</span><span class="named-paragraph-number">1.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-me.html#SP1_2_1" class="named-paragraph-link"><span class="named-paragraph">Index the name and super-region of the region</span><span class="named-paragraph-number">1.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">reg</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">reg</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">subheaded</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><a href="4-rhm.html#SP8" class="function-link"><span class="function-syntax">HTMLMap::render_single_room_as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rm</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP8" class="function-link"><span class="function-syntax">HTMLMap::render_single_room_as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rm</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">rm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -157,7 +158,7 @@ cues all of that up; but even that code is fairly long.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</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="2-fi.html#SP14" class="function-link"><span class="function-syntax">FauxInstances::indexed_yet</span></a><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="named-paragraph-container code-font"><a href="3-me.html#SP1_2_2" class="named-paragraph-link"><span class="named-paragraph">Start a new details panel on the World index</span><span class="named-paragraph-number">1.2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP8" class="function-link"><span class="function-syntax">HTMLMap::render_single_room_as_HTML</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">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP8" class="function-link"><span class="function-syntax">HTMLMap::render_single_room_as_HTML</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">session</span><span class="plain-syntax">);</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>
|
||||
|
@ -182,7 +183,7 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><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.Mp.NowhereHeading"</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="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</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="constant-syntax">2</span><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>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</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="constant-syntax">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">suppress_panel_changes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -212,7 +213,8 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index</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">MapElement::index</span></span>:<br/><a href="3-me.html#SP1_4">§1.4</a>, <a href="3-me.html#SP6">§6</a>, <a href="3-me.html#SP7">§7</a><br/>Render HTML Map - <a href="4-rhm.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">details</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">depth</span><span class="plain-syntax"> == </span><span class="constant-syntax">MAX_OBJECT_INDEX_DEPTH</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"MAX_OBJECT_INDEX_DEPTH exceeded"</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">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">depth</span><span class="plain-syntax"> > </span><span class="identifier-syntax">NUMBER_CREATED</span><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">; </span><span class="comment-syntax"> to recover from errors</span>
|
||||
|
@ -233,7 +235,7 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP2_8" class="named-paragraph-link"><span class="named-paragraph">Add the chain of kinds</span><span class="named-paragraph-number">2.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP2_9" class="named-paragraph-link"><span class="named-paragraph">Add the catalogue of specific properties</span><span class="named-paragraph-number">2.9</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP2_10" class="named-paragraph-link"><span class="named-paragraph">Add details depending on the kind</span><span class="named-paragraph-number">2.10</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::index_usages</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">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::index_usages</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">session</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_close</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP2_6" class="named-paragraph-link"><span class="named-paragraph">Recurse the index citation for the object as necessary</span><span class="named-paragraph-number">2.6</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -248,7 +250,7 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> != </span><span class="identifier-syntax">indexing_room</span><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="plain-syntax">-></span><span class="element-syntax">anchor_text</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">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP4" class="function-link"><span class="function-syntax">MapElement::index_spatial_relationship</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">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">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP4" class="function-link"><span class="function-syntax">MapElement::index_spatial_relationship</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">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
|
@ -303,8 +305,8 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
</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-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::annotate_door</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">LD</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::annotate_player</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">LD</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-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::annotate_door</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">session</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::annotate_player</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">session</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="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::specify_kind</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="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-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::write_kind</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>
|
||||
|
@ -329,7 +331,7 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP6" class="function-link"><span class="function-syntax">MapElement::index_object_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</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-me.html#SP6" class="function-link"><span class="function-syntax">MapElement::index_object_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-me.html#SP2">§2</a>.</li></ul>
|
||||
|
@ -370,15 +372,16 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::add_room_to_World_index</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="plain-syntax"> </span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::add_room_to_World_index</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">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP3" class="function-link"><span class="function-syntax">MapElement::add_region_to_World_index</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="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::add_to_World_index</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">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::add_to_World_index</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">session</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-me.html#SP2">§2</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index_usages</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">MapElement::index_usages</span></span>:<br/><a href="3-me.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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index_usages</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">MapElement::index_usages</span></span>:<br/><a href="3-me.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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">k</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="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">package</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">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_list</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">"^backdrop_presences"</span><span class="plain-syntax">);</span>
|
||||
|
@ -401,9 +404,10 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">k</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::add_room_to_World_index</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">MapElement::add_room_to_World_index</span></span>:<br/><a href="3-me.html#SP2_10">§2.10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">O</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::add_room_to_World_index</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">MapElement::add_room_to_World_index</span></span>:<br/><a href="3-me.html#SP2_10">§2.10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">O</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">O</span><span class="plain-syntax">) && (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_room</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">O</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP42" class="function-link"><span class="function-syntax">SpatialMap::index_room_connections</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">O</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP42" class="function-link"><span class="function-syntax">SpatialMap::index_room_connections</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">O</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</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">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -417,8 +421,9 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::annotate_player</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">MapElement::annotate_player</span></span>:<br/><a href="3-me.html#SP2_4">§2.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">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">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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::start_room</span></a><span class="plain-syntax">()) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::start_room</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">Localisation::italic</span><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.Mp.RoomWherePlayBegins"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">"ROOMPLAYBEGINS"</span><span class="plain-syntax">);</span>
|
||||
|
@ -428,7 +433,8 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::annotate_door</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">MapElement::annotate_door</span></span>:<br/><a href="3-me.html#SP2_4">§2.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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">O</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">O</span><span class="plain-syntax">) && (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_door</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">O</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">B</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</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::get_door_data</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">O</span><span class="plain-syntax">, &</span><span class="identifier-syntax">A</span><span class="plain-syntax">, &</span><span class="identifier-syntax">B</span><span class="plain-syntax">);</span>
|
||||
|
@ -451,7 +457,8 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index_spatial_relationship</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">MapElement::index_spatial_relationship</span></span>:<br/><a href="3-me.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">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">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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">rel</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::progenitor</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><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
|
||||
|
@ -482,18 +489,18 @@ it already turns up under its owner.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index_object_further</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">MapElement::index_object_further</span></span>:<br/><a href="3-me.html#SP2_6">§2.6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</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">details</span><span class="plain-syntax">, </span><span class="identifier-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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><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">details</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">depth</span><span class="plain-syntax"> > </span><span class="identifier-syntax">NUMBER_CREATED</span><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">; </span><span class="comment-syntax"> to recover from errors</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::incorp_child</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I2</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::incorp_child</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">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I2</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::incorp_sibling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I2</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><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::child</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="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_room</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_door</span></a><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="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I2</span><span class="plain-syntax">;</span>
|
||||
|
@ -501,16 +508,16 @@ it already turns up under its owner.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_door</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I2</span><span class="plain-syntax">)) && (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::progenitor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I2</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">B</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</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::get_door_data</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I2</span><span class="plain-syntax">, &</span><span class="identifier-syntax">A</span><span class="plain-syntax">, &</span><span class="identifier-syntax">B</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">A</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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">B</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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">A</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">B</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_player_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</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-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_player_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP7" class="function-link"><span class="function-syntax">MapElement::index_backdrop_further</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">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::sibling</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="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::sibling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::sibling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b>And also:
|
||||
|
@ -518,7 +525,8 @@ it already turns up under its owner.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::add_to_World_index</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">MapElement::add_to_World_index</span></span>:<br/><a href="3-me.html#SP2_10">§2.10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">O</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">O</span><span class="plain-syntax">) && (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_thing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">O</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::progenitor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">O</span><span class="plain-syntax">);</span>
|
||||
|
@ -544,28 +552,29 @@ it already turns up under its owner.
|
|||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MapElement::index_player_further</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">MapElement::index_player_further</span></span>:<br/><a href="3-me.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</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">details</span><span class="plain-syntax">, </span><span class="identifier-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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">yourself</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::yourself</span></a><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">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::start_room</span></a><span class="plain-syntax">()) && (</span><span class="identifier-syntax">yourself</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">details</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">yourself</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::start_room</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">yourself</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::indexed_yet</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">yourself</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">yourself</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">yourself</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">MapElement::index_backdrop_further</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">MapElement::index_backdrop_further</span></span>:<br/><a href="3-me.html#SP1">§1</a>, <a href="3-me.html#SP1_2">§1.2</a>, <a href="3-me.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">loc</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</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">details</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">how</span><span class="plain-syntax">, </span><span class="identifier-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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><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">details</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">how</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">discoveries</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bd</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">loc</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">bd</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax">, </span><span class="identifier-syntax">loc</span><span class="plain-syntax">-></span><span class="element-syntax">backdrop_presences</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">discoveries</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP7_1" class="named-paragraph-link"><span class="named-paragraph">Insert fore-matter</span><span class="named-paragraph-number">7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bd</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bd</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">LOOP_OVER_FAUX_BACKDROPS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">bd</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_everywhere</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bd</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">discoveries</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-me.html#SP7_1" class="named-paragraph-link"><span class="named-paragraph">Insert fore-matter</span><span class="named-paragraph-number">7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bd</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</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-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bd</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">discoveries</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-me.html#SP7_2" class="named-paragraph-link"><span class="named-paragraph">Insert after-matter</span><span class="named-paragraph-number">7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -75,8 +75,8 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">PhrasebookElement::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">PhrasebookElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">PhrasebookElement::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">PhrasebookElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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/phrases"</span><span class="plain-syntax">);</span>
|
||||
<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">pass</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</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">pass</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">grand_c</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -83,16 +83,11 @@ seems natural enough to learn in practice.
|
|||
</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">PlotElement::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">PlotElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="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">scene_nodes</span><span class="plain-syntax">, </span><a href="3-pe2.html#SP4" class="function-link"><span class="function-syntax">PlotElement::scene_order</span></a><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">rulebook_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">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_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">scene_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">scene_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::simplified</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">scene_pack</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">PlotElement::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">PlotElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_list_of_scenes</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-pe2.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the scenes</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-pe2.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Show the legend for the scene table icons</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-pe2.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Give details of each scene in turn</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -112,15 +107,17 @@ about and created but never made use of.)
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">-></span><span class="element-syntax">indexed_already</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">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::starts_at_start_of_play</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">)) || (</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::is_entire_game</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">START_OF_PLAY_END</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">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">START_OF_PLAY_END</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::starts_on_condition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">)) && (</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::is_entire_game</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">START_OF_PLAY_END</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">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">START_OF_PLAY_END</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">-></span><span class="element-syntax">indexed_already</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">NEVER_HAPPENS_END</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-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">NEVER_HAPPENS_END</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-pe2.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 legend for the scene table icons</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -154,7 +151,7 @@ about and created but never made use of.)
|
|||
<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">"SDETAILS"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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-pe2.html#SP1_3_1" class="named-paragraph-link"><span class="named-paragraph">Give details of a specific scene</span><span class="named-paragraph-number">1.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -334,7 +331,8 @@ on the initial call when <span class="extract"><span class="extract-syntax">dept
|
|||
</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">PlotElement::index_from_scene</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">PlotElement::index_from_scene</span></span>:<br/><a href="3-pe2.html#SP1_1">§1.1</a>, <a href="3-pe2.html#SP2_5">§2.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">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</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">end</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sc_from</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">end</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sc_from</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_list_of_scenes</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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="identifier-syntax">depth</span><span class="plain-syntax">+1, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-pe2.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Indicate the route by which this scene was reached</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-pe2.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Name the scene in the table, italicised if we've seen it already</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -405,14 +403,14 @@ this one does; then to scenes which begin when this one ends.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">simplified_connector</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">-></span><span class="element-syntax">ends</span><span class="plain-syntax">[0]-></span><span class="element-syntax">anchor_connectors</span><span class="plain-syntax">; </span><span class="identifier-syntax">scon</span><span class="plain-syntax">; </span><span class="identifier-syntax">scon</span><span class="plain-syntax">=</span><span class="identifier-syntax">scon</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::connects_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">) == </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">) && (</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">) >= </span><span class="constant-syntax">1</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">), </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">), </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">simplified_connector</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">-></span><span class="element-syntax">ends</span><span class="plain-syntax">[0]-></span><span class="element-syntax">anchor_connectors</span><span class="plain-syntax">; </span><span class="identifier-syntax">scon</span><span class="plain-syntax">; </span><span class="identifier-syntax">scon</span><span class="plain-syntax">=</span><span class="identifier-syntax">scon</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::connects_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">) == </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">) && (</span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">), </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-pe2.html#SP2" class="function-link"><span class="function-syntax">PlotElement::index_from_scene</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ssc2</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><a href="2-fs.html#SP1" class="function-link"><span class="function-syntax">FauxScenes::scon_end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">scon</span><span class="plain-syntax">), </span><span class="identifier-syntax">ssc</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-pe2.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>We have been using:
|
||||
|
@ -444,7 +442,7 @@ rest in ascending alphabetical order.
|
|||
</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">PlotElement::scene_order</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">PlotElement::scene_order</span></span>:<br/><a href="3-pe2.html#SP1">§1</a></span></button><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="identifier-syntax">ent1</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="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">PlotElement::scene_order</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">PlotElement::scene_order</span></span>:<br/>Faux Scenes - <a href="2-fs.html#SP1">§1</a></span></button><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="identifier-syntax">ent1</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="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</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">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -76,9 +76,9 @@ function togglePopup(material_id) {
|
|||
</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">RelationsElement::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">RelationsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RelationsElement::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">RelationsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">relation_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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -75,9 +75,9 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">RulesForScenesElement::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">RulesForScenesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RulesForScenesElement::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">RulesForScenesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">rulebook_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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -77,9 +77,9 @@ their contents in 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">StandardsElement::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">StandardsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">StandardsElement::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">StandardsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">rulebook_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">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
|
|
@ -78,9 +78,9 @@ main source text, all the tables in the Standard Rules, and so on.
|
|||
</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">TablesElement::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">TablesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TablesElement::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">TablesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">table_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::category_order</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">current_mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">mc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">first_ext</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -75,14 +75,15 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">TokensElement::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">TokensElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TokensElement::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">TokensElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">Localisation::roman</span><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.To.Explanation1"</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">Localisation::roman</span><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.To.Explanation2"</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">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">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="3-te2.html#SP2" class="function-link"><span class="function-syntax">TokensElement::token</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="string-syntax">"anybody"</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">"someone_token"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"[someone]"</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-te2.html#SP2" class="function-link"><span class="function-syntax">TokensElement::token</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="string-syntax">"anyone"</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">"someone_token"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"[someone]"</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -118,7 +118,8 @@ and text underneath in another of class "headingrubric".
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Elements::periodic_table</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">Elements::periodic_table</span></span>:<br/>Index Interpreter - <a href="2-ii.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">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_page</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">index_leaf</span><span class="plain-syntax">, </span><span class="identifier-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">index_leaf</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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_elements</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">index_page</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ip</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ip</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_page</span><span class="plain-syntax">)</span>
|
||||
|
@ -260,7 +261,7 @@ content at last; and then a rule.
|
|||
<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><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">current_page</span><span class="plain-syntax">, </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">atomic_number</span><span class="plain-syntax">, </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">chemical_symbol</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">element_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">explanation_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP4" class="function-link"><span class="function-syntax">Elements::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">chemical_symbol</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP4" class="function-link"><span class="function-syntax">Elements::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">ie</span><span class="plain-syntax">-></span><span class="element-syntax">chemical_symbol</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
|
@ -271,10 +272,10 @@ text file from the content of a single element.
|
|||
</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">Elements::test_card</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">Elements::test_card</span></span>:<br/>Index Interpreter - <a href="2-ii.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="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Elements::test_card</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">Elements::test_card</span></span>:<br/>Indexing API - <a href="1-ia.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="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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">elt</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">elt</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-tpt.html#SP4" class="function-link"><span class="function-syntax">Elements::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</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-tpt.html#SP4" class="function-link"><span class="function-syntax">Elements::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">elt</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -282,32 +283,32 @@ text file from the content of a single element.
|
|||
</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">Elements::render</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">Elements::render</span></span>:<br/><a href="3-tpt.html#SP2_5">§2.5</a>, <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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"A1"</span><span class="plain-syntax">)) { </span><a href="3-ge2.html#SP1" class="function-link"><span class="function-syntax">GroupedElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"A2"</span><span class="plain-syntax">)) { </span><a href="3-ae.html#SP1" class="function-link"><span class="function-syntax">AlphabeticElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ar"</span><span class="plain-syntax">)) { </span><a href="3-ae2.html#SP1" class="function-link"><span class="function-syntax">ArithmeticElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Bh"</span><span class="plain-syntax">)) { </span><a href="3-be.html#SP1" class="function-link"><span class="function-syntax">BehaviourElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"C"</span><span class="plain-syntax">)) { </span><a href="3-ce4.html#SP1" class="function-link"><span class="function-syntax">ContentsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cd"</span><span class="plain-syntax">)) { </span><a href="3-ce.html#SP1" class="function-link"><span class="function-syntax">CardElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ch"</span><span class="plain-syntax">)) { </span><a href="3-ce2.html#SP1" class="function-link"><span class="function-syntax">ChartElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cm"</span><span class="plain-syntax">)) { </span><a href="3-ce3.html#SP1" class="function-link"><span class="function-syntax">CommandsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ev"</span><span class="plain-syntax">)) { </span><a href="3-ee.html#SP1" class="function-link"><span class="function-syntax">EventsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Fi"</span><span class="plain-syntax">)) { </span><a href="3-fe.html#SP1" class="function-link"><span class="function-syntax">FiguresElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Gz"</span><span class="plain-syntax">)) { </span><a href="3-ge.html#SP1" class="function-link"><span class="function-syntax">GazetteerElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"In"</span><span class="plain-syntax">)) { </span><a href="3-ie.html#SP1" class="function-link"><span class="function-syntax">InnardsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Lx"</span><span class="plain-syntax">)) { </span><a href="3-le.html#SP1" class="function-link"><span class="function-syntax">LexiconElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Mp"</span><span class="plain-syntax">)) { </span><a href="3-me.html#SP1" class="function-link"><span class="function-syntax">MapElement::render</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">FALSE</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"MT"</span><span class="plain-syntax">)) { </span><a href="3-me.html#SP1" class="function-link"><span class="function-syntax">MapElement::render</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">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ph"</span><span class="plain-syntax">)) { </span><a href="3-pe.html#SP1" class="function-link"><span class="function-syntax">PhrasebookElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Pl"</span><span class="plain-syntax">)) { </span><a href="3-pe2.html#SP1" class="function-link"><span class="function-syntax">PlotElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Rl"</span><span class="plain-syntax">)) { </span><a href="3-re.html#SP1" class="function-link"><span class="function-syntax">RelationsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"RS"</span><span class="plain-syntax">)) { </span><a href="3-rfse.html#SP1" class="function-link"><span class="function-syntax">RulesForScenesElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"St"</span><span class="plain-syntax">)) { </span><a href="3-se.html#SP1" class="function-link"><span class="function-syntax">StandardsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Tb"</span><span class="plain-syntax">)) { </span><a href="3-te.html#SP1" class="function-link"><span class="function-syntax">TablesElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"To"</span><span class="plain-syntax">)) { </span><a href="3-te2.html#SP1" class="function-link"><span class="function-syntax">TokensElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vb"</span><span class="plain-syntax">)) { </span><a href="3-ve2.html#SP1" class="function-link"><span class="function-syntax">VerbsElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vl"</span><span class="plain-syntax">)) { </span><a href="3-ve.html#SP1" class="function-link"><span class="function-syntax">ValuesElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Xt"</span><span class="plain-syntax">)) { </span><a href="3-ee2.html#SP1" class="function-link"><span class="function-syntax">ExtrasElement::render</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="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Elements::render</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">Elements::render</span></span>:<br/><a href="3-tpt.html#SP2_5">§2.5</a>, <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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"A1"</span><span class="plain-syntax">)) { </span><a href="3-ge2.html#SP1" class="function-link"><span class="function-syntax">GroupedElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"A2"</span><span class="plain-syntax">)) { </span><a href="3-ae.html#SP1" class="function-link"><span class="function-syntax">AlphabeticElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ar"</span><span class="plain-syntax">)) { </span><a href="3-ae2.html#SP1" class="function-link"><span class="function-syntax">ArithmeticElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Bh"</span><span class="plain-syntax">)) { </span><a href="3-be.html#SP1" class="function-link"><span class="function-syntax">BehaviourElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"C"</span><span class="plain-syntax">)) { </span><a href="3-ce4.html#SP1" class="function-link"><span class="function-syntax">ContentsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cd"</span><span class="plain-syntax">)) { </span><a href="3-ce.html#SP1" class="function-link"><span class="function-syntax">CardElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ch"</span><span class="plain-syntax">)) { </span><a href="3-ce2.html#SP1" class="function-link"><span class="function-syntax">ChartElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cm"</span><span class="plain-syntax">)) { </span><a href="3-ce3.html#SP1" class="function-link"><span class="function-syntax">CommandsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ev"</span><span class="plain-syntax">)) { </span><a href="3-ee.html#SP1" class="function-link"><span class="function-syntax">EventsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Fi"</span><span class="plain-syntax">)) { </span><a href="3-fe.html#SP1" class="function-link"><span class="function-syntax">FiguresElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Gz"</span><span class="plain-syntax">)) { </span><a href="3-ge.html#SP1" class="function-link"><span class="function-syntax">GazetteerElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"In"</span><span class="plain-syntax">)) { </span><a href="3-ie.html#SP1" class="function-link"><span class="function-syntax">InnardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Lx"</span><span class="plain-syntax">)) { </span><a href="3-le.html#SP1" class="function-link"><span class="function-syntax">LexiconElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Mp"</span><span class="plain-syntax">)) { </span><a href="3-me.html#SP1" class="function-link"><span class="function-syntax">MapElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"MT"</span><span class="plain-syntax">)) { </span><a href="3-me.html#SP1" class="function-link"><span class="function-syntax">MapElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ph"</span><span class="plain-syntax">)) { </span><a href="3-pe.html#SP1" class="function-link"><span class="function-syntax">PhrasebookElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Pl"</span><span class="plain-syntax">)) { </span><a href="3-pe2.html#SP1" class="function-link"><span class="function-syntax">PlotElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Rl"</span><span class="plain-syntax">)) { </span><a href="3-re.html#SP1" class="function-link"><span class="function-syntax">RelationsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"RS"</span><span class="plain-syntax">)) { </span><a href="3-rfse.html#SP1" class="function-link"><span class="function-syntax">RulesForScenesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"St"</span><span class="plain-syntax">)) { </span><a href="3-se.html#SP1" class="function-link"><span class="function-syntax">StandardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Tb"</span><span class="plain-syntax">)) { </span><a href="3-te.html#SP1" class="function-link"><span class="function-syntax">TablesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"To"</span><span class="plain-syntax">)) { </span><a href="3-te2.html#SP1" class="function-link"><span class="function-syntax">TokensElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vb"</span><span class="plain-syntax">)) { </span><a href="3-ve2.html#SP1" class="function-link"><span class="function-syntax">VerbsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vl"</span><span class="plain-syntax">)) { </span><a href="3-ve.html#SP1" class="function-link"><span class="function-syntax">ValuesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Xt"</span><span class="plain-syntax">)) { </span><a href="3-ee2.html#SP1" class="function-link"><span class="function-syntax">ExtrasElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">"NO CONTENT"</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>
|
||||
|
|
|
@ -77,9 +77,9 @@ quite different.
|
|||
</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">ValuesElement::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">ValuesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ValuesElement::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">ValuesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><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><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">variable_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-ve.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the variables</span><span class="named-paragraph-number">1.1</span></a></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">equation_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -77,13 +77,14 @@ be more usefully informative.
|
|||
</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">VerbsElement::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">VerbsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">VerbsElement::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">VerbsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">Localisation::italic</span><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.Vb.About"</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">verb_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="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="identifier-syntax">lexicon</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="plain-syntax"> </span><span class="reserved-syntax">inter_lexicon</span><span class="plain-syntax"> *</span><span class="identifier-syntax">lexicon</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_lexicon</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">index_lexicon_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">lex</span><span class="plain-syntax"> = </span><span class="identifier-syntax">lexicon</span><span class="plain-syntax">-></span><span class="element-syntax">first</span><span class="plain-syntax">; </span><span class="identifier-syntax">lex</span><span class="plain-syntax">; </span><span class="identifier-syntax">lex</span><span class="plain-syntax"> = </span><span class="identifier-syntax">lex</span><span class="plain-syntax">-></span><span class="element-syntax">sorted_next</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">lex</span><span class="plain-syntax">-></span><span class="element-syntax">part_of_speech</span><span class="plain-syntax"> == </span><span class="constant-syntax">VERB_TLEXE</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">lex</span><span class="plain-syntax">-></span><span class="element-syntax">part_of_speech</span><span class="plain-syntax"> == </span><span class="constant-syntax">MVERB_TLEXE</span><span class="plain-syntax">) ||</span>
|
||||
|
|
|
@ -270,7 +270,7 @@ If all are null, then the global scope is used.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">ConfigureIndexMap::get_text_mp</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">ConfigureIndexMap::get_text_mp</span></span>:<br/>Render EPS Map - <a href="4-rem.html#SP2">§2</a>, <a href="4-rem.html#SP2_4">§2.4</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_6_1_2">§2.6.1.2</a>, <a href="4-rem.html#SP2_7_1">§2.7.1</a>, <a href="4-rem.html#SP2_7_2">§2.7.2</a>, <a href="4-rem.html#SP2_7_3">§2.7.3</a></span></button><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="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scope</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">ConfigureIndexMap::get_text_mp</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">ConfigureIndexMap::get_text_mp</span></span>:<br/>Render EPS Map - <a href="4-rem.html#SP1_2_1">§1.2.1</a>, <a href="4-rem.html#SP1_2_1_4">§1.2.1.4</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_6_1_2">§1.2.1.6.1.2</a>, <a href="4-rem.html#SP1_2_1_7_1">§1.2.1.7.1</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.2</a>, <a href="4-rem.html#SP1_2_1_7_3">§1.2.1.7.3</a></span></button><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="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scope</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">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"<font>"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"font"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</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">s</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP5" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_map_variable_index</span></a><span class="plain-syntax">(</span><span class="identifier-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">scope</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">scope</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP3" class="function-link"><span class="function-syntax">ConfigureIndexMap::global</span></a><span class="plain-syntax">();</span>
|
||||
|
@ -293,7 +293,7 @@ If all are null, then the global scope is used.
|
|||
</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">ConfigureIndexMap::get_int_mp</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">ConfigureIndexMap::get_int_mp</span></span>:<br/>Render EPS Map - <a href="4-rem.html#SP1_1_1">§1.1.1</a>, <a href="4-rem.html#SP2">§2</a>, <a href="4-rem.html#SP2_1">§2.1</a>, <a href="4-rem.html#SP2_4">§2.4</a>, <a href="4-rem.html#SP2_5">§2.5</a>, <a href="4-rem.html#SP2_6">§2.6</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_6_1_2">§2.6.1.2</a>, <a href="4-rem.html#SP2_7">§2.7</a>, <a href="4-rem.html#SP2_7_1">§2.7.1</a>, <a href="4-rem.html#SP2_7_2">§2.7.2</a>, <a href="4-rem.html#SP2_7_3">§2.7.3</a>, <a href="4-rem.html#SP2_8">§2.8</a></span></button><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="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scope</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ConfigureIndexMap::get_int_mp</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">ConfigureIndexMap::get_int_mp</span></span>:<br/>Render EPS Map - <a href="4-rem.html#SP1_1_1">§1.1.1</a>, <a href="4-rem.html#SP1_2_1">§1.2.1</a>, <a href="4-rem.html#SP1_2_1_1">§1.2.1.1</a>, <a href="4-rem.html#SP1_2_1_4">§1.2.1.4</a>, <a href="4-rem.html#SP1_2_1_5">§1.2.1.5</a>, <a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_6_1_2">§1.2.1.6.1.2</a>, <a href="4-rem.html#SP1_2_1_7">§1.2.1.7</a>, <a href="4-rem.html#SP1_2_1_7_1">§1.2.1.7.1</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.2</a>, <a href="4-rem.html#SP1_2_1_7_3">§1.2.1.7.3</a>, <a href="4-rem.html#SP1_2_2">§1.2.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">name</span><span class="plain-syntax">, </span><span class="reserved-syntax">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scope</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">s</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP5" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_map_variable_index</span></a><span class="plain-syntax">(</span><span class="identifier-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">scope</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">scope</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP3" class="function-link"><span class="function-syntax">ConfigureIndexMap::global</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">scope</span><span class="plain-syntax">-></span><span class="element-syntax">values</span><span class="plain-syntax">[</span><span class="identifier-syntax">s</span><span class="plain-syntax">].</span><span class="element-syntax">specified</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -86,13 +86,13 @@ MathJax = {
|
|||
<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#4">Chapter 4: Spatial Mapping</a></li><li><b>Render EPS Map</b></li></ul></div>
|
||||
<p class="purpose">To render the spatial map of rooms as an EPS (Encapsulated PostScript) file.</p>
|
||||
|
||||
<ul class="toc"><li><a href="4-rem.html#SP3">§3. Writing text in EPS</a></li><li><a href="4-rem.html#SP5">§5. EPS header</a></li><li><a href="4-rem.html#SP6">§6. Circles and rectangles</a></li><li><a href="4-rem.html#SP8">§8. Straight lines</a></li><li><a href="4-rem.html#SP9">§9. Dashed arrows</a></li><li><a href="4-rem.html#SP10">§10. Bezier curves</a></li><li><a href="4-rem.html#SP11">§11. Line thickness</a></li><li><a href="4-rem.html#SP12">§12. Text</a></li><li><a href="4-rem.html#SP13">§13. RGB colours</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="4-rem.html#SP2">§2. Writing text in EPS</a></li><li><a href="4-rem.html#SP4">§4. EPS header</a></li><li><a href="4-rem.html#SP5">§5. Circles and rectangles</a></li><li><a href="4-rem.html#SP7">§7. Straight lines</a></li><li><a href="4-rem.html#SP8">§8. Dashed arrows</a></li><li><a href="4-rem.html#SP9">§9. Bezier curves</a></li><li><a href="4-rem.html#SP10">§10. Line thickness</a></li><li><a href="4-rem.html#SP11">§11. Text</a></li><li><a href="4-rem.html#SP12">§12. RGB colours</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </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">RenderEPSMap::render_map_as_EPS</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">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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::render_map_as_EPS</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">RenderEPSMap::render_map_as_EPS</span></span>:<br/>Indexing API - <a href="1-ia.html#SP3_3">§3.3</a></span></button><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="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Prepare the EPS levels</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="4-rem.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Open a stream and write the EPS map to it</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -101,12 +101,12 @@ MathJax = {
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Create the main EPS map super-level</span><span class="named-paragraph-number">1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<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">z</span><span class="plain-syntax">=</span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">; </span><span class="identifier-syntax">z</span><span class="plain-syntax">>=</span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">; </span><span class="identifier-syntax">z</span><span class="plain-syntax">--)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_1_2" class="named-paragraph-link"><span class="named-paragraph">Create an EPS map level for this z-slice</span><span class="named-paragraph-number">1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-fi.html#SP10" class="function-link"><span class="function-syntax">FauxInstances::decode_hints</span></a><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="constant-syntax">2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-fi.html#SP10" class="function-link"><span class="function-syntax">FauxInstances::decode_hints</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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">changed_global_room_colour</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_1_3" class="named-paragraph-link"><span class="named-paragraph">Inherit EPS room colours from those used in the World Index</span><span class="named-paragraph-number">1.1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -144,7 +144,7 @@ MathJax = {
|
|||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">titling</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP7" class="function-link"><span class="function-syntax">HTMLMap::devise_level_rubric</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">titling</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP7" class="function-link"><span class="function-syntax">HTMLMap::devise_level_rubric</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">titling</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">titling</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_titling</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">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_titling</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
@ -172,8 +172,8 @@ MathJax = {
|
|||
</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">EPS_struct</span><span class="plain-syntax">; </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EPS</span><span class="plain-syntax"> = &</span><span class="identifier-syntax">EPS_struct</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">EPS</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">ISO_ENC</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">text_stream</span><span class="plain-syntax"> </span><span class="identifier-syntax">EPS_struct</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><span class="identifier-syntax">EPS_struct</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">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">ISO_ENC</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">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::fatal_on_file</span><span class="plain-syntax">(</span><span class="string-syntax">"Can't open index file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
|
@ -181,28 +181,29 @@ MathJax = {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::fatal_with_file</span><span class="plain-syntax">(</span><span class="string-syntax">"can't open index file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP2" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_map</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">EPS</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">EPS</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1" class="named-paragraph-link"><span class="named-paragraph">Plot the map itself</span><span class="named-paragraph-number">1.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_2" class="named-paragraph-link"><span class="named-paragraph">Plot all of the rubrics onto the EPS map</span><span class="named-paragraph-number">1.2.2</span></a></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">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b></p>
|
||||
<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">Plot the map itself</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_map</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">RenderEPSMap::EPS_compile_map</span></span>:<br/><a href="4-rem.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="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">blh</span><span class="plain-syntax">, </span><span class="comment-syntax"> total height of the EPS map area (not counting border)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">blw</span><span class="plain-syntax">, </span><span class="comment-syntax"> total width of the EPS map area (not counting border)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">border</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"border-size"</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">vskip</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"vertical-spacing"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Compute the dimensions of the EPS map</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_1" class="named-paragraph-link"><span class="named-paragraph">Compute the dimensions of the EPS map</span><span class="named-paragraph-number">1.2.1.1</span></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">bounding_box_width</span><span class="plain-syntax"> = </span><span class="identifier-syntax">blw</span><span class="plain-syntax">+2*</span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_height</span><span class="plain-syntax"> = </span><span class="identifier-syntax">blh</span><span class="plain-syntax">+2*</span><span class="identifier-syntax">border</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_header</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_width</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_height</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP4" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_header</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_width</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_height</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"title-font"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"title-size"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"map-outline"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Draw a big rectangular outline around the entire EPS map</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="4-rem.html#SP1_2_1_2" class="named-paragraph-link"><span class="named-paragraph">Draw a big rectangular outline around the entire EPS map</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="reserved-syntax">EPS_map_level</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eml</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">eml</span><span class="plain-syntax">, </span><span class="reserved-syntax">EPS_map_level</span><span class="plain-syntax">) {</span>
|
||||
|
@ -210,27 +211,25 @@ MathJax = {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">mapunit</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"grid-size"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_rooms</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="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"map-outline"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_3" class="named-paragraph-link"><span class="named-paragraph">Draw an intermediate strut in the big rectangular outline</span><span class="named-paragraph-number">2.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_3" class="named-paragraph-link"><span class="named-paragraph">Draw an intermediate strut in the big rectangular outline</span><span class="named-paragraph-number">1.2.1.3</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_titling</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_4" class="named-paragraph-link"><span class="named-paragraph">Draw the title for this EPS map level</span><span class="named-paragraph-number">2.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_4" class="named-paragraph-link"><span class="named-paragraph">Draw the title for this EPS map level</span><span class="named-paragraph-number">1.2.1.4</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_rooms</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_level</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_5" class="named-paragraph-link"><span class="named-paragraph">Establish EPS coordinates for this room</span><span class="named-paragraph-number">2.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_5" class="named-paragraph-link"><span class="named-paragraph">Establish EPS coordinates for this room</span><span class="named-paragraph-number">1.2.1.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_level</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_6" class="named-paragraph-link"><span class="named-paragraph">Draw the map connections from this room as EPS paths</span><span class="named-paragraph-number">2.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_6" class="named-paragraph-link"><span class="named-paragraph">Draw the map connections from this room as EPS paths</span><span class="named-paragraph-number">1.2.1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">map_level</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_7" class="named-paragraph-link"><span class="named-paragraph">Draw the boxes for the rooms themselves</span><span class="named-paragraph-number">2.7</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_7" class="named-paragraph-link"><span class="named-paragraph">Draw the boxes for the rooms themselves</span><span class="named-paragraph-number">1.2.1.7</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="named-paragraph-container code-font"><a href="4-rem.html#SP2_8" class="named-paragraph-link"><span class="named-paragraph">Plot all of the rubrics onto the EPS map</span><span class="named-paragraph-number">2.8</span></a></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><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compute the dimensions of the EPS map</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.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">Compute the dimensions of the EPS map</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">
|
||||
|
@ -255,45 +254,45 @@ MathJax = {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">blh</span><span class="plain-syntax"> = </span><span class="identifier-syntax">total_chunk_height</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">blw</span><span class="plain-syntax"> = </span><span class="identifier-syntax">max_chunk_width</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>§2.2. </b>The outline is a little like drawing the shape of a bookcase: there's a big
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_2" class="paragraph-anchor"></a><b>§1.2.1.2. </b>The outline is a little like drawing the shape of a bookcase: there's a big
|
||||
rectangle around the whole thing...
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a big rectangular outline around the entire EPS map</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a big rectangular outline around the entire EPS map</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"newpath %% Ruled outline outer box of map\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">+</span><span class="identifier-syntax">blw</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">+</span><span class="identifier-syntax">blh</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">+</span><span class="identifier-syntax">blw</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">+</span><span class="identifier-syntax">blh</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">"stroke\n"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>§2.3. </b>...and then there are horizontal shelves dividing it into compartments.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_3" class="paragraph-anchor"></a><b>§1.2.1.3. </b>...and then there are horizontal shelves dividing it into compartments.
|
||||
(Each map level will be drawn inside one of these compartments.)
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw an intermediate strut in the big rectangular outline</span><span class="named-paragraph-number">2.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw an intermediate strut in the big rectangular outline</span><span class="named-paragraph-number">1.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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"newpath %% Ruled horizontal line\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP8" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_horizontal_line_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">blw</span><span class="plain-syntax">+</span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">eps_origin</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP7" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_horizontal_line_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">blw</span><span class="plain-syntax">+</span><span class="identifier-syntax">border</span><span class="plain-syntax">, </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">eps_origin</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">"stroke\n"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_4" class="paragraph-anchor"></a><b>§2.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the title for this EPS map level</span><span class="named-paragraph-number">2.4</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_4" class="paragraph-anchor"></a><b>§1.2.1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the title for this EPS map level</span><span class="named-paragraph-number">1.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">eps_origin</span><span class="plain-syntax"> + </span><span class="identifier-syntax">vskip</span><span class="plain-syntax"> + </span><span class="identifier-syntax">eml</span><span class="plain-syntax">-></span><span class="element-syntax">actual_height</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">eml</span><span class="plain-syntax">-></span><span class="element-syntax">contains_rooms</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"subtitle-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP4" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"subtitle"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">128</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"subtitle-font"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">),</span>
|
||||
|
@ -302,10 +301,10 @@ rectangle around the whole thing...
|
|||
<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">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"title-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP4" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"title"</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">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">128</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"title-font"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">),</span>
|
||||
|
@ -314,8 +313,8 @@ rectangle around the whole thing...
|
|||
<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="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_5" class="paragraph-anchor"></a><b>§2.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish EPS coordinates for this room</span><span class="named-paragraph-number">2.5</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_5" class="paragraph-anchor"></a><b>§1.2.1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish EPS coordinates for this room</span><span class="named-paragraph-number">1.2.1.5</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -336,13 +335,13 @@ rectangle around the whole thing...
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">eps_x</span><span class="plain-syntax"> = </span><span class="identifier-syntax">bx</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="identifier-syntax">eps_y</span><span class="plain-syntax"> = </span><span class="identifier-syntax">by</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_6" class="paragraph-anchor"></a><b>§2.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the map connections from this room as EPS paths</span><span class="named-paragraph-number">2.6</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_6" class="paragraph-anchor"></a><b>§1.2.1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the map connections from this room as EPS paths</span><span class="named-paragraph-number">1.2.1.6</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">map_parameter_scope</span><span class="plain-syntax"> *</span><span class="identifier-syntax">room_scope</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::get_parameters</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP11" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP10" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"route-thickness"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</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">bx</span><span class="plain-syntax"> = </span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">eps_x</span><span class="plain-syntax">;</span>
|
||||
|
@ -354,49 +353,49 @@ rectangle around the whole thing...
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP7_15" class="function-link"><span class="function-syntax">SpatialMap::room_exit</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="identifier-syntax">dir</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</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">exit</span><span class="plain-syntax"> = </span><span class="identifier-syntax">story_dir_to_page_dir</span><span class="plain-syntax">[</span><span class="identifier-syntax">dir</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_room</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_6_1" class="named-paragraph-link"><span class="named-paragraph">Draw a single map connection as an EPS arrow</span><span class="named-paragraph-number">2.6.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_6_1" class="named-paragraph-link"><span class="named-paragraph">Draw a single map connection as an EPS arrow</span><span class="named-paragraph-number">1.2.1.6.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP11" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_unsetting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP10" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_unsetting</span></a><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="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_6_1" class="paragraph-anchor"></a><b>§2.6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a single map connection as an EPS arrow</span><span class="named-paragraph-number">2.6.1</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_6_1" class="paragraph-anchor"></a><b>§1.2.1.6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a single map connection as an EPS arrow</span><span class="named-paragraph-number">1.2.1.6.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">T_stiffness</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"route-stiffness"</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::get_parameters</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"route-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</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">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="4-sm.html#SP7_15" class="function-link"><span class="function-syntax">SpatialMap::room_exit</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><a href="4-sm.html#SP7_8" class="function-link"><span class="function-syntax">SpatialMap::opposite</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dir</span><span class="plain-syntax">), </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) == </span><span class="identifier-syntax">R</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_6_1_1" class="named-paragraph-link"><span class="named-paragraph">Draw a two-ended arrow for a two-way horizontal connection</span><span class="named-paragraph-number">2.6.1.1</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_6_1_1" class="named-paragraph-link"><span class="named-paragraph">Draw a two-ended arrow for a two-way horizontal connection</span><span class="named-paragraph-number">1.2.1.6.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="4-rem.html#SP2_6_1_2" class="named-paragraph-link"><span class="named-paragraph">Draw a one-way arrow for a distant or off-level connection</span><span class="named-paragraph-number">2.6.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_6_1_2" class="named-paragraph-link"><span class="named-paragraph">Draw a one-way arrow for a distant or off-level connection</span><span class="named-paragraph-number">1.2.1.6.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_6">§2.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_6_1_1" class="paragraph-anchor"></a><b>§2.6.1.1. </b>We don't want to draw this twice (once for R, once for T), so we draw it
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_6_1_1" class="paragraph-anchor"></a><b>§1.2.1.6.1.1. </b>We don't want to draw this twice (once for R, once for T), so we draw it
|
||||
just for the earlier-defined room.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a two-ended arrow for a two-way horizontal connection</span><span class="named-paragraph-number">2.6.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a two-ended arrow for a two-way horizontal connection</span><span class="named-paragraph-number">1.2.1.6.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">R</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax"> <= </span><span class="identifier-syntax">T</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP10" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_Bezier_curve</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP9" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_Bezier_curve</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">R_stiffness</span><span class="plain-syntax">*</span><span class="identifier-syntax">mapunit</span><span class="plain-syntax">, </span><span class="identifier-syntax">T_stiffness</span><span class="plain-syntax">*</span><span class="identifier-syntax">mapunit</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">exit</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">T</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">eps_x</span><span class="plain-syntax">, </span><span class="identifier-syntax">T</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="identifier-syntax">eps_y</span><span class="plain-syntax">, </span><a href="4-sm.html#SP7_8" class="function-link"><span class="function-syntax">SpatialMap::opposite</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">exit</span><span class="plain-syntax">));</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_6_1">§2.6.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_6_1_2" class="paragraph-anchor"></a><b>§2.6.1.2. </b>A one-way arrow has the destination marked on it textually, since it doesn't
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_6_1_2" class="paragraph-anchor"></a><b>§1.2.1.6.1.2. </b>A one-way arrow has the destination marked on it textually, since it doesn't
|
||||
actually go there in any visual way.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a one-way arrow for a distant or off-level connection</span><span class="named-paragraph-number">2.6.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw a one-way arrow for a distant or off-level connection</span><span class="named-paragraph-number">1.2.1.6.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -408,16 +407,16 @@ actually go there in any visual way.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="constant-syntax">10</span><span class="plain-syntax">: </span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">IN_vector_EPS</span><span class="plain-syntax">; </span><span class="identifier-syntax">scaled</span><span class="plain-syntax"> = </span><span class="constant-syntax">2</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="constant-syntax">11</span><span class="plain-syntax">: </span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">OUT_vector_EPS</span><span class="plain-syntax">; </span><span class="identifier-syntax">scaled</span><span class="plain-syntax"> = </span><span class="constant-syntax">2</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><a href="4-rem.html#SP9" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_dashed_arrow</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">/</span><span class="identifier-syntax">scaled</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</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="identifier-syntax">T</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP8" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_dashed_arrow</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">/</span><span class="identifier-syntax">scaled</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP2" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</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="identifier-syntax">T</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"annotation-length"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"annotation-font"</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">bx</span><span class="plain-syntax">+</span><span class="identifier-syntax">E</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">*</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">*6/</span><span class="identifier-syntax">scaled</span><span class="plain-syntax">/5, </span><span class="identifier-syntax">by</span><span class="plain-syntax">+</span><span class="identifier-syntax">E</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">*</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">*6/</span><span class="identifier-syntax">scaled</span><span class="plain-syntax">/5,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"annotation-size"</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">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_6_1">§2.6.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7" class="paragraph-anchor"></a><b>§2.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the boxes for the rooms themselves</span><span class="named-paragraph-number">2.7</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_7" class="paragraph-anchor"></a><b>§1.2.1.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the boxes for the rooms themselves</span><span class="named-paragraph-number">1.2.1.7</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -425,45 +424,45 @@ actually go there in any visual way.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax"> = </span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">eps_x</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">by</span><span class="plain-syntax"> = </span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="identifier-syntax">eps_y</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">boxsize</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-size"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">)/2;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_7_1" class="named-paragraph-link"><span class="named-paragraph">Draw the filled box for the room</span><span class="named-paragraph-number">2.7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_7_2" class="named-paragraph-link"><span class="named-paragraph">Draw the outline of the box for the room</span><span class="named-paragraph-number">2.7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_7_3" class="named-paragraph-link"><span class="named-paragraph">Write in the name of the room</span><span class="named-paragraph-number">2.7.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_7_1" class="named-paragraph-link"><span class="named-paragraph">Draw the filled box for the room</span><span class="named-paragraph-number">1.2.1.7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_7_2" class="named-paragraph-link"><span class="named-paragraph">Draw the outline of the box for the room</span><span class="named-paragraph-number">1.2.1.7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP1_2_1_7_3" class="named-paragraph-link"><span class="named-paragraph">Write in the name of the room</span><span class="named-paragraph-number">1.2.1.7.3</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7_1" class="paragraph-anchor"></a><b>§2.7.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the filled box for the room</span><span class="named-paragraph-number">2.7.1</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_7_1" class="paragraph-anchor"></a><b>§1.2.1.7.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the filled box for the room</span><span class="named-paragraph-number">1.2.1.7.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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"newpath %% Room interior\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">75</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">75</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP7" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_room_boundary_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_room_boundary_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-shape"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</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">"fill\n\n"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_7">§2.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7_2" class="paragraph-anchor"></a><b>§2.7.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the outline of the box for the room</span><span class="named-paragraph-number">2.7.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_7">§1.2.1.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_7_2" class="paragraph-anchor"></a><b>§1.2.1.7.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Draw the outline of the box for the room</span><span class="named-paragraph-number">1.2.1.7.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><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-outline"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP11" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP10" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-outline-thickness"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</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">"newpath %% Room outline\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-outline-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP7" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_room_boundary_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_room_boundary_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-shape"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</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">"stroke\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP11" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_unsetting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP10" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_unsetting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_7">§2.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7_3" class="paragraph-anchor"></a><b>§2.7.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the name of the room</span><span class="named-paragraph-number">2.7.3</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_7">§1.2.1.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1_7_3" class="paragraph-anchor"></a><b>§1.2.1.7.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the name of the room</span><span class="named-paragraph-number">1.2.1.7.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -475,20 +474,20 @@ actually go there in any visual way.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">by</span><span class="plain-syntax"> += </span><span class="identifier-syntax">ypart</span><span class="plain-syntax">*</span><span class="identifier-syntax">mapunit</span><span class="plain-syntax">/100;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_scope</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-name-colour"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</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">legend</span><span class="plain-syntax"> = </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-name"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">room_to_name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</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">legend</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">room_to_name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">R</span><span class="plain-syntax">; </span><span class="identifier-syntax">legend</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">legend</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_to_name</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP2" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">legend</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_to_name</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-name-length"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="4-mc.html#SP7" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_text_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-name-font"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"room-name-size"</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_scope</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2_7">§2.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_8" class="paragraph-anchor"></a><b>§2.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Plot all of the rubrics onto the EPS map</span><span class="named-paragraph-number">2.8</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2_1_7">§1.2.1.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_2" class="paragraph-anchor"></a><b>§1.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Plot all of the rubrics onto the EPS map</span><span class="named-paragraph-number">1.2.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -500,20 +499,20 @@ actually go there in any visual way.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">xpart</span><span class="plain-syntax"> > </span><span class="constant-syntax">5000</span><span class="plain-syntax">) </span><span class="identifier-syntax">xpart</span><span class="plain-syntax">-=10000;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">xpart</span><span class="plain-syntax"> < -5000) </span><span class="identifier-syntax">xpart</span><span class="plain-syntax">+=10000;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-mc.html#SP8" class="function-link"><span class="function-syntax">ConfigureIndexMap::get_int_mp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"monochrome"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP14" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">colour</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></a><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="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">colour</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">O</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">offset_from</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">O</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax"> = </span><span class="identifier-syntax">O</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">eps_x</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">by</span><span class="plain-syntax"> = </span><span class="identifier-syntax">O</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="identifier-syntax">eps_y</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax"> += </span><span class="identifier-syntax">xpart</span><span class="plain-syntax">*</span><span class="identifier-syntax">mapunit</span><span class="plain-syntax">/100; </span><span class="identifier-syntax">by</span><span class="plain-syntax"> += </span><span class="identifier-syntax">ypart</span><span class="plain-syntax">*</span><span class="identifier-syntax">mapunit</span><span class="plain-syntax">/100;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">annotation</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">128</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP2" class="function-link"><span class="function-syntax">RenderEPSMap::plot_text_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">annotation</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">128</span><span class="plain-syntax">, </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rh</span><span class="plain-syntax">-></span><span class="element-syntax">point_size</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">); </span><span class="comment-syntax"> centred both horizontally and vertically</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Writing text in EPS. </b>All of words written on the map — titles, labels for arrows, rubrics, and so
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP1_2">§1.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Writing text in EPS. </b>All of words written on the map — titles, labels for arrows, rubrics, and so
|
||||
on — come from here.
|
||||
</p>
|
||||
|
||||
|
@ -521,21 +520,21 @@ on — come from here.
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">MAX_EPS_ABBREVIATED_LENGTH</span><span class="plain-syntax"> </span><span class="constant-syntax">MAX_EPS_TEXT_LENGTH</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">RenderEPSMap::plot_text_at</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">RenderEPSMap::plot_text_at</span></span>:<br/><a href="4-rem.html#SP2_6_1_2">§2.6.1.2</a>, <a href="4-rem.html#SP2_7_3">§2.7.3</a>, <a href="4-rem.html#SP2_8">§2.8</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">text_to_plot</span><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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::plot_text_at</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">RenderEPSMap::plot_text_at</span></span>:<br/><a href="4-rem.html#SP1_2_1_6_1_2">§1.2.1.6.1.2</a>, <a href="4-rem.html#SP1_2_1_7_3">§1.2.1.7.3</a>, <a href="4-rem.html#SP1_2_2">§1.2.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">text_to_plot</span><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">abbrev_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">centre_h</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">centre_v</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">txt</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">text_to_plot</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">txt</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_to_plot</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">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Try taking the name from the printed name property of the room</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="4-rem.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">If that fails, try taking the name from its source text name</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Try taking the name from the printed name property of the room</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">If that fails, try taking the name from its source text name</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP4" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">abbrev_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP3" class="function-link"><span class="function-syntax">RenderEPSMap::plot_stream_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">abbrev_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">centre_h</span><span class="plain-syntax">, </span><span class="identifier-syntax">centre_v</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">txt</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">Try taking the name from the printed name property of the room</span><span class="named-paragraph-number">3.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">Try taking the name from the printed name property of the room</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">
|
||||
|
@ -543,8 +542,8 @@ on — come from here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">printed_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.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">If that fails, try taking the name from its source text name</span><span class="named-paragraph-number">3.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</a>.</li></ul>
|
||||
<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">If that fails, try taking the name from its source text name</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -554,28 +553,28 @@ on — come from here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP3">§3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b></p>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP2">§2</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::plot_stream_at</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">RenderEPSMap::plot_stream_at</span></span>:<br/><a href="4-rem.html#SP2_4">§2.4</a>, <a href="4-rem.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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_to_plot</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::plot_stream_at</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">RenderEPSMap::plot_stream_at</span></span>:<br/><a href="4-rem.html#SP1_2_1_4">§1.2.1.4</a>, <a href="4-rem.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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_to_plot</span><span class="plain-syntax">,</span>
|
||||
<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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">abbrev_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pointsize</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">centre_h</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">centre_v</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">txt</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_to_plot</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Abbreviate the text to be printed by stripping dispensable letters</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">centre_h</span><span class="plain-syntax">, </span><span class="identifier-syntax">centre_v</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rem.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Abbreviate the text to be printed by stripping dispensable letters</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP11" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">centre_h</span><span class="plain-syntax">, </span><span class="identifier-syntax">centre_v</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">txt</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4_1" class="paragraph-anchor"></a><b>§4.1. </b>The following cuts the text down to the abbreviation length by knocking out,
|
||||
<p class="commentary firstcommentary"><a id="SP3_1" class="paragraph-anchor"></a><b>§3.1. </b>The following cuts the text down to the abbreviation length by knocking out,
|
||||
in sequence: (a) lower-case vowels; (b) spaces; (c) lower-case consonants; (d)
|
||||
punctuation marks. If that doesn't do it, the text is simply truncated. For
|
||||
example, "Peisey-Nancroix" abbreviated to 10 is "Pesy-Nncrx" and to 5
|
||||
is "PsyNn".
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Abbreviate the text to be printed by stripping dispensable letters</span><span class="named-paragraph-number">4.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Abbreviate the text to be printed by stripping dispensable letters</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">
|
||||
|
@ -595,12 +594,12 @@ is "PsyNn".
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">RemoveOne:</span><span class="plain-syntax"> </span><span class="identifier-syntax">Str::delete_nth_character</span><span class="plain-syntax">(</span><span class="identifier-syntax">txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP4">§4</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. EPS header. </b>EPS files are identified and version-numbered by a header, as follows.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rem.html#SP3">§3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. EPS header. </b>EPS files are identified and version-numbered by a header, as follows.
|
||||
</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">RenderEPSMap::EPS_compile_header</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">RenderEPSMap::EPS_compile_header</span></span>:<br/><a href="4-rem.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bounding_box_width</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_header</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">RenderEPSMap::EPS_compile_header</span></span>:<br/><a href="4-rem.html#SP1_2_1">§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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bounding_box_width</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">bounding_box_height</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">default_font</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">default_point_size</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">"%%!PS-Adobe EPSF-3.0\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">"%%%%BoundingBox: 0 0 %d %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_width</span><span class="plain-syntax">, </span><span class="identifier-syntax">bounding_box_height</span><span class="plain-syntax">);</span>
|
||||
|
@ -608,20 +607,20 @@ is "PsyNn".
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"/%S findfont %d scalefont setfont\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">default_font</span><span class="plain-syntax">, </span><span class="identifier-syntax">default_point_size</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Circles and rectangles. </b>In EPS files, there's an imaginary pen which traces out "paths". These begin
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Circles and rectangles. </b>In EPS files, there's an imaginary pen which traces out "paths". These begin
|
||||
whenever the pen moves to a new location, and then continue until they are
|
||||
closed (joined up back to the start position) with a <span class="extract"><span class="extract-syntax">closepath</span></span> command.
|
||||
</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">RenderEPSMap::EPS_compile_circular_path</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">RenderEPSMap::EPS_compile_circular_path</span></span>:<br/><a href="4-rem.html#SP7">§7</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">radius</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_circular_path</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">RenderEPSMap::EPS_compile_circular_path</span></span>:<br/><a href="4-rem.html#SP6">§6</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">radius</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 %d moveto %% rightmost point\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x0</span><span class="plain-syntax">+</span><span class="identifier-syntax">radius</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</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 %d %d %d %d arc %% full circle traced anticlockwise\n"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="identifier-syntax">radius</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">360</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">"closepath\n"</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">RenderEPSMap::EPS_compile_rectangular_path</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">RenderEPSMap::EPS_compile_rectangular_path</span></span>:<br/><a href="4-rem.html#SP2_2">§2.2</a>, <a href="4-rem.html#SP7">§7</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</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">RenderEPSMap::EPS_compile_rectangular_path</span></span>:<br/><a href="4-rem.html#SP1_2_1_2">§1.2.1.2</a>, <a href="4-rem.html#SP6">§6</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</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">x1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y1</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 %d moveto %% bottom left corner\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</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 %d lineto %% bottom side\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</span><span class="plain-syntax">);</span>
|
||||
|
@ -630,38 +629,38 @@ closed (joined up back to the start position) with a <span class="extract"><span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"closepath\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b>The boundary of a room is always one of these:
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>The boundary of a room is always one of these:
|
||||
</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">RenderEPSMap::EPS_compile_room_boundary_path</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">RenderEPSMap::EPS_compile_room_boundary_path</span></span>:<br/><a href="4-rem.html#SP2_7_1">§2.7.1</a>, <a href="4-rem.html#SP2_7_2">§2.7.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">by</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_room_boundary_path</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">RenderEPSMap::EPS_compile_room_boundary_path</span></span>:<br/><a href="4-rem.html#SP1_2_1_7_1">§1.2.1.7.1</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">by</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">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">shape</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::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">shape</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"square"</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</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">bx</span><span class="plain-syntax">-</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">-</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">+</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">+</span><span class="identifier-syntax">boxsize</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">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">shape</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rectangle"</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</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">bx</span><span class="plain-syntax">-2*</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">-</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">+2*</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">+</span><span class="identifier-syntax">boxsize</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">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">shape</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"circle"</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_circular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_circular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">, </span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP6" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP5" class="function-link"><span class="function-syntax">RenderEPSMap::EPS_compile_rectangular_path</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">bx</span><span class="plain-syntax">-</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">-</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">bx</span><span class="plain-syntax">+</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">, </span><span class="identifier-syntax">by</span><span class="plain-syntax">+</span><span class="identifier-syntax">boxsize</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Straight lines. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Straight lines. </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">RenderEPSMap::EPS_compile_horizontal_line_path</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">RenderEPSMap::EPS_compile_horizontal_line_path</span></span>:<br/><a href="4-rem.html#SP2_3">§2.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_horizontal_line_path</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">RenderEPSMap::EPS_compile_horizontal_line_path</span></span>:<br/><a href="4-rem.html#SP1_2_1_3">§1.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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</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 %d moveto %% LHS\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</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 %d lineto %% RHS\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="identifier-syntax">y</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">"closepath\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Dashed arrows. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Dashed arrows. </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">RenderEPSMap::EPS_compile_dashed_arrow</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">RenderEPSMap::EPS_compile_dashed_arrow</span></span>:<br/><a href="4-rem.html#SP2_6_1_2">§2.6.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">length</span><span class="plain-syntax">, </span><span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">Dir</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_dashed_arrow</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">RenderEPSMap::EPS_compile_dashed_arrow</span></span>:<br/><a href="4-rem.html#SP1_2_1_6_1_2">§1.2.1.6.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">length</span><span class="plain-syntax">, </span><span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">Dir</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</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">"[2 1] 0 setdash %% dashed line for arrow\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">"%d %d moveto %% room centre\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</span><span class="plain-syntax">);</span>
|
||||
|
@ -670,13 +669,13 @@ closed (joined up back to the start position) with a <span class="extract"><span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"[] 0 setdash %% back to normal solid lines\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Bezier curves. </b>The other sort of path we'll need is a Bézier curve, a quadratic curve which
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Bezier curves. </b>The other sort of path we'll need is a Bézier curve, a quadratic curve which
|
||||
interpolates between vectors. EPS has support for these built-in; see any
|
||||
reference book on PostScript.
|
||||
</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">RenderEPSMap::EPS_compile_Bezier_curve</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">RenderEPSMap::EPS_compile_Bezier_curve</span></span>:<br/><a href="4-rem.html#SP2_6_1_1">§2.6.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stiffness0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stiffness1</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_Bezier_curve</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">RenderEPSMap::EPS_compile_Bezier_curve</span></span>:<br/><a href="4-rem.html#SP1_2_1_6_1_1">§1.2.1.6.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stiffness0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stiffness1</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">exit0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">exit1</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">cx1</span><span class="plain-syntax">, </span><span class="identifier-syntax">cy1</span><span class="plain-syntax">, </span><span class="identifier-syntax">cx2</span><span class="plain-syntax">, </span><span class="identifier-syntax">cy2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP7_7" class="function-link"><span class="function-syntax">SpatialMap::direction_as_vector</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">exit0</span><span class="plain-syntax">);</span>
|
||||
|
@ -689,25 +688,25 @@ reference book on PostScript.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"stroke\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Line thickness. </b>The following routines should be used in nested pairs, so that the PostScript
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Line thickness. </b>The following routines should be used in nested pairs, so that the PostScript
|
||||
stack is kept in 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">RenderEPSMap::EPS_compile_line_width_setting</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">RenderEPSMap::EPS_compile_line_width_setting</span></span>:<br/><a href="4-rem.html#SP2_6">§2.6</a>, <a href="4-rem.html#SP2_7_2">§2.7.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">new</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_setting</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">RenderEPSMap::EPS_compile_line_width_setting</span></span>:<br/><a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">new</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">"currentlinewidth %% Push old line width onto stack\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">"%d setlinewidth\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">new</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">RenderEPSMap::EPS_compile_line_width_unsetting</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">RenderEPSMap::EPS_compile_line_width_unsetting</span></span>:<br/><a href="4-rem.html#SP2_6">§2.6</a>, <a href="4-rem.html#SP2_7_2">§2.7.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">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_line_width_unsetting</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">RenderEPSMap::EPS_compile_line_width_unsetting</span></span>:<br/><a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</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">"setlinewidth %% Pull old line width from stack\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. Text. </b>In EPS world, text is just another sort of path.
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Text. </b>In EPS world, text is just another sort of path.
|
||||
</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">RenderEPSMap::EPS_compile_text</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">RenderEPSMap::EPS_compile_text</span></span>:<br/><a href="4-rem.html#SP4">§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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_text</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">RenderEPSMap::EPS_compile_text</span></span>:<br/><a href="4-rem.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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</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">font</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pointsize</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">centre_h</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">centre_v</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 findfont %d scalefont setfont\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">font</span><span class="plain-syntax">, </span><span class="identifier-syntax">pointsize</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">"newpath (%S)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||
|
@ -718,7 +717,7 @@ stack is kept in order.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"moveto show\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. RGB colours. </b>Inform internally stores colours as six hexadecimal digits, in traditional
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. RGB colours. </b>Inform internally stores colours as six hexadecimal digits, in traditional
|
||||
HTML way: <span class="extract"><span class="extract-syntax">RRGGBB</span></span>, with each colour from 0 to 255. In EPS files, colours
|
||||
are written as triples of floating point numbers \(0 \leq b \leq 1\).
|
||||
</p>
|
||||
|
@ -727,16 +726,16 @@ are written as triples of floating point numbers \(0 \leq b \leq 1\).
|
|||
</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">RenderEPSMap::EPS_compile_set_colour</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">RenderEPSMap::EPS_compile_set_colour</span></span>:<br/><a href="4-rem.html#SP2_4">§2.4</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_7_1">§2.7.1</a>, <a href="4-rem.html#SP2_7_2">§2.7.2</a>, <a href="4-rem.html#SP2_7_3">§2.7.3</a>, <a href="4-rem.html#SP2_8">§2.8</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">htmlcolour</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_set_colour</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">RenderEPSMap::EPS_compile_set_colour</span></span>:<br/><a href="4-rem.html#SP1_2_1_4">§1.2.1.4</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_7_1">§1.2.1.7.1</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.2</a>, <a href="4-rem.html#SP1_2_1_7_3">§1.2.1.7.3</a>, <a href="4-rem.html#SP1_2_2">§1.2.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">htmlcolour</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">htmlcolour</span><span class="plain-syntax">) != </span><span class="constant-syntax">6</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"Improper HTML colour"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">5</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::choose_colour_beam</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">), </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">htmlcolour</span><span class="plain-syntax">, </span><span class="constant-syntax">5</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">"setrgbcolor %% From HTML colour %S\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">htmlcolour</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">RenderEPSMap::choose_colour_beam</span><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">hex1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">hex2</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">k</span><span class="plain-syntax"> = </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::hex_to_int</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hex1</span><span class="plain-syntax">)*16 + </span><a href="4-rem.html#SP13" class="function-link"><span class="function-syntax">RenderEPSMap::hex_to_int</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hex2</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">k</span><span class="plain-syntax"> = </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::hex_to_int</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hex1</span><span class="plain-syntax">)*16 + </span><a href="4-rem.html#SP12" class="function-link"><span class="function-syntax">RenderEPSMap::hex_to_int</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hex2</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">"%.6g "</span><span class="plain-syntax">, (</span><span class="reserved-syntax">double</span><span class="plain-syntax">) (((</span><span class="reserved-syntax">float</span><span class="plain-syntax">) </span><span class="identifier-syntax">k</span><span class="plain-syntax">)/255.0));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -763,11 +762,11 @@ are written as triples of floating point numbers \(0 \leq b \leq 1\).
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>EPS also supports greyscale, where there's only one beam:
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b>EPS also supports greyscale, where there's only one beam:
|
||||
</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">RenderEPSMap::EPS_compile_set_greyscale</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></span>:<br/><a href="4-rem.html#SP2_4">§2.4</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_7_1">§2.7.1</a>, <a href="4-rem.html#SP2_7_2">§2.7.2</a>, <a href="4-rem.html#SP2_7_3">§2.7.3</a>, <a href="4-rem.html#SP2_8">§2.8</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">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">RenderEPSMap::EPS_compile_set_greyscale</span></span>:<br/><a href="4-rem.html#SP1_2_1_4">§1.2.1.4</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_7_1">§1.2.1.7.1</a>, <a href="4-rem.html#SP1_2_1_7_2">§1.2.1.7.2</a>, <a href="4-rem.html#SP1_2_1_7_3">§1.2.1.7.3</a>, <a href="4-rem.html#SP1_2_2">§1.2.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%0.02f setgray %% greyscale %d/100ths of white\n"</span><span class="plain-syntax">, (</span><span class="reserved-syntax">float</span><span class="plain-syntax">) </span><span class="identifier-syntax">N</span><span class="plain-syntax">/100, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -115,8 +115,8 @@ this icon position, and has the same indexing as the icon grid.
|
|||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> **</span><span class="identifier-syntax">room_grid</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">icon_grid</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">exit_grid</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::calculate_map_grid</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">HTMLMap::calculate_map_grid</span></span>:<br/><a href="4-rhm.html#SP6">§6</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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::calculate_map_grid</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">HTMLMap::calculate_map_grid</span></span>:<br/><a href="4-rhm.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rhm.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Allocate the three mapping grids</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="4-rhm.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Populate the room grid</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="4-rhm.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Populate the icon and exit grids</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -551,14 +551,15 @@ the details part of the World Index page) will be all right.
|
|||
</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">HTMLMap::render_map_as_HTML</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">HTMLMap::render_map_as_HTML</span></span>:<br/>Map Element - <a href="3-me.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">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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP1" class="function-link"><span class="function-syntax">HTMLMap::calculate_map_grid</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::render_map_as_HTML</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">HTMLMap::render_map_as_HTML</span></span>:<br/>Map Element - <a href="3-me.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_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP1" class="function-link"><span class="function-syntax">HTMLMap::calculate_map_grid</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rhm.html#SP6_1" class="named-paragraph-link"><span class="named-paragraph">Choose a map colour for each region</span><span class="named-paragraph-number">6.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-rhm.html#SP6_2" class="named-paragraph-link"><span class="named-paragraph">Choose a map colour for each room, based on its region membership</span><span class="named-paragraph-number">6.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><a href="2-fi.html#SP12" class="function-link"><span class="function-syntax">FauxInstances::no_rooms</span></a><span class="plain-syntax">() >= </span><span class="constant-syntax">2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP12" class="function-link"><span class="function-syntax">FauxInstances::no_rooms</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">"\n\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::comment</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">"WORLD WRITE MAP BEGINS"</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>
|
||||
|
@ -639,7 +640,7 @@ from each other.)
|
|||
|
||||
<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">level_rubric</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP7" class="function-link"><span class="function-syntax">HTMLMap::devise_level_rubric</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_rubric</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP7" class="function-link"><span class="function-syntax">HTMLMap::devise_level_rubric</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">level_rubric</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</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">rounding</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">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">) </span><span class="identifier-syntax">rounding</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ROUND_BOX_TOP</span><span class="plain-syntax">;</span>
|
||||
|
@ -666,7 +667,7 @@ from each other.)
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">SPATIAL_MAP</span><span class="plain-syntax">, </span><span class="string-syntax">"Level %d has rooms with %d <= y <= %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_min</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_max</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><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP9" class="function-link"><span class="function-syntax">HTMLMap::plot_map_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_min</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_max</span><span class="plain-syntax">, </span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP9" class="function-link"><span class="function-syntax">HTMLMap::plot_map_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_min</span><span class="plain-syntax">, </span><span class="identifier-syntax">y_max</span><span class="plain-syntax">, </span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">"td"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"tr"</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rhm.html#SP6_3">§6.3</a>.</li></ul>
|
||||
|
@ -686,7 +687,7 @@ from each other.)
|
|||
<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">D</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">k</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">LOOP_OVER_FAUX_DIRECTIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP7_5" class="function-link"><span class="function-syntax">SpatialMap::mapped_as_if</span></a><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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP7_5" class="function-link"><span class="function-syntax">SpatialMap::mapped_as_if</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">A</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">k</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">k</span><span class="plain-syntax"> == </span><span class="constant-syntax">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="reserved-syntax">else</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>
|
||||
|
@ -701,7 +702,8 @@ from each other.)
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::devise_level_rubric</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">HTMLMap::devise_level_rubric</span></span>:<br/><a href="4-rhm.html#SP6_3_1">§6.3.1</a><br/>Render EPS Map - <a href="4-rem.html#SP1_1_2">§1.1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">level_rubric</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">I</span><span class="string-syntax">"Index.Elements.Mp.DefaultLevel"</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">par</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">switch</span><span class="plain-syntax">(</span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax"> - </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">) {</span>
|
||||
|
@ -711,7 +713,7 @@ from each other.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">z</span><span class="plain-syntax"> == </span><span class="identifier-syntax">Universe</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">) </span><span class="identifier-syntax">key</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Mp.UpperLevel"</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="identifier-syntax">default:</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">z_offset</span><span class="plain-syntax"> = </span><span class="identifier-syntax">z</span><span class="plain-syntax"> - </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><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">z_offset</span><span class="plain-syntax"> = </span><span class="identifier-syntax">z</span><span class="plain-syntax"> - </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">z_offset</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">: </span><span class="identifier-syntax">key</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Mp.StartingLevel"</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="constant-syntax">1</span><span class="plain-syntax">: </span><span class="identifier-syntax">key</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Mp.FirstLevelUp"</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -746,7 +748,7 @@ that the grids are calculated, the region colours decided, and so on.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::render_single_room_as_HTML</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">HTMLMap::render_single_room_as_HTML</span></span>:<br/>Map Element - <a href="3-me.html#SP1_2">§1.2</a>, <a href="3-me.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="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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\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-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">R</span><span class="plain-syntax">-></span><span class="element-syntax">anchor_text</span><span class="plain-syntax">);</span>
|
||||
|
@ -754,11 +756,11 @@ that the grids are calculated, the region colours decided, and so on.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_plain_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::first_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="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP9" class="function-link"><span class="function-syntax">HTMLMap::plot_map_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP9" class="function-link"><span class="function-syntax">HTMLMap::plot_map_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">"&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><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><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>
|
||||
<span class="plain-syntax"> </span><a href="3-me.html#SP2" class="function-link"><span class="function-syntax">MapElement::index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">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_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
|
@ -772,7 +774,7 @@ index page.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::plot_map_level</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">HTMLMap::plot_map_level</span></span>:<br/><a href="4-rhm.html#SP6_3_2">§6.3.2</a>, <a href="4-rhm.html#SP8">§8</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">x0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">y1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">z</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">pass</span><span class="plain-syntax">, </span><span class="identifier-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">pass</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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">1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">SPATIAL_MAP</span><span class="plain-syntax">, </span><span class="string-syntax">"Plot: [%d, %d] x [%d, %d] x {%d}\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">x0</span><span class="plain-syntax">, </span><span class="identifier-syntax">x1</span><span class="plain-syntax">, </span><span class="identifier-syntax">y0</span><span class="plain-syntax">, </span><span class="identifier-syntax">y1</span><span class="plain-syntax">, </span><span class="identifier-syntax">z</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
@ -918,15 +920,15 @@ height, and they're drawn with a single stripe.
|
|||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP4" class="function-link"><span class="function-syntax">HTMLMap::begin_map_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">MAP_CELL_SIZE</span><span class="plain-syntax">, </span><span class="constant-syntax">MAP_CELL_OUTER_SIZE</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>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</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">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</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">2</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</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">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"s_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ns_spacer"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">8</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">8</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"s_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ns_spacer"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">"td"</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">"tr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP4_1" class="function-link"><span class="function-syntax">HTMLMap::end_map_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
|
@ -948,11 +950,11 @@ height, and they're drawn with a single stripe.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</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">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"e_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ew_spacer"</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">11</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">11</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">7</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">7</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"e_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ew_spacer"</span><span class="plain-syntax">);</span>
|
||||
|
@ -970,11 +972,11 @@ height, and they're drawn with a single stripe.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"w_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ew_spacer"</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">session</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">6</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">6</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">10</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">10</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"w_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ew_spacer"</span><span class="plain-syntax">);</span>
|
||||
|
@ -999,7 +1001,7 @@ There are 15 possibilities, and their icons are named as the following shows:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</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">bits</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">)]) & </span><span class="constant-syntax">LONGS_BITMAP</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">bits</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP11" class="function-link"><span class="function-syntax">HTMLMap::index_room_square</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ROOM_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">)], </span><span class="identifier-syntax">pass</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP11" class="function-link"><span class="function-syntax">HTMLMap::index_room_square</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">room_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ROOM_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">)], </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">icon_name</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">icon_name</span><span class="plain-syntax">, </span><span class="string-syntax">"long"</span><span class="plain-syntax">);</span>
|
||||
|
@ -1022,15 +1024,15 @@ There are 15 possibilities, and their icons are named as the following shows:
|
|||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP4" class="function-link"><span class="function-syntax">HTMLMap::begin_map_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">MAP_CELL_SIZE</span><span class="plain-syntax">, </span><span class="constant-syntax">MAP_CELL_OUTER_SIZE</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>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">5</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">5</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"n_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ns_spacer"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">9</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">9</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">)] & </span><span class="constant-syntax">CONNECTIVE_BITMAP</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"n_dot"</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="4-rhm.html#SP5" class="function-link"><span class="function-syntax">HTMLMap::plot_map_icon</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">"ns_spacer"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP10" class="function-link"><span class="function-syntax">HTMLMap::plot_map_cell</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">"td"</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">"tr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP4_1" class="function-link"><span class="function-syntax">HTMLMap::end_map_table</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
|
@ -1095,8 +1097,9 @@ of the cell. First, the eight cells around the outside:
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::plot_map_cell</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">HTMLMap::plot_map_cell</span></span>:<br/><a href="4-rhm.html#SP9_3_1_1">§9.3.1.1</a>, <a href="4-rhm.html#SP9_3_2_1">§9.3.2.1</a>, <a href="4-rhm.html#SP9_3_3_1">§9.3.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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i2</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">faux_exit</span><span class="plain-syntax">, </span><span class="identifier-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">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><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">faux_exit</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP4" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">bitmap</span><span class="plain-syntax"> = </span><span class="identifier-syntax">icon_grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">ICON_GRID_POS</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">i1</span><span class="plain-syntax">, </span><span class="identifier-syntax">i2</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">bitmap</span><span class="plain-syntax"> &= </span><span class="constant-syntax">CONNECTIVE_BITMAP</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">bitmap</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="4-rhm.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">This map cell is empty</span><span class="named-paragraph-number">10.1</span></a></span>
|
||||
|
@ -1200,10 +1203,10 @@ which are bordered and coloured single-cell tables.
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">ROOM_TEXT_COLOUR</span><span class="plain-syntax"> </span><span class="string-syntax">"000000"</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">HTMLMap::index_room_square</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">HTMLMap::index_room_square</span></span>:<br/><a href="4-rhm.html#SP9_3_2_1_1">§9.3.2.1.1</a>, <a href="4-rhm.html#SP13_1">§13.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">faux_instance</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="identifier-syntax">pass</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::index_room_square</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">HTMLMap::index_room_square</span></span>:<br/><a href="4-rhm.html#SP9_3_2_1_1">§9.3.2.1.1</a>, <a href="4-rhm.html#SP13_1">§13.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">faux_instance</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="identifier-syntax">pass</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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">I</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">b</span><span class="plain-syntax"> = </span><span class="constant-syntax">ROOM_BORDER_SIZE</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">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">()) && (</span><span class="identifier-syntax">pass</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)) </span><span class="identifier-syntax">b</span><span class="plain-syntax"> = </span><span class="constant-syntax">B_ROOM_BORDER_SIZE</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">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">pass</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)) </span><span class="identifier-syntax">b</span><span class="plain-syntax"> = </span><span class="constant-syntax">B_ROOM_BORDER_SIZE</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="plain-syntax"> </span><span class="string-syntax">"border=\"%d\" cellpadding=\"0\" cellspacing=\"0\" "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"bordercolor=\"#%s\" width=\"%d\" height=\"%d\" title=\"%S\""</span><span class="plain-syntax">,</span>
|
||||
|
@ -1237,7 +1240,7 @@ which are bordered and coloured single-cell tables.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</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">col</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">pass</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="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">())) </span><span class="identifier-syntax">HTML_OPEN</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">1</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">))) </span><span class="identifier-syntax">HTML_OPEN</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">abbrev</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">abbrev</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">abbrev</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">HTML_MAP_FONT_SIZE</span>
|
||||
|
@ -1248,7 +1251,7 @@ which are bordered and coloured single-cell tables.
|
|||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">HTML_MAP_FONT_SIZE</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">endif</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">1</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">())) </span><span class="identifier-syntax">HTML_CLOSE</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">1</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">))) </span><span class="identifier-syntax">HTML_CLOSE</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">1</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="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"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">abbrev</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
|
@ -1281,17 +1284,17 @@ that nothing is shown if all of the rooms are outside of regions.
|
|||
</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">HTMLMap::add_region_key</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">HTMLMap::add_region_key</span></span>:<br/>Map Element - <a href="3-me.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="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::add_region_key</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">HTMLMap::add_region_key</span></span>:<br/>Map Element - <a href="3-me.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_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">reg</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">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">LOOP_OVER_FAUX_REGIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">reg</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">count</span><span class="plain-syntax"> += </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_key_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">reg</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</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">count</span><span class="plain-syntax"> += </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_key_for</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="plain-syntax"> </span><span class="identifier-syntax">count</span><span class="plain-syntax"> += </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_key_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">reg</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">count</span><span class="plain-syntax"> += </span><a href="4-rhm.html#SP13" class="function-link"><span class="function-syntax">HTMLMap::add_key_for</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="identifier-syntax">session</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</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::add_key_for</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">reg</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLMap::add_key_for</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">reg</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">) {</span>
|
||||
|
@ -1316,7 +1319,7 @@ that nothing is shown if all of the rooms are outside of regions.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_plain_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">"tr"</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_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"width=\"40\" valign=\"middle\" align=\"left\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP11" class="function-link"><span class="function-syntax">HTMLMap::index_room_square</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-rhm.html#SP11" class="function-link"><span class="function-syntax">HTMLMap::index_room_square</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</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">"td"</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_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"valign=\"middle\" align=\"left\""</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>
|
||||
|
|
|
@ -165,6 +165,7 @@ as the "heat", a term to be explained later.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">incidence_cache_size</span><span class="plain-syntax">; </span><span class="comment-syntax"> how large that cache is</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">cuboid</span><span class="plain-syntax"> </span><span class="identifier-syntax">incidence_cache_bounds</span><span class="plain-syntax">; </span><span class="comment-syntax"> bounds of the incidence cache array</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">superpositions</span><span class="plain-syntax">; </span><span class="comment-syntax"> number of pairs of rooms which share the same grid location</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_session</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -180,9 +181,9 @@ This is usually the room in which the player begins.
|
|||
</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">SpatialMap::benchmark_level</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">SpatialMap::benchmark_level</span></span>:<br/><a href="4-sm.html#SP7_31_1_1">§7.31.1.1</a>, <a href="4-sm.html#SP7_31_1_2">§7.31.1.2</a>, <a href="4-sm.html#SP7_31_1_3">§7.31.1.3</a><br/>Faux Instances - <a href="2-fi.html#SP10_4">§10.4</a><br/>Render HTML Map - <a href="4-rhm.html#SP7">§7</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><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><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><span class="constant-syntax">0</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">Room_position</span><span class="plain-syntax">(</span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">()).</span><span class="identifier-syntax">z</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::benchmark_level</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">SpatialMap::benchmark_level</span></span>:<br/><a href="4-sm.html#SP7_31_1_1">§7.31.1.1</a>, <a href="4-sm.html#SP7_31_1_2">§7.31.1.2</a>, <a href="4-sm.html#SP7_31_1_3">§7.31.1.3</a><br/>Faux Instances - <a href="2-fi.html#SP10_4">§10.4</a><br/>Render HTML Map - <a href="4-rhm.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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><span class="constant-syntax">0</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">Room_position</span><span class="plain-syntax">(</span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">)).</span><span class="identifier-syntax">z</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>We are going to be iterating through the set of rooms often. Looping over
|
||||
|
@ -231,9 +232,9 @@ to get the results in time to write them in the story file.
|
|||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">spatial_coordinates_established</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">partitioned_into_components</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::establish_spatial_coordinates</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">SpatialMap::establish_spatial_coordinates</span></span>:<br/>Map Element - <a href="3-me.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::establish_spatial_coordinates</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">SpatialMap::establish_spatial_coordinates</span></span>:<br/>Map Element - <a href="3-me.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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">spatial_coordinates_established</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Universe</span><span class="plain-syntax"> = </span><a href="4-sg.html#SP10" class="function-link"><span class="function-syntax">Geometry::empty_cuboid</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sm.html#SP7_16" class="named-paragraph-link"><span class="named-paragraph">(1) Create the spatial relationship arrays</span><span class="named-paragraph-number">7.16</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sm.html#SP7_23" class="named-paragraph-link"><span class="named-paragraph">(2) Partition the set of rooms into component submaps</span><span class="named-paragraph-number">7.23</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -318,8 +319,8 @@ direction) with page direction 6:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::mapped_as_if</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">SpatialMap::mapped_as_if</span></span>:<br/>Render HTML Map - <a href="4-rhm.html#SP6_3_4">§6.3.4</a></span></button><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="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::mapped_as_if</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">SpatialMap::mapped_as_if</span></span>:<br/>Render HTML Map - <a href="4-rhm.html#SP6_3_4">§6.3.4</a></span></button><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="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">direction_index</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">story_dir_to_page_dir</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="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax">;</span>
|
||||
|
@ -348,7 +349,7 @@ unchanged.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::direction_as_vector</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">SpatialMap::direction_as_vector</span></span>:<br/><a href="4-sm.html#SP7_10">§7.10</a>, <a href="4-sm.html#SP7_11">§7.11</a>, <a href="4-sm.html#SP7_26">§7.26</a>, <a href="4-sm.html#SP20">§20</a>, <a href="4-sm.html#SP21">§21</a>, <a href="4-sm.html#SP22_1_4">§22.1.4</a>, <a href="4-sm.html#SP32">§32</a>, <a href="4-sm.html#SP36_1">§36.1</a><br/>Render HTML Map - <a href="4-rhm.html#SP1_3_4">§1.3.4</a><br/>Render EPS Map - <a href="4-rem.html#SP2_6_1_2">§2.6.1.2</a>, <a href="4-rem.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">story_direction</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::direction_as_vector</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">SpatialMap::direction_as_vector</span></span>:<br/><a href="4-sm.html#SP7_10">§7.10</a>, <a href="4-sm.html#SP7_11">§7.11</a>, <a href="4-sm.html#SP7_26">§7.26</a>, <a href="4-sm.html#SP20">§20</a>, <a href="4-sm.html#SP21">§21</a>, <a href="4-sm.html#SP22_1_4">§22.1.4</a>, <a href="4-sm.html#SP32">§32</a>, <a href="4-sm.html#SP36_1">§36.1</a><br/>Render HTML Map - <a href="4-rhm.html#SP1_3_4">§1.3.4</a><br/>Render EPS Map - <a href="4-rem.html#SP1_2_1_6_1_2">§1.2.1.6.1.2</a>, <a href="4-rem.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">story_direction</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">story_direction</span><span class="plain-syntax"> < </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">story_direction</span><span class="plain-syntax"> >= </span><span class="constant-syntax">MAX_DIRECTIONS</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">Zero_vector</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">page_direction</span><span class="plain-syntax"> = </span><span class="identifier-syntax">story_dir_to_page_dir</span><span class="plain-syntax">[</span><span class="identifier-syntax">story_direction</span><span class="plain-syntax">];</span>
|
||||
|
@ -371,7 +372,7 @@ unchanged.
|
|||
</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">SpatialMap::opposite</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">SpatialMap::opposite</span></span>:<br/><a href="4-sm.html#SP7_2">§7.2</a>, <a href="4-sm.html#SP7_16_1">§7.16.1</a>, <a href="4-sm.html#SP7_16_1_1">§7.16.1.1</a>, <a href="4-sm.html#SP7_16_1_3">§7.16.1.3</a>, <a href="4-sm.html#SP7_16_1_4">§7.16.1.4</a>, <a href="4-sm.html#SP8">§8</a>, <a href="4-sm.html#SP24_2_3_2">§24.2.3.2</a>, <a href="4-sm.html#SP7_29">§7.29</a><br/>Render EPS Map - <a href="4-rem.html#SP2_6_1">§2.6.1</a>, <a href="4-rem.html#SP2_6_1_1">§2.6.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">story_direction</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::opposite</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">SpatialMap::opposite</span></span>:<br/><a href="4-sm.html#SP7_2">§7.2</a>, <a href="4-sm.html#SP7_16_1">§7.16.1</a>, <a href="4-sm.html#SP7_16_1_1">§7.16.1.1</a>, <a href="4-sm.html#SP7_16_1_3">§7.16.1.3</a>, <a href="4-sm.html#SP7_16_1_4">§7.16.1.4</a>, <a href="4-sm.html#SP8">§8</a>, <a href="4-sm.html#SP24_2_3_2">§24.2.3.2</a>, <a href="4-sm.html#SP7_29">§7.29</a><br/>Render EPS Map - <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a>, <a href="4-rem.html#SP1_2_1_6_1_1">§1.2.1.6.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">story_direction</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">story_direction</span><span class="plain-syntax"> < </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">story_direction</span><span class="plain-syntax"> >= </span><span class="constant-syntax">MAX_DIRECTIONS</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">page_direction</span><span class="plain-syntax"> = </span><span class="identifier-syntax">story_dir_to_page_dir</span><span class="plain-syntax">[</span><span class="identifier-syntax">story_direction</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">page_direction</span><span class="plain-syntax">) {</span>
|
||||
|
@ -445,7 +446,7 @@ we use these hard-wired macros instead.
|
|||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="identifier-syntax">LOOP_OVER_DIRECTION_NUMBERS</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">for</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"><12; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
||||
<span class="definition-keyword">define</span> <span class="identifier-syntax">LOOP_OVER_STORY_DIRECTIONS</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">for</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"><</span><a href="2-fi.html#SP12" class="function-link"><span class="function-syntax">FauxInstances::no_directions</span></a><span class="plain-syntax">()) && (</span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="constant-syntax">MAX_DIRECTIONS</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">for</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"><</span><a href="2-fi.html#SP12" class="function-link"><span class="function-syntax">FauxInstances::no_directions</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="constant-syntax">MAX_DIRECTIONS</span><span class="plain-syntax">)); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
||||
<span class="definition-keyword">define</span> <span class="identifier-syntax">LOOP_OVER_LATTICE_DIRECTIONS</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">for</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="definition-keyword">define</span> <span class="identifier-syntax">LOOP_OVER_NONLATTICE_DIRECTIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">i</span><span class="plain-syntax">)</span>
|
||||
|
@ -529,7 +530,7 @@ door, which we take a note of if asked to do so.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::room_exit</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::room_exit</span></span>:<br/><a href="4-sm.html#SP9">§9</a>, <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP1_3">§1.3</a>, <a href="4-rhm.html#SP10_2_2">§10.2.2</a><br/>Render EPS Map - <a href="4-rem.html#SP2_6">§2.6</a>, <a href="4-rem.html#SP2_6_1">§2.6.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">origin</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">dir_num</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::room_exit</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::room_exit</span></span>:<br/><a href="4-sm.html#SP9">§9</a>, <a href="4-sm.html#SP42">§42</a><br/>Render HTML Map - <a href="4-rhm.html#SP1_3">§1.3</a>, <a href="4-rhm.html#SP10_2_2">§10.2.2</a><br/>Render EPS Map - <a href="4-rem.html#SP1_2_1_6">§1.2.1.6</a>, <a href="4-rem.html#SP1_2_1_6_1">§1.2.1.6.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">origin</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">dir_num</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> **</span><span class="identifier-syntax">via</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">via</span><span class="plain-syntax">) *</span><span class="identifier-syntax">via</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</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">origin</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::is_a_room</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">origin</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) ||</span>
|
||||
|
@ -770,7 +771,7 @@ boundaries, and will be needed when we place submaps on the global grid.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::new_submap</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::new_submap</span></span>:<br/><a href="4-sm.html#SP7_24">§7.24</a>, <a href="4-sm.html#SP22_1_3">§22.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="function-syntax">SpatialMap::new_submap</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::new_submap</span></span>:<br/><a href="4-sm.html#SP7_24">§7.24</a>, <a href="4-sm.html#SP22_1_3">§22.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sub</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax"> = </span><a href="4-sg.html#SP10" class="function-link"><span class="function-syntax">Geometry::empty_cuboid</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">first_room_in_submap</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
@ -778,6 +779,7 @@ boundaries, and will be needed when we place submaps on the global grid.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">incidence_cache</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">sub</span><span class="plain-syntax">-></span><span class="element-syntax">incidence_cache_bounds</span><span class="plain-syntax"> = </span><a href="4-sg.html#SP10" class="function-link"><span class="function-syntax">Geometry::empty_cuboid</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">superpositions</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">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">session</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">sub</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -968,7 +970,7 @@ since its rooms have all moved out.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::create_submaps_from_zones</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::create_submaps_from_zones</span></span>:<br/><a href="4-sm.html#SP22_1_3">§22.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">connected_submap</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">Z1_number</span><span class="plain-syntax">, </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">Z2_number</span><span class="plain-syntax">, </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">zone</span><span class="plain-syntax"> == </span><span class="identifier-syntax">Z1_number</span><span class="plain-syntax">)</span>
|
||||
|
@ -987,7 +989,7 @@ reverse process exactly.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::create_zones_from_submaps</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::create_zones_from_submaps</span></span>:<br/><a href="4-sm.html#SP22_1_3">§22.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">connected_submap</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">Z1_number</span><span class="plain-syntax">, </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone1</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">Z2_number</span><span class="plain-syntax">, </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax"> == </span><span class="identifier-syntax">Zone1</span><span class="plain-syntax">) {</span>
|
||||
|
@ -1015,11 +1017,11 @@ benchmark room.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">), </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_ROOMS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sm.html#SP7">§7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7_24" class="paragraph-anchor"></a><b>§7.24. </b>The following grows a component outwards from <span class="extract"><span class="extract-syntax">at</span></span>, so that it also includes
|
||||
|
@ -1033,21 +1035,21 @@ each room, so phase (2) has running time \(O(R)\).
|
|||
</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">SpatialMap::create_map_component_around</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::create_map_component_around</span></span>:<br/><a href="4-sm.html#SP7_23">§7.23</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::create_map_component_around</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::create_map_component_around</span></span>:<br/><a href="4-sm.html#SP7_23">§7.23</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP12" class="function-link"><span class="function-syntax">SpatialMap::add_room_to_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</span><span class="plain-syntax">, </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP12" class="function-link"><span class="function-syntax">SpatialMap::add_room_to_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</span><span class="plain-syntax">, </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LATTICE_DIRECTIONS</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">locked_to</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP10" class="function-link"><span class="function-syntax">SpatialMap::read_slock</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</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">locked_to</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">locked_to</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax"> != </span><span class="identifier-syntax">at</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP12" class="function-link"><span class="function-syntax">SpatialMap::add_room_to_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">locked_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">locked_to</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">locked_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP9" class="function-link"><span class="function-syntax">SpatialMap::read_smap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</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">dest</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">dest</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax"> != </span><span class="identifier-syntax">at</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP12" class="function-link"><span class="function-syntax">SpatialMap::add_room_to_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</span><span class="plain-syntax">-></span><span class="element-syntax">fimd</span><span class="plain-syntax">.</span><span class="element-syntax">submap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dest</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_24" class="function-link"><span class="function-syntax">SpatialMap::create_map_component_around</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -1460,8 +1462,8 @@ dividing at one relationship F1-to-T1 or at two, F1-to-T1 and F2-to-T2.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone1</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone2</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone1</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Zone2</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP11" class="function-link"><span class="function-syntax">SpatialMap::new_submap</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_21" class="function-link"><span class="function-syntax">SpatialMap::create_submaps_from_zones</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="identifier-syntax">Z1_number</span><span class="plain-syntax">, </span><span class="identifier-syntax">Zone1</span><span class="plain-syntax">, </span><span class="identifier-syntax">Z2_number</span><span class="plain-syntax">, </span><span class="identifier-syntax">Zone2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">SPATIAL_MAP</span><span class="plain-syntax">, </span><span class="string-syntax">"Zone 1 becomes submap %d; zone 2 becomes submap %d\n"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Zone1</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">Zone2</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax">);</span>
|
||||
|
@ -2732,7 +2734,7 @@ predecessor, with the same baseline, and on the level of the benchmark room.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="identifier-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">population</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP7_20" class="function-link"><span class="function-syntax">SpatialMap::move_component</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sg.html#SP5" class="function-link"><span class="function-syntax">Geometry::vec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">x_max</span><span class="plain-syntax">, </span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="identifier-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax"> - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">() - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">) - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">));</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sm.html#SP7_31_1">§7.31.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7_31_1_2" class="paragraph-anchor"></a><b>§7.31.1.2. </b>The drill square is a way to place large numbers of single-room components,
|
||||
|
@ -2752,7 +2754,7 @@ one big component.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="identifier-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">population</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">drill_square_side</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">Drill_square_O</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sg.html#SP5" class="function-link"><span class="function-syntax">Geometry::vec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sg.html#SP5" class="function-link"><span class="function-syntax">Geometry::vec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="element-syntax">corner1</span><span class="plain-syntax">.</span><span class="element-syntax">x</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">, </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Drill_square_At</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Drill_square_O</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sing</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>
|
||||
|
@ -2788,7 +2790,7 @@ with.
|
|||
<span class="plain-syntax"> </span><a href="4-sm.html#SP40" class="function-link"><span class="function-syntax">SpatialMap::find_link_to_placed_components</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">, &</span><span class="identifier-syntax">outer</span><span class="plain-syntax">, &</span><span class="identifier-syntax">inner</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">vector</span><span class="plain-syntax"> </span><span class="identifier-syntax">Best_offset</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sg.html#SP5" class="function-link"><span class="function-syntax">Geometry::vec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">x_max</span><span class="plain-syntax">, </span><span class="identifier-syntax">box</span><span class="plain-syntax">.</span><span class="identifier-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax"> - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">y</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">() - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-sm.html#SP4" class="function-link"><span class="function-syntax">SpatialMap::benchmark_level</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">) - </span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">bounds</span><span class="plain-syntax">.</span><span class="element-syntax">corner0</span><span class="plain-syntax">.</span><span class="identifier-syntax">z</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">outer</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">inner</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">dx</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">dy</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">dz</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">min_s</span><span class="plain-syntax"> = </span><span class="constant-syntax">FUSION_POINT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">dx</span><span class="plain-syntax"> = -</span><span class="constant-syntax">MAX_OFFSET</span><span class="plain-syntax">; </span><span class="identifier-syntax">dx</span><span class="plain-syntax"> <= </span><span class="constant-syntax">MAX_OFFSET</span><span class="plain-syntax">; </span><span class="identifier-syntax">dx</span><span class="plain-syntax">++)</span>
|
||||
|
@ -2931,7 +2933,7 @@ rooms connected that way are by definition in the same component.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::cross_component_links</span><button class="popup" onclick="togglePopup('usagePopup73')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup73">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::cross_component_links</span></span>:<br/><a href="4-sm.html#SP40">§40</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> **</span><span class="identifier-syntax">outer</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> **</span><span class="identifier-syntax">inner</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">heat</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">posnd</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">-></span><span class="element-syntax">for_session</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">no_links</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">heat</span><span class="plain-syntax">) *</span><span class="identifier-syntax">heat</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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
|
@ -3084,9 +3086,10 @@ locking means that blank planes are inevitable.
|
|||
<p class="commentary firstcommentary"><a id="SP42" class="paragraph-anchor"></a><b>§42. </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">SpatialMap::index_room_connections</span><button class="popup" onclick="togglePopup('usagePopup75')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup75">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::index_room_connections</span></span>:<br/>Map Element - <a href="3-me.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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::index_room_connections</span><button class="popup" onclick="togglePopup('usagePopup75')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup75">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::index_room_connections</span></span>:<br/>Map Element - <a href="3-me.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">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</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">RW</span><span class="plain-syntax"> = </span><a href="2-fi.html#SP13" class="function-link"><span class="function-syntax">FauxInstances::get_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">); </span><span class="comment-syntax"> name of the origin room</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="2-ii.html#SP8" class="function-link"><span class="function-syntax">InterpretIndex::get_faux_instances</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP5" class="function-link"><span class="function-syntax">Indexing::get_set_of_instances</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">faux_instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dir</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_FAUX_DIRECTIONS</span><span class="plain-syntax">(</span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">dir</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">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">dir</span><span class="plain-syntax">-></span><span class="element-syntax">direction_index</span><span class="plain-syntax">;</span>
|
||||
|
@ -3165,7 +3168,7 @@ locking means that blank planes are inevitable.
|
|||
<p class="commentary firstcommentary"><a id="SP43" class="paragraph-anchor"></a><b>§43. Unit testing. </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">SpatialMap::perform_map_internal_test</span><button class="popup" onclick="togglePopup('usagePopup76')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup76">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::perform_map_internal_test</span></span>:<br/>Map Element - <a href="3-me.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">void</span><span class="plain-syntax"> </span><span class="function-syntax">SpatialMap::perform_map_internal_test</span><button class="popup" onclick="togglePopup('usagePopup76')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup76">Usage of <span class="code-font"><span class="function-syntax">SpatialMap::perform_map_internal_test</span></span>:<br/>Map Element - <a href="3-me.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_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">connected_submap</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sub</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">sub</span><span class="plain-syntax">, </span><span class="reserved-syntax">connected_submap</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">"Map component %d: extent (%d...%d, %d...%d, %d...%d): population %d\n"</span><span class="plain-syntax">,</span>
|
||||
|
@ -3181,7 +3184,7 @@ locking means that blank planes are inevitable.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">y</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Room_position</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">).</span><span class="identifier-syntax">z</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::write_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">R</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">()) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (benchmark)"</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">R</span><span class="plain-syntax"> == </span><a href="2-fi.html#SP11" class="function-link"><span class="function-syntax">FauxInstances::benchmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (benchmark)"</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="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>
|
||||
|
|
|
@ -71,6 +71,11 @@
|
|||
<spon class="sectiontitle">Index Module</span></a> -
|
||||
<span class="sectionpurpose">Setting up the use of this module.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="1-ia.html">
|
||||
<spon class="sectiontitle">Indexing API</span></a> -
|
||||
<span class="sectionpurpose">How the parent tool can ask for an Inter tree to be indexed.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
@ -89,7 +89,7 @@ function togglePopup(material_id) {
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</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">"Extensions"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-ip.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Write the body of the HTML</span><span class="named-paragraph-number">1.1</span></a></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">OUT</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">OUT</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -165,7 +165,7 @@ our E, and return 0 in response to the ECD call to prevent further ECD calls.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</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">"Extension"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</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::incorporate_HTML</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">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">EXTENSION_DOCUMENTATION_MODEL_IRES</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-ip2.html#SP2_2_1" class="named-paragraph-link"><span class="named-paragraph">Write documentation for a specific extension into the page</span><span class="named-paragraph-number">2.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -17,7 +17,7 @@ void ExtensionIndex::write(filename *F, int content, extension_census *C) {
|
|||
|
||||
HTML::header(OUT, I"Extensions",
|
||||
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_EXTENSIONS_IRES));
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_EXTENSIONS_IRES), NULL);
|
||||
@<Write the body of the HTML@>;
|
||||
STREAM_CLOSE(OUT);
|
||||
HTML::footer(OUT);
|
||||
|
|
|
@ -84,7 +84,7 @@ our E, and return 0 in response to the ECD call to prevent further ECD calls.
|
|||
@<Write the actual extension documentation page@> =
|
||||
HTML::header(OUT, I"Extension",
|
||||
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_ONE_EXTENSION_IRES));
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_ONE_EXTENSION_IRES), NULL);
|
||||
HTML::incorporate_HTML(OUT,
|
||||
InstalledFiles::filename(EXTENSION_DOCUMENTATION_MODEL_IRES));
|
||||
@<Write documentation for a specific extension into the page@>;
|
||||
|
|
|
@ -175,11 +175,11 @@ Total memory consumption was 391746K = 383 MB
|
|||
---- target_vm 6 objects, 816 bytes
|
||||
---- generated_segment 25 objects, 800 bytes
|
||||
---- inter_data_type 14 objects, 784 bytes
|
||||
---- internal_test 14 objects, 672 bytes
|
||||
---- inform_language 6 objects, 672 bytes
|
||||
---- internal_test 14 objects, 672 bytes
|
||||
---- inter_warehouse_room 10 objects, 640 bytes
|
||||
---- I6T_intervention 8 objects, 640 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- inter_warehouse_room 10 objects, 640 bytes
|
||||
---- inbuild_search_result 15 objects, 600 bytes
|
||||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
|
@ -193,43 +193,43 @@ Total memory consumption was 391746K = 383 MB
|
|||
---- bp_family 12 objects, 384 bytes
|
||||
---- source_file 5 objects, 360 bytes
|
||||
---- inbuild_genre 7 objects, 336 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 312 bytes
|
||||
---- build_step 4 objects, 288 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- build_step 4 objects, 288 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- inform_pipeline 4 objects, 256 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- test_scenario 1 object, 216 bytes
|
||||
---- release_instructions 1 object, 208 bytes
|
||||
---- build_skill 5 objects, 200 bytes
|
||||
---- kit_dependency 4 objects, 192 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- kit_dependency 4 objects, 192 bytes
|
||||
---- inform_project 1 object, 176 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- code_generation_target 4 objects, 160 bytes
|
||||
---- link_instruction 4 objects, 160 bytes
|
||||
---- code_generation_target 4 objects, 160 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- element_activation 4 objects, 128 bytes
|
||||
---- codegen_pipeline 1 object, 128 bytes
|
||||
---- element_activation 4 objects, 128 bytes
|
||||
---- inbuild_nest 3 objects, 120 bytes
|
||||
---- local_block_value 2 objects, 112 bytes
|
||||
---- inform_kit_ittt 2 objects, 96 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
|
|
|
@ -11,26 +11,26 @@
|
|||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //World::stage_V//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.2% in //CompletionModule::compile//
|
||||
0.1% in //InferenceSubjects::emit_all//
|
||||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
2.0% not specifically accounted for
|
||||
42.2% in running Inter pipeline
|
||||
11.3% in step preparation
|
||||
9.9% in inter step 7/14: consolidate-text
|
||||
8.1% in inter step 2/14: link
|
||||
6.9% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.9% not specifically accounted for
|
||||
42.0% in running Inter pipeline
|
||||
11.2% in step preparation
|
||||
9.8% in inter step 7/14: consolidate-text
|
||||
8.2% in inter step 2/14: link
|
||||
7.0% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.6% 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.1% not specifically accounted for
|
||||
0.1% in inter step 9/14: inspect-plugs
|
||||
2.0% not specifically accounted for
|
||||
1.7% in supervisor
|
||||
0.2% not specifically accounted for
|
||||
0.3% not specifically accounted for
|
||||
|
|
|
@ -216,11 +216,11 @@ void InternalTests::perform_ing_internal_test(OUTPUT_STREAM,
|
|||
|
||||
void InternalTests::perform_index_internal_test(OUTPUT_STREAM,
|
||||
struct internal_test_case *itc) {
|
||||
localisation_dictionary *D = Localisation::new();
|
||||
index_session *session = Indexing::open_session(Emit::tree());
|
||||
inform_language *L = Projects::get_language_of_index(Task::project());
|
||||
Localisation::stock_from_file(
|
||||
Filenames::in(Languages::path_to_bundle(L), I"Index.txt"), D);
|
||||
InterpretIndex::generate_one_element(OUT, Emit::tree(), itc->text_supplying_the_case, D);
|
||||
Indexing::localise(session, Filenames::in(Languages::path_to_bundle(L), I"Index.txt"));
|
||||
Indexing::generate_one_element(session, OUT, itc->text_supplying_the_case);
|
||||
Indexing::close_session(session);
|
||||
}
|
||||
|
||||
@ And here's a set of six tests of the kinds system. This is quite old code,
|
||||
|
|
|
@ -444,20 +444,17 @@ void Task::disable_or_enable_census(int which) {
|
|||
void Task::produce_index(void) {
|
||||
inform_project *project = Task::project();
|
||||
if ((do_not_generate_index == FALSE) || (write_EPS_format_map)) {
|
||||
index_session *session = Indexing::open_session(Emit::tree());
|
||||
inform_language *L = Projects::get_language_of_index(project);
|
||||
localisation_dictionary *D = Localisation::new();
|
||||
Localisation::stock_from_file(
|
||||
Filenames::in(Languages::path_to_bundle(L), I"Index.txt"), D);
|
||||
Indexing::localise(session,
|
||||
Filenames::in(Languages::path_to_bundle(L), I"Index.txt"));
|
||||
if (do_not_generate_index == FALSE) {
|
||||
InterpretIndex::generate(
|
||||
Emit::tree(),
|
||||
Projects::index_structure(project),
|
||||
D);
|
||||
Indexing::generate_index_website(session, Projects::index_structure(project));
|
||||
if (do_not_update_census == FALSE)
|
||||
ExtensionWebsite::index_after_compilation(Task::project());
|
||||
}
|
||||
if (write_EPS_format_map) {
|
||||
RenderEPSMap::render_map_as_EPS(Task::epsmap_file(), D);
|
||||
}
|
||||
if (write_EPS_format_map)
|
||||
Indexing::generate_EPS_map(session, Task::epsmap_file());
|
||||
Indexing::close_session(session);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ void Problems::Using::start_problems_report(filename *F, text_stream *P) {
|
|||
Problems::fatal_on_file("Can't open problem log", F);
|
||||
HTML::header(P, I"Translating the Source",
|
||||
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES));
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES), NULL);
|
||||
}
|
||||
|
||||
void Problems::Using::final_report(int disaster_struck, int problems_count) {
|
||||
|
|
|
@ -30,6 +30,7 @@ void IndexModule::end(void) {
|
|||
|
||||
@
|
||||
|
||||
@e index_session_CLASS
|
||||
@e index_page_CLASS
|
||||
@e index_element_CLASS
|
||||
@e inter_lexicon_CLASS
|
||||
|
@ -45,6 +46,7 @@ void IndexModule::end(void) {
|
|||
@e rubric_holder_CLASS
|
||||
|
||||
=
|
||||
DECLARE_CLASS(index_session)
|
||||
DECLARE_CLASS(index_element)
|
||||
DECLARE_CLASS(index_page)
|
||||
DECLARE_CLASS(inter_lexicon)
|
||||
|
|
158
inter/index-module/Chapter 1/Indexing API.w
Normal file
158
inter/index-module/Chapter 1/Indexing API.w
Normal file
|
@ -0,0 +1,158 @@
|
|||
[Indexing::] Indexing API.
|
||||
|
||||
How the parent tool can ask for an Inter tree to be indexed.
|
||||
|
||||
@h Public API.
|
||||
This is a large and complex module of code, but it really only does one thing,
|
||||
and so it is simple to control. Other modules or tools should do this only by
|
||||
calling the functions below.
|
||||
|
||||
To produce one or more index products (see below), first open a session; then
|
||||
set its localisation -- essentially, choose what language it should be written
|
||||
in; then call functions to make the actual products; and finally close the session.
|
||||
Note that:
|
||||
|
||||
(1) If you want to index the same tree of code to two different languages, you
|
||||
will need to do this as two sessions. However, an Index website and an EPS map
|
||||
which are in the same language can both be made in the same session, and this
|
||||
is more efficient than using two.
|
||||
|
||||
(2) Only one session can be open at a time. In some abstract sense it would be tidy
|
||||
to make this whole module threadsafe, but in concrete terms, it's hard to see
|
||||
what problem that would solve for anyone. If a user needs to make multiple
|
||||
indexes simultaneously, the simplest way would be to start multiple |inter|
|
||||
processes, each working on one project at a time. However, the API is designed
|
||||
so that this decision could be reversed if we wanted to.
|
||||
|
||||
@ So, then, opening:
|
||||
|
||||
=
|
||||
typedef struct index_session {
|
||||
struct inter_tree *tree;
|
||||
struct tree_inventory *inv;
|
||||
struct inter_lexicon *indexing_lexicon;
|
||||
struct faux_instance_set *indexing_fis;
|
||||
struct linked_list *indexing_fs;
|
||||
struct localisation_dictionary *dict;
|
||||
int session_closed;
|
||||
CLASS_DEFINITION
|
||||
} index_session;
|
||||
|
||||
int index_sessions_open = 0;
|
||||
|
||||
index_session *Indexing::open_session(inter_tree *I) {
|
||||
if (I == NULL) internal_error("no tree to index");
|
||||
if (index_sessions_open++ > 0) internal_error("one indexing session at a time");
|
||||
index_session *session = CREATE(index_session);
|
||||
session->tree = I;
|
||||
session->inv = Synoptic::inv(I);
|
||||
session->indexing_lexicon = NULL;
|
||||
session->indexing_fis = NULL;
|
||||
session->indexing_fs = NULL;
|
||||
session->dict = Localisation::new();
|
||||
session->session_closed = FALSE;
|
||||
return session;
|
||||
}
|
||||
|
||||
@ Now localising. You can either set an existing dictionary which you happen
|
||||
to have to hand, or else ask to read definitions from a file. See //html: Localisation//
|
||||
for how all of this works.
|
||||
|
||||
=
|
||||
void Indexing::set_localisation_dictionary(index_session *session, localisation_dictionary *LD) {
|
||||
@<Check this is an open session@>;
|
||||
session->dict = LD;
|
||||
}
|
||||
|
||||
void Indexing::localise(index_session *session, filename *F) {
|
||||
@<Check this is an open session@>;
|
||||
Localisation::stock_from_file(F, session->dict);
|
||||
}
|
||||
|
||||
@ Now for the productive part. You can make an entire index mini-website with
|
||||
the following function, which may generate several hundred HTML files. This is
|
||||
what is used in the Inform GUI apps on every compilation.
|
||||
|
||||
=
|
||||
void Indexing::generate_index_website(index_session *session, text_stream *structure) {
|
||||
@<Check this is an open session@>;
|
||||
InterpretIndex::generate(structure, session);
|
||||
}
|
||||
|
||||
@ This is a one-off function for generating the content of an index element
|
||||
(without its heading, or any HTML surround): it's used for unit-testing those
|
||||
elements, but is never used by the Inform GUI app.
|
||||
|
||||
=
|
||||
void Indexing::generate_one_element(index_session *session, text_stream *OUT, wording elt) {
|
||||
@<Check this is an open session@>;
|
||||
Elements::test_card(OUT, elt, session);
|
||||
}
|
||||
|
||||
@ This is used by the Inform GUI apps to "release along with an EPS file".
|
||||
Essentially it makes a print-suitable version of the Map element of the index,
|
||||
though there are also many bells and whistles for customising the appearance
|
||||
of this.
|
||||
|
||||
=
|
||||
void Indexing::generate_EPS_map(index_session *session, filename *F) {
|
||||
@<Check this is an open session@>;
|
||||
RenderEPSMap::render_map_as_EPS(F, session);
|
||||
}
|
||||
|
||||
@ And lastly closing. The only thing this now does is to enable a new session
|
||||
to be opened afterwards, in fact, but that might change in future.
|
||||
|
||||
=
|
||||
void Indexing::close_session(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
session->session_closed = TRUE;
|
||||
index_sessions_open--;
|
||||
}
|
||||
|
||||
@<Check this is an open session@> =
|
||||
if (session == NULL) internal_error("no indexing session");
|
||||
if (session->session_closed) internal_error("closed indexing session");
|
||||
|
||||
@h Private API.
|
||||
The remaining functions in this section are for use only within the //index//
|
||||
module.
|
||||
|
||||
=
|
||||
inter_tree *Indexing::get_tree(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
return session->tree;
|
||||
}
|
||||
|
||||
localisation_dictionary *Indexing::get_localisation(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
return session->dict;
|
||||
}
|
||||
|
||||
tree_inventory *Indexing::get_inventory(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
return session->inv;
|
||||
}
|
||||
|
||||
@ These more substantial resources are calculated only on demand:
|
||||
|
||||
=
|
||||
inter_lexicon *Indexing::get_lexicon(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
if (session->indexing_lexicon == NULL)
|
||||
session->indexing_lexicon = IndexLexicon::stock(session->tree, session->inv);
|
||||
return session->indexing_lexicon;
|
||||
}
|
||||
|
||||
faux_instance_set *Indexing::get_set_of_instances(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
if (session->indexing_fis == NULL) FauxInstances::make_faux(session);
|
||||
return session->indexing_fis;
|
||||
}
|
||||
|
||||
linked_list *Indexing::get_list_of_scenes(index_session *session) {
|
||||
@<Check this is an open session@>;
|
||||
if (session->indexing_fs == NULL)
|
||||
session->indexing_fs = FauxScenes::list_of_faux_scenes(session);
|
||||
return session->indexing_fs;
|
||||
}
|
|
@ -176,10 +176,11 @@ faux_instance_set *FauxInstances::new_empty_set(void) {
|
|||
@ And here is the code to make a fully cross-referenced set from a given tree:
|
||||
|
||||
=
|
||||
faux_instance_set *FauxInstances::make_faux(inter_tree *IT) {
|
||||
void FauxInstances::make_faux(index_session *session) {
|
||||
faux_instance_set *faux_set = FauxInstances::new_empty_set();
|
||||
session->indexing_fis = faux_set;
|
||||
|
||||
tree_inventory *inv = Synoptic::inv(IT);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->instance_nodes, Synoptic::module_order);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->instance_nodes)
|
||||
|
@ -195,8 +196,7 @@ faux_instance_set *FauxInstances::make_faux(inter_tree *IT) {
|
|||
if (FauxInstances::is_a_door(I)) @<Cross-reference door adjacencies@>;
|
||||
}
|
||||
|
||||
FauxInstances::decode_hints(faux_set, IT, 1);
|
||||
return faux_set;
|
||||
FauxInstances::decode_hints(session, 1);
|
||||
}
|
||||
|
||||
@<Add a faux instance to the set for this object-instance package@> =
|
||||
|
@ -296,7 +296,9 @@ being made; |pass| 2 only after the spatial grid layout has been calculated,
|
|||
and only if needed.
|
||||
|
||||
=
|
||||
void FauxInstances::decode_hints(faux_instance_set *faux_set, inter_tree *I, int pass) {
|
||||
void FauxInstances::decode_hints(index_session *session, int pass) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/mapping_hints");
|
||||
inter_package *hint_pack;
|
||||
LOOP_THROUGH_SUBPACKAGES(hint_pack, pack, I"_mapping_hint") {
|
||||
|
@ -367,36 +369,36 @@ can only be known once the spatial grid has been found, i.e., on |pass| 2.
|
|||
EPS_map_level *eml;
|
||||
LOOP_OVER(eml, EPS_map_level)
|
||||
if ((eml->contains_rooms)
|
||||
&& (eml->map_level - SpatialMap::benchmark_level() == scope_level))
|
||||
&& (eml->map_level - SpatialMap::benchmark_level(session) == scope_level))
|
||||
scope = &(eml->map_parameters);
|
||||
if (scope) ConfigureIndexMap::put_mp(name, scope, scope_I, text_val, int_val);
|
||||
|
||||
@h Instance set properties.
|
||||
|
||||
=
|
||||
faux_instance *FauxInstances::start_room(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance *FauxInstances::start_room(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
return faux_set->start_faux_instance;
|
||||
}
|
||||
|
||||
faux_instance *FauxInstances::yourself(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance *FauxInstances::yourself(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
return faux_set->faux_yourself;
|
||||
}
|
||||
|
||||
faux_instance *FauxInstances::benchmark(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance *FauxInstances::benchmark(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
return faux_set->faux_benchmark;
|
||||
}
|
||||
|
||||
@ =
|
||||
int FauxInstances::no_directions(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int FauxInstances::no_directions(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
return faux_set->no_direction_fi;
|
||||
}
|
||||
|
||||
int FauxInstances::no_rooms(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int FauxInstances::no_rooms(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
return faux_set->no_room_fi;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,19 @@ typedef struct simplified_connector {
|
|||
CLASS_DEFINITION
|
||||
} simplified_connector;
|
||||
|
||||
linked_list *FauxScenes::list_of_faux_scenes(index_session *session) {
|
||||
linked_list *L = NEW_LINKED_LIST(simplified_scene);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->scene_nodes, PlotElement::scene_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
|
||||
inter_package *scene_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(scene_pack, i, inv->scene_nodes)
|
||||
ADD_TO_LINKED_LIST(FauxScenes::simplified(I, scene_pack), simplified_scene, L);
|
||||
return L;
|
||||
}
|
||||
|
||||
simplified_scene *FauxScenes::simplified(inter_tree *I, inter_package *sc_pack) {
|
||||
simplified_scene *ssc = CREATE(simplified_scene);
|
||||
ssc->pack = sc_pack;
|
||||
|
|
|
@ -32,14 +32,13 @@ begin writing some HTML when this scanning is done, i.e., when the whole structu
|
|||
file has been read.
|
||||
|
||||
=
|
||||
void InterpretIndex::generate(inter_tree *I, text_stream *structure, localisation_dictionary *D) {
|
||||
InterpretIndex::set_tree(I);
|
||||
void InterpretIndex::generate(text_stream *structure, index_session *session) {
|
||||
localisation_dictionary *D = Indexing::get_localisation(session);
|
||||
filename *index_structure = InstalledFiles::index_structure_file(structure);
|
||||
index_generation_state igs;
|
||||
@<Initialise IGS@>;
|
||||
@<Read the structure file line by line@>;
|
||||
@<Actually generate the index files@>;
|
||||
InterpretIndex::set_tree(NULL);
|
||||
}
|
||||
|
||||
@ This little structure is just some state being carried by the reader-function
|
||||
|
@ -47,13 +46,13 @@ which goes through the |.indext| file line by line.
|
|||
|
||||
=
|
||||
typedef struct index_generation_state {
|
||||
struct localisation_dictionary *dict;
|
||||
struct index_session *session;
|
||||
struct linked_list *pages; /* of |index_page| */
|
||||
} index_generation_state;
|
||||
|
||||
@<Initialise IGS@> =
|
||||
igs.pages = NEW_LINKED_LIST(index_page);
|
||||
igs.dict = D;
|
||||
igs.session = session;
|
||||
|
||||
@<Read the structure file line by line@> =
|
||||
TextFiles::read(index_structure, FALSE, "unable to read index structure file", TRUE,
|
||||
|
@ -71,7 +70,7 @@ pages.
|
|||
=
|
||||
void InterpretIndex::read_structure(text_stream *text, text_file_position *tfp, void *state) {
|
||||
index_generation_state *igs = (index_generation_state *) state;
|
||||
localisation_dictionary *D = igs->dict;
|
||||
localisation_dictionary *D = Indexing::get_localisation(igs->session);
|
||||
match_results mr = Regexp::create_mr();
|
||||
if (Regexp::match(&mr, text, L"page (%C+) (%C+)")) {
|
||||
@<Register a new index page@>;
|
||||
|
@ -122,27 +121,14 @@ will be |Kinds.html| either way.
|
|||
WRITE_TO(leafname, "%S.html", page->page_leafname);
|
||||
TEMPORARY_TEXT(key)
|
||||
WRITE_TO(key, "Index.Pages.%S.Title", page->page_leafname);
|
||||
text_stream *OUT =
|
||||
InterpretIndex::open_file(page, leafname,
|
||||
Localisation::read(D, key), -1, D);
|
||||
Elements::periodic_table(OUT, page, leafname, D);
|
||||
text_stream index_file_struct; text_stream *OUT = &index_file_struct;
|
||||
InterpretIndex::open_file(OUT, page, leafname, Localisation::read(D, key), -1, D);
|
||||
Elements::periodic_table(OUT, page, leafname, session);
|
||||
InterpretIndex::close_index_file(OUT);
|
||||
DISCARD_TEXT(key)
|
||||
DISCARD_TEXT(leafname)
|
||||
}
|
||||
GroupedElement::detail_pages(D);
|
||||
|
||||
@ This is a one-off function for generating the content of an index element
|
||||
(without its heading, or any HTML surround): it's used for unit-testing those
|
||||
elements.
|
||||
|
||||
=
|
||||
void InterpretIndex::generate_one_element(OUTPUT_STREAM, inter_tree *I, wording elt,
|
||||
localisation_dictionary *D) {
|
||||
InterpretIndex::set_tree(I);
|
||||
Elements::test_card(OUT, elt, D);
|
||||
InterpretIndex::set_tree(NULL);
|
||||
}
|
||||
GroupedElement::detail_pages(session);
|
||||
|
||||
@h Registering.
|
||||
So, then, here are the objects representing the index pages and their elements
|
||||
|
@ -194,56 +180,14 @@ index_element *InterpretIndex::register_element(text_stream *abb, index_page *ow
|
|||
return ie;
|
||||
}
|
||||
|
||||
@h Current.
|
||||
A clumsy convenience: keeping track of the page currently being written, and
|
||||
of the Inter tree currently being indexed.
|
||||
|
||||
=
|
||||
index_page *current_index_page = NULL;
|
||||
void InterpretIndex::set_page(index_page *page) {
|
||||
current_index_page = page;
|
||||
}
|
||||
index_page *InterpretIndex::get_page(void) {
|
||||
return current_index_page;
|
||||
}
|
||||
|
||||
inter_tree *indexing_tree = NULL;
|
||||
void InterpretIndex::set_tree(inter_tree *I) {
|
||||
indexing_tree = I;
|
||||
}
|
||||
inter_tree *InterpretIndex::get_tree(void) {
|
||||
if (indexing_tree == NULL) internal_error("no indexing tree");
|
||||
return indexing_tree;
|
||||
}
|
||||
|
||||
@ =
|
||||
inter_lexicon *indexing_lexicon = NULL;
|
||||
inter_lexicon *InterpretIndex::get_lexicon(void) {
|
||||
if (indexing_lexicon == NULL) {
|
||||
if (indexing_tree == NULL) internal_error("no indexing lexicon");
|
||||
indexing_lexicon = IndexLexicon::stock(indexing_tree);
|
||||
}
|
||||
return indexing_lexicon;
|
||||
}
|
||||
|
||||
@ =
|
||||
faux_instance_set *indexing_fis = NULL;
|
||||
faux_instance_set *InterpretIndex::get_faux_instances(void) {
|
||||
if (indexing_fis == NULL) {
|
||||
if (indexing_tree == NULL) internal_error("no indexing lexicon");
|
||||
indexing_fis = FauxInstances::make_faux(indexing_tree);
|
||||
}
|
||||
return indexing_fis;
|
||||
}
|
||||
|
||||
@h Opening and closing HTML files.
|
||||
|
||||
=
|
||||
text_stream index_file_struct; /* The current index file being written */
|
||||
text_stream *InterpretIndex::open_file(index_page *page, text_stream *index_leaf,
|
||||
text_stream *InterpretIndex::open_file(text_stream *IF,
|
||||
index_page *page, text_stream *index_leaf,
|
||||
text_stream *title, int sub, localisation_dictionary *D) {
|
||||
filename *F = IndexLocations::filename(index_leaf, sub);
|
||||
if (STREAM_OPEN_TO_FILE(&index_file_struct, F, UTF8_ENC) == FALSE) {
|
||||
if (STREAM_OPEN_TO_FILE(IF, F, UTF8_ENC) == FALSE) {
|
||||
#ifdef CORE_MODULE
|
||||
Problems::fatal_on_file("Can't open index file", F);
|
||||
#endif
|
||||
|
@ -251,17 +195,15 @@ text_stream *InterpretIndex::open_file(index_page *page, text_stream *index_leaf
|
|||
Errors::fatal_with_file("can't open index file", F);
|
||||
#endif
|
||||
}
|
||||
text_stream *OUT = &index_file_struct;
|
||||
InterpretIndex::set_page(page);
|
||||
HTML::header(OUT, title,
|
||||
HTML::header(IF, title,
|
||||
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES));
|
||||
return OUT;
|
||||
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES),
|
||||
(void *) page);
|
||||
return IF;
|
||||
}
|
||||
|
||||
@ =
|
||||
void InterpretIndex::close_index_file(text_stream *ifl) {
|
||||
HTML::footer(ifl);
|
||||
STREAM_CLOSE(ifl);
|
||||
InterpretIndex::set_page(NULL);
|
||||
}
|
||||
|
|
|
@ -44,11 +44,10 @@ typedef struct inter_lexicon {
|
|||
And this is where that happens:
|
||||
|
||||
=
|
||||
inter_lexicon *IndexLexicon::stock(inter_tree *I) {
|
||||
inter_lexicon *IndexLexicon::stock(inter_tree *I, tree_inventory *inv) {
|
||||
inter_lexicon *lexicon = CREATE(inter_lexicon);
|
||||
lexicon->first = NULL;
|
||||
lexicon->unsorted = NEW_LINKED_LIST(index_lexicon_entry);
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
@<Add verb entries@>;
|
||||
@<Add preposition entries@>;
|
||||
@<Add adjective entries@>;
|
||||
|
|
|
@ -9,16 +9,20 @@ failing to link to said files correctly.
|
|||
|
||||
But it means every HTML page in the index has to embed its own CSS and
|
||||
Javascript, and this is done with a callback function which allows us to insert
|
||||
material into the head of an HTML page when it is opened for output:
|
||||
material into the head of an HTML page when it is opened for output. Note that
|
||||
the function acts only when the page was created with |state|, which will only
|
||||
happen when it was created by //index//.
|
||||
|
||||
@d ADDITIONAL_SCRIPTING_HTML_CALLBACK IndexStyles::incorporate
|
||||
|
||||
=
|
||||
void IndexStyles::incorporate(OUTPUT_STREAM) {
|
||||
index_page *current_page = InterpretIndex::get_page();
|
||||
if (current_page == NULL) return;
|
||||
@<Incorporate some CSS@>;
|
||||
@<Incorporate some Javascript@>;
|
||||
void IndexStyles::incorporate(OUTPUT_STREAM, void *state) {
|
||||
if (state) {
|
||||
index_page *current_page = (index_page *) state;
|
||||
if (current_page == NULL) return;
|
||||
@<Incorporate some CSS@>;
|
||||
@<Incorporate some Javascript@>;
|
||||
}
|
||||
}
|
||||
|
||||
@ The CSS is mostly the same every time and is therefore mostly loaded from an
|
||||
|
|
|
@ -5,9 +5,9 @@ To write the Alphabetic actions element (A2) in the index.
|
|||
@ This element is a simple three-column table.
|
||||
|
||||
=
|
||||
void AlphabeticElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void AlphabeticElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->action_nodes, AlphabeticElement::alphabetical_order);
|
||||
|
||||
HTML::begin_html_table(OUT, NULL, FALSE, 0, 0, 0, 0, 0);
|
||||
|
|
|
@ -6,9 +6,9 @@ To write the Arithmetic element (Ar) in the index.
|
|||
so we do little more than tabulate that data here.
|
||||
|
||||
=
|
||||
void ArithmeticElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void ArithmeticElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->multiplication_rule_nodes, Synoptic::module_order);
|
||||
HTML_TAG("hr");
|
||||
|
|
|
@ -5,9 +5,10 @@ To write the Behaviour element (Bh) in the index.
|
|||
@ This simply itemises kinds of action, and what defines them.
|
||||
|
||||
=
|
||||
void BehaviourElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void BehaviourElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
|
||||
int num_naps = TreeLists::len(inv->named_action_pattern_nodes);
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ natural way to present bibliographic data to the user. In effect, it's a
|
|||
simplified form of the iFiction record, without the XML overhead.
|
||||
|
||||
=
|
||||
void CardElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
void CardElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/bibliographic");
|
||||
|
||||
HTML_OPEN("p");
|
||||
|
|
|
@ -6,9 +6,9 @@ To write the Chart element (Ch) in the index.
|
|||
and it is quite dense with information.
|
||||
|
||||
=
|
||||
void ChartElement::render(OUTPUT_STREAM, localisation_dictionary *D) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void ChartElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *D = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->instance_nodes, Synoptic::module_order);
|
||||
HTML::begin_wide_html_table(OUT);
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
To write the Commands element (Cm) in the index.
|
||||
|
||||
@ =
|
||||
void CommandsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
void CommandsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
|
||||
linked_list *entries = NEW_LINKED_LIST(command_index_entry);
|
||||
@<Create the entries for the command list@>;
|
||||
|
|
|
@ -5,9 +5,10 @@ To write the Contents element (C) in the index.
|
|||
@ This is a hierarchical contents page.
|
||||
|
||||
=
|
||||
void ContentsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void ContentsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->extension_nodes, Synoptic::category_order);
|
||||
TreeLists::sort(inv->heading_nodes, Synoptic::module_order);
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@ To write the Events element (Ev) in the index.
|
|||
@ There are two tables, one for timed events, the other for those of no fixed time.
|
||||
|
||||
=
|
||||
void EventsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void EventsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rule_nodes, Synoptic::module_order);
|
||||
|
||||
int when_count = 0, tt_count = 0;
|
||||
|
|
|
@ -6,9 +6,10 @@ To write the Extras element (Xt) in the index.
|
|||
really, and most of the code here is just to arrange them in some logical order.
|
||||
|
||||
=
|
||||
void ExtrasElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void ExtrasElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, Synoptic::module_order);
|
||||
|
||||
|
|
|
@ -5,9 +5,10 @@ To write the Figures element (Fi) in the index.
|
|||
@ 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);
|
||||
void FiguresElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->figure_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->sound_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->file_nodes, Synoptic::module_order);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
To write the Gazetteer element (Gz) in the index.
|
||||
|
||||
@ =
|
||||
void GazetteerElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
IndexLexicon::listing(OUT, InterpretIndex::get_lexicon(), TRUE, LD);
|
||||
void GazetteerElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
IndexLexicon::listing(OUT, Indexing::get_lexicon(session), TRUE, LD);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,8 @@ 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);
|
||||
void GroupedElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->action_nodes, Synoptic::module_order);
|
||||
|
||||
int f = FALSE;
|
||||
|
@ -54,14 +53,16 @@ void GroupedElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
|||
page for each action.
|
||||
|
||||
=
|
||||
void GroupedElement::detail_pages(localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void GroupedElement::detail_pages(index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->action_nodes, Synoptic::module_order);
|
||||
|
||||
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);
|
||||
text_stream index_file_struct; text_stream *OUT = &index_file_struct;
|
||||
InterpretIndex::open_file(OUT, NULL, I"A.html", I"<Actions", i, LD);
|
||||
@<Write details page for the action@>;
|
||||
InterpretIndex::close_index_file(OUT);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,10 @@ To write the Innards element (In) in the index.
|
|||
technical implementation rather than the content of a work.
|
||||
|
||||
=
|
||||
void InnardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void InnardsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->use_option_nodes, Synoptic::module_order);
|
||||
|
||||
@<Show the virtual machine compiled for@>;
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
To write the Lexicon element (Lx) in the index.
|
||||
|
||||
@ =
|
||||
void LexiconElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
void LexiconElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
IndexUtilities::anchor(OUT, I"LEXICON");
|
||||
HTML_OPEN("p");
|
||||
HTML_OPEN_WITH("span", "class=\"smaller\"");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.Lx.Explanation");
|
||||
HTML_CLOSE("span");
|
||||
HTML_CLOSE("p");
|
||||
IndexLexicon::listing(OUT, InterpretIndex::get_lexicon(), FALSE, LD);
|
||||
IndexLexicon::listing(OUT, Indexing::get_lexicon(session), FALSE, LD);
|
||||
}
|
||||
|
|
|
@ -8,16 +8,17 @@ cues all of that up; but even that code is fairly long.
|
|||
|
||||
=
|
||||
int suppress_panel_changes = FALSE;
|
||||
void MapElement::render(OUTPUT_STREAM, localisation_dictionary *LD, int test_only) {
|
||||
void MapElement::render(OUTPUT_STREAM, index_session *session, int test_only) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
SpatialMap::initialise_page_directions();
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
SpatialMap::establish_spatial_coordinates();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
SpatialMap::establish_spatial_coordinates(session);
|
||||
if (test_only) {
|
||||
SpatialMap::perform_map_internal_test(OUT);
|
||||
SpatialMap::perform_map_internal_test(OUT, session);
|
||||
} else {
|
||||
HTMLMap::render_map_as_HTML(OUT, LD);
|
||||
HTMLMap::add_region_key(OUT);
|
||||
MapElement::index_backdrop_further(OUT, NULL, 0, FALSE, 1, LD);
|
||||
HTMLMap::render_map_as_HTML(OUT, session);
|
||||
HTMLMap::add_region_key(OUT, session);
|
||||
MapElement::index_backdrop_further(OUT, NULL, 0, FALSE, 1, session);
|
||||
|
||||
IndexUtilities::anchor(OUT, I"MDETAILS");
|
||||
int unruly = FALSE;
|
||||
|
@ -46,11 +47,11 @@ void MapElement::render(OUTPUT_STREAM, localisation_dictionary *LD, int test_onl
|
|||
if (subheaded == FALSE) {
|
||||
@<Start a new details panel on the World index@>;
|
||||
@<Index the name and super-region of the region@>;
|
||||
MapElement::index_backdrop_further(OUT, reg, 0, FALSE, 2, LD);
|
||||
MapElement::index_backdrop_further(OUT, reg, 0, FALSE, 2, session);
|
||||
HTML_OPEN("p");
|
||||
subheaded = TRUE;
|
||||
}
|
||||
HTMLMap::render_single_room_as_HTML(OUT, rm, LD);
|
||||
HTMLMap::render_single_room_as_HTML(OUT, rm, session);
|
||||
FauxInstances::increment_indexing_count(rm);
|
||||
}
|
||||
}
|
||||
|
@ -69,7 +70,7 @@ void MapElement::render(OUTPUT_STREAM, localisation_dictionary *LD, int test_onl
|
|||
LOOP_OVER_FAUX_ROOMS(faux_set, I)
|
||||
if (FauxInstances::indexed_yet(I) == FALSE) {
|
||||
@<Start a new details panel on the World index@>;
|
||||
HTMLMap::render_single_room_as_HTML(OUT, I, LD);
|
||||
HTMLMap::render_single_room_as_HTML(OUT, I, session);
|
||||
}
|
||||
|
||||
@ By this point we've accounted for rooms (and their contents and any parts
|
||||
|
@ -89,7 +90,7 @@ will be things which are offstage (and their contents and any parts thereof):
|
|||
Localisation::bold(OUT, LD, I"Index.Elements.Mp.NowhereHeading");
|
||||
HTML_TAG("br");
|
||||
}
|
||||
MapElement::index(OUT, I, 2, FALSE, LD);
|
||||
MapElement::index(OUT, I, 2, FALSE, session);
|
||||
}
|
||||
suppress_panel_changes = FALSE;
|
||||
|
||||
|
@ -114,7 +115,8 @@ void MapElement::set_room_being_indexed(faux_instance *I) {
|
|||
}
|
||||
|
||||
void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
if (depth == MAX_OBJECT_INDEX_DEPTH) internal_error("MAX_OBJECT_INDEX_DEPTH exceeded");
|
||||
if (I) {
|
||||
if (depth > NUMBER_CREATED(faux_instance) + 1) return; /* to recover from errors */
|
||||
|
@ -135,7 +137,7 @@ void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
|||
@<Add the chain of kinds@>;
|
||||
@<Add the catalogue of specific properties@>;
|
||||
@<Add details depending on the kind@>;
|
||||
MapElement::index_usages(OUT, I, LD);
|
||||
MapElement::index_usages(OUT, I, session);
|
||||
IndexUtilities::extra_div_close(OUT, "e0e0e0");
|
||||
}
|
||||
@<Recurse the index citation for the object as necessary@>;
|
||||
|
@ -147,7 +149,7 @@ void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
|||
if (I != indexing_room) IndexUtilities::anchor(OUT, I->anchor_text);
|
||||
} else {
|
||||
#ifdef IF_MODULE
|
||||
if (I) MapElement::index_spatial_relationship(OUT, I, LD);
|
||||
if (I) MapElement::index_spatial_relationship(OUT, I, session);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -182,8 +184,8 @@ void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
|||
}
|
||||
|
||||
@<Index the kind attribution part of the object citation@> =
|
||||
if ((MapElement::annotate_door(OUT, I, LD) == FALSE) &&
|
||||
(MapElement::annotate_player(OUT, I, LD) == FALSE)) {
|
||||
if ((MapElement::annotate_door(OUT, I, session) == FALSE) &&
|
||||
(MapElement::annotate_player(OUT, I, session) == FALSE)) {
|
||||
if (FauxInstances::specify_kind(I)) {
|
||||
WRITE(" - <i>");
|
||||
FauxInstances::write_kind(OUT, I);
|
||||
|
@ -199,7 +201,7 @@ void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
|||
|
||||
@<Recurse the index citation for the object as necessary@> =
|
||||
#ifdef IF_MODULE
|
||||
MapElement::index_object_further(OUT, I, depth, details, LD);
|
||||
MapElement::index_object_further(OUT, I, depth, details, session);
|
||||
#endif
|
||||
|
||||
@<Add a subsidiary paragraph of details about this object@> =
|
||||
|
@ -224,14 +226,15 @@ void MapElement::index(OUTPUT_STREAM, faux_instance *I, int depth, int details,
|
|||
WRITE("%S", material);
|
||||
|
||||
@<Add details depending on the kind@> =
|
||||
MapElement::add_room_to_World_index(OUT, I);
|
||||
MapElement::add_room_to_World_index(OUT, I, session);
|
||||
MapElement::add_region_to_World_index(OUT, I);
|
||||
MapElement::add_to_World_index(OUT, I, LD);
|
||||
MapElement::add_to_World_index(OUT, I, session);
|
||||
|
||||
@
|
||||
|
||||
=
|
||||
void MapElement::index_usages(OUTPUT_STREAM, faux_instance *I, localisation_dictionary *LD) {
|
||||
void MapElement::index_usages(OUTPUT_STREAM, faux_instance *I, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
int k = 0;
|
||||
inter_package *pack = I->package;
|
||||
inter_tree_node *P = Metadata::read_optional_list(pack, I"^backdrop_presences");
|
||||
|
@ -254,9 +257,10 @@ void MapElement::index_usages(OUTPUT_STREAM, faux_instance *I, localisation_dict
|
|||
if (k > 0) HTML_CLOSE("p");
|
||||
}
|
||||
|
||||
int MapElement::add_room_to_World_index(OUTPUT_STREAM, faux_instance *O) {
|
||||
int MapElement::add_room_to_World_index(OUTPUT_STREAM, faux_instance *O,
|
||||
index_session *session) {
|
||||
if ((O) && (FauxInstances::is_a_room(O))) {
|
||||
SpatialMap::index_room_connections(OUT, O);
|
||||
SpatialMap::index_room_connections(OUT, O, session);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -270,8 +274,9 @@ int MapElement::add_region_to_World_index(OUTPUT_STREAM, faux_instance *O) {
|
|||
}
|
||||
|
||||
int MapElement::annotate_player(OUTPUT_STREAM, faux_instance *I,
|
||||
localisation_dictionary *LD) {
|
||||
if (I == FauxInstances::start_room()) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
if (I == FauxInstances::start_room(session)) {
|
||||
WRITE(" - ");
|
||||
Localisation::italic(OUT, LD, I"Index.Elements.Mp.RoomWherePlayBegins");
|
||||
DocReferences::link(OUT, I"ROOMPLAYBEGINS");
|
||||
|
@ -281,7 +286,8 @@ int MapElement::annotate_player(OUTPUT_STREAM, faux_instance *I,
|
|||
}
|
||||
|
||||
int MapElement::annotate_door(OUTPUT_STREAM, faux_instance *O,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
if ((O) && (FauxInstances::is_a_door(O))) {
|
||||
faux_instance *A = NULL, *B = NULL;
|
||||
FauxInstances::get_door_data(O, &A, &B);
|
||||
|
@ -302,7 +308,8 @@ int MapElement::annotate_door(OUTPUT_STREAM, faux_instance *O,
|
|||
|
||||
@ =
|
||||
void MapElement::index_spatial_relationship(OUTPUT_STREAM, faux_instance *I,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
text_stream *rel = NULL;
|
||||
faux_instance *P = FauxInstances::progenitor(I);
|
||||
if (P) {
|
||||
|
@ -331,18 +338,18 @@ int MapElement::no_detail_index(faux_instance *I) {
|
|||
|
||||
=
|
||||
void MapElement::index_object_further(OUTPUT_STREAM, faux_instance *I, int depth,
|
||||
int details, localisation_dictionary *LD) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int details, index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
if (depth > NUMBER_CREATED(faux_instance) + 1) return; /* to recover from errors */
|
||||
if (FauxInstances::incorp_child(I)) {
|
||||
faux_instance *I2 = FauxInstances::incorp_child(I);
|
||||
while (I2) {
|
||||
MapElement::index(OUT, I2, depth+1, details, LD);
|
||||
MapElement::index(OUT, I2, depth+1, details, session);
|
||||
I2 = FauxInstances::incorp_sibling(I2);
|
||||
}
|
||||
}
|
||||
if (FauxInstances::child(I))
|
||||
MapElement::index(OUT, FauxInstances::child(I), depth+1, details, LD);
|
||||
MapElement::index(OUT, FauxInstances::child(I), depth+1, details, session);
|
||||
if ((FauxInstances::is_a_room(I)) &&
|
||||
(FauxInstances::is_a_door(I) == FALSE)) {
|
||||
faux_instance *I2;
|
||||
|
@ -350,23 +357,24 @@ void MapElement::index_object_further(OUTPUT_STREAM, faux_instance *I, int depth
|
|||
if ((FauxInstances::is_a_door(I2)) && (FauxInstances::progenitor(I2) != I)) {
|
||||
faux_instance *A = NULL, *B = NULL;
|
||||
FauxInstances::get_door_data(I2, &A, &B);
|
||||
if (A == I) MapElement::index(OUT, I2, depth+1, details, LD);
|
||||
if (B == I) MapElement::index(OUT, I2, depth+1, details, LD);
|
||||
if (A == I) MapElement::index(OUT, I2, depth+1, details, session);
|
||||
if (B == I) MapElement::index(OUT, I2, depth+1, details, session);
|
||||
}
|
||||
}
|
||||
}
|
||||
MapElement::index_player_further(OUT, I, depth, details, LD);
|
||||
MapElement::index_backdrop_further(OUT, I, depth, details, 0, LD);
|
||||
MapElement::index_player_further(OUT, I, depth, details, session);
|
||||
MapElement::index_backdrop_further(OUT, I, depth, details, 0, session);
|
||||
|
||||
if (FauxInstances::sibling(I))
|
||||
MapElement::index(OUT, FauxInstances::sibling(I), depth, details, LD);
|
||||
MapElement::index(OUT, FauxInstances::sibling(I), depth, details, session);
|
||||
}
|
||||
|
||||
@ And also:
|
||||
|
||||
=
|
||||
int MapElement::add_to_World_index(OUTPUT_STREAM, faux_instance *O,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
if ((O) && (FauxInstances::is_a_thing(O))) {
|
||||
HTML::open_indented_p(OUT, 1, "tight");
|
||||
faux_instance *P = FauxInstances::progenitor(O);
|
||||
|
@ -392,28 +400,29 @@ int MapElement::add_to_World_index(OUTPUT_STREAM, faux_instance *O,
|
|||
}
|
||||
|
||||
void MapElement::index_player_further(OUTPUT_STREAM, faux_instance *I, int depth,
|
||||
int details, localisation_dictionary *LD) {
|
||||
faux_instance *yourself = FauxInstances::yourself();
|
||||
if ((I == FauxInstances::start_room()) && (yourself) &&
|
||||
int details, index_session *session) {
|
||||
faux_instance *yourself = FauxInstances::yourself(session);
|
||||
if ((I == FauxInstances::start_room(session)) && (yourself) &&
|
||||
(FauxInstances::indexed_yet(yourself) == FALSE))
|
||||
MapElement::index(OUT, yourself, depth+1, details, LD);
|
||||
MapElement::index(OUT, yourself, depth+1, details, session);
|
||||
}
|
||||
|
||||
void MapElement::index_backdrop_further(OUTPUT_STREAM, faux_instance *loc, int depth,
|
||||
int details, int how, localisation_dictionary *LD) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int details, int how, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
int discoveries = 0;
|
||||
faux_instance *bd;
|
||||
if (loc) {
|
||||
LOOP_OVER_LINKED_LIST(bd, faux_instance, loc->backdrop_presences) {
|
||||
if (++discoveries == 1) @<Insert fore-matter@>;
|
||||
MapElement::index(OUT, bd, depth+1, details, LD);
|
||||
MapElement::index(OUT, bd, depth+1, details, session);
|
||||
}
|
||||
} else {
|
||||
LOOP_OVER_FAUX_BACKDROPS(faux_set, bd)
|
||||
if (FauxInstances::is_everywhere(bd)) {
|
||||
if (++discoveries == 1) @<Insert fore-matter@>;
|
||||
MapElement::index(OUT, bd, depth+1, details, LD);
|
||||
MapElement::index(OUT, bd, depth+1, details, session);
|
||||
}
|
||||
}
|
||||
if (discoveries > 0) @<Insert after-matter@>;
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
To write the Phrasebook element (Pb) in the index.
|
||||
|
||||
@ =
|
||||
void PhrasebookElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
void PhrasebookElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/phrases");
|
||||
for (int pass = 1; pass <= 2; pass++) {
|
||||
int grand_c = 0;
|
||||
|
|
|
@ -10,16 +10,11 @@ with a notation which takes a little bit of on-screen explanation, but
|
|||
seems natural enough to learn in practice.
|
||||
|
||||
=
|
||||
void PlotElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
TreeLists::sort(inv->scene_nodes, PlotElement::scene_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
|
||||
inter_package *scene_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(scene_pack, i, inv->scene_nodes)
|
||||
FauxScenes::simplified(I, scene_pack);
|
||||
|
||||
void PlotElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
linked_list *L = Indexing::get_list_of_scenes(session);
|
||||
@<Tabulate the scenes@>;
|
||||
@<Show the legend for the scene table icons@>;
|
||||
@<Give details of each scene in turn@>;
|
||||
|
@ -35,15 +30,17 @@ about and created but never made use of.)
|
|||
|
||||
@<Tabulate the scenes@> =
|
||||
simplified_scene *ssc;
|
||||
LOOP_OVER(ssc, simplified_scene)
|
||||
LOOP_OVER_LINKED_LIST(ssc, simplified_scene, L)
|
||||
ssc->indexed_already = FALSE;
|
||||
LOOP_OVER_LINKED_LIST(ssc, simplified_scene, L)
|
||||
if ((FauxScenes::starts_at_start_of_play(ssc)) || (FauxScenes::is_entire_game(ssc)))
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, START_OF_PLAY_END, NULL);
|
||||
LOOP_OVER(ssc, simplified_scene)
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, START_OF_PLAY_END, NULL, session);
|
||||
LOOP_OVER_LINKED_LIST(ssc, simplified_scene, L)
|
||||
if ((FauxScenes::starts_on_condition(ssc)) && (FauxScenes::is_entire_game(ssc) == FALSE))
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, START_OF_PLAY_END, NULL);
|
||||
LOOP_OVER(ssc, simplified_scene)
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, START_OF_PLAY_END, NULL, session);
|
||||
LOOP_OVER_LINKED_LIST(ssc, simplified_scene, L)
|
||||
if (ssc->indexed_already == FALSE)
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, NEVER_HAPPENS_END, NULL);
|
||||
PlotElement::index_from_scene(OUT, ssc, 0, NEVER_HAPPENS_END, NULL, session);
|
||||
|
||||
@<Show the legend for the scene table icons@> =
|
||||
HTML_OPEN("p");
|
||||
|
@ -69,7 +66,7 @@ about and created but never made use of.)
|
|||
@<Give details of each scene in turn@> =
|
||||
IndexUtilities::anchor(OUT, I"SDETAILS");
|
||||
simplified_scene *ssc;
|
||||
LOOP_OVER(ssc, simplified_scene) {
|
||||
LOOP_OVER_LINKED_LIST(ssc, simplified_scene, L) {
|
||||
HTML_TAG("hr");
|
||||
@<Give details of a specific scene@>;
|
||||
}
|
||||
|
@ -210,7 +207,8 @@ on the initial call when |depth| is 0.
|
|||
|
||||
=
|
||||
void PlotElement::index_from_scene(OUTPUT_STREAM, simplified_scene *ssc, int depth,
|
||||
int end, simplified_scene *sc_from) {
|
||||
int end, simplified_scene *sc_from, index_session *session) {
|
||||
linked_list *L = Indexing::get_list_of_scenes(session);
|
||||
HTML::open_indented_p(OUT, depth+1, "tight");
|
||||
@<Indicate the route by which this scene was reached@>;
|
||||
@<Name the scene in the table, italicised if we've seen it already@>;
|
||||
|
@ -261,14 +259,14 @@ this one does; then to scenes which begin when this one ends.
|
|||
|
||||
@<Indent to tabulate other scenes connected to the ends of this one@> =
|
||||
simplified_scene *ssc2;
|
||||
LOOP_OVER(ssc2, simplified_scene)
|
||||
LOOP_OVER_LINKED_LIST(ssc2, simplified_scene, L)
|
||||
for (simplified_connector *scon = ssc2->ends[0]->anchor_connectors; scon; scon=scon->next)
|
||||
if ((FauxScenes::connects_to(scon) == ssc) && (FauxScenes::scon_end(scon) >= 1))
|
||||
PlotElement::index_from_scene(OUT, ssc2, depth + 1, FauxScenes::scon_end(scon), ssc);
|
||||
LOOP_OVER(ssc2, simplified_scene)
|
||||
PlotElement::index_from_scene(OUT, ssc2, depth + 1, FauxScenes::scon_end(scon), ssc, session);
|
||||
LOOP_OVER_LINKED_LIST(ssc2, simplified_scene, L)
|
||||
for (simplified_connector *scon = ssc2->ends[0]->anchor_connectors; scon; scon=scon->next)
|
||||
if ((FauxScenes::connects_to(scon) == ssc) && (FauxScenes::scon_end(scon) == 0))
|
||||
PlotElement::index_from_scene(OUT, ssc2, depth, FauxScenes::scon_end(scon), ssc);
|
||||
PlotElement::index_from_scene(OUT, ssc2, depth, FauxScenes::scon_end(scon), ssc, session);
|
||||
|
||||
@ We have been using:
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@ To write the Relations element (Rl) in the index.
|
|||
@ A four-column table of relations.
|
||||
|
||||
=
|
||||
void RelationsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void RelationsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->relation_nodes, Synoptic::module_order);
|
||||
|
||||
HTML_OPEN("p");
|
||||
|
|
|
@ -5,9 +5,9 @@ To write the Rules for Scenes element (RS) in the index.
|
|||
@
|
||||
|
||||
=
|
||||
void RulesForScenesElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void RulesForScenesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
|
||||
HTML_OPEN("p");
|
||||
|
|
|
@ -6,9 +6,9 @@ To write the Standards element (St) in the index.
|
|||
their contents in logical order.
|
||||
|
||||
=
|
||||
void StandardsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void StandardsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, Synoptic::module_order);
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ corresponds to one of the compilation modules: thus, all the tables in the
|
|||
main source text, all the tables in the Standard Rules, and so on.
|
||||
|
||||
=
|
||||
void TablesElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void TablesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->table_nodes, Synoptic::category_order);
|
||||
|
||||
inter_package *current_mod = NULL; int mc = 0, first_ext = TRUE;
|
||||
|
|
|
@ -39,7 +39,8 @@ and text underneath in another of class "headingrubric".
|
|||
|
||||
=
|
||||
void Elements::periodic_table(OUTPUT_STREAM, index_page *current_page,
|
||||
text_stream *index_leaf, localisation_dictionary *D) {
|
||||
text_stream *index_leaf, index_session *session) {
|
||||
localisation_dictionary *D = Indexing::get_localisation(session);
|
||||
int max_elements = 0;
|
||||
index_page *ip;
|
||||
LOOP_OVER(ip, index_page)
|
||||
|
@ -162,7 +163,7 @@ content at last; and then a rule.
|
|||
HTML_TAG("hr");
|
||||
IndexUtilities::banner_line(OUT, current_page, ie->atomic_number, ie->chemical_symbol,
|
||||
ie->element_name, ie->explanation_key, NULL, D);
|
||||
Elements::render(OUT, ie->chemical_symbol, D);
|
||||
Elements::render(OUT, ie->chemical_symbol, session);
|
||||
HTML_CLOSE("div");
|
||||
}
|
||||
HTML_TAG("hr");
|
||||
|
@ -171,42 +172,42 @@ content at last; and then a rule.
|
|||
text file from the content of a single element.
|
||||
|
||||
=
|
||||
void Elements::test_card(OUTPUT_STREAM, wording W, localisation_dictionary *LD) {
|
||||
void Elements::test_card(OUTPUT_STREAM, wording W, index_session *session) {
|
||||
TEMPORARY_TEXT(elt)
|
||||
WRITE_TO(elt, "%+W", W);
|
||||
Elements::render(OUT, elt, LD);
|
||||
Elements::render(OUT, elt, session);
|
||||
DISCARD_TEXT(elt)
|
||||
}
|
||||
|
||||
@ In general, then, these are the elements:
|
||||
|
||||
=
|
||||
void Elements::render(OUTPUT_STREAM, text_stream *elt, localisation_dictionary *LD) {
|
||||
if (Str::eq_wide_string(elt, L"A1")) { GroupedElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"A2")) { AlphabeticElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ar")) { ArithmeticElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Bh")) { BehaviourElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"C")) { ContentsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Cd")) { CardElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ch")) { ChartElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Cm")) { CommandsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ev")) { EventsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Fi")) { FiguresElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Gz")) { GazetteerElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"In")) { InnardsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Lx")) { LexiconElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Mp")) { MapElement::render(OUT, LD, FALSE); return; }
|
||||
if (Str::eq_wide_string(elt, L"MT")) { MapElement::render(OUT, LD, TRUE); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ph")) { PhrasebookElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Pl")) { PlotElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Rl")) { RelationsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"RS")) { RulesForScenesElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"St")) { StandardsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Tb")) { TablesElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"To")) { TokensElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Vb")) { VerbsElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Vl")) { ValuesElement::render(OUT, LD); return; }
|
||||
if (Str::eq_wide_string(elt, L"Xt")) { ExtrasElement::render(OUT, LD); return; }
|
||||
void Elements::render(OUTPUT_STREAM, text_stream *elt, index_session *session) {
|
||||
if (Str::eq_wide_string(elt, L"A1")) { GroupedElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"A2")) { AlphabeticElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ar")) { ArithmeticElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Bh")) { BehaviourElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"C")) { ContentsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Cd")) { CardElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ch")) { ChartElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Cm")) { CommandsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ev")) { EventsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Fi")) { FiguresElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Gz")) { GazetteerElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"In")) { InnardsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Lx")) { LexiconElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Mp")) { MapElement::render(OUT, session, FALSE); return; }
|
||||
if (Str::eq_wide_string(elt, L"MT")) { MapElement::render(OUT, session, TRUE); return; }
|
||||
if (Str::eq_wide_string(elt, L"Ph")) { PhrasebookElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Pl")) { PlotElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Rl")) { RelationsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"RS")) { RulesForScenesElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"St")) { StandardsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Tb")) { TablesElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"To")) { TokensElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Vb")) { VerbsElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Vl")) { ValuesElement::render(OUT, session); return; }
|
||||
if (Str::eq_wide_string(elt, L"Xt")) { ExtrasElement::render(OUT, session); return; }
|
||||
|
||||
HTML_OPEN("p"); WRITE("NO CONTENT"); HTML_CLOSE("p");
|
||||
}
|
||||
|
|
|
@ -3,14 +3,15 @@
|
|||
To write the Tokens element (To) in the index.
|
||||
|
||||
@ =
|
||||
void TokensElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
void TokensElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.To.Explanation1");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.To.Explanation2");
|
||||
HTML_CLOSE("p");
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
|
||||
TokensElement::token(OUT, I, "anybody", NULL, I"someone_token", I"[someone]", LD);
|
||||
TokensElement::token(OUT, I, "anyone", NULL, I"someone_token", I"[someone]", LD);
|
||||
|
|
|
@ -6,9 +6,9 @@ To write the Values element (Vl) in the index.
|
|||
quite different.
|
||||
|
||||
=
|
||||
void ValuesElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
void ValuesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->variable_nodes, Synoptic::module_order);
|
||||
@<Index the variables@>;
|
||||
TreeLists::sort(inv->equation_nodes, Synoptic::module_order);
|
||||
|
|
|
@ -6,13 +6,14 @@ To write the Verbs element (Vb) in the index.
|
|||
be more usefully informative.
|
||||
|
||||
=
|
||||
void VerbsElement::render(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
void VerbsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
HTML_OPEN("p");
|
||||
Localisation::italic(OUT, LD, I"Index.Elements.Vb.About");
|
||||
HTML_CLOSE("p");
|
||||
|
||||
int verb_count = 0;
|
||||
inter_lexicon *lexicon = InterpretIndex::get_lexicon();
|
||||
inter_lexicon *lexicon = Indexing::get_lexicon(session);
|
||||
for (index_lexicon_entry *lex = lexicon->first; lex; lex = lex->sorted_next)
|
||||
if ((lex->part_of_speech == VERB_TLEXE) ||
|
||||
(lex->part_of_speech == MVERB_TLEXE) ||
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
To render the spatial map of rooms as an EPS (Encapsulated PostScript) file.
|
||||
|
||||
@ =
|
||||
void RenderEPSMap::render_map_as_EPS(filename *F, localisation_dictionary *LD) {
|
||||
inter_tree *I = InterpretIndex::get_tree();
|
||||
void RenderEPSMap::render_map_as_EPS(filename *F, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
@<Prepare the EPS levels@>;
|
||||
@<Open a stream and write the EPS map to it@>;
|
||||
}
|
||||
|
||||
@<Prepare the EPS levels@> =
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
@<Create the main EPS map super-level@>;
|
||||
for (int z=Universe.corner1.z; z>=Universe.corner0.z; z--)
|
||||
@<Create an EPS map level for this z-slice@>;
|
||||
|
||||
FauxInstances::decode_hints(faux_set, I, 2);
|
||||
FauxInstances::decode_hints(session, 2);
|
||||
if (changed_global_room_colour == FALSE)
|
||||
@<Inherit EPS room colours from those used in the World Index@>;
|
||||
|
||||
|
@ -45,7 +45,7 @@ void RenderEPSMap::render_map_as_EPS(filename *F, localisation_dictionary *LD) {
|
|||
}
|
||||
|
||||
Str::clear(eml->titling);
|
||||
HTMLMap::devise_level_rubric(z, eml->titling, LD);
|
||||
HTMLMap::devise_level_rubric(z, eml->titling, session);
|
||||
|
||||
if (Str::len(eml->titling) == 0) eml->contains_titling = FALSE;
|
||||
else eml->contains_titling = TRUE;
|
||||
|
@ -65,8 +65,8 @@ void RenderEPSMap::render_map_as_EPS(filename *F, localisation_dictionary *LD) {
|
|||
R->fimd.colour);
|
||||
|
||||
@<Open a stream and write the EPS map to it@> =
|
||||
text_stream EPS_struct; text_stream *EPS = &EPS_struct;
|
||||
if (STREAM_OPEN_TO_FILE(EPS, F, ISO_ENC) == FALSE) {
|
||||
text_stream EPS_struct; text_stream *OUT = &EPS_struct;
|
||||
if (STREAM_OPEN_TO_FILE(OUT, F, ISO_ENC) == FALSE) {
|
||||
#ifdef CORE_MODULE
|
||||
Problems::fatal_on_file("Can't open index file", F);
|
||||
#endif
|
||||
|
@ -74,16 +74,16 @@ void RenderEPSMap::render_map_as_EPS(filename *F, localisation_dictionary *LD) {
|
|||
Errors::fatal_with_file("can't open index file", F);
|
||||
#endif
|
||||
}
|
||||
RenderEPSMap::EPS_compile_map(EPS);
|
||||
STREAM_CLOSE(EPS);
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
@<Plot the map itself@>;
|
||||
@<Plot all of the rubrics onto the EPS map@>;
|
||||
STREAM_CLOSE(OUT);
|
||||
|
||||
@ =
|
||||
void RenderEPSMap::EPS_compile_map(OUTPUT_STREAM) {
|
||||
@<Plot the map itself@> =
|
||||
int blh, /* total height of the EPS map area (not counting border) */
|
||||
blw, /* total width of the EPS map area (not counting border) */
|
||||
border = ConfigureIndexMap::get_int_mp(I"border-size", NULL),
|
||||
vskip = ConfigureIndexMap::get_int_mp(I"vertical-spacing", NULL);
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
@<Compute the dimensions of the EPS map@>;
|
||||
int bounding_box_width = blw+2*border, bounding_box_height = blh+2*border;
|
||||
|
||||
|
@ -117,9 +117,6 @@ void RenderEPSMap::EPS_compile_map(OUTPUT_STREAM) {
|
|||
}
|
||||
}
|
||||
|
||||
@<Plot all of the rubrics onto the EPS map@>;
|
||||
}
|
||||
|
||||
@<Compute the dimensions of the EPS map@> =
|
||||
int total_chunk_height = 0, max_chunk_width = 0;
|
||||
EPS_map_level *eml;
|
||||
|
|
|
@ -27,8 +27,8 @@ this icon position, and has the same indexing as the icon grid.
|
|||
faux_instance **room_grid = NULL;
|
||||
int *icon_grid = NULL, *exit_grid = NULL;
|
||||
|
||||
void HTMLMap::calculate_map_grid(void) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
void HTMLMap::calculate_map_grid(index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
@<Allocate the three mapping grids@>;
|
||||
@<Populate the room grid@>;
|
||||
@<Populate the icon and exit grids@>;
|
||||
|
@ -386,14 +386,15 @@ as the icon grid in order to be sure that the little 1 by 1 map for it (in
|
|||
the details part of the World Index page) will be all right.
|
||||
|
||||
=
|
||||
void HTMLMap::render_map_as_HTML(OUTPUT_STREAM, localisation_dictionary *LD) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
HTMLMap::calculate_map_grid();
|
||||
void HTMLMap::render_map_as_HTML(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
HTMLMap::calculate_map_grid(session);
|
||||
|
||||
@<Choose a map colour for each region@>;
|
||||
@<Choose a map colour for each room, based on its region membership@>;
|
||||
|
||||
if (FauxInstances::no_rooms() >= 2) {
|
||||
if (FauxInstances::no_rooms(session) >= 2) {
|
||||
WRITE("\n\n");
|
||||
HTML::comment(OUT, I"WORLD WRITE MAP BEGINS");
|
||||
HTML_OPEN("p");
|
||||
|
@ -458,7 +459,7 @@ from each other.)
|
|||
|
||||
@<Draw the rubric row which labels this level of the map@> =
|
||||
TEMPORARY_TEXT(level_rubric)
|
||||
HTMLMap::devise_level_rubric(z, level_rubric, LD);
|
||||
HTMLMap::devise_level_rubric(z, level_rubric, session);
|
||||
HTML_OPEN("tr"); HTML_OPEN("td");
|
||||
int rounding = 0;
|
||||
if (z == Universe.corner1.z) rounding = ROUND_BOX_TOP;
|
||||
|
@ -481,7 +482,7 @@ from each other.)
|
|||
LOGIF(SPATIAL_MAP, "Level %d has rooms with %d <= y <= %d\n", z, y_min, y_max);
|
||||
|
||||
HTML_OPEN("tr"); HTML_OPEN("td");
|
||||
HTMLMap::plot_map_level(OUT, Universe.corner0.x, Universe.corner1.x, y_min, y_max, z, 1, LD);
|
||||
HTMLMap::plot_map_level(OUT, Universe.corner0.x, Universe.corner1.x, y_min, y_max, z, 1, session);
|
||||
HTML_CLOSE("td"); HTML_CLOSE("tr"); WRITE("\n");
|
||||
|
||||
@<Draw the baseline rubric row which concludes the map@> =
|
||||
|
@ -493,7 +494,7 @@ from each other.)
|
|||
@<Add a paragraph describing how non-standard directions are mapped@> =
|
||||
faux_instance *D; int k = 0;
|
||||
LOOP_OVER_FAUX_DIRECTIONS(faux_set, D) {
|
||||
faux_instance *A = SpatialMap::mapped_as_if(D);
|
||||
faux_instance *A = SpatialMap::mapped_as_if(D, session);
|
||||
if (A) {
|
||||
k++;
|
||||
if (k == 1) { HTML_OPEN("p"); } else WRITE("; ");
|
||||
|
@ -507,7 +508,8 @@ from each other.)
|
|||
|
||||
=
|
||||
void HTMLMap::devise_level_rubric(int z, text_stream *level_rubric,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
text_stream *key = I"Index.Elements.Mp.DefaultLevel";
|
||||
int par = 0;
|
||||
switch(Universe.corner1.z - Universe.corner0.z) {
|
||||
|
@ -517,7 +519,7 @@ void HTMLMap::devise_level_rubric(int z, text_stream *level_rubric,
|
|||
if (z == Universe.corner1.z) key = I"Index.Elements.Mp.UpperLevel";
|
||||
break;
|
||||
default: {
|
||||
int z_offset = z - SpatialMap::benchmark_level();
|
||||
int z_offset = z - SpatialMap::benchmark_level(session);
|
||||
switch(z_offset) {
|
||||
case 0: key = I"Index.Elements.Mp.StartingLevel"; break;
|
||||
case 1: key = I"Index.Elements.Mp.FirstLevelUp"; break;
|
||||
|
@ -551,7 +553,7 @@ that the grids are calculated, the region colours decided, and so on.
|
|||
|
||||
=
|
||||
void HTMLMap::render_single_room_as_HTML(OUTPUT_STREAM, faux_instance *R,
|
||||
localisation_dictionary *LD) {
|
||||
index_session *session) {
|
||||
WRITE("\n\n");
|
||||
HTML_OPEN("p");
|
||||
IndexUtilities::anchor(OUT, R->anchor_text);
|
||||
|
@ -559,11 +561,11 @@ void HTMLMap::render_single_room_as_HTML(OUTPUT_STREAM, faux_instance *R,
|
|||
HTML::begin_plain_html_table(OUT);
|
||||
HTML::first_html_column(OUT, 0);
|
||||
vector P = Room_position(R);
|
||||
HTMLMap::plot_map_level(OUT, P.x, P.x, P.y, P.y, P.z, 2, LD);
|
||||
HTMLMap::plot_map_level(OUT, P.x, P.x, P.y, P.y, P.z, 2, session);
|
||||
HTML::next_html_column(OUT, 0);
|
||||
WRITE(" ");
|
||||
HTML::next_html_column(OUT, 0);
|
||||
MapElement::index(OUT, R, 1, FALSE, LD);
|
||||
MapElement::index(OUT, R, 1, FALSE, session);
|
||||
HTML::end_html_row(OUT);
|
||||
HTML::end_html_table(OUT);
|
||||
HTML_CLOSE("p");
|
||||
|
@ -577,7 +579,7 @@ index page.
|
|||
|
||||
=
|
||||
void HTMLMap::plot_map_level(OUTPUT_STREAM, int x0, int x1, int y0, int y1, int z,
|
||||
int pass, localisation_dictionary *LD) {
|
||||
int pass, index_session *session) {
|
||||
if (pass == 1)
|
||||
LOGIF(SPATIAL_MAP, "Plot: [%d, %d] x [%d, %d] x {%d}\n", x0, x1, y0, y1, z);
|
||||
|
||||
|
@ -694,15 +696,15 @@ height, and they're drawn with a single stripe.
|
|||
HTMLMap::begin_map_table(OUT, MAP_CELL_SIZE, MAP_CELL_OUTER_SIZE);
|
||||
HTML_OPEN("tr");
|
||||
HTML_OPEN("td");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 0, 2, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 0, 2, session);
|
||||
if (icon_grid[ICON_GRID_POS(P, 0, 0)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"s_dot"); else HTMLMap::plot_map_icon(OUT, I"ns_spacer");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 1, 0, 8, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 2, 0, 0, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 3, 0, -1, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 1, 0, 8, session);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 2, 0, 0, session);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 3, 0, -1, session);
|
||||
if (icon_grid[ICON_GRID_POS(P, 4, 0)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"s_dot"); else HTMLMap::plot_map_icon(OUT, I"ns_spacer");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 0, 1, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 0, 1, session);
|
||||
HTML_CLOSE("td");
|
||||
HTML_CLOSE("tr");
|
||||
HTMLMap::end_map_table(OUT);
|
||||
|
@ -720,11 +722,11 @@ height, and they're drawn with a single stripe.
|
|||
if (icon_grid[ICON_GRID_POS(P, 0, 0)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"e_dot"); else HTMLMap::plot_map_icon(OUT, I"ew_spacer");
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 1, 11, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 1, 11, session);
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 2, 7, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 2, 7, session);
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 3, -1, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 3, -1, session);
|
||||
HTML_TAG("br");
|
||||
if (icon_grid[ICON_GRID_POS(P, 0, 4)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"e_dot"); else HTMLMap::plot_map_icon(OUT, I"ew_spacer");
|
||||
|
@ -742,11 +744,11 @@ height, and they're drawn with a single stripe.
|
|||
if (icon_grid[ICON_GRID_POS(P, 4, 0)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"w_dot"); else HTMLMap::plot_map_icon(OUT, I"ew_spacer");
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 1, -1, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 1, -1, session);
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 2, 6, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 2, 6, session);
|
||||
HTML_TAG("br");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 3, 10, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 3, 10, session);
|
||||
HTML_TAG("br");
|
||||
if (icon_grid[ICON_GRID_POS(P, 4, 4)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"w_dot"); else HTMLMap::plot_map_icon(OUT, I"ew_spacer");
|
||||
|
@ -766,7 +768,7 @@ There are 15 possibilities, and their icons are named as the following shows:
|
|||
HTML_OPEN("td");
|
||||
int bits = (icon_grid[ICON_GRID_POS(P, 2, 2)]) & LONGS_BITMAP;
|
||||
if (bits == 0)
|
||||
HTMLMap::index_room_square(OUT, room_grid[ROOM_GRID_POS(P)], pass);
|
||||
HTMLMap::index_room_square(OUT, room_grid[ROOM_GRID_POS(P)], pass, session);
|
||||
else {
|
||||
TEMPORARY_TEXT(icon_name)
|
||||
WRITE_TO(icon_name, "long");
|
||||
|
@ -785,15 +787,15 @@ There are 15 possibilities, and their icons are named as the following shows:
|
|||
HTMLMap::begin_map_table(OUT, MAP_CELL_SIZE, MAP_CELL_OUTER_SIZE);
|
||||
HTML_OPEN("tr");
|
||||
HTML_OPEN("td");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 4, 5, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 0, 4, 5, session);
|
||||
if (icon_grid[ICON_GRID_POS(P, 0, 4)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"n_dot"); else HTMLMap::plot_map_icon(OUT, I"ns_spacer");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 1, 4, -1, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 2, 4, 3, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 3, 4, 9, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 1, 4, -1, session);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 2, 4, 3, session);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 3, 4, 9, session);
|
||||
if (icon_grid[ICON_GRID_POS(P, 4, 4)] & CONNECTIVE_BITMAP)
|
||||
HTMLMap::plot_map_icon(OUT, I"n_dot"); else HTMLMap::plot_map_icon(OUT, I"ns_spacer");
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 4, 4, LD);
|
||||
HTMLMap::plot_map_cell(OUT, pass, P, 4, 4, 4, session);
|
||||
HTML_CLOSE("td");
|
||||
HTML_CLOSE("tr");
|
||||
HTMLMap::end_map_table(OUT);
|
||||
|
@ -848,8 +850,9 @@ of the cell. First, the eight cells around the outside:
|
|||
|
||||
=
|
||||
void HTMLMap::plot_map_cell(OUTPUT_STREAM, int pass, vector P, int i1, int i2,
|
||||
int faux_exit, localisation_dictionary *LD) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int faux_exit, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
int bitmap = icon_grid[ICON_GRID_POS(P, i1, i2)];
|
||||
if (pass == 2) bitmap &= CONNECTIVE_BITMAP;
|
||||
if (bitmap == 0) @<This map cell is empty@>
|
||||
|
@ -937,10 +940,10 @@ which are bordered and coloured single-cell tables.
|
|||
@d ROOM_TEXT_COLOUR "000000"
|
||||
|
||||
=
|
||||
void HTMLMap::index_room_square(OUTPUT_STREAM, faux_instance *I, int pass) {
|
||||
void HTMLMap::index_room_square(OUTPUT_STREAM, faux_instance *I, int pass, index_session *session) {
|
||||
if (I) {
|
||||
int b = ROOM_BORDER_SIZE;
|
||||
if ((I == FauxInstances::benchmark()) && (pass == 1)) b = B_ROOM_BORDER_SIZE;
|
||||
if ((I == FauxInstances::benchmark(session)) && (pass == 1)) b = B_ROOM_BORDER_SIZE;
|
||||
HTML_OPEN_WITH("table",
|
||||
"border=\"%d\" cellpadding=\"0\" cellspacing=\"0\" "
|
||||
"bordercolor=\"#%s\" width=\"%d\" height=\"%d\" title=\"%S\"",
|
||||
|
@ -971,7 +974,7 @@ void HTMLMap::index_room_square(OUTPUT_STREAM, faux_instance *I, int pass) {
|
|||
I->allocation_id);
|
||||
HTML::begin_colour(OUT, col);
|
||||
}
|
||||
if ((pass == 1) && (I == FauxInstances::benchmark())) HTML_OPEN("b");
|
||||
if ((pass == 1) && (I == FauxInstances::benchmark(session))) HTML_OPEN("b");
|
||||
TEMPORARY_TEXT(abbrev)
|
||||
WRITE_TO(abbrev, "%S", I->abbrev);
|
||||
#ifdef HTML_MAP_FONT_SIZE
|
||||
|
@ -982,7 +985,7 @@ void HTMLMap::index_room_square(OUTPUT_STREAM, faux_instance *I, int pass) {
|
|||
#ifdef HTML_MAP_FONT_SIZE
|
||||
HTML_CLOSE("span");
|
||||
#endif
|
||||
if ((pass == 1) && (I == FauxInstances::benchmark())) HTML_CLOSE("b");
|
||||
if ((pass == 1) && (I == FauxInstances::benchmark(session))) HTML_CLOSE("b");
|
||||
if (pass == 1) { HTML::end_colour(OUT); HTML_CLOSE("a"); }
|
||||
DISCARD_TEXT(abbrev)
|
||||
|
||||
|
@ -1014,17 +1017,17 @@ The part of the World Index showing which rooms belong to which regions. Note
|
|||
that nothing is shown if all of the rooms are outside of regions.
|
||||
|
||||
=
|
||||
void HTMLMap::add_region_key(OUTPUT_STREAM) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
void HTMLMap::add_region_key(OUTPUT_STREAM, index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
faux_instance *reg; int count = 0;
|
||||
LOOP_OVER_FAUX_REGIONS(faux_set, reg)
|
||||
count += HTMLMap::add_key_for(OUT, reg);
|
||||
if (count > 0) count += HTMLMap::add_key_for(OUT, NULL);
|
||||
count += HTMLMap::add_key_for(OUT, reg, session);
|
||||
if (count > 0) count += HTMLMap::add_key_for(OUT, NULL, session);
|
||||
if (count > 0) HTML_TAG("hr");
|
||||
}
|
||||
|
||||
int HTMLMap::add_key_for(OUTPUT_STREAM, faux_instance *reg) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
int HTMLMap::add_key_for(OUTPUT_STREAM, faux_instance *reg, index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
int count = 0;
|
||||
faux_instance *R;
|
||||
LOOP_OVER_FAUX_ROOMS(faux_set, R) {
|
||||
|
@ -1046,7 +1049,7 @@ int HTMLMap::add_key_for(OUTPUT_STREAM, faux_instance *reg) {
|
|||
HTML::begin_plain_html_table(OUT);
|
||||
HTML_OPEN("tr"); WRITE("\n");
|
||||
HTML_OPEN_WITH("td", "width=\"40\" valign=\"middle\" align=\"left\"");
|
||||
HTMLMap::index_room_square(OUT, R, 1);
|
||||
HTMLMap::index_room_square(OUT, R, 1, session);
|
||||
HTML_CLOSE("td"); WRITE("\n");
|
||||
HTML_OPEN_WITH("td", "valign=\"middle\" align=\"left\"");
|
||||
WRITE("<b>");
|
||||
|
|
|
@ -73,6 +73,7 @@ typedef struct connected_submap {
|
|||
int incidence_cache_size; /* how large that cache is */
|
||||
struct cuboid incidence_cache_bounds; /* bounds of the incidence cache array */
|
||||
int superpositions; /* number of pairs of rooms which share the same grid location */
|
||||
struct index_session *for_session;
|
||||
CLASS_DEFINITION
|
||||
} connected_submap;
|
||||
|
||||
|
@ -85,9 +86,9 @@ cuboid Universe;
|
|||
This is usually the room in which the player begins.
|
||||
|
||||
=
|
||||
int SpatialMap::benchmark_level(void) {
|
||||
if (FauxInstances::benchmark() == NULL) return 0;
|
||||
return Room_position(FauxInstances::benchmark()).z;
|
||||
int SpatialMap::benchmark_level(index_session *session) {
|
||||
if (FauxInstances::benchmark(session) == NULL) return 0;
|
||||
return Room_position(FauxInstances::benchmark(session)).z;
|
||||
}
|
||||
|
||||
@ We are going to be iterating through the set of rooms often. Looping over
|
||||
|
@ -133,9 +134,9 @@ to get the results in time to write them in the story file.
|
|||
int spatial_coordinates_established = FALSE;
|
||||
int partitioned_into_components = FALSE;
|
||||
|
||||
void SpatialMap::establish_spatial_coordinates(void) {
|
||||
void SpatialMap::establish_spatial_coordinates(index_session *session) {
|
||||
if (spatial_coordinates_established) return;
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
Universe = Geometry::empty_cuboid();
|
||||
@<(1) Create the spatial relationship arrays@>;
|
||||
@<(2) Partition the set of rooms into component submaps@>;
|
||||
|
@ -211,8 +212,8 @@ When we read this, we associate direction object 13, say (the starboard
|
|||
direction) with page direction 6:
|
||||
|
||||
=
|
||||
faux_instance *SpatialMap::mapped_as_if(faux_instance *I) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance *SpatialMap::mapped_as_if(faux_instance *I, index_session *session) {
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
int i = I->direction_index;
|
||||
if (story_dir_to_page_dir[i] == i) return NULL;
|
||||
faux_instance *D;
|
||||
|
@ -332,7 +333,7 @@ we use these hard-wired macros instead.
|
|||
for (i=0; i<12; i++)
|
||||
|
||||
@d LOOP_OVER_STORY_DIRECTIONS(i)
|
||||
for (i=0; ((i<FauxInstances::no_directions()) && (i<MAX_DIRECTIONS)); i++)
|
||||
for (i=0; ((i<FauxInstances::no_directions(session)) && (i<MAX_DIRECTIONS)); i++)
|
||||
|
||||
@d LOOP_OVER_LATTICE_DIRECTIONS(i)
|
||||
for (i=0; i<10; i++)
|
||||
|
@ -618,7 +619,7 @@ faux_instance *SpatialMap::read_slock(faux_instance *from, int dir) {
|
|||
Here's an empty submap, with no rooms.
|
||||
|
||||
=
|
||||
connected_submap *SpatialMap::new_submap(void) {
|
||||
connected_submap *SpatialMap::new_submap(index_session *session) {
|
||||
connected_submap *sub = CREATE(connected_submap);
|
||||
sub->bounds = Geometry::empty_cuboid();
|
||||
sub->first_room_in_submap = NULL;
|
||||
|
@ -626,6 +627,7 @@ connected_submap *SpatialMap::new_submap(void) {
|
|||
sub->incidence_cache = NULL;
|
||||
sub->incidence_cache_bounds = Geometry::empty_cuboid();
|
||||
sub->superpositions = 0;
|
||||
sub->for_session = session;
|
||||
return sub;
|
||||
}
|
||||
|
||||
|
@ -797,7 +799,7 @@ since its rooms have all moved out.
|
|||
=
|
||||
void SpatialMap::create_submaps_from_zones(connected_submap *sub,
|
||||
int Z1_number, connected_submap *Zone1, int Z2_number, connected_submap *Zone2) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(sub->for_session);
|
||||
faux_instance *R;
|
||||
LOOP_OVER_FAUX_ROOMS(faux_set, R) {
|
||||
if (R->fimd.zone == Z1_number)
|
||||
|
@ -815,7 +817,7 @@ reverse process exactly.
|
|||
=
|
||||
void SpatialMap::create_zones_from_submaps(connected_submap *sub,
|
||||
int Z1_number, connected_submap *Zone1, int Z2_number, connected_submap *Zone2) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(sub->for_session);
|
||||
faux_instance *R;
|
||||
LOOP_OVER_FAUX_ROOMS(faux_set, R) {
|
||||
if (R->fimd.submap == Zone1) {
|
||||
|
@ -839,11 +841,11 @@ We ensure that the first-created component is the one containing the
|
|||
benchmark room.
|
||||
|
||||
@<(2) Partition the set of rooms into component submaps@> =
|
||||
SpatialMap::create_map_component_around(FauxInstances::benchmark());
|
||||
SpatialMap::create_map_component_around(FauxInstances::benchmark(session), session);
|
||||
faux_instance *R;
|
||||
LOOP_OVER_FAUX_ROOMS(faux_set, R)
|
||||
if (R->fimd.submap == NULL)
|
||||
SpatialMap::create_map_component_around(R);
|
||||
SpatialMap::create_map_component_around(R, session);
|
||||
|
||||
@ The following grows a component outwards from |at|, so that it also includes
|
||||
all rooms locked to |at| or with a SR to it. If |at| is currently not in a
|
||||
|
@ -854,21 +856,21 @@ doesn't depend on $R$, the number of rooms. It is called exactly once for
|
|||
each room, so phase (2) has running time $O(R)$.
|
||||
|
||||
=
|
||||
void SpatialMap::create_map_component_around(faux_instance *at) {
|
||||
void SpatialMap::create_map_component_around(faux_instance *at, index_session *session) {
|
||||
if (at->fimd.submap == NULL)
|
||||
SpatialMap::add_room_to_submap(at, SpatialMap::new_submap());
|
||||
SpatialMap::add_room_to_submap(at, SpatialMap::new_submap(session));
|
||||
|
||||
int i;
|
||||
LOOP_OVER_LATTICE_DIRECTIONS(i) {
|
||||
faux_instance *locked_to = SpatialMap::read_slock(at, i);
|
||||
if ((locked_to) && (locked_to->fimd.submap != at->fimd.submap)) {
|
||||
SpatialMap::add_room_to_submap(locked_to, at->fimd.submap);
|
||||
SpatialMap::create_map_component_around(locked_to);
|
||||
SpatialMap::create_map_component_around(locked_to, session);
|
||||
}
|
||||
faux_instance *dest = SpatialMap::read_smap(at, i);
|
||||
if ((dest) && (dest->fimd.submap != at->fimd.submap)) {
|
||||
SpatialMap::add_room_to_submap(dest, at->fimd.submap);
|
||||
SpatialMap::create_map_component_around(dest);
|
||||
SpatialMap::create_map_component_around(dest, session);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1245,8 +1247,8 @@ dividing at one relationship F1-to-T1 or at two, F1-to-T1 and F2-to-T2.
|
|||
Z1_count, Z2_count);
|
||||
|
||||
@<Divide the submap into zones, recurse to position those, then merge back@> =
|
||||
connected_submap *Zone1 = SpatialMap::new_submap();
|
||||
connected_submap *Zone2 = SpatialMap::new_submap();
|
||||
connected_submap *Zone1 = SpatialMap::new_submap(sub->for_session);
|
||||
connected_submap *Zone2 = SpatialMap::new_submap(sub->for_session);
|
||||
SpatialMap::create_submaps_from_zones(sub, Z1_number, Zone1, Z2_number, Zone2);
|
||||
LOGIF(SPATIAL_MAP, "Zone 1 becomes submap %d; zone 2 becomes submap %d\n",
|
||||
Zone1->allocation_id, Zone2->allocation_id);
|
||||
|
@ -2368,7 +2370,7 @@ predecessor, with the same baseline, and on the level of the benchmark room.
|
|||
sub->allocation_id, sub->bounds.population);
|
||||
SpatialMap::move_component(sub,
|
||||
Geometry::vec(x_max, box.corner0.y - sub->bounds.corner0.y,
|
||||
SpatialMap::benchmark_level() - sub->bounds.corner0.z));
|
||||
SpatialMap::benchmark_level(session) - sub->bounds.corner0.z));
|
||||
|
||||
@ The drill square is a way to place large numbers of single-room components,
|
||||
such as exist in IF works where rooms are being plaited together live during
|
||||
|
@ -2383,7 +2385,7 @@ one big component.
|
|||
sub->allocation_id, sub->bounds.population);
|
||||
if (drill_square_side == 0) {
|
||||
Drill_square_O =
|
||||
Geometry::vec(box.corner1.x + 1, box.corner0.y, SpatialMap::benchmark_level());
|
||||
Geometry::vec(box.corner1.x + 1, box.corner0.y, SpatialMap::benchmark_level(session));
|
||||
Drill_square_At = Drill_square_O;
|
||||
connected_submap *sing;
|
||||
int N = 0;
|
||||
|
@ -2414,7 +2416,7 @@ with.
|
|||
SpatialMap::find_link_to_placed_components(sub, &outer, &inner);
|
||||
vector Best_offset =
|
||||
Geometry::vec(x_max, box.corner0.y - sub->bounds.corner0.y,
|
||||
SpatialMap::benchmark_level() - sub->bounds.corner0.z);
|
||||
SpatialMap::benchmark_level(session) - sub->bounds.corner0.z);
|
||||
if ((outer) && (inner)) {
|
||||
int dx = 0, dy = 0, dz = 0, min_s = FUSION_POINT;
|
||||
for (dx = -MAX_OFFSET; dx <= MAX_OFFSET; dx++)
|
||||
|
@ -2542,7 +2544,7 @@ rooms connected that way are by definition in the same component.
|
|||
=
|
||||
int SpatialMap::cross_component_links(connected_submap *sub, faux_instance **outer,
|
||||
faux_instance **inner, int *heat, int posnd) {
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(sub->for_session);
|
||||
int no_links = 0;
|
||||
if (heat) *heat = 0;
|
||||
faux_instance *R;
|
||||
|
@ -2681,9 +2683,10 @@ locking means that blank planes are inevitable.
|
|||
@
|
||||
|
||||
=
|
||||
void SpatialMap::index_room_connections(OUTPUT_STREAM, faux_instance *R) {
|
||||
void SpatialMap::index_room_connections(OUTPUT_STREAM, faux_instance *R,
|
||||
index_session *session) {
|
||||
text_stream *RW = FauxInstances::get_name(R); /* name of the origin room */
|
||||
faux_instance_set *faux_set = InterpretIndex::get_faux_instances();
|
||||
faux_instance_set *faux_set = Indexing::get_set_of_instances(session);
|
||||
faux_instance *dir;
|
||||
LOOP_OVER_FAUX_DIRECTIONS(faux_set, dir) {
|
||||
int i = dir->direction_index;
|
||||
|
@ -2762,7 +2765,7 @@ void SpatialMap::index_room_connections(OUTPUT_STREAM, faux_instance *R) {
|
|||
@h Unit testing.
|
||||
|
||||
=
|
||||
void SpatialMap::perform_map_internal_test(OUTPUT_STREAM) {
|
||||
void SpatialMap::perform_map_internal_test(OUTPUT_STREAM, index_session *session) {
|
||||
connected_submap *sub;
|
||||
LOOP_OVER(sub, connected_submap) {
|
||||
WRITE("Map component %d: extent (%d...%d, %d...%d, %d...%d): population %d\n",
|
||||
|
@ -2778,7 +2781,7 @@ void SpatialMap::perform_map_internal_test(OUTPUT_STREAM) {
|
|||
Room_position(R).y,
|
||||
Room_position(R).z);
|
||||
FauxInstances::write_name(OUT, R);
|
||||
if (R == FauxInstances::benchmark()) WRITE(" (benchmark)");
|
||||
if (R == FauxInstances::benchmark(session)) WRITE(" (benchmark)");
|
||||
WRITE("\n");
|
||||
}
|
||||
WRITE("\n");
|
||||
|
|
|
@ -6,6 +6,7 @@ Licence: Artistic License 2.0
|
|||
|
||||
Chapter 1: Starting Up
|
||||
Index Module
|
||||
Indexing API
|
||||
|
||||
Chapter 2: Utilities
|
||||
Index Locations
|
||||
|
|
Loading…
Reference in a new issue