mirror of https://github.com/ganelson/inform.git
Removal of FORM option from IE-0004
This commit is contained in:
parent
d4755b43d8
commit
66596ea987
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6V95 'Krypton' (6 November 2022)
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6V96 'Krypton' (7 November 2022)
|
||||
|
||||
## About Inform
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 6 November 2022
|
||||
Build Number: 6V95
|
||||
Build Date: 7 November 2022
|
||||
Build Number: 6V96
|
||||
|
|
|
@ -291,7 +291,7 @@ others, and they are labelled with the "index entry" text.
|
|||
<span class="plain-syntax"> </span><span class="string-syntax">"AUTH"</span><span class="plain-syntax">, </span><span class="string-syntax">"(c) "</span><span class="plain-syntax">, </span><span class="string-syntax">"Fspc"</span><span class="plain-syntax">, </span><span class="string-syntax">"RelN"</span><span class="plain-syntax">, </span><span class="string-syntax">"IFmd"</span><span class="plain-syntax">, </span><span class="comment-syntax"> miscellaneous identifying data</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"JPEG"</span><span class="plain-syntax">, </span><span class="string-syntax">"PNG "</span><span class="plain-syntax">, </span><span class="comment-syntax"> images in different formats</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"AIFF"</span><span class="plain-syntax">, </span><span class="string-syntax">"OGGV"</span><span class="plain-syntax">, </span><span class="string-syntax">"MIDI"</span><span class="plain-syntax">, </span><span class="string-syntax">"MOD "</span><span class="plain-syntax">, </span><span class="comment-syntax"> sound effects in different formats</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"TEXT"</span><span class="plain-syntax">, </span><span class="string-syntax">"BINA"</span><span class="plain-syntax">, </span><span class="string-syntax">"FORM"</span><span class="plain-syntax">, </span><span class="comment-syntax"> data files in different formats</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"TEXT"</span><span class="plain-syntax">, </span><span class="string-syntax">"BINA"</span><span class="plain-syntax">, </span><span class="comment-syntax"> data files in different formats</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"ZCOD"</span><span class="plain-syntax">, </span><span class="string-syntax">"GLUL"</span><span class="plain-syntax">, </span><span class="comment-syntax"> story files in different formats</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"RDes"</span><span class="plain-syntax">, </span><span class="comment-syntax"> resource descriptions (added to the standard in March 2014)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax"> };</span>
|
||||
|
@ -495,8 +495,7 @@ own index and format types:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">type</span><span class="plain-syntax"> = </span><span class="string-syntax">"BINA"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::eq_insensitive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">format</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BINA"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">type</span><span class="plain-syntax"> = </span><span class="string-syntax">"BINA"</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><a href="../../../inweb/foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::eq_insensitive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">format</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">type</span><span class="plain-syntax"> = </span><span class="string-syntax">"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="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::eq_insensitive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">format</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FORM"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">type</span><span class="plain-syntax"> = </span><span class="string-syntax">"FORM"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="1-be.html#SP2" class="function-link"><span class="function-syntax">BlorbErrors::fatal</span></a><span class="plain-syntax">(</span><span class="string-syntax">"Invalid data file format: not BINA, TEXT or FORM"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="1-be.html#SP2" class="function-link"><span class="function-syntax">BlorbErrors::fatal</span></a><span class="plain-syntax">(</span><span class="string-syntax">"Invalid data file format: not BINA or TEXT"</span><span 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">1</span><span class="plain-syntax">) </span><a href="1-be.html#SP2" class="function-link"><span class="function-syntax">BlorbErrors::fatal</span></a><span class="plain-syntax">(</span><span class="string-syntax">"Data resource number is less than 1"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">data_resource</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">data_resource</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">resource_number</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -418,7 +418,27 @@ of a typical desktop of 2001.
|
|||
<span class="extract"><span class="extract-syntax">picture</span></span> command in the usual way, and must have picture ID 1.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. </b>Three commands help us to specify locations.
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. </b>Fourth, a command for adding static internal data files:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> data <id> <filename> format <format></span>
|
||||
</pre>
|
||||
<p class="commentary">Tells us to take the given data file and embed it into the blorb so that its
|
||||
contents can be read whenever the story is played. The "format" here can be
|
||||
either <span class="extract"><span class="extract-syntax">TEXT</span></span> or <span class="extract"><span class="extract-syntax">BINA</span></span>, meaning plain text or binary data.
|
||||
</p>
|
||||
|
||||
<p class="commentary">Exactly what <span class="extract"><span class="extract-syntax">TEXT</span></span> means will depend on how the story file wants to read
|
||||
the file, but the convention used by Inform is that it should be UTF-8 plaib
|
||||
text with Unix line breaks.
|
||||
</p>
|
||||
|
||||
<p class="commentary">Similarly, by <span class="extract"><span class="extract-syntax">BINA</span></span> Inform understands a sequence of big-endian four-byte
|
||||
data words.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </b>Three commands help us to specify locations.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -448,7 +468,7 @@ can be any number of template paths set, and Inblorb checks them in order
|
|||
of declaration (i.e., most important first).
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </b>Next we come to commands for specifying what Inblorb should release.
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b>Next we come to commands for specifying what Inblorb should release.
|
||||
At present it has seven forms of output: Blorb file, solution file, source
|
||||
text, iFiction record, miscellaneous file, website and interpreter.
|
||||
</p>
|
||||
|
@ -496,7 +516,7 @@ original.
|
|||
the named file is placed in the release folder.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b>Finally we come to web pages.
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>Finally we come to web pages.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -544,7 +564,7 @@ specified in the template's "(extras.txt)" are released as well. See
|
|||
"Writing with Inform" for more.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>An optional addition for a website is to incorporate a playable-in-browser
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. </b>An optional addition for a website is to incorporate a playable-in-browser
|
||||
form of the story, by base64-encoding the story file within a Javascript
|
||||
wrapper, then calling an interpreter such as Parchment.
|
||||
</p>
|
||||
|
@ -579,7 +599,7 @@ interpreter with a Glulx story file, it's Inblorb which issues the error,
|
|||
not Inform itself.)
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. </b>Finally (really finally this time), three commands to do with the
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. </b>Finally (really finally this time), three commands to do with the
|
||||
"status" page, an HTML page written by Inblorb to report back on
|
||||
what it has done. If requested, this is constructed for reading within
|
||||
the Inform application — it is not a valid HTML page in other
|
||||
|
|
|
@ -373,7 +373,6 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the internal files</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
@ -427,10 +426,6 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Offer a binary preview</span><span class="named-paragraph-number">1.3.1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Offer a binary preview</span><span class="named-paragraph-number">1.3.1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.MissingInternalFile"</span><span class="plain-syntax">);</span>
|
||||
|
@ -479,7 +474,7 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-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="3-fe.html#SP1_3_1_1">§1.3.1.1</a> (twice).</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3_1_1">§1.3.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1_2" class="paragraph-anchor"></a><b>§1.3.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a table row for the internal file</span><span class="named-paragraph-number">1.3.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
|
@ -496,7 +491,6 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(text) "</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(binary) "</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(form) "</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::required_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -125,7 +125,6 @@ function togglePopup(material_id) {
|
|||
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><definite-article></span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-sentence-subject></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { pass 2 }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">data/binary</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { INTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">text</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { INTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">form</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { INTERNAL_FORM_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">text</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">binary</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { EXTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-name></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }</span>
|
||||
|
@ -218,7 +217,6 @@ has been found to create a file:
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><a href="2-if.html#SP5" class="function-link"><span class="function-syntax">InternalFiles::files_create</span></a><span class="plain-syntax">(</span><span class="function-syntax"><<r>></span><span class="plain-syntax">, </span><span class="identifier-syntax">NW</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">MULTIMEDIA_CREATIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"Created internal file <%W> = filename '%N'\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NW</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -242,8 +240,7 @@ has been found to create a file:
|
|||
<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">>24) </span><span class="identifier-syntax">bad_filename</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">isalpha</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="plain-syntax">])) || (</span><span class="identifier-syntax">Characters::isdigit</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="plain-syntax">]))) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'.'</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="plain-syntax">] == </span><span class="character-syntax">'_'</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="plain-syntax">] == </span><span class="character-syntax">' '</span><span class="plain-syntax">)) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Objected to character %c\n"</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="plain-syntax">]);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bad_filename</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -103,7 +103,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unextended_filename</span><span class="plain-syntax">; </span><span class="comment-syntax"> word number of text like </span><span class="extract"><span class="extract-syntax">"ice extents.usgs"</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">local_filename</span><span class="plain-syntax">; </span><span class="comment-syntax"> of where this file is, in Materials directory</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf_identifier</span><span class="plain-syntax">; </span><span class="comment-syntax"> an Inter identifier</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">file_format</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">INTERNAL_TEXT_FILE_NFSMF</span></span><span class="comment-syntax">, </span><span class="extract"><span class="extract-syntax">INTERNAL_BINARY_FILE_NFSMF</span></span><span class="comment-syntax"> or </span><span class="extract"><span class="extract-syntax">INTERNAL_FORM_FILE_NFSMF</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">file_format</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">INTERNAL_TEXT_FILE_NFSMF</span></span><span class="comment-syntax"> or </span><span class="extract"><span class="extract-syntax">INTERNAL_BINARY_FILE_NFSMF</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">as_instance</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">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">where_created</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">resource_id</span><span class="plain-syntax">;</span>
|
||||
|
@ -191,7 +191,6 @@ created from <span class="extract"><span class="extract-syntax">Figures.w</span>
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ifd</span><span class="plain-syntax">-></span><span class="element-syntax">file_format</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"TEXT"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"BINA"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"FORM"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -195,7 +195,7 @@ char *legal_Blorb_chunk_types[] = {
|
|||
"AUTH", "(c) ", "Fspc", "RelN", "IFmd", /* miscellaneous identifying data */
|
||||
"JPEG", "PNG ", /* images in different formats */
|
||||
"AIFF", "OGGV", "MIDI", "MOD ", /* sound effects in different formats */
|
||||
"TEXT", "BINA", "FORM", /* data files in different formats */
|
||||
"TEXT", "BINA", /* data files in different formats */
|
||||
"ZCOD", "GLUL", /* story files in different formats */
|
||||
"RDes", /* resource descriptions (added to the standard in March 2014) */
|
||||
NULL };
|
||||
|
@ -386,8 +386,7 @@ void Writer::data_chunk(int n, filename *fn, text_stream *format) {
|
|||
char *type = "BINA";
|
||||
if (Str::eq_insensitive(format, I"BINA")) type = "BINA";
|
||||
else if (Str::eq_insensitive(format, I"TEXT")) type = "TEXT";
|
||||
else if (Str::eq_insensitive(format, I"FORM")) type = "FORM";
|
||||
else BlorbErrors::fatal("Invalid data file format: not BINA, TEXT or FORM");
|
||||
else BlorbErrors::fatal("Invalid data file format: not BINA or TEXT");
|
||||
|
||||
if (n < 1) BlorbErrors::fatal("Data resource number is less than 1");
|
||||
if (data_resource == NULL) data_resource = NEW_LINKED_LIST(resource_number);
|
||||
|
|
|
@ -305,6 +305,21 @@ of a typical desktop of 2001.
|
|||
specifies that this is the cover art; it must also be declared with a
|
||||
|picture| command in the usual way, and must have picture ID 1.
|
||||
|
||||
@ Fourth, a command for adding static internal data files:
|
||||
= (text as Blurb)
|
||||
data <id> <filename> format <format>
|
||||
=
|
||||
Tells us to take the given data file and embed it into the blorb so that its
|
||||
contents can be read whenever the story is played. The "format" here can be
|
||||
either |TEXT| or |BINA|, meaning plain text or binary data.
|
||||
|
||||
Exactly what |TEXT| means will depend on how the story file wants to read
|
||||
the file, but the convention used by Inform is that it should be UTF-8 plaib
|
||||
text with Unix line breaks.
|
||||
|
||||
Similarly, by |BINA| Inform understands a sequence of big-endian four-byte
|
||||
data words.
|
||||
|
||||
@ Three commands help us to specify locations.
|
||||
= (text as Blurb)
|
||||
project folder <filename>
|
||||
|
|
|
@ -7844,7 +7844,7 @@
|
|||
<s-adjective-list> hits 1442/27608 nti 27 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
not <indefinite-article> <s-adjective-list-unarticled>
|
||||
(hits 0/2994) constraint DS = {27} extremes [3, infinity)
|
||||
(hits 0/2990) constraint DS = {27} extremes [3, infinity)
|
||||
<indefinite-article> <s-adjective-list-unarticled>
|
||||
(hits 0/6957) constraint (none) extremes [2, infinity)
|
||||
<s-adjective-list-unarticled>
|
||||
|
@ -10042,8 +10042,6 @@
|
|||
(hits 0/239) constraint DS = {26, 27} extremes [4, infinity)
|
||||
internal text <external-file-name>
|
||||
(hits 0/239) constraint DS = {26, 27} extremes [4, infinity)
|
||||
internal form <external-file-name>
|
||||
(hits 0/239) constraint DS = {26, 27} extremes [4, infinity)
|
||||
text <external-file-name>
|
||||
(hits 0/304) constraint DS = {26, 27} extremes [3, infinity)
|
||||
binary <external-file-name>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Total memory consumption was 123401K = 121 MB
|
||||
|
||||
---- was used for 2055476 objects, in 366320 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2055472 objects, in 366316 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
33.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
20.6% text_stream_array 4638 x 100 = 463800 objects, 26121216 bytes
|
||||
|
@ -27,8 +27,8 @@ Total memory consumption was 123401K = 121 MB
|
|||
0.8% id_body 946 objects, 1082224 bytes
|
||||
0.7% adjective_meaning 202 objects, 1000304 bytes
|
||||
0.7% excerpt_meaning 3121 objects, 973752 bytes
|
||||
0.7% production 3957 objects, 918024 bytes
|
||||
0.7% ptoken 8590 objects, 893360 bytes
|
||||
0.7% production 3956 objects, 917792 bytes
|
||||
0.7% ptoken 8587 objects, 893048 bytes
|
||||
0.6% grammatical_usage 3641 objects, 873840 bytes
|
||||
0.6% inter_schema_node 9056 objects, 869376 bytes
|
||||
0.6% individual_form 2571 objects, 863856 bytes
|
||||
|
@ -265,5 +265,5 @@ Total memory consumption was 123401K = 121 MB
|
|||
---- code generation workspace for objects 3480 bytes in 19 claims
|
||||
0.2% emitter array storage 280544 bytes in 2001 claims
|
||||
|
||||
-147.-7% was overhead - -186760664 bytes = -182383K = -178 MB
|
||||
-147.-7% was overhead - -186760120 bytes = -182382K = -178 MB
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
100.0% in inform7 run
|
||||
70.8% in compilation to Inter
|
||||
49.8% in //Sequence::undertake_queued_tasks//
|
||||
70.0% in compilation to Inter
|
||||
49.4% in //Sequence::undertake_queued_tasks//
|
||||
4.8% in //MajorNodes::pre_pass//
|
||||
3.3% in //MajorNodes::pass_1//
|
||||
2.1% in //RTPhrasebook::compile_entries//
|
||||
1.9% in //RTPhrasebook::compile_entries//
|
||||
1.7% in //ImperativeDefinitions::assess_all//
|
||||
1.5% in //RTKindConstructors::compile//
|
||||
1.3% in //RTKindConstructors::compile//
|
||||
1.1% in //Sequence::lint_inter//
|
||||
0.5% in //MajorNodes::pass_2//
|
||||
0.5% in //Sequence::undertake_queued_tasks//
|
||||
|
@ -18,16 +18,16 @@
|
|||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
2.5% not specifically accounted for
|
||||
25.9% in running Inter pipeline
|
||||
10.1% in step 14/15: generate inform6 -> auto.inf
|
||||
5.6% in step 5/15: load-binary-kits
|
||||
5.2% in step 6/15: make-synoptic-module
|
||||
26.8% in running Inter pipeline
|
||||
10.3% in step 14/15: generate inform6 -> auto.inf
|
||||
6.0% in step 5/15: load-binary-kits
|
||||
5.6% in step 6/15: make-synoptic-module
|
||||
1.7% in step 9/15: make-identifiers-unique
|
||||
0.3% in step 12/15: eliminate-redundant-operations
|
||||
0.3% in step 4/15: compile-splats
|
||||
0.3% in step 7/15: shorten-wiring
|
||||
0.3% in step 8/15: detect-indirect-calls
|
||||
0.1% in step 11/15: eliminate-redundant-labels
|
||||
1.3% not specifically accounted for
|
||||
1.4% not specifically accounted for
|
||||
2.5% in supervisor
|
||||
0.6% not specifically accounted for
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformExtrasKit",
|
||||
"version": "10.2.0-beta+6V95"
|
||||
"version": "10.2.0-beta+6V96"
|
||||
},
|
||||
"kit-details": {
|
||||
"has-priority": 1
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformKit",
|
||||
"version": "10.2.0-beta+6V95"
|
||||
"version": "10.2.0-beta+6V96"
|
||||
},
|
||||
"needs": [ {
|
||||
"unless": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "CommandParserKit",
|
||||
"version": "10.2.0-beta+6V95"
|
||||
"version": "10.2.0-beta+6V96"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "EnglishLanguageKit",
|
||||
"version": "10.2.0-beta+6V95"
|
||||
"version": "10.2.0-beta+6V96"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit",
|
||||
"version": "10.2.0-beta+6V95"
|
||||
"version": "10.2.0-beta+6V96"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -61,7 +61,6 @@ int ExternalFiles::new_file_SMF(int task, parse_node *V, wording *NPs) {
|
|||
<definite-article> <external-file-sentence-subject> | ==> { pass 2 }
|
||||
internal data/binary <external-file-name> | ==> { INTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
internal text <external-file-name> | ==> { INTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
internal form <external-file-name> | ==> { INTERNAL_FORM_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
text <external-file-name> | ==> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
binary <external-file-name> | ==> { EXTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
<external-file-name> ==> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
|
||||
|
@ -142,7 +141,6 @@ void ExternalFiles::register_file(wording W, wording FN) {
|
|||
}
|
||||
case INTERNAL_TEXT_FILE_NFSMF:
|
||||
case INTERNAL_BINARY_FILE_NFSMF:
|
||||
case INTERNAL_FORM_FILE_NFSMF:
|
||||
InternalFiles::files_create(<<r>>, NW, FN);
|
||||
LOGIF(MULTIMEDIA_CREATIONS, "Created internal file <%W> = filename '%N'\n", NW, FN);
|
||||
break;
|
||||
|
@ -162,8 +160,7 @@ void ExternalFiles::register_file(wording W, wording FN) {
|
|||
if (i>24) bad_filename = TRUE;
|
||||
if ((isalpha(p[i])) || (Characters::isdigit(p[i]))) continue;
|
||||
if ((format == INTERNAL_TEXT_FILE_NFSMF) ||
|
||||
(format == INTERNAL_BINARY_FILE_NFSMF) ||
|
||||
(format == INTERNAL_FORM_FILE_NFSMF))
|
||||
(format == INTERNAL_BINARY_FILE_NFSMF))
|
||||
if ((p[i] == '.') || (p[i] == '_') || (p[i] == ' ')) continue;
|
||||
LOG("Objected to character %c\n", p[i]);
|
||||
bad_filename = TRUE;
|
||||
|
|
|
@ -42,7 +42,7 @@ typedef struct internal_files_data {
|
|||
int unextended_filename; /* word number of text like |"ice extents.usgs"| */
|
||||
struct filename *local_filename; /* of where this file is, in Materials directory */
|
||||
struct text_stream *inf_identifier; /* an Inter identifier */
|
||||
int file_format; /* |INTERNAL_TEXT_FILE_NFSMF|, |INTERNAL_BINARY_FILE_NFSMF| or |INTERNAL_FORM_FILE_NFSMF| */
|
||||
int file_format; /* |INTERNAL_TEXT_FILE_NFSMF| or |INTERNAL_BINARY_FILE_NFSMF| */
|
||||
struct instance *as_instance;
|
||||
struct parse_node *where_created;
|
||||
int resource_id;
|
||||
|
@ -127,7 +127,6 @@ void InternalFiles::write_blurb_commands(OUTPUT_STREAM) {
|
|||
switch (ifd->file_format) {
|
||||
case INTERNAL_TEXT_FILE_NFSMF: WRITE("TEXT"); break;
|
||||
case INTERNAL_BINARY_FILE_NFSMF: WRITE("BINA"); break;
|
||||
case INTERNAL_FORM_FILE_NFSMF: WRITE("FORM"); break;
|
||||
}
|
||||
WRITE("\n");
|
||||
}
|
||||
|
|
|
@ -277,7 +277,6 @@ to match this width, preserving the aspect ratio.
|
|||
@d EXTERNAL_BINARY_FILE_NFSMF 1
|
||||
@d INTERNAL_TEXT_FILE_NFSMF 2
|
||||
@d INTERNAL_BINARY_FILE_NFSMF 3
|
||||
@d INTERNAL_FORM_FILE_NFSMF 4
|
||||
|
||||
@<Index the internal files@> =
|
||||
HTML_OPEN("p");
|
||||
|
@ -320,10 +319,6 @@ to match this width, preserving the aspect ratio.
|
|||
WRITE_TO(description, "%S", filename_as_text);
|
||||
@<Offer a binary preview@>;
|
||||
break;
|
||||
case INTERNAL_FORM_FILE_NFSMF:
|
||||
WRITE_TO(description, "%S", filename_as_text);
|
||||
@<Offer a binary preview@>;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
Localisation::italic(description, LD, I"Index.Elements.Fi.MissingInternalFile");
|
||||
|
@ -377,7 +372,6 @@ to match this width, preserving the aspect ratio.
|
|||
switch (format) {
|
||||
case INTERNAL_TEXT_FILE_NFSMF: WRITE("(text) "); break;
|
||||
case INTERNAL_BINARY_FILE_NFSMF: WRITE("(binary) "); break;
|
||||
case INTERNAL_FORM_FILE_NFSMF: WRITE("(form) "); break;
|
||||
}
|
||||
WRITE("%S", Metadata::required_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
|
|
Loading…
Reference in New Issue