Format fixes in html files of 2014

This commit also adds the faq.html and bugs.html file that should have
been committed with 2013. The reason the faq.md is updated with only the
version update (backdated to yesterday) is because the version was not
updated with the previous update.
This commit is contained in:
Cody Boone Ferguson committed 2024-10-15 06:51:04 -07:00
1 parent 567e6541f8
commit 8eafe398e2
11 files changed
+257 -170

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@
There is alternate code that lets you redefine the port to bind to, in case There is alternate code that lets you redefine the port to bind to, in case
there is a firewall issue, and also lets you redefine the timing constant, there is a firewall issue, and also lets you redefine the timing constant,
`STARDATE`. See [Alternate code](#alternate code) below. `STARDATE`. See [Alternate code](#alternate-code) below.
## To use: ## To use:
+1 -1
View File
@@ -417,7 +417,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<pre><code> make</code></pre> <pre><code> make</code></pre>
<p>There is alternate code that lets you redefine the port to bind to, in case <p>There is alternate code that lets you redefine the port to bind to, in case
there is a firewall issue, and also lets you redefine the timing constant, there is a firewall issue, and also lets you redefine the timing constant,
<code>STARDATE</code>. See <a href="#alternate%20code">Alternate code</a> below.</p> <code>STARDATE</code>. See <a href="#alternate-code">Alternate code</a> below.</p>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<pre><code> ./prog &lt; some_secret_or_something <pre><code> ./prog &lt; some_secret_or_something
+67 -64
View File
@@ -34,8 +34,8 @@ The parameters to the program are:
6. Sprites image height. 6. Sprites image height.
7. Filename of the sprites image (raw RGBA image). 7. Filename of the sprites image (raw RGBA image).
8. Filename of the music (WAVE 8000 Hz 8bit Mono). 8. Filename of the music (WAVE 8000 Hz 8bit Mono).
9. Sky color. This number depends on the system where you run the program. See 9. Sky color. This number depends on the system where you run the program. [See
note on macOS. note on macOS](#running-under-macos).
## Try: ## Try:
@@ -50,7 +50,7 @@ If you end up telnetting to the server (feature of [mario.sh](%%REPO_URL%%/2014/
try: try:
``` ``` <!---sh-->
ls # show files including games ls # show files including games
wumpus.bas # play Hunt the Wumpus wumpus.bas # play Hunt the Wumpus
advent.gam # you know what this is! :-) advent.gam # you know what this is! :-)
@@ -135,9 +135,6 @@ dies or loses its powers.
### Running under macOS ### Running under macOS
[NOTE: this seems to no longer be the case as of 2023 and most likely much
earlier. However one can change the look of the game doing this anyway:]
The color of the sky is wrong on macOS. You need to flip some bytes from the The color of the sky is wrong on macOS. You need to flip some bytes from the
last parameter of the program: last parameter of the program:
@@ -171,8 +168,8 @@ because `while(c=getchar())` is not evil.
6. Sprites image height. 6. Sprites image height.
7. Filename of the sprites image (raw RGBA image). 7. Filename of the sprites image (raw RGBA image).
8. Filename of the music (WAVE 8000 Hz 8bit Mono). 8. Filename of the music (WAVE 8000 Hz 8bit Mono).
9. Sky color. This number depends on the system where you run the program. See 9. Sky color. This number depends on the system where you run the program. [See
note on macOS. note on macOS](#running-under-macos).
## Sprites ## Sprites
@@ -190,29 +187,45 @@ grid, sprite 8 is the first sprite of the second row of the grid etc.).
Some positions of the grid have a predefined purpose: Some positions of the grid have a predefined purpose:
```
Position | Description - 0
:-----------------|:-------------- * Player standing right
0 | Player standing right - 1
1 | Player walking right frame 0 * Player walking right frame 0
2 | Player walking right frame 1 - 2
3 | Player jumping right * Player walking right frame 1
4 | Player standing left - 3
5 | Player walking left frame 0 * Player jumping right
6 | Player walking left frame 1 - 4
7 | Player jumping left * Player standing left
8 *(second row)* | Super player standing right - 5
9 | Super player walking right frame 0 * Player walking left frame 0
10 | Super player walking right frame 1 - 6
11 | Super player jumping right * Player walking left frame 1
12 | Super player standing left - 7
13 | Super player walking left frame 0 * Player jumping left
14 | Super player walking left frame 1 - 8 _(second row)_
15 | Super player jumping left * Super player standing right
24 | Player dead - 9
32 | Player won * Super player walking right frame 0
40 | Super player won - 10
``` * Super player walking right frame 1
- 11
* Super player jumping right
- 12
* Super player standing left
- 13
* Super player walking left frame 0
- 14
* Super player walking left frame 1
- 15
* Super player jumping left
- 24
* Player dead
- 32
* Player won
- 40
* Super player won
All the others sprites can be used as you want, depending on the game you want All the others sprites can be used as you want, depending on the game you want
to create. to create.
@@ -243,53 +256,43 @@ Each row has six columns:
`CLASSFLAGS` must be a combination (bitwise OR) of some of these constants: `CLASSFLAGS` must be a combination (bitwise OR) of some of these constants:
* `ENEMY` (`1`) * `ENEMY` (`1`)
- An enemy. `CLASSPARAM0` can be 0 if the enemies don't move, 1 if the
An enemy. CLASSPARAM0 can be 0 if the enemies don't move, 1 if the initial move direction is right, -1 if that direction is left. All enemies
initial move direction is right, -1 if that direction is left. All that walk will change their direction after 20 steps. The sprite of an enemy
enemies that walk will change their direction after 20 steps. The must have 2 other adjacent sprites: `SPRITE-1`, used when the enemy dies, and
sprite of an enemy must have 2 other adjacent sprites: SPRITE-1, `SPRITE+1`, used when it moves.
used when the enemy dies, and SPRITE+1, used when it moves.
* `BLOCK` (`2`) * `BLOCK` (`2`)
- A wall. Player can walk over the object but can not pass through it.
A wall. Player can walk over the object but can not pass through it.
* `OBJECT BLOCK` (`4`) * `OBJECT BLOCK` (`4`)
- When the player hits the object from below, a new object is created.
When the player hits the object from below, a new object is created. `CLASSFLAGS` of the new object is defined in `CLASSPARAM0`. The sprite used
CLASSFLAGS of the new object is defined in CLASSPARAM0. The sprite for the new object is defined in `CLASSPARAM1`. The sprite of the new object
used for the new object is defined in CLASSPARAM1. The sprite of the must have an adjacent sprite: `SPRITE+1`, used when the block is hit.
new object must have an adjacent sprite: SPRITE+1, used when the
block is hit.
* `POWERUP` (`8`) * `POWERUP` (`8`)
- This is a power-up like the classic Mario mushroom. When the character
This is a power-up like the classic Mario mushroom. When the hits the power-up object, the character becomes the Super character. If
character hits the power-up object, the character becomes the Super `CLASSFLAGS` has the bit `ZOOM`, the character height will be doubled. The
character. If CLASSFLAGS has the bit ZOOM, the character height will Super character can hit the enemies without dying, but when this happens,
be doubled. The Super character can hit the enemies without dying, the Super character goes back to being normal.
but when this happens, the Super character goes back to being
normal.
* `END` (`16`) * `END` (`16`)
- When the player hits this object the level ends; the player wins.
When the player hits this object the level ends; the player wins.
* `ZOOM` (`32`) * `ZOOM` (`32`)
- This flag can be used with `POWERUP` to indicate a power-up that will
This flag can be used with POWERUP to indicate a power-up that double the size of the player (like the Mario mushroom).
will double the size of the player (like the Mario mushroom).
* `DESTROY` (`64`) * `DESTROY` (`64`)
- When the player hits the object (e.g. the classic Mario coin) the object
When the player hits the object (e.g. the classic Mario coin) the disappears but the engine does not count the points, so, from the player
object disappears but the engine does not count the points, so, point of view, this object is useless.
from the player point of view, this object is useless.
* `DESTROYUP` (`128`) * `DESTROYUP` (`128`)
- This object is like a `BLOCK` but when the player hits the object from
This object is like a BLOCK but when the player hits the object below, the object disappears.
from below, the object disappears.
If `CLASSFLAGS` is `0` the object only has an aesthetic function. If `CLASSFLAGS` is `0` the object only has an aesthetic function.
+129 -60
View File
@@ -431,8 +431,8 @@ if you don’t know how to do this for your system.</p>
<li>Sprites image height.</li> <li>Sprites image height.</li>
<li>Filename of the sprites image (raw RGBA image).</li> <li>Filename of the sprites image (raw RGBA image).</li>
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li> <li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
<li>Sky color. This number depends on the system where you run the program. See <li>Sky color. This number depends on the system where you run the program. <a href="#running-under-macos">See
note on macOS.</li> note on macOS</a>.</li>
</ol> </ol>
<h2 id="try">Try:</h2> <h2 id="try">Try:</h2>
<pre><code> ./giana.sh <pre><code> ./giana.sh
@@ -489,8 +489,6 @@ these type of obstacles but cannot walk through them.</p></li>
dies or loses its powers.</p></li> dies or loses its powers.</p></li>
</ul> </ul>
<h3 id="running-under-macos">Running under macOS</h3> <h3 id="running-under-macos">Running under macOS</h3>
<p>[NOTE: this seems to no longer be the case as of 2023 and most likely much
earlier. However one can change the look of the game doing this anyway:]</p>
<p>The color of the sky is wrong on macOS. You need to flip some bytes from the <p>The color of the sky is wrong on macOS. You need to flip some bytes from the
last parameter of the program:</p> last parameter of the program:</p>
<ul> <ul>
@@ -518,8 +516,8 @@ because <code>while(c=getchar())</code> is not evil.</li>
<li>Sprites image height.</li> <li>Sprites image height.</li>
<li>Filename of the sprites image (raw RGBA image).</li> <li>Filename of the sprites image (raw RGBA image).</li>
<li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li> <li>Filename of the music (WAVE 8000 Hz 8bit Mono).</li>
<li>Sky color. This number depends on the system where you run the program. See <li>Sky color. This number depends on the system where you run the program. <a href="#running-under-macos">See
note on macOS.</li> note on macOS</a>.</li>
</ol> </ol>
<h2 id="sprites">Sprites</h2> <h2 id="sprites">Sprites</h2>
<p>The program read a single image that contains all the game sprites. The image <p>The program read a single image that contains all the game sprites. The image
@@ -530,27 +528,84 @@ program calculates the size in this way:</p>
line, from left to right (for example sprite 0 is the top left sprite in the line, from left to right (for example sprite 0 is the top left sprite in the
grid, sprite 8 is the first sprite of the second row of the grid etc.).</p> grid, sprite 8 is the first sprite of the second row of the grid etc.).</p>
<p>Some positions of the grid have a predefined purpose:</p> <p>Some positions of the grid have a predefined purpose:</p>
<pre><code> Position | Description <ul>
:-----------------|:-------------- <li>0
0 | Player standing right <ul>
1 | Player walking right frame 0 <li>Player standing right</li>
2 | Player walking right frame 1 </ul></li>
3 | Player jumping right <li>1
4 | Player standing left <ul>
5 | Player walking left frame 0 <li>Player walking right frame 0</li>
6 | Player walking left frame 1 </ul></li>
7 | Player jumping left <li>2
8 *(second row)* | Super player standing right <ul>
9 | Super player walking right frame 0 <li>Player walking right frame 1</li>
10 | Super player walking right frame 1 </ul></li>
11 | Super player jumping right <li>3
12 | Super player standing left <ul>
13 | Super player walking left frame 0 <li>Player jumping right</li>
14 | Super player walking left frame 1 </ul></li>
15 | Super player jumping left <li>4
24 | Player dead <ul>
32 | Player won <li>Player standing left</li>
40 | Super player won</code></pre> </ul></li>
<li>5
<ul>
<li>Player walking left frame 0</li>
</ul></li>
<li>6
<ul>
<li>Player walking left frame 1</li>
</ul></li>
<li>7
<ul>
<li>Player jumping left</li>
</ul></li>
<li>8 <em>(second row)</em>
<ul>
<li>Super player standing right</li>
</ul></li>
<li>9
<ul>
<li>Super player walking right frame 0</li>
</ul></li>
<li>10
<ul>
<li>Super player walking right frame 1</li>
</ul></li>
<li>11
<ul>
<li>Super player jumping right</li>
</ul></li>
<li>12
<ul>
<li>Super player standing left</li>
</ul></li>
<li>13
<ul>
<li>Super player walking left frame 0</li>
</ul></li>
<li>14
<ul>
<li>Super player walking left frame 1</li>
</ul></li>
<li>15
<ul>
<li>Super player jumping left</li>
</ul></li>
<li>24
<ul>
<li>Player dead</li>
</ul></li>
<li>32
<ul>
<li>Player won</li>
</ul></li>
<li>40
<ul>
<li>Super player won</li>
</ul></li>
</ul>
<p>All the others sprites can be used as you want, depending on the game you want <p>All the others sprites can be used as you want, depending on the game you want
to create.</p> to create.</p>
<h2 id="levels">Levels</h2> <h2 id="levels">Levels</h2>
@@ -571,39 +626,53 @@ here:</p>
</ol> </ol>
<p><code>CLASSFLAGS</code> must be a combination (bitwise OR) of some of these constants:</p> <p><code>CLASSFLAGS</code> must be a combination (bitwise OR) of some of these constants:</p>
<ul> <ul>
<li><p><code>ENEMY</code> (<code>1</code>)</p> <li><code>ENEMY</code> (<code>1</code>)
<pre><code> An enemy. CLASSPARAM0 can be 0 if the enemies don&#39;t move, 1 if the <ul>
initial move direction is right, -1 if that direction is left. All <li>An enemy. <code>CLASSPARAM0</code> can be 0 if the enemies don’t move, 1 if the
enemies that walk will change their direction after 20 steps. The initial move direction is right, -1 if that direction is left. All enemies
sprite of an enemy must have 2 other adjacent sprites: SPRITE-1, that walk will change their direction after 20 steps. The sprite of an enemy
used when the enemy dies, and SPRITE+1, used when it moves.</code></pre></li> must have 2 other adjacent sprites: <code>SPRITE-1</code>, used when the enemy dies, and
<li><p><code>BLOCK</code> (<code>2</code>)</p> <code>SPRITE+1</code>, used when it moves.</li>
<pre><code> A wall. Player can walk over the object but can not pass through it.</code></pre></li> </ul></li>
<li><p><code>OBJECT BLOCK</code> (<code>4</code>)</p> <li><code>BLOCK</code> (<code>2</code>)
<pre><code> When the player hits the object from below, a new object is created. <ul>
CLASSFLAGS of the new object is defined in CLASSPARAM0. The sprite <li>A wall. Player can walk over the object but can not pass through it.</li>
used for the new object is defined in CLASSPARAM1. The sprite of the </ul></li>
new object must have an adjacent sprite: SPRITE+1, used when the <li><code>OBJECT BLOCK</code> (<code>4</code>)
block is hit.</code></pre></li> <ul>
<li><p><code>POWERUP</code> (<code>8</code>)</p> <li>When the player hits the object from below, a new object is created.
<pre><code> This is a power-up like the classic Mario mushroom. When the <code>CLASSFLAGS</code> of the new object is defined in <code>CLASSPARAM0</code>. The sprite used
character hits the power-up object, the character becomes the Super for the new object is defined in <code>CLASSPARAM1</code>. The sprite of the new object
character. If CLASSFLAGS has the bit ZOOM, the character height will must have an adjacent sprite: <code>SPRITE+1</code>, used when the block is hit.</li>
be doubled. The Super character can hit the enemies without dying, </ul></li>
but when this happens, the Super character goes back to being <li><code>POWERUP</code> (<code>8</code>)
normal.</code></pre></li> <ul>
<li><p><code>END</code> (<code>16</code>)</p> <li>This is a power-up like the classic Mario mushroom. When the character
<pre><code> When the player hits this object the level ends; the player wins.</code></pre></li> hits the power-up object, the character becomes the Super character. If
<li><p><code>ZOOM</code> (<code>32</code>)</p> <code>CLASSFLAGS</code> has the bit <code>ZOOM</code>, the character height will be doubled. The
<pre><code> This flag can be used with POWERUP to indicate a power-up that Super character can hit the enemies without dying, but when this happens,
will double the size of the player (like the Mario mushroom).</code></pre></li> the Super character goes back to being normal.</li>
<li><p><code>DESTROY</code> (<code>64</code>)</p> </ul></li>
<pre><code> When the player hits the object (e.g. the classic Mario coin) the <li><code>END</code> (<code>16</code>)
object disappears but the engine does not count the points, so, <ul>
from the player point of view, this object is useless.</code></pre></li> <li>When the player hits this object the level ends; the player wins.</li>
<li><p><code>DESTROYUP</code> (<code>128</code>)</p> </ul></li>
<pre><code> This object is like a BLOCK but when the player hits the object <li><code>ZOOM</code> (<code>32</code>)
from below, the object disappears.</code></pre></li> <ul>
<li>This flag can be used with <code>POWERUP</code> to indicate a power-up that will
double the size of the player (like the Mario mushroom).</li>
</ul></li>
<li><code>DESTROY</code> (<code>64</code>)
<ul>
<li>When the player hits the object (e.g. the classic Mario coin) the object
disappears but the engine does not count the points, so, from the player
point of view, this object is useless.</li>
</ul></li>
<li><code>DESTROYUP</code> (<code>128</code>)
<ul>
<li>This object is like a <code>BLOCK</code> but when the player hits the object from
below, the object disappears.</li>
</ul></li>
</ul> </ul>
<p>If <code>CLASSFLAGS</code> is <code>0</code> the object only has an aesthetic function.</p> <p>If <code>CLASSFLAGS</code> is <code>0</code> the object only has an aesthetic function.</p>
<p>The last row of the level descriptor must have all its columns set equal to <p>The last row of the level descriptor must have all its columns set equal to
+5 -5
View File
@@ -11,7 +11,7 @@
./prog ./prog
``` ```
HINT: Try pressing the left and right arrow keys as needed. **HINT**: Try pressing the left and right arrow keys as needed.
Also try pressing space/enter to select options. Also try pressing space/enter to select options.
Pressing Q or Escape may end the fun before you are ready. :-) Pressing Q or Escape may end the fun before you are ready. :-)
@@ -66,22 +66,22 @@ The current size is a third to a half of the original size before compression.
Due to this, it does LOTS of things that subtly annoy compilers! Due to this, it does LOTS of things that subtly annoy compilers!
* (10) data argument not used by format string * `(10)` data argument not used by format string
This occurs because some of the `fprintf(3)` invocations don't use all their This occurs because some of the `fprintf(3)` invocations don't use all their
parameters. The program should still work fine! parameters. The program should still work fine!
* (1) using the result of an assignment as a condition without parentheses * `(1)` using the result of an assignment as a condition without parentheses
Somewhere, I needed to set a variable and then branch on the result. The Somewhere, I needed to set a variable and then branch on the result. The
shortest way was to combine them. Some self-proclaimed "EXPERTS" think this shortest way was to combine them. Some self-proclaimed "EXPERTS" think this
is a bad programming practice, but what do they know? :P is a bad programming practice, but what do they know? :P
* (1) implicit declaration of function 'time' is invalid in C99 * `(1)` implicit declaration of function 'time' is invalid in C99
An `#include` statement is expensive, and I'm broke. An `#include` statement is expensive, and I'm broke.
* (1) control may reach end of non-void function * `(1)` control may reach end of non-void function
Turns out that sometimes, a `return` statement is too much. This will never Turns out that sometimes, a `return` statement is too much. This will never
actually occur, but some C compilers think they know more about my program actually occur, but some C compilers think they know more about my program
+5 -13
View File
@@ -412,7 +412,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<pre><code> make</code></pre> <pre><code> make</code></pre>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<pre><code> ./prog</code></pre> <pre><code> ./prog</code></pre>
<p>HINT: Try pressing the left and right arrow keys as needed. <p><strong>HINT</strong>: Try pressing the left and right arrow keys as needed.
Also try pressing space/enter to select options. Also try pressing space/enter to select options.
Pressing Q or Escape may end the fun before you are ready. :-)</p> Pressing Q or Escape may end the fun before you are ready. :-)</p>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
@@ -449,24 +449,16 @@ size requirements. It’s currently at 2052 according to
<p>The current size is a third to a half of the original size before compression.</p> <p>The current size is a third to a half of the original size before compression.</p>
<p>Due to this, it does LOTS of things that subtly annoy compilers!</p> <p>Due to this, it does LOTS of things that subtly annoy compilers!</p>
<ul> <ul>
<li><ol start="10" type="1"> <li><p><code>(10)</code> data argument not used by format string</p>
<li>data argument not used by format string</li>
</ol>
<p>This occurs because some of the <code>fprintf(3)</code> invocations don’t use all their <p>This occurs because some of the <code>fprintf(3)</code> invocations don’t use all their
parameters. The program should still work fine!</p></li> parameters. The program should still work fine!</p></li>
<li><ol type="1"> <li><p><code>(1)</code> using the result of an assignment as a condition without parentheses</p>
<li>using the result of an assignment as a condition without parentheses</li>
</ol>
<p>Somewhere, I needed to set a variable and then branch on the result. The <p>Somewhere, I needed to set a variable and then branch on the result. The
shortest way was to combine them. Some self-proclaimed “EXPERTS” think this shortest way was to combine them. Some self-proclaimed “EXPERTS” think this
is a bad programming practice, but what do they know? :P</p></li> is a bad programming practice, but what do they know? :P</p></li>
<li><ol type="1"> <li><p><code>(1)</code> implicit declaration of function ‘time’ is invalid in C99</p>
<li>implicit declaration of function ‘time’ is invalid in C99</li>
</ol>
<p>An <code>#include</code> statement is expensive, and I’m broke.</p></li> <p>An <code>#include</code> statement is expensive, and I’m broke.</p></li>
<li><ol type="1"> <li><p><code>(1)</code> control may reach end of non-void function</p>
<li>control may reach end of non-void function</li>
</ol>
<p>Turns out that sometimes, a <code>return</code> statement is too much. This will never <p>Turns out that sometimes, a <code>return</code> statement is too much. This will never
actually occur, but some C compilers think they know more about my program actually occur, but some C compilers think they know more about my program
than I do! :P</p></li> than I do! :P</p></li>
+1 -1
View File
@@ -108,7 +108,7 @@ any code in order for the program to run correctly:
_setmode(_fileno(stdout), 0x8000); _setmode(_fileno(stdout), 0x8000);
``` ```
**NOTE**: see the [alternate code](%%REPO_URL%%/2014/vik/prog.alt.c) for this. **NOTE**: see the [Alternate code](#alternate-code) for this.
### Known Issues ### Known Issues
+1 -1
View File
@@ -458,7 +458,7 @@ the program relies on writing binary data to <code>stdout</code>.</p>
program with this platform, the following line can be added to <code>main()</code> before program with this platform, the following line can be added to <code>main()</code> before
any code in order for the program to run correctly:</p> any code in order for the program to run correctly:</p>
<pre><code> _setmode(_fileno(stdout), 0x8000);</code></pre> <pre><code> _setmode(_fileno(stdout), 0x8000);</code></pre>
<p><strong>NOTE</strong>: see the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/vik/prog.alt.c">alternate code</a> for this.</p> <p><strong>NOTE</strong>: see the <a href="#alternate-code">Alternate code</a> for this.</p>
<h3 id="known-issues">Known Issues</h3> <h3 id="known-issues">Known Issues</h3>
<p>The program uses a quite simple algorithm for detecting tone on and off events <p>The program uses a quite simple algorithm for detecting tone on and off events
in the Morse signal. Hence the program does not work well with noisy input in the Morse signal. Hence the program does not work well with noisy input
+19 -21
View File
@@ -2843,16 +2843,17 @@ used.</li>
<h3 id="status-inabiaf---please-do-not-fix-70">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3> <h3 id="status-inabiaf---please-do-not-fix-70">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
<h3 id="source-code-2013endoh1endoh1.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh1/endoh1.c">2013/endoh1/endoh1.c</a></h3> <h3 id="source-code-2013endoh1endoh1.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh1/endoh1.c">2013/endoh1/endoh1.c</a></h3>
<h3 id="information-2013endoh1index.html">Information: <a href="2013/endoh1/index.html">2013/endoh1/index.html</a></h3> <h3 id="information-2013endoh1index.html">Information: <a href="2013/endoh1/index.html">2013/endoh1/index.html</a></h3>
<p>From the author:</p> <blockquote>
<p>–</p>
<p>This program supports only “Combinator-calculus style notation” of Lazy K. <p>This program supports only “Combinator-calculus style notation” of Lazy K.
“Unlambda style” and “Iota and Jot” style are not supported.</p> “Unlambda style” and “Iota and Jot” style are not supported.</p>
</blockquote>
<blockquote>
<p>Also, it requires a space between identifiers. In short, use <code>(S K)</code> instead of <p>Also, it requires a space between identifiers. In short, use <code>(S K)</code> instead of
<code>(SK)</code>, “`sk”, **i<em>i</em>i<em>ii</em>i<em>i</em>ii<code>, or</code>11111100011100`.</p> <code>(SK)</code>, “`sk”, <code>**i*i*i*ii*i*i*ii</code>, or <code>11111100011100</code>.</p>
<p>Huge memory may be required to compile the program (about 300 MB on my machine).</p> <p>Huge memory may be required to compile the program (about 300 MB on my machine).</p>
<p>In addition, there are some limitations (and workarounds) mentioned in the <p>In addition, there are some limitations (and workarounds) mentioned in the
<a href="2013/endoh1/index.html#obfuscation">obfuscation section</a>.</p> <a href="2013/endoh1/index.html#obfuscation">obfuscation section</a>.</p>
<p>–</p> </blockquote>
<div id="2013_endoh3"> <div id="2013_endoh3">
<h2 id="endoh3">2013/endoh3</h2> <h2 id="endoh3">2013/endoh3</h2>
</div> </div>
@@ -2860,12 +2861,12 @@ used.</li>
<h3 id="source-code-2013endoh3endoh3.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh3/endoh3.c">2013/endoh3/endoh3.c</a></h3> <h3 id="source-code-2013endoh3endoh3.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh3/endoh3.c">2013/endoh3/endoh3.c</a></h3>
<h3 id="information-2013endoh3index.html">Information: <a href="2013/endoh3/index.html">2013/endoh3/index.html</a></h3> <h3 id="information-2013endoh3index.html">Information: <a href="2013/endoh3/index.html">2013/endoh3/index.html</a></h3>
<p>From the author:</p> <p>From the author:</p>
<p>–</p> <blockquote>
<p>You can <em>NOT</em> write a note length immediately followed by a note <code>E</code>, <p>You can <em>NOT</em> write a note length immediately followed by a note <code>E</code>, such as
such as <code>C2E2</code>.</p> <code>C2E2</code>.</p>
<p>Can you figure out why?</p> <p>Can you figure out why?</p>
<p>A workaround is inserting a whitespace: <code>C2 E2</code>.</p> <p>A workaround is inserting a whitespace: <code>C2 E2</code>.</p>
<p>–</p> </blockquote>
<div id="2013_endoh4"> <div id="2013_endoh4">
<h2 id="endoh4">2013/endoh4</h2> <h2 id="endoh4">2013/endoh4</h2>
</div> </div>
@@ -2904,24 +2905,21 @@ it out as a known limitation it is not a bug but a feature.</p>
<h3 id="status-inabiaf---please-do-not-fix-75">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3> <h3 id="status-inabiaf---please-do-not-fix-75">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
<h3 id="source-code-2014maffiodo1prog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/maffiodo1/prog.c">2014/maffiodo1/prog.c</a></h3> <h3 id="source-code-2014maffiodo1prog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/maffiodo1/prog.c">2014/maffiodo1/prog.c</a></h3>
<h3 id="information-2014maffiodo1index.html">Information: <a href="2014/maffiodo1/index.html">2014/maffiodo1/index.html</a></h3> <h3 id="information-2014maffiodo1index.html">Information: <a href="2014/maffiodo1/index.html">2014/maffiodo1/index.html</a></h3>
<p>The author noted that in macOS the colours might be wrong. They gave a solution. <p>The author noted that in macOS the colours might be wrong and gives a solution,
However Cody didn’t see any problem with it and he beat the series many times. though it is unclear if this is still true or if there was any problem at all.</p>
Of course the game here is small and he’s practically blind and it’s been a
while since he last played so it might be wrong. Nevertheless the author does
give a way to reconfigure the colours.</p>
<p>The author noted that the character cannot go through walls and the impression <p>The author noted that the character cannot go through walls and the impression
is that this is how it was believed but Cody ironically pointed out that there is that this is how it was believed but someone did ironically point out that
are known glitches where in some places you actually could go through walls. there are known glitches where in some places you actually could go through
This might even have applied to the arcade version, Mario Bros, though that can walls. This might even have applied to the arcade version, Mario Bros, though
no longer be confirmed by Cody. The point here is that in this game you cannot that can no longer be confirmed by said person. The point here is that in this
go through walls but it’s not a bug.</p> game you cannot go through walls but it’s not a bug.</p>
<p>On the other hand, the author also stated:</p> <p>On the other hand, the author also stated:</p>
<p>–</p> <blockquote>
<p>When the <code>Super character</code> becomes bigger (<code>ZOOM</code> flag), the character can <p>When the <code>Super character</code> becomes bigger (<code>ZOOM</code> flag), the character can
collide with blocks and get stuck inside them. This is a KNOWN BUG. When your collide with blocks and get stuck inside them. This is a KNOWN BUG. When your
player become bigger, stay away from blocks!</p> player become bigger, stay away from blocks!</p>
<p>–</p> </blockquote>
<p>but since it’s documented it’s considered a feature, not a bug to fix.</p> <p>.. but since it’s documented it’s considered a feature, not a bug to fix.</p>
<div id="2014_maffiodo2"> <div id="2014_maffiodo2">
<h2 id="maffiodo2">2014/maffiodo2</h2> <h2 id="maffiodo2">2014/maffiodo2</h2>
</div> </div>
+27 -2
View File
@@ -389,7 +389,7 @@
<!-- BEFORE: 1st line of markdown file: faq.md --> <!-- BEFORE: 1st line of markdown file: faq.md -->
<h1 id="faq-table-of-contents">FAQ Table of Contents</h1> <h1 id="faq-table-of-contents">FAQ Table of Contents</h1>
<p>This is FAQ version <strong>28.0.4 2024-08-24</strong>.</p> <p>This is FAQ version <strong>28.0.5 2024-10-14</strong>.</p>
<h2 id="section-0---submitting-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting to a new IOCCC</a></h2> <h2 id="section-0---submitting-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting to a new IOCCC</a></h2>
<ul> <ul>
<li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li> <li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li>
@@ -455,6 +455,8 @@
<li><a class="normal" href="#faq3_21">3.21 - What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li> <li><a class="normal" href="#faq3_21">3.21 - What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li>
<li><a class="normal" href="#faq3_22">3.22 - Are there any compiler warnings that I should not worry about?</a></li> <li><a class="normal" href="#faq3_22">3.22 - Are there any compiler warnings that I should not worry about?</a></li>
<li><a class="normal" href="#faq3_23">3.23 - How do I compile an IOCCC entry that requires zlib?</a></li> <li><a class="normal" href="#faq3_23">3.23 - How do I compile an IOCCC entry that requires zlib?</a></li>
<li><a class="normal" href="#faq3_24">3.24 - How do I install Ruby for entries that require it?</a></li>
<li><a class="normal" href="#faq3_25">3.25 - How do I install rake for entries that require it?</a></li>
</ul> </ul>
<h2 id="section-4---changes-made-to-ioccc-entries">Section 4 - <a href="#faq4">Changes made to IOCCC entries</a></h2> <h2 id="section-4---changes-made-to-ioccc-entries">Section 4 - <a href="#faq4">Changes made to IOCCC entries</a></h2>
<ul> <ul>
@@ -3333,6 +3335,29 @@ packages: one for compiling and one for linking / running.</p>
for downloading, installing and using zlib.</p> for downloading, installing and using zlib.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p> <p>We recommend trying a method suitable for your environment first, if possible.</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="faq3_24">
<div id="ruby">
<h3 id="faq-3.24-how-do-i-install-ruby-for-entries-that-require-it">FAQ 3.24: How do I install Ruby for entries that require it?</h3>
</div>
</div>
<p>Please see the <a href="https://www.ruby-lang.org/en/documentation/installation/">official Ruby installation
guide</a>.</p>
<p>Jump to: <a href="#">top</a></p>
<div id="faq3_25">
<div id="rake">
<h3 id="faq-3.25-how-do-i-install-rake-for-entries-that-require-it">FAQ 3.25: How do I install rake for entries that require it?</h3>
</div>
</div>
<p>First, if <code>gem</code> is not installed, see the <a href="https://github.com/rubygems/rubygems">gem GitHub repo</a>.</p>
<p>Assuming you have <code>git(1)</code> installed, you can do:</p>
<pre><code> git clone https://github.com/rubygems/rubygems
cd rubygems &amp;&amp; exe/gem install rake</code></pre>
<p>Otherwise, you can download the zip file, extract it, cd to the directory and
then run:</p>
<pre><code> exe/gem install rake</code></pre>
<p>Once this is done, try as root or via <code>sudo</code>:</p>
<pre><code> gem install rake</code></pre>
<p>Jump to: <a href="#">top</a></p>
<div id="faq4"> <div id="faq4">
<h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2> <h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2>
</div> </div>
@@ -3398,7 +3423,7 @@ can look almost identical.</p>
</div> </div>
<p>We have set up make rules to easily do see what was changed in the winning IOCCC <p>We have set up make rules to easily do see what was changed in the winning IOCCC
entry source. Using the <code>Makefile</code> in the entry directory, use entry source. Using the <code>Makefile</code> in the entry directory, use
one of the following <em>make(1)</em> rules:</p> one of the following <code>make(1)</code> rules:</p>
<p>The following <code>make</code> rules exist to make a difference:</p> <p>The following <code>make</code> rules exist to make a difference:</p>
<ul> <ul>
<li><code>make diff_orig_prog</code>: <li><code>make diff_orig_prog</code>:
+1 -1
View File
@@ -1,6 +1,6 @@
# FAQ Table of Contents # FAQ Table of Contents
This is FAQ version **28.0.4 2024-08-24**. This is FAQ version **28.0.5 2024-10-14**.
## Section 0 - [Submitting to a new IOCCC](#faq0) ## Section 0 - [Submitting to a new IOCCC](#faq0)