<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://keenwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fleexy</id>
	<title>KeenWiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://keenwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fleexy"/>
	<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/wiki/Special:Contributions/Fleexy"/>
	<updated>2026-04-14T14:50:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=50587</id>
		<title>User:Fleexy</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=50587"/>
		<updated>2024-11-22T22:15:36Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: revert MyMods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I&#039;m Fleexy, host of the Keen forums and creator of the Galaxy/Dreams editor &#039;&#039;&#039;[[Abiathar]]&#039;&#039;&#039;. You might also like to check out my [[Fleex_&amp;amp;_Markeen&#039;s_Keen_5_Level_Pack|Keen 5 level pack]] based on Markeen random generation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Please DO NOT add the MyMods section - I&#039;d like my profile to focus on my more interesting contributions. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=45516</id>
		<title>User:Fleexy</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=45516"/>
		<updated>2022-02-09T16:31:53Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: add Keen 5 level pack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I&#039;m Fleexy, host of the Keen forums and creator of the Galaxy/Dreams editor &#039;&#039;&#039;[[Abiathar]]&#039;&#039;&#039;. You might also like to check out my [[Fleex_&amp;amp;_Markeen&#039;s_Keen_5_Level_Pack|Keen 5 level pack]] based on Markeen random generation.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Fleex_%26_Markeen%27s_Keen_5_Level_Pack&amp;diff=45515</id>
		<title>Fleex &amp; Markeen&#039;s Keen 5 Level Pack</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Fleex_%26_Markeen%27s_Keen_5_Level_Pack&amp;diff=45515"/>
		<updated>2022-02-09T16:28:28Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: correct level count and tweak phrasing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
{{Mod Infobox&lt;br /&gt;
| Episode = 5&lt;br /&gt;
| Authors = [[User:Fleexy|Fleexy]]&lt;br /&gt;
| Status = Complete&lt;br /&gt;
| ReleaseDate =  2022-01-01&lt;br /&gt;
| Discussion = [https://pckf.com/viewtopic.php?t=12694 PCKF]&lt;br /&gt;
| Homepage = &lt;br /&gt;
| Levels = 12 &lt;br /&gt;
| SecretLevels = 0&lt;br /&gt;
| NewGameplay = No&lt;br /&gt;
| NewGfx = No&lt;br /&gt;
| NewLevels = Yes&lt;br /&gt;
| NewSfx = No&lt;br /&gt;
| NewMusic = No&lt;br /&gt;
| LatestDownloadURL = https://files.shikadi.net/keenwiki/Packs/Keen5/l.fleex_&amp;amp;_markeen&#039;s_keen_5_level_pack.k5.2022-01-01.zip&lt;br /&gt;
| Download = &lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Fleex &amp;amp; Markeen&#039;s Keen 5 Level Pack&#039;&#039;&#039; is a levelpack created by [[user:Fleexy|Fleex]]. This mod is notable for being based on a tool called [[Markeen]], also by Fleex, which automatically generates random level map structures. Based on the [[Keen_5_Levels|Keen 5 originals]] these raw generated levels have only the foreground layer populated. These levels were then made playable and visually reasonable by Fleex. Care was taken to adhere to the artificially generated specifications as far as possible. &lt;br /&gt;
&lt;br /&gt;
== Example of a randomly generated structure by Markeen ==&lt;br /&gt;
The first level map, as seen below, shows the original output of Markeen. The second image represents the finished level design polished by Fleex.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=380px heights=100px&amp;gt;&lt;br /&gt;
File:Fleex &amp;amp; Markeen&#039;s Keen 5 Level Pack - Level 01 alpha.png | Original output of Markeen&lt;br /&gt;
File:Fleex &amp;amp; Markeen&#039;s Keen 5 Level Pack - Level 01.png | Overhauled update by Fleex&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levels==&lt;br /&gt;
{{ModLevelList}}&lt;br /&gt;
&lt;br /&gt;
== Technical Information ==&lt;br /&gt;
&lt;br /&gt;
*Utilities used: [[Abiathar]], [[CKPatch]], [[Markeen]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Shikadi_Mine&amp;diff=45458</id>
		<title>Patch:Shikadi Mine</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Shikadi_Mine&amp;diff=45458"/>
		<updated>2021-12-30T02:44:37Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: add Sprite Activity patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Shikadi Mine]]s are oblong black enemies found in [[Keen 5]]. They are notable for being indestructible and following Keen, detonating when close enough to produce a hail of fragments. Mine also relate to the [[Patch:Quantum Explosion Dynamo (Sprite)|Q.E.D]], as a Shikadi Mine fragment is needed to break it and win the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite type|Sprite Type]] =&lt;br /&gt;
&lt;br /&gt;
Shikadi Mines use sprite type 10 which is used only by the Shikadi Mine and doesn&#039;t affect anything else. Their fragments use a different and as yet unknown sprite type.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine&#039;s sprite type&lt;br /&gt;
%patch $11C56 $0A #Mines placed in level&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy_Sprite_Parameters#Sprite_activity|Sprite Activity]] =&lt;br /&gt;
&lt;br /&gt;
Shikadi Mines have sprite activity 1, being active only when on screen.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine&#039;s sprite activity&lt;br /&gt;
%patch $11C5B $01 #Normal activity&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite actions|Sprite Actions]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine is placed in the level changing directions, which is uses to immediately track Keen. It will then go to sitting. When sitting its next action is determined in its code, not action and occurs after a pause.  After sitting it goes to its movement sequence, which will go to its direction changing action again.&lt;br /&gt;
&lt;br /&gt;
The Mine will detonate under three circumstances, Keen is close vertically, Keen is close horizontally, or Keen touches the Shikadi Mine. (The third condition is used when the Shikadi Mine is not actively detecting Keen, such as when it is changing direction.) A detonating Mine produces six fragments that move away as speed. The detonation sequence is six actions long. Shikadi Mine fragments quickly vanish.&lt;br /&gt;
&lt;br /&gt;
 Actions:&lt;br /&gt;
 $2608W #Shikadi Mine sit&lt;br /&gt;
 $2626W #Shikadi Mine move&lt;br /&gt;
 $2644W #Shikadi Mine change direction&lt;br /&gt;
 $2662W #Shikadi Mine detonate 1&lt;br /&gt;
 $2680W #Shikadi Mine detonate 2&lt;br /&gt;
 $269EW #Shikadi Mine detonate 3&lt;br /&gt;
 $26BCW #Shikadi Mine detonate 4&lt;br /&gt;
 $26DAW #Shikadi Mine detonate 5&lt;br /&gt;
 $26F8W #Shikadi Mine detonate 6&lt;br /&gt;
 $2716W #Shikadi Mine fragments&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Spawn Mine&lt;br /&gt;
%patch $11C82 {$2644W} #Shikadi Mine change direction&lt;br /&gt;
&lt;br /&gt;
#After sitting&lt;br /&gt;
%patch $1205B {$2626W} #Mine move&lt;br /&gt;
&lt;br /&gt;
#While sitting&lt;br /&gt;
%patch $32964 {$0000W} #Nothing&lt;br /&gt;
&lt;br /&gt;
#While moving&lt;br /&gt;
%patch $32982 {$2644W} #Shikadi Mine change direction&lt;br /&gt;
&lt;br /&gt;
#While changing direction&lt;br /&gt;
%patch $329A0 {$2608W} #Shikadi Mine sit&lt;br /&gt;
&lt;br /&gt;
#When in-range&lt;br /&gt;
%patch $11FF5 {$2662W} #Mine detonate (Touches Keen)&lt;br /&gt;
%patch $12187 {$2662W} #Shikadi Mine detonate (When near Keen vertically)&lt;br /&gt;
%patch $122A6 {$2662W} #Shikadi Mine detonate (When near Keen horizontally)&lt;br /&gt;
&lt;br /&gt;
#Spawn fragment when detonating&lt;br /&gt;
%patch $1240C {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
%patch $1244F {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
%patch $12490 {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
%patch $124D6 {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
%patch $12509 {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
%patch $1253F {$2716W} #Shikadi Mine fragments (When Mine explodes)&lt;br /&gt;
&lt;br /&gt;
#While detonating&lt;br /&gt;
%patch $329BE {$2680W} #Shikadi Mine detonate&lt;br /&gt;
%patch $329DC {$269EW} #Shikadi Mine detonate&lt;br /&gt;
%patch $329FA {$26BCW} #Shikadi Mine detonate&lt;br /&gt;
%patch $32A18 {$26DAW} #Shikadi Mine detonate&lt;br /&gt;
%patch $32A36 {$26F8W} #Shikadi Mine detonate&lt;br /&gt;
%patch $32A54 {$0000W} #Shikadi Mine detonate&lt;br /&gt;
&lt;br /&gt;
#Fragment behavior&lt;br /&gt;
%patch $32A72 {$0000W} #Shikadi Mine fragments&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite behavior|Sprite Behavior]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine has four behaviors. The first is sitting; this is used only when the Shikadi Mine is sitting. The second behavior is used by the moving Shikadi Mine only and moves the Shikadi Mine through the air. The third is used when changing directions to get closer to Keen. Finally the fourth destroys the Shikadi Mine and produces its fragments. This is used by the fourth frame of the detonating Shikadi Mine only. Finally the Shikadi Mine fragments themselves use a generic &#039;fall through the air&#039; behavior.&lt;br /&gt;
&lt;br /&gt;
 Behaviors:&lt;br /&gt;
 $11C4036ARL #Shikadi Mine sit&lt;br /&gt;
 $11C40507RL #Shikadi Mine move&lt;br /&gt;
 $11C40626RL #Shikadi Mine change directions&lt;br /&gt;
 $11C40783RL #Shikadi Mine explode&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $32958 $11C4036ARL #Shikadi Mine sit&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $32976 $11C40507RL #Shikadi Mine move&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine &lt;br /&gt;
%patch $32994 $11C40626RL #Shikadi Mine change directions&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine explode&lt;br /&gt;
%patch $329B2 $00000000L  #Nothing (Warning animations)&lt;br /&gt;
%patch $329D0 $00000000L  #Nothing&lt;br /&gt;
%patch $329EE $00000000L  #Nothing&lt;br /&gt;
%patch $32A0C $11C40783RL #Shikadi Mine explode&lt;br /&gt;
%patch $32A2A $00000000L  #Nothing&lt;br /&gt;
%patch $32A48 $00000000L  #Nothing&lt;br /&gt;
&lt;br /&gt;
#Fragments&lt;br /&gt;
%patch $32A66 $090B1710RL #Fall&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Patch:Seeking Keen|Seeking Keen]] ==&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine can move in four directions to chase Keen. These consist of a pair of directions, one vertical, one horizontal. At least ONE must be zero in each direction or problems occur. Reversing all of the direction pairs will make the Mine avoid Keen, reversing only the first (Or second) two pairs will make the Mine&#039;s movements rather random and hard to predict.&lt;br /&gt;
&lt;br /&gt;
=== Keen seeking ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Seek Keen up&lt;br /&gt;
%patch $11D84 $0000W #Horizontal&lt;br /&gt;
%patch $11D89 $FFFFW #Vertical&lt;br /&gt;
&lt;br /&gt;
#Seek Keen right&lt;br /&gt;
%patch $11DB1 $0001W #Horizontal&lt;br /&gt;
%patch $11DB6 $0000W #Vertical&lt;br /&gt;
&lt;br /&gt;
#Seek Keen down&lt;br /&gt;
%patch $11DDD $0000W #Horizontal&lt;br /&gt;
%patch $11DE2 $0001W #Vertical&lt;br /&gt;
&lt;br /&gt;
#Seek Keen left&lt;br /&gt;
%patch $11DDD $0000W #Horizontal&lt;br /&gt;
%patch $11DE2 $0001W #Vertical&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== No fragments when Mine explodes ==&lt;br /&gt;
&lt;br /&gt;
This patch makes the Shikadi Mine simply vanish when detonating, no Shikadi Mine fragments are produced.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#No fragments when Shikadi Mine explodes&lt;br /&gt;
%patch $12406 $5E $5D $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite speed|Speed]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine&#039;s speeds are set in its code and cannot yet be patched. Its animation motion is unused. See also the &#039;seek Keen&#039; section above for what makes the Mine chase Keen.&lt;br /&gt;
&lt;br /&gt;
=== Animation motion ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $32954 [$0000W $0000W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $32972 [$0000W $0000W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine change directions&lt;br /&gt;
%patch $32990 [$0000W $0000W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine detonate&lt;br /&gt;
%patch $329AE [$0000W $0000W]&lt;br /&gt;
%patch $329CC [$0000W $0000W]&lt;br /&gt;
%patch $329EA [$0000W $0000W]&lt;br /&gt;
%patch $32A08 [$0000W $0000W]&lt;br /&gt;
%patch $32A26 [$0000W $0000W]&lt;br /&gt;
%patch $32A44 [$0000W $0000W]&lt;br /&gt;
&lt;br /&gt;
#Fragments&lt;br /&gt;
%patch $32A62 [$0000W $0000W]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stop Mine moving ==&lt;br /&gt;
&lt;br /&gt;
This patch makes the Mine sit perfectly still at all times.&lt;br /&gt;
&lt;br /&gt;
=== Stop Mine moving ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Stop Mine moving&lt;br /&gt;
%patch $11D1B $90 $90&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite collision|Sprite Collision]] =&lt;br /&gt;
&lt;br /&gt;
The Mine&#039;s collision is quite simple and it what lets it explode if Keen touches it quickly. If its collision is removed or replaced with a generic lethal one it is less dangerous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Collision values ==&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine uses its own special collision for everything except after it has exploded, when it uses a generic &#039;kill Keen and block his shots&#039; collision. Notice however that the Shikadi Mine fragments have their own special collision, one that can destroy the [[Patch:Quantum Explosion Dynamo (Sprite)|Q.E.D]] and win the game. If this is changed the game may become unwinnable.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 collision values ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $3295C $11C4043ERL #Shikadi mine&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $3297A $11C4043ERL #Shikadi mine&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine change direction&lt;br /&gt;
%patch $32998 $11C4043ERL #Shikadi mine&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine explode&lt;br /&gt;
%patch $329B6 $11C4043ERL #Shikadi mine&lt;br /&gt;
%patch $329D4 $11C4043ERL #Shikadi mine&lt;br /&gt;
%patch $329F2 $11C4043ERL #Shikadi mine&lt;br /&gt;
%patch $32A10 $11C4043ERL #Shikadi mine (Explodes here)&lt;br /&gt;
%patch $32A2E $11C40D61RL #Kill and block shots&lt;br /&gt;
%patch $32A4C $11C40D61RL #Kill and block shots&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine fragments&lt;br /&gt;
%patch $32A6A $11C40456RL #Shikadi mine fragments (Destroys Q.E.D)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Collision codes ==&lt;br /&gt;
&lt;br /&gt;
The only thing that the moving Shikadi Mine reacts to is Keen&#039;s shot, destroying it. (The Mine is actually safe to touch until its detonation sequence.)&lt;br /&gt;
&lt;br /&gt;
The exploding Mine is similar except it reacts also to Keen, killing him on contact.&lt;br /&gt;
&lt;br /&gt;
=== Moving Mine collision ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Moving Mine collision code&lt;br /&gt;
%patch $1207E $55 $8B $EC $56 $8B $76 $08 $83 $3C [$03] {$75} $09 $56 $9A $0CCB10B3RL&lt;br /&gt;
                      $83 $C4 $02 $5E $5D $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exploding Mine collision ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Exploding Mine collision code&lt;br /&gt;
%patch $129A1 $55 $8B $EC $56 $8B $76 $08 $83 $3C [$03] {$75} $0C $56 $9A $0CCB10B3RL&lt;br /&gt;
              $83 $C4 $02 $5E $5D $CB $83 $3C [$02] {$75} $05 $9A $0AAF1517RL&lt;br /&gt;
                      $5E $5D $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mine Fragment collision code ===&lt;br /&gt;
&lt;br /&gt;
This is the Shikadi Mine Fragment&#039;s collision, it wins the game. On the first line Keen&#039;s shot is checked for; if found the Fragment blocks it. On the third line Keen is searched for, if found the &#039;kill Keen&#039; code is run.&lt;br /&gt;
&lt;br /&gt;
On the fourth line the QED&#039;s type is checked for. If a Fragment hits the QED it will win the game (Or if not in the QED level, smash a fuse and win the level.) The first few lines produce four smashed fuse sprites at different locations in a square pattern.&lt;br /&gt;
&lt;br /&gt;
On line 8 the QED&#039;s tiles are replaced in two chunks. Each calls a 2x4 chunk of tiles copied from 0x0 and 0x4 placed at Bx10 and Dx10 in the level. After that the QED sprite is erased and the &#039;Fuse\QED bust&#039; code called to win the level or game.&lt;br /&gt;
&lt;br /&gt;
=== Mine Fragment Collision ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Mine fragment collision&lt;br /&gt;
%patch $12096 $55 $8B $EC $56 $8B $76 $08 $83 $3C [$03] {$75} $0C $56 $9A $0CCB10B3RL&lt;br /&gt;
                      $83 $C4 $02 $5E $5D $CB&lt;br /&gt;
                      $83 $3C [$02] {$75} $08 $9A $0AAF1517RL     $5E $5D $CB&lt;br /&gt;
                                  $83 $3C [$19] {$74} $03 $E9 $0081W  $FF $74 [$2E]&lt;br /&gt;
              $FF $74 [$2C] $9A $0F920628RL     $83 $C4 $04 $FF $74 [$2E] $FF $74&lt;br /&gt;
              [$30] $9A $0F920628RL     $83 $C4 $04 $FF $74 [$32] $FF $74 [$2C] $9A&lt;br /&gt;
              $0F920628RL     $83 $C4 $04 $FF $74 [$32] $FF $74 [$30] $9A $0F920628RL&lt;br /&gt;
                  $83 $C4 $04 $B8 [$0002W]  $50 $B8 [$0004W]  $50 $B8 [$000BW] &lt;br /&gt;
              $50 $B8 [$0010W]  $50 $33 $C0 $50 $50 $9A $174E0D75RL     $83 $C4&lt;br /&gt;
              $0C $B8 [$0002W]  $50 $B8 [$0004W]  $50 $B8 [$000DW]  $50 $B8 [$0010W] &lt;br /&gt;
              $50 $33 $C0 $50 $B8 [$0004W]  $50 $9A $174E0D75RL     $83 $C4 $0C&lt;br /&gt;
              $9A $0F920677RL     $56 $9A $06B91E47RL     $83 $C4 $02 $5E $5D&lt;br /&gt;
              $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite animations|Animations]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine&#039;s animations are simple, yet complex. The Mine itself is a single animation for all of its actions until it detonates. Then it uses two different animations as it prepares to explode followed by two more &#039;&#039;as&#039;&#039; it explodes. Mine fragments use a single animation. The animation speeds of the detonation sequence control how long Keen has to escape a detonating Mine.&lt;br /&gt;
&lt;br /&gt;
The Mine&#039;s eye is a secondary animation and it works in a poorly understood manner. See the &#039;sprite positioning&#039; section below.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Cache&lt;br /&gt;
%patch $31A38 [$017AW] #Mine cache start&lt;br /&gt;
%patch $31A8C [$0180W] #Cache end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine eye animation:&lt;br /&gt;
%patch $1257A [$017BW]&lt;br /&gt;
&lt;br /&gt;
#Shikadi mine sit&lt;br /&gt;
%patch $32948 $017AW $017AW #Shikadi mine&lt;br /&gt;
%patch $32952 $0008W        #Reaction speed&lt;br /&gt;
&lt;br /&gt;
#Shikadi mine move&lt;br /&gt;
%patch $32966 $017AW $017AW #Shikadi mine&lt;br /&gt;
%patch $32970 $0000W        #Wait&lt;br /&gt;
&lt;br /&gt;
#Shikadi mine change directions&lt;br /&gt;
%patch $32984 $017AW $017AW #Shikadi mine&lt;br /&gt;
%patch $3298E $0000W        #Wait&lt;br /&gt;
&lt;br /&gt;
#Shikadi mine explode&lt;br /&gt;
%patch $329A2 $017CW $017CW&lt;br /&gt;
%patch $329AC $000AW        #Animation speed&lt;br /&gt;
%patch $329C0 $017DW $017DW&lt;br /&gt;
%patch $329CA $000AW        #Animation speed&lt;br /&gt;
%patch $329DE $017CW $017CW&lt;br /&gt;
%patch $329E8 $000AW        #Animation speed&lt;br /&gt;
%patch $329FC $017DW $017DW&lt;br /&gt;
%patch $32A06 $000AW        #Animation speed&lt;br /&gt;
%patch $32A1A $017EW $017EW #Shikadi mine explodes here&lt;br /&gt;
%patch $32A24 $0014W        #Animation speed&lt;br /&gt;
%patch $32A38 $017FW $017FW&lt;br /&gt;
%patch $32A42 $0014W        #Animation speed&lt;br /&gt;
&lt;br /&gt;
#Mine fragments&lt;br /&gt;
%patch $32A56 $0180W $0180W&lt;br /&gt;
%patch $32A60 $0008W        #Animation speed&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Only the Mine&#039;s eye appears ==&lt;br /&gt;
&lt;br /&gt;
This patch removes the &#039;primary&#039; Mine animations, leaving only the Mine&#039;s eye animation. It may cause some problems. Notice also that the Mine&#039;s primary animation still matters, it must be cached and determines the eye positions (See section below.) Setting it to say, Keen&#039;s standing frame works well.&lt;br /&gt;
&lt;br /&gt;
=== Only the Mine&#039;s eye appears ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Only the Mine&#039;s eye appears&lt;br /&gt;
%patch $12562 $75&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Exploding Mine leaves empty Mine animation behind ==&lt;br /&gt;
&lt;br /&gt;
This patch makes it such that when the Mine explodes, its explosion frames appear behind an eyeless moving Mine frame, which is left suspended in the air after the Mine has exploded, unmoving and inactive. (Not deadly.) It may have unusual side effects.&lt;br /&gt;
&lt;br /&gt;
=== Exploding Mine leaves empty Mine animation behind ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Exploding Mine leaves empty Mine animation behind&lt;br /&gt;
%patch $12567 $00&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mine&#039;s eye remains after it explodes ==&lt;br /&gt;
&lt;br /&gt;
This patch is similar to the above, except it is the Mine&#039;s eye that is left behind after it explodes.&lt;br /&gt;
&lt;br /&gt;
=== Mine&#039;s eye remains after it explodes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Mine&#039;s eye remains after it explodes&lt;br /&gt;
%patch $1218F $90 $90 $90 $90 $90&lt;br /&gt;
%patch $122AE $90 $90 $90 $90 $90&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Don&#039;t show Mine&#039;s eye ==&lt;br /&gt;
&lt;br /&gt;
This patch removes the Mine&#039;s eye. Alternatively the Mine&#039;s tile interactions can be changed to $090B17B5RL, freeing up $1254E-$1259B.&lt;br /&gt;
&lt;br /&gt;
=== Don&#039;t show Mine&#039;s eye ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Don&#039;t show Mine&#039;s eye&lt;br /&gt;
%patch $12572 $5E $5D $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite Sounds|Sounds]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine makes two identical sounds, the first when Keen triggers its exploding and the second when it actually detonates. If the player listens carefully he can hear this &#039;1-2&#039; pattern. It is possible that the developers intended to have the Mine make an &#039;activated&#039; sound to warn the player before detonating.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine explode sounds&lt;br /&gt;
%patch $11FE7 $05     #When activated&lt;br /&gt;
%patch $123CB $05     #When exploding&lt;br /&gt;
&lt;br /&gt;
#Don&#039;t play Shikadi Mine explode sounds&lt;br /&gt;
%patch $11FE6 $EB $0A #When activated&lt;br /&gt;
%patch $123CA $EB $0A #When exploding&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite positioning|Sprite positioning]] =&lt;br /&gt;
&lt;br /&gt;
The Mine spawns 15 pixels higher than where it is placed. This is important as it &#039;aligns&#039; the Mine with tiles so that it can seek Keen correctly. If it is otherwise the Mine will need to &#039;correct&#039; itself when placed, which takes time.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Spawn height&lt;br /&gt;
%patch $11C72 $FF0FW #15 pixels up&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mine&#039;s eye positions ==&lt;br /&gt;
&lt;br /&gt;
The Mine&#039;s eye&#039;s position is important. There are several positions that the eye sits in when the Mine is moving in various directions (Or turning.) While the eye is moving between positions the Mine cannot move, if something is patched wrong and the eye cannot move to a position, the Mine will freeze.&lt;br /&gt;
&lt;br /&gt;
The main thing to remember is that there are two sets of three positions, left-mid-right and up-mid-down. The middle value of both these triplets &#039;&#039;must be the the exact mid value of the two other values.&#039;&#039; These mid values &#039;&#039;must&#039;&#039; then be used for the horizontal and vertical turning positions respectively. (and should, but not must, be used for the initial eye positions.)&lt;br /&gt;
&lt;br /&gt;
An example triplet is the left-mid-right triplet. ($0050 + $0150) / 2 = $00D0. The positions are from the top left of the Mine&#039;s primary animation, in pixels. The less an eye moves, the faster the Mine turns. It is often simple to simply halve, double, add $10 to all values instead of starting from scratch when altering eye movement amounts.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Initial: (Don&#039;t actually have to be midpoints, but are by default)&lt;br /&gt;
%patch $11C7A [$0100W] #Horizontal (Is l/r midpoint)&lt;br /&gt;
%patch $11C7F [$00D0W] #Vertical (Is u/d midpoint)&lt;br /&gt;
&lt;br /&gt;
#Turning (Eye moves here before moving to new position, must be midpoints)&lt;br /&gt;
%patch $121A3 [$0100W] #Horizontal (Is l/r midpoint)&lt;br /&gt;
%patch $121A8 [$00D0W] #Vertical (Is u/d midpoint)&lt;br /&gt;
&lt;br /&gt;
#When chasing Keen horizontally&lt;br /&gt;
%patch $122D5 [$0080W] #Moving left&lt;br /&gt;
%patch $122DA [$0100W] #Midpoint, l/r&lt;br /&gt;
%patch $122DF [$0180W] #Moving right&lt;br /&gt;
&lt;br /&gt;
#When chasing Keen vertically&lt;br /&gt;
%patch $122F7 [$0050W] #Moving up&lt;br /&gt;
%patch $122FE [$00D0W] #Midpoint, u/d&lt;br /&gt;
%patch $12305 [$0150W] #Moving down&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite-tile interaction|Sprite-tile interaction]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine has three tile collisions, The main collision is used for the Mine sitting, moving and turning. This is responsible for drawing its eye. When detonating it uses a generic &#039;blocked by solid tiles&#039; collision. Finally the Mine fragments have their own special collision allowing them to bounce off of solid tiles.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $32960 $11C4090ERL #Shikadi Mine&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $3297E $11C4090ERL #Shikadi Mine&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine changing direction&lt;br /&gt;
%patch $3299C $11C4090ERL #Shikadi Mine&lt;br /&gt;
&lt;br /&gt;
#Detonate&lt;br /&gt;
%patch $329BA $090B17B5RL #Solid&lt;br /&gt;
%patch $329D8 $090B17B5RL #Solid&lt;br /&gt;
%patch $329F6 $090B17B5RL #Solid&lt;br /&gt;
%patch $32A14 $090B17B5RL #Solid&lt;br /&gt;
%patch $32A32 $090B17B5RL #Solid&lt;br /&gt;
%patch $32A50 $090B17B5RL #Solid&lt;br /&gt;
&lt;br /&gt;
#Fragments&lt;br /&gt;
%patch $32A6E $0F920119RL #Explosion fragments&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Action_Type|Action type]] =&lt;br /&gt;
&lt;br /&gt;
The Mine uses type 2 for all its moving actions, since it must respond instantly to Keen and move smoothly. This is used by the Mine fragments as well. The exploding Mine uses type 0, since all it has to do is sit there.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 Motion ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $3294C [$0002W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $3296A [$0002W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine change direction&lt;br /&gt;
%patch $32988 [$0002W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine explode&lt;br /&gt;
%patch $329A6 [$0000W]&lt;br /&gt;
%patch $329C4 [$0000W]&lt;br /&gt;
%patch $329E2 [$0000W]&lt;br /&gt;
%patch $32A00 [$0000W]&lt;br /&gt;
%patch $32A1E [$0000W]&lt;br /&gt;
%patch $32A3C [$0000W]&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine Fragments&lt;br /&gt;
%patch $32A5A [$0002W]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Deprotect_Animation|Deprotect and stick to ground]] =&lt;br /&gt;
&lt;br /&gt;
The Shikadi Mine uses values of 0 for both these parameters as it does not need either of them.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 Change Motion ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Shikadi Mine sit&lt;br /&gt;
%patch $3294E $0000W $0000W&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine move&lt;br /&gt;
%patch $3296C $0000W $0000W&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine change direction&lt;br /&gt;
%patch $3298A $0000W $0000W&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine explode&lt;br /&gt;
%patch $329A8 $0000W $0000W&lt;br /&gt;
%patch $329C6 $0000W $0000W&lt;br /&gt;
%patch $329E4 $0000W $0000W&lt;br /&gt;
%patch $32A02 $0000W $0000W&lt;br /&gt;
%patch $32A20 $0000W $0000W&lt;br /&gt;
%patch $32A3E $0000W $0000W&lt;br /&gt;
&lt;br /&gt;
#Shikadi Mine Fragments&lt;br /&gt;
%patch $32A5C $0000W $0000W&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite spawning|Sprite spawn code]] =&lt;br /&gt;
&lt;br /&gt;
Only partial spawning code is available for the Mine. Notice there are three types of Mine, one for each difficulty. The cache is set in &amp;lt;tt&amp;gt;$C7 $06 $C28BW  $0001W&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The last blue highlighted value is the [[Patch:Sprite actions|sprite action]] the sprite uses as it proceeds to act in-level. &amp;lt;tt&amp;gt;$C7 $47 $02 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite Activity Variable|sprite activity]], &amp;lt;tt&amp;gt;$C7 $47 $06 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite clipping and foreground|clipping,]] &amp;lt;tt&amp;gt;$C7 $07 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite type|sprite type,]] Finally &amp;lt;tt&amp;gt;$D3 $E0 $05 $xxxxW&amp;lt;/tt&amp;gt; is how far down (Or more usually &#039;&#039;up&#039;&#039;) the sprite is spawned from where it is placed. This is necessary for sprites that walk on the ground as they can only be placed in the level at multiples of 16 pixels high while their actual height can be anything.&lt;br /&gt;
&lt;br /&gt;
The Mine is unusual in that after it is spawned there is code that sets up its initial direction and eye position, in effect initializing it to move.&lt;br /&gt;
&lt;br /&gt;
=== Keen 5 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Location of initiation code&lt;br /&gt;
%patch $F4D2 [$21CW]  #Easy Mine (At $EF6C)&lt;br /&gt;
%patch $F4D4 [$212W]  #Normal Mine (At $EF62)&lt;br /&gt;
%patch $F4D6 [$208W]  #Hard Mine (At $EF58)&lt;br /&gt;
&lt;br /&gt;
#Mine Initiation code&lt;br /&gt;
%patch $EF58 $83 $3E {$6F6CW}  [$03] {$7D} $03 $E9 $0445W $83 $3E {$6F6CW}  [$02] {$7D}&lt;br /&gt;
             $03 $E9 $043BW $57 $56 $9A $11C40001RL    $83 $C4 $04 $C7 $06&lt;br /&gt;
             $C28BW  $0001W  $E9 $0428W&lt;br /&gt;
&lt;br /&gt;
#Mine spawning code&lt;br /&gt;
%patch $11C41 $55 $8B $EC $56 $33 $C0 $50 $9A $06B91DCDRL     $83 $C4 $02 $8B&lt;br /&gt;
              $1E $40 $9E $C7 $07 [$000AW]  $C7 $47 $02 [$0001W]  $C7 $47 $06 [$0000W]&lt;br /&gt;
                  $8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A $8B $46 $08 $D3 $E0&lt;br /&gt;
              $05 [$FF0FW]  $89 $47 $0C $C7 $47 $40 [$0100W]  $C7 $47 $42 [$00D0W]&lt;br /&gt;
              $B8 [$2644W]  $50 $53 $9A $090B11C4RL     $83 $C4 $04 $8B $1E $40&lt;br /&gt;
              $9E $C7 $47 $16 [$0100W]  $33 $F6 $EB $12 $56 $FF $36 $40 $9E $90&lt;br /&gt;
              $0E $E8 $0095W  $83 $C4 $04 $0B $C0 $75 $06 $46 $83 $FE $03 $7E&lt;br /&gt;
              $E9 $5E $5D $CB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Walk: Bad dir =&lt;br /&gt;
&lt;br /&gt;
This error occurs when a Mine moves in an &#039;incorrect&#039; direction. This should only occur if the default Shikadi Mine code has been tampered with somehow or another patch is massively incorrect. It causes the game to cash with an error message.&lt;br /&gt;
&lt;br /&gt;
=== Shikadi Mine error ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $11E23  [$31A4W] #Text called from&lt;br /&gt;
%patch $334E4 &amp;quot;Walk: Bad dir&amp;quot; $00&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Sprite|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=43825</id>
		<title>User:Fleexy</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=43825"/>
		<updated>2021-10-10T13:42:03Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: remove MyMods to focus on my recent/high-quality contributions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I&#039;m Fleexy, host of the Keen forums and creator of the Galaxy/Dreams editor &#039;&#039;&#039;[[Abiathar]]&#039;&#039;&#039;&amp;amp;mdash;check it out!&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=TliExtend&amp;diff=37518</id>
		<title>TliExtend</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=TliExtend&amp;diff=37518"/>
		<updated>2018-04-15T18:47:36Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: grammar, removed outdated note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{Tool Infobox|{{{1|}}}&lt;br /&gt;
 | TitleImage = Abiathar.png&lt;br /&gt;
 | InitialDeveloper = &lt;br /&gt;
 | Developers = [[User:Fleexy|Fleexy (Ben Nordick)]]&lt;br /&gt;
 | InitialRelease =  2015-06-25&lt;br /&gt;
 | LatestUpdate = 2015-09-03&lt;br /&gt;
 | Status = Beta&lt;br /&gt;
 | ProgrammingLanguage = &lt;br /&gt;
 | Platform = CLI&lt;br /&gt;
 | License = Copyright © 2015 by Ben Nordick. All Rights Reserved.&lt;br /&gt;
 | Type = Tileinfo Extender&lt;br /&gt;
 | Engine = Keen:Galaxy, Keen:Dreams, Bio Menance &lt;br /&gt;
 | Homepage = https://abiathar.keenmodding.org&lt;br /&gt;
 | Discussion = &lt;br /&gt;
 | LatestDownloadURL = https://abiathar.keenmodding.org/TliExtend.exe TliExtend v.2&lt;br /&gt;
 | Download = [http://www.shikadi.net/wiki/files/tools/t.tliextend_v.2.fleexy.2015-09-03.zip Mirror Download]&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TliExtend&#039;&#039;&#039; is a command line based tileinfo extension utility for the level editor [[Abiathar]]. It was built by [[User:Fleexy|Fleex]] to fix the tileinfo file after the respective tilesets were resized. This tool comes in handy especially when working on a source code-based mod.&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
The tileinfo format is planar, so the information for each tile is spread out all over the file, and at offsets determined by the number of tiles in the file. Therefore, it can&#039;t just be extended by writing a bunch of zeros at the end; the spaces for the new tiles have to be inserted throughout the file. That would, of course, be very painful to do by hand in a hex editor.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Built-in help (try invoking it without any arguments)&lt;br /&gt;
* Can remove (truncate) tiles, and will ask for confirmation before doing so&lt;br /&gt;
* Supports merged maphead/tileinfo files with an optional argument&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The syntax of &amp;lt;tt&amp;gt;TliExtend&amp;lt;/tt&amp;gt; is fairly simple; it takes six or seven command-line arguments, in this order: &lt;br /&gt;
&lt;br /&gt;
* existing tileinfo file name&lt;br /&gt;
* current number of background tiles&lt;br /&gt;
* current number of foreground tiles&lt;br /&gt;
* output tileinfo file name&lt;br /&gt;
* new number of background tiles&lt;br /&gt;
* new number of foreground tiles&lt;br /&gt;
* optionally, length of non-tileinfo (MAPHEAD) data in the existing file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: &amp;lt;br&amp;gt;&lt;br /&gt;
This build requires &amp;lt;tt&amp;gt;FMod.dll&amp;lt;/tt&amp;gt;, which is included with Abiathar.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Needed Level Editor:&lt;br /&gt;
|[[Abiathar]]&lt;br /&gt;
|-&lt;br /&gt;
|List of Galaxy Tools:&lt;br /&gt;
|[[Galaxy_Tools|Modding tools]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://fleexlab.blogspot.de/2015/09/tliextend-2.html Development blog]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Tools (Galaxy)]]&lt;br /&gt;
[[Category:Level Editors (Galaxy)]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=34121</id>
		<title>User:Fleexy</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=34121"/>
		<updated>2017-11-19T18:01:18Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: host of the forums&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I&#039;m Fleexy, host of the Keen forums and creator of the Galaxy/Dreams editor &#039;&#039;&#039;[[Abiathar]]&#039;&#039;&#039; - check it out!&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=33282</id>
		<title>Abiathar</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=33282"/>
		<updated>2017-06-01T23:06:53Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: slight terminology adjustments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{Tool Infobox|{{{1|}}}&lt;br /&gt;
 | TitleImage = Abiathar.png&lt;br /&gt;
 | InitialDeveloper = &lt;br /&gt;
 | Developers = [[User:Fleexy|Fleexy (Ben Nordick)]]&lt;br /&gt;
 | InitialRelease =  2014-03-14&lt;br /&gt;
 | LatestUpdate = 2017-03-24&lt;br /&gt;
 | Status = Finished&lt;br /&gt;
 | ProgrammingLanguage = &lt;br /&gt;
 | Platform = Windows XP, 7-10&lt;br /&gt;
(Linux via Wine+Mono/ Wine+.NET !unstable)&lt;br /&gt;
 | License = 	Copyright © 2014 by Ben Nordick. All Rights Reserved.&lt;br /&gt;
 | Type = Level Editor&lt;br /&gt;
 | Engine = Keen:Galaxy, Keen:Dreams, Bio Menance &lt;br /&gt;
 | Homepage = https://abiathar.keenmodding.org&lt;br /&gt;
 | Discussion = [https://pckf.rigeltechnical.com/viewtopic.php?t=3023 PCKF Discussion Thread]&lt;br /&gt;
 | LatestDownloadURL = https://abiathar.keenmodding.org/update/v2.8.8/Abiathar.zip Abiathar 2.8.8&lt;br /&gt;
 | Download = [http://www.shikadi.net/wiki/files/tools/t.abiathar_updater.fleexy.2014-06-08.zip Update client]&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abiathar&#039;&#039;&#039; is a Windows-based [[Galaxy_Tools#Level_Editors|level and tileinfo editor]] for [[Keen Dreams]] and [[Keen Galaxy]]. It was developed by [[User:Fleexy|Fleexy]] starting on January 10, 2014 and publicly released on [[Keen Day]] 2014. It continues to be updated and altered semi frequently, as new features and functionality are added. Abiathar is very similar to [[The Omegamatic|The Omegamatic/Tom]] editor but contains many additional features.&lt;br /&gt;
&lt;br /&gt;
== Innovations and Improvements ==&lt;br /&gt;
This lists only the additional features to the already seen features in other level editors (like [[TED5]], [[Keen: Next]], [[The Photachyon Transceiver]], [[The Omegamatic]])&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
[[Image:Abiathar6.png|thumb|400px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039; with some possible features shown.]]&lt;br /&gt;
*Internally stored default resources&lt;br /&gt;
*Tileinfo editing &lt;br /&gt;
*Tileinfo overlay&lt;br /&gt;
*Direct EGA graphics reading (no external exported graphics needed) &lt;br /&gt;
*Conglomerate file handling&lt;br /&gt;
*Inspectors (e.g.: crash, bugs)&lt;br /&gt;
*Sound management (adding IMF tracks, editing sounds, setting level songs)&lt;br /&gt;
*Automatic patch/batch generation&lt;br /&gt;
*Combinable infoplane&lt;br /&gt;
*Custom, separate infoplane icons&lt;br /&gt;
*Single-level export/import&lt;br /&gt;
*Customizable config file settings&lt;br /&gt;
*Extension API&lt;br /&gt;
*Auto-updater&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
*Path Plotter&lt;br /&gt;
*Tile Instance Remapper&lt;br /&gt;
*Tile Tweaker &lt;br /&gt;
*Freeform Tile Placer  &lt;br /&gt;
*Row/Column Adjuster&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
With the download comes a [https://docs.google.com/viewer?url=https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharHelp.pdf Documentation/Help file] which is strongly recommended. It contains advanced information this wiki entry cannot match. &lt;br /&gt;
The Author also uploaded a [https://www.youtube.com/playlist?list=PL-BuW7CehquocWygorgyo5YjJwiK5-kyn video tutorial] where most of the basic features are examined.&lt;br /&gt;
[[Image:Abiathar-Wizard.png|thumb|250px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039; Project Wizard.]]&lt;br /&gt;
&lt;br /&gt;
=== Setting up Abiathar ===&lt;br /&gt;
To get started open up Abiathar with the defaults. Go to &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;New&amp;lt;/code&amp;gt;, a Project Wizard appears. This wizard will walk you through the creation of your dependency file (project). Select your episode from the drop-down in the upper right, check all the boxes (those are what tell it to use defaults), set the tileinfo drop-down to one that either dumps or reads from memory, and click &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;. Abiathar will now become usable for editing.&lt;br /&gt;
&lt;br /&gt;
=== Navigation through Abiathar ===&lt;br /&gt;
In Abiathar one can move throughout the level with the help of the keyboard and the scroll wheel. &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|Keyboard&lt;br /&gt;
|&amp;lt;code&amp;gt;Arrow keys&amp;lt;/code&amp;gt; move the viewer 1 tile &amp;lt;br /&amp;gt;Holding &amp;lt;code&amp;gt;Control&amp;lt;/code&amp;gt; changes the offset to 5 &amp;lt;br /&amp;gt; Holding &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; multiplies the offset by 3 &amp;lt;br /&amp;gt;  Pressing &amp;lt;code&amp;gt;Backspace&amp;lt;/code&amp;gt; moves back to the upper left &lt;br /&gt;
|-&lt;br /&gt;
|Scroll wheel&lt;br /&gt;
|Each notch of the wheel moves 2 tiles vertically &amp;lt;br /&amp;gt; Holding &amp;lt;code&amp;gt;Control&amp;lt;/code&amp;gt; makes it move horizontally &lt;br /&gt;
|-&lt;br /&gt;
|Zoom   &lt;br /&gt;
|The zoom controls can be found under the &amp;lt;code&amp;gt;View menu&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; or by using the &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;–&amp;lt;/code&amp;gt; numpad keys.&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
=== Common Tasks ===&lt;br /&gt;
[[Image:Abiathar4.png|thumb|400px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039; with all planes activated.]]&lt;br /&gt;
This section guides only through the most frequently used features.&lt;br /&gt;
&lt;br /&gt;
==== Tile Palette ====&lt;br /&gt;
The tile palette can be called either with the &amp;lt;code&amp;gt;Tileset menu&amp;lt;/code&amp;gt; or by pressing the appropriate &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;number key&amp;lt;/code&amp;gt; after pressing &amp;lt;code&amp;gt;Space&amp;lt;/code&amp;gt;, which switches to the tile palette view: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; calls the background set, &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; calls the foreground set, &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; calls the set of infoplane pseudo-tiles. &lt;br /&gt;
&amp;lt;br /&amp;gt;Simply click a tile to copy it to the respective bay. When finished, press &amp;lt;code&amp;gt;Space&amp;lt;/code&amp;gt; to return to your level. If you do not want to press Space to access the palettes, you may at any time press:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; to open the background palette, &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; for the foreground, or &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; for the infoplane. &lt;br /&gt;
&lt;br /&gt;
==== Plane States ====&lt;br /&gt;
[[Image:Abiathar3.png|thumb|400px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039;: Background plane &#039;&#039;activated&#039;&#039;, Foreground plane &#039;&#039;hidden&#039;&#039;, Infoplane &#039;&#039;locked&#039;&#039; .]]&lt;br /&gt;
Editing with all planes active all the time would be very difficult. To help you see and change only what you want to, Abiathar has several systems to control the status of the planes. Each of the three planes can hold one of three states: &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Active&amp;lt;/code&amp;gt;&lt;br /&gt;
|visible and editable (default) &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|only visible&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Hidden&amp;lt;/code&amp;gt; &lt;br /&gt;
|not visible or editable &lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
These can be controlled in several ways. The &amp;lt;code&amp;gt;Plane&amp;lt;/code&amp;gt; menu provides fine-adjustment tools and commands to modify the state of multiple or all the planes at once.   &lt;br /&gt;
While viewing a level, the &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; keys control editibility for the respective plane, while the &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; keys control visibility. For example, the &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; key toggles the foreground plane between &amp;lt;code&amp;gt;Active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Locked&amp;lt;/code&amp;gt;, while the &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; key toggles it between &amp;lt;code&amp;gt;Active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Hidden&amp;lt;/code&amp;gt;.  &lt;br /&gt;
The labels in the selected tile bay that display the plane states can also change them. Right-click one to make it less active (active will become locked, locked will become hidden) or left-click to make it more active (hidden will become locked, locked will become active). &lt;br /&gt;
&lt;br /&gt;
==== Undo &amp;amp; Redo ====&lt;br /&gt;
Undo and Redo can be found under the &amp;lt;code&amp;gt;Edit menu&amp;lt;/code&amp;gt; or pressing &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; instead. The undo/redo action stack is preserved until the file is saved or closed. &lt;br /&gt;
&lt;br /&gt;
==== Level Operations ====&lt;br /&gt;
[[Image:Abiathar7.png|thumb|400px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039;: Link and tile properties overlays are activated]]&lt;br /&gt;
Level Operations can be accessed from the &amp;lt;code&amp;gt;Level menu&amp;lt;/code&amp;gt;, above the levels list. Adding a level is done with &amp;lt;code&amp;gt;Level&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;Add&amp;lt;/code&amp;gt;. If one changes the suggested ID to one that is in-use, a warning will pop up before overwriting. The &amp;lt;code&amp;gt;Automatic edge&amp;lt;/code&amp;gt; check box will cause Abiathar to automatically fill in the boundary.&amp;lt;br /&amp;gt;&lt;br /&gt;
Even after a level is created, its dimensions can be changed or an automatic border can be added using the using the &amp;lt;code&amp;gt;Level&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;Properties&amp;lt;/code&amp;gt; dialog. It is also possible to duplicate levels into a new slot with &amp;lt;code&amp;gt;Level&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Overlays ====&lt;br /&gt;
All overlays can be found under the &amp;lt;code&amp;gt;View menu&amp;lt;/code&amp;gt; section. &lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|&amp;lt;code&amp;gt;Grid&amp;lt;/code&amp;gt; &lt;br /&gt;
|separating the tiles (it is automatically adjusted for changes in zoom level)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Links&amp;lt;/code&amp;gt;&lt;br /&gt;
|overlay processes unknown infoplane values and renders graphical links instead of infoplane &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Tile Properties&amp;lt;/code&amp;gt;&lt;br /&gt;
|displays foreground tile properties even in the selected tile bay and tile palette&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Playing edited Levels ===&lt;br /&gt;
[[Image:Abiathar-Patches.png|thumb|380px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039; inserting Patches.]]&lt;br /&gt;
Once some work has been done on a level set, it is advisable to test them in-game. This, and the final publication of the mod, require the use of &amp;lt;tt&amp;gt;CKPatch&amp;lt;/tt&amp;gt; to patch the &amp;lt;tt&amp;gt;maphead&amp;lt;/tt&amp;gt; (and, if they exist, &amp;lt;tt&amp;gt;mapdict&amp;lt;/tt&amp;gt; and &lt;br /&gt;
&amp;lt;tt&amp;gt;tileinfo&amp;lt;/tt&amp;gt;) back into the game to read the modified &amp;lt;tt&amp;gt;gamemaps&amp;lt;/tt&amp;gt; file. &lt;br /&gt;
 &lt;br /&gt;
Other custom patches that are not automatically generated by Abiathar, can be transfered to the &amp;lt;code&amp;gt;Patches&amp;lt;/code&amp;gt; store found under &amp;lt;code&amp;gt;Edit&amp;lt;/code&amp;gt;. Therefor all things which are listed the text field above need to be remove from the custom patches. Now Abiathar will integrated them into the generated patch file. Once confirmed that, the appropriate &amp;lt;tt&amp;gt;patch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;batch&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;patcher&amp;lt;/tt&amp;gt; program files will be created in the dependency file’s directory. The now created &amp;lt;tt&amp;gt;play.bat&amp;lt;/tt&amp;gt; launcher file needs to be run instead of the original Keen executable. &lt;br /&gt;
[[Image:Abiathar-Files.png|thumb|280px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039; creates and saves &amp;lt;tt&amp;gt;CK*PATCH.EXE abiathar.pat, play.bat&amp;lt;/tt&amp;gt;.]]&lt;br /&gt;
 &lt;br /&gt;
iD Software used a self-extracting compression format called LZEXE on the program to make it smaller, thereby fitting it on a floppy disk. Before &amp;lt;tt&amp;gt;CKPatch&amp;lt;/tt&amp;gt; can work, the Keen executable must be decompressed. Abiathar contains &amp;lt;tt&amp;gt;[[UNLZEXE]]&amp;lt;/tt&amp;gt;, a program to reverse the compression. Choose &amp;lt;code&amp;gt;Un-LZ EXE&amp;lt;/code&amp;gt; under &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt; and open the Keen executable. If it was &amp;lt;tt&amp;gt;LZ-compressed&amp;lt;/tt&amp;gt; Abiathar will decompress it.&lt;br /&gt;
&lt;br /&gt;
===  Files and Storage   ===&lt;br /&gt;
To storage modifications press &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; under &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;. The first time doing this, one popup box will appeare, asking where to store the &lt;br /&gt;
dependency file. The level set&#039;s settings will be written to an &amp;lt;tt&amp;gt;*.adeps&amp;lt;/tt&amp;gt; file, which only contain references and pointers to the real resources files, but don’t store any level data on their own. They are automatically saved as the names beforehand specified in the New Project Wizard.&amp;lt;br /&amp;gt;&lt;br /&gt;
Closing Abiathar for the first time, quite a few settings will get saved to the &amp;lt;tt&amp;gt;editor.aconf&amp;lt;/tt&amp;gt; config file. Those settings are loaded when Abiathar starts. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|former Level Editors:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|[[TED5]], &amp;lt;br&amp;gt;[[Keen: Next]], &amp;lt;br&amp;gt;[[The Photachyon Transceiver]], &amp;lt;br&amp;gt;[[The Omegamatic]]&lt;br /&gt;
|-&lt;br /&gt;
|List of Galaxy Tools:&lt;br /&gt;
|[[Galaxy_Tools|Modding tools]]&lt;br /&gt;
|-&lt;br /&gt;
|Modding Tutorials: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|[[Keen Galaxy Modding Tutorial (by Ceilick)]], &amp;lt;br&amp;gt;[[Keen Galaxy Modding Tutorial (by Levellass)]], &amp;lt;br&amp;gt;[http://stefan.lohner-net.de/keen_modding/tutorial/ Keen Galaxy Modding Tutorial (by TheMagician)]&lt;br /&gt;
|-&lt;br /&gt;
|Patching Tutorial:&lt;br /&gt;
|[[Patching Tutorial (by Levellass)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://docs.google.com/viewer?url=https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharHelp.pdf Abiathar Help File]&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PL-BuW7CehquocWygorgyo5YjJwiK5-kyn Abiathar Video Tutorial]&lt;br /&gt;
* [https://pckf.rigeltechnical.com/viewtopic.php?t=3023 Abiathar Forum Thread]&lt;br /&gt;
* [https://pckf.rigeltechnical.com/viewtopic.php?t=3228 Abiathar Operating System]&lt;br /&gt;
* [http://fleex255.github.io/Abiathar-Online/start.html Abiathar Online (web-based)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Download ==&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/t.abiathar_v.2.8.7.fleexy.2017-02-18.zip Version 2.8.7] (newest standalone version), ([https://abiathar.keenmodding.org/update/v2.8.7/Abiathar.zip Download Mirror])&lt;br /&gt;
&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/t.abiathar_updater.fleexy.2014-06-08.zip Update client] (downloads newest version), ([https://abiathar.keenmodding.org/update/AbiatharUpdater.exe Download Mirror])&lt;br /&gt;
&lt;br /&gt;
* [https://abiathar.keenmodding.org/update/ Earlier versions]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earlier versions:&#039;&#039;&#039;&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.4.zip Version 1.4]&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.3.2.zip Version 1.3.2]&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.0.zip Version 1.0]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Category:Modding Tools (Galaxy)]]&lt;br /&gt;
[[Category:Level Editors (Galaxy)]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Korath&amp;diff=30411</id>
		<title>Patch:Korath</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Korath&amp;diff=30411"/>
		<updated>2016-06-03T00:47:14Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Vertical position of Korath base */ Patch for level name change&amp;#039;s cutoff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Korath is the secret level in [[Keen 5]] in the lower right half of the map. One can get to it by using the teleporter in the [[Gravitational Damping Hub]]. For patches relating to the small korath sprite see [[Patch:Korath (Sprite)]].&lt;br /&gt;
&lt;br /&gt;
There is also text for when Keen returns to the map, but is &#039;on Korath&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Level name and entry text =&lt;br /&gt;
&lt;br /&gt;
This is the name of the Korath level and its entry text. Note that when exiting the level Keen gets a different message than the one he usually gets when returning to the map. This is controlled by Keen&#039;s vertical position on the map. (See below.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level name&lt;br /&gt;
%patch $201C0 &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Level entry text&lt;br /&gt;
%patch $20470 &amp;quot;Keen faces danger&amp;quot; $0A&lt;br /&gt;
              &amp;quot;in the secret $0A&lt;br /&gt;
              &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Used when Keen exits Korath level&lt;br /&gt;
%patch $6214  [$0223W] #Text called from&lt;br /&gt;
%patch $30563 &amp;quot;Keen steps out&amp;quot; $0A&lt;br /&gt;
              &amp;quot;onto Korath III&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vertical position of Korath base ==&lt;br /&gt;
&lt;br /&gt;
If Keen is vertically lower on the map than 100 tiles he will see a different message when returning to the map and a different level name in the status screen. By default, the alternate values are displayed when his position is below 100 ($64). (See also [[Patch:Jump conditions]].)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Vertical position of Korath base&lt;br /&gt;
%patch $6210  [$64] {$76} #Returning to map&lt;br /&gt;
%patch $7CE8  [$64] {$76} #Level name&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Korath fuse =&lt;br /&gt;
&lt;br /&gt;
To get the special ending, the game checks the &amp;quot;completed&amp;quot; value for the Korath level. If it is 15 (special fuse value), then it plays the special ending, otherwise the normal one. In the patches below, 0 is incomplete and 1 is normal complete. It pays off to know something about [[Patch:Jump conditions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Korath level&lt;br /&gt;
%patch $EC31 $36 #Level 13 (28 + (2 * 13) = 36&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get special ending by just completing Korath level ==&lt;br /&gt;
&lt;br /&gt;
This patch alters things so that the special ending of the game plays if the player has completed the Korath level in nay way, wither by breaking the fuse or just exiting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#You get the Korath fuse ending just for completing Korath, fuse or not&lt;br /&gt;
%patch $EC33 [$01] $72&lt;br /&gt;
%patch $EC31 $36 #Level 13 (28 + (2 * 13) = 36)&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Korath fuse is also special. It can only be broken with a very high pogo jump, that is, only on easy by default. The only way to fix this is to alter the fuse to not be special, or to alter Keen&#039;s pogo height so that it is the same on all three difficulties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level Korath fuse message appears in ==&lt;br /&gt;
&lt;br /&gt;
The level that the Korath fuse text appears in is separate from that checked for the game ending, though by default they are the same.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level that causes Korath text to be read:&lt;br /&gt;
%patch $F8AC  [$0D] {$75}&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Text|}}&lt;br /&gt;
{{PatchCategories|Tiles|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Magic_Eyeball&amp;diff=27811</id>
		<title>Magic Eyeball</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Magic_Eyeball&amp;diff=27811"/>
		<updated>2015-03-29T18:04:39Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Corrected point value&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Item Infobox&lt;br /&gt;
| Appears = [[Keen Dreams]]&lt;br /&gt;
| Points = 10000&lt;br /&gt;
| Ammo = 8&lt;br /&gt;
| Life = Yes, 3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Magic Eyeball&#039;&#039;&#039; is an item found twice in [[Keen Dreams]]. It gives three extra lives and eight [[Flower Power]]s. It is the single rarest item, and its appearance in [[Tuberia]] is anomalous; it is not known what it is, where it came from, or what it does. It can only be assumed that, since Tuberia is a dream world, strange things may appear in it.&lt;br /&gt;
&lt;br /&gt;
It can be found in a chamber of [[Melon Mines]] filled with [[Tomatooth]], and also hidden underground close to a water current in [[Spud City]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Items]]&lt;br /&gt;
[[Category:Keen Dreams items]]&lt;br /&gt;
[[Category:Weapons]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Music&amp;diff=26629</id>
		<title>Patch:Music</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Music&amp;diff=26629"/>
		<updated>2014-08-13T19:47:57Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Keen Galaxy Level songs */ Added music table length patch for Keen 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page covers music related patches. As such, it relates mostly to Keen Galaxy. At present, about the only patches available are those that will change what song plays in a level.&lt;br /&gt;
&lt;br /&gt;
There is a patch and program created by [[User:Lemm]] to allow IMF files of up to 32 KB in Keen Vorticons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen Vorticons music ==&lt;br /&gt;
&lt;br /&gt;
The TSR [[TSMusic]] created by [[User:Lemm]] allows a modder to include as many IMF music files as they wish, one per level. To be used TSMusic requires the Keen engine to coomunicate with it, and thus a patch. The patches for Keen 1–3 (v1.31) are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 1&amp;quot;&amp;gt;&lt;br /&gt;
#Play music with TSMusic:&lt;br /&gt;
%patch $BE97 $65&lt;br /&gt;
%patch $BEE2 $65&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 2&amp;quot;&amp;gt;&lt;br /&gt;
#Play music with TSMusic:&lt;br /&gt;
%patch $B5AF $65&lt;br /&gt;
%patch $B5FA $65&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 3&amp;quot;&amp;gt;&lt;br /&gt;
#Play music with TSMusic:&lt;br /&gt;
%patch $C90D $65&lt;br /&gt;
%patch $C958 $65&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen Galaxy Level songs ==&lt;br /&gt;
&lt;br /&gt;
These patches change what song is played in a given level. You are limited only to songs in the &amp;lt;tt&amp;gt;AUDIO.CKx&amp;lt;/tt&amp;gt; file. For other music, the values used are not the song number, but the &#039;&#039;level&#039;&#039; number that plays the song you want, with some complications. (It is best to experiment with these later values, to see how things work.)&lt;br /&gt;
&lt;br /&gt;
Additional songs can be added to the game by using a chunk designated for sound to hold an extra songs.  In the executable, the audio chunk pointers are ordered so that the music chunk pointers are immediately after the sound chunk pointers.  Thus, if you shift the boundary between sound and music backwards, you create more space for music chunk pointers at the expense of sound chunk pointers.  This also shifts the existing song numbers correspondingly (e.g. if you shift by two chunks, a song that was originally song 3 becomes song 5, since the first music chunk is now two chunks earlier).  To use the extra songs patch, lower the existing start index of the song chunks by however many new songs you are adding.  Then lower the corresponding start of audio segment pointer by 2x however many songs you imported.  For example, in keen 5, if you were to add two songs, %patch $8C61 $00C0W would be lowered to $00BE, and %patch $8BF1 $BF45W would be lowered to $BF41W (along with the two subsequent patches).  Finally, you would have to change the total number of songs from 14 to 16.&lt;br /&gt;
&lt;br /&gt;
In Keen 4 it is also possible to play music in the [[Patch:Main menu]] or [[Patch:Computer_Wrist#Play_music_in_help|computer wrist]], see the pages for details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Where music list is read from:&lt;br /&gt;
%patch $8CCD $0396W  #$2F206&lt;br /&gt;
%patch $8CA4 $14     #Total number of level entries&lt;br /&gt;
&lt;br /&gt;
#Song values:&lt;br /&gt;
#0: Shadowlands       1: Eat your Veggies&lt;br /&gt;
#2: Too hot           3: Slug village&lt;br /&gt;
#4: Kick in the pants 5: Ancients&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                 MUSIC PLAYED         LEVEL No&lt;br /&gt;
%patch $2F206 [$0000W]  #Map                  (Shadowlands)          0&lt;br /&gt;
              [$0004W]  #Border Village       (Kick in the Pants)    1&lt;br /&gt;
              [$0003W]  #Slug Village         (Slug Village)         2&lt;br /&gt;
              [$0003W]  #Perilous Pit         (Slug Village)         3&lt;br /&gt;
              [$0002W]  #Cave of Descendants  (Too Hot)              4&lt;br /&gt;
              [$0002W]  #Chasm of Chills      (Too Hot)              5&lt;br /&gt;
              [$0004W]  #Crystalus            (Kick in the Pants)    6&lt;br /&gt;
              [$0003W]  #Hiliville            (Slug Village)         7&lt;br /&gt;
              [$0001W]  #Sand Yego            (Eat your Veggies)     8&lt;br /&gt;
              [$0001W]  #Miragia              (Eat your Veggies)     9&lt;br /&gt;
              [$0001W]  #Lifwater Oasis       (Eat your Veggies)    10&lt;br /&gt;
              [$0002W]  #Pyramid of Moons     (Too Hot)             11&lt;br /&gt;
              [$0002W]  #Pyramid of Shadows   (Too Hot)             12&lt;br /&gt;
              [$0002W]  #Pyramid of Ancients  (Too Hot)             13&lt;br /&gt;
              [$0002W]  #Pyramid of Forbidden (Too Hot)             14&lt;br /&gt;
              [$0002W]  #Isle of Tar          (Too Hot)             15&lt;br /&gt;
              [$0002W]  #Isle of Fire         (Too Hot)             16&lt;br /&gt;
              [$0001W]  #Well of Wishes       (Eat your Veggies)    17&lt;br /&gt;
              [$0003W]  #Bwb Megarocket       (Slug Village)        18&lt;br /&gt;
              [$FFFFW]  #High scores          (No music, &amp;quot;Fanfare&amp;quot;) 19&lt;br /&gt;
&lt;br /&gt;
#Other music played: (Values here is number of LEVELS whose music is used)&lt;br /&gt;
%patch $5836 $000CW #Story demo (Too hot)&lt;br /&gt;
%patch $9CD7 $0007W #Ending Sequence (Slug Village)&lt;br /&gt;
%patch $F107 $FFFFW #Talking to Lindsey (Ancient)&lt;br /&gt;
%patch $F4CA $FFFFW #Talking to Ancient (Ancient)&lt;br /&gt;
&lt;br /&gt;
#Add new music&lt;br /&gt;
#Index of first music chunk within audio chunks:&lt;br /&gt;
%patch $8CEF $009CW&lt;br /&gt;
&lt;br /&gt;
#Start address of music chunks&lt;br /&gt;
#reduce start address by 2x that of &amp;quot;First Audio Entry&amp;quot;&lt;br /&gt;
%patch $8C75 $C895W #Clear_music()&lt;br /&gt;
%patch $8C83 $C895W #Clear_music()&lt;br /&gt;
%patch $8D83 $C895W #StartMusic()&lt;br /&gt;
%patch $8C91 $06    #Total Number of Songs&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Where music list is read from:&lt;br /&gt;
%patch $8C3F $033AW  #$3067A&lt;br /&gt;
%patch $8C20 $14     #Total number of level entries&lt;br /&gt;
&lt;br /&gt;
#Song values:&lt;br /&gt;
#00 = Came In           01 = Armageddon Machine&lt;br /&gt;
#02 = High Scores       03 = Snooping&lt;br /&gt;
#04 = Bagpipes          05 = Wednesday on the Beach&lt;br /&gt;
#06 = Unknown           07 = Security Center&lt;br /&gt;
#08 = Help              09 = Be Sphereful With My Diamonds&lt;br /&gt;
#0A = Make it Tighter   0B = Omegamatic&lt;br /&gt;
#0C = Fanfare           0D = Quantum Explosion Dynamo&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                      MUSIC PLAYED            LEVEL No&lt;br /&gt;
%patch $3067A [$000BW]  #Map                       (Omegamatic)              0&lt;br /&gt;
              [$0005W]  #Ion Ventilation System    (Wednesday on the Beach)  1&lt;br /&gt;
              [$0007W]  #Security Center           (Security Center)         2&lt;br /&gt;
              [$0009W]  #Defense Tunnel Vlook      (Be Sphereful)            3&lt;br /&gt;
              [$000AW]  #Energy Flow Systems       (Make it Tighter)         4&lt;br /&gt;
              [$0009W]  #Defense Tunnel Burrh      (Be Sphereful)            5&lt;br /&gt;
              [$000AW]  #Regulation Control Center (Make it Tighter)         6&lt;br /&gt;
              [$0009W]  #Defense Tunnel Sorra      (Be Sphereful)            7&lt;br /&gt;
              [$000AW]  #Neutrino Burst Injector   (Make it Tighter)         8&lt;br /&gt;
              [$0009W]  #Defense Tunnel Teln       (Be Sphereful)            9&lt;br /&gt;
              [$000AW]  #Brownian Motion Inducer   (Make it Tighter)         10&lt;br /&gt;
              [$0003W]  #Gravitational Damping Hub (Snooping)                11&lt;br /&gt;
              [$000DW]  #Quantum Explosion Dynamo  (QED)                     12&lt;br /&gt;
              [$0004W]  #Korath III Base           (Bagpipes)                13&lt;br /&gt;
              [$000CW]  #Ending                    (Fanfare)&lt;br /&gt;
              [$0002W]  #High Scores               (High Scores)             15&lt;br /&gt;
%patch $3069C [$0001W]  #Scrolling Story           (Armageddon Machine)&lt;br /&gt;
              [$0000W]  #Game Over                 (Came In)&lt;br /&gt;
              [$0008W]  #Help                      (Help)&lt;br /&gt;
&lt;br /&gt;
#Other music played: (Values here is number of LEVELS whose music is used)&lt;br /&gt;
%patch $5830 $0011W #Star Wars story&lt;br /&gt;
%patch $EABD $0013W #Help&lt;br /&gt;
%patch $EC67 $000EW #Ending sequence&lt;br /&gt;
%patch $F808 $0012W #Game over&lt;br /&gt;
&lt;br /&gt;
#Add new music&lt;br /&gt;
#Index of first music chunk within audio chunks:&lt;br /&gt;
%patch $8C61 $00C0W&lt;br /&gt;
&lt;br /&gt;
#Start address of music chunks&lt;br /&gt;
#reduce start address by 2x that of &amp;quot;First Audio Entry&amp;quot;&lt;br /&gt;
%patch $8BF1 $BF45W #Clear_music()&lt;br /&gt;
%patch $8BFF $BF45W #Clear_music()&lt;br /&gt;
%patch $8CF5 $BF45W #StartMusic()&lt;br /&gt;
%patch $8C0D $0E    #Total Number of Songs&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
%patch $8A88 $14     #Total number of level entries&lt;br /&gt;
&lt;br /&gt;
#Song values:&lt;br /&gt;
#00 = A World of Wonderment  01 = Brer Tar&lt;br /&gt;
#02 = To the Future          03 = Faster&lt;br /&gt;
#04 = Space Funk             05 = Aliens Ate My Babysitter&lt;br /&gt;
#06 = Ominous                07 = Metal&lt;br /&gt;
#08 = Mamba Snake&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                           MUSIC PLAYED              LEVEL No&lt;br /&gt;
%patch $3103E [$0005W]  #Map                            (Aliens Ate My Babysitter)  0&lt;br /&gt;
              [$0003W]  #Bloogwaters Crossing           (Faster)                    1&lt;br /&gt;
              [$0001W]  #Guard Post One                 (Brer Tar)                  2&lt;br /&gt;
              [$0008W]  #First Dome of Darkness         (Mamba Snake)               3&lt;br /&gt;
              [$0008W]  #Second Dome of Darkness        (Mamba Snake)               4&lt;br /&gt;
              [$0008W]  #Bloogdome                      (Mamba Snake)               5&lt;br /&gt;
              [$0007W]  #Bloogton Manufacturing         (Metal)                     6&lt;br /&gt;
              [$0002W]  #Bloogton Tower                 (To the Future)             7&lt;br /&gt;
              [$0007W]  #Bloogfoods, Inc.               (Metal)                     8&lt;br /&gt;
              [$0001W]  #Guard Post 2                   (Brer Tar)                  9&lt;br /&gt;
              [$0003W]  #Bloogville                     (Faster)                    10&lt;br /&gt;
              [$0002W]  #BASA                           (To the Future)             11&lt;br /&gt;
              [$0001W]  #Guard Post 3                   (Brer Tar)                  12&lt;br /&gt;
              [$0004W]  #Bloogbase Recreational District(Space Funk)                13&lt;br /&gt;
              [$0004W]  #Bloogbase Management District  (Space Funk)                14&lt;br /&gt;
              [$0006W]  #Bloog Control Center           (Ominous)                   15&lt;br /&gt;
              [$0002W]  #Blooglab Space Station         (To the Future)             16&lt;br /&gt;
              [$0000W]  #Bean-with-Bacon Megarocket     (A World of Wonderment)     17&lt;br /&gt;
              [$0000W]  #High Scores                    (A World of Wonderment)     18&lt;br /&gt;
&lt;br /&gt;
#Other music played: (Values here is number of LEVELS whose music is used)&lt;br /&gt;
%patch $563F $000DW #Star wars text (Space funk)&lt;br /&gt;
%patch $E33C $0001W #Molly ending (Faster)&lt;br /&gt;
&lt;br /&gt;
#Index of first music chunk within audio chunks:&lt;br /&gt;
%patch $8AC9 $00B4W&lt;br /&gt;
&lt;br /&gt;
#Add new music&lt;br /&gt;
#Start address of music chunks&lt;br /&gt;
#reduce start address by 2x that of &amp;quot;First Audio Entry&amp;quot;&lt;br /&gt;
%patch $8A59 $CA53W #Clear_music()&lt;br /&gt;
%patch $8A67 $CA53W #Clear_music()&lt;br /&gt;
%patch $8B5D $CA53W #StartMusic()&lt;br /&gt;
%patch $8A75 $09    #Total number of songs&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Music and extra levels ==&lt;br /&gt;
&lt;br /&gt;
[[Patch:Levels#Extra_levels|It is possible to have extra levels in Keen Vorticons and Galaxy.]] For Vorticons there is no issue, the TSR program will provide music for any level. With Keen Galaxy the music list must be extended, this is done by simply adding new entries to the end of it. (This will overwrite some of the [[Patch:F10 M Cheat]] text.) The extra level patch also has an entry for the number of level song entries in the list. This should match the number of levels.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create a secondary song list ==&lt;br /&gt;
&lt;br /&gt;
This patch creates a secondary music subroutine that uses an alternate song list/ What this means is that when used it will play the song from this list instead of the main level list. This is useful if music\level space is tight, or the modder wishes to play a song that does not appear in any possible level. It relies on using the [[Patch:EGAGRAPH|EGAGRAPH check skip]] and so is incompatible with any other patches that use this.&lt;br /&gt;
&lt;br /&gt;
Following the main part of the patch is a series of optional patches that make various situations in the game use this alternate song list. Any or all of them can be used or removed as desired. Note that the song to be played in these uses is highlighted in blue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;New song list&amp;quot;&amp;gt;&lt;br /&gt;
#Disable EGAGRAPH check (Frees 389 bytes at $3CF6)&lt;br /&gt;
%patch $3CE5 $90 $90&lt;br /&gt;
&lt;br /&gt;
#New music setting code = $037D0526RL&lt;br /&gt;
%patch $3CF6 $55 $8B $EC $83 $EC $02 $56 $57 $8B $76 $06 $83 $FE $14 $72 $11&lt;br /&gt;
             $83 $FE $FF $74 $0C $B8 $06CCW  $50 $9A $037D022FRL     $83 $C4&lt;br /&gt;
             $02 $9A $18740B15RL     $83 $FE $FF $75 $05 $BF $05 $00 $EB $08&lt;br /&gt;
             $8B $DE $D1 $E3 $8B $BF $018EW  $E9 $4F9EW&lt;br /&gt;
&lt;br /&gt;
#New music list (Max length 20 entries)&lt;br /&gt;
%patch $2EFFE $0000W&lt;br /&gt;
              $0001W&lt;br /&gt;
              $0002W&lt;br /&gt;
              $0003W&lt;br /&gt;
              $0004W&lt;br /&gt;
              $0005W&lt;br /&gt;
              $0006W&lt;br /&gt;
              $0007W&lt;br /&gt;
              $0008W&lt;br /&gt;
              $0009W&lt;br /&gt;
              $000AW&lt;br /&gt;
              $000BW&lt;br /&gt;
              $000CW&lt;br /&gt;
              $000DW&lt;br /&gt;
              $000EW&lt;br /&gt;
              $000FW&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Optional uses of new Keen 4 song list&amp;quot;&amp;gt;&lt;br /&gt;
#Use new list in story demo&lt;br /&gt;
%patch $5835 $B8 [$0001W] $50 $9A $037D0526RL&lt;br /&gt;
&lt;br /&gt;
#Use new list in ending sequence&lt;br /&gt;
%patch $9CD6 $B8 [$0001W] $50 $9A $037D0526RL&lt;br /&gt;
&lt;br /&gt;
#Use new list talking to Lindsey&lt;br /&gt;
%patch $F106 $B8 [$0001W] $50 $9A $037D0526RL&lt;br /&gt;
&lt;br /&gt;
#Use new list when talking to Oracle Member&lt;br /&gt;
%patch $F4C9 $B8 [$0001W] $50 $9A $037D0526RL&lt;br /&gt;
&lt;br /&gt;
#Play music in the main menu&lt;br /&gt;
#SIDE EFEFECT: Keen menu background color black, not cyan&lt;br /&gt;
%patch $1CC6A $B8 [$0015W]  $50 $9A $06BD20C7RL&lt;br /&gt;
&lt;br /&gt;
#Play music whenever help loaded (Overwrite cache graphic sub, thus can cause graphic glitch)&lt;br /&gt;
%patch $9924 $B8 [$0001W] $50 $9A $037D0526RL $83 $C4 $02&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Insufficient Memory to play music error ==&lt;br /&gt;
&lt;br /&gt;
This error occurs when after all the level and graphics have been loaded, there does not remain enough free memory to load the IMF music file selected for that level. The solution is to either use a smaller music file for the level or free up memory.&lt;br /&gt;
&lt;br /&gt;
This error is both easy to diagnose and remedy. The first step is to load the level with the error. Using the [[Patch:F10 M Cheat|memory test cheat]] (F10 + M) the amount of free memory &#039;&#039;without the music&#039;&#039; can be found. This can then be compared with the size of the IMF file needing to be played to give a good estimate of how much extra memory needs to be freed up. If a smaller music file is not desirable or cannot be found then more memory will have to be freed up. This can be constantly checked with the memory cheat.&lt;br /&gt;
&lt;br /&gt;
There are three main ways to free up memory. The first is to physically shrink the level&#039;s size; each tile removed will free up six bytes of memory, so trimming a large level can save a lot. This however is often not preferable.&lt;br /&gt;
&lt;br /&gt;
The second method is to lessen the number of different tiles in the level (This is why [[TED5]] has a function to tell you how many there are.) each background tile will save 128 bytes and each foreground tile 140 bytes of memory. Again this may not be preferable, but a large level often contains many tiles that do not really add anything to it.&lt;br /&gt;
&lt;br /&gt;
Finally certain sprites may be removed. [[Patch:Sprite cache|Each sprite caches all its graphics into memory so it can display them]] A sprite can easily take up tens of kilobytes of space, the larger and showier it is, the more memory it needs. To remove a sprite cache, &#039;&#039;all&#039;&#039; instances of the sprite must be removed from the level, not one can remain.&lt;br /&gt;
&lt;br /&gt;
A related solution is to edit the graphics, either making them smaller, or changing how many copies are placed into memory. (In theory this will make the sprite move less smoothy, but this is often hard to see.) This can halve or even quarter the amount of memory the sprite needs to run.&lt;br /&gt;
&lt;br /&gt;
Other errors can be found at [[Patch:Game errors]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Insufficient memory to play music&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8D30  [$06ECW] #Text called from&lt;br /&gt;
%patch $2F55C &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8CA2  [$065EW] #Text called from&lt;br /&gt;
%patch $3099E &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8B0A  [$0656W] #Text called from&lt;br /&gt;
%patch $31386 &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Don&#039;t play music ==&lt;br /&gt;
&lt;br /&gt;
These patches remove music from playing or changing in given situations. For disabling music in a level the best option is to create an &#039;empty&#039; song with no sound and use that as the level music.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#No GAME OVER music&lt;br /&gt;
%patch $F807 $EB $0A&lt;br /&gt;
&lt;br /&gt;
#No music in help menu:&lt;br /&gt;
%patch $EABC $EB $0A&lt;br /&gt;
&lt;br /&gt;
#No music during Star Wars story:&lt;br /&gt;
%patch $5830 $EB $0A&lt;br /&gt;
&lt;br /&gt;
#No music during ending sequence:&lt;br /&gt;
%patch $EC66 $EB $0A&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=26615</id>
		<title>Abiathar</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=26615"/>
		<updated>2014-08-04T14:02:26Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Added v2.0 links (not local because it won&amp;#039;t let me upload non-images)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
[[Image:Abiathar.png|thumb|320px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039;, displaying tile properties on the [[Keen 4]] world map.]]&lt;br /&gt;
Abiathar is a Windows-based level and tileinfo editor for Keen Dreams and Keen Galaxy. It was developed by Fleexy starting on January 10, 2014 and publicly released on Keen Day 2014.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharUpdater.exe Update client] (downloads newest version)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Newest standalone version:&#039;&#039;&#039;&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/v2.0/Abiathar.zip Version 2.0]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earlier versions:&#039;&#039;&#039;&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.4.zip Version 1.4]&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.3.2.zip Version 1.3.2]&lt;br /&gt;
* [http://www.shikadi.net/wiki/files/tools/abiathar_v1.0.zip Version 1.0]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Tools (Galaxy)]]&lt;br /&gt;
[[Category:Level Editors (Galaxy)]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:The_Melon_Mines&amp;diff=26192</id>
		<title>Talk:The Melon Mines</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:The_Melon_Mines&amp;diff=26192"/>
		<updated>2014-06-06T17:24:01Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Asked about wrong infobox FP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The image extends out of the infobox and into the text (in front in IE, behind in FF).  Is there any way of fixin this? -- [[User:DHeadshot|DHeadshot]] 10:22, 17 December 2009 (GMT)&lt;br /&gt;
&lt;br /&gt;
The infobox states that 33 Flower Power are present, but [[Abiathar]] (versions v1.3.2 and unreleased v1.4) counts 53. Could someone verify this before I update the infobox or start ripping apart the Abiathar default configuration? [[User:Fleexy|Fleexy]] ([[User talk:Fleexy|talk]]) 17:24, 6 June 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25687</id>
		<title>Keen Galaxy Modding Tutorial (patch based)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25687"/>
		<updated>2014-05-14T13:59:32Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* General Level Editing Issues */ Added note about Abiathar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial aims to teach Keen Galaxy modding (Keen episodes 4, 5, and 6) to people who don&#039;t know the first thing about modding, but even the experienced modder should find this information as a good reference tool.  Keen 4 will be used for specific examples, but if you are modding keen 5 or 6, you should be able to follow along.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders =&lt;br /&gt;
Download my [https://dl.dropbox.com/u/3654819/Keen/Keen%20Galaxy%20Modding%20Package.zip Keen Galaxy Modding Package].&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also manually create this package:&lt;br /&gt;
&lt;br /&gt;
Create your base folder called &amp;quot;Keen Modding&amp;quot; on your desktop. In this folder you&#039;ll want to create two subfolders: &amp;quot;Keen4mod&amp;quot; and &amp;quot;Tools&amp;quot;.  In your &amp;quot;Keen4mod&amp;quot; folder, create a folder called &amp;quot;BMP&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Copy all your Keen 4 game files into the folder &amp;quot;Keen4mod&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: It is very important that you use the right version of the episode you wish to mod.  Make sure they are the correct versions: Keen 4 v1.4, keen 5 v1.4, and keen 6 v1.4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tool Downloads ==&lt;br /&gt;
These are the tools you will need in order to mod Keen&#039;s 4, 5, and 6 and included in the modding package.  If you wish to download them individually:&lt;br /&gt;
&lt;br /&gt;
* [http://files.keenmodding.org/modkeen2.zip Download Modkeen] &lt;br /&gt;
* [http://files.keenmodding.org/ckpatch-0.10.0.zip Download CkPatch]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/UNLZEXE.EXE Download Unlzexe]&lt;br /&gt;
* [http://sourceforge.net/projects/clonekeenplus/files/Tools/unlzexe/win32/unlzexe081.zip/download Download Unlzexe (64 bit version)]&lt;br /&gt;
* [http://files.commanderkeen.org/users/mink/CkD456Tli(v3.3).zip Download CkD456tli]&lt;br /&gt;
* [http://files.commanderkeen.org/users/leandro/keenscr.zip Download KeenScr]&lt;br /&gt;
* [http://levellord.rewound.net/KEENWAVE.zip Download Keenwave]&lt;br /&gt;
* [http://levellord.rewound.net/STARTEXT.zip Download Startext]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/IMFCreator Download IMF Creator]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/WDC Download WDC]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Depending on your computer&#039;s operating system you may need CWSDPMI.EXE to run modkeen and other modding programs.  If your receive an error in later steps asking for this file, get it here: &lt;br /&gt;
&lt;br /&gt;
* [http://www.delorie.com/djgpp/dl/ofc/simtel/v2misc/csdpmi5b.zip/BIN/CWSDPMI.EXE  Download CWSDPMI.EXE]&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
You will need one of the four existing level editors: [[Keen: Next (level editor)|Keen Next]] (K:N), [[TED5]], [[The Photachyon Tranceiver]] (TPT), or [[The Omegamatic]] (TOM).  This tutorial does not include instructions for The Photachyon Tranceiver since it is in many ways a windows based Ted5.  I personally recommend The Omegamatic.  All of these editors are included in my modding package.&lt;br /&gt;
&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/TED5.zip Download TED5]&lt;br /&gt;
* [http://www.bipship.com/downloads/tpt3.zip Download The Photachyon Tranceiver]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/KeenNextEditor.zip Download Keen: Next]&lt;br /&gt;
* [http://0x27.com/downloads/tom.zip Download The Omegamatic]&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharUpdater.exe Download Abiathar (updater/downloader)]&lt;br /&gt;
&lt;br /&gt;
=== Drawing Tools ===&lt;br /&gt;
One of the simplest tools for modifying Keen graphics is MS Paint.  However, only the versions of MS Paint prior to Windows 7 will function with the Keen palette correctly.&lt;br /&gt;
&lt;br /&gt;
* [http://sagorpirbd.deviantart.com/art/Win-7-MS-Paint-dll-XP-English-122788536 Old MSPaint]&lt;br /&gt;
&lt;br /&gt;
Some modders use programs such as GIMP or PhotoShop.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders (Continued) =&lt;br /&gt;
&lt;br /&gt;
Unzip the tools in your tool folder.  Copy the following files into your &amp;quot;Keen4mod&amp;quot; folder:&lt;br /&gt;
* modkeen.exe&lt;br /&gt;
* unlzexe.exe&lt;br /&gt;
* ck4patch.exe (Keen 5 requires &#039;ck5patch.exe&#039;, Keen 6 &#039;ck6patch.exe&#039;)&lt;br /&gt;
&lt;br /&gt;
Once these files are in place, Unlzexe your Keen4.exe by dragging and dropping the file onto Unlzexe.exe.  A window may flash on the screen when you do so.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using the 64 bit version of Unlzexe, this will create a “Keen4.exenew”.  You will then need to delete the old “Keen4.exe” and rename “Keen4.exenew” to “Keen4.exe”.&lt;br /&gt;
&lt;br /&gt;
Open a command prompt.  If you are unfamiliar with this process: go to your computer&#039;s start button, and either click &#039;run&#039;, or in the search field type &#039;run&#039; and click the first result.  In the run box, type &#039;cmd&#039;.  Now you have a command prompt open.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll see something like &lt;br /&gt;
 C:\Users\UserName&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type: &lt;br /&gt;
&lt;br /&gt;
 cd desktop\Keen Modding\My Mod&lt;br /&gt;
&lt;br /&gt;
Press enter, then:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -export -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you should see a list of everything modkeen has exported followed by the word &amp;quot;Done!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using a 64 bit version of windows modkeen may not run through the command prompt.  You can run it instead by dropping modkeen.exe onto dosbox.exe and then typing: modkeen -episode=4 -export -bmpdir=&amp;quot;graphics&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editing Graphics and Text =&lt;br /&gt;
To begin editing the graphics and most text found in the game, go to your &amp;quot;BMP&amp;quot; folder.  You&#039;ll see a lot of images there as well some some text files and some other files.&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
You can edit any of these images how you want, but keep some things in mind:&lt;br /&gt;
&lt;br /&gt;
* You need to use the original keen colors. This is easy to do if you just edit the images with MSpaint.  &lt;br /&gt;
** &#039;&#039;&#039;Note&#039;&#039;&#039;: Windows 7 users will need to download the old version of mspaint.&lt;br /&gt;
&lt;br /&gt;
* On sprite images, you&#039;ll see three frames: the image against a black background, a black outline on a white background, and a red box on a grey background.  The first image is where the sprite is drawn.  The second is used to show what parts of the original image are going to be shown in-game.  The last box is used for hitbox measurement, although it doesn&#039;t directly affect hitbox size (the 4sprites.txt determines this, see the &#039;hitboxes&#039; section below).&lt;br /&gt;
&lt;br /&gt;
* In the foreground tileset (4til0001) you&#039;ll see a similar black and white duplicate section on the right side.  This is also used to show what parts of the tiles are going to be shown in-game.&lt;br /&gt;
&lt;br /&gt;
* The height and width of images must be multiples of 8 (although some of the original images do not follow this rule).&lt;br /&gt;
&lt;br /&gt;
* Changing the size of an enemy will affect how it spawns and the &#039;hitbox&#039; area it uses to interact with the environment and with keen.&lt;br /&gt;
&lt;br /&gt;
* You cannot change the size of the tilesets.&lt;br /&gt;
&lt;br /&gt;
* Tiles are made up of a 16 by 16 area of pixels.&lt;br /&gt;
&lt;br /&gt;
* The image that displays in the scrolling story (for Keen 4 this is 4bmp0102.bmp) is limited in palette colors.  The colors availible can be changed with patching.&lt;br /&gt;
&lt;br /&gt;
=== Hitboxes ===&lt;br /&gt;
In keen galaxy, hitboxes are invisible rectangular areas used for telling a sprite how to interact with the environment or with Keen.  For a point item, the hitbox is the area keen must touch to collect the item.  For an enemy, it is the area of the enemy that will touch the ground and touch keen.  For Keen himself, its the area he can interact with platforms, enemies, and other objects.&lt;br /&gt;
&lt;br /&gt;
To edit the hitboxes, open 4sprites.txt.  This can be a complex, difficult process that often falls to trial and error. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll use Keen&#039;s left facing standing frame as an example.  The image name for this is 4spr0006.  So in 4sprites.txt, look for item 6.  It will look like this: &lt;br /&gt;
&lt;br /&gt;
 6: [4, 0, 19, 31], [0, 0], 4.  &lt;br /&gt;
 &lt;br /&gt;
The first set of brackets controls the hitbox.  The first set of numbers are x and y coordinates for the top left corner of the image.  These are measured from the top left of the image (4 pixels across and 0 down).  The next coordinates are for the bottom right of the hitbox.  These are also measured from the top left corner of the image (19 pixels across and 31 down).  Notice that even though the image is actually 32 pixels high, the hitbox is designed to be 1 pixel away from the bottom.  This is important for any sprite that needs to move on a platform.&lt;br /&gt;
&lt;br /&gt;
The second set of brackets are coordinates that have to do with where a sprite image appears ingame relative to where it is placed in the level editor.  In the example of the Keen sprite, these are 0,0.  Its usually easiest to leave these at 0,0, but if you use a sprite that changes frame size over the course of its animation, or a sprite intended to float above the ground, you may want to experiment with this.  The first value is an X coordinate and will determine how far to the right or left the sprite is placed.  The second value is a Y coordinate which determines how far up or down the sprite is placed.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you&#039;ve modded an enemy and it is stuck in the ground or in the air, you&#039;ll want to edit the Y value to bring the hitbox even with the ground.&lt;br /&gt;
&lt;br /&gt;
The last value is not a coordinate but has to do with animation frame rate.  In the example of Keen, this value is 4.  This value varies from 1, 2, and 4.This determines how &#039;smooth&#039; the frames in a series animate, 4 being the smoothest, 2 medium, and 1 low.  The smoother the animation, the more memory will be used in the level.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Use the 4 value sparingly to avoid memory issues and game crashes.&lt;br /&gt;
&lt;br /&gt;
== Texts ==&lt;br /&gt;
You&#039;ll find a number of text files in your BMP folder.  You can edit these with notepad or a similar application.  These files include the help sections, the story, and the end-game story.  These files employ a formatting code:&lt;br /&gt;
&lt;br /&gt;
* ^P means &amp;quot;new page&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* ^G followed by a series of numbers is for a graphic image.  The first two numbers are x and y coordinates for where the image will be located.  The last number specifies the image used.  These images numbers don&#039;t match up with the image numbers in your graphics folder, so you&#039;ll want to do some experimenting to get the right one.&lt;br /&gt;
&lt;br /&gt;
There are specific codes for changing the color of text, but this list is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
There is also a specific code for creating &#039;timed&#039; images which will animate based on a timer, but this is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
= Importing Graphics and Texts =&lt;br /&gt;
To import your graphics, go back to your command prompt and type in the same address as previously, but you&#039;ll change the command to import this time:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -import -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You may need to drag and drop modkeen onto dosbox and then type this command.&lt;br /&gt;
&lt;br /&gt;
If you get the done message, you&#039;ve imported successfully, however, you can&#039;t try out your new graphics until after creating a patch file and corresponding batch file, which is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
= Patch File and Batch File = &lt;br /&gt;
&lt;br /&gt;
Your patch file is used to access all the edited content in your mod. It&#039;s what allows you to have new graphics, new tile properties, new levels, new music, new text, new enemy behaviors, etc.  It also allows you to change the &#039;rules&#039; of the game in certain ways (although there are limitations).&lt;br /&gt;
&lt;br /&gt;
If you look in your &amp;quot;keen4mod&amp;quot; folder, you will notice that Modkeen has generated a patch file for you called &amp;quot;keen4.pat&amp;quot;.  You will want to rename this so that it isn&#039;t overwritten in the future.  Locate Keen4.pat and rename it to something like &amp;quot;mymod.pat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can also create a patch file from scratch.  To do this, create a new .txt file called &amp;quot;mymod&amp;quot;.  Open the file and save as &amp;quot;mymod.pat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section. You should now have a &amp;quot;mymod.pat&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
Your batch file is what you&#039;ll use from now on to play your mod.  To create a batch file, first create a new text document and name it whatever you want.  In this example we&#039;ll use &amp;quot;Play&amp;quot;.  In the text file, type: ck4patch mymod.pat&lt;br /&gt;
&lt;br /&gt;
Now, go to &#039;file&#039; and save as &amp;quot;Play.bat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;Play.bat&amp;quot; to make sure your mod is working.  If you see your modified graphics and/or texts, it works!&lt;br /&gt;
&lt;br /&gt;
== Patching Basics ==&lt;br /&gt;
After you&#039;ve made sure Play.bat runs fine, open up mymod.pat with a text editor.&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
 ext ck4&lt;br /&gt;
 version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what each line means: &lt;br /&gt;
&lt;br /&gt;
* The first two lines mark the beginning of your patch file.&lt;br /&gt;
&lt;br /&gt;
* The # symbol indicates a comment.  Any line preceded by a # will be skipped over and allows you to include notes in your patch file.&lt;br /&gt;
&lt;br /&gt;
* %egahead EGAHEAD.CK4 is what tells the game to use your new graphics.&lt;br /&gt;
&lt;br /&gt;
* %end will mark the end of your patch file.  Anything that appears after this will not be read by the game, so make sure that any patches you add to this file are included before this line.&lt;br /&gt;
&lt;br /&gt;
You can find all kinds of patches on the [http://www.keenmodding.org/ Keen Modding Forum] as well as make specific requests.  Additionally, your can run [[The Neural Stunner]] to generate some easy patches, or dig through the patch files of existing mods.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example patch that makes bounders unkillable:&lt;br /&gt;
&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
&lt;br /&gt;
Now add it to the patch file and also add a comment explaining what it does.&lt;br /&gt;
&lt;br /&gt;
 %ext ck4&lt;br /&gt;
 %version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 #Make bounders unkillable&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Now save your patch file and run Play.bat.  Bounders should now be unkillable!&lt;br /&gt;
&lt;br /&gt;
= Tile Properties =&lt;br /&gt;
Go to your &amp;quot;Tools&amp;quot; folder and go into your ckD456tli folder.  Copy the Keen4.tli file into your &amp;quot;keen4mod&amp;quot; folder.  Then go to your patchfile and add the patch that corresponds to your modded episode below:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $249C2 keen4.tli&lt;br /&gt;
 %patchfile $25B22 keen5.tli &lt;br /&gt;
 %patchfile $25212 keen6.tli&lt;br /&gt;
&lt;br /&gt;
Now run CkD456tli.  The first item the program asks you for is the file which you just copied to your &amp;quot;keen4mod&amp;quot; folder.  Locate and select it.  Next, go into the BMP folder and select the background tileset, and after that select the foreground tileset.&lt;br /&gt;
&lt;br /&gt;
You&#039;re now in the editing menu.&lt;br /&gt;
&lt;br /&gt;
On the left side you can see the background tiles.  The properties in that tileset are limited: either a tile can animate or have no properties.  If a tile animates, the next tile in the animation sequence is outlined in a double red border. Note that tiles can only animate up to 128 tiles before or after any given tile, so try to keep tiles that animate near each other. &lt;br /&gt;
&lt;br /&gt;
To animate a tile, select the first tile in the animation sequence.  Next, right click the tile that should appear next in the sequence.  Now left click that new tile and select the tile it will animate to next.  Make sure the last tile in this sequence animates back to the original tile.  Now go back and add animation times to each tile.  By moving the scrollbar, you can change the amount of time spent on the tile while animating (0 to 255 time units).&lt;br /&gt;
&lt;br /&gt;
If a tile animates that you don&#039;t want to animate, right click the original tile.  You will need to repeat this step for each tile in the animation sequence.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Reducing the scroll bar to zero will NOT prevent the tile from animating and will instead cause the game to crash&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After disabling a tile from animating, it is not necessary to reduce its value in the scroll bar to zero, although this is recommended to avoid future errors when editing.&lt;br /&gt;
&lt;br /&gt;
On the right side is the foreground tiles.  For foreground tiles, you can also edit the animation properties (and they work the same way), but there are several other properties you can edit as well. Above the enlarged pictures of the tile and its mask is a dropdown menu where you can select the properties of the top of the tile. Similarly, the dropdown menu below lets you select the properties of the bottom of the tile. Pushing in the buttons on either side signify that Keen (and other sprites) cannot enter the tile from that side, making it solid. (Note that these are almost always set or cleared together. One-way tiles do not work as well in Keens 4, 5, and 6 as they do in Keens 1, 2, and 3).  Off to the right is another dropdown menu, which lets you change special properties of the tile. Lastly, when the &amp;quot;FRONT&amp;quot; button is pushed in, it means that the tile appears in front of Keen and other sprites rather than behind them. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: There are some exceptions where foreground tiles that animate have their animation value set to zero.  This includes: Key-gem doors and and flag holders.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished editing, click save. &lt;br /&gt;
&lt;br /&gt;
= Level Editing =&lt;br /&gt;
Before getting into special instructions for each editor, some general knowledge about how Keen Galaxy levels work is needed.&lt;br /&gt;
&lt;br /&gt;
Keen 4, 5, and 6 levels consist of three layers of tiles: the background, foreground, and info layers. The background is just there to add color to the scene; Keen and the enemies don&#039;t interact with it. The foreground layer contains tiles that Keen interacts with: platforms, point items, doors, secret passages, and so on (note that many tiles in the foreground layer actually appear behind Keen, but they are not considered &#039;background tiles&#039;). Finally, the info layer contains information about sprites and special features such as switches, doors, bridges and so on. When level editing, you will generally work with only one layer at a time, although all three may be visible at once (layers can be toggled).&lt;br /&gt;
&lt;br /&gt;
In keen 4, 5, and 6, the world map is built primarily from background tiles which do no have solid properties.  Instead, special &#039;invisible&#039; tiles are placed from the foreground tilset on the world map to block Keen&#039;s path.  These can be difficult to figure out.  Check tile properties with ckD456tli to figure out what is what and then edit the invisible tiles to have visual cues for placement (they can be made invisible again later).  Alternatively, you can use foreground tiles to build the world map (although this will use more memory).&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy levels have a rectangular border of 2 tiles.  Borders should be filled with solid tiles with some exceptions.  To create a level exit, leave the border empty where you want Keen to exit.  Keen cannot exit out the top or bottom of the screen (Keen will die on the screen bottom and Keen will glitch on the screen top).&lt;br /&gt;
&lt;br /&gt;
Point items can be placed as both sprites or as tiles.  It is important to place as many point items as tiles as possible to avoid memory issues.  A good rule of thumb is to only place sprite items on foreground tiles.&lt;br /&gt;
&lt;br /&gt;
Included below are general instructions for Ted5 (Sections written by Levellass and Adurdin, edited by Ceilick), Keen: Next (Written by Ceilick), and The Omegamatic (Written by Mink and edited by Ceilick).&lt;br /&gt;
&lt;br /&gt;
== Ted5 ==&lt;br /&gt;
=== Setting up Ted5 ===&lt;br /&gt;
Download and unzip ted5 into your &amp;quot;keen4mod&amp;quot; folder.  &lt;br /&gt;
&lt;br /&gt;
1. Look for the file Egahead.ck4.  Rename this file Egahead.ren.&lt;br /&gt;
&lt;br /&gt;
2. Run Tedsetup.&lt;br /&gt;
&lt;br /&gt;
3. Tedsetup will generate a new Egahead.ck4.  Delete this file.  Now Rename Egahead.ren to Egahead.ck4.&lt;br /&gt;
&lt;br /&gt;
This is the only time you will need to run tedsetup and follow the above steps.&lt;br /&gt;
&lt;br /&gt;
You will probably need dosbox to run Ted5.  Just drag and drop the ted5.exe onto your dosbox icon.&lt;br /&gt;
&lt;br /&gt;
=== The Interface ===&lt;br /&gt;
After dismissing the welcome screen, the first thing you will want to do is press F9, or click the &amp;quot;?&amp;quot; tab and select &amp;quot;Video Mode Switch&amp;quot;. That will cause TED to run in 640x480 mode, giving you more space to work with. You can switch to the low resolution mode again anytime you want to make sure how much of the level is going to be displayed on the in-game screen at once. &lt;br /&gt;
&lt;br /&gt;
At the bottom of the screen, you will see the Info Bar. From the far left to right, it displays: &lt;br /&gt;
&lt;br /&gt;
* Selected Background tile. &lt;br /&gt;
* Selected Foreground tile. &lt;br /&gt;
* Selected Sprite Icon. &lt;br /&gt;
&lt;br /&gt;
These items display the icon as a graphic, followed by the tile number in hexadecimal (like $00AE) and decimal (174). Clicking on any of them will bring up the tiles palette so you can select a new one. &lt;br /&gt;
&lt;br /&gt;
Next appears the name of the level.  This name is used only in Ted5, it does not affect the level name in-game.&lt;br /&gt;
&lt;br /&gt;
Next appears: Active layers (B, F, I) &lt;br /&gt;
* B: Background Tiles&lt;br /&gt;
* F: Foreground Tiles&lt;br /&gt;
* I: Sprite Icon, door/switch coordinates&lt;br /&gt;
&lt;br /&gt;
The letter indicates the layer where you will be adding new tiles to. You can select more than one and the selected tiles will all be placed, however, it is recommended that you work only one layer at a time. &lt;br /&gt;
&lt;br /&gt;
Next appears: Visible layers (b, f, i) &lt;br /&gt;
This tells you which layers are being toggled.  You can toggle layers with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
When a layer is turned off you cannot place items in it by mistake. This allows you&lt;br /&gt;
 to take a closer look at a specific layer to make sure everything is placed correctly. &lt;br /&gt;
&lt;br /&gt;
Lastly, on the bottom far right: Cursor location (X, Y) &lt;br /&gt;
This gives you the tile coordinates at a specific spot on the map.  This will also be given in both decimal and hexadecimal numbers. You will need those numbers in order to have switch that activate lifts, doors leading to other places, toggling bridges, and more. &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
By default, TED5 will load the world map for the game. In order to switch to another map, you will need to click the File menu and select Edit New Map. You will then be able to select any of the maps in the game. For this example, pick Slug Village. &lt;br /&gt;
&lt;br /&gt;
You can use the arrow keys to scroll the level around.&lt;br /&gt;
&lt;br /&gt;
You can toggle which type of tile to place (background, foreground, sprite icon) by pressing the 1, 2 or 3 keys.  Note for each type of tile, you will need to press the number key to activate it and the same key again to deactivate it before using a different tile type.&lt;br /&gt;
&lt;br /&gt;
Adding new tiles to the level is as simple left-clicking. The currently selected tiles will be placed in all active layers. You can select tiles in three ways: Clicking the tile icon to the left of the Info Bar, pressing the space bar to bring up the tile set, or right-clicking an existing tile. &lt;br /&gt;
&lt;br /&gt;
Right-clicking an existing tile will switch all the active tiles to the ones in the active layers. This means, if you only have the Icon layer active, right-clicking a tile with a slug will only select the slug; while if you have all three layers active, it will select the slug, the Foreground tile, and the Background tile at that location. &lt;br /&gt;
&lt;br /&gt;
Once you have a basic level made, you&#039;ll want to add more advanced features like moving platforms, switches, bridges, doors, and so on. These are all done with links in the sprite icon layer. &lt;br /&gt;
&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A collapsing platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this, you need to place another blocking tile in the way of the platform between the other two. Make a note of the hexadecimal values of the location of the tile (the X and Y values beginning with $ at the right-hand side of the status bar). Now place a switch in an appropriate place, and link it to the blocking tile: Choose Misc, New INFOPLANE Value or press Enter, and type in a $ followed by the last two digits of the X and Y values you wrote down. Then click on the switch; this will place the link in the info plane, which will be shown as four digits. The switch will now turn the blocking tile off, to activate the platform.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use the infoplane to specify what levels your entrances will lead to.  To do this, go to Misc, New INFOPLANE Value, and type in a $ followed by one of the following: $C0xx is a link to level where xx is the level number in hexadecimal, not decimal), $D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and $F0xx is for the flag holder which corresponds to the level.  After entering your chosen value, you can then edit the info plane by left clicking.&lt;br /&gt;
&lt;br /&gt;
In the same way, you can link a switch to a bridge (link to the left-hand edge of the bridge), a gem-holder to a closed door (link to the top of the door), and a walk-in doorway to the place you walk out (link to where you want Keen&#039;s feet to end up after he enters the doorway). Note that if you create a link from a switch to a square with nothing in the info plane, that switch will turn a blocking tile on; also that you need to use a particular tile to make a walk-in door (find out by looking at an existing level).&lt;br /&gt;
&lt;br /&gt;
Another feature which makes Keen levels exciting is secret passages. Some foreground tiles allow Keen to walk behind them-these are suitable for secret passages. However, identifying which ones are like this and which ones are solid is difficult: I suggest examining some of the original levels and noting down the tile numbers of the &amp;quot;secret passage&amp;quot; tiles to keep track of them. When putting point items in a secret passage, you must use icons for them, rather than their foreground tiles. I suggest that you only place the &amp;quot;walk-behind&amp;quot; tiles in secret passages once the level is completed, so that while editing you can keep track of them more easily.&lt;br /&gt;
&lt;br /&gt;
Finally, some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks in the info layer to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are &lt;br /&gt;
used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
You can save your map at any time by going to the File menu and selecting Save Map; however, in order to actually play the level, you will need to Carmacize Maps.  While ted5 has an option to do this, it takes too long to do so.  The easiest method is to download InstantCarma and unzip the files into the folder with your maps.  After you save your map in ted5, just run InstantCarma.&lt;br /&gt;
&lt;br /&gt;
TEDSETUP creates an extra batch file (Go4.bat) and patch file (Patch4.pat) which you do not need if you open your existing patch file and add the line:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
&lt;br /&gt;
You only need to add this to your patch file once.  Then just run your batch file to try your level!&lt;br /&gt;
&lt;br /&gt;
=== Other Ted5 Features ===&lt;br /&gt;
&lt;br /&gt;
Grid Mode toggles the showing of a grid on the current level. This can help with placing tiles in the right positions. Turn this on or off from the Mode menu or by pressing G.&lt;br /&gt;
&lt;br /&gt;
Block Fill mode quickly fills a rectangular area with the currently selected tiles. Choose it from the Mode menu or press B, and click the left mouse button on the desired top-left corner, and the right button on the bottom-right corner, then press Enter to fill the area.&lt;br /&gt;
&lt;br /&gt;
Flood Fill mode will fill an area of one tile with the currently selected tiles. Choose it from the Mode menu or press F, then click in the desired location to fill.&lt;br /&gt;
&lt;br /&gt;
Copy Mode (also on the Mode menu, or press C) lets you select a rectangular set of tiles to copy so that you can duplicate them in another region easily. Select the area as for Block Fill mode, then press Enter.&lt;br /&gt;
&lt;br /&gt;
Paste Mode (you know where to find it) allows you to paste one or more copies of the tiles chosen with Copy Mode. Click with the left mouse button to place a copy. You can use the Paste Overlay option (on the Mode menu, or press F3) to toggle pasting of empty tiles. The Snap-Paste option (press S) toggles pasting copies just anywhere, or in a tessellated pattern. This is especially useful for &lt;br /&gt;
filling in the background of a level.&lt;br /&gt;
&lt;br /&gt;
You can change the size of a level with the &amp;quot;Change MAP Edges&amp;quot; option on the Edit menu. Select the edge you want to change, and enter a positive or negative number to add or remove rows from that edge.&lt;br /&gt;
&lt;br /&gt;
== Keen:Next ==&lt;br /&gt;
&lt;br /&gt;
=== Setting Up ===&lt;br /&gt;
Go to the keen 4 folder in Keen next and copy the tiles4.png file.  Paste this into your &amp;quot;keen4mod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit tiles4.png to include your edited graphics.  Be sure to save the file as .png.&lt;br /&gt;
&lt;br /&gt;
Go to your Keen:Next folder and run the kmaps application.  You may get an error message after running this, but this is not a problem, just click ok.&lt;br /&gt;
&lt;br /&gt;
When the editor opens, the first thing to do is go up to &#039;file&#039; then &#039;new&#039;.  A &#039;project properties&#039; window will appear.  Give your project a title (it doesn&#039;t matter what you name it) and then check the &amp;quot;keen project&amp;quot; box.  We&#039;ll be using Keen4, which is the default setting.  If you&#039;re planning to edit keen 5 or 6, just make sure to select those in the box next to &amp;quot;keen project&amp;quot;.  Next we need to choose the tileset.  In the image file section, go to &#039;browse&#039; and select the tileset you want to use (in this case, tiles4.png).  After all this, click &#039;ok&#039;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: you will have to do this each time you open the editor.&lt;br /&gt;
&lt;br /&gt;
Before editing levels, you must extract them in a way that Keen: Next can read them.  Go to &#039;file&#039;, then &#039;create keen files&#039;.  Browse to your &amp;quot;keen4mod&amp;quot; folder and select keen4.exe.  Your keen map files should now be created.   &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: this will not work if you have run tedsetup.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: You only have to do this once.&lt;br /&gt;
&lt;br /&gt;
=== The Interface and Tools ===&lt;br /&gt;
The tiles should load on the right side of editor menu.  You can adjust the tile menu width with the mouse by selecting the left edge.  You can scroll between the background and foreground tiles.&lt;br /&gt;
&lt;br /&gt;
In the upper left is a toolbar.  The default tile tool is the pencil/paintbrush.  You can click and place or click and drag to place tiles.  &lt;br /&gt;
&lt;br /&gt;
There is also a water dropper tool.  This is useful for selecting a tile currently on the map instead of looking for it in the tileset.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: the water dropper will &#039;pick up&#039; the tile from the tileset you&#039;re currently in; if you currently have a background tile selected and use the water dropper, it will pick up the background tile on the map.  If you want a foreground tile, scroll down in the tileset on the right and select one of  the foreground tiles, then use the water dropper on the map.&lt;br /&gt;
&lt;br /&gt;
I do not recommend using the paint can tool, since it is very buggy.&lt;br /&gt;
&lt;br /&gt;
The next tool can be used for selecting&lt;br /&gt;
 a rectangular area of the map.  This is useful for cutting a piece of the level and pasting it elsewhere (you will need to do this twice if you want to cut and paste both the background and foreground).  You can also create stamps this way. Just select an area and go to &amp;quot;selection&amp;quot; and then &amp;quot;create brush&amp;quot;.  A stamp of the area will now appear on the left.&lt;br /&gt;
&lt;br /&gt;
You can create stamps of a large area of tiles from the tileset also.  To do this, click the top left corner of the area of tiles you want in the tileset.  Then go to the bottom right corner of that area, while holding shift, and select that tile.  Doing this successfully will result in the stamp image appearing on the left side of the editor.  You can now use the paintbrush tool to place this stamp, and you can reselect this stamp at any time you&#039;re editing.  &lt;br /&gt;
&lt;br /&gt;
The next tool looks like a little cog.  This is used for placing doors, level entrances, switches, and key-gem holders.&lt;br /&gt;
&lt;br /&gt;
The last important tool has an icon that looks like an arachnut.  Click this to bring up the sprite menu.  This is used for placing enemies, points, and some other things.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
In addition to the tools, you can toggle the layers used in editing with the &#039;view&#039; tab and checking/unchecking layer 1 and layer 2.  Make sure that, in the &amp;quot;view&amp;quot; section, you have &#039;fade unused layers&#039; unchecked.  This makes level viewing easier.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: This is the buggiest part of Keen:Next and if you frequently toggle layers, glitches can ruin a lot of work put into a level.  Its usually best to leave both layers visible, or save your progress before toggling layers and then reload Keen: Next as soon as you finish the work that required toggling them.  &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
To begin editing, first load a map.  Go to &#039;file&#039;, then &#039;Import Keen Map&#039;.  In your &amp;quot;keen4mod&amp;quot; folder, select &#039;maphead.ck4&#039;.  You should now be presented with a &#039;map select&#039; box.  Choose the level you&#039;d like to edit.  Let&#039;s start with the shadowlands.&lt;br /&gt;
&lt;br /&gt;
The shadowlands map should now be loaded in the main editing area.  You&#039;ll notice little white icons that look like this (!).  These are the level sprites.  To place these, use the little cog tool up in the upper left (next to the rectangular area selector).  When this tool is used to click the map, you&#039;ll get an &#039;info plane&#039; box asking for an x and y coordinate.&lt;br /&gt;
&lt;br /&gt;
On the world map, this is how the coordinates work:&lt;br /&gt;
The x coordinate determines what kind of sprite is used.  An X of 192 designates the sprite as a level entrance.  Note: you cannot place a level entrance on a tile that appears over keen or on an animating tile.&lt;br /&gt;
&lt;br /&gt;
An x of 208 is a level block (like those used in the slug village); this sprite does not actually block keen, but is placed over a foreground tile that does.  When the level is beaten, this info number removes the foreground tile.  &lt;br /&gt;
&lt;br /&gt;
An x value of 240 is for the flag holders.&lt;br /&gt;
&lt;br /&gt;
Y coordinates only designate what level the sprite is associated with.  A Y of 1 will designate the level as level 1.&lt;br /&gt;
&lt;br /&gt;
To place sprites (enemies) in a level, go to the tools menu and click the little icon that looks like an arachnut.  The sprite menu should appear in place of the tileset.  To place a sprite, make sure you have the paintbrush icon selected, then click the sprite you want to place.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard.  You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  &lt;br /&gt;
&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere).  Next place a door (these are also foreground tiles) somewhere (anywhere).  When making the door, there are three door tiles: a bottom, middle, and top.  If you&#039;re making a door more than three tiles high, use the middle door piece for additional height.  Using your mouse, hold it over the top tile of the door.  In the lower left side of the editor, you&#039;ll notice that the map coordinates for this tile appear.  Memorize or write these down.  Now select the cog tool and then click your keygem holder.  Enter in the coordinates for your door.  You&#039;ve now got a working door.&lt;br /&gt;
&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map.  Now you must determine the coordinates.  Go to one of your doors and hold the mouse over the tile below the bottom left door tile (not on the bottom left door tile or keen will drop out of the air). Check the coordinates.  Then go to the door you want to connect to this spot and use  the cog tool and click the lower left door tile (the lower left door tile, not the one below it). Enter in the coordinates.  Do the same for the bottom right door tile.  Now this door is connected to the other, but you also need to check the coordinates at this door and add them to the tiles of the other door.&lt;br /&gt;
&lt;br /&gt;
To create a working switch, use the cog tool on a switch and use the coordinates for the thing you want the switch to affect.  For a bridge, get the coordinates of the top left bridge tile and put this in the info box for the switch.  For goplats (moving platforms), get the coordinates of a B sprite (these are sprites which goplats bounce off and then go in the other direction).  The switch will remove that sprite so the goplat can move.&lt;br /&gt;
&lt;br /&gt;
To resize a map, go to &amp;quot;edit&amp;quot; and &amp;quot;Resize map&amp;quot;.  Then select the new level boundaries and the side of the level which should be expanded or shrunk.&lt;br /&gt;
&lt;br /&gt;
Keen: Next has an infinite undo button.  Just go to &amp;quot;Edit&amp;quot; and click &amp;quot;Undo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Undo will work for everything except changes to the level boundaries.  Make sure you save before changing level boundaries!&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
When you&#039;re ready to save, go to &#039;file&#039;, then &#039;export keen map&#039;, then select &#039;maphead.ck4&#039;,  click yes, and reselect the level you want to save over and click ok.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: if you like, You can rename the level here before you click ok.  The name you choose will only appear in the editor, however, and not in the in-game text.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Do not click &#039;save&#039; or &#039;save as&#039;.  These options do not actually save the level to the game, but as files only Keen: Next can read.  Additionally, saving levels in this manner can cause Keen: Next to crash.&lt;br /&gt;
&lt;br /&gt;
After saving you can test your levels by adding this to your patch file:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 %gamemaps editmaps.ck4&lt;br /&gt;
&lt;br /&gt;
Then run your batch file and you&#039;re all set.&lt;br /&gt;
&lt;br /&gt;
== The Omegamatic ==&lt;br /&gt;
===Setting Up===&lt;br /&gt;
Run tom.exe and select the gamemaps.ck4 file.  You will then need to select your tilesets which you exported modkeen: 4til0000 and 4til0001.  After selecting these, if all goes well, the world map will open in TOM.&lt;br /&gt;
&lt;br /&gt;
===The Interface and Tools===&lt;br /&gt;
Tom features two different level editing styles: Ted5 and Keen:Next.  I highly recommend Keen:Next Mode and will only cover it in this tutorial.  To activate this go to settings and click &amp;quot;Keen:Next Mode&amp;quot;.  You will now see the tileset on the right side of the TOM window.&lt;br /&gt;
&lt;br /&gt;
In the bottom left of the window you will see three different boxes.  These boxes display the tile you pick from the tileset on the right of the window.  Each box displays from one of the three layers used in Keen:Galaxy: background tiles, foreground tiles, and sprite icons.  To change which tileset to work with, use the hotkeys 1, 2, and 3 to switch between the layers.&lt;br /&gt;
&lt;br /&gt;
To place a tile simply select the tile from the tileset with the left mouse button and click on the level where you want to place it with the left mouse button.  You can also right click a tile from the level to make it the active tile for placing, just like a water dropper tool.  To erase a tile you will need to right click an empty space in the level, which makes an empty tile the active tile, and then left click what you want to erase.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from within a level, press C and left click a corner of the area you want to select.  You should then left click the opposite corner of the area you want to select.  The selected area will have it&#039;s colors inverted until you select the size of the area.  You can then press P to paste the area you selected.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from the tileset, left click the top left tile of the area you want to select.  Then, while holding shift, left click the bottom right tile of the area you want to select.  Release shift and then you should be able to place the selected area in the level by left clicking.   &lt;br /&gt;
&lt;br /&gt;
You can scroll around the level with your mouse wheel or with the arrow keys.  You can zoom in and out in the &amp;quot;View&amp;quot; tab.  You can also toggle on and off which layers can be seen with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
To change the level you are editing go to &amp;quot;Levels&amp;quot; and select the level you want to edit.  You can rename levels by going to &amp;quot;File&amp;quot; and then &amp;quot;Rename This Level&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can resize a level by going to &amp;quot;Tools&amp;quot; and selecting either: Insert Row, Delete Row, Insert Column, or Delete Column.  After selecting on of these move your mouse around the level and you will see a highlighted area which will be affected by whichever option was chosen.  To disable any of these level adjustments just go back to &amp;quot;Tools&amp;quot; and uncheck it.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use sprites to specify what levels your entrances will lead to. To do this, first press 3 to activate the sprite icon layer.  Press enter once and a message box will come up with an infoplane number in hexideciaml.  Remove the number indicate and type one of the following: C0xx makes a level entrance where xx is the level number in hexadecimal, not decimal), D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and F0xx is for the flag holder which corresponds to the level. After entering your chosen value, you can then place the level entrance, gate, or flag sprite by left clicking.&lt;br /&gt;
&lt;br /&gt;
===Sprites and Enemies===&lt;br /&gt;
To place sprites and enemies in a level, press 3 to bring up the sprite tileset. You can place sprites like you would normally place a tile.  Some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard. You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  Sometimes there is a blank space before or after the order of sprites.  For example, the blue bird from keen 4 doesn&#039;t have a sprite icon for easy mode, however, it does have a blank tile where the easy mode icon would normally go.  This blank tile can be placed to place a blue bird on easy.  This works similarly for other enemies in this situation.&lt;br /&gt;
&lt;br /&gt;
===Secret Passages===&lt;br /&gt;
Some foreground tiles have properties that allow Keen to walk behind them; these are secret passages.  To make these you will need to identify which tiles have the correct foreground but not blocking properties.  I suggest examining some of the original levels and noting down which tiles are used for the secret passages.  You can also identify them with the CKD456tli utility. When putting point items in a secret passage, you must use points from the sprite list rather than the foreground tile points.&lt;br /&gt;
&lt;br /&gt;
===Moving Platforms===&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform sprite icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A falling platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
===Switches for goplats===&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this you will need to place another blocking tile in the way of the platform between the other two. After placing the blocking tile, hold the mouse over it and press enter two times.  This will give you the hexidecimal coordinates which you will place on the corresponding switch.  The switch will now turn the blocking tile off thus activating the platform.&lt;br /&gt;
&lt;br /&gt;
===Switches for bridges===&lt;br /&gt;
To create a switch for bridges, first build the bridge using the bridge tiles.  Then hold your mouse over the top left tile of the bridge and press enter twice to get the hexidecimal sprite value.  Place this sprite on the switch you want to activate the bridge with.  If you want the bridge to begin already opened, you will need to locate the invisible bridge tiles and place these where the bridge will be located, otherwise no bridge will appear.  To find these either locate them in existing levels with open bridges or use ckd456tli.&lt;br /&gt;
&lt;br /&gt;
===Key Gem Doors===&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere). Next place a door (these are also foreground tiles) somewhere (anywhere). When making the door, there are three door tiles: a bottom, middle, and top. If you&#039;re making a door more than three tiles high, use the middle door piece for additional height. Using your mouse, hold it over the top tile of the door and press enter twice.  Place the sprite that this gives you on the gem holder.&lt;br /&gt;
&lt;br /&gt;
===Doors===&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map. Then hold the mouse over bottom left or right of the first door and press enter twice.  This gives you a sprite which you should place on the bottom of the second door you want connected to the first door.  After placing the sprites at the bottom of the second door, you will need to press enter twice at the bottom of this second door and place the sprites on the first door in the same way.&lt;br /&gt;
&lt;br /&gt;
===Scroll Blocks===&lt;br /&gt;
Some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks from the sprite menu to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
To save your progress go to &amp;quot;File&amp;quot; and then &amp;quot;Save all Levels&amp;quot;.  This will immediately save all your levels.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
After saving you can test your levels by adding this to your patch file: &lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 &lt;br /&gt;
Then run your batch file. &lt;br /&gt;
&lt;br /&gt;
== Abiathar ==&lt;br /&gt;
&lt;br /&gt;
See Fleexy&#039;s [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharHelp.pdf official manual] or [https://www.youtube.com/playlist?list=PL-BuW7CehquoCH_yGXeQqTIXQMY7sUm-u video tutorial playlist].&lt;br /&gt;
&lt;br /&gt;
== General Level Editing Issues ==&lt;br /&gt;
If there are too many sprites in a level you will get the error &#039;No space left in objarray&#039;; the game has run out of memory to store sprites. This usually occurs at the level start. To fix this, remove sprites from your level.  When placing sprites, keep in mind that the more variety of enemies you use, the more memory is used up and the larger the sprite and the more frames it has, the more memory it uses.  Also, when trying to save memory, check your points items: these exist both as tiles and sprites (try to use tile points whenever possible).&lt;br /&gt;
&lt;br /&gt;
If you have too many different types of tiles (Background and foreground) then you will get the error &#039;No space left in tilearray&#039;; this means that the game does not have enough memory to store all your different tile types. Foreground tiles use 8x the memory of background tiles. You shouldn&#039;t have more than about 400 tile types total (Background and foreground) in a level, usually 100 back and 300 fore.  Additionally, animating tiles with many frames can increase your tile count drastically.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: I have never had this error before and imagine it would be difficult to attain, so don&#039;t be worried about using too much until you get this error.&lt;br /&gt;
&lt;br /&gt;
You cannot have more than 20 actively animating tiles on-screen at any one time, this includes item tiles. This will cause an anim tile error. (Not enough memory to animate all these tiles.)  &lt;br /&gt;
&lt;br /&gt;
Note:  This was a major problem in designing the Lava Falls in [[Dead in the Desert]], so be careful when it comes to animating tiles.&lt;br /&gt;
&lt;br /&gt;
If a level is &#039;too large&#039; for its music file, the error &#039;Not enough memory to play background music!&#039; will occur. This is an indication of either large levels or large music files. To reduce this error, either make your level smaller or change the music to a smaller file. &lt;br /&gt;
&lt;br /&gt;
If you see static gibberish instead of an animation while testing your level, then you have placed an animating background over an animating foreground. For memory reasons this is not allowed.  Similarly, a sprite cannot be placed on top of an animating tile.  This will crash the game.&lt;br /&gt;
&lt;br /&gt;
All of these problems and more can be detected with the [[Abiathar]] Level Inspector tool or the inspection mode (press I) of the Tile Property Modifier. It also provides exact points in the level where errors and possible issues appear so that you do not have to launch the game repeatedly to fix bugs.&lt;br /&gt;
&lt;br /&gt;
= Music and Sounds= &lt;br /&gt;
Copy Keenwave.exe into your &amp;quot;keen4mod&amp;quot; folder.  Run Keenwave and it will generate an IDWAVE text file.  Create a folder called &amp;quot;sounds&amp;quot;.  Open IDwave.txt and add this line:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -export=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave by dragging and dropping it onto dosbox.&lt;br /&gt;
&lt;br /&gt;
Now look in your sounds folder.  Here you will see a number of sound files and a few music files (IMF files) at the bottom.  To change these, just replace the sounds with new file (they must be the same format, for music this is IMF).  Sound effects can be created and modified using WDC.  You can create IMF files by converting midi files with IMF Creator.&lt;br /&gt;
&lt;br /&gt;
After changing the sounds or songs, go back to IDWAVE.txt and change the command to:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -import=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave.&lt;br /&gt;
&lt;br /&gt;
Now open your patch file and include the lines that apply to the episode you&#039;re modding:&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 4:&lt;br /&gt;
 %patchfile $20DF0 AUDIOHED.CK4	#Audio header&lt;br /&gt;
 %patchfile $354F6 AUDIODCT.CK4	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 5:&lt;br /&gt;
 %patchfile $21C80 AUDIOHED.CK5	#Audio header&lt;br /&gt;
 %patchfile $35EC4 AUDIODCT.CK5	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 6:&lt;br /&gt;
 %patchfile $20C50 &amp;quot;AUDIOHED.CK6&amp;quot;           #Audio header&lt;br /&gt;
 %patchfile $36EEE &amp;quot;AUDIODCT.CK6&amp;quot;           #Audio dictionary &lt;br /&gt;
&lt;br /&gt;
== Creating and Editing Sound Effects ==&lt;br /&gt;
&lt;br /&gt;
Begin by installing WDC to your tools folder.  Once this is commplete, go to the new WDC folder and create three new folders inside: &amp;quot;Keen4input&amp;quot;, &amp;quot;Keen4output&amp;quot;, and &amp;quot;KeenSounds&amp;quot;.  You should then copy a clean version of Keen 4 into the &amp;quot;Keen4input folder&amp;quot;, specfically the files: Audio.ck4, Egagraph.ck4, Gamemaps.ck4, and Keen4e.exe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Make sure this version of the keen4e.exe has NOT been unlzexed.&lt;br /&gt;
&lt;br /&gt;
Now run WDC.exe.  After is loads, go to &amp;quot;File&amp;quot; then &amp;quot;New Project&amp;quot;.  WDC will then ask you to name the project and save the project file; name it &amp;quot;keen4project&amp;quot; and save it to you WDC folder.&lt;br /&gt;
&lt;br /&gt;
WDC will then bring up a window with several options.  Under &amp;quot;Base Data Folder&amp;quot; select your folder &amp;quot;keen4input&amp;quot;.  You will then get a &amp;quot;no map code file&amp;quot; alert.  When this occurs, select &amp;quot;User Other&amp;quot; and then select &amp;quot;blank.wmc&amp;quot;.  Under &amp;quot;Output Folder&amp;quot; select your folder &amp;quot;keen4output&amp;quot;.  On the left side you will see a small menu, select &amp;quot;Other Options&amp;quot; and then check the box for &amp;quot;Use Tile16s for maps, if they exist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You should now see the Keen 4 world map.  You&#039;ll be using only one part of WDC, however, so go to &amp;quot;View&amp;quot; and select either &amp;quot;PC Sounds&amp;quot; or &amp;quot;Adlib Sounds&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
WDC will then load the list of sounds for that category.  You can sample each sound by clicking it.  Playback controls are located in the upper right.  To edit a sound, click the small hammer icon in the lower right.  WDC will then ask you where you want to save the file.  Navigate to your &amp;quot;keensounds&amp;quot; folder.  Name the sound in such a way that you can remember what it is: &amp;quot;slugslime&amp;quot;, &amp;quot;jump&amp;quot;, &amp;quot;item&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
WDC will then load it&#039;s sound editor.  There are various tabs for effecting how the sound is played, and the main area allows you to use your mouse and &#039;draw&#039; the sound.  Sound editing is a complex task and the only real advice I can offer is to just play around in the editor and save sounds that you find good or interesting.  &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve saved some sounds, you&#039;ll want to swap these into your mod.  To do so you&#039;ll first need to locate the original sound file you want to replace in the &amp;quot;sounds&amp;quot; folder you created when setting up Keenwave.  You can do this by listening and finding the sound you want to replace in WDC and then locating the corresponding number in the sounds folder.  This is easy for PC speaker sounds, but since Keenwave doesn&#039;t seperate the PC speaker sounds from the adlib, you&#039;ll have to locate the last PC Speaker sound and then begin counting again from 1 in order to match the adlib sound list in WDC to that in your sounds folder.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve located the original sound you want to swap out, copy it&#039;s name to your new sound and then replace the file.  Then run Keenwave to import your new sound effect.&lt;br /&gt;
&lt;br /&gt;
== Working with the IMF Format ==&lt;br /&gt;
In IMFCreator, go to the &amp;quot;options&amp;quot; menu and set the tics/sec to 560.  This will make your songs convert at the correct tempo.&lt;br /&gt;
&lt;br /&gt;
The following, excluding the tip from thehackercat, is written by Mr. M for PCKF/KeenModding: &lt;br /&gt;
&lt;br /&gt;
Compose your music using your choice of software. As long as it outputs standard General MIDI files, you should be good to go.&lt;br /&gt;
&lt;br /&gt;
Please read and get an understanding of the [http://www.shikadi.net/moddingwiki/IMF_Format IMF specs]. &lt;br /&gt;
&lt;br /&gt;
Tip From Thehackercat:&lt;br /&gt;
For those of you using a sheet-music editor such as Finale: You may write two or more parts for one instrument. Keep inside the required 4-note polyphony, but don&#039;t be shy about using layered parts and chords, especially on piano staves.&lt;br /&gt;
&lt;br /&gt;
Tips From Mr. M:&lt;br /&gt;
&lt;br /&gt;
(1) IMFCreator seems to interpret MIDI note velocities. If your instrument track is too quiet *and* it is set to maximum volume, try manually adjusting the note velocites to be higher. I know that FLStudio is capable of doing this; I&#039;m sure other studio software packages are capable of this, too. If the volume of the track is too loud after making your note velocities higher, turn down the volume of that track.&lt;br /&gt;
&lt;br /&gt;
(2)  Keep percussion parts as simple as possible. It impedes the maximum polyphony limits that can be utilized by other parts. Simply put, you can write more complex parts that use this structure:&lt;br /&gt;
&lt;br /&gt;
 [SIMPLE/NO PERCUSSION]+[BASS LINE]+[CHORDS]+[CHORDS?]+[LEAD]&lt;br /&gt;
&lt;br /&gt;
The number of dropped notes, if any, in IMFCreater is almost unnoticeable if you adhere to this formula. I&#039;ve been able to push the IMF format to it&#039;s limits by doing this.&lt;br /&gt;
&lt;br /&gt;
As Thehackercat stated, don&#039;t be shy about using chords and complex structures -- especially if your percussion line is nonexistent or very simple.&lt;br /&gt;
&lt;br /&gt;
(3)  Try not to use too many midi tracks, *especially* if they are all simultaneous. Too many midi tracks results in dropped notes (ie- parts drop out randomly *and* inconsistently), and songs that exceed the filesize limits. I personally only need 4-8 tracks, counting percussion, to acheive the sound that I get in my work.&lt;br /&gt;
&lt;br /&gt;
(4)  On the subject of percussion: To circumvent the polyphony limit that gets imposed when you use percussion parts, try using normal instruments played outside their normal range. Then in IMFCreator, tweak the patches you used by adjusting all the possible paramaters until you acheive the desired percussive sound. It may not work all the time, but it should do the trick in most cases. (Credit for this tip goes to [[Bobby Prince]])&lt;br /&gt;
&lt;br /&gt;
(5)  On the topic of modding instrument patches: Don&#039;t be afraid to tweak patches! It&#039;s under the &#039;EDIT&#039; -&amp;gt; &#039;Instrument&#039; (or press CTRL+I) menu. You can edit how all the instruments sound. All of them {including percussion). Distortion guitar not distorted enough? No problem. Pad not airy enough for you? Bass drum not punchy enough, or the hi-hat not sharp enough for you? No problems there. See the help menus for the specifics of how the patch parameters are edited.&lt;br /&gt;
&lt;br /&gt;
When I do this, I make a patch set for each specific song. When you close the instrument editor, you are prompted to save changes. Do so, and save the .OP2 file that is generated as something *other* than GENMIDI.OP2 (I like to save it by song title for easy reference). Keep the original GENMIDI.OP2 file as a base set. &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve tweaked the patches to your liking and saved your new .OP2 file, stop any playback of the song you&#039;re previewing. Under &#039;OPTIONS&#039; and &#039;OP2 File:&#039; you can choose the OP2 file that has the modded patches you created. Press play and listen to your new instruments!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After editing an .OP2 file/patch set, you MUST stop and re-start playback of your song for the changes to take effect&lt;br /&gt;
&lt;br /&gt;
(6)  Be careful with pitchbends in your music. IMFCreator tends to overexaggerate them if the pitchbend scale and thresholds arent set properly. There&#039;s no ONE configuration for them; best bet is to tinker with them until you get a desireable sound. Remember: Lower numbers mean higher pitchbend scale! &lt;br /&gt;
&lt;br /&gt;
As with editing the patch set, you MUST stop and re-start playback of your song for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
= Loading Window =&lt;br /&gt;
Go to your graphics folder and look for the file 4msc0000.bin.  Copy this to your keenscr folder.&lt;br /&gt;
&lt;br /&gt;
Go to commander prompt and navigate to your keenscr folder and then type: &lt;br /&gt;
 &lt;br /&gt;
 keenscr load&lt;br /&gt;
&lt;br /&gt;
TheDraw will immediately start editing the screen, with the filename keenscr.bin. &lt;br /&gt;
&lt;br /&gt;
Alt+H will display the help screen with all the commands that TheDraw supports; however, its basic use is extremely simple. Use the arrow keys or mouse to select where you want to enter text, then type it in. By default, it uses bright white color over black color; you can copy a color straight from the screen by placing the cursor over any character and pressing Alt+U, and it will use that color as you type. &lt;br /&gt;
&lt;br /&gt;
You can use Alt+M to enter drawing mode, where you can use the cursor keys or the mouse to draw on the screen; you should enable Draw mode with the cursor in the place where you want to start drawing, as it will start immediately. Alt+F1 to Alt+F4 will give you different line styles for Draw mode. &lt;br /&gt;
&lt;br /&gt;
Once you are done editing the screen, you can save it by pressing Alt+S. TheDraw will ask which format to save it in; press B to select Binary, and enter the filename keenscr.bin. It&#039;s important that you keep this filename (overwriting the existing one).  After you exit TheDraw and KeenScr notifies you that the file has been updated.  &lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  You must also copy ck4load into your &amp;quot;mymod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include the patch for the respective episode:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1fe47 ck4load.bin &lt;br /&gt;
 %patchfile $20cd7 ck5load.bin &lt;br /&gt;
 %patchfile $1fca7 ck6load.bin &lt;br /&gt;
&lt;br /&gt;
You can also edit the exit screen by going to the command prompt and typing: keenscr 4&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done,  save it as keenscr.bin overwriting the generated file. You must save it in Binary format when TheDraw asks.&lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  &lt;br /&gt;
&lt;br /&gt;
= Scrolling Text =&lt;br /&gt;
Run Startext.  The controls are listed.  Select your episode of choice and then select edit scrolling story.  Type your story as you want it, making sure not to go over the space limit or under it (the original story will appear at the bottom of your story if you do).  Press enter.&lt;br /&gt;
&lt;br /&gt;
Copy story.ck4 into your &amp;quot;mymods&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include one of the following:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1EE40 &amp;quot;STORY.CK4&amp;quot;&lt;br /&gt;
 %patchfile $1FDE0 &amp;quot;STORY.CK5&amp;quot;&lt;br /&gt;
 %patchfile $1ED50 &amp;quot;STORY.CK6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Credits For This Tutorial =&lt;br /&gt;
* Written and Assembled by [[User:Ceilick|Ceilick]]&lt;br /&gt;
* Selections of [[User:Levellass|Levellass&#039;]] [[TED5|TED5 Tutorial]]&lt;br /&gt;
* Selections of [[Andrew Durdin|Andrew Durdin&#039;s]] [http://www.dosclassics.com/ckn/newsletter/issues/2002-03-01.txt|TED5 Tutorial]&lt;br /&gt;
* Selections of [[User:CK Guy|CK Guy&#039;s]] ck456tli readme&lt;br /&gt;
* Selections of [[User:Mink|Mink&#039;s]] The Omegamatic readme&lt;br /&gt;
* Selections of [[User:Leandrotlz|Leandrotlz&#039;s]] [[TheDraw|The Draw/Keenscr tutorial]]&lt;br /&gt;
* [[User:Shadow Master|Shadowmaster&#039;s]] [http://www.keenmodding.org/viewtopic.php?t=899 findings] for getting ted5 to work with modkeen 2.0&lt;br /&gt;
* [[User:Mr.M|_mr_m_&#039;s]] IMF guide&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&amp;quot;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25629</id>
		<title>Keen Galaxy Modding Tutorial (patch based)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25629"/>
		<updated>2014-05-09T00:58:04Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Level Editing */ Added Abiathar links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial aims to teach Keen Galaxy modding (Keen episodes 4, 5, and 6) to people who don&#039;t know the first thing about modding, but even the experienced modder should find this information as a good reference tool.  Keen 4 will be used for specific examples, but if you are modding keen 5 or 6, you should be able to follow along.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders =&lt;br /&gt;
Download my [https://dl.dropbox.com/u/3654819/Keen/Keen%20Galaxy%20Modding%20Package.zip Keen Galaxy Modding Package].&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also manually create this package:&lt;br /&gt;
&lt;br /&gt;
Create your base folder called &amp;quot;Keen Modding&amp;quot; on your desktop. In this folder you&#039;ll want to create two subfolders: &amp;quot;Keen4mod&amp;quot; and &amp;quot;Tools&amp;quot;.  In your &amp;quot;Keen4mod&amp;quot; folder, create a folder called &amp;quot;BMP&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Copy all your Keen 4 game files into the folder &amp;quot;Keen4mod&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: It is very important that you use the right version of the episode you wish to mod.  Make sure they are the correct versions: Keen 4 v1.4, keen 5 v1.4, and keen 6 v1.4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tool Downloads ==&lt;br /&gt;
These are the tools you will need in order to mod Keen&#039;s 4, 5, and 6 and included in the modding package.  If you wish to download them individually:&lt;br /&gt;
&lt;br /&gt;
* [http://files.keenmodding.org/modkeen2.zip Download Modkeen] &lt;br /&gt;
* [http://files.keenmodding.org/ckpatch-0.10.0.zip Download CkPatch]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/UNLZEXE.EXE Download Unlzexe]&lt;br /&gt;
* [http://sourceforge.net/projects/clonekeenplus/files/Tools/unlzexe/win32/unlzexe081.zip/download Download Unlzexe (64 bit version)]&lt;br /&gt;
* [http://files.commanderkeen.org/users/mink/CkD456Tli(v3.3).zip Download CkD456tli]&lt;br /&gt;
* [http://files.commanderkeen.org/users/leandro/keenscr.zip Download KeenScr]&lt;br /&gt;
* [http://levellord.rewound.net/KEENWAVE.zip Download Keenwave]&lt;br /&gt;
* [http://levellord.rewound.net/STARTEXT.zip Download Startext]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/IMFCreator Download IMF Creator]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/WDC Download WDC]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Depending on your computer&#039;s operating system you may need CWSDPMI.EXE to run modkeen and other modding programs.  If your receive an error in later steps asking for this file, get it here: &lt;br /&gt;
&lt;br /&gt;
* [http://www.delorie.com/djgpp/dl/ofc/simtel/v2misc/csdpmi5b.zip/BIN/CWSDPMI.EXE  Download CWSDPMI.EXE]&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
You will need one of the four existing level editors: [[Keen: Next (level editor)|Keen Next]] (K:N), [[TED5]], [[The Photachyon Tranceiver]] (TPT), or [[The Omegamatic]] (TOM).  This tutorial does not include instructions for The Photachyon Tranceiver since it is in many ways a windows based Ted5.  I personally recommend The Omegamatic.  All of these editors are included in my modding package.&lt;br /&gt;
&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/TED5.zip Download TED5]&lt;br /&gt;
* [http://www.bipship.com/downloads/tpt3.zip Download The Photachyon Tranceiver]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/KeenNextEditor.zip Download Keen: Next]&lt;br /&gt;
* [http://0x27.com/downloads/tom.zip Download The Omegamatic]&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharUpdater.exe Download Abiathar (updater/downloader)]&lt;br /&gt;
&lt;br /&gt;
=== Drawing Tools ===&lt;br /&gt;
One of the simplest tools for modifying Keen graphics is MS Paint.  However, only the versions of MS Paint prior to Windows 7 will function with the Keen palette correctly.&lt;br /&gt;
&lt;br /&gt;
* [http://sagorpirbd.deviantart.com/art/Win-7-MS-Paint-dll-XP-English-122788536 Old MSPaint]&lt;br /&gt;
&lt;br /&gt;
Some modders use programs such as GIMP or PhotoShop.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders (Continued) =&lt;br /&gt;
&lt;br /&gt;
Unzip the tools in your tool folder.  Copy the following files into your &amp;quot;Keen4mod&amp;quot; folder:&lt;br /&gt;
* modkeen.exe&lt;br /&gt;
* unlzexe.exe&lt;br /&gt;
* ck4patch.exe (Keen 5 requires &#039;ck5patch.exe&#039;, Keen 6 &#039;ck6patch.exe&#039;)&lt;br /&gt;
&lt;br /&gt;
Once these files are in place, Unlzexe your Keen4.exe by dragging and dropping the file onto Unlzexe.exe.  A window may flash on the screen when you do so.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using the 64 bit version of Unlzexe, this will create a “Keen4.exenew”.  You will then need to delete the old “Keen4.exe” and rename “Keen4.exenew” to “Keen4.exe”.&lt;br /&gt;
&lt;br /&gt;
Open a command prompt.  If you are unfamiliar with this process: go to your computer&#039;s start button, and either click &#039;run&#039;, or in the search field type &#039;run&#039; and click the first result.  In the run box, type &#039;cmd&#039;.  Now you have a command prompt open.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll see something like &lt;br /&gt;
 C:\Users\UserName&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type: &lt;br /&gt;
&lt;br /&gt;
 cd desktop\Keen Modding\My Mod&lt;br /&gt;
&lt;br /&gt;
Press enter, then:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -export -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you should see a list of everything modkeen has exported followed by the word &amp;quot;Done!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using a 64 bit version of windows modkeen may not run through the command prompt.  You can run it instead by dropping modkeen.exe onto dosbox.exe and then typing: modkeen -episode=4 -export -bmpdir=&amp;quot;graphics&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editing Graphics and Text =&lt;br /&gt;
To begin editing the graphics and most text found in the game, go to your &amp;quot;BMP&amp;quot; folder.  You&#039;ll see a lot of images there as well some some text files and some other files.&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
You can edit any of these images how you want, but keep some things in mind:&lt;br /&gt;
&lt;br /&gt;
* You need to use the original keen colors. This is easy to do if you just edit the images with MSpaint.  &lt;br /&gt;
** &#039;&#039;&#039;Note&#039;&#039;&#039;: Windows 7 users will need to download the old version of mspaint.&lt;br /&gt;
&lt;br /&gt;
* On sprite images, you&#039;ll see three frames: the image against a black background, a black outline on a white background, and a red box on a grey background.  The first image is where the sprite is drawn.  The second is used to show what parts of the original image are going to be shown in-game.  The last box is used for hitbox measurement, although it doesn&#039;t directly affect hitbox size (the 4sprites.txt determines this, see the &#039;hitboxes&#039; section below).&lt;br /&gt;
&lt;br /&gt;
* In the foreground tileset (4til0001) you&#039;ll see a similar black and white duplicate section on the right side.  This is also used to show what parts of the tiles are going to be shown in-game.&lt;br /&gt;
&lt;br /&gt;
* The height and width of images must be multiples of 8 (although some of the original images do not follow this rule).&lt;br /&gt;
&lt;br /&gt;
* Changing the size of an enemy will affect how it spawns and the &#039;hitbox&#039; area it uses to interact with the environment and with keen.&lt;br /&gt;
&lt;br /&gt;
* You cannot change the size of the tilesets.&lt;br /&gt;
&lt;br /&gt;
* Tiles are made up of a 16 by 16 area of pixels.&lt;br /&gt;
&lt;br /&gt;
* The image that displays in the scrolling story (for Keen 4 this is 4bmp0102.bmp) is limited in palette colors.  The colors availible can be changed with patching.&lt;br /&gt;
&lt;br /&gt;
=== Hitboxes ===&lt;br /&gt;
In keen galaxy, hitboxes are invisible rectangular areas used for telling a sprite how to interact with the environment or with Keen.  For a point item, the hitbox is the area keen must touch to collect the item.  For an enemy, it is the area of the enemy that will touch the ground and touch keen.  For Keen himself, its the area he can interact with platforms, enemies, and other objects.&lt;br /&gt;
&lt;br /&gt;
To edit the hitboxes, open 4sprites.txt.  This can be a complex, difficult process that often falls to trial and error. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll use Keen&#039;s left facing standing frame as an example.  The image name for this is 4spr0006.  So in 4sprites.txt, look for item 6.  It will look like this: &lt;br /&gt;
&lt;br /&gt;
 6: [4, 0, 19, 31], [0, 0], 4.  &lt;br /&gt;
 &lt;br /&gt;
The first set of brackets controls the hitbox.  The first set of numbers are x and y coordinates for the top left corner of the image.  These are measured from the top left of the image (4 pixels across and 0 down).  The next coordinates are for the bottom right of the hitbox.  These are also measured from the top left corner of the image (19 pixels across and 31 down).  Notice that even though the image is actually 32 pixels high, the hitbox is designed to be 1 pixel away from the bottom.  This is important for any sprite that needs to move on a platform.&lt;br /&gt;
&lt;br /&gt;
The second set of brackets are coordinates that have to do with where a sprite image appears ingame relative to where it is placed in the level editor.  In the example of the Keen sprite, these are 0,0.  Its usually easiest to leave these at 0,0, but if you use a sprite that changes frame size over the course of its animation, or a sprite intended to float above the ground, you may want to experiment with this.  The first value is an X coordinate and will determine how far to the right or left the sprite is placed.  The second value is a Y coordinate which determines how far up or down the sprite is placed.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you&#039;ve modded an enemy and it is stuck in the ground or in the air, you&#039;ll want to edit the Y value to bring the hitbox even with the ground.&lt;br /&gt;
&lt;br /&gt;
The last value is not a coordinate but has to do with animation frame rate.  In the example of Keen, this value is 4.  This value varies from 1, 2, and 4.This determines how &#039;smooth&#039; the frames in a series animate, 4 being the smoothest, 2 medium, and 1 low.  The smoother the animation, the more memory will be used in the level.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Use the 4 value sparingly to avoid memory issues and game crashes.&lt;br /&gt;
&lt;br /&gt;
== Texts ==&lt;br /&gt;
You&#039;ll find a number of text files in your BMP folder.  You can edit these with notepad or a similar application.  These files include the help sections, the story, and the end-game story.  These files employ a formatting code:&lt;br /&gt;
&lt;br /&gt;
* ^P means &amp;quot;new page&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* ^G followed by a series of numbers is for a graphic image.  The first two numbers are x and y coordinates for where the image will be located.  The last number specifies the image used.  These images numbers don&#039;t match up with the image numbers in your graphics folder, so you&#039;ll want to do some experimenting to get the right one.&lt;br /&gt;
&lt;br /&gt;
There are specific codes for changing the color of text, but this list is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
There is also a specific code for creating &#039;timed&#039; images which will animate based on a timer, but this is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
= Importing Graphics and Texts =&lt;br /&gt;
To import your graphics, go back to your command prompt and type in the same address as previously, but you&#039;ll change the command to import this time:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -import -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You may need to drag and drop modkeen onto dosbox and then type this command.&lt;br /&gt;
&lt;br /&gt;
If you get the done message, you&#039;ve imported successfully, however, you can&#039;t try out your new graphics until after creating a patch file and corresponding batch file, which is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
= Patch File and Batch File = &lt;br /&gt;
&lt;br /&gt;
Your patch file is used to access all the edited content in your mod. It&#039;s what allows you to have new graphics, new tile properties, new levels, new music, new text, new enemy behaviors, etc.  It also allows you to change the &#039;rules&#039; of the game in certain ways (although there are limitations).&lt;br /&gt;
&lt;br /&gt;
If you look in your &amp;quot;keen4mod&amp;quot; folder, you will notice that Modkeen has generated a patch file for you called &amp;quot;keen4.pat&amp;quot;.  You will want to rename this so that it isn&#039;t overwritten in the future.  Locate Keen4.pat and rename it to something like &amp;quot;mymod.pat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can also create a patch file from scratch.  To do this, create a new .txt file called &amp;quot;mymod&amp;quot;.  Open the file and save as &amp;quot;mymod.pat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section. You should now have a &amp;quot;mymod.pat&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
Your batch file is what you&#039;ll use from now on to play your mod.  To create a batch file, first create a new text document and name it whatever you want.  In this example we&#039;ll use &amp;quot;Play&amp;quot;.  In the text file, type: ck4patch mymod.pat&lt;br /&gt;
&lt;br /&gt;
Now, go to &#039;file&#039; and save as &amp;quot;Play.bat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;Play.bat&amp;quot; to make sure your mod is working.  If you see your modified graphics and/or texts, it works!&lt;br /&gt;
&lt;br /&gt;
== Patching Basics ==&lt;br /&gt;
After you&#039;ve made sure Play.bat runs fine, open up mymod.pat with a text editor.&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
 ext ck4&lt;br /&gt;
 version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what each line means: &lt;br /&gt;
&lt;br /&gt;
* The first two lines mark the beginning of your patch file.&lt;br /&gt;
&lt;br /&gt;
* The # symbol indicates a comment.  Any line preceded by a # will be skipped over and allows you to include notes in your patch file.&lt;br /&gt;
&lt;br /&gt;
* %egahead EGAHEAD.CK4 is what tells the game to use your new graphics.&lt;br /&gt;
&lt;br /&gt;
* %end will mark the end of your patch file.  Anything that appears after this will not be read by the game, so make sure that any patches you add to this file are included before this line.&lt;br /&gt;
&lt;br /&gt;
You can find all kinds of patches on the [http://www.keenmodding.org/ Keen Modding Forum] as well as make specific requests.  Additionally, your can run [[The Neural Stunner]] to generate some easy patches, or dig through the patch files of existing mods.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example patch that makes bounders unkillable:&lt;br /&gt;
&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
&lt;br /&gt;
Now add it to the patch file and also add a comment explaining what it does.&lt;br /&gt;
&lt;br /&gt;
 %ext ck4&lt;br /&gt;
 %version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 #Make bounders unkillable&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Now save your patch file and run Play.bat.  Bounders should now be unkillable!&lt;br /&gt;
&lt;br /&gt;
= Tile Properties =&lt;br /&gt;
Go to your &amp;quot;Tools&amp;quot; folder and go into your ckD456tli folder.  Copy the Keen4.tli file into your &amp;quot;keen4mod&amp;quot; folder.  Then go to your patchfile and add the patch that corresponds to your modded episode below:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $249C2 keen4.tli&lt;br /&gt;
 %patchfile $25B22 keen5.tli &lt;br /&gt;
 %patchfile $25212 keen6.tli&lt;br /&gt;
&lt;br /&gt;
Now run CkD456tli.  The first item the program asks you for is the file which you just copied to your &amp;quot;keen4mod&amp;quot; folder.  Locate and select it.  Next, go into the BMP folder and select the background tileset, and after that select the foreground tileset.&lt;br /&gt;
&lt;br /&gt;
You&#039;re now in the editing menu.&lt;br /&gt;
&lt;br /&gt;
On the left side you can see the background tiles.  The properties in that tileset are limited: either a tile can animate or have no properties.  If a tile animates, the next tile in the animation sequence is outlined in a double red border. Note that tiles can only animate up to 128 tiles before or after any given tile, so try to keep tiles that animate near each other. &lt;br /&gt;
&lt;br /&gt;
To animate a tile, select the first tile in the animation sequence.  Next, right click the tile that should appear next in the sequence.  Now left click that new tile and select the tile it will animate to next.  Make sure the last tile in this sequence animates back to the original tile.  Now go back and add animation times to each tile.  By moving the scrollbar, you can change the amount of time spent on the tile while animating (0 to 255 time units).&lt;br /&gt;
&lt;br /&gt;
If a tile animates that you don&#039;t want to animate, right click the original tile.  You will need to repeat this step for each tile in the animation sequence.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Reducing the scroll bar to zero will NOT prevent the tile from animating and will instead cause the game to crash&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After disabling a tile from animating, it is not necessary to reduce its value in the scroll bar to zero, although this is recommended to avoid future errors when editing.&lt;br /&gt;
&lt;br /&gt;
On the right side is the foreground tiles.  For foreground tiles, you can also edit the animation properties (and they work the same way), but there are several other properties you can edit as well. Above the enlarged pictures of the tile and its mask is a dropdown menu where you can select the properties of the top of the tile. Similarly, the dropdown menu below lets you select the properties of the bottom of the tile. Pushing in the buttons on either side signify that Keen (and other sprites) cannot enter the tile from that side, making it solid. (Note that these are almost always set or cleared together. One-way tiles do not work as well in Keens 4, 5, and 6 as they do in Keens 1, 2, and 3).  Off to the right is another dropdown menu, which lets you change special properties of the tile. Lastly, when the &amp;quot;FRONT&amp;quot; button is pushed in, it means that the tile appears in front of Keen and other sprites rather than behind them. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: There are some exceptions where foreground tiles that animate have their animation value set to zero.  This includes: Key-gem doors and and flag holders.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished editing, click save. &lt;br /&gt;
&lt;br /&gt;
= Level Editing =&lt;br /&gt;
Before getting into special instructions for each editor, some general knowledge about how Keen Galaxy levels work is needed.&lt;br /&gt;
&lt;br /&gt;
Keen 4, 5, and 6 levels consist of three layers of tiles: the background, foreground, and info layers. The background is just there to add color to the scene; Keen and the enemies don&#039;t interact with it. The foreground layer contains tiles that Keen interacts with: platforms, point items, doors, secret passages, and so on (note that many tiles in the foreground layer actually appear behind Keen, but they are not considered &#039;background tiles&#039;). Finally, the info layer contains information about sprites and special features such as switches, doors, bridges and so on. When level editing, you will generally work with only one layer at a time, although all three may be visible at once (layers can be toggled).&lt;br /&gt;
&lt;br /&gt;
In keen 4, 5, and 6, the world map is built primarily from background tiles which do no have solid properties.  Instead, special &#039;invisible&#039; tiles are placed from the foreground tilset on the world map to block Keen&#039;s path.  These can be difficult to figure out.  Check tile properties with ckD456tli to figure out what is what and then edit the invisible tiles to have visual cues for placement (they can be made invisible again later).  Alternatively, you can use foreground tiles to build the world map (although this will use more memory).&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy levels have a rectangular border of 2 tiles.  Borders should be filled with solid tiles with some exceptions.  To create a level exit, leave the border empty where you want Keen to exit.  Keen cannot exit out the top or bottom of the screen (Keen will die on the screen bottom and Keen will glitch on the screen top).&lt;br /&gt;
&lt;br /&gt;
Point items can be placed as both sprites or as tiles.  It is important to place as many point items as tiles as possible to avoid memory issues.  A good rule of thumb is to only place sprite items on foreground tiles.&lt;br /&gt;
&lt;br /&gt;
Included below are general instructions for Ted5 (Sections written by Levellass and Adurdin, edited by Ceilick), Keen: Next (Written by Ceilick), and The Omegamatic (Written by Mink and edited by Ceilick).&lt;br /&gt;
&lt;br /&gt;
== Ted5 ==&lt;br /&gt;
=== Setting up Ted5 ===&lt;br /&gt;
Download and unzip ted5 into your &amp;quot;keen4mod&amp;quot; folder.  &lt;br /&gt;
&lt;br /&gt;
1. Look for the file Egahead.ck4.  Rename this file Egahead.ren.&lt;br /&gt;
&lt;br /&gt;
2. Run Tedsetup.&lt;br /&gt;
&lt;br /&gt;
3. Tedsetup will generate a new Egahead.ck4.  Delete this file.  Now Rename Egahead.ren to Egahead.ck4.&lt;br /&gt;
&lt;br /&gt;
This is the only time you will need to run tedsetup and follow the above steps.&lt;br /&gt;
&lt;br /&gt;
You will probably need dosbox to run Ted5.  Just drag and drop the ted5.exe onto your dosbox icon.&lt;br /&gt;
&lt;br /&gt;
=== The Interface ===&lt;br /&gt;
After dismissing the welcome screen, the first thing you will want to do is press F9, or click the &amp;quot;?&amp;quot; tab and select &amp;quot;Video Mode Switch&amp;quot;. That will cause TED to run in 640x480 mode, giving you more space to work with. You can switch to the low resolution mode again anytime you want to make sure how much of the level is going to be displayed on the in-game screen at once. &lt;br /&gt;
&lt;br /&gt;
At the bottom of the screen, you will see the Info Bar. From the far left to right, it displays: &lt;br /&gt;
&lt;br /&gt;
* Selected Background tile. &lt;br /&gt;
* Selected Foreground tile. &lt;br /&gt;
* Selected Sprite Icon. &lt;br /&gt;
&lt;br /&gt;
These items display the icon as a graphic, followed by the tile number in hexadecimal (like $00AE) and decimal (174). Clicking on any of them will bring up the tiles palette so you can select a new one. &lt;br /&gt;
&lt;br /&gt;
Next appears the name of the level.  This name is used only in Ted5, it does not affect the level name in-game.&lt;br /&gt;
&lt;br /&gt;
Next appears: Active layers (B, F, I) &lt;br /&gt;
* B: Background Tiles&lt;br /&gt;
* F: Foreground Tiles&lt;br /&gt;
* I: Sprite Icon, door/switch coordinates&lt;br /&gt;
&lt;br /&gt;
The letter indicates the layer where you will be adding new tiles to. You can select more than one and the selected tiles will all be placed, however, it is recommended that you work only one layer at a time. &lt;br /&gt;
&lt;br /&gt;
Next appears: Visible layers (b, f, i) &lt;br /&gt;
This tells you which layers are being toggled.  You can toggle layers with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
When a layer is turned off you cannot place items in it by mistake. This allows you&lt;br /&gt;
 to take a closer look at a specific layer to make sure everything is placed correctly. &lt;br /&gt;
&lt;br /&gt;
Lastly, on the bottom far right: Cursor location (X, Y) &lt;br /&gt;
This gives you the tile coordinates at a specific spot on the map.  This will also be given in both decimal and hexadecimal numbers. You will need those numbers in order to have switch that activate lifts, doors leading to other places, toggling bridges, and more. &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
By default, TED5 will load the world map for the game. In order to switch to another map, you will need to click the File menu and select Edit New Map. You will then be able to select any of the maps in the game. For this example, pick Slug Village. &lt;br /&gt;
&lt;br /&gt;
You can use the arrow keys to scroll the level around.&lt;br /&gt;
&lt;br /&gt;
You can toggle which type of tile to place (background, foreground, sprite icon) by pressing the 1, 2 or 3 keys.  Note for each type of tile, you will need to press the number key to activate it and the same key again to deactivate it before using a different tile type.&lt;br /&gt;
&lt;br /&gt;
Adding new tiles to the level is as simple left-clicking. The currently selected tiles will be placed in all active layers. You can select tiles in three ways: Clicking the tile icon to the left of the Info Bar, pressing the space bar to bring up the tile set, or right-clicking an existing tile. &lt;br /&gt;
&lt;br /&gt;
Right-clicking an existing tile will switch all the active tiles to the ones in the active layers. This means, if you only have the Icon layer active, right-clicking a tile with a slug will only select the slug; while if you have all three layers active, it will select the slug, the Foreground tile, and the Background tile at that location. &lt;br /&gt;
&lt;br /&gt;
Once you have a basic level made, you&#039;ll want to add more advanced features like moving platforms, switches, bridges, doors, and so on. These are all done with links in the sprite icon layer. &lt;br /&gt;
&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A collapsing platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this, you need to place another blocking tile in the way of the platform between the other two. Make a note of the hexadecimal values of the location of the tile (the X and Y values beginning with $ at the right-hand side of the status bar). Now place a switch in an appropriate place, and link it to the blocking tile: Choose Misc, New INFOPLANE Value or press Enter, and type in a $ followed by the last two digits of the X and Y values you wrote down. Then click on the switch; this will place the link in the info plane, which will be shown as four digits. The switch will now turn the blocking tile off, to activate the platform.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use the infoplane to specify what levels your entrances will lead to.  To do this, go to Misc, New INFOPLANE Value, and type in a $ followed by one of the following: $C0xx is a link to level where xx is the level number in hexadecimal, not decimal), $D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and $F0xx is for the flag holder which corresponds to the level.  After entering your chosen value, you can then edit the info plane by left clicking.&lt;br /&gt;
&lt;br /&gt;
In the same way, you can link a switch to a bridge (link to the left-hand edge of the bridge), a gem-holder to a closed door (link to the top of the door), and a walk-in doorway to the place you walk out (link to where you want Keen&#039;s feet to end up after he enters the doorway). Note that if you create a link from a switch to a square with nothing in the info plane, that switch will turn a blocking tile on; also that you need to use a particular tile to make a walk-in door (find out by looking at an existing level).&lt;br /&gt;
&lt;br /&gt;
Another feature which makes Keen levels exciting is secret passages. Some foreground tiles allow Keen to walk behind them-these are suitable for secret passages. However, identifying which ones are like this and which ones are solid is difficult: I suggest examining some of the original levels and noting down the tile numbers of the &amp;quot;secret passage&amp;quot; tiles to keep track of them. When putting point items in a secret passage, you must use icons for them, rather than their foreground tiles. I suggest that you only place the &amp;quot;walk-behind&amp;quot; tiles in secret passages once the level is completed, so that while editing you can keep track of them more easily.&lt;br /&gt;
&lt;br /&gt;
Finally, some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks in the info layer to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are &lt;br /&gt;
used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
You can save your map at any time by going to the File menu and selecting Save Map; however, in order to actually play the level, you will need to Carmacize Maps.  While ted5 has an option to do this, it takes too long to do so.  The easiest method is to download InstantCarma and unzip the files into the folder with your maps.  After you save your map in ted5, just run InstantCarma.&lt;br /&gt;
&lt;br /&gt;
TEDSETUP creates an extra batch file (Go4.bat) and patch file (Patch4.pat) which you do not need if you open your existing patch file and add the line:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
&lt;br /&gt;
You only need to add this to your patch file once.  Then just run your batch file to try your level!&lt;br /&gt;
&lt;br /&gt;
=== Other Ted5 Features ===&lt;br /&gt;
&lt;br /&gt;
Grid Mode toggles the showing of a grid on the current level. This can help with placing tiles in the right positions. Turn this on or off from the Mode menu or by pressing G.&lt;br /&gt;
&lt;br /&gt;
Block Fill mode quickly fills a rectangular area with the currently selected tiles. Choose it from the Mode menu or press B, and click the left mouse button on the desired top-left corner, and the right button on the bottom-right corner, then press Enter to fill the area.&lt;br /&gt;
&lt;br /&gt;
Flood Fill mode will fill an area of one tile with the currently selected tiles. Choose it from the Mode menu or press F, then click in the desired location to fill.&lt;br /&gt;
&lt;br /&gt;
Copy Mode (also on the Mode menu, or press C) lets you select a rectangular set of tiles to copy so that you can duplicate them in another region easily. Select the area as for Block Fill mode, then press Enter.&lt;br /&gt;
&lt;br /&gt;
Paste Mode (you know where to find it) allows you to paste one or more copies of the tiles chosen with Copy Mode. Click with the left mouse button to place a copy. You can use the Paste Overlay option (on the Mode menu, or press F3) to toggle pasting of empty tiles. The Snap-Paste option (press S) toggles pasting copies just anywhere, or in a tessellated pattern. This is especially useful for &lt;br /&gt;
filling in the background of a level.&lt;br /&gt;
&lt;br /&gt;
You can change the size of a level with the &amp;quot;Change MAP Edges&amp;quot; option on the Edit menu. Select the edge you want to change, and enter a positive or negative number to add or remove rows from that edge.&lt;br /&gt;
&lt;br /&gt;
== Keen:Next ==&lt;br /&gt;
&lt;br /&gt;
=== Setting Up ===&lt;br /&gt;
Go to the keen 4 folder in Keen next and copy the tiles4.png file.  Paste this into your &amp;quot;keen4mod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit tiles4.png to include your edited graphics.  Be sure to save the file as .png.&lt;br /&gt;
&lt;br /&gt;
Go to your Keen:Next folder and run the kmaps application.  You may get an error message after running this, but this is not a problem, just click ok.&lt;br /&gt;
&lt;br /&gt;
When the editor opens, the first thing to do is go up to &#039;file&#039; then &#039;new&#039;.  A &#039;project properties&#039; window will appear.  Give your project a title (it doesn&#039;t matter what you name it) and then check the &amp;quot;keen project&amp;quot; box.  We&#039;ll be using Keen4, which is the default setting.  If you&#039;re planning to edit keen 5 or 6, just make sure to select those in the box next to &amp;quot;keen project&amp;quot;.  Next we need to choose the tileset.  In the image file section, go to &#039;browse&#039; and select the tileset you want to use (in this case, tiles4.png).  After all this, click &#039;ok&#039;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: you will have to do this each time you open the editor.&lt;br /&gt;
&lt;br /&gt;
Before editing levels, you must extract them in a way that Keen: Next can read them.  Go to &#039;file&#039;, then &#039;create keen files&#039;.  Browse to your &amp;quot;keen4mod&amp;quot; folder and select keen4.exe.  Your keen map files should now be created.   &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: this will not work if you have run tedsetup.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: You only have to do this once.&lt;br /&gt;
&lt;br /&gt;
=== The Interface and Tools ===&lt;br /&gt;
The tiles should load on the right side of editor menu.  You can adjust the tile menu width with the mouse by selecting the left edge.  You can scroll between the background and foreground tiles.&lt;br /&gt;
&lt;br /&gt;
In the upper left is a toolbar.  The default tile tool is the pencil/paintbrush.  You can click and place or click and drag to place tiles.  &lt;br /&gt;
&lt;br /&gt;
There is also a water dropper tool.  This is useful for selecting a tile currently on the map instead of looking for it in the tileset.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: the water dropper will &#039;pick up&#039; the tile from the tileset you&#039;re currently in; if you currently have a background tile selected and use the water dropper, it will pick up the background tile on the map.  If you want a foreground tile, scroll down in the tileset on the right and select one of  the foreground tiles, then use the water dropper on the map.&lt;br /&gt;
&lt;br /&gt;
I do not recommend using the paint can tool, since it is very buggy.&lt;br /&gt;
&lt;br /&gt;
The next tool can be used for selecting&lt;br /&gt;
 a rectangular area of the map.  This is useful for cutting a piece of the level and pasting it elsewhere (you will need to do this twice if you want to cut and paste both the background and foreground).  You can also create stamps this way. Just select an area and go to &amp;quot;selection&amp;quot; and then &amp;quot;create brush&amp;quot;.  A stamp of the area will now appear on the left.&lt;br /&gt;
&lt;br /&gt;
You can create stamps of a large area of tiles from the tileset also.  To do this, click the top left corner of the area of tiles you want in the tileset.  Then go to the bottom right corner of that area, while holding shift, and select that tile.  Doing this successfully will result in the stamp image appearing on the left side of the editor.  You can now use the paintbrush tool to place this stamp, and you can reselect this stamp at any time you&#039;re editing.  &lt;br /&gt;
&lt;br /&gt;
The next tool looks like a little cog.  This is used for placing doors, level entrances, switches, and key-gem holders.&lt;br /&gt;
&lt;br /&gt;
The last important tool has an icon that looks like an arachnut.  Click this to bring up the sprite menu.  This is used for placing enemies, points, and some other things.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
In addition to the tools, you can toggle the layers used in editing with the &#039;view&#039; tab and checking/unchecking layer 1 and layer 2.  Make sure that, in the &amp;quot;view&amp;quot; section, you have &#039;fade unused layers&#039; unchecked.  This makes level viewing easier.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: This is the buggiest part of Keen:Next and if you frequently toggle layers, glitches can ruin a lot of work put into a level.  Its usually best to leave both layers visible, or save your progress before toggling layers and then reload Keen: Next as soon as you finish the work that required toggling them.  &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
To begin editing, first load a map.  Go to &#039;file&#039;, then &#039;Import Keen Map&#039;.  In your &amp;quot;keen4mod&amp;quot; folder, select &#039;maphead.ck4&#039;.  You should now be presented with a &#039;map select&#039; box.  Choose the level you&#039;d like to edit.  Let&#039;s start with the shadowlands.&lt;br /&gt;
&lt;br /&gt;
The shadowlands map should now be loaded in the main editing area.  You&#039;ll notice little white icons that look like this (!).  These are the level sprites.  To place these, use the little cog tool up in the upper left (next to the rectangular area selector).  When this tool is used to click the map, you&#039;ll get an &#039;info plane&#039; box asking for an x and y coordinate.&lt;br /&gt;
&lt;br /&gt;
On the world map, this is how the coordinates work:&lt;br /&gt;
The x coordinate determines what kind of sprite is used.  An X of 192 designates the sprite as a level entrance.  Note: you cannot place a level entrance on a tile that appears over keen or on an animating tile.&lt;br /&gt;
&lt;br /&gt;
An x of 208 is a level block (like those used in the slug village); this sprite does not actually block keen, but is placed over a foreground tile that does.  When the level is beaten, this info number removes the foreground tile.  &lt;br /&gt;
&lt;br /&gt;
An x value of 240 is for the flag holders.&lt;br /&gt;
&lt;br /&gt;
Y coordinates only designate what level the sprite is associated with.  A Y of 1 will designate the level as level 1.&lt;br /&gt;
&lt;br /&gt;
To place sprites (enemies) in a level, go to the tools menu and click the little icon that looks like an arachnut.  The sprite menu should appear in place of the tileset.  To place a sprite, make sure you have the paintbrush icon selected, then click the sprite you want to place.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard.  You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  &lt;br /&gt;
&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere).  Next place a door (these are also foreground tiles) somewhere (anywhere).  When making the door, there are three door tiles: a bottom, middle, and top.  If you&#039;re making a door more than three tiles high, use the middle door piece for additional height.  Using your mouse, hold it over the top tile of the door.  In the lower left side of the editor, you&#039;ll notice that the map coordinates for this tile appear.  Memorize or write these down.  Now select the cog tool and then click your keygem holder.  Enter in the coordinates for your door.  You&#039;ve now got a working door.&lt;br /&gt;
&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map.  Now you must determine the coordinates.  Go to one of your doors and hold the mouse over the tile below the bottom left door tile (not on the bottom left door tile or keen will drop out of the air). Check the coordinates.  Then go to the door you want to connect to this spot and use  the cog tool and click the lower left door tile (the lower left door tile, not the one below it). Enter in the coordinates.  Do the same for the bottom right door tile.  Now this door is connected to the other, but you also need to check the coordinates at this door and add them to the tiles of the other door.&lt;br /&gt;
&lt;br /&gt;
To create a working switch, use the cog tool on a switch and use the coordinates for the thing you want the switch to affect.  For a bridge, get the coordinates of the top left bridge tile and put this in the info box for the switch.  For goplats (moving platforms), get the coordinates of a B sprite (these are sprites which goplats bounce off and then go in the other direction).  The switch will remove that sprite so the goplat can move.&lt;br /&gt;
&lt;br /&gt;
To resize a map, go to &amp;quot;edit&amp;quot; and &amp;quot;Resize map&amp;quot;.  Then select the new level boundaries and the side of the level which should be expanded or shrunk.&lt;br /&gt;
&lt;br /&gt;
Keen: Next has an infinite undo button.  Just go to &amp;quot;Edit&amp;quot; and click &amp;quot;Undo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Undo will work for everything except changes to the level boundaries.  Make sure you save before changing level boundaries!&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
When you&#039;re ready to save, go to &#039;file&#039;, then &#039;export keen map&#039;, then select &#039;maphead.ck4&#039;,  click yes, and reselect the level you want to save over and click ok.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: if you like, You can rename the level here before you click ok.  The name you choose will only appear in the editor, however, and not in the in-game text.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Do not click &#039;save&#039; or &#039;save as&#039;.  These options do not actually save the level to the game, but as files only Keen: Next can read.  Additionally, saving levels in this manner can cause Keen: Next to crash.&lt;br /&gt;
&lt;br /&gt;
After saving you can test your levels by adding this to your patch file:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 %gamemaps editmaps.ck4&lt;br /&gt;
&lt;br /&gt;
Then run your batch file and you&#039;re all set.&lt;br /&gt;
&lt;br /&gt;
== The Omegamatic ==&lt;br /&gt;
===Setting Up===&lt;br /&gt;
Run tom.exe and select the gamemaps.ck4 file.  You will then need to select your tilesets which you exported modkeen: 4til0000 and 4til0001.  After selecting these, if all goes well, the world map will open in TOM.&lt;br /&gt;
&lt;br /&gt;
===The Interface and Tools===&lt;br /&gt;
Tom features two different level editing styles: Ted5 and Keen:Next.  I highly recommend Keen:Next Mode and will only cover it in this tutorial.  To activate this go to settings and click &amp;quot;Keen:Next Mode&amp;quot;.  You will now see the tileset on the right side of the TOM window.&lt;br /&gt;
&lt;br /&gt;
In the bottom left of the window you will see three different boxes.  These boxes display the tile you pick from the tileset on the right of the window.  Each box displays from one of the three layers used in Keen:Galaxy: background tiles, foreground tiles, and sprite icons.  To change which tileset to work with, use the hotkeys 1, 2, and 3 to switch between the layers.&lt;br /&gt;
&lt;br /&gt;
To place a tile simply select the tile from the tileset with the left mouse button and click on the level where you want to place it with the left mouse button.  You can also right click a tile from the level to make it the active tile for placing, just like a water dropper tool.  To erase a tile you will need to right click an empty space in the level, which makes an empty tile the active tile, and then left click what you want to erase.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from within a level, press C and left click a corner of the area you want to select.  You should then left click the opposite corner of the area you want to select.  The selected area will have it&#039;s colors inverted until you select the size of the area.  You can then press P to paste the area you selected.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from the tileset, left click the top left tile of the area you want to select.  Then, while holding shift, left click the bottom right tile of the area you want to select.  Release shift and then you should be able to place the selected area in the level by left clicking.   &lt;br /&gt;
&lt;br /&gt;
You can scroll around the level with your mouse wheel or with the arrow keys.  You can zoom in and out in the &amp;quot;View&amp;quot; tab.  You can also toggle on and off which layers can be seen with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
To change the level you are editing go to &amp;quot;Levels&amp;quot; and select the level you want to edit.  You can rename levels by going to &amp;quot;File&amp;quot; and then &amp;quot;Rename This Level&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can resize a level by going to &amp;quot;Tools&amp;quot; and selecting either: Insert Row, Delete Row, Insert Column, or Delete Column.  After selecting on of these move your mouse around the level and you will see a highlighted area which will be affected by whichever option was chosen.  To disable any of these level adjustments just go back to &amp;quot;Tools&amp;quot; and uncheck it.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use sprites to specify what levels your entrances will lead to. To do this, first press 3 to activate the sprite icon layer.  Press enter once and a message box will come up with an infoplane number in hexideciaml.  Remove the number indicate and type one of the following: C0xx makes a level entrance where xx is the level number in hexadecimal, not decimal), D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and F0xx is for the flag holder which corresponds to the level. After entering your chosen value, you can then place the level entrance, gate, or flag sprite by left clicking.&lt;br /&gt;
&lt;br /&gt;
===Sprites and Enemies===&lt;br /&gt;
To place sprites and enemies in a level, press 3 to bring up the sprite tileset. You can place sprites like you would normally place a tile.  Some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard. You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  Sometimes there is a blank space before or after the order of sprites.  For example, the blue bird from keen 4 doesn&#039;t have a sprite icon for easy mode, however, it does have a blank tile where the easy mode icon would normally go.  This blank tile can be placed to place a blue bird on easy.  This works similarly for other enemies in this situation.&lt;br /&gt;
&lt;br /&gt;
===Secret Passages===&lt;br /&gt;
Some foreground tiles have properties that allow Keen to walk behind them; these are secret passages.  To make these you will need to identify which tiles have the correct foreground but not blocking properties.  I suggest examining some of the original levels and noting down which tiles are used for the secret passages.  You can also identify them with the CKD456tli utility. When putting point items in a secret passage, you must use points from the sprite list rather than the foreground tile points.&lt;br /&gt;
&lt;br /&gt;
===Moving Platforms===&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform sprite icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A falling platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
===Switches for goplats===&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this you will need to place another blocking tile in the way of the platform between the other two. After placing the blocking tile, hold the mouse over it and press enter two times.  This will give you the hexidecimal coordinates which you will place on the corresponding switch.  The switch will now turn the blocking tile off thus activating the platform.&lt;br /&gt;
&lt;br /&gt;
===Switches for bridges===&lt;br /&gt;
To create a switch for bridges, first build the bridge using the bridge tiles.  Then hold your mouse over the top left tile of the bridge and press enter twice to get the hexidecimal sprite value.  Place this sprite on the switch you want to activate the bridge with.  If you want the bridge to begin already opened, you will need to locate the invisible bridge tiles and place these where the bridge will be located, otherwise no bridge will appear.  To find these either locate them in existing levels with open bridges or use ckd456tli.&lt;br /&gt;
&lt;br /&gt;
===Key Gem Doors===&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere). Next place a door (these are also foreground tiles) somewhere (anywhere). When making the door, there are three door tiles: a bottom, middle, and top. If you&#039;re making a door more than three tiles high, use the middle door piece for additional height. Using your mouse, hold it over the top tile of the door and press enter twice.  Place the sprite that this gives you on the gem holder.&lt;br /&gt;
&lt;br /&gt;
===Doors===&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map. Then hold the mouse over bottom left or right of the first door and press enter twice.  This gives you a sprite which you should place on the bottom of the second door you want connected to the first door.  After placing the sprites at the bottom of the second door, you will need to press enter twice at the bottom of this second door and place the sprites on the first door in the same way.&lt;br /&gt;
&lt;br /&gt;
===Scroll Blocks===&lt;br /&gt;
Some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks from the sprite menu to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
To save your progress go to &amp;quot;File&amp;quot; and then &amp;quot;Save all Levels&amp;quot;.  This will immediately save all your levels.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
After saving you can test your levels by adding this to your patch file: &lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 &lt;br /&gt;
Then run your batch file. &lt;br /&gt;
&lt;br /&gt;
== Abiathar ==&lt;br /&gt;
&lt;br /&gt;
See Fleexy&#039;s [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharHelp.pdf official manual] or [https://www.youtube.com/playlist?list=PL-BuW7CehquoCH_yGXeQqTIXQMY7sUm-u video tutorial playlist].&lt;br /&gt;
&lt;br /&gt;
== General Level Editing Issues ==&lt;br /&gt;
If there are too many sprites in a level you will get the error &#039;No space left in objarray&#039;; the game has run out of memory to store sprites. This usually occurs at the level start. To fix this, remove sprites from your level.  When placing sprites, keep in mind that the more variety of enemies you use, the more memory is used up and the larger the sprite and the more frames it has, the more memory it uses.  Also, when trying to save memory, check your points items: these exist both as tiles and sprites (try to use tile points whenever possible).&lt;br /&gt;
&lt;br /&gt;
If you have too many different types of tiles (Background and foreground) then you will get the error &#039;No space left in tilearray&#039;; this means that the game does not have enough memory to store all your different tile types. Foreground tiles use 8x the memory of background tiles. You shouldn&#039;t have more than about 400 tile types total (Background and foreground) in a level, usually 100 back and 300 fore.  Additionally, animating tiles with many frames can increase your tile count drastically.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: I have never had this error before and imagine it would be difficult to attain, so don&#039;t be worried about using too much until you get this error.&lt;br /&gt;
&lt;br /&gt;
You cannot have more than 20 actively animating tiles on-screen at any one time, this includes item tiles. This will cause an anim tile error. (Not enough memory to animate all these tiles.)  &lt;br /&gt;
&lt;br /&gt;
Note:  This was a major problem in designing the Lava Falls in [[Dead in the Desert]], so be careful when it comes to animating tiles.&lt;br /&gt;
&lt;br /&gt;
If a level is &#039;too large&#039; for its music file, the error &#039;Not enough memory to play background music!&#039; will occur. This is an indication of either large levels or large music files. To reduce this error, either make your level smaller or change the music to a smaller file. &lt;br /&gt;
&lt;br /&gt;
If you see static gibberish instead of an animation while testing your level, then you have placed an animating background over an animating foreground. For memory reasons this is not allowed.  Similarly, a sprite cannot be placed on top of an animating tile.  This will crash the game.&lt;br /&gt;
&lt;br /&gt;
= Music and Sounds= &lt;br /&gt;
Copy Keenwave.exe into your &amp;quot;keen4mod&amp;quot; folder.  Run Keenwave and it will generate an IDWAVE text file.  Create a folder called &amp;quot;sounds&amp;quot;.  Open IDwave.txt and add this line:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -export=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave by dragging and dropping it onto dosbox.&lt;br /&gt;
&lt;br /&gt;
Now look in your sounds folder.  Here you will see a number of sound files and a few music files (IMF files) at the bottom.  To change these, just replace the sounds with new file (they must be the same format, for music this is IMF).  Sound effects can be created and modified using WDC.  You can create IMF files by converting midi files with IMF Creator.&lt;br /&gt;
&lt;br /&gt;
After changing the sounds or songs, go back to IDWAVE.txt and change the command to:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -import=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave.&lt;br /&gt;
&lt;br /&gt;
Now open your patch file and include the lines that apply to the episode you&#039;re modding:&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 4:&lt;br /&gt;
 %patchfile $20DF0 AUDIOHED.CK4	#Audio header&lt;br /&gt;
 %patchfile $354F6 AUDIODCT.CK4	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 5:&lt;br /&gt;
 %patchfile $21C80 AUDIOHED.CK5	#Audio header&lt;br /&gt;
 %patchfile $35EC4 AUDIODCT.CK5	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 6:&lt;br /&gt;
 %patchfile $20C50 &amp;quot;AUDIOHED.CK6&amp;quot;           #Audio header&lt;br /&gt;
 %patchfile $36EEE &amp;quot;AUDIODCT.CK6&amp;quot;           #Audio dictionary &lt;br /&gt;
&lt;br /&gt;
== Creating and Editing Sound Effects ==&lt;br /&gt;
&lt;br /&gt;
Begin by installing WDC to your tools folder.  Once this is commplete, go to the new WDC folder and create three new folders inside: &amp;quot;Keen4input&amp;quot;, &amp;quot;Keen4output&amp;quot;, and &amp;quot;KeenSounds&amp;quot;.  You should then copy a clean version of Keen 4 into the &amp;quot;Keen4input folder&amp;quot;, specfically the files: Audio.ck4, Egagraph.ck4, Gamemaps.ck4, and Keen4e.exe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Make sure this version of the keen4e.exe has NOT been unlzexed.&lt;br /&gt;
&lt;br /&gt;
Now run WDC.exe.  After is loads, go to &amp;quot;File&amp;quot; then &amp;quot;New Project&amp;quot;.  WDC will then ask you to name the project and save the project file; name it &amp;quot;keen4project&amp;quot; and save it to you WDC folder.&lt;br /&gt;
&lt;br /&gt;
WDC will then bring up a window with several options.  Under &amp;quot;Base Data Folder&amp;quot; select your folder &amp;quot;keen4input&amp;quot;.  You will then get a &amp;quot;no map code file&amp;quot; alert.  When this occurs, select &amp;quot;User Other&amp;quot; and then select &amp;quot;blank.wmc&amp;quot;.  Under &amp;quot;Output Folder&amp;quot; select your folder &amp;quot;keen4output&amp;quot;.  On the left side you will see a small menu, select &amp;quot;Other Options&amp;quot; and then check the box for &amp;quot;Use Tile16s for maps, if they exist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You should now see the Keen 4 world map.  You&#039;ll be using only one part of WDC, however, so go to &amp;quot;View&amp;quot; and select either &amp;quot;PC Sounds&amp;quot; or &amp;quot;Adlib Sounds&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
WDC will then load the list of sounds for that category.  You can sample each sound by clicking it.  Playback controls are located in the upper right.  To edit a sound, click the small hammer icon in the lower right.  WDC will then ask you where you want to save the file.  Navigate to your &amp;quot;keensounds&amp;quot; folder.  Name the sound in such a way that you can remember what it is: &amp;quot;slugslime&amp;quot;, &amp;quot;jump&amp;quot;, &amp;quot;item&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
WDC will then load it&#039;s sound editor.  There are various tabs for effecting how the sound is played, and the main area allows you to use your mouse and &#039;draw&#039; the sound.  Sound editing is a complex task and the only real advice I can offer is to just play around in the editor and save sounds that you find good or interesting.  &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve saved some sounds, you&#039;ll want to swap these into your mod.  To do so you&#039;ll first need to locate the original sound file you want to replace in the &amp;quot;sounds&amp;quot; folder you created when setting up Keenwave.  You can do this by listening and finding the sound you want to replace in WDC and then locating the corresponding number in the sounds folder.  This is easy for PC speaker sounds, but since Keenwave doesn&#039;t seperate the PC speaker sounds from the adlib, you&#039;ll have to locate the last PC Speaker sound and then begin counting again from 1 in order to match the adlib sound list in WDC to that in your sounds folder.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve located the original sound you want to swap out, copy it&#039;s name to your new sound and then replace the file.  Then run Keenwave to import your new sound effect.&lt;br /&gt;
&lt;br /&gt;
== Working with the IMF Format ==&lt;br /&gt;
In IMFCreator, go to the &amp;quot;options&amp;quot; menu and set the tics/sec to 560.  This will make your songs convert at the correct tempo.&lt;br /&gt;
&lt;br /&gt;
The following, excluding the tip from thehackercat, is written by Mr. M for PCKF/KeenModding: &lt;br /&gt;
&lt;br /&gt;
Compose your music using your choice of software. As long as it outputs standard General MIDI files, you should be good to go.&lt;br /&gt;
&lt;br /&gt;
Please read and get an understanding of the [http://www.shikadi.net/moddingwiki/IMF_Format IMF specs]. &lt;br /&gt;
&lt;br /&gt;
Tip From Thehackercat:&lt;br /&gt;
For those of you using a sheet-music editor such as Finale: You may write two or more parts for one instrument. Keep inside the required 4-note polyphony, but don&#039;t be shy about using layered parts and chords, especially on piano staves.&lt;br /&gt;
&lt;br /&gt;
Tips From Mr. M:&lt;br /&gt;
&lt;br /&gt;
(1) IMFCreator seems to interpret MIDI note velocities. If your instrument track is too quiet *and* it is set to maximum volume, try manually adjusting the note velocites to be higher. I know that FLStudio is capable of doing this; I&#039;m sure other studio software packages are capable of this, too. If the volume of the track is too loud after making your note velocities higher, turn down the volume of that track.&lt;br /&gt;
&lt;br /&gt;
(2)  Keep percussion parts as simple as possible. It impedes the maximum polyphony limits that can be utilized by other parts. Simply put, you can write more complex parts that use this structure:&lt;br /&gt;
&lt;br /&gt;
 [SIMPLE/NO PERCUSSION]+[BASS LINE]+[CHORDS]+[CHORDS?]+[LEAD]&lt;br /&gt;
&lt;br /&gt;
The number of dropped notes, if any, in IMFCreater is almost unnoticeable if you adhere to this formula. I&#039;ve been able to push the IMF format to it&#039;s limits by doing this.&lt;br /&gt;
&lt;br /&gt;
As Thehackercat stated, don&#039;t be shy about using chords and complex structures -- especially if your percussion line is nonexistent or very simple.&lt;br /&gt;
&lt;br /&gt;
(3)  Try not to use too many midi tracks, *especially* if they are all simultaneous. Too many midi tracks results in dropped notes (ie- parts drop out randomly *and* inconsistently), and songs that exceed the filesize limits. I personally only need 4-8 tracks, counting percussion, to acheive the sound that I get in my work.&lt;br /&gt;
&lt;br /&gt;
(4)  On the subject of percussion: To circumvent the polyphony limit that gets imposed when you use percussion parts, try using normal instruments played outside their normal range. Then in IMFCreator, tweak the patches you used by adjusting all the possible paramaters until you acheive the desired percussive sound. It may not work all the time, but it should do the trick in most cases. (Credit for this tip goes to [[Bobby Prince]])&lt;br /&gt;
&lt;br /&gt;
(5)  On the topic of modding instrument patches: Don&#039;t be afraid to tweak patches! It&#039;s under the &#039;EDIT&#039; -&amp;gt; &#039;Instrument&#039; (or press CTRL+I) menu. You can edit how all the instruments sound. All of them {including percussion). Distortion guitar not distorted enough? No problem. Pad not airy enough for you? Bass drum not punchy enough, or the hi-hat not sharp enough for you? No problems there. See the help menus for the specifics of how the patch parameters are edited.&lt;br /&gt;
&lt;br /&gt;
When I do this, I make a patch set for each specific song. When you close the instrument editor, you are prompted to save changes. Do so, and save the .OP2 file that is generated as something *other* than GENMIDI.OP2 (I like to save it by song title for easy reference). Keep the original GENMIDI.OP2 file as a base set. &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve tweaked the patches to your liking and saved your new .OP2 file, stop any playback of the song you&#039;re previewing. Under &#039;OPTIONS&#039; and &#039;OP2 File:&#039; you can choose the OP2 file that has the modded patches you created. Press play and listen to your new instruments!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After editing an .OP2 file/patch set, you MUST stop and re-start playback of your song for the changes to take effect&lt;br /&gt;
&lt;br /&gt;
(6)  Be careful with pitchbends in your music. IMFCreator tends to overexaggerate them if the pitchbend scale and thresholds arent set properly. There&#039;s no ONE configuration for them; best bet is to tinker with them until you get a desireable sound. Remember: Lower numbers mean higher pitchbend scale! &lt;br /&gt;
&lt;br /&gt;
As with editing the patch set, you MUST stop and re-start playback of your song for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
= Loading Window =&lt;br /&gt;
Go to your graphics folder and look for the file 4msc0000.bin.  Copy this to your keenscr folder.&lt;br /&gt;
&lt;br /&gt;
Go to commander prompt and navigate to your keenscr folder and then type: &lt;br /&gt;
 &lt;br /&gt;
 keenscr load&lt;br /&gt;
&lt;br /&gt;
TheDraw will immediately start editing the screen, with the filename keenscr.bin. &lt;br /&gt;
&lt;br /&gt;
Alt+H will display the help screen with all the commands that TheDraw supports; however, its basic use is extremely simple. Use the arrow keys or mouse to select where you want to enter text, then type it in. By default, it uses bright white color over black color; you can copy a color straight from the screen by placing the cursor over any character and pressing Alt+U, and it will use that color as you type. &lt;br /&gt;
&lt;br /&gt;
You can use Alt+M to enter drawing mode, where you can use the cursor keys or the mouse to draw on the screen; you should enable Draw mode with the cursor in the place where you want to start drawing, as it will start immediately. Alt+F1 to Alt+F4 will give you different line styles for Draw mode. &lt;br /&gt;
&lt;br /&gt;
Once you are done editing the screen, you can save it by pressing Alt+S. TheDraw will ask which format to save it in; press B to select Binary, and enter the filename keenscr.bin. It&#039;s important that you keep this filename (overwriting the existing one).  After you exit TheDraw and KeenScr notifies you that the file has been updated.  &lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  You must also copy ck4load into your &amp;quot;mymod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include the patch for the respective episode:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1fe47 ck4load.bin &lt;br /&gt;
 %patchfile $20cd7 ck5load.bin &lt;br /&gt;
 %patchfile $1fca7 ck6load.bin &lt;br /&gt;
&lt;br /&gt;
You can also edit the exit screen by going to the command prompt and typing: keenscr 4&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done,  save it as keenscr.bin overwriting the generated file. You must save it in Binary format when TheDraw asks.&lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  &lt;br /&gt;
&lt;br /&gt;
= Scrolling Text =&lt;br /&gt;
Run Startext.  The controls are listed.  Select your episode of choice and then select edit scrolling story.  Type your story as you want it, making sure not to go over the space limit or under it (the original story will appear at the bottom of your story if you do).  Press enter.&lt;br /&gt;
&lt;br /&gt;
Copy story.ck4 into your &amp;quot;mymods&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include one of the following:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1EE40 &amp;quot;STORY.CK4&amp;quot;&lt;br /&gt;
 %patchfile $1FDE0 &amp;quot;STORY.CK5&amp;quot;&lt;br /&gt;
 %patchfile $1ED50 &amp;quot;STORY.CK6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Credits For This Tutorial =&lt;br /&gt;
* Written and Assembled by [[User:Ceilick|Ceilick]]&lt;br /&gt;
* Selections of [[User:Levellass|Levellass&#039;]] [[TED5|TED5 Tutorial]]&lt;br /&gt;
* Selections of [[Andrew Durdin|Andrew Durdin&#039;s]] [http://www.dosclassics.com/ckn/newsletter/issues/2002-03-01.txt|TED5 Tutorial]&lt;br /&gt;
* Selections of [[User:CK Guy|CK Guy&#039;s]] ck456tli readme&lt;br /&gt;
* Selections of [[User:Mink|Mink&#039;s]] The Omegamatic readme&lt;br /&gt;
* Selections of [[User:Leandrotlz|Leandrotlz&#039;s]] [[TheDraw|The Draw/Keenscr tutorial]]&lt;br /&gt;
* [[User:Shadow Master|Shadowmaster&#039;s]] [http://www.keenmodding.org/viewtopic.php?t=899 findings] for getting ted5 to work with modkeen 2.0&lt;br /&gt;
* [[User:Mr.M|_mr_m_&#039;s]] IMF guide&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&amp;quot;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25628</id>
		<title>Keen Galaxy Modding Tutorial (patch based)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25628"/>
		<updated>2014-05-09T00:54:27Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Level Editors */ Added Abiathar to level editor downloads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial aims to teach Keen Galaxy modding (Keen episodes 4, 5, and 6) to people who don&#039;t know the first thing about modding, but even the experienced modder should find this information as a good reference tool.  Keen 4 will be used for specific examples, but if you are modding keen 5 or 6, you should be able to follow along.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders =&lt;br /&gt;
Download my [https://dl.dropbox.com/u/3654819/Keen/Keen%20Galaxy%20Modding%20Package.zip Keen Galaxy Modding Package].&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also manually create this package:&lt;br /&gt;
&lt;br /&gt;
Create your base folder called &amp;quot;Keen Modding&amp;quot; on your desktop. In this folder you&#039;ll want to create two subfolders: &amp;quot;Keen4mod&amp;quot; and &amp;quot;Tools&amp;quot;.  In your &amp;quot;Keen4mod&amp;quot; folder, create a folder called &amp;quot;BMP&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Copy all your Keen 4 game files into the folder &amp;quot;Keen4mod&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: It is very important that you use the right version of the episode you wish to mod.  Make sure they are the correct versions: Keen 4 v1.4, keen 5 v1.4, and keen 6 v1.4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tool Downloads ==&lt;br /&gt;
These are the tools you will need in order to mod Keen&#039;s 4, 5, and 6 and included in the modding package.  If you wish to download them individually:&lt;br /&gt;
&lt;br /&gt;
* [http://files.keenmodding.org/modkeen2.zip Download Modkeen] &lt;br /&gt;
* [http://files.keenmodding.org/ckpatch-0.10.0.zip Download CkPatch]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/UNLZEXE.EXE Download Unlzexe]&lt;br /&gt;
* [http://sourceforge.net/projects/clonekeenplus/files/Tools/unlzexe/win32/unlzexe081.zip/download Download Unlzexe (64 bit version)]&lt;br /&gt;
* [http://files.commanderkeen.org/users/mink/CkD456Tli(v3.3).zip Download CkD456tli]&lt;br /&gt;
* [http://files.commanderkeen.org/users/leandro/keenscr.zip Download KeenScr]&lt;br /&gt;
* [http://levellord.rewound.net/KEENWAVE.zip Download Keenwave]&lt;br /&gt;
* [http://levellord.rewound.net/STARTEXT.zip Download Startext]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/IMFCreator Download IMF Creator]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/WDC Download WDC]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Depending on your computer&#039;s operating system you may need CWSDPMI.EXE to run modkeen and other modding programs.  If your receive an error in later steps asking for this file, get it here: &lt;br /&gt;
&lt;br /&gt;
* [http://www.delorie.com/djgpp/dl/ofc/simtel/v2misc/csdpmi5b.zip/BIN/CWSDPMI.EXE  Download CWSDPMI.EXE]&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
You will need one of the four existing level editors: [[Keen: Next (level editor)|Keen Next]] (K:N), [[TED5]], [[The Photachyon Tranceiver]] (TPT), or [[The Omegamatic]] (TOM).  This tutorial does not include instructions for The Photachyon Tranceiver since it is in many ways a windows based Ted5.  I personally recommend The Omegamatic.  All of these editors are included in my modding package.&lt;br /&gt;
&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/TED5.zip Download TED5]&lt;br /&gt;
* [http://www.bipship.com/downloads/tpt3.zip Download The Photachyon Tranceiver]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/KeenNextEditor.zip Download Keen: Next]&lt;br /&gt;
* [http://0x27.com/downloads/tom.zip Download The Omegamatic]&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharUpdater.exe Download Abiathar (updater/downloader)]&lt;br /&gt;
&lt;br /&gt;
=== Drawing Tools ===&lt;br /&gt;
One of the simplest tools for modifying Keen graphics is MS Paint.  However, only the versions of MS Paint prior to Windows 7 will function with the Keen palette correctly.&lt;br /&gt;
&lt;br /&gt;
* [http://sagorpirbd.deviantart.com/art/Win-7-MS-Paint-dll-XP-English-122788536 Old MSPaint]&lt;br /&gt;
&lt;br /&gt;
Some modders use programs such as GIMP or PhotoShop.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders (Continued) =&lt;br /&gt;
&lt;br /&gt;
Unzip the tools in your tool folder.  Copy the following files into your &amp;quot;Keen4mod&amp;quot; folder:&lt;br /&gt;
* modkeen.exe&lt;br /&gt;
* unlzexe.exe&lt;br /&gt;
* ck4patch.exe (Keen 5 requires &#039;ck5patch.exe&#039;, Keen 6 &#039;ck6patch.exe&#039;)&lt;br /&gt;
&lt;br /&gt;
Once these files are in place, Unlzexe your Keen4.exe by dragging and dropping the file onto Unlzexe.exe.  A window may flash on the screen when you do so.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using the 64 bit version of Unlzexe, this will create a “Keen4.exenew”.  You will then need to delete the old “Keen4.exe” and rename “Keen4.exenew” to “Keen4.exe”.&lt;br /&gt;
&lt;br /&gt;
Open a command prompt.  If you are unfamiliar with this process: go to your computer&#039;s start button, and either click &#039;run&#039;, or in the search field type &#039;run&#039; and click the first result.  In the run box, type &#039;cmd&#039;.  Now you have a command prompt open.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll see something like &lt;br /&gt;
 C:\Users\UserName&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type: &lt;br /&gt;
&lt;br /&gt;
 cd desktop\Keen Modding\My Mod&lt;br /&gt;
&lt;br /&gt;
Press enter, then:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -export -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you should see a list of everything modkeen has exported followed by the word &amp;quot;Done!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using a 64 bit version of windows modkeen may not run through the command prompt.  You can run it instead by dropping modkeen.exe onto dosbox.exe and then typing: modkeen -episode=4 -export -bmpdir=&amp;quot;graphics&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editing Graphics and Text =&lt;br /&gt;
To begin editing the graphics and most text found in the game, go to your &amp;quot;BMP&amp;quot; folder.  You&#039;ll see a lot of images there as well some some text files and some other files.&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
You can edit any of these images how you want, but keep some things in mind:&lt;br /&gt;
&lt;br /&gt;
* You need to use the original keen colors. This is easy to do if you just edit the images with MSpaint.  &lt;br /&gt;
** &#039;&#039;&#039;Note&#039;&#039;&#039;: Windows 7 users will need to download the old version of mspaint.&lt;br /&gt;
&lt;br /&gt;
* On sprite images, you&#039;ll see three frames: the image against a black background, a black outline on a white background, and a red box on a grey background.  The first image is where the sprite is drawn.  The second is used to show what parts of the original image are going to be shown in-game.  The last box is used for hitbox measurement, although it doesn&#039;t directly affect hitbox size (the 4sprites.txt determines this, see the &#039;hitboxes&#039; section below).&lt;br /&gt;
&lt;br /&gt;
* In the foreground tileset (4til0001) you&#039;ll see a similar black and white duplicate section on the right side.  This is also used to show what parts of the tiles are going to be shown in-game.&lt;br /&gt;
&lt;br /&gt;
* The height and width of images must be multiples of 8 (although some of the original images do not follow this rule).&lt;br /&gt;
&lt;br /&gt;
* Changing the size of an enemy will affect how it spawns and the &#039;hitbox&#039; area it uses to interact with the environment and with keen.&lt;br /&gt;
&lt;br /&gt;
* You cannot change the size of the tilesets.&lt;br /&gt;
&lt;br /&gt;
* Tiles are made up of a 16 by 16 area of pixels.&lt;br /&gt;
&lt;br /&gt;
* The image that displays in the scrolling story (for Keen 4 this is 4bmp0102.bmp) is limited in palette colors.  The colors availible can be changed with patching.&lt;br /&gt;
&lt;br /&gt;
=== Hitboxes ===&lt;br /&gt;
In keen galaxy, hitboxes are invisible rectangular areas used for telling a sprite how to interact with the environment or with Keen.  For a point item, the hitbox is the area keen must touch to collect the item.  For an enemy, it is the area of the enemy that will touch the ground and touch keen.  For Keen himself, its the area he can interact with platforms, enemies, and other objects.&lt;br /&gt;
&lt;br /&gt;
To edit the hitboxes, open 4sprites.txt.  This can be a complex, difficult process that often falls to trial and error. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll use Keen&#039;s left facing standing frame as an example.  The image name for this is 4spr0006.  So in 4sprites.txt, look for item 6.  It will look like this: &lt;br /&gt;
&lt;br /&gt;
 6: [4, 0, 19, 31], [0, 0], 4.  &lt;br /&gt;
 &lt;br /&gt;
The first set of brackets controls the hitbox.  The first set of numbers are x and y coordinates for the top left corner of the image.  These are measured from the top left of the image (4 pixels across and 0 down).  The next coordinates are for the bottom right of the hitbox.  These are also measured from the top left corner of the image (19 pixels across and 31 down).  Notice that even though the image is actually 32 pixels high, the hitbox is designed to be 1 pixel away from the bottom.  This is important for any sprite that needs to move on a platform.&lt;br /&gt;
&lt;br /&gt;
The second set of brackets are coordinates that have to do with where a sprite image appears ingame relative to where it is placed in the level editor.  In the example of the Keen sprite, these are 0,0.  Its usually easiest to leave these at 0,0, but if you use a sprite that changes frame size over the course of its animation, or a sprite intended to float above the ground, you may want to experiment with this.  The first value is an X coordinate and will determine how far to the right or left the sprite is placed.  The second value is a Y coordinate which determines how far up or down the sprite is placed.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you&#039;ve modded an enemy and it is stuck in the ground or in the air, you&#039;ll want to edit the Y value to bring the hitbox even with the ground.&lt;br /&gt;
&lt;br /&gt;
The last value is not a coordinate but has to do with animation frame rate.  In the example of Keen, this value is 4.  This value varies from 1, 2, and 4.This determines how &#039;smooth&#039; the frames in a series animate, 4 being the smoothest, 2 medium, and 1 low.  The smoother the animation, the more memory will be used in the level.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Use the 4 value sparingly to avoid memory issues and game crashes.&lt;br /&gt;
&lt;br /&gt;
== Texts ==&lt;br /&gt;
You&#039;ll find a number of text files in your BMP folder.  You can edit these with notepad or a similar application.  These files include the help sections, the story, and the end-game story.  These files employ a formatting code:&lt;br /&gt;
&lt;br /&gt;
* ^P means &amp;quot;new page&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* ^G followed by a series of numbers is for a graphic image.  The first two numbers are x and y coordinates for where the image will be located.  The last number specifies the image used.  These images numbers don&#039;t match up with the image numbers in your graphics folder, so you&#039;ll want to do some experimenting to get the right one.&lt;br /&gt;
&lt;br /&gt;
There are specific codes for changing the color of text, but this list is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
There is also a specific code for creating &#039;timed&#039; images which will animate based on a timer, but this is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
= Importing Graphics and Texts =&lt;br /&gt;
To import your graphics, go back to your command prompt and type in the same address as previously, but you&#039;ll change the command to import this time:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -import -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You may need to drag and drop modkeen onto dosbox and then type this command.&lt;br /&gt;
&lt;br /&gt;
If you get the done message, you&#039;ve imported successfully, however, you can&#039;t try out your new graphics until after creating a patch file and corresponding batch file, which is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
= Patch File and Batch File = &lt;br /&gt;
&lt;br /&gt;
Your patch file is used to access all the edited content in your mod. It&#039;s what allows you to have new graphics, new tile properties, new levels, new music, new text, new enemy behaviors, etc.  It also allows you to change the &#039;rules&#039; of the game in certain ways (although there are limitations).&lt;br /&gt;
&lt;br /&gt;
If you look in your &amp;quot;keen4mod&amp;quot; folder, you will notice that Modkeen has generated a patch file for you called &amp;quot;keen4.pat&amp;quot;.  You will want to rename this so that it isn&#039;t overwritten in the future.  Locate Keen4.pat and rename it to something like &amp;quot;mymod.pat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can also create a patch file from scratch.  To do this, create a new .txt file called &amp;quot;mymod&amp;quot;.  Open the file and save as &amp;quot;mymod.pat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section. You should now have a &amp;quot;mymod.pat&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
Your batch file is what you&#039;ll use from now on to play your mod.  To create a batch file, first create a new text document and name it whatever you want.  In this example we&#039;ll use &amp;quot;Play&amp;quot;.  In the text file, type: ck4patch mymod.pat&lt;br /&gt;
&lt;br /&gt;
Now, go to &#039;file&#039; and save as &amp;quot;Play.bat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;Play.bat&amp;quot; to make sure your mod is working.  If you see your modified graphics and/or texts, it works!&lt;br /&gt;
&lt;br /&gt;
== Patching Basics ==&lt;br /&gt;
After you&#039;ve made sure Play.bat runs fine, open up mymod.pat with a text editor.&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
 ext ck4&lt;br /&gt;
 version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what each line means: &lt;br /&gt;
&lt;br /&gt;
* The first two lines mark the beginning of your patch file.&lt;br /&gt;
&lt;br /&gt;
* The # symbol indicates a comment.  Any line preceded by a # will be skipped over and allows you to include notes in your patch file.&lt;br /&gt;
&lt;br /&gt;
* %egahead EGAHEAD.CK4 is what tells the game to use your new graphics.&lt;br /&gt;
&lt;br /&gt;
* %end will mark the end of your patch file.  Anything that appears after this will not be read by the game, so make sure that any patches you add to this file are included before this line.&lt;br /&gt;
&lt;br /&gt;
You can find all kinds of patches on the [http://www.keenmodding.org/ Keen Modding Forum] as well as make specific requests.  Additionally, your can run [[The Neural Stunner]] to generate some easy patches, or dig through the patch files of existing mods.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example patch that makes bounders unkillable:&lt;br /&gt;
&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
&lt;br /&gt;
Now add it to the patch file and also add a comment explaining what it does.&lt;br /&gt;
&lt;br /&gt;
 %ext ck4&lt;br /&gt;
 %version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 #Make bounders unkillable&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Now save your patch file and run Play.bat.  Bounders should now be unkillable!&lt;br /&gt;
&lt;br /&gt;
= Tile Properties =&lt;br /&gt;
Go to your &amp;quot;Tools&amp;quot; folder and go into your ckD456tli folder.  Copy the Keen4.tli file into your &amp;quot;keen4mod&amp;quot; folder.  Then go to your patchfile and add the patch that corresponds to your modded episode below:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $249C2 keen4.tli&lt;br /&gt;
 %patchfile $25B22 keen5.tli &lt;br /&gt;
 %patchfile $25212 keen6.tli&lt;br /&gt;
&lt;br /&gt;
Now run CkD456tli.  The first item the program asks you for is the file which you just copied to your &amp;quot;keen4mod&amp;quot; folder.  Locate and select it.  Next, go into the BMP folder and select the background tileset, and after that select the foreground tileset.&lt;br /&gt;
&lt;br /&gt;
You&#039;re now in the editing menu.&lt;br /&gt;
&lt;br /&gt;
On the left side you can see the background tiles.  The properties in that tileset are limited: either a tile can animate or have no properties.  If a tile animates, the next tile in the animation sequence is outlined in a double red border. Note that tiles can only animate up to 128 tiles before or after any given tile, so try to keep tiles that animate near each other. &lt;br /&gt;
&lt;br /&gt;
To animate a tile, select the first tile in the animation sequence.  Next, right click the tile that should appear next in the sequence.  Now left click that new tile and select the tile it will animate to next.  Make sure the last tile in this sequence animates back to the original tile.  Now go back and add animation times to each tile.  By moving the scrollbar, you can change the amount of time spent on the tile while animating (0 to 255 time units).&lt;br /&gt;
&lt;br /&gt;
If a tile animates that you don&#039;t want to animate, right click the original tile.  You will need to repeat this step for each tile in the animation sequence.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Reducing the scroll bar to zero will NOT prevent the tile from animating and will instead cause the game to crash&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After disabling a tile from animating, it is not necessary to reduce its value in the scroll bar to zero, although this is recommended to avoid future errors when editing.&lt;br /&gt;
&lt;br /&gt;
On the right side is the foreground tiles.  For foreground tiles, you can also edit the animation properties (and they work the same way), but there are several other properties you can edit as well. Above the enlarged pictures of the tile and its mask is a dropdown menu where you can select the properties of the top of the tile. Similarly, the dropdown menu below lets you select the properties of the bottom of the tile. Pushing in the buttons on either side signify that Keen (and other sprites) cannot enter the tile from that side, making it solid. (Note that these are almost always set or cleared together. One-way tiles do not work as well in Keens 4, 5, and 6 as they do in Keens 1, 2, and 3).  Off to the right is another dropdown menu, which lets you change special properties of the tile. Lastly, when the &amp;quot;FRONT&amp;quot; button is pushed in, it means that the tile appears in front of Keen and other sprites rather than behind them. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: There are some exceptions where foreground tiles that animate have their animation value set to zero.  This includes: Key-gem doors and and flag holders.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished editing, click save. &lt;br /&gt;
&lt;br /&gt;
= Level Editing =&lt;br /&gt;
Before getting into special instructions for each editor, some general knowledge about how Keen Galaxy levels work is needed.&lt;br /&gt;
&lt;br /&gt;
Keen 4, 5, and 6 levels consist of three layers of tiles: the background, foreground, and info layers. The background is just there to add color to the scene; Keen and the enemies don&#039;t interact with it. The foreground layer contains tiles that Keen interacts with: platforms, point items, doors, secret passages, and so on (note that many tiles in the foreground layer actually appear behind Keen, but they are not considered &#039;background tiles&#039;). Finally, the info layer contains information about sprites and special features such as switches, doors, bridges and so on. When level editing, you will generally work with only one layer at a time, although all three may be visible at once (layers can be toggled).&lt;br /&gt;
&lt;br /&gt;
In keen 4, 5, and 6, the world map is built primarily from background tiles which do no have solid properties.  Instead, special &#039;invisible&#039; tiles are placed from the foreground tilset on the world map to block Keen&#039;s path.  These can be difficult to figure out.  Check tile properties with ckD456tli to figure out what is what and then edit the invisible tiles to have visual cues for placement (they can be made invisible again later).  Alternatively, you can use foreground tiles to build the world map (although this will use more memory).&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy levels have a rectangular border of 2 tiles.  Borders should be filled with solid tiles with some exceptions.  To create a level exit, leave the border empty where you want Keen to exit.  Keen cannot exit out the top or bottom of the screen (Keen will die on the screen bottom and Keen will glitch on the screen top).&lt;br /&gt;
&lt;br /&gt;
Point items can be placed as both sprites or as tiles.  It is important to place as many point items as tiles as possible to avoid memory issues.  A good rule of thumb is to only place sprite items on foreground tiles.&lt;br /&gt;
&lt;br /&gt;
Included below are general instructions for Ted5 (Sections written by Levellass and Adurdin, edited by Ceilick), Keen: Next (Written by Ceilick), and The Omegamatic (Written by Mink and edited by Ceilick).&lt;br /&gt;
&lt;br /&gt;
== Ted5 ==&lt;br /&gt;
=== Setting up Ted5 ===&lt;br /&gt;
Download and unzip ted5 into your &amp;quot;keen4mod&amp;quot; folder.  &lt;br /&gt;
&lt;br /&gt;
1. Look for the file Egahead.ck4.  Rename this file Egahead.ren.&lt;br /&gt;
&lt;br /&gt;
2. Run Tedsetup.&lt;br /&gt;
&lt;br /&gt;
3. Tedsetup will generate a new Egahead.ck4.  Delete this file.  Now Rename Egahead.ren to Egahead.ck4.&lt;br /&gt;
&lt;br /&gt;
This is the only time you will need to run tedsetup and follow the above steps.&lt;br /&gt;
&lt;br /&gt;
You will probably need dosbox to run Ted5.  Just drag and drop the ted5.exe onto your dosbox icon.&lt;br /&gt;
&lt;br /&gt;
=== The Interface ===&lt;br /&gt;
After dismissing the welcome screen, the first thing you will want to do is press F9, or click the &amp;quot;?&amp;quot; tab and select &amp;quot;Video Mode Switch&amp;quot;. That will cause TED to run in 640x480 mode, giving you more space to work with. You can switch to the low resolution mode again anytime you want to make sure how much of the level is going to be displayed on the in-game screen at once. &lt;br /&gt;
&lt;br /&gt;
At the bottom of the screen, you will see the Info Bar. From the far left to right, it displays: &lt;br /&gt;
&lt;br /&gt;
* Selected Background tile. &lt;br /&gt;
* Selected Foreground tile. &lt;br /&gt;
* Selected Sprite Icon. &lt;br /&gt;
&lt;br /&gt;
These items display the icon as a graphic, followed by the tile number in hexadecimal (like $00AE) and decimal (174). Clicking on any of them will bring up the tiles palette so you can select a new one. &lt;br /&gt;
&lt;br /&gt;
Next appears the name of the level.  This name is used only in Ted5, it does not affect the level name in-game.&lt;br /&gt;
&lt;br /&gt;
Next appears: Active layers (B, F, I) &lt;br /&gt;
* B: Background Tiles&lt;br /&gt;
* F: Foreground Tiles&lt;br /&gt;
* I: Sprite Icon, door/switch coordinates&lt;br /&gt;
&lt;br /&gt;
The letter indicates the layer where you will be adding new tiles to. You can select more than one and the selected tiles will all be placed, however, it is recommended that you work only one layer at a time. &lt;br /&gt;
&lt;br /&gt;
Next appears: Visible layers (b, f, i) &lt;br /&gt;
This tells you which layers are being toggled.  You can toggle layers with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
When a layer is turned off you cannot place items in it by mistake. This allows you&lt;br /&gt;
 to take a closer look at a specific layer to make sure everything is placed correctly. &lt;br /&gt;
&lt;br /&gt;
Lastly, on the bottom far right: Cursor location (X, Y) &lt;br /&gt;
This gives you the tile coordinates at a specific spot on the map.  This will also be given in both decimal and hexadecimal numbers. You will need those numbers in order to have switch that activate lifts, doors leading to other places, toggling bridges, and more. &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
By default, TED5 will load the world map for the game. In order to switch to another map, you will need to click the File menu and select Edit New Map. You will then be able to select any of the maps in the game. For this example, pick Slug Village. &lt;br /&gt;
&lt;br /&gt;
You can use the arrow keys to scroll the level around.&lt;br /&gt;
&lt;br /&gt;
You can toggle which type of tile to place (background, foreground, sprite icon) by pressing the 1, 2 or 3 keys.  Note for each type of tile, you will need to press the number key to activate it and the same key again to deactivate it before using a different tile type.&lt;br /&gt;
&lt;br /&gt;
Adding new tiles to the level is as simple left-clicking. The currently selected tiles will be placed in all active layers. You can select tiles in three ways: Clicking the tile icon to the left of the Info Bar, pressing the space bar to bring up the tile set, or right-clicking an existing tile. &lt;br /&gt;
&lt;br /&gt;
Right-clicking an existing tile will switch all the active tiles to the ones in the active layers. This means, if you only have the Icon layer active, right-clicking a tile with a slug will only select the slug; while if you have all three layers active, it will select the slug, the Foreground tile, and the Background tile at that location. &lt;br /&gt;
&lt;br /&gt;
Once you have a basic level made, you&#039;ll want to add more advanced features like moving platforms, switches, bridges, doors, and so on. These are all done with links in the sprite icon layer. &lt;br /&gt;
&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A collapsing platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this, you need to place another blocking tile in the way of the platform between the other two. Make a note of the hexadecimal values of the location of the tile (the X and Y values beginning with $ at the right-hand side of the status bar). Now place a switch in an appropriate place, and link it to the blocking tile: Choose Misc, New INFOPLANE Value or press Enter, and type in a $ followed by the last two digits of the X and Y values you wrote down. Then click on the switch; this will place the link in the info plane, which will be shown as four digits. The switch will now turn the blocking tile off, to activate the platform.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use the infoplane to specify what levels your entrances will lead to.  To do this, go to Misc, New INFOPLANE Value, and type in a $ followed by one of the following: $C0xx is a link to level where xx is the level number in hexadecimal, not decimal), $D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and $F0xx is for the flag holder which corresponds to the level.  After entering your chosen value, you can then edit the info plane by left clicking.&lt;br /&gt;
&lt;br /&gt;
In the same way, you can link a switch to a bridge (link to the left-hand edge of the bridge), a gem-holder to a closed door (link to the top of the door), and a walk-in doorway to the place you walk out (link to where you want Keen&#039;s feet to end up after he enters the doorway). Note that if you create a link from a switch to a square with nothing in the info plane, that switch will turn a blocking tile on; also that you need to use a particular tile to make a walk-in door (find out by looking at an existing level).&lt;br /&gt;
&lt;br /&gt;
Another feature which makes Keen levels exciting is secret passages. Some foreground tiles allow Keen to walk behind them-these are suitable for secret passages. However, identifying which ones are like this and which ones are solid is difficult: I suggest examining some of the original levels and noting down the tile numbers of the &amp;quot;secret passage&amp;quot; tiles to keep track of them. When putting point items in a secret passage, you must use icons for them, rather than their foreground tiles. I suggest that you only place the &amp;quot;walk-behind&amp;quot; tiles in secret passages once the level is completed, so that while editing you can keep track of them more easily.&lt;br /&gt;
&lt;br /&gt;
Finally, some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks in the info layer to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are &lt;br /&gt;
used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
You can save your map at any time by going to the File menu and selecting Save Map; however, in order to actually play the level, you will need to Carmacize Maps.  While ted5 has an option to do this, it takes too long to do so.  The easiest method is to download InstantCarma and unzip the files into the folder with your maps.  After you save your map in ted5, just run InstantCarma.&lt;br /&gt;
&lt;br /&gt;
TEDSETUP creates an extra batch file (Go4.bat) and patch file (Patch4.pat) which you do not need if you open your existing patch file and add the line:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
&lt;br /&gt;
You only need to add this to your patch file once.  Then just run your batch file to try your level!&lt;br /&gt;
&lt;br /&gt;
=== Other Ted5 Features ===&lt;br /&gt;
&lt;br /&gt;
Grid Mode toggles the showing of a grid on the current level. This can help with placing tiles in the right positions. Turn this on or off from the Mode menu or by pressing G.&lt;br /&gt;
&lt;br /&gt;
Block Fill mode quickly fills a rectangular area with the currently selected tiles. Choose it from the Mode menu or press B, and click the left mouse button on the desired top-left corner, and the right button on the bottom-right corner, then press Enter to fill the area.&lt;br /&gt;
&lt;br /&gt;
Flood Fill mode will fill an area of one tile with the currently selected tiles. Choose it from the Mode menu or press F, then click in the desired location to fill.&lt;br /&gt;
&lt;br /&gt;
Copy Mode (also on the Mode menu, or press C) lets you select a rectangular set of tiles to copy so that you can duplicate them in another region easily. Select the area as for Block Fill mode, then press Enter.&lt;br /&gt;
&lt;br /&gt;
Paste Mode (you know where to find it) allows you to paste one or more copies of the tiles chosen with Copy Mode. Click with the left mouse button to place a copy. You can use the Paste Overlay option (on the Mode menu, or press F3) to toggle pasting of empty tiles. The Snap-Paste option (press S) toggles pasting copies just anywhere, or in a tessellated pattern. This is especially useful for &lt;br /&gt;
filling in the background of a level.&lt;br /&gt;
&lt;br /&gt;
You can change the size of a level with the &amp;quot;Change MAP Edges&amp;quot; option on the Edit menu. Select the edge you want to change, and enter a positive or negative number to add or remove rows from that edge.&lt;br /&gt;
&lt;br /&gt;
== Keen:Next ==&lt;br /&gt;
&lt;br /&gt;
=== Setting Up ===&lt;br /&gt;
Go to the keen 4 folder in Keen next and copy the tiles4.png file.  Paste this into your &amp;quot;keen4mod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit tiles4.png to include your edited graphics.  Be sure to save the file as .png.&lt;br /&gt;
&lt;br /&gt;
Go to your Keen:Next folder and run the kmaps application.  You may get an error message after running this, but this is not a problem, just click ok.&lt;br /&gt;
&lt;br /&gt;
When the editor opens, the first thing to do is go up to &#039;file&#039; then &#039;new&#039;.  A &#039;project properties&#039; window will appear.  Give your project a title (it doesn&#039;t matter what you name it) and then check the &amp;quot;keen project&amp;quot; box.  We&#039;ll be using Keen4, which is the default setting.  If you&#039;re planning to edit keen 5 or 6, just make sure to select those in the box next to &amp;quot;keen project&amp;quot;.  Next we need to choose the tileset.  In the image file section, go to &#039;browse&#039; and select the tileset you want to use (in this case, tiles4.png).  After all this, click &#039;ok&#039;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: you will have to do this each time you open the editor.&lt;br /&gt;
&lt;br /&gt;
Before editing levels, you must extract them in a way that Keen: Next can read them.  Go to &#039;file&#039;, then &#039;create keen files&#039;.  Browse to your &amp;quot;keen4mod&amp;quot; folder and select keen4.exe.  Your keen map files should now be created.   &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: this will not work if you have run tedsetup.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: You only have to do this once.&lt;br /&gt;
&lt;br /&gt;
=== The Interface and Tools ===&lt;br /&gt;
The tiles should load on the right side of editor menu.  You can adjust the tile menu width with the mouse by selecting the left edge.  You can scroll between the background and foreground tiles.&lt;br /&gt;
&lt;br /&gt;
In the upper left is a toolbar.  The default tile tool is the pencil/paintbrush.  You can click and place or click and drag to place tiles.  &lt;br /&gt;
&lt;br /&gt;
There is also a water dropper tool.  This is useful for selecting a tile currently on the map instead of looking for it in the tileset.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: the water dropper will &#039;pick up&#039; the tile from the tileset you&#039;re currently in; if you currently have a background tile selected and use the water dropper, it will pick up the background tile on the map.  If you want a foreground tile, scroll down in the tileset on the right and select one of  the foreground tiles, then use the water dropper on the map.&lt;br /&gt;
&lt;br /&gt;
I do not recommend using the paint can tool, since it is very buggy.&lt;br /&gt;
&lt;br /&gt;
The next tool can be used for selecting&lt;br /&gt;
 a rectangular area of the map.  This is useful for cutting a piece of the level and pasting it elsewhere (you will need to do this twice if you want to cut and paste both the background and foreground).  You can also create stamps this way. Just select an area and go to &amp;quot;selection&amp;quot; and then &amp;quot;create brush&amp;quot;.  A stamp of the area will now appear on the left.&lt;br /&gt;
&lt;br /&gt;
You can create stamps of a large area of tiles from the tileset also.  To do this, click the top left corner of the area of tiles you want in the tileset.  Then go to the bottom right corner of that area, while holding shift, and select that tile.  Doing this successfully will result in the stamp image appearing on the left side of the editor.  You can now use the paintbrush tool to place this stamp, and you can reselect this stamp at any time you&#039;re editing.  &lt;br /&gt;
&lt;br /&gt;
The next tool looks like a little cog.  This is used for placing doors, level entrances, switches, and key-gem holders.&lt;br /&gt;
&lt;br /&gt;
The last important tool has an icon that looks like an arachnut.  Click this to bring up the sprite menu.  This is used for placing enemies, points, and some other things.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
In addition to the tools, you can toggle the layers used in editing with the &#039;view&#039; tab and checking/unchecking layer 1 and layer 2.  Make sure that, in the &amp;quot;view&amp;quot; section, you have &#039;fade unused layers&#039; unchecked.  This makes level viewing easier.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: This is the buggiest part of Keen:Next and if you frequently toggle layers, glitches can ruin a lot of work put into a level.  Its usually best to leave both layers visible, or save your progress before toggling layers and then reload Keen: Next as soon as you finish the work that required toggling them.  &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
To begin editing, first load a map.  Go to &#039;file&#039;, then &#039;Import Keen Map&#039;.  In your &amp;quot;keen4mod&amp;quot; folder, select &#039;maphead.ck4&#039;.  You should now be presented with a &#039;map select&#039; box.  Choose the level you&#039;d like to edit.  Let&#039;s start with the shadowlands.&lt;br /&gt;
&lt;br /&gt;
The shadowlands map should now be loaded in the main editing area.  You&#039;ll notice little white icons that look like this (!).  These are the level sprites.  To place these, use the little cog tool up in the upper left (next to the rectangular area selector).  When this tool is used to click the map, you&#039;ll get an &#039;info plane&#039; box asking for an x and y coordinate.&lt;br /&gt;
&lt;br /&gt;
On the world map, this is how the coordinates work:&lt;br /&gt;
The x coordinate determines what kind of sprite is used.  An X of 192 designates the sprite as a level entrance.  Note: you cannot place a level entrance on a tile that appears over keen or on an animating tile.&lt;br /&gt;
&lt;br /&gt;
An x of 208 is a level block (like those used in the slug village); this sprite does not actually block keen, but is placed over a foreground tile that does.  When the level is beaten, this info number removes the foreground tile.  &lt;br /&gt;
&lt;br /&gt;
An x value of 240 is for the flag holders.&lt;br /&gt;
&lt;br /&gt;
Y coordinates only designate what level the sprite is associated with.  A Y of 1 will designate the level as level 1.&lt;br /&gt;
&lt;br /&gt;
To place sprites (enemies) in a level, go to the tools menu and click the little icon that looks like an arachnut.  The sprite menu should appear in place of the tileset.  To place a sprite, make sure you have the paintbrush icon selected, then click the sprite you want to place.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard.  You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  &lt;br /&gt;
&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere).  Next place a door (these are also foreground tiles) somewhere (anywhere).  When making the door, there are three door tiles: a bottom, middle, and top.  If you&#039;re making a door more than three tiles high, use the middle door piece for additional height.  Using your mouse, hold it over the top tile of the door.  In the lower left side of the editor, you&#039;ll notice that the map coordinates for this tile appear.  Memorize or write these down.  Now select the cog tool and then click your keygem holder.  Enter in the coordinates for your door.  You&#039;ve now got a working door.&lt;br /&gt;
&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map.  Now you must determine the coordinates.  Go to one of your doors and hold the mouse over the tile below the bottom left door tile (not on the bottom left door tile or keen will drop out of the air). Check the coordinates.  Then go to the door you want to connect to this spot and use  the cog tool and click the lower left door tile (the lower left door tile, not the one below it). Enter in the coordinates.  Do the same for the bottom right door tile.  Now this door is connected to the other, but you also need to check the coordinates at this door and add them to the tiles of the other door.&lt;br /&gt;
&lt;br /&gt;
To create a working switch, use the cog tool on a switch and use the coordinates for the thing you want the switch to affect.  For a bridge, get the coordinates of the top left bridge tile and put this in the info box for the switch.  For goplats (moving platforms), get the coordinates of a B sprite (these are sprites which goplats bounce off and then go in the other direction).  The switch will remove that sprite so the goplat can move.&lt;br /&gt;
&lt;br /&gt;
To resize a map, go to &amp;quot;edit&amp;quot; and &amp;quot;Resize map&amp;quot;.  Then select the new level boundaries and the side of the level which should be expanded or shrunk.&lt;br /&gt;
&lt;br /&gt;
Keen: Next has an infinite undo button.  Just go to &amp;quot;Edit&amp;quot; and click &amp;quot;Undo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Undo will work for everything except changes to the level boundaries.  Make sure you save before changing level boundaries!&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
When you&#039;re ready to save, go to &#039;file&#039;, then &#039;export keen map&#039;, then select &#039;maphead.ck4&#039;,  click yes, and reselect the level you want to save over and click ok.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: if you like, You can rename the level here before you click ok.  The name you choose will only appear in the editor, however, and not in the in-game text.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Do not click &#039;save&#039; or &#039;save as&#039;.  These options do not actually save the level to the game, but as files only Keen: Next can read.  Additionally, saving levels in this manner can cause Keen: Next to crash.&lt;br /&gt;
&lt;br /&gt;
After saving you can test your levels by adding this to your patch file:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 %gamemaps editmaps.ck4&lt;br /&gt;
&lt;br /&gt;
Then run your batch file and you&#039;re all set.&lt;br /&gt;
&lt;br /&gt;
== The Omegamatic ==&lt;br /&gt;
===Setting Up===&lt;br /&gt;
Run tom.exe and select the gamemaps.ck4 file.  You will then need to select your tilesets which you exported modkeen: 4til0000 and 4til0001.  After selecting these, if all goes well, the world map will open in TOM.&lt;br /&gt;
&lt;br /&gt;
===The Interface and Tools===&lt;br /&gt;
Tom features two different level editing styles: Ted5 and Keen:Next.  I highly recommend Keen:Next Mode and will only cover it in this tutorial.  To activate this go to settings and click &amp;quot;Keen:Next Mode&amp;quot;.  You will now see the tileset on the right side of the TOM window.&lt;br /&gt;
&lt;br /&gt;
In the bottom left of the window you will see three different boxes.  These boxes display the tile you pick from the tileset on the right of the window.  Each box displays from one of the three layers used in Keen:Galaxy: background tiles, foreground tiles, and sprite icons.  To change which tileset to work with, use the hotkeys 1, 2, and 3 to switch between the layers.&lt;br /&gt;
&lt;br /&gt;
To place a tile simply select the tile from the tileset with the left mouse button and click on the level where you want to place it with the left mouse button.  You can also right click a tile from the level to make it the active tile for placing, just like a water dropper tool.  To erase a tile you will need to right click an empty space in the level, which makes an empty tile the active tile, and then left click what you want to erase.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from within a level, press C and left click a corner of the area you want to select.  You should then left click the opposite corner of the area you want to select.  The selected area will have it&#039;s colors inverted until you select the size of the area.  You can then press P to paste the area you selected.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from the tileset, left click the top left tile of the area you want to select.  Then, while holding shift, left click the bottom right tile of the area you want to select.  Release shift and then you should be able to place the selected area in the level by left clicking.   &lt;br /&gt;
&lt;br /&gt;
You can scroll around the level with your mouse wheel or with the arrow keys.  You can zoom in and out in the &amp;quot;View&amp;quot; tab.  You can also toggle on and off which layers can be seen with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
To change the level you are editing go to &amp;quot;Levels&amp;quot; and select the level you want to edit.  You can rename levels by going to &amp;quot;File&amp;quot; and then &amp;quot;Rename This Level&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can resize a level by going to &amp;quot;Tools&amp;quot; and selecting either: Insert Row, Delete Row, Insert Column, or Delete Column.  After selecting on of these move your mouse around the level and you will see a highlighted area which will be affected by whichever option was chosen.  To disable any of these level adjustments just go back to &amp;quot;Tools&amp;quot; and uncheck it.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use sprites to specify what levels your entrances will lead to. To do this, first press 3 to activate the sprite icon layer.  Press enter once and a message box will come up with an infoplane number in hexideciaml.  Remove the number indicate and type one of the following: C0xx makes a level entrance where xx is the level number in hexadecimal, not decimal), D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and F0xx is for the flag holder which corresponds to the level. After entering your chosen value, you can then place the level entrance, gate, or flag sprite by left clicking.&lt;br /&gt;
&lt;br /&gt;
===Sprites and Enemies===&lt;br /&gt;
To place sprites and enemies in a level, press 3 to bring up the sprite tileset. You can place sprites like you would normally place a tile.  Some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard. You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  Sometimes there is a blank space before or after the order of sprites.  For example, the blue bird from keen 4 doesn&#039;t have a sprite icon for easy mode, however, it does have a blank tile where the easy mode icon would normally go.  This blank tile can be placed to place a blue bird on easy.  This works similarly for other enemies in this situation.&lt;br /&gt;
&lt;br /&gt;
===Secret Passages===&lt;br /&gt;
Some foreground tiles have properties that allow Keen to walk behind them; these are secret passages.  To make these you will need to identify which tiles have the correct foreground but not blocking properties.  I suggest examining some of the original levels and noting down which tiles are used for the secret passages.  You can also identify them with the CKD456tli utility. When putting point items in a secret passage, you must use points from the sprite list rather than the foreground tile points.&lt;br /&gt;
&lt;br /&gt;
===Moving Platforms===&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform sprite icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A falling platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
===Switches for goplats===&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this you will need to place another blocking tile in the way of the platform between the other two. After placing the blocking tile, hold the mouse over it and press enter two times.  This will give you the hexidecimal coordinates which you will place on the corresponding switch.  The switch will now turn the blocking tile off thus activating the platform.&lt;br /&gt;
&lt;br /&gt;
===Switches for bridges===&lt;br /&gt;
To create a switch for bridges, first build the bridge using the bridge tiles.  Then hold your mouse over the top left tile of the bridge and press enter twice to get the hexidecimal sprite value.  Place this sprite on the switch you want to activate the bridge with.  If you want the bridge to begin already opened, you will need to locate the invisible bridge tiles and place these where the bridge will be located, otherwise no bridge will appear.  To find these either locate them in existing levels with open bridges or use ckd456tli.&lt;br /&gt;
&lt;br /&gt;
===Key Gem Doors===&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere). Next place a door (these are also foreground tiles) somewhere (anywhere). When making the door, there are three door tiles: a bottom, middle, and top. If you&#039;re making a door more than three tiles high, use the middle door piece for additional height. Using your mouse, hold it over the top tile of the door and press enter twice.  Place the sprite that this gives you on the gem holder.&lt;br /&gt;
&lt;br /&gt;
===Doors===&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map. Then hold the mouse over bottom left or right of the first door and press enter twice.  This gives you a sprite which you should place on the bottom of the second door you want connected to the first door.  After placing the sprites at the bottom of the second door, you will need to press enter twice at the bottom of this second door and place the sprites on the first door in the same way.&lt;br /&gt;
&lt;br /&gt;
===Scroll Blocks===&lt;br /&gt;
Some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks from the sprite menu to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
To save your progress go to &amp;quot;File&amp;quot; and then &amp;quot;Save all Levels&amp;quot;.  This will immediately save all your levels.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
After saving you can test your levels by adding this to your patch file: &lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 &lt;br /&gt;
Then run your batch file. &lt;br /&gt;
&lt;br /&gt;
== General Level Editing Issues ==&lt;br /&gt;
If there are too many sprites in a level you will get the error &#039;No space left in objarray&#039;; the game has run out of memory to store sprites. This usually occurs at the level start. To fix this, remove sprites from your level.  When placing sprites, keep in mind that the more variety of enemies you use, the more memory is used up and the larger the sprite and the more frames it has, the more memory it uses.  Also, when trying to save memory, check your points items: these exist both as tiles and sprites (try to use tile points whenever possible).&lt;br /&gt;
&lt;br /&gt;
If you have too many different types of tiles (Background and foreground) then you will get the error &#039;No space left in tilearray&#039;; this means that the game does not have enough memory to store all your different tile types. Foreground tiles use 8x the memory of background tiles. You shouldn&#039;t have more than about 400 tile types total (Background and foreground) in a level, usually 100 back and 300 fore.  Additionally, animating tiles with many frames can increase your tile count drastically.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: I have never had this error before and imagine it would be difficult to attain, so don&#039;t be worried about using too much until you get this error.&lt;br /&gt;
&lt;br /&gt;
You cannot have more than 20 actively animating tiles on-screen at any one time, this includes item tiles. This will cause an anim tile error. (Not enough memory to animate all these tiles.)  &lt;br /&gt;
&lt;br /&gt;
Note:  This was a major problem in designing the Lava Falls in [[Dead in the Desert]], so be careful when it comes to animating tiles.&lt;br /&gt;
&lt;br /&gt;
If a level is &#039;too large&#039; for its music file, the error &#039;Not enough memory to play background music!&#039; will occur. This is an indication of either large levels or large music files. To reduce this error, either make your level smaller or change the music to a smaller file. &lt;br /&gt;
&lt;br /&gt;
If you see static gibberish instead of an animation while testing your level, then you have placed an animating background over an animating foreground. For memory reasons this is not allowed.  Similarly, a sprite cannot be placed on top of an animating tile.  This will crash the game.&lt;br /&gt;
&lt;br /&gt;
= Music and Sounds= &lt;br /&gt;
Copy Keenwave.exe into your &amp;quot;keen4mod&amp;quot; folder.  Run Keenwave and it will generate an IDWAVE text file.  Create a folder called &amp;quot;sounds&amp;quot;.  Open IDwave.txt and add this line:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -export=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave by dragging and dropping it onto dosbox.&lt;br /&gt;
&lt;br /&gt;
Now look in your sounds folder.  Here you will see a number of sound files and a few music files (IMF files) at the bottom.  To change these, just replace the sounds with new file (they must be the same format, for music this is IMF).  Sound effects can be created and modified using WDC.  You can create IMF files by converting midi files with IMF Creator.&lt;br /&gt;
&lt;br /&gt;
After changing the sounds or songs, go back to IDWAVE.txt and change the command to:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -import=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave.&lt;br /&gt;
&lt;br /&gt;
Now open your patch file and include the lines that apply to the episode you&#039;re modding:&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 4:&lt;br /&gt;
 %patchfile $20DF0 AUDIOHED.CK4	#Audio header&lt;br /&gt;
 %patchfile $354F6 AUDIODCT.CK4	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 5:&lt;br /&gt;
 %patchfile $21C80 AUDIOHED.CK5	#Audio header&lt;br /&gt;
 %patchfile $35EC4 AUDIODCT.CK5	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 6:&lt;br /&gt;
 %patchfile $20C50 &amp;quot;AUDIOHED.CK6&amp;quot;           #Audio header&lt;br /&gt;
 %patchfile $36EEE &amp;quot;AUDIODCT.CK6&amp;quot;           #Audio dictionary &lt;br /&gt;
&lt;br /&gt;
== Creating and Editing Sound Effects ==&lt;br /&gt;
&lt;br /&gt;
Begin by installing WDC to your tools folder.  Once this is commplete, go to the new WDC folder and create three new folders inside: &amp;quot;Keen4input&amp;quot;, &amp;quot;Keen4output&amp;quot;, and &amp;quot;KeenSounds&amp;quot;.  You should then copy a clean version of Keen 4 into the &amp;quot;Keen4input folder&amp;quot;, specfically the files: Audio.ck4, Egagraph.ck4, Gamemaps.ck4, and Keen4e.exe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Make sure this version of the keen4e.exe has NOT been unlzexed.&lt;br /&gt;
&lt;br /&gt;
Now run WDC.exe.  After is loads, go to &amp;quot;File&amp;quot; then &amp;quot;New Project&amp;quot;.  WDC will then ask you to name the project and save the project file; name it &amp;quot;keen4project&amp;quot; and save it to you WDC folder.&lt;br /&gt;
&lt;br /&gt;
WDC will then bring up a window with several options.  Under &amp;quot;Base Data Folder&amp;quot; select your folder &amp;quot;keen4input&amp;quot;.  You will then get a &amp;quot;no map code file&amp;quot; alert.  When this occurs, select &amp;quot;User Other&amp;quot; and then select &amp;quot;blank.wmc&amp;quot;.  Under &amp;quot;Output Folder&amp;quot; select your folder &amp;quot;keen4output&amp;quot;.  On the left side you will see a small menu, select &amp;quot;Other Options&amp;quot; and then check the box for &amp;quot;Use Tile16s for maps, if they exist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You should now see the Keen 4 world map.  You&#039;ll be using only one part of WDC, however, so go to &amp;quot;View&amp;quot; and select either &amp;quot;PC Sounds&amp;quot; or &amp;quot;Adlib Sounds&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
WDC will then load the list of sounds for that category.  You can sample each sound by clicking it.  Playback controls are located in the upper right.  To edit a sound, click the small hammer icon in the lower right.  WDC will then ask you where you want to save the file.  Navigate to your &amp;quot;keensounds&amp;quot; folder.  Name the sound in such a way that you can remember what it is: &amp;quot;slugslime&amp;quot;, &amp;quot;jump&amp;quot;, &amp;quot;item&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
WDC will then load it&#039;s sound editor.  There are various tabs for effecting how the sound is played, and the main area allows you to use your mouse and &#039;draw&#039; the sound.  Sound editing is a complex task and the only real advice I can offer is to just play around in the editor and save sounds that you find good or interesting.  &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve saved some sounds, you&#039;ll want to swap these into your mod.  To do so you&#039;ll first need to locate the original sound file you want to replace in the &amp;quot;sounds&amp;quot; folder you created when setting up Keenwave.  You can do this by listening and finding the sound you want to replace in WDC and then locating the corresponding number in the sounds folder.  This is easy for PC speaker sounds, but since Keenwave doesn&#039;t seperate the PC speaker sounds from the adlib, you&#039;ll have to locate the last PC Speaker sound and then begin counting again from 1 in order to match the adlib sound list in WDC to that in your sounds folder.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve located the original sound you want to swap out, copy it&#039;s name to your new sound and then replace the file.  Then run Keenwave to import your new sound effect.&lt;br /&gt;
&lt;br /&gt;
== Working with the IMF Format ==&lt;br /&gt;
In IMFCreator, go to the &amp;quot;options&amp;quot; menu and set the tics/sec to 560.  This will make your songs convert at the correct tempo.&lt;br /&gt;
&lt;br /&gt;
The following, excluding the tip from thehackercat, is written by Mr. M for PCKF/KeenModding: &lt;br /&gt;
&lt;br /&gt;
Compose your music using your choice of software. As long as it outputs standard General MIDI files, you should be good to go.&lt;br /&gt;
&lt;br /&gt;
Please read and get an understanding of the [http://www.shikadi.net/moddingwiki/IMF_Format IMF specs]. &lt;br /&gt;
&lt;br /&gt;
Tip From Thehackercat:&lt;br /&gt;
For those of you using a sheet-music editor such as Finale: You may write two or more parts for one instrument. Keep inside the required 4-note polyphony, but don&#039;t be shy about using layered parts and chords, especially on piano staves.&lt;br /&gt;
&lt;br /&gt;
Tips From Mr. M:&lt;br /&gt;
&lt;br /&gt;
(1) IMFCreator seems to interpret MIDI note velocities. If your instrument track is too quiet *and* it is set to maximum volume, try manually adjusting the note velocites to be higher. I know that FLStudio is capable of doing this; I&#039;m sure other studio software packages are capable of this, too. If the volume of the track is too loud after making your note velocities higher, turn down the volume of that track.&lt;br /&gt;
&lt;br /&gt;
(2)  Keep percussion parts as simple as possible. It impedes the maximum polyphony limits that can be utilized by other parts. Simply put, you can write more complex parts that use this structure:&lt;br /&gt;
&lt;br /&gt;
 [SIMPLE/NO PERCUSSION]+[BASS LINE]+[CHORDS]+[CHORDS?]+[LEAD]&lt;br /&gt;
&lt;br /&gt;
The number of dropped notes, if any, in IMFCreater is almost unnoticeable if you adhere to this formula. I&#039;ve been able to push the IMF format to it&#039;s limits by doing this.&lt;br /&gt;
&lt;br /&gt;
As Thehackercat stated, don&#039;t be shy about using chords and complex structures -- especially if your percussion line is nonexistent or very simple.&lt;br /&gt;
&lt;br /&gt;
(3)  Try not to use too many midi tracks, *especially* if they are all simultaneous. Too many midi tracks results in dropped notes (ie- parts drop out randomly *and* inconsistently), and songs that exceed the filesize limits. I personally only need 4-8 tracks, counting percussion, to acheive the sound that I get in my work.&lt;br /&gt;
&lt;br /&gt;
(4)  On the subject of percussion: To circumvent the polyphony limit that gets imposed when you use percussion parts, try using normal instruments played outside their normal range. Then in IMFCreator, tweak the patches you used by adjusting all the possible paramaters until you acheive the desired percussive sound. It may not work all the time, but it should do the trick in most cases. (Credit for this tip goes to [[Bobby Prince]])&lt;br /&gt;
&lt;br /&gt;
(5)  On the topic of modding instrument patches: Don&#039;t be afraid to tweak patches! It&#039;s under the &#039;EDIT&#039; -&amp;gt; &#039;Instrument&#039; (or press CTRL+I) menu. You can edit how all the instruments sound. All of them {including percussion). Distortion guitar not distorted enough? No problem. Pad not airy enough for you? Bass drum not punchy enough, or the hi-hat not sharp enough for you? No problems there. See the help menus for the specifics of how the patch parameters are edited.&lt;br /&gt;
&lt;br /&gt;
When I do this, I make a patch set for each specific song. When you close the instrument editor, you are prompted to save changes. Do so, and save the .OP2 file that is generated as something *other* than GENMIDI.OP2 (I like to save it by song title for easy reference). Keep the original GENMIDI.OP2 file as a base set. &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve tweaked the patches to your liking and saved your new .OP2 file, stop any playback of the song you&#039;re previewing. Under &#039;OPTIONS&#039; and &#039;OP2 File:&#039; you can choose the OP2 file that has the modded patches you created. Press play and listen to your new instruments!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After editing an .OP2 file/patch set, you MUST stop and re-start playback of your song for the changes to take effect&lt;br /&gt;
&lt;br /&gt;
(6)  Be careful with pitchbends in your music. IMFCreator tends to overexaggerate them if the pitchbend scale and thresholds arent set properly. There&#039;s no ONE configuration for them; best bet is to tinker with them until you get a desireable sound. Remember: Lower numbers mean higher pitchbend scale! &lt;br /&gt;
&lt;br /&gt;
As with editing the patch set, you MUST stop and re-start playback of your song for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
= Loading Window =&lt;br /&gt;
Go to your graphics folder and look for the file 4msc0000.bin.  Copy this to your keenscr folder.&lt;br /&gt;
&lt;br /&gt;
Go to commander prompt and navigate to your keenscr folder and then type: &lt;br /&gt;
 &lt;br /&gt;
 keenscr load&lt;br /&gt;
&lt;br /&gt;
TheDraw will immediately start editing the screen, with the filename keenscr.bin. &lt;br /&gt;
&lt;br /&gt;
Alt+H will display the help screen with all the commands that TheDraw supports; however, its basic use is extremely simple. Use the arrow keys or mouse to select where you want to enter text, then type it in. By default, it uses bright white color over black color; you can copy a color straight from the screen by placing the cursor over any character and pressing Alt+U, and it will use that color as you type. &lt;br /&gt;
&lt;br /&gt;
You can use Alt+M to enter drawing mode, where you can use the cursor keys or the mouse to draw on the screen; you should enable Draw mode with the cursor in the place where you want to start drawing, as it will start immediately. Alt+F1 to Alt+F4 will give you different line styles for Draw mode. &lt;br /&gt;
&lt;br /&gt;
Once you are done editing the screen, you can save it by pressing Alt+S. TheDraw will ask which format to save it in; press B to select Binary, and enter the filename keenscr.bin. It&#039;s important that you keep this filename (overwriting the existing one).  After you exit TheDraw and KeenScr notifies you that the file has been updated.  &lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  You must also copy ck4load into your &amp;quot;mymod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include the patch for the respective episode:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1fe47 ck4load.bin &lt;br /&gt;
 %patchfile $20cd7 ck5load.bin &lt;br /&gt;
 %patchfile $1fca7 ck6load.bin &lt;br /&gt;
&lt;br /&gt;
You can also edit the exit screen by going to the command prompt and typing: keenscr 4&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done,  save it as keenscr.bin overwriting the generated file. You must save it in Binary format when TheDraw asks.&lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  &lt;br /&gt;
&lt;br /&gt;
= Scrolling Text =&lt;br /&gt;
Run Startext.  The controls are listed.  Select your episode of choice and then select edit scrolling story.  Type your story as you want it, making sure not to go over the space limit or under it (the original story will appear at the bottom of your story if you do).  Press enter.&lt;br /&gt;
&lt;br /&gt;
Copy story.ck4 into your &amp;quot;mymods&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include one of the following:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1EE40 &amp;quot;STORY.CK4&amp;quot;&lt;br /&gt;
 %patchfile $1FDE0 &amp;quot;STORY.CK5&amp;quot;&lt;br /&gt;
 %patchfile $1ED50 &amp;quot;STORY.CK6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Credits For This Tutorial =&lt;br /&gt;
* Written and Assembled by [[User:Ceilick|Ceilick]]&lt;br /&gt;
* Selections of [[User:Levellass|Levellass&#039;]] [[TED5|TED5 Tutorial]]&lt;br /&gt;
* Selections of [[Andrew Durdin|Andrew Durdin&#039;s]] [http://www.dosclassics.com/ckn/newsletter/issues/2002-03-01.txt|TED5 Tutorial]&lt;br /&gt;
* Selections of [[User:CK Guy|CK Guy&#039;s]] ck456tli readme&lt;br /&gt;
* Selections of [[User:Mink|Mink&#039;s]] The Omegamatic readme&lt;br /&gt;
* Selections of [[User:Leandrotlz|Leandrotlz&#039;s]] [[TheDraw|The Draw/Keenscr tutorial]]&lt;br /&gt;
* [[User:Shadow Master|Shadowmaster&#039;s]] [http://www.keenmodding.org/viewtopic.php?t=899 findings] for getting ted5 to work with modkeen 2.0&lt;br /&gt;
* [[User:Mr.M|_mr_m_&#039;s]] IMF guide&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&amp;quot;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Galaxy_Tools&amp;diff=25601</id>
		<title>Galaxy Tools</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Galaxy_Tools&amp;diff=25601"/>
		<updated>2014-04-16T19:30:39Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Removed blank &amp;quot;External links&amp;quot;, gave more realistic example in &amp;quot;Game Editing&amp;quot; header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Game Editing ==&lt;br /&gt;
&lt;br /&gt;
This section is organised by category.  If an editor supports more than one type of editing (such as graphics editing and sound editing) it will be listed under both sections.&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[TED5]]&lt;br /&gt;
* [[Keen: Next (level editor)|Keen: Next]]&lt;br /&gt;
* [[The Photachyon Transceiver]]&lt;br /&gt;
* [[The Omegamatic]]&lt;br /&gt;
* [[Abiathar]]&lt;br /&gt;
&lt;br /&gt;
=== Graphics Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[EModKeen]]/[[LModKeen]]&lt;br /&gt;
* [[ModKeen]]&lt;br /&gt;
* [[Keengraph]]&lt;br /&gt;
&lt;br /&gt;
=== Sound Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[KeenWave]] A program to import\export sounds and music, currently a beta, comes with an adlib sound player.&lt;br /&gt;
&lt;br /&gt;
=== Music Editors ===&lt;br /&gt;
&lt;br /&gt;
* [http://adplug.sourceforge.net AdPlug] - standalone DOS program and a Winamp / XMMS plugin for playing Keen&#039;s IMF music.&lt;br /&gt;
* [[IMF2MIDI]] - program to convert IMF songs into MIDI files.&lt;br /&gt;
* [[DRO2MIDI]] - improved program based on IMF2MIDI&lt;br /&gt;
* [[DRO2IMF]] - program to convert DRO files to IMF files.&lt;br /&gt;
* [[IMF Creator]] - program to convert MIDI songs into IMF files.&lt;br /&gt;
&lt;br /&gt;
=== Story / Game Text Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[ModKeen]] For extracting data chunks&lt;br /&gt;
* [[Keengraph]] For extracting data chunks&lt;br /&gt;
* [[TheDraw]] for editing the final text screen.&lt;br /&gt;
* [[Startext]] for making text patches&lt;br /&gt;
&lt;br /&gt;
=== Other editors and editing tools ===&lt;br /&gt;
&lt;br /&gt;
* [[CKPatch]]&lt;br /&gt;
* [[Fixmhead]]&lt;br /&gt;
* [[Ck456Tli]]&lt;br /&gt;
* [[CK456DTli]]&lt;br /&gt;
* [[K5Splode]]&lt;br /&gt;
* [[Galactile]]&lt;br /&gt;
* [[Instant Carma]]&lt;br /&gt;
* [[TEDSetup]]&lt;br /&gt;
* [[The Neural Stunner (utility)|The Neural Stunner]]&lt;br /&gt;
* [[UNLZEXE]], needed to decompress the executable files&lt;br /&gt;
* [[UNP]], needed to decompress the executable files&lt;br /&gt;
* [[Wolf Data Compiler (WDC)]]&lt;br /&gt;
&lt;br /&gt;
== Modding Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Ceilick&#039;s Keen Galaxy Modding Tutorial|Ceilick&#039;s Tutorial]]&lt;br /&gt;
* [[Levellass&#039; Keen Galaxy Modding Tutorial|Levellass&#039; Tutorial]]&lt;br /&gt;
* [http://stefan.lohner-net.de/keen_modding/tutorial/ TheMagician&#039;s Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Game Information ==&lt;br /&gt;
&lt;br /&gt;
* For details on the file formats used by the games, see the [[ModdingWiki:Commander Keen 4-6|Commander Keen 4-6]] section on the ModdingWiki.&lt;br /&gt;
* There is a [[:Category:Patches|list of patches]] that can be incorporated into mods to change the game&#039;s behaviour.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorticon Tools]]&lt;br /&gt;
* [[Other Tools]] (non-Vorticons/Galaxy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25591</id>
		<title>Abiathar</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25591"/>
		<updated>2014-04-11T16:45:40Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Added note under image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
[[Image:Abiathar.png|thumb|320px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039;, displaying tile properties on the [[Keen 4]] world map.]]&lt;br /&gt;
Abiathar is a Windows-based level and tileinfo editor for Keen Dreams and Keen Galaxy. It was developed by Fleexy starting on January 10, 2014 and publicly released on Keen Day 2014.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Tools (Galaxy)]]&lt;br /&gt;
[[Category:Level Editors (Galaxy)]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25590</id>
		<title>Talk:Keen Galaxy Modding Tutorial (patch based)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=25590"/>
		<updated>2014-04-11T16:42:45Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Asked about Abiathar tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey Ceilick! If you want, I can add the [[Abiathar]] editing tutorial. Should I do this or do you want to write it yourself? [[User:Fleexy|Fleexy]] ([[User talk:Fleexy|talk]]) 16:42, 11 April 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch_talk:Levels_(Galaxy)&amp;diff=25585</id>
		<title>Patch talk:Levels (Galaxy)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch_talk:Levels_(Galaxy)&amp;diff=25585"/>
		<updated>2014-04-03T13:51:02Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Note about Abiathar change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abiathar (released Keen Day 2014) contains more features and fewer bugs than TOM, should I change the &amp;quot;most advanced editor&amp;quot; to it? [[User:Fleexy|Fleexy]] ([[User talk:Fleexy|talk]]) 02:04, 15 March 2014 (GMT)&lt;br /&gt;
:I&#039;d say yes. -[[User:Levellass|Levellass]] ([[User talk:Levellass|talk]]) 04:03, 19 March 2014 (GMT)&lt;br /&gt;
::Done. [[User:Fleexy|Fleexy]] ([[User talk:Fleexy|talk]]) 13:51, 3 April 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Levels_(Galaxy)&amp;diff=25584</id>
		<title>Patch:Levels (Galaxy)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Levels_(Galaxy)&amp;diff=25584"/>
		<updated>2014-04-03T13:49:44Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Editing levels */ Changed &amp;quot;most advanced editor&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page deals with patches relating to levels in Keen galaxy and Dreams. Other patches relating to levels can be found at [[Patch:Levels]]. See also [[Patch:Map]], [[Patch:Oracle Janitor|Oracle Janitor]] and [[Patch:Flags]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing levels ==&lt;br /&gt;
&lt;br /&gt;
A number of editors exist to edit Keen Galaxy levels. The oldest of these is the original, [[TED5]]. The newest and most advanced is [[Abiathar]]. In order to play modified Keen Galaxy levels patching is required. A &#039;map header&#039; file must be patched into the executable. The name of the [[Patch:GAMEMAPS|game maps]] themselves can be changed, but this is not necessary. Following are patches relating to patching custom levels in Keen Galaxy.&lt;br /&gt;
&lt;br /&gt;
Keen Dreams has a slightly different setup, requiring the patching of both a maphead and (depending on editor being used.) a mapdict file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Patch new levels into Keen Galaxy&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%maphead maphead.ck4&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%maphead maphead.ck5&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%maphead maphead.ck6&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Galaxy game maps filename&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $1334F  [$3AE2W] #Text called from&lt;br /&gt;
%patch $32952 &amp;quot;GAMEMAPS.CK4&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $142EC  [$3238W] #Text called from&lt;br /&gt;
%patch $33578 &amp;quot;GAMEMAPS.CK5&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $12E80  [$34E2W] #Text called from&lt;br /&gt;
%patch $34212 &amp;quot;GAMEMAPS.CK6&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lowest and highest levels accessible from map ==&lt;br /&gt;
&lt;br /&gt;
There are two limits as to what levels the player can access from  the main map. The first is the lowest level (By default level 1) and the second is the highest level (by default level 18, even if this many levels aren&#039;t provided by the game.) The difference between these two values is the number of levels accessible on the map. See also [[Patch:Jump conditions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Range of levels Keen can enter from the map&amp;quot;&amp;gt;&lt;br /&gt;
#Range of levels Keen can enter from the map in Keen 4&lt;br /&gt;
%patch $DF56 [$C000W] {$76} #Minimum - 1&lt;br /&gt;
%patch $DF5D [$C012W] {$77} #Maximum&lt;br /&gt;
&lt;br /&gt;
#Range of levels Keen can enter from the map in Keen 6&lt;br /&gt;
%patch $D2BB [$C000W] {$76} #Minimum - 1&lt;br /&gt;
%patch $D2C2 [$C012W] {$77} #Maximum&lt;br /&gt;
&lt;br /&gt;
#Range of levels Keen can enter from the map in Keen 6&lt;br /&gt;
%patch $D01A [$C000W] {$76} #Minimum - 1&lt;br /&gt;
%patch $D221 [$C012W] {$77} #Maximum&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra levels ===&lt;br /&gt;
&lt;br /&gt;
There are two limits to the number of levels in Keen Galaxy and Dreams. The first is a &#039;soft&#039; limit&#039; a simple check used to see if a level on the map can be entered. This is easily changed, allowing Keen to enter other levels. However the game will immediately crash if the level involved does not also have a valid name, level entry text and song. The second limit is a &#039;hard&#039; limit of 25 levels determined by how the game&#039;s memory is set up. This is almost impossible to change. As such the following patch has additional sections setting up the level texts and songs. The extra levels will use the High Score level&#039;s name, entry and music. The example patch allows 24 levels in Keen 4 (The maximum possible without a more complex patch.)&lt;br /&gt;
&lt;br /&gt;
For what the long lists mean see [[Patch:Levels_(Galaxy)#Level_text|level text]] and [[Patch:Music]]. Note that adding extra levels does not affect the [[Patch:Bean-With-Bacon-Megarocket#BWB-type_levels|Bean-With-Bacon-Megarocket level numbers]], this means the extra levels will likely be BWB-type. (Replayable) unless the BWB level(s) patch is altered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keen 4 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Allow 24 levels in Keen 4 v1.4:&lt;br /&gt;
#First increase the number of levels we can access from the map to maximum (+6)&lt;br /&gt;
%patch $DF5D [$18] #Number of levels enterable ($18 = 24)&lt;br /&gt;
%patch $8CA4 [$18] #Number of level song entries (24, see below)&lt;br /&gt;
&lt;br /&gt;
#Give extra levels valid stuff:&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $30764 $1F040000RL #Map&lt;br /&gt;
              $1F050000RL #Level 1&lt;br /&gt;
              $1F060000RL #Level 2&lt;br /&gt;
              $1F070000RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #Bwb Rocket&lt;br /&gt;
              $1F1C0000RL #Hall of fame&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $307C8 $1F1F0000RL #Map&lt;br /&gt;
              $1F210000RL #Level 1&lt;br /&gt;
              $1F240000RL #Level 2&lt;br /&gt;
              $1F260000RL #Level 3...&lt;br /&gt;
              $1F290000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F330000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3A0000RL&lt;br /&gt;
              $1F3D0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F430000RL&lt;br /&gt;
              $1F470000RL&lt;br /&gt;
              $1F4B0000RL&lt;br /&gt;
              $1F4E0000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F540000RL #Bwb Rocket&lt;br /&gt;
              $1F510000RL #Hall of fame&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keen 5 ====&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                 MUSIC PLAYED         LEVEL No&lt;br /&gt;
%patch $2F206W]  #Map                  (Shadowlands)          0&lt;br /&gt;
              [$0004W]  #Border Village       (Kick in the Pants)    1&lt;br /&gt;
              [$0003W]  #Slug Village         (Slug Village)         2&lt;br /&gt;
              [$0003W]  #Perilous Pit         (Slug Village)         3&lt;br /&gt;
              [$0002W]  #Cave of Descendants  (Too Hot)              4&lt;br /&gt;
              [$0002W]  #Chasm of Chills      (Too Hot)              5&lt;br /&gt;
              [$0004W]  #Crystalus            (Kick in the Pants)    6&lt;br /&gt;
              [$0003W]  #Hiliville            (Slug Village)         7&lt;br /&gt;
              [$0001W]  #Sand Yego            (Eat your Veggies)     8&lt;br /&gt;
              [$0001W]  #Miragia              (Eat your Veggies)     9&lt;br /&gt;
              [$0001W]  #Lifwater Oasis       (Eat your Veggies)    10&lt;br /&gt;
              [$0002W]  #Pyramid of Moons     (Too Hot)             11&lt;br /&gt;
              [$0002W]  #Pyramid of Shadows   (Too Hot)             12&lt;br /&gt;
              [$0002W]  #Pyramid of Ancients  (Too Hot)             13&lt;br /&gt;
              [$0002W]  #Pyramid of Forbidden (Too Hot)             14&lt;br /&gt;
              [$0002W]  #Isle of Tar          (Too Hot)             15&lt;br /&gt;
              [$0002W]  #Isle of Fire         (Too Hot)             16&lt;br /&gt;
              [$0001W]  #Well of Wishes       (Eat your Veggies)    17&lt;br /&gt;
              [$0003W]  #Bwb Megarocket       (Slug Village)        18&lt;br /&gt;
              [$FFFFW]  #High scores          (No music, &amp;quot;Fanfare&amp;quot;) 19&lt;br /&gt;
              [$FFFFW]  #Extra level 1        (No music, &amp;quot;Fanfare&amp;quot;) 20&lt;br /&gt;
              [$FFFFW]  #Extra level 2        (No music, &amp;quot;Fanfare&amp;quot;) 21&lt;br /&gt;
              [$FFFFW]  #Extra level 3        (No music, &amp;quot;Fanfare&amp;quot;) 22&lt;br /&gt;
              [$FFFFW]  #Extra level 4        (No music, &amp;quot;Fanfare&amp;quot;) 23&lt;br /&gt;
              [$FFFFW]  #Extra level 5        (No music, &amp;quot;Fanfare&amp;quot;) 24&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Allow 24 levels in Keen 5 v1.4:&lt;br /&gt;
#First increase the number of levels we can access from the map to maximum (+6)&lt;br /&gt;
%patch $D2C2 [$18] #Number of levels enterable ($18 = 24)&lt;br /&gt;
%patch $8C20 [$18] #Number of level song entries (24, see below)&lt;br /&gt;
&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $31AB4 $20040000RL #Map&lt;br /&gt;
              $20050000RL #Level 1&lt;br /&gt;
              $20070000RL #Level 2&lt;br /&gt;
              $20080000RL #Level 3...&lt;br /&gt;
              $200A0000RL&lt;br /&gt;
              $200C0000RL&lt;br /&gt;
              $200E0000RL&lt;br /&gt;
              $20100000RL&lt;br /&gt;
              $20120000RL&lt;br /&gt;
              $20140000RL&lt;br /&gt;
              $20160000RL&lt;br /&gt;
              $20180000RL&lt;br /&gt;
              $201A0000RL&lt;br /&gt;
              $201C0000RL&lt;br /&gt;
              $201D0000RL&lt;br /&gt;
              $201E0000RL&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
              $00000000L  #Extra level 1&lt;br /&gt;
              $00000000L  #Extra level 2&lt;br /&gt;
              $00000000L  #Extra level 3&lt;br /&gt;
              $00000000L  #Extra level 4&lt;br /&gt;
              $00000000L  #Extra level 5&lt;br /&gt;
              $00000000L  #Extra level 6&lt;br /&gt;
              $00000000L  #Extra level 7&lt;br /&gt;
              $00000000L  #Extra level 8&lt;br /&gt;
              $00000000L  #Extra level 9&lt;br /&gt;
&lt;br /&gt;
%patch $31B18 $201F0000RL #Map&lt;br /&gt;
              $20220000RL #Level 1&lt;br /&gt;
              $20250000RL #Level 2&lt;br /&gt;
              $20280000RL #Level 3...&lt;br /&gt;
              $202B0000RL&lt;br /&gt;
              $202E0000RL&lt;br /&gt;
              $20310000RL&lt;br /&gt;
              $20340000RL&lt;br /&gt;
              $20370000RL&lt;br /&gt;
              $203A0000RL&lt;br /&gt;
              $203D0000RL&lt;br /&gt;
              $20400000RL&lt;br /&gt;
              $20440000RL&lt;br /&gt;
              $20470000RL&lt;br /&gt;
              $204A0000RL&lt;br /&gt;
              $204D0000RL&lt;br /&gt;
              $00000000L  #Extra level 1&lt;br /&gt;
              $00000000L  #Extra level 2&lt;br /&gt;
              $00000000L  #Extra level 3&lt;br /&gt;
              $00000000L  #Extra level 4&lt;br /&gt;
              $00000000L  #Extra level 5 &lt;br /&gt;
              $00000000L  #Extra level 6&lt;br /&gt;
              $00000000L  #Extra level 7&lt;br /&gt;
              $00000000L  #Extra level 8&lt;br /&gt;
              $00000000L  #Extra level 9&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                      MUSIC PLAYED            LEVEL No&lt;br /&gt;
%patch $3067A [$000BW]  #Map                       (Omegamatic)              0&lt;br /&gt;
              [$0005W]  #Ion Ventilation System    (Wednesday on the Beach)  1&lt;br /&gt;
              [$0007W]  #Security Center           (Security Center)         2&lt;br /&gt;
              [$0009W]  #Defense Tunnel Vlook      (Be Sphereful)            3&lt;br /&gt;
              [$000AW]  #Energy Flow Systems       (Make it Tighter)         4&lt;br /&gt;
              [$0009W]  #Defense Tunnel Burrh      (Be Sphereful)            5&lt;br /&gt;
              [$000AW]  #Regulation Control Center (Make it Tighter)         6&lt;br /&gt;
              [$0009W]  #Defense Tunnel Sorra      (Be Sphereful)            7&lt;br /&gt;
              [$000AW]  #Neutrino Burst Injector   (Make it Tighter)         8&lt;br /&gt;
              [$0009W]  #Defense Tunnel Teln       (Be Sphereful)            9&lt;br /&gt;
              [$000AW]  #Brownian Motion Inducer   (Make it Tighter)         10&lt;br /&gt;
              [$0003W]  #Gravitational Damping Hub (Snooping)                11&lt;br /&gt;
              [$000DW]  #Quantum Explosion Dynamo  (QED)                     12&lt;br /&gt;
              [$0004W]  #Korath III Base           (Bagpipes)                13&lt;br /&gt;
              [$000CW]  #Ending\Level 14           (Fanfare)                 14&lt;br /&gt;
              [$0002W]  #High Scores               (High Scores)             15&lt;br /&gt;
%patch $3069C [$0001W]  #Scrolling Story\ L16      (Armageddon Machine)      16&lt;br /&gt;
              [$0000W]  #Game Over\ L17            (Came In)                 17&lt;br /&gt;
              [$0008W]  #Help\ L18                 (Help)                    18&lt;br /&gt;
              [$0002W]  #Extra level 1             (High Scores)             19&lt;br /&gt;
              [$0002W]  #Extra level 2             (High Scores)             20&lt;br /&gt;
              [$0002W]  #Extra level 3             (High Scores)             21&lt;br /&gt;
              [$0002W]  #Extra level 4             (High Scores)             22&lt;br /&gt;
              [$0002W]  #Extra level 5             (High Scores)             23&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keen 6 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Allow 24 levels in Keen 6 v1.4:&lt;br /&gt;
#First increase the number of levels we can access from the map to maximum (+6)&lt;br /&gt;
%patch $D221 [$18] #Number of levels enterable ($18 = 24)&lt;br /&gt;
%patch $8A88 [$18] #Number of level song entries (24, see below)&lt;br /&gt;
&lt;br /&gt;
#Level entrance pointers&lt;br /&gt;
%patch $32516 $1EF40000RL #Level 0&lt;br /&gt;
              $1EF5000BRL #Level 1&lt;br /&gt;
              $1EF7000DRL #Level 2&lt;br /&gt;
              $1EF9000BRL #Level 3&lt;br /&gt;
              $1EFC0007RL #Level 4&lt;br /&gt;
              $1EFF0005RL #Level 5&lt;br /&gt;
              $1F010001RL #Level 6&lt;br /&gt;
              $1F040003RL #Level 7&lt;br /&gt;
              $1F060007RL #Level 8&lt;br /&gt;
              $1F08000FRL #Level 9&lt;br /&gt;
              $1F0B0000RL #Level 10&lt;br /&gt;
              $1F0F0001RL #Level 11&lt;br /&gt;
              $1F100006RL #Level 12&lt;br /&gt;
              $1F11000BRL #Level 13&lt;br /&gt;
              $1F130000RL #Level 14&lt;br /&gt;
              $1F140005RL #Level 15&lt;br /&gt;
              $1F15000ARL #Level 16&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
              $00000000L  #Extra level 1&lt;br /&gt;
              $00000000L  #Extra level 2&lt;br /&gt;
              $00000000L  #Extra level 3&lt;br /&gt;
              $00000000L  #Extra level 4&lt;br /&gt;
              $00000000L  #Extra level 5&lt;br /&gt;
              $00000000L  #Extra level 6&lt;br /&gt;
              $00000000L  #Extra level 7&lt;br /&gt;
&lt;br /&gt;
#Level name pointers&lt;br /&gt;
%patch $324B2 $1F16000FRL #Level 0&lt;br /&gt;
              $1F17000CRL #Level 1&lt;br /&gt;
              $1EF8000DRL #Level 2&lt;br /&gt;
              $1F190001RL #Level 3&lt;br /&gt;
              $1EFD000FRL #Level 4&lt;br /&gt;
              $1F000007RL #Level 5&lt;br /&gt;
              $1F1A0002RL #Level 6&lt;br /&gt;
              $1F050006RL #Level 7&lt;br /&gt;
              $1F07000ERL #Level 8&lt;br /&gt;
              $1F0A0001RL #Level 9&lt;br /&gt;
              $1F1B0006RL #Level 10&lt;br /&gt;
              $1F0F000DRL #Level 11&lt;br /&gt;
              $1F110002RL #Level 12&lt;br /&gt;
              $1F120007RL #Level 13&lt;br /&gt;
              $1F13000CRL #Level 14&lt;br /&gt;
              $1F150001RL #Level 15&lt;br /&gt;
              $1F15000ARL #Level 16&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
              $00000000L  #Extra level 1&lt;br /&gt;
              $00000000L  #Extra level 2&lt;br /&gt;
              $00000000L  #Extra level 3&lt;br /&gt;
              $00000000L  #Extra level 4&lt;br /&gt;
              $00000000L  #Extra level 5 &lt;br /&gt;
              $00000000L  #Extra level 6&lt;br /&gt;
              $00000000L  #Extra level 7&lt;br /&gt;
&lt;br /&gt;
#This is the music played in each level:&lt;br /&gt;
#             VALUE   LEVEL                      MUSIC PLAYED            LEVEL No&lt;br /&gt;
%patch $3103E [$0005W]  #Map                            (Aliens Ate My Babysitter)  0&lt;br /&gt;
              [$0003W]  #Bloogwaters Crossing           (Faster)                    1&lt;br /&gt;
              [$0001W]  #Guard Post One                 (Brer Tar)                  2&lt;br /&gt;
              [$0008W]  #First Dome of Darkness         (Mamba Snake)               3&lt;br /&gt;
              [$0008W]  #Second Dome of Darkness        (Mamba Snake)               4&lt;br /&gt;
              [$0008W]  #Bloogdome                      (Mamba Snake)               5&lt;br /&gt;
              [$0007W]  #Bloogton Manufacturing         (Metal)                     6&lt;br /&gt;
              [$0002W]  #Bloogton Tower                 (To the Future)             7&lt;br /&gt;
              [$0007W]  #Bloogfoods, Inc.               (Metal)                     8&lt;br /&gt;
              [$0001W]  #Guard Post 2                   (Brer Tar)                  9&lt;br /&gt;
              [$0003W]  #Bloogville                     (Faster)                    10&lt;br /&gt;
              [$0002W]  #BASA                           (To the Future)             11&lt;br /&gt;
              [$0001W]  #Guard Post 3                   (Brer Tar)                  12&lt;br /&gt;
              [$0004W]  #Bloogbase Recreational District(Space Funk)                13&lt;br /&gt;
              [$0004W]  #Bloogbase Management District  (Space Funk)                14&lt;br /&gt;
              [$0006W]  #Bloog Control Center           (Ominous)                   15&lt;br /&gt;
              [$0002W]  #Blooglab Space Station         (To the Future)             16&lt;br /&gt;
              [$0000W]  #Bean-with-Bacon Megarocket     (A World of Wonderment)     17&lt;br /&gt;
              [$0000W]  #High Scores                    (A World of Wonderment)     18&lt;br /&gt;
              [$0002W]  #Extra level 1                  (High Scores)               19&lt;br /&gt;
              [$0002W]  #Extra level 2                  (High Scores)               20&lt;br /&gt;
              [$0002W]  #Extra level 3                  (High Scores)               21&lt;br /&gt;
              [$0002W]  #Extra level 4                  (High Scores)               22&lt;br /&gt;
              [$0002W]  #Extra level 5                  (High Scores)               23&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Infinite replays of some or all levels ==&lt;br /&gt;
&lt;br /&gt;
This allows a player to play the level as many times as they want. The level is not marked as completed when Keen exits it. These levels are known as [[Patch:Bean-With-Bacon-Megarocket|&#039;BWB levels&#039;]] as the only level this is noticeable in by default is the BWB. The patch uses [[Patch:Jump conditions|jump conditions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#BwB levels: all levels above 17&lt;br /&gt;
%patch $60FD $11 $77&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#BwB levels: all levels above 17&lt;br /&gt;
%patch $60B3 $11 $77&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#BwB levels: all levels above 16&lt;br /&gt;
%patch $5ECD $10 $77&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Complete levels to win ==&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy has a [[Patch:Demo switch|2-level demo trial parameter (/DEMO switch).]]  By tweaking this code a little bit, it can be used to end the game after a certain level is beaten.  If you want to make a &amp;quot;trial demo&amp;quot; of your own, you can patch this in as well. More than one level can be the &#039;win&#039; level, see [[Patch:Jump conditions]]. The last line is not necessary and should be omitted except when making a trial demo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#MAKE GAME END AFTER LEVEL X&lt;br /&gt;
#Always check to see if level X was beat, even if not in demo mode.&lt;br /&gt;
%patch $6B4E $90 $90&lt;br /&gt;
&lt;br /&gt;
#Specify level that must be beaten to win game (default is 2)&lt;br /&gt;
%patch $6B54 [$02] {$75}&lt;br /&gt;
&lt;br /&gt;
#Win the game instead of going to high scores&lt;br /&gt;
%patch $6B57 $EB $99&lt;br /&gt;
&lt;br /&gt;
#Enable &amp;quot;2 level demo&amp;quot; parameter by default (Not necessary)&lt;br /&gt;
%patch $3E90 $90 $90&amp;lt;/patch&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
&lt;br /&gt;
== Level text ==&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy and Dreams has individual names for its levels. These work in a complex manner. There are lists of level names, the location of which is controlled by lists of pointers, the location of which is referenced in the code. All patches that follow use the default values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pointer list locations ===&lt;br /&gt;
&lt;br /&gt;
These are the start of the level names, where the list of level names are read from. They are in [[Patch:Text patches|standard text patch format]] with one twist, there are TWO word values giving the location in the code minus the text start location instead of one. In the Keen 4 example below the text starts at $2EE70 so the level name list is at $2EE70 + $18F4 = $30764&lt;br /&gt;
&lt;br /&gt;
There are two values for each reference because the level name pointers are 32-bit (Four bytes), meaning that two values each of two bytes must be read then added together. The first value is by default unimportant since all of those values are zero. (A side effect of this is that all default level names must be multiples of 16 bytes long.) The two values in each reference don&#039;t have to be anywhere near each other, but unless they are two bytes different this makes things a lot more complex.&lt;br /&gt;
&lt;br /&gt;
There shouldn&#039;t be any need to relocate the pointer lists unless you are planning on adding a lot of extra levels and the default locations don&#039;t have enough space. There are three references, one loads the level entry text when Keen enters levels. The remaining two loads the level name when Keen dies and when the status window is displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6274 [$1958W]&lt;br /&gt;
%patch $6270 [$195AW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6648 [$18F4W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6644 [$18F6W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D2C [$18F4W] #Status window 1&lt;br /&gt;
%patch $7D28 [$18F6W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $622F [$17D8W]&lt;br /&gt;
%patch $622B [$17DAW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6603 [$1774W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $65FF [$1776W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D10 [$1774W] #Status window 1&lt;br /&gt;
%patch $7D0C [$1776W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6044 [$17E6W]&lt;br /&gt;
%patch $6040 [$17E8W]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6418 [$1782W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6414 [$1784W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7AC0 [$1782W] #Status window 1&lt;br /&gt;
%patch $7ABC [$1784W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level Name Pointer Lists ===&lt;br /&gt;
&lt;br /&gt;
The next step is the level name pointer list, a list of [[Patch:Executable segments|32-bit values giving the location of the level entry texts and names.]] By default the lower two bytes of these values is zero, meaning the location of each text entry can be found by reading the first five letters of the patch. Thus the Keen 4 map name value of $1F040000RL points to the text at $1F040. This leads to the side effect that all level names are multiples of 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
There is some space in the level lists for extra levels, in Keen 4 up to six new entries are allowed without having to change the list location. (Just add them to the end of the default list.) [[Patch:Levels#Extra_levels|This is important when adding extra levels as levels need text or the game will freeze.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $30764 $1F040000RL #Map&lt;br /&gt;
              $1F050000RL #Level 1&lt;br /&gt;
              $1F060000RL #Level 2&lt;br /&gt;
              $1F070000RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #BWB Rocket&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $307C8 $1F1F0000RL #Map&lt;br /&gt;
              $1F210000RL #Level 1&lt;br /&gt;
              $1F240000RL #Level 2&lt;br /&gt;
              $1F260000RL #Level 3...&lt;br /&gt;
              $1F290000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F330000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3A0000RL&lt;br /&gt;
              $1F3D0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F430000RL&lt;br /&gt;
              $1F470000RL&lt;br /&gt;
              $1F4B0000RL&lt;br /&gt;
              $1F4E0000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F540000RL #BWB Rocket&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $31AB4 $20040000RL #Map&lt;br /&gt;
              $20050000RL #Level 1&lt;br /&gt;
              $20070000RL #Level 2&lt;br /&gt;
              $20080000RL #Level 3...&lt;br /&gt;
              $200A0000RL&lt;br /&gt;
              $200C0000RL&lt;br /&gt;
              $200E0000RL&lt;br /&gt;
              $20100000RL&lt;br /&gt;
              $20120000RL&lt;br /&gt;
              $20140000RL&lt;br /&gt;
              $20160000RL&lt;br /&gt;
              $20180000RL&lt;br /&gt;
              $201A0000RL&lt;br /&gt;
              $201C0000RL&lt;br /&gt;
              $201D0000RL #Korath base&lt;br /&gt;
              $201E0000RL #BWB&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $31B18 $201F0000RL #Map&lt;br /&gt;
              $20220000RL #Level 1&lt;br /&gt;
              $20250000RL #Level 2&lt;br /&gt;
              $20280000RL #Level 3...&lt;br /&gt;
              $202B0000RL&lt;br /&gt;
              $202E0000RL&lt;br /&gt;
              $20310000RL&lt;br /&gt;
              $20340000RL&lt;br /&gt;
              $20370000RL&lt;br /&gt;
              $203A0000RL&lt;br /&gt;
              $203D0000RL&lt;br /&gt;
              $20400000RL&lt;br /&gt;
              $20440000RL&lt;br /&gt;
              $20470000RL #Korath base&lt;br /&gt;
              $204A0000RL #BWB&lt;br /&gt;
              $204D0000RL #High scores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $324B2 $1EF40000RL #Map&lt;br /&gt;
              $1EF50000RL #Level 1&lt;br /&gt;
              $1EF70000RL #Level 2&lt;br /&gt;
              $1EF80000RL #Level 3&lt;br /&gt;
              $1EFA0000RL #Level 4...&lt;br /&gt;
              $1EFC0000RL&lt;br /&gt;
              $1EFD0000RL&lt;br /&gt;
              $1EFF0000RL&lt;br /&gt;
              $1F000000RL&lt;br /&gt;
              $1F020000RL&lt;br /&gt;
              $1F030000RL&lt;br /&gt;
              $1F040000RL&lt;br /&gt;
              $1F050000RL&lt;br /&gt;
              $1F070000RL&lt;br /&gt;
              $1F090000RL&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL #BWB&lt;br /&gt;
              $1F100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $32516 $1F110000RL #Map&lt;br /&gt;
              $1F130000RL #Level 1&lt;br /&gt;
              $1F160000RL #Level 2&lt;br /&gt;
              $1F190000RL #Level 3&lt;br /&gt;
              $1F1C0000RL #Level 4...&lt;br /&gt;
              $1F1F0000RL&lt;br /&gt;
              $1F220000RL&lt;br /&gt;
              $1F250000RL&lt;br /&gt;
              $1F270000RL&lt;br /&gt;
              $1F2A0000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3C0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F440000RL&lt;br /&gt;
              $1F470000RL #BWB&lt;br /&gt;
              $1F4A0000RL #Highscores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level names and entrance texts ===&lt;br /&gt;
&lt;br /&gt;
These are almost standard [[Patch:Text patches|text patches]]. There is a program to automate patching level names, [[Startext]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $1F040 &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F050 &amp;quot;Border Village &amp;quot; $00&lt;br /&gt;
%patch $1F060 &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F0B0 &amp;quot;Chasm of Chills&amp;quot; $00&lt;br /&gt;
%patch $1F0C0 &amp;quot;Crystalus      &amp;quot; $00&lt;br /&gt;
%patch $1F0D0 &amp;quot;Hillville      &amp;quot; $00&lt;br /&gt;
%patch $1F0E0 &amp;quot;Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F0F0 &amp;quot;Miragia        &amp;quot; $00&lt;br /&gt;
%patch $1F100 &amp;quot;Lifewater Oasis&amp;quot; $00&lt;br /&gt;
%patch $1F1A0 &amp;quot;Isle of Tar    &amp;quot; $00&lt;br /&gt;
%patch $1F1B0 &amp;quot;Isle of Fire   &amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Well of Wishes &amp;quot; $00&lt;br /&gt;
%patch $1F1D0 &amp;quot;Bean-with-Bacon&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Megarocket     &amp;quot; $00&lt;br /&gt;
%patch $1F070 &amp;quot;The Perilous Pit               &amp;quot; $00&lt;br /&gt;
%patch $1F090 &amp;quot;Cave of the Descendents        &amp;quot; $00&lt;br /&gt;
%patch $1F110 &amp;quot;Pyramid of the Moons           &amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Pyramid of Shadows             &amp;quot; $00&lt;br /&gt;
%patch $1F150 &amp;quot;Pyramid of the&amp;quot;                  $0A&lt;br /&gt;
              &amp;quot;Gnosticene Ancients            &amp;quot; $00&lt;br /&gt;
%patch $1F180 &amp;quot;Pyramid of the Forbidden       &amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen enters the&amp;quot; $0A &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F240 &amp;quot;Keen slips into&amp;quot; $0A &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F330 &amp;quot;Keen stubmles upon&amp;quot; $0A &amp;quot;Hillville   &amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen disappears into&amp;quot; $0A &amp;quot;Miragia   &amp;quot; $00&lt;br /&gt;
%patch $1F210 &amp;quot;Keen makes a run for&amp;quot; $0A &amp;quot;the Border Village        &amp;quot; $00&lt;br /&gt;
%patch $1F260 &amp;quot;Keen plummets into&amp;quot; $0A &amp;quot;the The Perilous Pit        &amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen shivers along&amp;quot; $0A &amp;quot;the Chasm of Chills         &amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen reflects upon&amp;quot; $0A &amp;quot;entering Crystalus          &amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen grits his teeth&amp;quot; $0A &amp;quot;and enters Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F3A0 &amp;quot;Keen crawls into&amp;quot; $0A &amp;quot;Lifewater Oasis               &amp;quot; $00&lt;br /&gt;
%patch $1F3D0 &amp;quot;Keen backs into the&amp;quot; $0A &amp;quot;Pyramid of the Moons       &amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen move silently in&amp;quot; $0A &amp;quot;the Pyramid of Shadows   &amp;quot; $00&lt;br /&gt;
%patch $1F4B0 &amp;quot;Keen mucks along the&amp;quot; $0A &amp;quot;Isle of Tar               &amp;quot; $00&lt;br /&gt;
%patch $1F4E0 &amp;quot;Keen blazes across the&amp;quot; $0A &amp;quot;Isle of Fire            &amp;quot; $00&lt;br /&gt;
%patch $1F510 &amp;quot;Keen hopefully enters&amp;quot; $0A &amp;quot;the Well of Wishes       &amp;quot; $00&lt;br /&gt;
%patch $1F290 &amp;quot;Keen plods down into&amp;quot; $0A &amp;quot;the Cave of the Descendents               &amp;quot; $00&lt;br /&gt;
%patch $1F430 &amp;quot;Keen reverently enters&amp;quot; $0A &amp;quot;the Pyramid of the&amp;quot; $0A &amp;quot;Gnosticene Ancients  &amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen hesitantly crosses&amp;quot; $0A &amp;quot;into the Pyramid of the&amp;quot; $0A &amp;quot;Forbidden      &amp;quot; $00&lt;br /&gt;
%patch $1F540 &amp;quot;Keen launches into the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket              &amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $20040 &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20050 &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20070 &amp;quot;Security Center&amp;quot; $00&lt;br /&gt;
%patch $20080 &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $200A0 &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $200C0 &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $200E0 &amp;quot;Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20100 &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20120 &amp;quot;Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $20140 &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $20160 &amp;quot;Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20180 &amp;quot;Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $201A0 &amp;quot;Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $201C0 &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $201D0 &amp;quot;BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $201E0 &amp;quot;High Scores&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $201F0 &amp;quot;Keen purposefully&amp;quot; $0A &amp;quot;wanders about the&amp;quot; $0A &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20220 &amp;quot;Keen investigates the&amp;quot; $0A &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20250 &amp;quot;Keen struts through&amp;quot; $0A &amp;quot;the Security Center&amp;quot; $00&lt;br /&gt;
%patch $20280 &amp;quot;Keen invades&amp;quot; $0A &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $202B0 &amp;quot;Keen engages&amp;quot; $0A &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $202E0 &amp;quot;Keen barrels into&amp;quot; $0A &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $20310 &amp;quot;Keen goes nuts in&amp;quot; $0A &amp;quot;the Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20340 &amp;quot;Keen regrets entering&amp;quot; $0A &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20370 &amp;quot;Keen blows through&amp;quot; $0A &amp;quot;the Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $203A0 &amp;quot;Keen trots through&amp;quot; $0A &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $203D0 &amp;quot;Keen breaks into&amp;quot; $0A &amp;quot;the Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20400 &amp;quot;Keen hurries through&amp;quot; $0A &amp;quot;the Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $20440 &amp;quot;Keen explodes into&amp;quot; $0A &amp;quot;the Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $20470 &amp;quot;Keen faces danger&amp;quot; $0A &amp;quot;in the secret&amp;quot; $0A &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $204A0 &amp;quot;Keen will not be&amp;quot; $0A &amp;quot;in the BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $204D0 &amp;quot;Keen unexplainedly&amp;quot; $0A &amp;quot;finds himself by&amp;quot; $0A &amp;quot;theHigh Scores&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F110 &amp;quot;Keen attacks&amp;quot; $0A &amp;quot;Fribbulus Xax&amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Keen hops across&amp;quot; $0A &amp;quot;Bloogwaters&amp;quot; $0A &amp;quot;Crossing&amp;quot; $00&lt;br /&gt;
%patch $1F160 &amp;quot;Keen fights his way&amp;quot; $0A &amp;quot;through Guard Post One&amp;quot; $00&lt;br /&gt;
%patch $1F190 &amp;quot;Keen crosses into the&amp;quot; $0A &amp;quot;First Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Keen dares to enter the&amp;quot; $0A &amp;quot;Second Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen foolishly enters&amp;quot; $0A &amp;quot;the Bloogdome&amp;quot; $00&lt;br /&gt;
%patch $1F220 &amp;quot;Keen makes his way&amp;quot; $0A &amp;quot;into Bloogton&amp;quot; $0A &amp;quot;Manufacturing&amp;quot; $00&lt;br /&gt;
%patch $1F250 &amp;quot;Keen ascends&amp;quot; $0A &amp;quot;Bloogton Tower&amp;quot; $00&lt;br /&gt;
%patch $1F270 &amp;quot;Keen hungrily enters&amp;quot; $0A &amp;quot;Bloogfoods, Inc.&amp;quot; $00&lt;br /&gt;
%patch $1F2A0 &amp;quot;Keen smashes through&amp;quot; $0A &amp;quot;Guard Post Two&amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen seeks thrills&amp;quot; $0A &amp;quot;in Bloogville&amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen rockets into the&amp;quot; $0A &amp;quot;Bloog Aeronautics and&amp;quot; $0A &amp;quot;Space Administration&amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen boldly assaults&amp;quot; $0A &amp;quot;Guard Post Three&amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen whoops it up in&amp;quot; $0A &amp;quot;the Bloogbae&amp;quot; $0A &amp;quot;Recreational District&amp;quot; $00&lt;br /&gt;
%patch $1F3C0 &amp;quot;Keen purposefully struts&amp;quot; $0A &amp;quot;into the Bloogbase&amp;quot; $0A &amp;quot;Management District&amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen bravely enters the&amp;quot; $0A &amp;quot;Bloog Control Center,&amp;quot; $0A &amp;quot;looking for Molly&amp;quot; $00&lt;br /&gt;
%patch $1F440 &amp;quot;Keen warily enters&amp;quot; $0A &amp;quot;Blooglab Space&amp;quot; $0A &amp;quot;Station&amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen returns to the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket&amp;quot; $00&lt;br /&gt;
%patch $1F4A0 &amp;quot;Keen is in the High&amp;quot; $0A &amp;quot;Score screen. Call Id!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== High scores has entry text and name (Keen 4) ====&lt;br /&gt;
&lt;br /&gt;
This patch gives the high scores level in Keen 4 an entry text and name. It does this by using parts of the level entry texts as level names, freeing up space for the high Score level name and entry text. This is useful for those who want to enable access to the high scores level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;#Level name pointers: (Compressed)&lt;br /&gt;
%patch $30764 $1F200000RL #Map&lt;br /&gt;
              $1F220009RL #Level 1&lt;br /&gt;
              $1F250000RL #Level 2&lt;br /&gt;
              $1F270007RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #Bwb Rocket&lt;br /&gt;
              $1F060005RL #High scores&lt;br /&gt;
&lt;br /&gt;
#High score entry text&lt;br /&gt;
%patch $30814 $1F040000RL&lt;br /&gt;
&lt;br /&gt;
#High score entry text and name&lt;br /&gt;
%patch $1F040 &amp;quot;Keen is in the High&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Scores! Call Id!&amp;quot; $00&lt;br /&gt;
              &amp;quot;High Scores&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Misc level text ===&lt;br /&gt;
&lt;br /&gt;
There are also level entry texts and some texts used in the &#039;try again&#039; window. These are of course [[Patch:Text patches|text patches]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Try again window text&lt;br /&gt;
%patch $2F16F &amp;quot;You didn&#039;t make it past&amp;quot; $00&lt;br /&gt;
%patch $2F187 &amp;quot;Try Again&amp;quot; $00&lt;br /&gt;
%patch $2F191 &amp;quot;Exit to Shadowlands&amp;quot; $00&lt;br /&gt;
%patch $2F1F9 &amp;quot;One moment&amp;quot; $00 #Used while loading a level&lt;br /&gt;
%patch $2F47C &amp;quot;PAUSED&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Try again texts read from:&lt;br /&gt;
%patch $66A7 $FF $02 #Didn&#039;t make it past&lt;br /&gt;
%patch $66DC $17 $03 #Try again&lt;br /&gt;
%patch $66F6 $21 $03 #Exit&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Try again window text&lt;br /&gt;
%patch $305E3 &amp;quot;You didn&#039;t make it past&amp;quot; $00&lt;br /&gt;
%patch $305FB &amp;quot;Try Again&amp;quot; $00&lt;br /&gt;
%patch $30605 &amp;quot;Exit to Armageddon&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Try again texts read from:&lt;br /&gt;
%patch $30F73 &amp;quot;You didn&#039;t make it past&amp;quot; $00&lt;br /&gt;
%patch $30F8B &amp;quot;Try Again&amp;quot; $00&lt;br /&gt;
%patch $30F95 &amp;quot;Exit to Fribbulus Xax&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level entry window ==&lt;br /&gt;
&lt;br /&gt;
This window appears when Keen enters a level (Including the map, which happens when he exits a normal level.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No &#039;thumbs up&#039; sequence ===&lt;br /&gt;
&lt;br /&gt;
This patch removes the &#039;thumbs up&#039; sequence from the window. This means only one, unchanging, image appears in the window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $61FA $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tile replacement ==&lt;br /&gt;
&lt;br /&gt;
By default when Keen completes a level all of the tiles that have a specific infoplane (sprite) value on them will be replaced with tile 0, essentially deleting them from the level. This is used to make obstacles on the map that vanish on level completion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Marker sprite ===&lt;br /&gt;
&lt;br /&gt;
By default the marker sprite value is $D0xx. The level number is taken away from the sprite value and if it equals $D000 the tile is replaced. Changing the [[Patch:Jump conditions|jump]] To $EB will stop any tiles being replaced&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Marker sprite&amp;quot;&amp;gt;&lt;br /&gt;
#D0xx Marker sprite - Keen 4&lt;br /&gt;
%patch $6120 [$D000W]  {$75}&lt;br /&gt;
&lt;br /&gt;
#D0xx Marker sprite - Keen 5&lt;br /&gt;
%patch $60D6 [$D000W]  {$75}&lt;br /&gt;
&lt;br /&gt;
#D0xx Marker sprite - Keen 6&lt;br /&gt;
%patch $5EF0 [$D000W]  {$75}&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Replacement tile ===&lt;br /&gt;
&lt;br /&gt;
By default the replacement tile is tile 0, which in effect deletes the tile. This is not necessarily the case however and the replacement tile can be any valid tile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Replacement tile&amp;quot;&amp;gt;&lt;br /&gt;
#D0xx Replacement tile - Keen 4&lt;br /&gt;
%patch $6130 [$0000W]&lt;br /&gt;
&lt;br /&gt;
#D0xx Replacement tile - Keen 5&lt;br /&gt;
%patch $60E6 [$0000W]&lt;br /&gt;
&lt;br /&gt;
#D0xx Replacement tile - Keen 6&lt;br /&gt;
%patch $5F00 [$0000W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level game starts in ==&lt;br /&gt;
&lt;br /&gt;
This patch causes the player to start the game in a different level than the [[ Patch:Map|map. (Level 0)]] The values of the [[Patch:Game stats|level variable]] given here will start the game in the default BWB level (except Keen 5 where the player will start in the [[Patch:High Scores (Galaxy)|High Scores level]] due to the game lacking a BWB level proper.)&lt;br /&gt;
&lt;br /&gt;
Note that this does not change what the map level is; on exiting levels Keen will return to the map (level 0) and only the map will do such things as mark levels as done.&lt;br /&gt;
&lt;br /&gt;
There is one minor side effect to this patch; the high word of the [[Patch:Extra Keen At|Extra Keen At score]] is not set to 0. What this means is that the game cannot start with an Extra Keen At score of more than 65&#039;000 or so without a slightly more complicated patch being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Keen starts game in the BWB&lt;br /&gt;
%patch $5CBB {$7A68W} [$0012W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Keen starts game in the BWB&lt;br /&gt;
%patch $5C8F {$6F68W} [$000FW]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Keen starts game in the BWB&lt;br /&gt;
%patch $58AF {$75A4W} [$0011W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
=== Keen can exit Well of Wishes by going offscreen ===&lt;br /&gt;
&lt;br /&gt;
This patch relates to the [[Patch:Well Of Wishes|Well Of Wishes]] in [[Keen 4]]. It changes the level so that Keen can exit it in the same way as normal levels, by going off the edge of the screen. Further patches can be found on the linked page. As a side effect the level scrolling is altered slightly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Keen can exit the well of wishes by going offscreen (like normal levels, changes scrolling)&lt;br /&gt;
%patch $905B $90 $90&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Connect two levels in Keen 5 ===&lt;br /&gt;
&lt;br /&gt;
This somewhat convoluted patch creates two new sprites &#039;Up level&#039;, which sends Keen to the next level in the game, and &#039;Win level&#039; which wins the current &#039;&#039;and&#039;&#039; previous level. Both sprites are &#039;activated&#039; by Keen simply standing in the same place as they are. If the &#039;second&#039; level is not linked in the [[Patch:Map|map]] then it will be reachable only via this sprite. If the second level is won via the win level sprite then both levels will be in effect &#039;linked&#039;; Keen will enter the first level, progress to the second, then exit and complete both.&lt;br /&gt;
&lt;br /&gt;
These sprites can also be used singularly rather than in combination for other neat effects such as completing one level making another level inaccessible (Since it too will be completed.)&lt;br /&gt;
&lt;br /&gt;
The patch breaks down as follows. The first section disables two [[Category:Cheats patches|cheats]] to provide space for the patch, [[Patch:F10 C Cheat|F10-C]] and [[Patch:F10 T Cheat|F10-T]]. (The second leaves some spare patch space even with this patch that can be used.) The second section compacts Keen&#039;s spawning code to create [[Patch:Sprite spawning|sprite spawning space.]] The following section is pointers to the new sprites. (They are sprites $007D and $007E, represented by a flat yellow line and downward sloping yellow line in the default graphics, that is they are on the opposite end of the sprite row that contains the [[Patch:Korath|Korath]].) None of this should be altered in any way.&lt;br /&gt;
&lt;br /&gt;
The next two sections are the initiation codes for the new sprites. The blue value is the [[Patch:Sprite cache|cached animation]] that will be sued by &#039;&#039;both&#039;&#039; sprites when they are place in-level. (It is possible to adjust the patch to use another, entire, sprite cache.) The two sections after that are the sprite spawning codes. The first blue value in each is the sprite&#039;s [[Patch:Sprite type|type;]] the second blue value is the sprite&#039;s [[Patch:Sprite actions|action.]]&lt;br /&gt;
&lt;br /&gt;
The next two sections are the sprite&#039;s [[Patch:Sprite actions|action codes,]] The blue value is the animation the sprites use when in-level. (This is so Keen can touch them, the animation can be made invisible if wished.) Finally the last two sections are the uplevel and winlevel collision codes responsible for moving Keen up a level and winning two levels respectively. This uses [[Patch:Level state|level state code]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Disable cheats for space&lt;br /&gt;
%patch $7401 $EB $19 #F10-C&lt;br /&gt;
%patch $7679 $EB $12 #F10-T&lt;br /&gt;
&lt;br /&gt;
#Compact left\right Keen spawn to create space $EE96-EEBA&lt;br /&gt;
%patch $EEBB $B8 $0001W $EB $03&lt;br /&gt;
%patch $F4C6 $016BW             #Keen right uses compact spawn (At $EEBB&lt;br /&gt;
&lt;br /&gt;
#Pointers to new sprites&lt;br /&gt;
%patch $F59C $0146W #Uplevel (At $EE96)&lt;br /&gt;
%patch $F59E $014FW #Winlevel (At $EE9F)&lt;br /&gt;
&lt;br /&gt;
#New sprite spawn 1 (Goes to end of spawn 2)&lt;br /&gt;
%patch $EE96 $57 $56 $9A $06B90000RL    $EB $07&lt;br /&gt;
&lt;br /&gt;
#New sprite spawn 2 both cache $0117&lt;br /&gt;
%patch $EE9F $57 $56 $9A $06B9003ARL     $83 $C4 $04 $B8 $2B7BRW  $8A $16&lt;br /&gt;
             $EC $6F $8E $C0 $26 $08 $16 [$0117W]  $E9 $04EDW&lt;br /&gt;
&lt;br /&gt;
#Uplevel spawning code = $06B90000RL&lt;br /&gt;
%patch $6B90 $55 $8B $EC $33 $C0 $50 $9A $06B91DCDRL     $83 $C4 $02 $8B $1E&lt;br /&gt;
             $40 $9E $C7 $07 [$0001W]  $8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A&lt;br /&gt;
             $8B $46 $08 $D3 $E0 $89 $47 $3E $89 $47 $0C $B8 [$00F2W]  $50 $53&lt;br /&gt;
             $9A $090B11C4RL     $83 $C4 $04 $5D $CB&lt;br /&gt;
&lt;br /&gt;
#Winlevel spawning code = $06B9003ARL&lt;br /&gt;
%patch $6BCA $55 $8B $EC $33 $C0 $50 $9A $06B91DCDRL     $83 $C4 $02 $8B $1E&lt;br /&gt;
             $40 $9E $C7 $07 [$0001W]  $8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A&lt;br /&gt;
             $8B $46 $08 $D3 $E0 $89 $47 $3E $89 $47 $0C $B8 [$0110W]  $50 $53&lt;br /&gt;
             $9A $090B11C4RL     $83 $C4 $04 $5D $CB&lt;br /&gt;
&lt;br /&gt;
#Uplevel action = $00F2&lt;br /&gt;
%patch $30432 [$0117W $0117W] $0002W $0000W $0000W $0000W $0000W $0000W&lt;br /&gt;
              $00000000L    $06B9015ERL   $090B17B5RL   $00F2W&lt;br /&gt;
&lt;br /&gt;
#Winlevel action = $0110&lt;br /&gt;
%patch $30450 [$0117W $0117W] $0002W $0000W $0000W $0000W $0000W $0000W&lt;br /&gt;
              $00000000L    $06B9017ERL   $090B17B5RL   $0110W&lt;br /&gt;
&lt;br /&gt;
#Uplevel collision: increment curr_lev and set level state to restart level = $06B9015ERL&lt;br /&gt;
%patch $6CEE $55 $8B $EC $56 $57 $8B $7E $06 $8B $76 $08 $81 $7C $1C $0888W&lt;br /&gt;
             $75 $0A $FF $06 $6F68W  $C7 $06 $6F70W  $0003W  $5F $5E $5D $CB&lt;br /&gt;
&lt;br /&gt;
#Winlevel collision: mark previous level as done and set level state to win level = $06B9017ERL&lt;br /&gt;
%patch $6D0E $55 $8B $EC $56 $57 $8B $7E $06 $8B $76 $08 $81 $7C $1C $0888W&lt;br /&gt;
             $75 $12 $8B $1E $55 $9E $D1 $E3 $C7 $87 $6F1AW  $0001W  $C7 $06&lt;br /&gt;
             $6F70W  $0002W $5F $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automatically restart levels instead of having option to go to map ===&lt;br /&gt;
&lt;br /&gt;
This patch changes things so that Keen is not given the opportunity to exit to the map level This patch uses [[Patch:Jump conditions|jump conditions]] and [[Patch:Game stats]]. By default this only happens when a [[Patch:Game over|game over]] is triggered. (When Keen has no lives.) Changing the lives requirement to anything else means that below a certain number of lives he will be forced to replay the level until a game over. Changing the requirement from lives can cause Keen to have to replay the level until he gets a certain item. Changing the jump can eliminate the option to quit to the map entirely and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Automatically restart a level when killed (No map option) if Keen has no lives&lt;br /&gt;
%patch $6684 {$7A6AW}  [$00] {$7D}&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;br /&gt;
{{PatchCategories|Keen Dreams|}}&lt;br /&gt;
{{PatchCategories|Levels|}}&lt;br /&gt;
{{PatchCategories|Gameplay|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25583</id>
		<title>Abiathar</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25583"/>
		<updated>2014-03-27T22:12:13Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
Abiathar is a Windows-based level and tileinfo editor for Keen Dreams and Keen Galaxy. It was developed by Fleexy starting on January 10, 2014 and publicly released on Keen Day 2014.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Other_Tools&amp;diff=25582</id>
		<title>Other Tools</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Other_Tools&amp;diff=25582"/>
		<updated>2014-03-23T23:48:23Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Added Abiathar to list of level editors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Game Editing ==&lt;br /&gt;
&lt;br /&gt;
This section is organised by category.  If an editor supports more than one type of editing (such as level editing and graphics editing) it will be listed under both sections.&lt;br /&gt;
&lt;br /&gt;
The tools in this section apply to [[Keen Dreams]] or other Keen-related programs (not Keens 1-6, which have their own sections.)&lt;br /&gt;
&lt;br /&gt;
=== DOS Emulators ===&lt;br /&gt;
&lt;br /&gt;
* [[DosBox]]&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[TED5]]&lt;br /&gt;
* [[Abiathar]]&lt;br /&gt;
&lt;br /&gt;
=== Graphics Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[EModKeen]]/[[LModKeen]]&lt;br /&gt;
* [[ModKeen]]&lt;br /&gt;
* [[Keengraph]]&lt;br /&gt;
&lt;br /&gt;
=== Sound Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[KeenWave]]&lt;br /&gt;
&lt;br /&gt;
=== Music Editors ===&lt;br /&gt;
&lt;br /&gt;
As there is no music in Keen Dreams, there are no music editors.  Since the music was removed from Keen Dreams at the last minute, it may be possible to add music back in again, but as yet nobody has tried.&lt;br /&gt;
&lt;br /&gt;
=== Story / Game Text Editors ===&lt;br /&gt;
&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
=== Other editors and editing tools ===&lt;br /&gt;
&lt;br /&gt;
* [[KDRPatch]] (a CKPatch-based patching tool)&lt;br /&gt;
&lt;br /&gt;
== Game Information ==&lt;br /&gt;
&lt;br /&gt;
* For details on the file formats used by the games, see the [[ModdingWiki:Commander Keen Dreams|Commander Keen Dreams]] section on the ModdingWiki.&lt;br /&gt;
* There is a [[:Category:Patches|list of patches]] that can be incorporated into mods to change the game&#039;s behaviour.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorticon Tools]]&lt;br /&gt;
* [[Galaxy Tools]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=25581</id>
		<title>User:Fleexy</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:Fleexy&amp;diff=25581"/>
		<updated>2014-03-21T01:56:58Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I&#039;m Fleexy, creator of the amazing Galaxy level editor &amp;quot;Abiathar&amp;quot;, check it out!&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Game_errors&amp;diff=25580</id>
		<title>Patch:Game errors</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Game_errors&amp;diff=25580"/>
		<updated>2014-03-21T01:55:39Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Forbidden pointer values and gibberish in-level */ Corrected the values and added note about Abiathar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Game errors are problems that occur during gameplay that (usually) result in the crash of the game or the display of an error message. They are useful patch-wise in that a well constructed mod will never use these errors and they can be co-opted for other means.&lt;br /&gt;
&lt;br /&gt;
There are four types of error encountered in the Keen games; the first are nonfatal errors, these will display an error message, but will allow the game to continue being played. An example of this is the &#039;Unable to play background music&#039; error. The second kind are fatal errors, they cause the game to halt or otherwise end, but are recognized and understood well enough that a sensible message will be displayed. An example is the &#039;unable to load level&#039; error. The third kind are crashes, and they cause the game to crash leaving just a command prompt and (usually) a single line of text explaining technical details. These are the most common and least useful errors. An example is the &#039;too many animating tiles&#039; error. The fourth kind of error is a freezing error, where the game will freeze, needing to be closed. An example is the animating tile freeze.&lt;br /&gt;
&lt;br /&gt;
This page will cover two basic functions. The first is to identify errors and how they are triggered and thus aid the modder in avoiding them. The second will be to supply patches where possible to remove or modify error code or more useful purposes. (It may be useful to see [[Patch:Text patches]]&lt;br /&gt;
&lt;br /&gt;
Since most errors occur in the Keen Galaxy series, all errors listed on this page apply &#039;&#039;only&#039;&#039; to Keens 4, 5 and 6 &#039;&#039;unless sated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Nonfatal errors =&lt;br /&gt;
&lt;br /&gt;
As noted these are errors that show a message, but allow the player to continue, though not without consequences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Insufficient Memory to play music ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when after all the level and graphics have been loaded, there does not remain enough free memory to load the IMF music file selected for that level. The solution is to either use a smaller music file for the level or free up memory.&lt;br /&gt;
&lt;br /&gt;
This error is both easy to diagnose and remedy. The first step is to load the level with the error. Using the [[Patch:F10 M Cheat|memory test cheat]] (F10 + M) the amount of free memory &#039;&#039;without the music&#039;&#039; can be found. This can then be compared with the size of the IMF file needing to be played to give a good estimate of how much extra memory needs to be freed up. If a smaller music file is not desirable or cannot be found then more memory will have to be freed up. This can be constantly checked with the memory cheat.&lt;br /&gt;
&lt;br /&gt;
There are three main ways to free up memory. The first is to physically shrink the level&#039;s size; each tile removed will free up six bytes of memory, so trimming a large level can save a lot. This however is often not preferable.&lt;br /&gt;
&lt;br /&gt;
The second method is to lessen the number of different tiles in the level (This is why [[TED5]] has a function to tell you how many there are.) each background tile will save 128 bytes and each foreground tile 140 bytes of memory. Again this may not be preferable, but a large level often contains many tiles that do not really add anything to it.&lt;br /&gt;
&lt;br /&gt;
Finally certain sprites may be removed. [[Patch:Sprite cache|Each sprite caches all its graphics into memory so it can display them]] A sprite can easily take up tens of kilobytes of space, the larger and showier it is, the more memory it needs. To remove a sprite cache, &#039;&#039;all&#039;&#039; instances of the sprite must be removed from the level, not one can remain.&lt;br /&gt;
&lt;br /&gt;
A related solution is to edit the graphics, either making them smaller, or changing how many copies are placed into memory. (In theory this will make the sprite move less smoothy, but this is often hard to see.) This can halve or even quarter the amount of memory the sprite needs to run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Insufficient memory to play music&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8D30  [$06ECW] #Text called from&lt;br /&gt;
%patch $2F55C &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8CA2  [$065EW] #Text called from&lt;br /&gt;
%patch $3099E &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
#Insufficient memory to play music window&lt;br /&gt;
%patch $8B0A  [$0656W] #Text called from&lt;br /&gt;
%patch $31386 &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
              &amp;quot;for background music!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Not enough memory to load game ===&lt;br /&gt;
&lt;br /&gt;
This error occurs quite simply when a saved game demands more memory than the game has. This usually happens if the game was saved in a different mod or different version of the same mod. In this case it is not the saved game or even necessarily the mod that is broken, there is simply an incompatibility between the conditions the game was saved in and the conditions it was loaded in. Even the smallest change can cause this. Working only with games saved in the most recent version of the game should fix this.&lt;br /&gt;
&lt;br /&gt;
If this occurs in a completed or stable mod then it points to deep and unpredictable errors that can be difficult to fix. The best strategy is simply to attempt to discover what conditions cause this to happen, starting with which level\difficulty then looking for more specific subconditions such as the presence of a certain sprite.&lt;br /&gt;
&lt;br /&gt;
There are two situations in which this error can arise and in Keen 4\6 they use different text. In Keen 5 they use the same text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Not enough memory to load game error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $5E82  [$0259W] #Text called from&lt;br /&gt;
%patch $2F0C9 &amp;quot;Not enough memory&amp;quot; $0A &amp;quot;to load game!&amp;quot; $00&lt;br /&gt;
%patch $5EFF  [$0279W] #Text called from&lt;br /&gt;
%patch $2F0E9 &amp;quot;Not enough memory&amp;quot; $0A &amp;quot;to load game!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $5E1C  [$01FEW] #Text called from 1&lt;br /&gt;
%patch $5E98  [$01FEW] #Text called from 2&lt;br /&gt;
%patch $3053E &amp;quot;Not enough memory&amp;quot; $0A &amp;quot;to load game!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $5C56  [$019DW] #Text called from&lt;br /&gt;
%patch $30ECD &amp;quot;Not enough memory&amp;quot; $0A &amp;quot;to load game!&amp;quot; $00&lt;br /&gt;
%patch $5CD3  [$01BDW] #Text called from&lt;br /&gt;
%patch $30EED &amp;quot;Not enough memory&amp;quot; $0A &amp;quot;to load game!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Fatal errors =&lt;br /&gt;
&lt;br /&gt;
As noted these errors will halt gameplay, but not crash the executable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Insufficient Memory to load level ===&lt;br /&gt;
&lt;br /&gt;
This occurs when a level is too large to be played. It relates entirely to the size of the level. A good &#039;large&#039; size for a level is 100x100 tiles, (See also level size limits in the &#039;other limitations&#039; section.) A level that is much larger than this, in area (Height * width) will exceed the memory allocated and be unable to load. the only way to resolve this is to reduce the size of the level.&lt;br /&gt;
&lt;br /&gt;
At present the exact maximum size of the level that can be loaded is unknown. however it also affects sprites and background music, for both of these to load (In that order.) there must be enough &#039;&#039;free memory&#039;&#039; after the level has been loaded.&lt;br /&gt;
&lt;br /&gt;
If the levels do not trigger this error then the code space may be used for other things.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Insufficient memory to load level error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 Insufficient memory to load level window:&lt;br /&gt;
%patch $69EF  $EB    #Never show (Free 69F1-6A32)&lt;br /&gt;
%patch $69F8  [$0008W] #Height&lt;br /&gt;
%patch $69FC  [$0014W] #Width&lt;br /&gt;
%patch $6A0D  [$0335W] #Text called from&lt;br /&gt;
%patch $2F1A5 &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
               &amp;quot;to load level!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 Insufficient memory to load level window:&lt;br /&gt;
%patch $69AA  $EB    #Never show (Free 69AC-69ED)&lt;br /&gt;
%patch $69B3  [$0008W] #Height&lt;br /&gt;
%patch $69B7  [$0014W] #Width&lt;br /&gt;
%patch $69C8  [$02D8W] #Text called from&lt;br /&gt;
%patch $30618 &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
               &amp;quot;to load level!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 Insufficient memory to load level window:&lt;br /&gt;
%patch $67E0  $EB    #Never show (Free 67E2-6823)&lt;br /&gt;
%patch $67E9  [$0008W] #Height&lt;br /&gt;
%patch $67ED  [$0014W] #Width&lt;br /&gt;
%patch $67FE  [$027BW] #Text called from&lt;br /&gt;
%patch $30FAB &amp;quot;Insufficient memory&amp;quot; $0A&lt;br /&gt;
               &amp;quot;to load level!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Crash errors =&lt;br /&gt;
&lt;br /&gt;
As mentioned, these errors cause the executable to crash, leaving the user at the command prompt with technical details of the error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RF_MarkTileGraphics errors ===&lt;br /&gt;
&lt;br /&gt;
All errors involving &#039;RF_MarkTileGraphics&#039; are errors with tile animation. They are patch problems that result when a modder produces a corrupt &amp;lt;tt&amp;gt;[[Patch:Tileinfo|TILEINFO.CKx]]&amp;lt;/tt&amp;gt; file. This error is the best result as it provides information about both the problem and the tile responsible. The worst case scenario is that the game freezes.&lt;br /&gt;
&lt;br /&gt;
There are three types of error and six possible errors (Five in [[Keen 5]]); three for background and three for foreground tiles. Each type of error is as follows. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Too many unique animating tiles:&#039;&#039; Animating tiles require extra memory on top of what is needed for their graphics. When too many different types of animated tile are in a level then this memory will be overrun and the level will not be playable. The solution is to remove some kinds of animating tile from the level. (&#039;&#039;All&#039;&#039; instances of a tile must be removed, which is why [[TED5]] has a feature to count the number of different tiles in a level, if even one tile of type x remains, type x will still be loaded into memory.)&lt;br /&gt;
&lt;br /&gt;
If this error occurs &#039;&#039;during&#039;&#039; play, not at the start then the problem is with how &#039;&#039;many&#039;&#039; animating tiles are appearing at once; no more than 24 animating tiles of any kind can appear in play (Onscreen or within 2 tiles of the screen borders) at one time.&lt;br /&gt;
&lt;br /&gt;
Note that in Keen 5 the same text is used for both the background and foreground error, in the other Galaxy games different texts are used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Anim of 0:&#039;&#039; This occurs when a tile animates to tile 0. Since tile 0 is a special case (No tile) this cannot happen. It is the easiest error to fix as the offending tile will be at the top of the tileset, within the first 128 tiles. The offending tile must be made to animate to another tile or not animate at all. This error is rare as it requires a modder to deliberately set tile 0 as an animation target.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Unending animation:&#039;&#039; This occurs when a tile animation is not a nice neat loop. It is rather common as there are many ways a modder may unintentionally cause it. The first possibility is that a tile that animates (Has an animation delay) does not have anything to animate &#039;&#039;to&#039;&#039;, this can happen if part of an animation loop is removed or not set in the first place.&lt;br /&gt;
&lt;br /&gt;
The second way this may happen is if two tiles are set to animate to the same target &#039;&#039;and&#039;&#039; both &#039;start&#039; tiles are present in a level. Like two cars trying to park in the same space, they clash.&lt;br /&gt;
&lt;br /&gt;
If a modder is conscientious they will have kept a record of what they have done before the error so that they have a good idea as to what tile may be the problem. If not there may be some guesswork. The tile error might well give a tile number, but this is hard to pin down as it is a &#039;chunk number&#039; and needs a certain value removed from it to give the actual tile number. In desperate situations it is possible to back up levels and delete the newest parts of them, stopping when the error stops/ (The tile can then be identified, fixed and the backed up levels restored.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;&#039;RF_MarkTileGraphics&#039; errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $168F9  [$4099W] #Text called from&lt;br /&gt;
%patch $32F09 &amp;quot;RF_MarkTileGraphics: Background anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16969  [$40C4W] #Text called from&lt;br /&gt;
%patch $32F34 &amp;quot;RF_MarkTileGraphics: Too many unique animated tiles!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $169F5  [$40F9W] #Text called from&lt;br /&gt;
%patch $32F69 &amp;quot;RF_MarkTileGraphics: Unending background animation:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16AC1  [$412DW] #Text called from&lt;br /&gt;
%patch $32F9D &amp;quot;RF_MarkTileGraphics: Foreground anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16B3A  [$4158W] #Text called from&lt;br /&gt;
%patch $32FC8 &amp;quot;RF_MarkTileGraphics: Too many unique animated tiles!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16BC6  [$418DW] #Text called from&lt;br /&gt;
%patch $32FFD &amp;quot;RF_MarkTileGraphics: Unending foreground animation:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $17896  [$3750W] #Text called from&lt;br /&gt;
%patch $33A90 &amp;quot;RF_MarkTileGraphics: Background anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $17906  [$377BW] #Text called from&lt;br /&gt;
%patch $33ABB &amp;quot;RF_MarkTileGraphics: Too many unique animated tiles!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $17992  [$37B0W] #Text called from&lt;br /&gt;
%patch $33AF0 &amp;quot;RF_MarkTileGraphics: Unending background animation:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $17A5E  [$37E4W] #Text called from&lt;br /&gt;
%patch $33B24 &amp;quot;RF_MarkTileGraphics: Foreground anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $17B63  [$380FW] #Text called from&lt;br /&gt;
%patch $33B4F &amp;quot;RF_MarkTileGraphics: Unending foreground animation:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $16468  [$3A99W] #Text called from&lt;br /&gt;
%patch $347C9 &amp;quot;RF_MarkTileGraphics: Background anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $164DC  [$3AC4W] #Text called from&lt;br /&gt;
%patch $347F4 &amp;quot;RF_MarkTileGraphics: Too many unique animated tiles!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $165B7  [$3AF9W] #Text called from&lt;br /&gt;
%patch $34829 &amp;quot;RF_MarkTileGraphics: Unending background animation:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16686  [$3B2DW] #Text called from&lt;br /&gt;
%patch $3485D &amp;quot;RF_MarkTileGraphics: Foreground anim of 0:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16703  [$3B58W] #Text called from&lt;br /&gt;
%patch $34888 &amp;quot;RF_MarkTileGraphics: Too many unique animated tiles!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $167E3  [$3B8DW] #Text called from&lt;br /&gt;
%patch $348BD &amp;quot;RF_MarkTileGraphics: Unending foreground animation:&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RF_CheckForAnimTile error ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when too many animated tiles are shown onscreen at once. There is only a limited number of tile frames available for animation and this can be exhausted by many animated tiles being onscreen, an animation loop having lots of different tiles in it, or both.&lt;br /&gt;
&lt;br /&gt;
The most common cause is too many tiles, removing any large blocks of animating tiles from the level will fix this.&lt;br /&gt;
&lt;br /&gt;
There are two errors, one for background and on for foreground tiles. both use the same text, and in [[Keen 5]] and [[Keen Dreams]] the texts were combined for efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;RF_CheckForAnimTile error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $16CA1  [$41C1W] #Text called from&lt;br /&gt;
%patch $33031 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&lt;br /&gt;
%patch $16D3A  [$41F2W] #Text called from&lt;br /&gt;
%patch $33062 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $17C3E  [$3843W] #Text called from&lt;br /&gt;
%patch $33B83 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $168D5  [$3BC1W] #Text called from&lt;br /&gt;
%patch $348F1 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&lt;br /&gt;
%patch $16974  [$3BF2W] #Text called from&lt;br /&gt;
%patch $34922 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $E9A2  [$4146W] #Text called from&lt;br /&gt;
%patch $27BB6 &amp;quot;RF_CheckForAnimTile: No free spots in tilearray!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WallDebug errors ===&lt;br /&gt;
&lt;br /&gt;
These are [[Patch:Tileinfo|tileinfo errors]] that occur when the game encounters a tile that has values for either its left or right sides that are not 0 or 1. (Pass or block.) It will occur when the [[Patch:F10 Y Cheat|Wall Debug cheat (F10 + Y)]] is used in a level containing a problematic tile. The number of the &#039;&#039;first&#039;&#039; tile that has this problem will be given with the error, allowing quick identification and fixing.&lt;br /&gt;
&lt;br /&gt;
It is possible for this to occur via bugs in the program used to edit tileinfo  or by a patch being placed within the tileinfo segment of the game. In this case it will always appear in a similar situation and depend on specific tile(s). If a nonsensical number (Say 0 or a negative number.) is given as the affected tile, or the tile number keeps changing randomly or is not given at all, then it is possible the bug is a &#039;scrambling error&#039; caused by a patch in another area of code becoming scrambled and accidentally referring to the error code. In this case testing of recent patches may solve the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;WallDebug errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $72EC  [$04ACW] #Text called from&lt;br /&gt;
%patch $2F31C &amp;quot;WallDebug: East wall other than 1:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $7350  [$04CFW] #Text called from&lt;br /&gt;
%patch $2F33F &amp;quot;WallDebug: West wall other than 1:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $72A1  [$0428W] #Text called from&lt;br /&gt;
%patch $30768 &amp;quot;WallDebug: East wall other than 1:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $7305  [$044BW] #Text called from&lt;br /&gt;
%patch $3078B &amp;quot;WallDebug: West wall other than 1:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $70BB  [$0424W] #Text called from&lt;br /&gt;
%patch $31154 &amp;quot;WallDebug: East wall other than 1:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $711F  [$0447W] #Text called from&lt;br /&gt;
%patch $31177 &amp;quot;WallDebug: West wall other than 1:&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Map is too tall ===&lt;br /&gt;
&lt;br /&gt;
This error can occur under two circumstances. The first, which is very rare, is when the map is literally too tall, over 250 tiles high. Such a level will already be suffering from the &#039;level size limit&#039; bug in the &#039;other limits&#039; section.&lt;br /&gt;
&lt;br /&gt;
However the most common appearance of this level is an accidental triggering when using [[TED5]] as a level editor. TED5 can compress levels (Carmackize them) and Keen Galaxy games require this. If the levels are saved but &#039;&#039;not&#039;&#039; compressed (Which takes time unless [[Instant Carma]] is used.) then the game sees nothing but gibberish and crashes with this error. Checking that levels are carmackized is the first step to solving this.&lt;br /&gt;
&lt;br /&gt;
Similar situation will also cause this bug, if level data has become corrupt, if the &amp;lt;tt&amp;gt;MAPHEAD.CKx&amp;lt;/tt&amp;gt; file is corrupt or not the right one for the levels or not patched correctly. Such situations can be aggravating and underlie the need to backup regularly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Map too tall error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $16744  [$4080W] #Text called from&lt;br /&gt;
%patch $32EF0 &amp;quot;RF_NewMap: Map too tall!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $176E1  [$3737W] #Text called from&lt;br /&gt;
%patch $33A77 &amp;quot;RF_NewMap: Map too tall!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $16275  [$3A80W] #Text called from&lt;br /&gt;
%patch $347B0 &amp;quot;RF_NewMap: Map too tall!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Insufficient memory to load map level ===&lt;br /&gt;
&lt;br /&gt;
This error is identical in nature to the &#039;unable to load level&#039; error, except that in this case it is the map level that cannot be loaded. Since a lot of important things are also done at this point, the game cannot simply throw up an error, but must crash. The solutions are the same as given in the level error section above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $6A3B  [$0358W] #Text called from&lt;br /&gt;
%patch $2F1C8 &amp;quot;GameLoop: Insufficient memory to load world map!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $69F6  [$02FBW] #Text called from&lt;br /&gt;
%patch $3063B &amp;quot;GameLoop: Insufficient memory to load world map!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $682C  [$029EW] #Text called from&lt;br /&gt;
%patch $30FCE &amp;quot;GameLoop: Insufficient memory to load world map!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Patch:GAMEMAPS|GAMEMAPS and KDREAMS.MAP]] errors ===&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;GAMEMAPS.CKx&amp;lt;/tt&amp;gt; file is absent (or the equivalent file if &amp;lt;tt&amp;gt;GAMEMAPS.CKx&amp;lt;/tt&amp;gt; has been renamed.) then the game will abort with an error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Galaxy\Dreams map errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4:&lt;br /&gt;
%patch $13363  [$3AEFW] #Text called from&lt;br /&gt;
%patch $3295F &amp;quot;Can&#039;t open GAMEMAPS.CK4!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5:&lt;br /&gt;
%patch $14300  [$3245W] #Text called from&lt;br /&gt;
%patch $33585 &amp;quot;Can&#039;t open GAMEMAPS.CK5!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6:&lt;br /&gt;
%patch $12E94  [$34EFW] #Text called from&lt;br /&gt;
%patch $3421F &amp;quot;Can&#039;t open GAMEMAPS.CK6!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen Dreams:&lt;br /&gt;
%patch $B983  [$283AW] #Text called from&lt;br /&gt;
%patch $262AA &amp;quot;Can&#039;t open KDREAMS.MAP!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RF_SetScrollBlock errors ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the modder has placed too many [[Patch:Scrollbars|scrollbars]] in a level. It should always happen when first entering a level. The error will explain which type of scrollbar is at fault, vertical or horizontal. The only solution to this is to remove scrollbars from the level until the error stops occurring.&lt;br /&gt;
&lt;br /&gt;
If all scrollbars are removed yet the error recurs then it is a patch error and the entire patchfile must be checked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Scroll bar errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $1706B  [$4244W] #Text called from&lt;br /&gt;
%patch $330B4 &amp;quot;RF_SetScrollBlock: Too many horizontal scroll blocks&amp;quot; $00&lt;br /&gt;
%patch $17094  [$4279W] #Text called from&lt;br /&gt;
%patch $330E9 &amp;quot;RF_SetScrollBlock: Too many vertical scroll blocks&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $18008  [$3895W] #Text called from&lt;br /&gt;
%patch $33BD5 &amp;quot;RF_SetScrollBlock: Too many horizontal scroll blocks&amp;quot; $00&lt;br /&gt;
%patch $18031  [$38CAW] #Text called from&lt;br /&gt;
%patch $33C0A &amp;quot;RF_SetScrollBlock: Too many vertical scroll blocks&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $16CDB  [$3C44W] #Text called from&lt;br /&gt;
%patch $34974 &amp;quot;RF_SetScrollBlock: Too many horizontal scroll blocks&amp;quot; $00&lt;br /&gt;
%patch $16D04  [$3C79W] #Text called from&lt;br /&gt;
%patch $349A9 &amp;quot;RF_SetScrollBlock: Too many vertical scroll blocks&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No free spots in Objarray ===&lt;br /&gt;
&lt;br /&gt;
This error occurs at the start of a level when there are too many objects (Enemies, keys, siwtches, etc) in a level. The &#039;object array&#039; can only hold about 128 different objects, that is things in layer 3 of the level (Not tiles of any kind.) and this is why [[TED5]] has a feature to show how many objects exist in the level..&lt;br /&gt;
&lt;br /&gt;
The object array is an area o memory that has a specific amount of memory set aside for any object placed in the level, no matter how much it uses. Therefore the only way to rectify this error is to remove objects from the level, starting with the least significant. (Such at point objects, but not point tiles.)&lt;br /&gt;
&lt;br /&gt;
If this error occurs not when the level starts, but some time after, it is usually due to there being no way to destroy new sprites being produced. For example, if the [[Poison Slug]]&#039;s slime is prevented from drying up, more and more slime will be produced in any level with a slug in it, until there is no more space in memory for them and the game crashes.&lt;br /&gt;
&lt;br /&gt;
This error is included in [[Keen Dreams]], but is called a &#039;sprite array&#039; error, see the below section. In Keen Vorticons the level will simply crash on loading. The limit in Vorticons is 76 sprites or fewer per level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $89FD  [$067FW] #Text called from&lt;br /&gt;
%patch $2F4EF &amp;quot;GetNewObj: No free spots in objarray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $8979  [$05F1W] #Text called from&lt;br /&gt;
%patch $30931 &amp;quot;GetNewObj: No free spots in objarray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $87E1  [$05E9W] #Text called from&lt;br /&gt;
%patch $31319 &amp;quot;GetNewObj: No free spots in objarray!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No free spots in Sprite array ===&lt;br /&gt;
&lt;br /&gt;
This error occurs for the same reasons as the error above; there is no space in the sprite (object) array for new sprites to be placed. However it differs in that it occurs in the middle of gameplay, not when the level is loaded. In other words it occurs when existing sprites that fit into the sprite array produce a new sprite that can&#039;t.&lt;br /&gt;
&lt;br /&gt;
This will happen if any sprite shoots a projectile that isn&#039;t destroyed or shoots fast enough that about 60 new sprites can be onscreen at once or if a marginal level produces just one or two extra sprites. This can be checked using the [[Patch:F10 C Cheat|Count objects cheat]] included in the game for just this purpose. The total number of objects in a level should not exceed 70 or so. If the count is high at the level start, this means the level is dangerously marginal and some objects should be removed from the map. If not then it is a production\disposal problem and regular checks of the count will keep the modder informed as to what id going on.&lt;br /&gt;
&lt;br /&gt;
In [[Keen Dreams]] this cannot occur as the game prevents new sprites being produced when the object array is full. This is a surprising feature. However wen this error &#039;&#039;does&#039;&#039; occur, it is not a sprite array error but an object array error, triggered at the level start. (See above section.) Only the wording is different.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Galaxy placesprite errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $17C1B  [$42C1W] #Text called from&lt;br /&gt;
%patch $33131 &amp;quot;RF_PlaceSprite: No free spots in spritearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $18BB8  [$3912W] #Text called from&lt;br /&gt;
%patch $33C52 &amp;quot;RF_PlaceSprite: No free spots in spritearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $1788A  [$3CC1W] #Text called from&lt;br /&gt;
%patch $349F1 &amp;quot;RF_PlaceSprite: No free spots in spritearray!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $F2A3  [$41ADW] #Text called from&lt;br /&gt;
%patch $27C1D &amp;quot;RF_PlaceSprite: No free spots in spritearray!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Placed uncached sprite ===&lt;br /&gt;
&lt;br /&gt;
This error occurs during gameplay when an object tries to use a graphic image that wasn&#039;t cached at the level start. (See [[Patch:Sprite animations|Animations]] and [[Patch:Sprite cache|Sprite cache]] for an explanation of this.) This is annoyingly common when advanced patching is involved and enemies, etc are using animations they did not originally.&lt;br /&gt;
&lt;br /&gt;
The error comes with a number, which is useful if the modder is using [[Keengraph]] as it will be the same number as the sprite bitmap that was trying to be loaded, usually allowing the modder to check, identify the sprite at fault and alter their patch file accordingly. In Modkeen this is not possible as the sprite bitmaps are not numbered as the game numbers them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Placed uncached sprite error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $17C88  [$42EFW] #Text called from&lt;br /&gt;
%patch $3315F &amp;quot;RF_PlaceSprite: Placed an uncached sprite:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $18C25  [$3940W] #Text called from&lt;br /&gt;
%patch $33C80 &amp;quot;RF_PlaceSprite: Placed an uncached sprite:&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $178F7  [$3CEFW] #Text called from&lt;br /&gt;
%patch $34A1F &amp;quot;RF_PlaceSprite: Placed an uncached sprite:&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tried to remove the player ===&lt;br /&gt;
&lt;br /&gt;
The game tracks a certain sprite (The last Keen-type sprite encountered when loading sprites from the level map.) as the player. The screen will follow it, it will die when the &#039;kill player&#039; code is called, etc. While other sprites can &#039;&#039;act&#039;&#039; like the player, they are not special and can be removed, destroyed, etc. However if due to a certain patch the player sprite is set to action=0 (Nothing, that is, removed from the level.) then the game will crash as it does not have a way to pick a new player sprite.&lt;br /&gt;
&lt;br /&gt;
This is always a patching error. It usually occurs when two sprites collide. As an example, setting Keen&#039;s [[Patch:Sprite type|sprite type]] to 3 (The same as his shot) will cause Keen to stun enemy sprites and vanish. The only way to solve this problem is to check the patch file for any patches that may be causing a problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;&#039;Tried to remove the player&#039; error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $8A69  [$06A5W] #Text called from&lt;br /&gt;
%patch $2F515 &amp;quot;RemoveObj: Tried to remove the player!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $89E5  [$0617W] #Text called from&lt;br /&gt;
%patch $30957 &amp;quot;RemoveObj: Tried to remove the player!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $884D  [$060FW] #Text called from&lt;br /&gt;
%patch $3133F &amp;quot;RemoveObj: Tried to remove the player!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Patch:Sprite shifts|Bad shifts number]] ===&lt;br /&gt;
&lt;br /&gt;
This is a graphics error that occurs when the modder has written an incorrect [[Patch:Sprite shifts|sprite shifts]] entry in &amp;lt;tt&amp;gt;SPRITES.TXT&amp;lt;/tt&amp;gt; (Modkeen) or &amp;lt;tt&amp;gt;LIST.TXT&amp;lt;/tt&amp;gt; (Keengraph) and imported it. This relates to the number of sprite shifts, or how smoothly a sprite animation can move in the level. it can be 1, 2 or 4, but no other number. This number is the last number in every sprite entry in the text file. This error will only occur when an incorrect sprite animation is called, which will help narrow down the search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Galaxy and Dreams shifts errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $13954  [$3B28W] #Text called from&lt;br /&gt;
%patch $32998 &amp;quot;CAL_CacheSprite: Bad shifts number!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $148F1  [$327EW] #Text called from&lt;br /&gt;
%patch $335BE &amp;quot;CAL_CacheSprite: Bad shifts number!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $13485  [$3528W] #Text called from&lt;br /&gt;
%patch $34258 &amp;quot;CAL_CacheSprite: Bad shifts number!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $BEFC  [$2876W] #Text called from&lt;br /&gt;
%patch $262E6 &amp;quot;CAL_CacheSprite: Bad shifts number!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No star specs for object ===&lt;br /&gt;
&lt;br /&gt;
This error occurs only in [[Keen 6]] and is encountered when the game is not told where to put the [[Patch:Stunned sprite stars|stun stars]] when a sprite is stunned. Notably, changing the [[Patch:Nospike|Nospike&#039;s]] sprite type will cause this to happen whenever one is stunned or falls off a cliff.&lt;br /&gt;
&lt;br /&gt;
This error can be fixed by patching the relevant entry for the [[Patch:Stunned sprite stars#Keen_6|stunned sprite star position]] to &amp;lt;tt&amp;gt;$1A6CW&amp;lt;/tt&amp;gt; or another valid value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#No star specs for object error&lt;br /&gt;
%patch $A9A1  [$7F0W] #Text called from&lt;br /&gt;
%patch $31520 &amp;quot;No star spec for object!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SpawnShot - Bad dir ===&lt;br /&gt;
&lt;br /&gt;
This error technically occurs because the player has produced a shot that is moving in an illegal direction (Say up and down at the same time.) In practice this will appear only due to patch errors corrupting the shooting code. (Around $E500) The only solution to this is to check each patch, especially recently added patches to see if this fixes the error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Spawn shot errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $E608  [$184CW] #Text called from&lt;br /&gt;
%patch $306BC &amp;quot;SpawnShot: Bad dir!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $DD37  [$1631W] #Text called from&lt;br /&gt;
%patch $31971 &amp;quot;SpawnShot: Bad dir!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $D8A2  [$1652W] #Text called from&lt;br /&gt;
%patch $32382 &amp;quot;SpawnShot: Bad dir!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Keyholder points to bad spot ===&lt;br /&gt;
&lt;br /&gt;
This error should occur when the player tries to [[Patch:Keygem door|place a key gem to open a door.]] It occurs when the keyholder does not have a correct sprite value over it. usually this happens when the modder forgets to put a value in, giving a default value of 0,0. Other invalid values are those outside the level borders. This error is easy enough to fix since there should only be a small number of keyholders in the level to check for validity.&lt;br /&gt;
&lt;br /&gt;
This error may also occur if a &#039;hidden&#039; keyholder is triggered, say if the modder accidentally gives a tile the keyholder property. (The hidden holder will of course not be given a value and can be hard to find until the player accidentally runs into one while having the right colored gem.)&lt;br /&gt;
&lt;br /&gt;
In either case the best course of action is to play the level and note exactly where the game crashes. This will be the exact location of the broken keyholder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keyholder errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $C2E0  [$1426W] #Text called from&lt;br /&gt;
%patch $30296 &amp;quot;Keyholder points to a bad spot!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $B6FE  [$130EW] #Text called from&lt;br /&gt;
%patch $3164E &amp;quot;Keyholder points to a bad spot!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $B4E1  [$129EW] #Text called from&lt;br /&gt;
%patch $31FCE &amp;quot;Keyholder points to a bad spot!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StartMusic - Bad level number ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when a song is started. This is usually when a level is entered, but may also be when something else changes the music, the ending sequence for example or rescuing an Oracle Council member. StartMusic works by taking a value (3 say) then looking at the level music list and reading that music entry from it to play. (Why it doesn&#039;t just take a music value directly is unknown.) See [[Patch:Music]].&lt;br /&gt;
&lt;br /&gt;
There are two sources of error that may cause this. In the first the entry in the level music list is for a song that doesn&#039;t exist. (Say song 300.) Obviously playing a nonexistent song is impossible. The second cause is if the game is told to play the song of a nonexistent level. This can happen when the background music for say, the ending sequence is set to a nonexistent level (Again, say level 300) Both of these errors will involve a problem in the music patch.&lt;br /&gt;
&lt;br /&gt;
It is also possible a faulty sound file will cause this problem, but this is unlikely.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;&#039;StartMusic - Bad level number&#039; error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $8CAD  [$06CCW] #Text called from&lt;br /&gt;
%patch $2F53C &amp;quot;StartMusic() - bad level number&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $8C29  [$063EW] #Text called from&lt;br /&gt;
%patch $3097E &amp;quot;StartMusic() - bad level number&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $8A91  [$0636W] #Text called from&lt;br /&gt;
%patch $31366 &amp;quot;StartMusic() - bad level number&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MM_Set errors ===&lt;br /&gt;
&lt;br /&gt;
There are two possible errors in the &#039;MM Set&#039;; Purge and Lock. Both are caused by massive memory problems and are always symptomatic of patching errors. The first occurs most often when an exceptionally long string of text is loaded somewhere expecting a short string, such as a level name. This is similar to the &#039;string exceeds width&#039; error above, but moreso. This often happens when a terminal $00 is left out of a [[Patch:Text patches|text patch,]] mixing two strings into one big one.&lt;br /&gt;
&lt;br /&gt;
This can also occur when a non-level music call asks for a song that doesn&#039;t exist. For example, if the[[Patch:Ending sequence|ending sequence]] song is set to level 3&#039;s music, and level 3 plays song 99 (Which doesn&#039;t exist.) then entering level 3 will cause a song error, but winning the game will result in this error. (If the game can be won without entering level 3, then the player will not encounter any error before this one.)&lt;br /&gt;
&lt;br /&gt;
The second occurs more rarely and tends to occur when a patch tries to load something into memory that it shouldn&#039;t. It&#039;s hard to cause, and hard to fix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen MM_Set errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $16091 [$4008W] #Text called from&lt;br /&gt;
%patch $32E78 &amp;quot;MM_SetPurge: Block not found!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $16114 [$4026W] #Text called from&lt;br /&gt;
%patch $32E96 &amp;quot;MM_SetLock: Block not found!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $1702E [$36BFW] #Text called from&lt;br /&gt;
%patch $339FF &amp;quot;MM_SetPurge: Block not found!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $170B1 [$36DDW] #Text called from&lt;br /&gt;
%patch $33A1D &amp;quot;MM_SetLock: Block not found!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $15BC2 [$3A08W] #Text called from&lt;br /&gt;
%patch $34738 &amp;quot;MM_SetPurge: Block not found!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $15C45 [$3A26W] #Text called from&lt;br /&gt;
%patch $34756 &amp;quot;MM_SetLock: Block not found!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== String exceeds width ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when a text window is given a line of text too wide for it. This is nearly always the result of a [[Patch:Text patches|text patch,]] usually when a $0A or $00 is left out, resulting in one long, wide line of text. Close checking of text patches will  often show the problem.&lt;br /&gt;
&lt;br /&gt;
This error can also occur when inputting text into the [[Patch:Story Screen (Galaxy)|star wars story screen,]] in this case the cause is identical, one of the lines of text in the story is too wide and must be reduced. The maximum width of a line of text is approximately 24 characters (Or &amp;quot;123456789012345678901234&amp;quot; for reference when patching.), but this varies with what characters are used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;String exceeds width error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $1A195 [$4721W] #Text called from&lt;br /&gt;
%patch $33591 &amp;quot;US_CPrintLine() - String exceeds width&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $1B133 [$3D3CW] #Text called from&lt;br /&gt;
%patch $3407C &amp;quot;US_CPrintLine() - String exceeds width&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $19E05 [$4121W] #Text called from&lt;br /&gt;
%patch $34E51 &amp;quot;US_CPrintLine() - String exceeds width&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PageLayout errors ===&lt;br /&gt;
&lt;br /&gt;
These errors should be encountered while using the [[Patch:Computer Wrist|Computer Wrist]] or in the [[Patch:Ending sequence|ending sequence.]] They occur when something is wrong relating to the text in these sequences. They will be triggered when the offending sequence is loaded, meaning that each page in the sequence will have to be scanned for possible errors.&lt;br /&gt;
&lt;br /&gt;
The first error, the word limit, occurs when too much text has been placed on a single page. The word limit is such that in order to trigger this error the text will have to spill off the bottom of the page. It usually occurs when two pages are accidentally merged when modding the page text document.&lt;br /&gt;
&lt;br /&gt;
The second error, &#039;Text not headed with ^P&#039; occurs, as would be expected, when text in a page does not start with &#039;^P&#039; This can occur if the sequence document does not start with &#039;^P&#039;, but usually occurs when a page &#039;&#039;that is not the last page in the sequence&#039;&#039; has no text on it at all; this confuses the parser into thinking the &#039;&#039;next&#039;&#039; page has no &#039;^P&#039; header.&lt;br /&gt;
&lt;br /&gt;
The third error, &amp;quot;No ^E to terminate file&amp;quot; occurs when the text in a chunk does not end with &#039;^E&#039;. All text chunks must end with this to tell the game when to stop reading data. This however may occur with a perfectly fine chunk in the [[Patch:Ending sequence (Keen 4)|Keen 4 ending sequence]] if the wrong chunk is used. Due to a unique bug only one specific text chunk can be used to end the game.&lt;br /&gt;
&lt;br /&gt;
All these errors can only be corrected by a modder looking at the offending text document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen PageLayout errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $955F  [$720W] #Text called from&lt;br /&gt;
%patch $2F590 &amp;quot;PageLayout: Word limit exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $96DE  [$740W] #Text called from&lt;br /&gt;
%patch $2F5B0 &amp;quot;PageLayout: Text not headed with ^P&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $98DD  [$76DW] #Text called from&lt;br /&gt;
%patch $2F5DD &amp;quot;CacheLayoutGraphics: No ^E to terminate file!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $E4C7  [$1650W] #Text called from&lt;br /&gt;
%patch $31990 &amp;quot;PageLayout: Word limit exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $E646  [$1670W] #Text called from&lt;br /&gt;
%patch $319B0 &amp;quot;PageLayout: Text not headed with ^P&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $E845  [$169DW] #Text called from&lt;br /&gt;
%patch $319DD &amp;quot;CacheLayoutGraphics: No ^E to terminate file!&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $DFE7  [$1666W] #Text called from&lt;br /&gt;
%patch $32396 &amp;quot;PageLayout: Word limit exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $E0FD  [$1686W] #Text called from&lt;br /&gt;
%patch $323B6 &amp;quot;PageLayout: Text not headed with ^P&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $E2D3  [$16B3W] #Text called from&lt;br /&gt;
%patch $323E3 &amp;quot;CacheLayoutGraphics: No ^E to terminate file!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== USL_ConfirmComm errors ===&lt;br /&gt;
&lt;br /&gt;
This error is very rare and occurs when the [[Patch:Main menu|Main Menu]] is asked to do something it cannot, such as save a game when no game is being played. Getting this error is a sign that some patch has gone severely wrong, interfering with the menu code around $19000-$1C000. The only solution is to make a note of what circumstances cause the error and check the patch file for patches that fix the error when removed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;USL_ConfirmComm errors&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $1AF87  [$4903W] #Text called from&lt;br /&gt;
%patch $33773 &amp;quot;USL_ConfirmComm() - empty comm&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $1BF25  [$3EF4W] #Text called from&lt;br /&gt;
%patch $34234 &amp;quot;USL_ConfirmComm() - empty comm&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $1ABF7  [$437DW] #Text called from&lt;br /&gt;
%patch $350AD &amp;quot;USL_ConfirmComm() - empty comm&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Patch:EGAGRAPH|EGAGRAPH errors]] ===&lt;br /&gt;
&lt;br /&gt;
In [[Keen 4]] the game contains code both to check for &amp;lt;tt&amp;gt;EGAGRAPH&amp;lt;/tt&amp;gt; and if it is not found to create it from two files, &amp;lt;tt&amp;gt;EGA1.CK4&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;EGA2.CK4&amp;lt;/tt&amp;gt;. [[Keen 5]] has the code but it is defective, and [[Keen 6]] does not have this ability at all. The only error that should appear is the &amp;quot;Can&#039;t open EGAGRAPH.CK4!&amp;quot; if the &amp;lt;tt&amp;gt;EGAGRAPH&amp;lt;/tt&amp;gt; file is absent or its name has been patched and a matching file is not present.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Check for EGAGRAPH&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $3CD4  [$0112W] #Check for this file (EGAGRAPH) if not found...&lt;br /&gt;
%patch $3CF7  [$011FW] #Combining text&lt;br /&gt;
%patch $3D03  [$015DW] #Prepare to write data to this file (EGAGRAPH)&lt;br /&gt;
%patch $3D07  [$0154W] #Check for this file (EGA1)&lt;br /&gt;
%patch $3D18  [$016AW] #Can&#039;t rename file&lt;br /&gt;
%patch $3D34  [$0181W] #Rename EGA1 data to this (EGAGRAPH)&lt;br /&gt;
%patch $3D47  [$018EW] #Can&#039;t open EGAGRAPH to dump data&lt;br /&gt;
%patch $3D74  [$01A7W] #Check for this file (EGA2)&lt;br /&gt;
%patch $3D87  [$01B0W] #Can&#039;t find EGA2&lt;br /&gt;
%patch $3E6A  [$01C5W] #Rename this file (EGA2)&lt;br /&gt;
&lt;br /&gt;
%patch $2EF82 &amp;quot;EGAGRAPH.CK4&amp;quot; $00	#Check for this file&lt;br /&gt;
%patch $2EF8F &amp;quot;Combining EGA1.CK4 and EGA2.CK4 into EGAGRAPH.CK4...&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $2EFCD &amp;quot;EGAGRAPH.CK4&amp;quot; $00	#Create this file&lt;br /&gt;
%patch $2EFC4 &amp;quot;EGA1.CK4&amp;quot; $00		#Check, read from this file...&lt;br /&gt;
%patch $2EFDA &amp;quot;Can&#039;t rename EGA1.CK4!&amp;quot; $00&lt;br /&gt;
%patch $2EFF1 &amp;quot;EGAGRAPH.CK4&amp;quot; $00	#...rename to this file&lt;br /&gt;
%patch $2EFFE &amp;quot;Can&#039;t open EGAGRAPH.CK4!&amp;quot; $00&lt;br /&gt;
%patch $2F017 &amp;quot;EGA2.CK4&amp;quot; $00		#Check, read from this file...&lt;br /&gt;
%patch $2F020 &amp;quot;Can&#039;t find EGA2.CK4!&amp;quot; $00&lt;br /&gt;
%patch $2F035 &amp;quot;EGA2.CK4&amp;quot; $00		#Rename this file?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $3CCE  [$00E5W] #Check for this file (EGAGRAPH) if not found...&lt;br /&gt;
%patch $3CF1  [$00F2W] #Combining text&lt;br /&gt;
%patch $3D01  [$0127W] #Check for this file (EGA1)&lt;br /&gt;
%patch $3D12  [$0130W] #Can&#039;t rename file&lt;br /&gt;
%patch $3D41  [$0147W] #Can&#039;t open EGAGRAPH to dump data&lt;br /&gt;
%patch $3D6E  [$0160W] #Check for this file (EGA2)&lt;br /&gt;
%patch $3D81  [$0169W] #Can&#039;t find EGA2&lt;br /&gt;
&lt;br /&gt;
%patch $30425 &amp;quot;EGAGRAPH.CK5&amp;quot; $00	#Check for this file&lt;br /&gt;
%patch $30432 &amp;quot;Combining EGA1.CK5 and EGA2.CK5 into EGAGRAPH.CK5...&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
%patch $30467 &amp;quot;EGA1.CK5&amp;quot; $00		#Check, read from this file...&lt;br /&gt;
%patch $30470 &amp;quot;Can&#039;t rename EGA1.CK5!&amp;quot; $00&lt;br /&gt;
%patch $30487 &amp;quot;Can&#039;t open EGAGRAPH.CK5!&amp;quot; $00&lt;br /&gt;
%patch $304A0 &amp;quot;EGA2.CK5&amp;quot; $00		#Check, read from this file...&lt;br /&gt;
%patch $304A9 &amp;quot;Can&#039;t find EGA2.CK5!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Demo loop exited ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when something goes wrong with the [[Patch:Demo#Main_Menu_Demo_Loop|demo loop]] in Keen Galaxy or Dreams. The exact sources of error vary but are usually a corrupt demo file or a problem with the demo loop code. Checking demo files and demo patches is a good way to debug this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Demo loop exited error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $3ECF  [$01DAW] #Text called from&lt;br /&gt;
%patch $2F04A &amp;quot;Demo loop exited???&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $3EC9  [$018AW] #Text called from&lt;br /&gt;
%patch $304CA &amp;quot;Demo loop exited???&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $3CF8  [$011EW] #Text called from&lt;br /&gt;
%patch $30E4E &amp;quot;Demo loop exited???&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $3BF7  [$0357W] #Text called from&lt;br /&gt;
%patch $23DC7 &amp;quot;Demo loop exited???&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Demo buffer overflow ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when something goes wrong with the [[Patch:F10 D Cheat|demo cheat]] in Keen Galaxy or Dreams. Specifically it occurs when a demo is recorded for too long, exceeding the amount of memory available for storing a demo file. The solution is to stop recording a demo before this happens. If this does not occur during demo recording then it is due to a random patch corrupting the game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Demo buffer overflow error&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $152FA  [$3EFCW] #Text called from&lt;br /&gt;
%patch $32D6C &amp;quot;Demo buffer overflow&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $16297  [$35B4W] #Text called from&lt;br /&gt;
%patch $338F4 &amp;quot;Demo buffer overflow&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $14E2B  [$38FCW] #Text called from&lt;br /&gt;
%patch $3462C &amp;quot;Demo buffer overflow&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $1093A  [$461EW] #Text called from&lt;br /&gt;
%patch $2808E &amp;quot;Demo buffer overflow&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Demo playback exceeded ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when trying to play a demo that is too large for the memory set aside. It is thus similar to the above error except that it occurs when a demo is being played rather than recorded. This should not be possible however if a demo chunk is corrupted or was recorded under different memory conditions than the demo is  being played back then it is possible that this error will occur. The only solution is to use a smaller\shorter demo chunk for this demo. If this error occurs no matter what demo is used or outside of the [[Patch:Demo#Main_Menu_Demo_Loop|demo loop]] then it is due to a random patch corrupting the game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Demo playback exceeded&amp;quot;&amp;gt;&lt;br /&gt;
#Keen 4 :&lt;br /&gt;
%patch $1504B  [$3EE5W] #Text called from&lt;br /&gt;
%patch $32D55 &amp;quot;Demo playback exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 5 :&lt;br /&gt;
%patch $15FE8  [$359DW] #Text called from&lt;br /&gt;
%patch $338DD &amp;quot;Demo playback exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 6 :&lt;br /&gt;
%patch $14B7C  [$38E5W] #Text called from&lt;br /&gt;
%patch $34615 &amp;quot;Demo playback exceeded&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Keen 7 :&lt;br /&gt;
%patch $106E2  [$4607W] #Text called from&lt;br /&gt;
%patch $28077 &amp;quot;Demo playback exceeded&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Freeze errors =&lt;br /&gt;
&lt;br /&gt;
These errors cause the game to freeze, and sometimes cause the music to stick on a single note. The game is unresponsive and must be closed down. These are also known as &#039;divide by zero&#039; errors after their most common cause. There is no way to tell what the error is except via context, timing and trial and error. As such the following subsections describe the cause of the error, not any sort of message the player may get.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Game freezes at ONE MOMENT image ===&lt;br /&gt;
&lt;br /&gt;
This error occurs in Vorticons and is when the game freezes, often with a display of gibberish, at the [[Patch:One Moment Screen (Vorticons)|One Moment screen.]] This is usually caused by a corrputed data file, usually the &amp;lt;tt&amp;gt;SCORE.CKx&amp;lt;/tt&amp;gt; file, but possibly a &amp;lt;tt&amp;gt;*TEXT.CKx&amp;lt;/tt&amp;gt; file or &amp;lt;tt&amp;gt;CTLPANEL.CKx&amp;lt;/tt&amp;gt; file. Deleting or replacing these files should solve the problem.&lt;br /&gt;
&lt;br /&gt;
If the screen fills entirely with gibberish then what has likely happened is that there was no valid one moment graphic in the graphics file. This may have been due to graphic modification or a patch that changes what bitmap is used. (If the game can be run without the patch file but still freezes it is the second option.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level freezes just after loading ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the game freezes shortly after entering a level, usually less than ten seconds after. It does not matter what the player does, though the freeze can be delayed by going to the main menu or checking the status window.&lt;br /&gt;
&lt;br /&gt;
The cause is an animating tile that animates to a non-animating tile. The game tries to animate this tile infinitely fast, freezing the game. This is usually a [[Patch:Tileinfo|tileinfo]] problem and can be resolved by fixing the errant tile. There are two ways to do this.&lt;br /&gt;
&lt;br /&gt;
The first is to check the tileinfo by carefully going over ll the tiles used in the level and checking them. This may miss the tile.&lt;br /&gt;
&lt;br /&gt;
The second is to remove tiles from the level until it no longer freezes, then adding suspect tiles back to see if the error returns. This is often more reliable, but requires the modder to back up their game maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level loads to black screen ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when a sprite is behaving improperly. Usually this is the player sprite or something in the sprite&#039;s [[Patch:Sprite spawning|initiation or spawning code]], since it occurs immediately after the level loads. The most common cause is the modder not putting a player sprite in the level (for example mistaking the &#039;I&#039; Keen helmet for the actual player sprite.) Levels can be debugged by checking the player sprite is present, and if the error persists, removing sprite types from the level one by one and seeing when functionality is restored. (The affected sprite can then be checked over.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level loads to gibberish or gibberish appears while loading ==&lt;br /&gt;
&lt;br /&gt;
This is usually a patch error, but may, in rare circumstances be a level error (See the &#039;other limits&#039; section below.) In short the level has loaded as gibberish, causing the game to display nonsense.&lt;br /&gt;
&lt;br /&gt;
The first step to fixing this is to check if only one level is affected, if all levels are affected this is likely a patch problem. If only one level is affected it may be a patch relating to a sprite appearing only in that level. Otherwise it may be a game limit bug.&lt;br /&gt;
&lt;br /&gt;
If the level is in Vorticons and complex enough it may be that the sprite limit has been reached. In Vorticons only 76 ordinary sprites can be placed in any one level. If this limit is exceeded when the level starts then the level will turn to gibberish and crash. In some level editors this is easy enough to check by adding up all the sprites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other limits\problems =&lt;br /&gt;
&lt;br /&gt;
These are not errors as such, or have no way for the game to handle them, but are limitations that the modder may not be aware of. In some cases it is possible to circumvent these, in other cases not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level height\width limit ===&lt;br /&gt;
&lt;br /&gt;
In Keen Galaxy and Dreams it is impossible for a level to be wider &#039;&#039;or&#039;&#039; taller than 257 tiles. This is because of how the game reads Keen&#039;s position. If a level exceeds one of these dimensions (It cannot exceed both) then a large part of the level, though displaying correctly, will be &#039;uninhabitable&#039; for Keen; he will simply exit the level or die when he enters it.&lt;br /&gt;
&lt;br /&gt;
This is because the game &#039;wraps the level around&#039; so it thinks that most of the level is negative and thus that Keen is outside it, ready to exit to the world map.&lt;br /&gt;
&lt;br /&gt;
It is also possible for a map to be so large it causes its own &#039;map to tall&#039; error, but this is unlikely.&lt;br /&gt;
&lt;br /&gt;
There is no way to circumvent this error at present, nor is there likely to be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maximum number of sprites ===&lt;br /&gt;
&lt;br /&gt;
In Keen galaxy an error will appear if the sprite limit is exceeded. (No free spots in objarray for example.) In Keen Vorticons the level will simply crash on loading. (See freeze errors section above.) The limit in Keen Vorticons is 76 sprites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Forbidden pointer values and gibberish in-level ===&lt;br /&gt;
&lt;br /&gt;
Due to the way the game&#039;s compression works, there are certain values that cannot be used as sprite pointers for doors or switches by naive level editors. This is especially an issue in levels that are 100 tiles wide or wider.&lt;br /&gt;
&lt;br /&gt;
There are three sets of forbidden values that will cause the level to load as gibberish or freeze if placed within it. The first is the value $ABCD which affects the RLEW compression. The second is $xxA7 and the third $xxA8, both of which destroy the Carmack compression of the level. It is unlikely these values will be placed in a level, but it has happened.&lt;br /&gt;
&lt;br /&gt;
Levels saved by [[Abiathar]] are invincible to these problems; it performs RLEW compression and escapes Carmack magic values.&lt;br /&gt;
&lt;br /&gt;
=== Tiles become gibberish ===&lt;br /&gt;
&lt;br /&gt;
There are numerous conditions when a tile will not display correctly. To see examples of this use the [[Patch:F10 Y Cheat|F10 Y cheat]] in Keen 4 or 6. Such gibberish is actually data from memory where the tile &#039;&#039;should&#039;&#039; be.&lt;br /&gt;
&lt;br /&gt;
The first way this may happen is if animating foreground tiles are placed over animating background tiles. Due to the way these work they interfere and result in nonsense. Note that item tiles are animating tiles.&lt;br /&gt;
&lt;br /&gt;
The second way is when a [[Patch:Doors (Galaxy)|door is not set up properly,]] a door must consist of a top tile, any number of middle tiles and a bottom tile, all of which must not animate but have animation targets set &#039;&#039;and&#039;&#039; be part of a door opening tile sequence (By default four frames long.) If any of these conditions is not met, some or all of the door tiles will become gibberish.&lt;br /&gt;
&lt;br /&gt;
The third way this may occur is similar, but involving [[Patch:Bridges and switches|bridges and switches,]] switch tiles must have the switch property and have animation targets but not animate (bridge tiles are the same) They must also loop, so that eventually the bridge or switch can return to its original appearance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maximum number of cached items ===&lt;br /&gt;
&lt;br /&gt;
The maximum number of items the game can cache at once is 1200. This includes sprite images, sounds, tiles, music and other game chunks. Of this tiles are likely to be the largest component. This causes no error, just a game crash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maximum number of sprite images onscreen ===&lt;br /&gt;
&lt;br /&gt;
No more than 60 sprite images can be onscreen at once. This is not 60 sprite, but rather 60 separate sprite image chunks. So a sprite like Keen 4&#039;s moving platform which is one single object with several images counts for more than one sprite image. (The [[Patch:Sphereful|Sphereful]] counts for 5 images for example.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maximum number of affected tiles ===&lt;br /&gt;
&lt;br /&gt;
There is a limit to how many 16x16 tile squares can be updated via scrolling onscreen, having a sprite pass in front of them or animating. Only 90 tiles may do this in any one game loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cannot place Keyholder pointers, Switch pointers or [B] sprites on animating tiles ===&lt;br /&gt;
&lt;br /&gt;
The animation time of an animating tile is stored in the ifnoplane (sprite) layer of the level. This means that any infoplane value that must sit there for the duration of the level will be deleted if the tile (background or foreground) animates. These things include [B] sprites used for changing the direction of moving platforms and pointers for doors and bridges.&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;br /&gt;
{{PatchCategories|Gameplay|}}&lt;br /&gt;
{{PatchCategories|Item|}}&lt;br /&gt;
{{PatchCategories|Misc|}}&lt;br /&gt;
{{PatchCategories|Sprite|}}&lt;br /&gt;
{{PatchCategories|Text|}}&lt;br /&gt;
{{PatchCategories|Tutorial|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch_talk:Levels_(Galaxy)&amp;diff=25573</id>
		<title>Patch talk:Levels (Galaxy)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch_talk:Levels_(Galaxy)&amp;diff=25573"/>
		<updated>2014-03-15T02:04:53Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Asked about changing most advanced editor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abiathar (released Keen Day 2014) contains more features and fewer bugs than TOM, should I change the &amp;quot;most advanced editor&amp;quot; to it? [[User:Fleexy|Fleexy]] ([[User talk:Fleexy|talk]]) 02:04, 15 March 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Galaxy_Tools&amp;diff=25572</id>
		<title>Galaxy Tools</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Galaxy_Tools&amp;diff=25572"/>
		<updated>2014-03-15T02:01:33Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Added Abiathar to the level editor list, reordered the others to be in chronological order&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Game Editing ==&lt;br /&gt;
&lt;br /&gt;
This section is organised by category.  If an editor supports more than one type of editing (such as level editing and graphics editing) it will be listed under both sections.&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[TED5]]&lt;br /&gt;
* [[Keen: Next (level editor)|Keen: Next]]&lt;br /&gt;
* [[The Photachyon Transceiver]]&lt;br /&gt;
* [[The Omegamatic]]&lt;br /&gt;
* [[Abiathar]]&lt;br /&gt;
&lt;br /&gt;
=== Graphics Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[EModKeen]]/[[LModKeen]]&lt;br /&gt;
* [[ModKeen]]&lt;br /&gt;
* [[Keengraph]]&lt;br /&gt;
&lt;br /&gt;
=== Sound Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[KeenWave]] A program to import\export sounds and music, currently a beta, comes with an adlib sound player.&lt;br /&gt;
&lt;br /&gt;
=== Music Editors ===&lt;br /&gt;
&lt;br /&gt;
* [http://adplug.sourceforge.net AdPlug] - standalone DOS program and a Winamp / XMMS plugin for playing Keen&#039;s IMF music.&lt;br /&gt;
* [[IMF2MIDI]] - program to convert IMF songs into MIDI files.&lt;br /&gt;
* [[DRO2MIDI]] - improved program based on IMF2MIDI&lt;br /&gt;
* [[DRO2IMF]] - program to convert DRO files to IMF files.&lt;br /&gt;
* [[IMF Creator]] - program to convert MIDI songs into IMF files.&lt;br /&gt;
&lt;br /&gt;
=== Story / Game Text Editors ===&lt;br /&gt;
&lt;br /&gt;
* [[ModKeen]] For extracting data chunks&lt;br /&gt;
* [[Keengraph]] For extracting data chunks&lt;br /&gt;
* [[TheDraw]] for editing the final text screen.&lt;br /&gt;
* [[Startext]] for making text patches&lt;br /&gt;
&lt;br /&gt;
=== Other editors and editing tools ===&lt;br /&gt;
&lt;br /&gt;
* [[CKPatch]]&lt;br /&gt;
* [[Fixmhead]]&lt;br /&gt;
* [[Ck456Tli]]&lt;br /&gt;
* [[CK456DTli]]&lt;br /&gt;
* [[K5Splode]]&lt;br /&gt;
* [[Galactile]]&lt;br /&gt;
* [[Instant Carma]]&lt;br /&gt;
* [[TEDSetup]]&lt;br /&gt;
* [[The Neural Stunner (utility)|The Neural Stunner]]&lt;br /&gt;
* [[UNLZEXE]], needed to decompress the executable files&lt;br /&gt;
* [[UNP]], needed to decompress the executable files&lt;br /&gt;
* [[Wolf Data Compiler (WDC)]]&lt;br /&gt;
&lt;br /&gt;
== Modding Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Ceilick&#039;s Keen Galaxy Modding Tutorial|Ceilick&#039;s Tutorial]]&lt;br /&gt;
* [[Levellass&#039; Keen Galaxy Modding Tutorial|Levellass&#039; Tutorial]]&lt;br /&gt;
* [http://stefan.lohner-net.de/keen_modding/tutorial/ TheMagician&#039;s Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Game Information ==&lt;br /&gt;
&lt;br /&gt;
* For details on the file formats used by the games, see the [[ModdingWiki:Commander Keen 4-6|Commander Keen 4-6]] section on the ModdingWiki.&lt;br /&gt;
* There is a [[:Category:Patches|list of patches]] that can be incorporated into mods to change the game&#039;s behaviour.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorticon Tools]]&lt;br /&gt;
* [[Other Tools]] (non-Vorticons/Galaxy)&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:The_Universe_Is_Toast&amp;diff=19638</id>
		<title>Talk:The Universe Is Toast</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:The_Universe_Is_Toast&amp;diff=19638"/>
		<updated>2012-03-17T17:14:56Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Does anyone know where this title came from?  It doesn&#039;t seem to be mentioned in the Keen games themselves. -- [[User:Malvineous|Malvineous]] 06:46, 13 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
: I would need to check this out, but I seem to recall that this name was mentioned at the ending of Keen 6. I&#039;m not really sure, however... I&#039;ll check out if it was from somewhere else.[[User:Sega381|Sega381]] 14:25, 13 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nope, I checked the Keen 6 ending - it had even less to say about it than the Keen 5 ending, which is why I went with the K5 screenshot in this article. -- [[User:Malvineous|Malvineous]] 23:48, 13 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: You&#039;re right, and in fact I was thinking about the Keen 5 ending, but neither of them mentions that. At least I know it&#039;s mentioned in the Apogee FAQ, but I had the idea I had heard it before, somehwere else...[[User:Sega381|Sega381]] 21:12, 14 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: This is the most official place I&#039;ve seen the name, besides the FAQ: [http://www.3drealms.com/keenhistory/keenhistory2.html A look back on Commander Keen]. It&#039;s an article on the Apogee website with interviews to the id guys, and it mentions the name.[[User:Sega381|Sega381]] 04:23, 24 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::: Ah, that&#039;s a good reference - I&#039;ve added that to the main article.  Thanks! -- [[User:Malvineous|Malvineous]] 06:37, 24 July 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::: Back when the keen games were just starting to be classified as old, I found the title &amp;quot;Commander Keen 8: The Universe is Toast&amp;quot; featured in a list of games on the ID Games website. ID seemed to think TUIT was just the name of another episode, not a full series alike the FAQ sheet suggests. --[[User:Ipfreely555|Ipfreely555]] 05:09, 21 March 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
My (poor) fangame is a link to this article in the fangames list.  Should there be a separate article or should there be a subsection in this document for it? [[User:Fleexy|Fleexy]] 17:14, 17 March 2012 (GMT)&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Vorticon_Mods&amp;diff=19637</id>
		<title>Vorticon Mods</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Vorticon_Mods&amp;diff=19637"/>
		<updated>2012-03-17T17:10:21Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Corrected Keen -5 information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an alphabetical list of all Keen: Vorticons mods, one-level mods and level packs ever made for Keen. It also includes some in-progress mods.&lt;br /&gt;
&lt;br /&gt;
*Dates format: year-month-day (the release date can be determined by looking at the latest date on the game files)&lt;br /&gt;
&lt;br /&gt;
*Please click on the triangles to sort by different categories. i.e. if you click first on &amp;quot;Modder(s)&amp;quot; then on &amp;quot;Mod of&amp;quot;, you will get a list that is sorted by which game was modded, and further sorted by modder name. Refresh the page to reset all sort settings.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ATTENTION:&#039;&#039;&#039; The downloads for Keen 2 and 3 mods will not include the Keen2 or Keen3 executable (It&#039;s still not free to distribute), you will need to put your own executable in the mod directory and unpack it with [http://www.shikadi.net/wiki/files/Mods/UNLZEXE.zip Unlzexe]&lt;br /&gt;
&lt;br /&gt;
== Mods ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Title&lt;br /&gt;
! Download(s)&lt;br /&gt;
! Release date&lt;br /&gt;
! Modder(s)&lt;br /&gt;
! Mod of&lt;br /&gt;
! # of levels&lt;br /&gt;
! Protagonist&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[A Christmas Mod]]&lt;br /&gt;
|[http://www.bipship.com/mods/christmas1.zip full]&lt;br /&gt;
|2007-12-22&lt;br /&gt;
|[[User:Levellass|Levellass]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Tzen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|A Christmas Mod Mk II: [[Merry Keenmas]]&lt;br /&gt;
|[http://www.bipship.com/mods/christmas2.rar full]&lt;br /&gt;
|2006-01-06&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|graphical remake of Keen 2&lt;br /&gt;
|-&lt;br /&gt;
|[[A Matter of Minkcraft]]&lt;br /&gt;
|[http://www.paramultart.comyr.com/trasharchive/mods/ck1/Kimprov1.zip full]&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|levellass&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.paramultart.comyr.com/kimprov1.html Website] [http://www.pckf.com/viewtopic.php?t=1393&amp;amp;start=0 Discussion] Has music.&lt;br /&gt;
|-&lt;br /&gt;
|[[A New Dope]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/NewDope.zip full]&lt;br /&gt;
|2007-03-14&lt;br /&gt;
|[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A Sham on Inishmort]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Inishmort.zip full]&lt;br /&gt;
|2005-08-17&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|10&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A Very Keen Christmas]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenChristmas.zip full]&lt;br /&gt;
|2005-02-08&lt;br /&gt;
|[[User:Allstories|Allstories]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|graphical remake of Keen 1&lt;br /&gt;
|-&lt;br /&gt;
|[[Aliens vs. Keen]]&lt;br /&gt;
|[http://levellord.toxicsheep.com/AliensvsKeen.zip full]&amp;lt;br/&amp;gt;[http://www.bipship.com/mods/AvKDemo2.rar demo 2]&amp;lt;br/&amp;gt;[http://dosclassics.com/download/341 demo 1]&lt;br /&gt;
|2006-06-07&amp;lt;br/&amp;gt;2005-12-18&amp;lt;br/&amp;gt;2005&lt;br /&gt;
|DivoKeen&amp;lt;br/&amp;gt;[[Levellord]]&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|12&lt;br /&gt;
|Keen&lt;br /&gt;
|first 2 demos by DivoKeen, finished by Levellord&lt;br /&gt;
|-&lt;br /&gt;
|[[Ally&#039;s Mod]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Ally1.zip full]&lt;br /&gt;
|2009-07-24&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&amp;lt;br/&amp;gt;Ally&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Ally&#039;s Mod II]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Ally2.zip full]&lt;br /&gt;
|2009-08-01&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&amp;lt;br/&amp;gt;Ally&lt;br /&gt;
|Keen 2&lt;br /&gt;
|2&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Ally&#039;s Mod III]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Ally3.zip full]&lt;br /&gt;
|2009-08-12&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&amp;lt;br/&amp;gt;Ally&lt;br /&gt;
|Keen 3&lt;br /&gt;
|3&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Armageddon 2: Pluto Burns]]&lt;br /&gt;
|[http://levellord.toxicsheep.com/A-II-PB.zip beta]&amp;lt;br/&amp;gt;[http://dl.dropbox.com/u/3665944/SArmag2.zip super]&lt;br /&gt;
|2005-08-29&amp;lt;br/&amp;gt;2011-03-13&lt;br /&gt;
|Najawa&amp;lt;br/&amp;gt;[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8/17&lt;br /&gt;
|Keen&lt;br /&gt;
|has music&lt;br /&gt;
|-&lt;br /&gt;
|[[Bad Dreams]]&lt;br /&gt;
|[http://dosclassics.com/download/128 full]&lt;br /&gt;
|2004-09-25&amp;lt;br/&amp;gt;&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|14&lt;br /&gt;
|Keen&lt;br /&gt;
|There is also a &amp;quot;[http://www.bp/mods/Bad%20Dreams%204%20Spleen.zip Spleen&#039;s Birthday Edition]&amp;quot; of this&lt;br /&gt;
|-&lt;br /&gt;
|[[Bananasauros]]&lt;br /&gt;
|[http://www.zero1productions.com/billy/vbb/files/bananasauros1.21.rar full v1.21]&amp;lt;br/&amp;gt;[http://www.zero1productions.com/billy/BillsTCs/files/bananasauros1.1.rar full v1.1]&amp;lt;br/&amp;gt;[http://www.zero1productions.com/billy/BillsTCs/files/bananasauros.rar full v1.0]&lt;br /&gt;
|2011-07-26&amp;lt;br/&amp;gt;2010-12-16?&amp;lt;br/&amp;gt;2010-12-15&lt;br /&gt;
|VikingBoyBilly&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Bananasauros&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1743 Discussion] Has music.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bazooka Wowbagger]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Wowbagger.zip full]&lt;br /&gt;
|2003-05-18&lt;br /&gt;
|Paperface&lt;br /&gt;
|Keen 1&lt;br /&gt;
|12&lt;br /&gt;
|Bazooka Wowbagger&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Benvolio&#039;s Puzzle Level]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/PuzzleLevel.zip full]&lt;br /&gt;
|2005-09-01&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Adventures of Bunny Basher|Bunny Basher 1]]&lt;br /&gt;
|[http://dosclassics.com/download/313 full]&lt;br /&gt;
|2004-11-21&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Bunny Basher&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Bunny Basher 2]]&lt;br /&gt;
|[http://www.maguidhir.com/benvolio/ full]&lt;br /&gt;
|2006-01-22&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Bunny Basher&lt;br /&gt;
|in Irish language&lt;br /&gt;
|-&lt;br /&gt;
|[[CGA Keen Episode 1]]&lt;br /&gt;
|[http://www.dosclassics.com/download/324 demo]&lt;br /&gt;
|2005-01-29&lt;br /&gt;
|Quirky Moron&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|Keen&lt;br /&gt;
|abandoned&lt;br /&gt;
|-&lt;br /&gt;
|[[Christmas Special 2004]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Christmas2004.zip full]&lt;br /&gt;
|2005-01-02&lt;br /&gt;
|[[Levellord]]&amp;lt;br/&amp;gt;[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Bleen]]&lt;br /&gt;
|[http://www.paramultart.comyr.com/trasharchive/mods/ck1/Kimprov1.zip full]&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|tulip&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|Bleen&lt;br /&gt;
|[http://www.paramultart.comyr.com/kimprov1.html Website] [http://www.pckf.com/viewtopic.php?t=1393&amp;amp;start=0 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Comrade Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/ComradeKeen.zip demo]&lt;br /&gt;
|2010-06-22&lt;br /&gt;
|[[User:StupidBunny|StupidBunny]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1288 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[The_Clones_of_Evil_1|Clones of Evil 1: The Galaxy of M]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Clones1.zip full]&lt;br /&gt;
|2005-07-19&lt;br /&gt;
|[[User:Genius314|Genius314]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Clouds Unseen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/CloudsUnseen.zip normal]&amp;lt;br&amp;gt;[http://www.shikadi.net/wiki/files/Mods/Keen1/CloudsUnseenGreen.zip verdant]&lt;br /&gt;
|2010-05-20&lt;br /&gt;
|[[User:StupidBunny|StupidBunny]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|11&lt;br /&gt;
|Character&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1203 Discussion] First mod in B/W; Easy and normal version available&lt;br /&gt;
|-&lt;br /&gt;
|[[Dangerous Dave in Copyright Infringement]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Infringement.zip full]&lt;br /&gt;
|2003-08-30&lt;br /&gt;
|[[User:Flaose|Flaose]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Dangerous Dave&lt;br /&gt;
|Version 1.02&lt;br /&gt;
|-&lt;br /&gt;
|[[Dangerous Keen in The Haunted Mansion]]&lt;br /&gt;
|[http://dosclassics.com/download/107 full]&lt;br /&gt;
|2004-3-14&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Daniel&#039;s Keen Mod]]&lt;br /&gt;
|[http://www.bipship.com/mods/Daniel%27s_Keen_MOD.zip beta]&lt;br /&gt;
|2003-10-22&lt;br /&gt;
|Dagneilius&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|abandoned&lt;br /&gt;
|-&lt;br /&gt;
|[[Death to the Vorticons]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Dttv1.zip full]&lt;br /&gt;
|2008-08-26&lt;br /&gt;
|[[User:Shikadi|shikadi]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|half mod, half levelpack&lt;br /&gt;
|-&lt;br /&gt;
|[[Death to the Vorticons 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Dttv2.zip full]&lt;br /&gt;
|2009-02-07&lt;br /&gt;
|[[User:Shikadi|shikadi]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Death to the Vorticons 3]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Dttv3.zip full]&lt;br /&gt;
|2009-03-27&lt;br /&gt;
|[[User:Shikadi|shikadi]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Kidnapped Keen|Decree of the Skree 1: Kidnapped Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KidnappedKeen.zip full]&lt;br /&gt;
|2004-08-25&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen &amp;amp; Norp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Zapping the Zot|Decree of the Skree 2: Zapping the Zot]] &lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Skree2.zip full]&lt;br /&gt;
|2004-11-26&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Return of the Guardians|Decree of the Skree 3: Return of the Guardians]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Skree3.zip full]&lt;br /&gt;
|2005-03-08&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Earl Pedro in &amp;quot;Untitled&amp;quot;|Earl Pedro in &amp;quot;Untitled&amp;quot;]]&lt;br /&gt;
|[http://www.maguidhir.com/fionn/benvolio/benvolio_funpack.zip demo]&lt;br /&gt;
|2011-10-31&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|Earl Pedro&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?p=49073 Discussion] abandoned, released as part of Benvolio&#039;s Fun-Pack 2011&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Dash]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/KeenDash.zip full]&lt;br /&gt;
|2004-10-22&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Null]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/KeenNull.zip full]&lt;br /&gt;
|2004-03-11&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Smile]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Smile.zip full]&lt;br /&gt;
|2005-01-07&lt;br /&gt;
|[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode X]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenX.zip full]&lt;br /&gt;
|2002-06-30&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|18&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://archive.shikadi.net/pckf/other/382.htm Discussion] 2nd-ever Keen mod&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Y]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenY.zip full]&amp;lt;br/&amp;gt;[http://www.bipship.com/mods/keenybeta.zip beta]&lt;br /&gt;
|2003-06-19&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 1&lt;br /&gt;
|21&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Z]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenZ.zip full]&lt;br /&gt;
|2009-01-30&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&amp;lt;br/&amp;gt;[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Fall Up]]&lt;br /&gt;
|[http://www.keeniverse.net/keen/must/die/fall_up.zip full]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1668 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[The Four Golden Crystals]]&lt;br /&gt;
|[http://dosclassics.com/download/4 full]&lt;br /&gt;
|2003-01-28&lt;br /&gt;
|Unfleexable&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Generic Mod I]]&lt;br /&gt;
|[http://www.bipship.com/mods/Generic1.zip full]&lt;br /&gt;
|2005-03-14&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Generic Mod II]] (Jetboy)&lt;br /&gt;
|[http://www.keeniverse.net/m.php?id=54 full]&lt;br /&gt;
|2005-03-15&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|Jetboy&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Generic Mod III]]&lt;br /&gt;
|[http://www.bipship.com/mods/Generic3.zip full]&lt;br /&gt;
|2005-03-28&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|Xky Rauh&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Grand Intellect: Doomship Dilemma]]&lt;br /&gt;
|[http://levellord.toxicsheep.com/MORT.zip full]&amp;lt;br/&amp;gt;[http://dosclassics.com/download/117 beta 2]&amp;lt;br/&amp;gt;[http://dosclassics.com/download/116 beta 1]&lt;br /&gt;
|2009-07-15&lt;br /&gt;
|Dr. Villain&amp;lt;br/&amp;gt;[[User:Levellass|Levellass]]&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|13&lt;br /&gt;
|Mortimer McMire&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Grand Intellect: Fathership Revenge]]&lt;br /&gt;
|[http://files.commanderkeen.org/users/szemigi/Mort2.zip full]&lt;br /&gt;
|2009-08-16&lt;br /&gt;
|[[User:szemigi|szemigi]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|18&lt;br /&gt;
|Mortimer McMire&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=809 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[The Grand Intelligence: Cybernetic Dream]]&lt;br /&gt;
|[http://www.mediafire.com/download.php?e4f1i3955d2kj9m full]&amp;lt;br&amp;gt;[http://www.mediafire.com/download.php?8so1hhubzn9ib79 v1.1]&lt;br /&gt;
|2011-05-18&lt;br /&gt;
|[[User:szemigi|szemigi]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|20&lt;br /&gt;
|Martinez McMeyer&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1954 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Halloween Horrors]]&lt;br /&gt;
|[http://www.bipship.com/mods/Halloween.zip full]&lt;br /&gt;
|2006-11-26&lt;br /&gt;
|[[Levellord]]&amp;lt;br/&amp;gt;[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|14&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Harvey&#039;s Mod]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Harvey1.zip full]&lt;br /&gt;
|2005-09-04&lt;br /&gt;
|Harvey&amp;lt;br/&amp;gt;[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Harvey&#039;s Mod 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Harvey2.zip full]&lt;br /&gt;
|2007-12-03&lt;br /&gt;
|Harvey&amp;lt;br/&amp;gt;[[Levellord]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|13&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Hiding from the Sky]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenK.zip full]&lt;br /&gt;
|2005-01-23&lt;br /&gt;
|Karz&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Highway Blues]]&lt;br /&gt;
|[http://www.maguidhir.com/fionn/benvolio/benvolio_funpack.zip demo]&lt;br /&gt;
|2011-10-31&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?p=49073 Discussion] abandoned, released as part of Benvolio&#039;s Fun-Pack 2011&lt;br /&gt;
|-&lt;br /&gt;
|[[How Bleen Saved Kwanzaa]]&lt;br /&gt;
|[http://www.zero1productions.com/billy/BillsTCs/files/kwanzaa.rar full]&lt;br /&gt;
|2011-01-08&lt;br /&gt;
|Paramultart&amp;lt;br/&amp;gt;VikingBoyBilly&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Bleen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1782 Discussion] Has music.&lt;br /&gt;
|-&lt;br /&gt;
|[[How the Vorticon Stole Christmas]] (Gorti Vrinch)&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Gortivrinch.zip special edition]&lt;br /&gt;
|2008-12-20&lt;br /&gt;
|[[User:Stealthy71088|Stealthy71088]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|Gorti Vrinch&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[In the Bloogbrain]]&lt;br /&gt;
|[http://www.paramultart.comyr.com/trasharchive/mods/ck1/Kimprov1.zip full]&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|Bonevelous&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.paramultart.comyr.com/kimprov1.html Website] [http://www.pckf.com/viewtopic.php?t=1393&amp;amp;start=0 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[In the Bobrick Tower]]&lt;br /&gt;
|[http://files.commanderkeen.org/users/stupidbunny/BTOWER.zip full]&lt;br /&gt;
|2012-03-14&lt;br /&gt;
|[[User:StupidBunny|StupidBunny]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=2309 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Crash on Gobo III|Invasion of the Yorps 1: Crash on Gobo III]]&lt;br /&gt;
|[http://dosclassics.com/download/5 full]&lt;br /&gt;
|2002-09-24&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|10&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Crash on Gobo III#Remastered Version|Invasion of the Yorps 1: Crash on Gobo III Remastered]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Gobo3se.zip full]&lt;br /&gt;
|2003-03-15&lt;br /&gt;
|Unfleexable&lt;br /&gt;
|Keen 1&lt;br /&gt;
|10&lt;br /&gt;
|Keen&lt;br /&gt;
|slightly modified version of [[Crash on Gobo III]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Planet Destruction|Invasion of the Yorps 2: Planet Destruction]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/PD.zip full (2009 version)]&lt;br /&gt;
|2003-04-29&amp;lt;br/&amp;gt;2009-10-04&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&amp;lt;br&amp;gt;[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Tribulation of the Yorps|Invasion of the Yorps 3: Tribulation of the Yorps]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Tribulation.zip full]&lt;br /&gt;
|2009-08-30&lt;br /&gt;
|[[User:Tulip|Tulip]]&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=837 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Jetboy Remake]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Jetboy.zip full]&lt;br /&gt;
|2005-02-13&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Jetboy&lt;br /&gt;
|original keen 2 levels, changed physics for player&lt;br /&gt;
|-&lt;br /&gt;
|[[Justice and Freedom]]&lt;br /&gt;
|[http://www.mediafire.com/?omkxz0qvnj2 full]&lt;br /&gt;
|2009-08-20&lt;br /&gt;
|[[JM2008]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=816 Discussion] very few changes&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen -5]]&lt;br /&gt;
|[http://dl.dropbox.com/u/3771470/k-5demo2.zip demo 2]&amp;lt;br/&amp;gt;[http://home.mchsi.com/~bootsisbig/k-5demo1.zip demo 1]&lt;br /&gt;
|2010-03-14&amp;lt;br/&amp;gt;2009-10-22&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|15&lt;br /&gt;
|Keen&lt;br /&gt;
|Discussion: [http://www.pckf.com/viewtopic.php?t=927 demo 1] [http://www.pckf.com/viewtopic.php?t=1091 demo 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen -6]]&lt;br /&gt;
|[http://home.mchsi.com/~bootsisbig/keen-6.zip full]&lt;br /&gt;
|2009-08-08&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=793 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 0]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Keen0.zip full]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Mods/Keen1/Keen0Fools.zip weird edition]&lt;br /&gt;
|2004-02-26&lt;br /&gt;
|[[User:EricMushroomWilson|ElecDude33]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 1 640x480 Redux]]&lt;br /&gt;
|[http://files.commanderkeen.org/users/omp/keen12h.zip full]&lt;br /&gt;
|2010-08-17&lt;br /&gt;
|[[User:Lemm|Lemm]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|Graphics unchanged; Game runs at 640x480 in Dosbox emulating Paradise PVGA1A SVGA&lt;br /&gt;
|-&lt;br /&gt;
|[[Keenbot]]&lt;br /&gt;
|[http://dosclassics.com/download/120 beta]&lt;br /&gt;
|2004-07-05&lt;br /&gt;
|Victor4k&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|Keenbot&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen in Mineepleo]]&lt;br /&gt;
|[http://www.mediafire.com/?tnuuwaoscmv demo]&lt;br /&gt;
|2009-03-14&lt;br /&gt;
|Harvey&lt;br /&gt;
|Keen 1&lt;br /&gt;
|5&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Rescue]]&lt;br /&gt;
|[http://dl.dropbox.com/u/18319523/releases/krescue.zip full]&lt;br /&gt;
|2012-03-14&lt;br /&gt;
|[[User:Vikingboybilly|Vikingboybilly]] and [[User:Paramultart|Paramultart]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Marta&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=2303 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen S]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/KeenS.zip full]&lt;br /&gt;
|2010-03-13&lt;br /&gt;
|[[User:Shikadi|Shikadi]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1085 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen T]]&lt;br /&gt;
|[http://www.bipship.com/mods/keen%20t.rar full]&lt;br /&gt;
|2010-11-17&lt;br /&gt;
|[[User:Shikadi|Shikadi]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1651 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Static]]&lt;br /&gt;
|[http://www.mediafire.com/?2fbeoma6zo6b9h2 full]&lt;br /&gt;
|1999-04-15&lt;br /&gt;
|CrazyKeen&lt;br /&gt;
|Keen 1-3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://skyscraper.fortunecity.com/null/816/ckstatic.html Website]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Universe: Aliens Ate my Homework]]&lt;br /&gt;
|[http://www.zapzot.net/mods/Universe1.zip full]&lt;br /&gt;
|2006-5-27&lt;br /&gt;
|[[User:Stealthy71088|Stealthy71088]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Q]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/KeenQ.zip full]&lt;br /&gt;
|2007-11-09&lt;br /&gt;
|Joriz::&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=61 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen&#039;s Pepsi Craving]]&lt;br /&gt;
|[http://dl.dropbox.com/u/12906264/Keen&#039;s%20Pepsi%20Craving%20-%20Demo%201.zip demo]&lt;br /&gt;
|2011-08-11&lt;br /&gt;
|Najawa&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://keenmodding.org/viewtopic.php?t=1534 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[The Last Moon]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Lastmoon.zip full]&lt;br /&gt;
|2004-07-25&lt;br /&gt;
|[[User:Allstories|Allstories]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|12&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Lego Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Legokeen.zip full]&lt;br /&gt;
|2003-12-12&lt;br /&gt;
|Ilsoap&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Lego Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Lord of the Rings: The Shards of Narsil]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/abandoned/Lotr.zip demo 1]&amp;lt;br /&amp;gt;[http://www.shikadi.net/wiki/files/Mods/abandoned/Lotr1.5.zip demo 2]&lt;br /&gt;
|2005-09-25&lt;br /&gt;
|Najawa&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Legolas&lt;br /&gt;
|[http://publiccommanderkeenforum.yuku.com/topic/912/Lord-of-the-Rings Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Marooned on Mars Part II]]&lt;br /&gt;
|[http://www.bipship.com/mods/keen-1a.zip full]&lt;br /&gt;
|2003-09-02&lt;br /&gt;
|Matze&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|Matze considers it a levelpack with modified graphics&lt;br /&gt;
|-&lt;br /&gt;
|[[Mars Kingdoms]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/abandoned/marsk.zip demo]&lt;br /&gt;
|2009-11-04&lt;br /&gt;
|thehackercat&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=948 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Marta 0|Marta 0 - Marta&#039;s Moon Adventure]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Marta0.zip full]&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|[[User:VikingBoyBilly|VikingBoyBilly]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Marta&lt;br /&gt;
|Improv competition entry [http://www.paramultart.comyr.com/kimprov1.html Website] [http://www.pckf.com/viewtopic.php?t=1393&amp;amp;start=0 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Mondochrome]]&lt;br /&gt;
|[http://dl.dropbox.com/u/3700644/keen/mods/mondo/mondo.zip full]&lt;br /&gt;
|2011-02-05&amp;lt;br/&amp;gt;2010-12-14&lt;br /&gt;
|[[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16 + 1&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1742 Discussion] Includes bonus &amp;quot;silly&amp;quot; level&lt;br /&gt;
|-&lt;br /&gt;
|[[OrbKeen1|Monky Business: An Essence of Mayhem]]&lt;br /&gt;
|[http://dosclassics.com/download/121 beta]&lt;br /&gt;
|2004-08-07&lt;br /&gt;
|[[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Musical Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/MusicalKeen.zip full]&lt;br /&gt;
|2005-07-26&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Norp the Yorp 1|Norp the Yorp 1: Inside Mortimer&#039;s Computer]]&lt;br /&gt;
|[http://dosclassics.com/download/7 full]&lt;br /&gt;
|2002-08-31&lt;br /&gt;
|[[Xtraverse]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Norp&lt;br /&gt;
|[http://archive.shikadi.net/pckf/unofficial/533.htm Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Norp the Yorp 2|Norp the Yorp 2: Diffusion]]&lt;br /&gt;
|[http://www.bipship.com/mods/n2.zip full]&lt;br /&gt;
|2002-12-23&lt;br /&gt;
|[[Xtraverse]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Norp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Norp the Yorp 3|Norp the Yorp 3: Brain Damage]]&lt;br /&gt;
|[http://www.bipship.com/mods/norp3.zip full]&lt;br /&gt;
|2003-02-03&lt;br /&gt;
|[[Xtraverse]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Norp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Norp the Yorp 3.5|Norp the Yorp 3.5: The Maze of Doom]]&lt;br /&gt;
|[http://www.bipship.com/mods/norpmaze.zip full]&lt;br /&gt;
|2005-03-23&lt;br /&gt;
|[[Xtraverse]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Norp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Oasiz&#039;s Mod]]&lt;br /&gt;
|[http://www.zapzot.net/mods/Oasiz.zip full]&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|Oasiz&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Onward: Silcar 1: Nightmare Before Teatime]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Silcar1.zip full]&lt;br /&gt;
|2008-06-22&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Onward: Silcar 2: Flee from Fleet]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Silcar2.zip full]&lt;br /&gt;
|2008-08-03&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Onward: Silcar 3: The Evil that Meets the Eye]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Silcar3.zip full]&lt;br /&gt;
|2008-09-15&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Onward: Silcar 4: The Civilization Inside]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Silcar4.zip full]&lt;br /&gt;
|2009-03-14&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Adventures of The Oracle Janitor|Oracle Janitor 1: The Adventures of The Oracle Janitor]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Oj1.zip full]&lt;br /&gt;
|2005-01-27&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Oracle Janitor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Oracle Janitor 2|Oracle Janitor 2: Mystery of the Monastery]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Oj2.zip full]&lt;br /&gt;
|2005-03-13&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|Oracle Janitor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Oracle Janitor 3|Oracle Janitor 3: Space Pirate Trouble]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Oj3.zip full]&lt;br /&gt;
|2005-08-03&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|Oracle Janitor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Patchwork Mod I]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Patchwork1.zip full]&lt;br /&gt;
|2004-06-14&lt;br /&gt;
|Keen community&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Patchwork Mod II]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Patchwork2.zip full]&lt;br /&gt;
|2005-06-29&lt;br /&gt;
|Keen community&lt;br /&gt;
|Keen 2&lt;br /&gt;
|22&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Patchwork Mod III]]&lt;br /&gt;
|[http://levellord.toxicsheep.com/PM3.zip full]&lt;br /&gt;
|2008-10-29&lt;br /&gt;
|Keen community&lt;br /&gt;
|Keen 3&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Perilous Pursuit]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Pursuit.zip full]&lt;br /&gt;
|2005-01-24&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&amp;lt;br/&amp;gt;[[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Psychedelic Mod]]&lt;br /&gt;
|[http://www.maguidhir.com/fionn/benvolio/benvolio_funpack.zip demo]&lt;br /&gt;
|2011-10-31&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|5&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?p=49073 Discussion] abandoned, released as part of Benvolio&#039;s Fun-Pack 2011&lt;br /&gt;
|-&lt;br /&gt;
|[[Redemption]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/abandoned/CC2unfinished.zip demo]&lt;br /&gt;
|2005-07-08&lt;br /&gt;
|[[User:Allstories|Allstories]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|Becky Blaze&lt;br /&gt;
|[http://publiccommanderkeenforum.yuku.com/topic/608 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Retrosis]]&lt;br /&gt;
|[http://www.jimage.org/keen/Retrosis01.zip Demo 2]&amp;lt;br/&amp;gt;[http://www.jimage.org/keen/Retrosis00.zip Demo 1]&lt;br /&gt;
|2010-07-29&amp;lt;br/&amp;gt;2010-03-14&lt;br /&gt;
|[[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|9&lt;br /&gt;
|Pogo with an Eye&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1089 Discussion] Has music.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vanished To Venus|Revenge of the Shikadi 1: Vanished to Venus]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Venus.zip full]&lt;br /&gt;
|2004-08-30&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Stopping the Skypest|Revenge of the Shikadi 2: Stopping the Skypest]]&lt;br /&gt;
|[http://www.bipship.com/mods/benvolio_skypest.zip full]&lt;br /&gt;
|2004-08-30&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|17&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Exiting Epsilon|Revenge of the Shikadi 3: Exiting Epsilon]]&lt;br /&gt;
|[http://www.bipship.com/mods/benvolio_epsilon.zip full]&lt;br /&gt;
|2004-08-30&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|23&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Ripped Mod]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Ripped.zip full]&lt;br /&gt;
|2005-03-26&lt;br /&gt;
|[[Levellord]]&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Xky Rauh&lt;br /&gt;
|slightly edited Keen 1 levels&lt;br /&gt;
|-&lt;br /&gt;
|[[Robot Rebellion]]&lt;br /&gt;
|[http://dosclassics.com/download/108 full]&lt;br /&gt;
|2004-03-13&lt;br /&gt;
|[[User:Multimania|Multimania]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Rorie&#039;s Birthday Mod]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Rorie.zip full]&lt;br /&gt;
|2004-10-20&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|George W. Bush&lt;br /&gt;
|slightly edited Keen 1 levels&lt;br /&gt;
|-&lt;br /&gt;
|[[The Search for the Sentinel]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Sentinel.zip full]&lt;br /&gt;
|2004-08-08&lt;br /&gt;
|Kohntarkosz&lt;br /&gt;
|Keen 1&lt;br /&gt;
|12&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ShadowKeen1|Shadow Keen 1]]&lt;br /&gt;
|[http://www.keeniverse.net/m.php?id=16 full v2]&amp;lt;br/&amp;gt;[http://www.dosclassics.com/download/106 full v1]&lt;br /&gt;
|2004-02-06&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|32&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ShadowKeen2|Shadow Keen 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen2/Shadowkeen2.zip full]&lt;br /&gt;
|2004-07-17&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|39&lt;br /&gt;
|Keen&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ShadowKeen3|Shadow Keen 3]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/Shadowkeen3.zip full]&lt;br /&gt;
|2004-10-07&lt;br /&gt;
|[[Levellord]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Shmaynoria]]&lt;br /&gt;
|[http://www.paramultart.comyr.com/trasharchive/mods/shmay/SHMAYv1.zip full]&lt;br /&gt;
|2010-11-02&lt;br /&gt;
|[[Paramultart]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|11&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1601 Discussion] Has music.&lt;br /&gt;
|-&lt;br /&gt;
|[[Story Land]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Storyland.zip full]&lt;br /&gt;
|2005-09-03&lt;br /&gt;
|[[User:Ceilick|Ceilick]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Super Mario Brothers 1]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/SuperMarioBrothers1.zip full]&lt;br /&gt;
|2010-10-01&lt;br /&gt;
|[[User:Szemigi|Szemigi]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|30&lt;br /&gt;
|Mario&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1501 Discussion] remake of the NES Super Mario Bros. game &lt;br /&gt;
|-&lt;br /&gt;
|[[Thwarting Mort]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/ThwartingMort.zip full]&lt;br /&gt;
|2005-01-08&lt;br /&gt;
|[[User:Benvolio|Benvolio]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|9&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Trapped Keen|Trapped Keen (inside his Gameboy)]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen3/TrappedKeen.zip full]&lt;br /&gt;
|2010-08-25&lt;br /&gt;
|[[User:Shikadi|shikadi]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|21&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1407 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Vox 1]]&lt;br /&gt;
|[http://www.bipship.com/mods/vox1.zip beta]&lt;br /&gt;
|2008-07-15&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 1&lt;br /&gt;
|20&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vox 2]]&lt;br /&gt;
|[http://www.bipship.com/mods/vox2.zip beta]&lt;br /&gt;
|2008-07-15&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vox 3]]&lt;br /&gt;
|[http://www.bipship.com/mods/vox3.zip beta]&lt;br /&gt;
|2008-07-15&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xky&#039;s One Level Mod]]&lt;br /&gt;
|[http://www.keeniverse.net/m.php?id=48 full]&lt;br /&gt;
|2005-03-13&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Keen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Yorphius II]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/Keen1/Yorphius.zip full]&amp;lt;br/&amp;gt;[http://www.bipship.com/mods/beta.zip beta]&lt;br /&gt;
|2002-06-25&lt;br /&gt;
|[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|Keen&lt;br /&gt;
|[http://archive.shikadi.net/pckf/other/377.htm Discussion] The first-ever mod&lt;br /&gt;
|-&lt;br /&gt;
|[[Zelda II]]&lt;br /&gt;
|[http://dosclassics.com/download/111 full]&lt;br /&gt;
|2004-01-22&lt;br /&gt;
|CheesyDave&lt;br /&gt;
|Keen 1&lt;br /&gt;
|21&lt;br /&gt;
|Link&lt;br /&gt;
|remake of the classic NES Zelda game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Level Packs ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Title&lt;br /&gt;
! Download(s)&lt;br /&gt;
! Release date&lt;br /&gt;
! Builder(s)&lt;br /&gt;
! Pack of&lt;br /&gt;
! # of levels&lt;br /&gt;
! Notes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[A New Dope#Levelpacks|A New Dope Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/DopePack.zip full]&lt;br /&gt;
|2009-08-09&lt;br /&gt;
|[[User:shikadi|shikadi]]&lt;br /&gt;
|A New Dope&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A.A.&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/259 full]&lt;br /&gt;
|1999-08-02&lt;br /&gt;
|A.A.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A.R.&#039;s Keen 1 Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.a_r_.k1.1999-03-07.zip full]&lt;br /&gt;
|1999-03-07&lt;br /&gt;
|A.R.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A.R.&#039;s Puzzle Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/291 full]&lt;br /&gt;
|1999-01-25&lt;br /&gt;
|A.R.&lt;br /&gt;
|Keen 1&lt;br /&gt;
|10&lt;br /&gt;
|Better known as Unknown I&#039;s 1st Levelpack&lt;br /&gt;
|-&lt;br /&gt;
|[[Adurdin&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/295 full]&lt;br /&gt;
|2000-12-21&lt;br /&gt;
|adurdin&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Airefresco&#039;s Keen 1 Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.airefresco.k1.1999-06-18.zip full]&lt;br /&gt;
|1999-06-18&lt;br /&gt;
|Airefresco&lt;br /&gt;
|Keen 1&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Airefresco&#039;s Keen 2 Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/296 full]&lt;br /&gt;
|1999-07-10&lt;br /&gt;
|Airefresco&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Aria AmirYar&#039;s Levelpack]]&lt;br /&gt;
|[http://cc314.shikadi.net/aria01.zip full]&lt;br /&gt;
|1999-11-22&lt;br /&gt;
|Aria AmirYar&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Pass Competition]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen3/l.keen_community.k3.2010-08-23.zip full]&lt;br /&gt;
|2010-08-23&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Keen 3&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Best Mod Ever Made]]&lt;br /&gt;
|[http://www.2shared.com/file/kwzEn0gd/TBMEM.html demo]&lt;br /&gt;
|2010-12-14&lt;br /&gt;
|[[User:CKeen|CKeen]]&lt;br /&gt;
|Keen 2&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[BlueBounder&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/300 full]&lt;br /&gt;
|2002-06-01&lt;br /&gt;
|BlueBounder&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CK Guy&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/310 full]&lt;br /&gt;
|2004-04-30&lt;br /&gt;
|[[User:CK Guy|CK Guy]]&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode X#Level pack|Community Keen X Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/Xpackr2.zip release 2]&lt;br /&gt;
|2010-03-14&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Keen X&lt;br /&gt;
|10&lt;br /&gt;
|Discussion: [http://www.pckf.com/viewtopic.php?t=945 release 1] [http://www.pckf.com/viewtopic.php?t=1090 release 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Smile#Levelpacks|Community Smile Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/PCKFSmilePack.zip full]&lt;br /&gt;
|2009-08-30&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Episode Smile&lt;br /&gt;
|13&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?p=15708#15708 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Dagneilius&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen3/l.dagneilius.k3.2003-07-06.zip full]&lt;br /&gt;
|2003-07-06&lt;br /&gt;
|Dagneilius&lt;br /&gt;
|Keen 3&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Dark Side of Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.mrc_marky.k1.1999-11-22.zip full]&lt;br /&gt;
|1999-11-22&lt;br /&gt;
|MRC Marky&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Dungeon of Mystery]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.perry_scanlon.k1.2003-12-15.zip full]&lt;br /&gt;
|2003-12-15&lt;br /&gt;
|Perry Scanlon&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Engine Room and First Level]]&lt;br /&gt;
|[http://www.dosclassics.com/download/297 full]&lt;br /&gt;
|2003-03-17&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 2&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Smile#Levelpacks|Episode Gnash]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/EpisodeGnash.zip full]&lt;br /&gt;
|2009-09-01&lt;br /&gt;
|[[User:Fleexy|Fleexy]]&amp;lt;br/&amp;gt;HoboRed&lt;br /&gt;
|Episode Smile&lt;br /&gt;
|16&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=840 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Extreme Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.perry_scanlon.k1.2003-03-01.zip full]&lt;br /&gt;
|2003-03-01&lt;br /&gt;
|Perry Scanlon&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Flaose&#039;s Original Level Pack]]&lt;br /&gt;
|[http://cc314.shikadi.net/flaose01.zip full]&lt;br /&gt;
|1999-01-18&lt;br /&gt;
|[[User:Flaose|Flaose]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|Better known as Unknown II&#039;s 1st and 2nd levelpacks&lt;br /&gt;
|-&lt;br /&gt;
|[[The Freaking Vorticon]]&lt;br /&gt;
|[http://www.dosclassics.com/download/266 full]&lt;br /&gt;
|2001-08-08&lt;br /&gt;
|Pablo Dictter&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[GARGapplesauce&#039;s CK1 Levelpack]]&lt;br /&gt;
|[http://applesaucewiki.wikispaces.com/file/view/CK1-001.zip/181455435/CK1-001.zip demo]&lt;br /&gt;
|2010-11-20&lt;br /&gt;
|GARGapplesauce&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1660 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Christmas Special 2004#Levelpacks|Happy Easter Pack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/EasterPack.zip full]&lt;br /&gt;
|2009-04-12&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Christmas Special 2004&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[I Am Frozen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.valerio.k1.2002-05-08.zip full]&lt;br /&gt;
|2002-05-08&lt;br /&gt;
|Valerio&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Ice Factory]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.xky_rauh.k1.1998-01-14.zip full]&lt;br /&gt;
|1998-01-14&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Ice Levels]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.neil_mcrae.k1.1999-04-18.zip full]&lt;br /&gt;
|1999-04-18&lt;br /&gt;
|Neil McRae&lt;br /&gt;
|Keen 1&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Ilsoap&#039;s Keen 1 Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.ilsoap.k1.2002-06-18.zip full v3]&amp;lt;br/&amp;gt;[http://dosclassics.com/download/271 full v2]&amp;lt;br/&amp;gt;[http://dosclassics.com/download/272 full v1]&lt;br /&gt;
|2002-06-18&amp;lt;br/&amp;gt;1999-09-01&amp;lt;br/&amp;gt;1999-01-26&lt;br /&gt;
|Ilsoap&lt;br /&gt;
|Keen 1&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Jumping Practice]]&lt;br /&gt;
|[http://www.dosclassics.com/download/274 full]&lt;br /&gt;
|1999-04-27&lt;br /&gt;
|Justin&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 1 BwB Level]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.flaose.k1.1999-01-20.zip full]&lt;br /&gt;
|1999-01-20&lt;br /&gt;
|[[User:Flaose|Flaose]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|Often called by the misnomer &#039;&#039;Flaose&#039;s First Levels&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 1 Level Competition Level Pack (January 2007)|Keen 1 Competition Level Pack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.keen_community.k1.2007-01-01.zip full]&lt;br /&gt;
|2007-01-01&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1032 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 2 Competition Level Pack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen2/l.keen_community.k2.2007-03-17.zip full]&lt;br /&gt;
|2007-03-17&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Keen 2&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen 3 Part 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen3/l.dibodo.k3.2010-10-16.01.zip normal]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Packs/Keen3/l.dibodo.k3.2010-10-16.02.zip easy]&lt;br /&gt;
|2010-10-16&lt;br /&gt;
|Dibodo&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1544 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Armageddon]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.adam.k1.1999-04-21.zip full]&lt;br /&gt;
|1999-04-21&lt;br /&gt;
|Adam&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen XMas 2010 Levelpack]]&lt;br /&gt;
|[http://dl.dropbox.com/u/3665944/Xmaspack.zip full]&lt;br /&gt;
|2010-12-24&lt;br /&gt;
|[[User:Tulip|Tulip]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1765 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[KMO Default Levels]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.peder_johnson.k1.1999-02-13.zip full]&lt;br /&gt;
|1999-02-13&lt;br /&gt;
|Peder Johnson&lt;br /&gt;
|Keen 1&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Kuliwil&#039;s Level Pack]]&lt;br /&gt;
|[http://filedump.onecuckoosnest.com/LEVEL01.CK1 level01]&amp;lt;br/&amp;gt;[http://filedump.onecuckoosnest.com/LEVEL02.CK1 level02]&amp;lt;br/&amp;gt;[http://dl.dropbox.com/u/12124596/Kuliwil%27s%20levels.zip FAIL version]&lt;br /&gt;
|2011-01-02&lt;br /&gt;
|Kuliwil&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1774 Discussion]. &amp;quot;FAIL version&amp;quot; features [http://www.youtube.com/watch?v=1Xm2GCRCfcA FAIL].&lt;br /&gt;
|-&lt;br /&gt;
|[[Lego Levels]]&lt;br /&gt;
|[http://www.keeniverse.net/ckfiles/levels/legolevs.zip full]&lt;br /&gt;
|2010-02-09&lt;br /&gt;
|KeenRush&lt;br /&gt;
|Lego Keen&lt;br /&gt;
|7&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1040 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Manboy&#039;s Keen 1 Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.manboy.k1.2001-09-27.zip full]&lt;br /&gt;
|2001-09-27&lt;br /&gt;
|Manboy&lt;br /&gt;
|Keen 1&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Marooned on Mars Forever]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Mods/abandoned/bp&#039;s%20keen%201.zip beta]&lt;br /&gt;
|2005-10-08&lt;br /&gt;
|Bp&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|[http://publiccommanderkeenforum.yuku.com/topic/913/my-mod-released Discussion] Did not reach the state of a &amp;quot;mod&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Martian Building and Skyscraper]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.grelphy.k1.2003-06-04.zip full]&lt;br /&gt;
|2003-06-04&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mitchell&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/298 full]&lt;br /&gt;
|2001-02-18&lt;br /&gt;
|Mitchell&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mitchell&#039;s 2nd Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/278 full]&lt;br /&gt;
|2001-02-20&lt;br /&gt;
|Mitchell&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mitchell&#039;s 3rd Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/299 full]&lt;br /&gt;
|2001-03-10&lt;br /&gt;
|Mitchell&lt;br /&gt;
|Keen 2&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[MrBlackPack]]&lt;br /&gt;
|[http://www.bipship.com/db/uploads/Keen3lvpack_MrBlackPack.zip full]&lt;br /&gt;
|2009-01-18&lt;br /&gt;
|MrBlack&lt;br /&gt;
|Keen 3&lt;br /&gt;
|15&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=492 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Neil McRae&#039;s 2nd Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.neil_mcrae.k1.1999-03-07.zip full]&lt;br /&gt;
|1999-03-07&lt;br /&gt;
|Neil McRae&lt;br /&gt;
|Keen 1&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Peder Johnson&#039;s 2nd Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/281 full]&lt;br /&gt;
|1999-02-08&lt;br /&gt;
|Peder Johnson&lt;br /&gt;
|Keen 1&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Peter Heardghana&#039;s Keen 1 Level]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.peter_heardghana.k1.1999-02-28.zip full]&lt;br /&gt;
|1999-02-28&lt;br /&gt;
|Peter Heardghana&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[pLeitorian&#039;s Levelpacks#1st Levelpack|pLeitorian&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.pleitorian.k1.1999-03-06.zip full]&lt;br /&gt;
|1999-03-06&lt;br /&gt;
|pLeitorian&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[pLeitorian&#039;s Levelpacks#2nd Levelpack|pLeitorian&#039;s 2nd Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.pleitorian.k1.1999-03-25.zip full]&lt;br /&gt;
|1999-03-25&lt;br /&gt;
|pLeitorian&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[pLeitorian&#039;s Levelpacks#3rd Levelpack|pLeitorian&#039;s 3rd Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.pleitorian.k1.1999-04-07.zip full]&lt;br /&gt;
|1999-04-07&lt;br /&gt;
|pLeitorian&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Psycho Keen]]&lt;br /&gt;
|[http://www.dosclassics.com/download/284 full]&lt;br /&gt;
|1999-02-13&lt;br /&gt;
|Adam&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Realms of Doom v2.1]]&lt;br /&gt;
|[http://www.dosclassics.com/download/285 full]&lt;br /&gt;
|1999-04-25&lt;br /&gt;
|Justin&lt;br /&gt;
|Keen 1&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Return on Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.benoit_rouleau.k1.2001-09-29.zip full]&lt;br /&gt;
|2001-09-29&lt;br /&gt;
|Benoit Rouleau&lt;br /&gt;
|Keen 1&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[rrian&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/310 full]&lt;br /&gt;
|2004-06-09&lt;br /&gt;
|rrian&lt;br /&gt;
|Keen 3&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[A New Dope#Levelpacks|Some Dope Levels]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/SomeDopeLevels.zip full]&lt;br /&gt;
|2007-06-14&lt;br /&gt;
|[[User:CK Guy|CK Guy]]&lt;br /&gt;
|A New Dope&lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Phantom Blob&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen3/l.the_phantom_blob.k3.2003-08-06.zip full]&lt;br /&gt;
|2003-08-06&lt;br /&gt;
|The Phantom Blob&lt;br /&gt;
|Keen 3&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[therealdopefish&#039;s 1st Levelpack]]&lt;br /&gt;
|[http://dosclassics.com/download/263 full]&lt;br /&gt;
|1999-01-22&lt;br /&gt;
|therealdopefish&lt;br /&gt;
|Keen 1&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[therealdopefish&#039;s 2nd Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/264 full]&lt;br /&gt;
|1999-02-10&lt;br /&gt;
|therealdopefish&lt;br /&gt;
|Keen 1&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Thomas and Kael&#039;s Keen 1 Levelpack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.thomas_and_kael.k1.2001-12-29.zip full]&lt;br /&gt;
|2001-12-29&lt;br /&gt;
|Thomas &amp;amp; Kael&lt;br /&gt;
|Keen 1&lt;br /&gt;
|14&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Tom Bailey&#039;s Levelpack]]&lt;br /&gt;
|[http://www.dosclassics.com/download/288 full]&lt;br /&gt;
|1999-02-10&lt;br /&gt;
|Tom Bailey&lt;br /&gt;
|Keen 1&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Tom Bailey&#039;s Secret Level]]&lt;br /&gt;
|[http://www.dosclassics.com/download/289 full]&lt;br /&gt;
|1999-02-07&lt;br /&gt;
|Tom Bailey&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Twin Towers]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.alienkillerxx.k1.2000-06-27.zip full]&lt;br /&gt;
|2000-06-27&lt;br /&gt;
|AlienKillerXX&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Underground Level, Underground Base, and Vorticon]]&lt;br /&gt;
|[http://www.dosclassics.com/download/297 full]&lt;br /&gt;
|2003-05-05&lt;br /&gt;
|Grelphy&lt;br /&gt;
|Keen 3&lt;br /&gt;
|3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vorta Retra]]&lt;br /&gt;
|[http://dl.fileplanet.com/dl/dl.asp?ClassicGaming/cc314/shock01.zip full]&lt;br /&gt;
|2001-01-02&lt;br /&gt;
|Shockshund, Vorter Ninja, Terri, and Grace&lt;br /&gt;
|Keen 3&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode X#Level pack|Xky1tuned]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/Xky1tuned.zip full]&lt;br /&gt;
|2005-08-08&lt;br /&gt;
|[[User:KeenRush|KeenRush]]&lt;br /&gt;
|Keen X&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xky&#039;s Mega Level]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/Keen1/l.xky_rauh.k1.1999-01-24.zip full]&lt;br /&gt;
|1999-01-24&lt;br /&gt;
|[[User:Xky Rauh|Xky Rauh]]&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Episode Null#Level Pack|XkyKeen 2 Competition Level Pack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/Xky2Community.zip full]&lt;br /&gt;
|2008-04-23&lt;br /&gt;
|Keen Community&lt;br /&gt;
|Keen Null&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Yellow Submarine]]&lt;br /&gt;
|full (lost)&lt;br /&gt;
|&lt;br /&gt;
|Caribbean Blue&lt;br /&gt;
|Keen 1&lt;br /&gt;
|1&lt;br /&gt;
|[http://www.dosclassics.com/download/602/ Webpage] download link broken.&lt;br /&gt;
|-&lt;br /&gt;
|[[Yorphius II#Level pack|Yorphius II Level Pack]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Packs/ModPacks/YorphiusIIPack.zip full]&lt;br /&gt;
|2007-03-19&lt;br /&gt;
|[[User:Stealthy71088|Stealthy71088]]&amp;lt;br/&amp;gt;[[User:Xky Rauh|Xky Rauh]]&amp;lt;br/&amp;gt;[[User:Levellass|Levellass]]&lt;br /&gt;
|Yorphius II&lt;br /&gt;
|16&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Skin mods ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Title&lt;br /&gt;
! Download(s)&lt;br /&gt;
! Release date&lt;br /&gt;
! Skin&#039;s creator(s)&lt;br /&gt;
! Mod&lt;br /&gt;
! Note(s)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Cybernetic Dream]]&lt;br /&gt;
|[http://dosclassics.com/download/207/dl full]&lt;br /&gt;
|2004-10-04&lt;br /&gt;
|Cybernetic Dream&lt;br /&gt;
|Keen 3&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Galaxy Mods]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*Beyond the Pogo: [http://www.dosclassics.com/downloads.php?cat=0&amp;amp;subcat=4 Mods], [http://www.dosclassics.com/downloads.php?cat=0&amp;amp;subcat=5 Levelpacks]&lt;br /&gt;
*[http://www.zapzot.net/ Zap/Zot/Net]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mods| ]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Scancodes&amp;diff=19135</id>
		<title>Patch:Scancodes</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Scancodes&amp;diff=19135"/>
		<updated>2011-08-12T23:30:54Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: corrected a few scancodes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scan codes are values that represent keypresses in-game. They can be thought of as &#039;codes&#039; that represent all the buttons a player can press. Each game has a different set of codes, created by adding a value to the key&#039;s value. The same codes are used any time the game looks for a keypress, so if you know the code for a key you can use a hex editor to check where that key is looked for in the game executable.&lt;br /&gt;
&lt;br /&gt;
The values of keys are as follows:&lt;br /&gt;
&lt;br /&gt;
 ESC       $01   U           $16   | or \      $2B   F6          $40&lt;br /&gt;
 ! or 1    $02   I           $17   Z           $2C   F7          $41&lt;br /&gt;
 @ or 2    $03   O           $18   X           $2D   F8          $42&lt;br /&gt;
 # or 3    $04   P           $19   C           $2E   F9          $43&lt;br /&gt;
 $ or 4    $05   { or [      $1A   V           $2F   F10         $44&lt;br /&gt;
 % or 5    $06   } or ]      $1B   B           $30   NUMLOCK     $45&lt;br /&gt;
 ^ or 6    $07   ENTER       $1C   N           $31   SCROLL LOCK $46&lt;br /&gt;
 &amp;amp; or 7    $08   CTRL        $1D   M           $32   HOME or 7   $47&lt;br /&gt;
 * or 8    $09   A           $1E   &amp;lt; or ,      $33   UP or 8     $48&lt;br /&gt;
 ( or 9    $0A   S           $1F   &amp;gt; or .      $34   PGUP or 9   $49&lt;br /&gt;
 ) or 0    $0B   D           $20   ? or /      $35   NUMPAD -    $4A&lt;br /&gt;
 _ or -    $0C   F           $21   RIGHT SHIFT $36   LEFT or 4   $4B&lt;br /&gt;
 + or =    $0D   G           $22   PRTSC       $37   NUMPAD 5    $4C&lt;br /&gt;
 BKSP      $0E   H           $23   ALT         $38   RIGHT or 6  $4D&lt;br /&gt;
 TAB       $0F   J           $24   SPACEBAR    $39   NUMPAD +    $4E&lt;br /&gt;
 Q         $10   K           $25   CAPSLOCK    $3A   END or 1    $4F&lt;br /&gt;
 W         $11   L           $26   F1          $3B   DOWN or 2   $50&lt;br /&gt;
 E         $12   : or ;      $27   F2          $3C   PGDN or 3   $51&lt;br /&gt;
 R         $13   &amp;quot; or &#039;      $28   F3          $3D   INS or 0    $52&lt;br /&gt;
 T         $14   ~ or `      $29   F4          $3E   DEL or .    $53&lt;br /&gt;
 Y         $15   LEFT SHIFT  $2A   F5          $3F &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value added to this by each game in the Keen series is:&lt;br /&gt;
&lt;br /&gt;
   1         $502C&lt;br /&gt;
   2         $5008&lt;br /&gt;
   3         $5258 &lt;br /&gt;
   4         $?&lt;br /&gt;
   5         $?&lt;br /&gt;
   6         $?&lt;br /&gt;
   D         $?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example the C T Space cheat code in Keen 1 is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;#CTSpace cheat keys:&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;%patch $11F5 $5A $50&lt;br /&gt;
 %patch $11FC $40 $50&lt;br /&gt;
 %patch $1203 $65 $50&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simple way to disable something is to set one or more of its keys to $00. That is we use the value added by the game for at least one of the keys, a key that can never be pressed. (The code itself still works though, so can&#039;t be used by anything else.) Thus to disable the C T Space cheat we can use the patch:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;#Disable CTSpace:&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;%patch $11F5 $2C $50&lt;br /&gt;
 %patch $11FC $2C $50&lt;br /&gt;
 %patch $1203 $2C $50&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|}}&lt;br /&gt;
{{PatchCategories|Keen 2|}}&lt;br /&gt;
{{PatchCategories|Keen 3|}}&lt;br /&gt;
{{PatchCategories|Misc|}}&lt;br /&gt;
{{PatchCategories|Tutorial|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Scancodes&amp;diff=19134</id>
		<title>Patch:Scancodes</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Scancodes&amp;diff=19134"/>
		<updated>2011-08-12T23:16:00Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: fixed &amp;quot;~ or `&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scan codes are values that represent keypresses in-game. They can be thought of as &#039;codes&#039; that represent all the buttons a player can press. Each game has a different set of codes, created by adding a value to the key&#039;s value. The same codes are used any time the game looks for a keypress, so if you know the code for a key you can use a hex editor to check where that key is looked for in the game executable.&lt;br /&gt;
&lt;br /&gt;
The values of keys are as follows:&lt;br /&gt;
&lt;br /&gt;
 ESC       $01   U           $16   | or \      $2B   F6          $40&lt;br /&gt;
 ! or 1    $02   I           $17   Z           $2C   F7          $41&lt;br /&gt;
 @ or 2    $03   O           $18   X           $2D   F8          $42&lt;br /&gt;
 # or 3    $04   P           $19   C           $2E   F9          $43&lt;br /&gt;
 $ or 4    $05   { or [      $1A   V           $2F   F10         $44&lt;br /&gt;
 % or 5    $06   } or ]      $1B   B           $30   NUMLOCK     $45&lt;br /&gt;
 ^ or 6    $07   ENTER       $1C   N           $31   SCROLL LOCK $46&lt;br /&gt;
 &amp;amp; or 7    $08   CTRL        $1D   M           $32   HOME or 7   $47&lt;br /&gt;
 * or 8    $09   A           $1E   &amp;lt; or ,      $33   UP or 8     $48&lt;br /&gt;
 ( or 9    $0A   S           $1F   &amp;gt; or .      $34   PGUP or 9   $49&lt;br /&gt;
 ) or 0    $0B   D           $20   ? or /      $35   NUMPAD -    $4A&lt;br /&gt;
 _ or -    $0C   F           $21   RIGHT SHIFT $36   LEFT or 4   $4B&lt;br /&gt;
 + or =    $0D   G           $22   PRTSC or *  $37   NUMPAD 5    $4C&lt;br /&gt;
 LEFT      $0E   H           $23   ALT         $38   RIGHT or 6  $4D&lt;br /&gt;
 TAB       $0F   J           $24   SPACEBAR    $39   NUMPAD +    $4E&lt;br /&gt;
 Q         $10   K           $25   CAPSLOCK    $3A   END or 1    $4F&lt;br /&gt;
 W         $11   L           $26   F1          $3B   DOWN or 2   $50&lt;br /&gt;
 E         $12   : or ;      $27   F2          $3C   PGDN or 3   $51&lt;br /&gt;
 R         $13   &amp;quot; or &#039;      $28   F3          $3D   INS or 0    $52&lt;br /&gt;
 T         $14   ~ or `      $29   F4          $3E   DEL or .    $53&lt;br /&gt;
 Y         $15   LEFT SHIFT  $2A   F5          $3F &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value added to this by each game in the Keen series is:&lt;br /&gt;
&lt;br /&gt;
   1         $502C&lt;br /&gt;
   2         $5008&lt;br /&gt;
   3         $5258 &lt;br /&gt;
   4         $?&lt;br /&gt;
   5         $?&lt;br /&gt;
   6         $?&lt;br /&gt;
   D         $?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example the C T Space cheat code in Keen 1 is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;#CTSpace cheat keys:&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;%patch $11F5 $5A $50&lt;br /&gt;
 %patch $11FC $40 $50&lt;br /&gt;
 %patch $1203 $65 $50&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simple way to disable something is to set one or more of its keys to $00. That is we use the value added by the game for at least one of the keys, a key that can never be pressed. (The code itself still works though, so can&#039;t be used by anything else.) Thus to disable the C T Space cheat we can use the patch:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;#Disable CTSpace:&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;%patch $11F5 $2C $50&lt;br /&gt;
 %patch $11FC $2C $50&lt;br /&gt;
 %patch $1203 $2C $50&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|}}&lt;br /&gt;
{{PatchCategories|Keen 2|}}&lt;br /&gt;
{{PatchCategories|Keen 3|}}&lt;br /&gt;
{{PatchCategories|Misc|}}&lt;br /&gt;
{{PatchCategories|Tutorial|}}&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_2_Bugs&amp;diff=15792</id>
		<title>Keen 2 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_2_Bugs&amp;diff=15792"/>
		<updated>2010-08-03T21:51:34Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: renamed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviors and unexpected actions that have been discovered in [[Keen 2]].&lt;br /&gt;
&lt;br /&gt;
==== Shoot through the roof ====&lt;br /&gt;
See the [[Keen 1]] [[Keen_1_Bugs#Shoot through the roof|Shoot through the roof]] bug, which applies to Keen 2 as well.&lt;br /&gt;
&lt;br /&gt;
==== F8 Crash ====&lt;br /&gt;
See the [[Keen 1]] [[Keen_1_Bugs#F8 Crash|F8 Crash]] bug, which applies to Keen 2 as well, in version 1.0.&lt;br /&gt;
&lt;br /&gt;
==== Extra levels ====&lt;br /&gt;
See the Keen 1 [[Keen_1_Bugs#Extra_levels|Extra levels]] bug, which applies to Keen 2 as well.&lt;br /&gt;
&lt;br /&gt;
==== Swapped levels ====&lt;br /&gt;
The [[Vorticon Mothership]] (the world map) has text on written in [[SGA]] to indicate which levels the player will be entering.  Unfortunately the levels for [[Moscow Tantalus Center|Moscow]] and [[Rome Tantalus Center|Rome]] must have been mixed up during the game&#039;s development, as entering the level marked as Rome actually loads the Moscow level, and entering the level marked as Moscow loads the Rome level.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Go to the top of the world map&lt;br /&gt;
* Enter the level marked as &amp;quot;[[Wikipedia:Rome|Rome]]&amp;quot;&lt;br /&gt;
* Observe that the picture near the Tantalus Ray is of [[Wikipedia:Saint Basil&#039;s Cathedral|Saint Basil&#039;s Cathedral]] in the [[Wikipedia:Red Square|Moscow Red Square]]&lt;br /&gt;
* Enter the level marked as &amp;quot;[[Wikipedia:Moscow|Moscow]]&amp;quot;&lt;br /&gt;
* Observe the Tantalus picture is of the [[Wikipedia:Colosseum|Roman Colosseum]]&lt;br /&gt;
&lt;br /&gt;
==== Anti-Hero ====&lt;br /&gt;
Keen can leave [[Rome Tantalus Center|Rome&#039;s Tantalus Ray]] still active if he goes as far right as possible at the beginning, and hopping up the little hole. This is not actually a bug, but leaves the player in a situation where they can&#039;t complete the game.&lt;br /&gt;
&lt;br /&gt;
==== Youths with Talent ====&lt;br /&gt;
When there is a group of [[Youth]]s running around in a small room, sometimes one or two of them can actually jump right through walls. This bug is most common in [[Home A]] in the room with the 5 [[Stuffed Toy Vorticon]]s and 7 Youths.  &lt;br /&gt;
&lt;br /&gt;
==== Architectural Error ====&lt;br /&gt;
[[Image:K2_error.png]]&lt;br /&gt;
&lt;br /&gt;
In the [[Moscow Tantalus Center]], there is a corner missing off a block. See the above picture. Look to the right of [[Keen]], and you won&#039;t see a black line where there should be one!&lt;br /&gt;
&lt;br /&gt;
==== Scrub has the key ====&lt;br /&gt;
In the [[Weaponry A]] level, you can be pushed through each door without collecting all the keys. If Keen is late, the scrubs will melt and the level will become unwinable.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Free the [[Scrub|scrubs]] near the green key by collecting cola cans&lt;br /&gt;
* Allow the scrubs to walk to the doors (normaly forcing them towards the yellow key which is heigher than you can jump) by collecting more cola cans.&lt;br /&gt;
* Stand near the first (yellow) door before the scrubs arrive&lt;br /&gt;
* The scrubs will push you through the door, opening all four for you&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--  Use this template for a new bug:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bug title ====&lt;br /&gt;
&lt;br /&gt;
[[Image:keenX_bugname.png]]  &amp;lt;-- a screenshot of the bug if it produces a strange visual effect&lt;br /&gt;
&lt;br /&gt;
(Brief description of bug here)&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Step one to reproduce the bug&lt;br /&gt;
* Step two, etc.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Keen 2]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_2_Bugs&amp;diff=15772</id>
		<title>Keen 2 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_2_Bugs&amp;diff=15772"/>
		<updated>2010-07-31T20:19:08Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Hey, architect, my corner has a probem!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviors and unexpected actions that have been discovered in [[Keen 2]].&lt;br /&gt;
&lt;br /&gt;
==== Shoot through the roof ====&lt;br /&gt;
See the [[Keen 1]] [[Keen_1_Bugs#Shoot through the roof|Shoot through the roof]] bug, which applies to Keen 2 as well.&lt;br /&gt;
&lt;br /&gt;
==== F8 Crash ====&lt;br /&gt;
See the [[Keen 1]] [[Keen_1_Bugs#F8 Crash|F8 Crash]] bug, which applies to Keen 2 as well, in version 1.0.&lt;br /&gt;
&lt;br /&gt;
==== Extra levels ====&lt;br /&gt;
See the Keen 1 [[Keen_1_Bugs#Extra_levels|Extra levels]] bug, which applies to Keen 2 as well.&lt;br /&gt;
&lt;br /&gt;
==== Swapped levels ====&lt;br /&gt;
The [[Vorticon Mothership]] (the world map) has text on written in [[SGA]] to indicate which levels the player will be entering.  Unfortunately the levels for [[Moscow Tantalus Center|Moscow]] and [[Rome Tantalus Center|Rome]] must have been mixed up during the game&#039;s development, as entering the level marked as Rome actually loads the Moscow level, and entering the level marked as Moscow loads the Rome level.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Go to the top of the world map&lt;br /&gt;
* Enter the level marked as &amp;quot;[[Wikipedia:Rome|Rome]]&amp;quot;&lt;br /&gt;
* Observe that the picture near the Tantalus Ray is of [[Wikipedia:Saint Basil&#039;s Cathedral|Saint Basil&#039;s Cathedral]] in the [[Wikipedia:Red Square|Moscow Red Square]]&lt;br /&gt;
* Enter the level marked as &amp;quot;[[Wikipedia:Moscow|Moscow]]&amp;quot;&lt;br /&gt;
* Observe the Tantalus picture is of the [[Wikipedia:Colosseum|Roman Colosseum]]&lt;br /&gt;
&lt;br /&gt;
==== Anti-Hero ====&lt;br /&gt;
Keen can leave [[Rome Tantalus Center|Rome&#039;s Tantalus Ray]] still active if he goes as far right as possible at the beginning, and hopping up the little hole. This is not actually a bug, but leaves the player in a situation where they can&#039;t complete the game.&lt;br /&gt;
&lt;br /&gt;
==== Youths with Talent ====&lt;br /&gt;
When there is a group of [[Youth]]s running around in a small room, sometimes one or two of them can actually jump right through walls. This bug is most common in [[Home A]] in the room with the 5 [[Stuffed Toy Vorticon]]s and 7 Youths.  &lt;br /&gt;
&lt;br /&gt;
==== Hey, architect, my corner has a probem! ====&lt;br /&gt;
[[Image:K2_error.png]]&lt;br /&gt;
&lt;br /&gt;
In the [[Moscow Tantalus Center]], there is a corner missing off a block. See the above picture. Look to the right of [[Keen]], and you won&#039;t see a black line where there should be one!&lt;br /&gt;
&lt;br /&gt;
==== Scrub has the key ====&lt;br /&gt;
In the [[Weaponry A]] level, you can be pushed through each door without collecting all the keys. If Keen is late, the scrubs will melt and the level will become unwinable.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Free the [[Scrub|scrubs]] near the green key by collecting cola cans&lt;br /&gt;
* Allow the scrubs to walk to the doors (normaly forcing them towards the yellow key which is heigher than you can jump) by collecting more cola cans.&lt;br /&gt;
* Stand near the first (yellow) door before the scrubs arrive&lt;br /&gt;
* The scrubs will push you through the door, opening all four for you&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--  Use this template for a new bug:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bug title ====&lt;br /&gt;
&lt;br /&gt;
[[Image:keenX_bugname.png]]  &amp;lt;-- a screenshot of the bug if it produces a strange visual effect&lt;br /&gt;
&lt;br /&gt;
(Brief description of bug here)&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Step one to reproduce the bug&lt;br /&gt;
* Step two, etc.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Keen 2]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_6_Bugs&amp;diff=12021</id>
		<title>Keen 6 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_6_Bugs&amp;diff=12021"/>
		<updated>2009-09-01T16:59:29Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: /* Unreachable Extra Lives */ fixed categorization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviours, unexpected actions and mistakes (such as typographical errors) that have been discovered in [[Keen 6]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==== Level bug: The [[Bloogdome]] - Walk into the rock ====&lt;br /&gt;
[[Image:keen6_bloogdome_rock.png|frame|The [[Bloogdome]] &amp;quot;walk into the rock&amp;quot; bug]]&lt;br /&gt;
&lt;br /&gt;
In the top left corner of this level, it&#039;s possible to jump through the rock surrounding the dome and run around inside the grey rock surrounding the level.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Go as high as you can in the level, until you can see the grey rock.&lt;br /&gt;
* Go across to the left, until the grey rock starts to appear at the left of the level as well.&lt;br /&gt;
* In the angled section of rock closest to the top of the level (as soon as it angles down towards the left) there is no blocking, so you can jump across into the rock (or pogo up from the lower ledge just below.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
==== Typo entering Bloogfoods, Inc. ====&lt;br /&gt;
[[Image:keen6-bug-hungily.png|frame|Typo in the word &amp;quot;hungrily&amp;quot;]]&lt;br /&gt;
When entering the [[Bloogfoods, Inc.]] level, the entrance text reads &amp;quot;hungily&amp;quot; instead of &amp;quot;hungrily&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Enter the level, observe the message on-screen; it says &amp;quot;hungily&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
==== Typo: Bloogbae ====&lt;br /&gt;
[[Image:keen6-bug-bloogbae.png|frame|Typo in the word &amp;quot;Bloogbase&amp;quot;]]&lt;br /&gt;
When entering the [[Bloogbase Recreational District]], the level text reads &amp;quot;Bloogbae&amp;quot; instead of &amp;quot;Bloogbase.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Enter the level, observe the message on-screen says &amp;quot;Bloogbae&amp;quot;&lt;br /&gt;
* Press Enter while in the level, observe the level name begins with &amp;quot;Bloogbase&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
==== Impossible Bullet ====&lt;br /&gt;
[[Image:keen6-bug-impossiblebullet.png|thumb|320px|Impossible bullet.]]&lt;br /&gt;
&lt;br /&gt;
This bug requires careful timing to exploit, and only works in [[Keen 6]].  It is not an officially documented trick as with the [[Impossible Pogo Trick]], but named as such by fans upon its discovery due to its comparable difficulty and niftiness.  The trick allows the player to fly upwards, until hitting the ceiling or otherwise interrupting the manoeuvre (such as by jumping - although it is possible to walk a couple of pixels left and right before &amp;quot;falling off&amp;quot; the bullet.)  It can be very helpful in levels such as Bloogton Towers and getting the grappling hook, although technically it is considered cheating.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Jump in the air.&lt;br /&gt;
* As you start to fall, shoot downward.&lt;br /&gt;
* If done correctly, when you land, you should be standing a tile above the ground.&lt;br /&gt;
* Shoot up, and you will fly up with your bullet.&lt;br /&gt;
It takes some practice to get the timing right.&lt;br /&gt;
&lt;br /&gt;
If you are standing against a wall when you perform this trick, shooting into the wall will also raise you by a small amount. The Impossible Bullet bug is used extensively in a walkthrough for Keen 6 in which the player gets no points, exploits various clipping errors, etc.  Commander Keendom, the website that originally provided the walkthrough, is now gone but [[Keen 6 Walkthrough|there is a copy of the walkthrough]] rescued from [http://www.archive.org www.archive.org].&lt;br /&gt;
&lt;br /&gt;
The technicalities of how this trick works are unknown, as the source code for the games has not been made available. The explanation likely revolves around some unintended quirk whereby the bullet sprite is given a clipping property similar to the [[Gik]] or [[Goplat]]. While Keen is standing on it, the sprite is kept alive by way of the clipping function, despite the animation rendering it invisible. Instead of creating a new bullet at the end of the [[Neural Stunner]] when firing the subsequent shot into the air, the game reuses the existing one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Eye am stuck ====&lt;br /&gt;
[[Image:Eyemstuck.png|frame|Stuck [[Orbatrix]].]]&lt;br /&gt;
&lt;br /&gt;
In many levels, if the [[Orbatrix]] are bounding about then unfurl next to a sloped surface, or even a wall, they will become stuck in the ground and just hover up and down. They may be freed if Keen walks close to them, causing them to furl and bounce again. It is harder to trap an Orbatrix in a wall, but it can be done. This trick is easy once mastered and a great way of detaining an indestructable enemy.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Go somewhere, like near Molly, that has both Orbatrix and sloping surfaces.&lt;br /&gt;
* Make the Orbatrix curl and bound, you will need to do this carefully to avoid death.&lt;br /&gt;
* If properly positioned they will unfurl and get stuck.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A nose for trouble ====&lt;br /&gt;
[[Image:Nostuck.png|frame|[[Nospike]] stuck in walls.]]&lt;br /&gt;
&lt;br /&gt;
If a charging [[Nospike]] rams into a wall it can get stuck in it, either walking back and forth rapidly on air, or standing 8 pixels higher than normal in the wall. It cannot charge, unless shot. When shot, it will charge, pause, then fall 8 pixels to the floor and stun as if it had fallen off a cliff.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
* Hard mode is helpful.&lt;br /&gt;
* Go to the [[Bloogdome]].&lt;br /&gt;
* Try and make a Nospike charge you as much as possible ([[God mode]] helps.)&lt;br /&gt;
* If done right, some will get stuck in walls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rhetorical Question ====&lt;br /&gt;
[[Image:Noquestion.png|frame|A [[Nospike]] all confused.]]&lt;br /&gt;
&lt;br /&gt;
If you manage to reproduce the above error, under the right circumstances you may be able to preserve the Nospike&#039;s question-mark of surprise. It is not known specifically what causes the question-mark to remain, though it does have to be embedded in a wall tile. It is almost impossible to get this glitch to work, especially without cheating.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
==== Eyeball confuses camera ====&lt;br /&gt;
&lt;br /&gt;
If you stand on an eyeball and save your game, when you load the game again the camera becomes broken and shows the wrong part of the level (not where Keen is.)  There is [http://www.youtube.com/watch?v=AjXVBz_-8TY a video demonstrating this] at YouTube.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
==== Stand-a-Switch ====&lt;br /&gt;
[[Image:stand-on-switch.png|thumb|320px|Standing on the switch :).]]&lt;br /&gt;
&lt;br /&gt;
In the [[Bloogton Tower]], you can stand on the tall switch without flipping it.  Simply ride the [[Goplat]] to the left of the switch, while the platform is going down, go the far right of the platform and wait.  You will be standing on the edge of the switch.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Activate the platform&lt;br /&gt;
* Make sure the switch is in the up position&lt;br /&gt;
* Wait for the platform to get to the top&lt;br /&gt;
* Go to the far right of the platform&lt;br /&gt;
* Wait till you pass the switch.  If done correctly, you will stay on the switch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Jump Through Walls ====&lt;br /&gt;
[[Image:Keen6_BloogFoods_clip.gif|thumb|320px|Jumping through the wall.]]&lt;br /&gt;
&lt;br /&gt;
In [[Bloogfoods, Inc.]] some of the vertical walls of the downward snaking passage can be jumped through.  If the other side has nothing above it Keen can freely clip through it without any sort of cheats.  This exploit allows the level to be completed without ever retrieving the green key.&lt;br /&gt;
&lt;br /&gt;
Steps to reproduce:&lt;br /&gt;
&lt;br /&gt;
* Goto Bloogfoods, Inc. past the red and blue doors&lt;br /&gt;
* Stand against the vertical wall&lt;br /&gt;
* Jump while walking into it&lt;br /&gt;
* Some times Keen will not pass through and instead rapidly look left and right until a key is pressed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
=== Offscreen onscreen ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Offscreen.png|200px|thumb|right|Keen offscreen]]&lt;br /&gt;
There are several levels, notably the BWB Megarocket, where Keen can go offscreen. If he saves his game in this position, when restored, you can see the level&#039;s edge.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unreachable Extra Lives ===&lt;br /&gt;
[[Image:BASA-unreachable-extra-lives.png|thumb|320px|Unreachable extra lives.]]&lt;br /&gt;
&lt;br /&gt;
In [[Bloog Aeronautics and Space Administration]], there are two [[Queen Viva]]s hidden in the floor at the bottom of the level between two retractable bridges. These two extra lives are unreachable without cheating. &lt;br /&gt;
&lt;br /&gt;
[[Category:Keen 6]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:Ghost_Guard.png&amp;diff=11991</id>
		<title>File:Ghost Guard.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:Ghost_Guard.png&amp;diff=11991"/>
		<updated>2009-08-27T22:31:37Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Ghost_Guard&amp;diff=11990</id>
		<title>Ghost Guard</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Ghost_Guard&amp;diff=11990"/>
		<updated>2009-08-27T22:31:04Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: made main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Harmful = Yes&lt;br /&gt;
| Image = Ghost_Guard.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Ghost Guards guard important areas in the Shelter of [[Keen -6]]. They came to the Shelter with the [[CrazyNERM]]s. Guarding of less important areas is left to the [[DangerBot]]s.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:DangerBOT.png&amp;diff=11989</id>
		<title>File:DangerBOT.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:DangerBOT.png&amp;diff=11989"/>
		<updated>2009-08-27T22:26:44Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=DangerBot&amp;diff=11988</id>
		<title>DangerBot</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=DangerBot&amp;diff=11988"/>
		<updated>2009-08-27T22:26:21Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: made main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Shots = 1 &lt;br /&gt;
| Harmful = Yes&lt;br /&gt;
| Image = DangerBOT.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The DangerBots guard semi-important areas when the [[Chompzillo]]s are not there. They are machines, but were taken to the Shelter by their masters, the [[Chompzillo]]s. Guarding of more important areas is taken up by the [[Ghost Guard]]s.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:CrazyNERM.png&amp;diff=11987</id>
		<title>File:CrazyNERM.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:CrazyNERM.png&amp;diff=11987"/>
		<updated>2009-08-27T22:20:53Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=CrazyNERM&amp;diff=11986</id>
		<title>CrazyNERM</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=CrazyNERM&amp;diff=11986"/>
		<updated>2009-08-27T22:20:32Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: made main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Shots = 1 &lt;br /&gt;
| Harmful = Yes, by phaser blasts&lt;br /&gt;
| Image = CrazyNERM.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
CrazyNERM is based on Nerm from an old run-it-through-GWBASIC DOS game. In here he fires a red phaser and pushes Keen. It appears only in the last level of [[Keen -6]], the Shelter, because of an atomic bomb landing on [[Cromaj]]ian IV.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:Chompzillo.png&amp;diff=11985</id>
		<title>File:Chompzillo.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:Chompzillo.png&amp;diff=11985"/>
		<updated>2009-08-27T21:59:33Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Chompzillo in Keen -6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chompzillo in Keen -6&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Chompzillo&amp;diff=11984</id>
		<title>Chompzillo</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Chompzillo&amp;diff=11984"/>
		<updated>2009-08-27T21:58:06Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: added infobox, added text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Shots = 1 &lt;br /&gt;
| Harmful = Yes&lt;br /&gt;
| Image = Chompzillo.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Chompzillos are very fast creatures that would love to have you for lunch in [[Keen -6]]. They have three yellow teeth and two eyes, which can be green or red, depending on their mood. They float in the air and have floating eyes as well. Because of an atomic bomb landing on [[Cromaj]]ian IV, they only appear in the shelter.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Cromaj&amp;diff=11983</id>
		<title>Cromaj</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Cromaj&amp;diff=11983"/>
		<updated>2009-08-27T21:49:59Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: fixed image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Shots = 1 &lt;br /&gt;
| Harmful = No&lt;br /&gt;
| Image = Cromaj.PNG&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Cromajians are the target of Keen&#039;s evangelistic speech in [[Keen -6]]. They only appear in the Shelter becuase of an atomic bomb landing on their planet. They are very happy and freindly, coming toward you and usually found in groups. They don&#039;t like it when you mess up their hair.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Cromaj&amp;diff=11982</id>
		<title>Cromaj</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Cromaj&amp;diff=11982"/>
		<updated>2009-08-27T21:48:53Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: added infobox and text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature Infobox &lt;br /&gt;
| Appears = [[Keen -6]]&lt;br /&gt;
| Shots = 1 &lt;br /&gt;
| Harmful = No&lt;br /&gt;
| Image = Cromaj.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Cromajians are the target of Keen&#039;s evangelistic speech in [[Keen -6]]. They only appear in the Shelter becuase of an atomic bomb landing on their planet. They are very happy and freindly, coming toward you and usually found in groups. They don&#039;t like it when you mess up their hair.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:Cromaj.PNG&amp;diff=11981</id>
		<title>File:Cromaj.PNG</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:Cromaj.PNG&amp;diff=11981"/>
		<updated>2009-08-27T21:43:41Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: Keen -6 Cromaj&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keen -6 Cromaj&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11980</id>
		<title>Keen -6</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11980"/>
		<updated>2009-08-27T21:35:30Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: added links to enemies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keen -6 is a mod released by Fleexy. It is one of the more difficult mods, stated by a few people on PCKF and Keen:Modding. Here, Keen was giving an evangelistic speech to the Cromajians, but he forgot his sermon notes. Some passages are written on the back of crosses scattered around Cromajian IV. Because of an atomic bomb landing on the planet, the only life is in the Shelter. The item scores are very low in this mod, so you never get extra lives.&lt;br /&gt;
&lt;br /&gt;
== Items ==&lt;br /&gt;
*Red Cross&lt;br /&gt;
*Yellow Cross&lt;br /&gt;
*Green Cross&lt;br /&gt;
*Blue Cross&lt;br /&gt;
*Phaser - 5 phaser power&lt;br /&gt;
*Cherry Gumdrop - 1 point&lt;br /&gt;
*Marshmallow - 2 points&lt;br /&gt;
*Jawbreaker - 4 points&lt;br /&gt;
*Necco Pack - 5 points&lt;br /&gt;
*Bible - 10 points&lt;br /&gt;
&lt;br /&gt;
== Enemies ==&lt;br /&gt;
*[[Cromaj]] - The target of Keen&#039;s speech. Get upset if you mess up their hair.&lt;br /&gt;
*[[Chompzillo]] - Crazy creatures who would love to have you for lunch.&lt;br /&gt;
*[[CrazyNERM]] - Nerm gone bad, flips around and fires a red phaser.&lt;br /&gt;
*[[DangerBot]] - Big robots who try to flatten you out.&lt;br /&gt;
*[[Ghost Guard]] - Ghosts that Guard.&lt;br /&gt;
&lt;br /&gt;
== Hazards ==&lt;br /&gt;
*Acid pipes&lt;br /&gt;
*Spikes&lt;br /&gt;
*Acid-tipped spikes&lt;br /&gt;
*Green acid&lt;br /&gt;
*Purple acid&lt;br /&gt;
*Nasty spaghetti&lt;br /&gt;
*Purple acid-tipped spikes&lt;br /&gt;
*Red spikes&lt;br /&gt;
*Wall spikes&lt;br /&gt;
&lt;br /&gt;
== Debate ==&lt;br /&gt;
It is currently being debated whether Keen -6 is harder than Episode Smile. Most people have gotten farther in Smile than in Keen -6, but Episode Smile has been around longer. Also, Keen -6 requires 15 levels complete to win.&lt;br /&gt;
&lt;br /&gt;
== Level Maps ==&lt;br /&gt;
&lt;br /&gt;
Spoiler Warning! This shows the whole levels, including the password for the endtext&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Keen-6Level01.png|Park Guard 1&lt;br /&gt;
Image:Keen-6Level02.png|Park Guard 2&lt;br /&gt;
Image:Keen-6Level03.png|Park&lt;br /&gt;
Image:Keen-6Level04.png|Subway/Elevator&lt;br /&gt;
Image:Keen-6Level05.png|Cromaj Hotel&lt;br /&gt;
Image:Keen-6Level06.png|Sewer&lt;br /&gt;
Image:Keen-6Level07.png|Townhouse&lt;br /&gt;
Image:Keen-6Level08.png|Food Pantry&lt;br /&gt;
Image:Keen-6Level09.png|Fun House&lt;br /&gt;
Image:Keen-6Level10.png|Arena&lt;br /&gt;
Image:Keen-6Level11.png|Maze&lt;br /&gt;
Image:Keen-6Level12.png|Shelter Guard 1&lt;br /&gt;
Image:Keen-6Level13.png|Shelter Guard 2&lt;br /&gt;
Image:Keen-6Level14.png|Shelter Guard 3&lt;br /&gt;
Image:Keen-6Level15.png|Shelter Guard 4&lt;br /&gt;
Image:Keen-6Level16.png|Shelter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://home.mchsi.com/~bootsisbig/keen-6.zip Download &amp;quot;Keen -6&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mods]]&lt;br /&gt;
[[Category:Keen 1 mods]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:Keen-6Level09.png&amp;diff=11979</id>
		<title>File:Keen-6Level09.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:Keen-6Level09.png&amp;diff=11979"/>
		<updated>2009-08-26T22:55:59Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: uploaded a new version of &amp;quot;Image:Keen-6Level09.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ninth level of Keen -6&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11978</id>
		<title>Keen -6</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11978"/>
		<updated>2009-08-26T20:36:39Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: added official level names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keen -6 is a mod released by Fleexy. It is one of the more difficult mods, stated by a few people on PCKF and Keen:Modding. Here, Keen was giving an evangelistic speech to the Cromajians, but he forgot his sermon notes. Some passages are written on the back of crosses scattered around Cromajian IV. Because of an atomic bomb landing on the planet, the only life is in the Shelter. The item scores are very low in this mod, so you never get extra lives.&lt;br /&gt;
&lt;br /&gt;
== Items ==&lt;br /&gt;
*Red Cross&lt;br /&gt;
*Yellow Cross&lt;br /&gt;
*Green Cross&lt;br /&gt;
*Blue Cross&lt;br /&gt;
*Phaser - 5 phaser power&lt;br /&gt;
*Cherry Gumdrop - 1 point&lt;br /&gt;
*Marshmallow - 2 points&lt;br /&gt;
*Jawbreaker - 4 points&lt;br /&gt;
*Necco Pack - 5 points&lt;br /&gt;
*Bible - 10 points&lt;br /&gt;
&lt;br /&gt;
== Enemies ==&lt;br /&gt;
*Cromaj - The target of Keen&#039;s speech. Get upset if you mess up their hair.&lt;br /&gt;
*Chompzillo - Crazy creatures who would love to have you for lunch.&lt;br /&gt;
*CrazyNERM - Nerm gone bad, flips around and fires a red phaser.&lt;br /&gt;
*DangerBot - Big robots who try to flatten you out.&lt;br /&gt;
*Ghost Guard - Ghosts that Guard.&lt;br /&gt;
&lt;br /&gt;
== Hazards ==&lt;br /&gt;
*Acid pipes&lt;br /&gt;
*Spikes&lt;br /&gt;
*Acid-tipped spikes&lt;br /&gt;
*Green acid&lt;br /&gt;
*Purple acid&lt;br /&gt;
*Nasty spaghetti&lt;br /&gt;
*Purple acid-tipped spikes&lt;br /&gt;
*Red spikes&lt;br /&gt;
*Wall spikes&lt;br /&gt;
&lt;br /&gt;
== Debate ==&lt;br /&gt;
It is currently being debated whether Keen -6 is harder than Episode Smile. Most people have gotten farther in Smile than in Keen -6, but Episode Smile has been around longer. Also, Keen -6 requires 15 levels complete to win.&lt;br /&gt;
&lt;br /&gt;
== Level Maps ==&lt;br /&gt;
&lt;br /&gt;
Spoiler Warning! This shows the whole levels, including the password for the endtext&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Keen-6Level01.png|Park Guard 1&lt;br /&gt;
Image:Keen-6Level02.png|Park Guard 2&lt;br /&gt;
Image:Keen-6Level03.png|Park&lt;br /&gt;
Image:Keen-6Level04.png|Subway/Elevator&lt;br /&gt;
Image:Keen-6Level05.png|Cromaj Hotel&lt;br /&gt;
Image:Keen-6Level06.png|Sewer&lt;br /&gt;
Image:Keen-6Level07.png|Townhouse&lt;br /&gt;
Image:Keen-6Level08.png|Food Pantry&lt;br /&gt;
Image:Keen-6Level09.png|Fun House&lt;br /&gt;
Image:Keen-6Level10.png|Arena&lt;br /&gt;
Image:Keen-6Level11.png|Maze&lt;br /&gt;
Image:Keen-6Level12.png|Shelter Guard 1&lt;br /&gt;
Image:Keen-6Level13.png|Shelter Guard 2&lt;br /&gt;
Image:Keen-6Level14.png|Shelter Guard 3&lt;br /&gt;
Image:Keen-6Level15.png|Shelter Guard 4&lt;br /&gt;
Image:Keen-6Level16.png|Shelter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://home.mchsi.com/~bootsisbig/keen-6.zip Download &amp;quot;Keen -6&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mods]]&lt;br /&gt;
[[Category:Keen 1 mods]]&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11960</id>
		<title>Keen -6</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11960"/>
		<updated>2009-08-26T17:08:02Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: added enemies + hazards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
Keen -6 is a mod released by Fleexy. It is one of the more difficult mods, stated by a few people on PCKF and Keen:Modding. Here, Keen was giving an evangelistic speech to the Cromajians, but he forgot his sermon notes. Some passages are written on the back of crosses scattered around Cromajian IV. Because of an atomic bomb landing on the planet, the only life is in the Shelter. The item scores are very low in this mod, so you never get extra lives.&lt;br /&gt;
&lt;br /&gt;
== Items ==&lt;br /&gt;
*Red Cross&lt;br /&gt;
*Yellow Cross&lt;br /&gt;
*Green Cross&lt;br /&gt;
*Blue Cross&lt;br /&gt;
*Phaser - 5 phaser power&lt;br /&gt;
*Cherry Gumdrop - 1 point&lt;br /&gt;
*Marshmallow - 2 points&lt;br /&gt;
*Jawbreaker - 4 points&lt;br /&gt;
*Necco Pack - 5 points&lt;br /&gt;
*Bible - 10 points&lt;br /&gt;
&lt;br /&gt;
== Enemies ==&lt;br /&gt;
*Cromaj - The target of Keen&#039;s speech. Get upset if you mess up their hair.&lt;br /&gt;
*Chompzillo - Crazy creatures who would love to have you for lunch.&lt;br /&gt;
*CrazyNERM - Nerm gone bad, flips around and fires a red phaser.&lt;br /&gt;
*DangerBot - Big robots who try to flatten you out.&lt;br /&gt;
*Ghost Guard - Ghosts that Guard.&lt;br /&gt;
&lt;br /&gt;
== Hazards ==&lt;br /&gt;
*Acid pipes&lt;br /&gt;
*Spikes&lt;br /&gt;
*Acid-tipped spikes&lt;br /&gt;
*Green acid&lt;br /&gt;
*Purple acid&lt;br /&gt;
*Nasty spaghetti&lt;br /&gt;
*Purple acid-tipped spikes&lt;br /&gt;
*Red spikes&lt;br /&gt;
*Wall spikes&lt;br /&gt;
&lt;br /&gt;
== Debate ==&lt;br /&gt;
It is currently being debated whether Keen -6 is harder than Episode Smile. Most people have gotten farther in Smile than in Keen -6, but Episode Smile has been around longer. Also, Keen -6 requires 15 levels complete to win.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11959</id>
		<title>Keen -6</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_-6&amp;diff=11959"/>
		<updated>2009-08-26T17:01:02Z</updated>

		<summary type="html">&lt;p&gt;Fleexy: expanded, added items&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keen -6 is a mod released by Fleexy. It is one of the more difficult mods, stated by a few people on PCKF and Keen:Modding. Here, Keen was giving an evangelistic speech to the Cromajians, but he forgot his sermon notes. Some passages are written on the back of crosses scattered around Cromajian IV. Because of an atomic bomb landing on the planet, the only life is in the Shelter. The item scores are very low in this mod, so you never get extra lives.&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
*Red Cross&lt;br /&gt;
*Yellow Cross&lt;br /&gt;
*Green Cross&lt;br /&gt;
*Blue Cross&lt;br /&gt;
*Phaser - 5 phaser power&lt;br /&gt;
*Cherry Gumdrop - 1 point&lt;br /&gt;
*Marshmallow - 2 points&lt;br /&gt;
*Jawbreaker - 4 points&lt;br /&gt;
*Necco Pack - 5 points&lt;br /&gt;
*Bible - 10 points&lt;br /&gt;
&lt;br /&gt;
== Debate ==&lt;br /&gt;
It is currently being debated whether Keen -6 is harder than Episode Smile. Most people have gotten farther in Smile than in Keen -6, but Episode Smile has been around longer. Also, Keen -6 requires 15 levels complete to win.&lt;/div&gt;</summary>
		<author><name>Fleexy</name></author>
	</entry>
</feed>