<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://moddingwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fuzzie</id>
	<title>ModdingWiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://moddingwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fuzzie"/>
	<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/wiki/Special:Contributions/Fuzzie"/>
	<updated>2026-05-14T05:47:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Savegame_Format&amp;diff=4629</id>
		<title>Cosmo Savegame Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Savegame_Format&amp;diff=4629"/>
		<updated>2013-04-10T17:26:18Z</updated>

		<summary type="html">&lt;p&gt;Fuzzie: explain the unknowns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== File Format ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Cosmo Savegame Format&#039;&#039;&#039; is an uncompressed file with extension .SV# (where # is a number from 1 to 9), used to store savegame information to be retrieved later by the game engine.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iHealth || Player&#039;s health (0 to 6; 1 means no bars left, 0 means dead)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] iScore || Current score&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iStars || Number of collected stars&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iMapOn || Current level number&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iBombs || Number of bombs in the inventory (0 to 9)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iHealthBars || Number of health bars the player has (3 to 5)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iCheated || 1 if cheats have been used, 0 otherwise&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iHasHadBomb || Hint system: 1 if cosmo has ever had a bomb, 0 otherwise (controls whether help text is shown when no bombs are present)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iKnowsHowToKill || Hint system: 0 to start with, 1 if cosmo took damage and so the &amp;quot;jump on top of enemies to defend yourself&amp;quot; help should be shown, and finally 2 once either cosmo has jumped on an enemy or the help text has been shown&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iKnowsAboutPowerups || Hint system: 0 to start with, 1 if the &amp;quot;power up modules increase cosmo&#039;s health&amp;quot; help text has been shown&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] iChecksum || Must match iHealth + iStars + iMapOn + iBombs + iHealthBars&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the user tries to load a savegame with an invalid checksum, the game will show an error message and quit to DOS.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This file format was reverse engineered by [[User:K1n9_Duk3|K1n9_Duk3]].  If you find this information helpful in a project you&#039;re working on, please give credit where credit is due.  (A link back to this wiki would be nice too!)&lt;/div&gt;</summary>
		<author><name>Fuzzie</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Level_Format&amp;diff=4484</id>
		<title>Cosmo Level Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Level_Format&amp;diff=4484"/>
		<updated>2013-01-22T05:47:11Z</updated>

		<summary type="html">&lt;p&gt;Fuzzie: ramble a bit about the map widths&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Map Infobox&lt;br /&gt;
 | Type = 2D tile-based&lt;br /&gt;
 | Layers = 3&lt;br /&gt;
 | Tile size = 8&amp;amp;times;8&lt;br /&gt;
 | Viewport = 304&amp;amp;times;144&lt;br /&gt;
 | Game1 = Cosmo&#039;s Cosmic Adventures&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
The file is in this basic layout:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iFlags||Flags indicating music, backdrop and other stuff&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iMapWidth||Map width in tiles&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iActorSize||Number of UINT16 values in the actor block&lt;br /&gt;
|-&lt;br /&gt;
|ACTORDATA actorData[]||Variable-length array of all the actors in the level&lt;br /&gt;
|-&lt;br /&gt;
|BYTE bgLayer[65528]||The map data for the background layer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The iMapWidth values in the original Cosmo levels is either 64, 128, 256 or 512. The &amp;quot;view window&amp;quot; in the game is 304x144 Pixels, so the minimal map width would be 38. However, the width must be a power of 2 to work (from 32 to 2048).&lt;br /&gt;
&lt;br /&gt;
The iActorSize values are reliable for all the original Cosmo level files (Version 1.20).&lt;br /&gt;
&lt;br /&gt;
The map data is actually sized 65528 Bytes or 32764 Words. Each entry in this block is divisable by 8 (see [[#Mapping cell values to tiles]]).&lt;br /&gt;
&lt;br /&gt;
=== Level Flags ===&lt;br /&gt;
&lt;br /&gt;
The structure of the bits in the iFlags value is as follows:&lt;br /&gt;
&lt;br /&gt;
 [ mmmmm | ppp | yxr | bbbbb ]&lt;br /&gt;
 &lt;br /&gt;
 m: music index&lt;br /&gt;
 p: palette animation type&lt;br /&gt;
 y: y-scrolling backdrop&lt;br /&gt;
 x: x-scrolling backdrop&lt;br /&gt;
 r: rain&lt;br /&gt;
 b: backdrop index&lt;br /&gt;
&lt;br /&gt;
The indices for music and backdrop refer to an array of filename strings stored in the executable. You can find them by searching for the first filename in each array. For backdrops, the first filename (index: 0) is &amp;lt;tt&amp;gt;BDBLANK.MNI&amp;lt;/tt&amp;gt;, for music it&#039;s &amp;lt;tt&amp;gt;MCAVES.MNI&amp;lt;/tt&amp;gt;. Note that some backdrop files are not used by the games (and therefore are not not included).&lt;br /&gt;
&lt;br /&gt;
The palette animation types indicate the following:&lt;br /&gt;
&lt;br /&gt;
 %000:	(most levels)		no palette changes&lt;br /&gt;
 %001:	(A4)			random lightning (with thunder soundeffect)&lt;br /&gt;
 %010:	(C8-C10)		cycling: red -&amp;gt; yellow -&amp;gt; white&lt;br /&gt;
 %011:	(A7)			cycling: red -&amp;gt; green -&amp;gt; blue&lt;br /&gt;
 %100:	(A8, B3, B4, B7)	cycling: black -&amp;gt; grey -&amp;gt; white&lt;br /&gt;
 %101:	(C6, C7)		flashing: red -&amp;gt; magenta -&amp;gt; white&lt;br /&gt;
 %110:	(C1)			replace dark magenta with black, no animation&lt;br /&gt;
&lt;br /&gt;
=== Background Layer ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;bgLayer&amp;lt;/tt&amp;gt; block contains the grid/cell data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iMapData[32764]||Actual map data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;element&amp;quot; in &amp;lt;tt&amp;gt;iMapData&amp;lt;/tt&amp;gt; refers to the foreground and/or background tile used in a single grid cell.  The grids are arranged left to right, top to bottom, so the index can be calculated by this formula:&lt;br /&gt;
&lt;br /&gt;
 int iIndex = (y * iMapWidth) + x;&lt;br /&gt;
 iMapData[iIndex] = &amp;lt;new value to set at x,y&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The map data in the original Cosmo level files is a constant 32764 UINT16LE cells long (65528 bytes), and the engine will never read more than 65535 bytes. However, the game calculates the map height by dividing the width in bytes by 65536:&lt;br /&gt;
&lt;br /&gt;
 int iMapHeight = 32768 / iMapWidth;&lt;br /&gt;
&lt;br /&gt;
Since the width of the map is always a power of 2 (min. 64), you can see that each file is &amp;quot;missing&amp;quot; 8 Bytes (or 4 Words). That means the last line of the map will always be missing the last 4 tiles. The game ignores that last, incomplete line. However, in one level (A8.MNI), there is an actor placed in that last line. Since actors are saved as individual structures instead of a grid, that actor will still be loaded by the game. But for editing a level, you should make sure the last line is visible, so that it&#039;s possible to place actors in that line or remove them from there.&lt;br /&gt;
&lt;br /&gt;
==== Mapping cell values to tiles ====&lt;br /&gt;
&lt;br /&gt;
The method of mapping elements in the &amp;lt;tt&amp;gt;iMapData&amp;lt;/tt&amp;gt; structure into tiles is fairly straightforward.  Each cell value is a pixel index into the tilemap.  Imagine the tileset laid out left to right all on the one row.  Since each tile is 8x8 pixels, at 16 pixels into the image, the third tile will begin (x = 0 for first tile, x = 8 for second tile, x = 16 for third tile.)  The cell value is essentially a pixel x-coordinate into the tileset.&lt;br /&gt;
&lt;br /&gt;
Note that in the tileset file, the solid tiles are made up of 2000 4-plane (16-colour) images, and these are followed by 1000 5-plane images (16-colour + transparency.)  Although separate images, they appear to be concatenated when the game loads them, as the cell value will be zero for the first solid tile, it will be eight for the second solid tile, it will be 15992 for the last solid tile, and it will be 16000 for the first masked tile.&lt;br /&gt;
&lt;br /&gt;
This means that if the solid and masked tiles have been treated as separate images, a check will need to be performed so that any cell value below 16000 is loaded from the solid tileset, and any value larger than this is loaded from the masked tileset (after subtracting 16000 from the cell value, to put it at zero for the first masked tile.)  However, for some reason the values for the masked tiles are at multiples of five tiles (tile #0 (x=0) is the first tile, tile #5 (x=40) is the second tile.)  This formula can be used to convert the values into tile numbers once they stray into the masked tile area:&lt;br /&gt;
&lt;br /&gt;
 #define COSMO_TS_SOLID_NUMTILES   2000 // 40x25&lt;br /&gt;
 #define COSMO_TS_MASKED_NUMTILES  1000 // 40x4&lt;br /&gt;
 &lt;br /&gt;
 tile = cell_value / 8&lt;br /&gt;
 if (tile &amp;gt; COSMO_TS_SOLID_NUMTILES) {&lt;br /&gt;
   // Once we&#039;re in the masked tileset it counts up in multiples of five planes&lt;br /&gt;
   tile = COSMO_TS_SOLID_NUMTILES + (tile - COSMO_TS_SOLID_NUMTILES) / 5;&lt;br /&gt;
 }&lt;br /&gt;
 // Now &#039;tile&#039; will be between 0 and 2999 inclusive&lt;br /&gt;
&lt;br /&gt;
As an example of a few tile values:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cell value !! Tile number !! Tileset !! Index !! Comments&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || N/A || N/A || See through to map backdrop&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 1 || Solid || 1 || First solid tile, note increment of 8&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 2 || Solid || 2 || Second solid tile, increment of 8 again&lt;br /&gt;
|-&lt;br /&gt;
| 15992 || 1999 || Solid || 1999 || Last solid tile&lt;br /&gt;
|-&lt;br /&gt;
| 16000 || 2000 || Masked || 0 || First masked tile&lt;br /&gt;
|-&lt;br /&gt;
| 16040 || 2001 || Masked || 1 || Second masked tile, note increment of 40&lt;br /&gt;
|-&lt;br /&gt;
| 16080 || 2002 || Masked || 2 || Third masked tile, increment of 40 again&lt;br /&gt;
|-&lt;br /&gt;
| 55960 || 2999 || Masked || 999 || Last masked tile&lt;br /&gt;
|-&lt;br /&gt;
| 56000 || N/A || N/A || N/A || Should never get a value this size or larger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that while the cell value cannot be out of range for the solid tiles/background layer (since any values larger than 16000 will be loaded from the masked tileset) the cell values for the masked tileset have no such restriction.  (Although obviously out of range tiles will not be drawn correctly by the engine!)&lt;br /&gt;
&lt;br /&gt;
==== Gotchas ====&lt;br /&gt;
&lt;br /&gt;
* The first tile in the solid tileset is used as a transparent tile.  It will appear completely black if drawn (e.g. in a map editor) however the game does not draw this tile, so any cells with this as the background cell will be where the map backdrop shows through.  If you wish to draw the map with the backdrop in-place, remember not to draw tile #0 over the top of the backdrop.&lt;br /&gt;
&lt;br /&gt;
=== Actor data ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;actorData&amp;lt;/tt&amp;gt; block is in the following format:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iType||Type of actor&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iX||X-coordinate of actor (in tile units)&lt;br /&gt;
|-&lt;br /&gt;
|UINT16LE iY||Y-coordinate of actor (in tile units)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Because the &amp;lt;tt&amp;gt;iActorSize&amp;lt;/tt&amp;gt; value in the header is in UINT16s and there are three UINT16s per actor, the number of actors can be obtained quite simply:&lt;br /&gt;
&lt;br /&gt;
 iNumActors = iActorSize / 3&lt;br /&gt;
&lt;br /&gt;
This is assuming &amp;lt;tt&amp;gt;iActorSize&amp;lt;/tt&amp;gt; is reliable - the original specs from Dave Bollinger indicate this is not always the case for DukeII, but no examples are known at the moment.&lt;br /&gt;
&lt;br /&gt;
==== Mapping Actor Types to image indices ====&lt;br /&gt;
&lt;br /&gt;
For the ActorTypes from 32 to 296 (inclusive), you can get an image index from ACTORS.MNI and ACTRINFO.MNI like this:&lt;br /&gt;
&lt;br /&gt;
 ImageIndex = ActorType - 31&lt;br /&gt;
&lt;br /&gt;
However, this does not work for every ActorType. Some share the same images (e.g.: normal stars and falling stars), some use flipped versions of other images (like the pink eye plants) and some are invisible in the game. In either case, the index in the ACTRINFO.MNI will contain no data. You will either have to include hard-coded info to draw these, or just draw something else (like the actual ActorType as text).&lt;br /&gt;
&lt;br /&gt;
==== List of Actor Types ====&lt;br /&gt;
&lt;br /&gt;
This is a list of all the actor types that can be found in the original levels of the three episodes. There might be more ActorTypes that work in the game. For example, 69 is probably the (falling) &amp;quot;Onion&amp;quot; item as you can guess by looking at the numbers 62-68.&lt;br /&gt;
&lt;br /&gt;
   0	PLAYER:	Cosmo (facing right)&lt;br /&gt;
   1	moving platform (fixed path)&lt;br /&gt;
   2	PLAT:	mud fountain 1 (small)&lt;br /&gt;
   3	PLAT:	mud fountain 2 (normal)&lt;br /&gt;
   4	PLAT:	mud fountain 3 (big)&lt;br /&gt;
   5	PLAT:	mud fountain 4 (huge)&lt;br /&gt;
   6	BRIGHTNESS:	left border of light&lt;br /&gt;
   7	BRIGHTNESS:	light source (top center)&lt;br /&gt;
   8	BRIGHTNESS:	right border of light&lt;br /&gt;
 &lt;br /&gt;
  22	??? (only in A8.MNI, doesn&#039;t seem to be doing anything)&lt;br /&gt;
 &lt;br /&gt;
  32	BONUS:	Star	(200)&lt;br /&gt;
  33	PLAT:	Catapult (ground)&lt;br /&gt;
  34	ENEMY:	Big Arrow (from right to left)&lt;br /&gt;
  35	ENEMY:	Big Arrow (from left to right)&lt;br /&gt;
  36	ENEMY:	Fireball (from right to left)&lt;br /&gt;
  37	ENEMY:	Fireball (from left to right)&lt;br /&gt;
  38	Blue Switch (on ceiling)&lt;br /&gt;
  39	Red Switch (on ceiling)&lt;br /&gt;
  40	Green Switch &lt;br /&gt;
  41	Yellow Switch&lt;br /&gt;
  42	Blue Door&lt;br /&gt;
  43	Red Door&lt;br /&gt;
  44	Green Door&lt;br /&gt;
  45	Yellow Door&lt;br /&gt;
 &lt;br /&gt;
  47	ENEMY:	Blue Catapult Car&lt;br /&gt;
  48	ENEMY:	Double Spikes on ground&lt;br /&gt;
  49	ENEMY:	Double Spikes (coming out of the ground)&lt;br /&gt;
 &lt;br /&gt;
  51	ENEMY:	Big Saw Blade&lt;br /&gt;
 &lt;br /&gt;
  56	ENEMY:	Green Ball&lt;br /&gt;
 &lt;br /&gt;
  59	BONUS:	Power Up	(health/12800)&lt;br /&gt;
  60	BARREL:	Power Up	(health/12800)&lt;br /&gt;
 &lt;br /&gt;
  62	CRATE:	Green Tomato&lt;br /&gt;
  63	BONUS:	Green Tomato (falling)&lt;br /&gt;
  64	CRATE:	Tomato		(200)&lt;br /&gt;
  65	BONUS:	Tomato (falling)&lt;br /&gt;
  66	CRATE:	Yellow/Cyan Fruit&lt;br /&gt;
  67	BONUS:	Yellow/Cyan Fruit (falling)&lt;br /&gt;
  68	CRATE:	Onion&lt;br /&gt;
 &lt;br /&gt;
  70	Exit Sign (ends level on touch)&lt;br /&gt;
 &lt;br /&gt;
  72	ENEMY:	Spear (coming down from ceiling)&lt;br /&gt;
  73	ENEMY:	Green stuff leaking (NOT dropping)&lt;br /&gt;
  74	ENEMY:	Green stuff dropping down&lt;br /&gt;
  75	ENEMY:	Blue Flame flying up &amp;amp; down&lt;br /&gt;
  76	ENEMY:	&amp;quot;Two Tons&amp;quot; Weight going down &amp;amp; up&lt;br /&gt;
  77	ENEMY:	Jumping Bullets&lt;br /&gt;
  78	ENEMY:	Big Grey Heads falling down and going back up&lt;br /&gt;
  79	ENEMY:	Big Yellow Spike on ceiling&lt;br /&gt;
  80	ENEMY:	Big Yellow Spike on ceiling (falling down)&lt;br /&gt;
  81	ENEMY:	Big Yellow Spike on ground&lt;br /&gt;
  82	ENEMY:	Ghost&lt;br /&gt;
  83	CRATE:	Green thingy&lt;br /&gt;
 &lt;br /&gt;
  85	ENEMY:	Cyan Ball&lt;br /&gt;
  86	ENEMY:	Small Red Plant&lt;br /&gt;
  87	BARREL:	Bomb	(100)&lt;br /&gt;
  88	BONUS:	Bomb	(100)&lt;br /&gt;
 &lt;br /&gt;
  90	switch (1)&lt;br /&gt;
 &lt;br /&gt;
  92	switch (2)&lt;br /&gt;
  93	question mark&lt;br /&gt;
  94	claw spikes from ground&lt;br /&gt;
  95	Rubber Wall (can blow it up)&lt;br /&gt;
  96	ENEMY:	cyan jumping ball&lt;br /&gt;
 &lt;br /&gt;
 100	CREATURE:	Green Worm&lt;br /&gt;
 101	PIPES:	Arrow Up&lt;br /&gt;
 102	PIPES:	Arrow Down&lt;br /&gt;
 103	PIPES:	Arrow Left&lt;br /&gt;
 104	PIPES:	Arrow Right&lt;br /&gt;
 105	ENEMY:	Egg Head (special?) -- only 1x: in B2.MNI&lt;br /&gt;
 106	ENEMY:	Egg Head&lt;br /&gt;
 &lt;br /&gt;
 109	ENEMY:	Spike on ground (animated)&lt;br /&gt;
 &lt;br /&gt;
 111	ENEMY:	Spike on ceiling (animated)&lt;br /&gt;
 112	CRATE:	Burger&lt;br /&gt;
 &lt;br /&gt;
 114	ENEMY:	Blue/Red plant&lt;br /&gt;
 &lt;br /&gt;
 116	BONUS:	Purple Grapes	(800)&lt;br /&gt;
 117	ENEMY:	Blue Ball&lt;br /&gt;
 118	ENEMY:	Spikes (on left wall)&lt;br /&gt;
 119	ENEMY:	Spikes (on left wall) goes in &amp;amp; out of wall&lt;br /&gt;
 120	ENEMY:	Spikes (on right wall)&lt;br /&gt;
 121	ENEMY:	Robot with elctric beam&lt;br /&gt;
 122	PLAT:	Blue Platform (opens afer a few seconds)&lt;br /&gt;
 123	ENEMY:	Spark&lt;br /&gt;
 &lt;br /&gt;
 125	BONUS:	Cyan Mushroom	(400)&lt;br /&gt;
 126	DECO:	Pink Eye Plant&lt;br /&gt;
 127	DECO:	Pink Eye Plant (hanging upside down)&lt;br /&gt;
 &lt;br /&gt;
 132	ENEMY:	Big Red Jumper&lt;br /&gt;
 133	ENEMY:	BOSS&lt;br /&gt;
 &lt;br /&gt;
 135	PIPES:	Exit&lt;br /&gt;
 136	PIPES:	Entrance&lt;br /&gt;
 137	ENEMY:	Yellow Dude with blue legs&lt;br /&gt;
 138	Scooter (Teleporter 1)&lt;br /&gt;
 139	Scooter (Teleporter 2)&lt;br /&gt;
 &lt;br /&gt;
 142	ENEMY:	Cyan Spitting Plant (on left wall)&lt;br /&gt;
 143	ENEMY:	Cyan Spitting Plant (on right wall)&lt;br /&gt;
 144	ENEMY:	Blue spitting thing&lt;br /&gt;
 145	PLAT:	Platform you can ride and control&lt;br /&gt;
 146	CRATE:	pile of green balls&lt;br /&gt;
 &lt;br /&gt;
 148	BARREL:	Saxophone-like thing&lt;br /&gt;
 149	ENEMY:	little red dude&lt;br /&gt;
 150	CRATE:	Salad&lt;br /&gt;
 151	switch (3)&lt;br /&gt;
 152	switch (4)&lt;br /&gt;
 153	Energy Beam (|)&lt;br /&gt;
 154	Energy Beam (-)&lt;br /&gt;
 155	ENEMY:	slug/Worm&lt;br /&gt;
 156	HINT:	&amp;quot;These hint globes will help you along your journey. Press the up key to reread them.&amp;quot;&lt;br /&gt;
 157	ENEMY:	Grey Dude (pushes player around)&lt;br /&gt;
 158	ENEMY:	Robot&lt;br /&gt;
 &lt;br /&gt;
 160	PLAT:	Dragonfly&lt;br /&gt;
 161	Crate/Box (can only be destroyed with bombs)&lt;br /&gt;
 &lt;br /&gt;
 165	BONUS:	Bottle with red liquid&lt;br /&gt;
 166	BONUS:	Green thing&lt;br /&gt;
 167	BONUS:	Blue thing&lt;br /&gt;
 168	BONUS:	Salad?&lt;br /&gt;
 169	BONUS:	Pile of green things&lt;br /&gt;
 170	BONUS:	whatever..&lt;br /&gt;
 &lt;br /&gt;
 172	BONUS:	blue thing&lt;br /&gt;
 &lt;br /&gt;
 174	DECO:	Sattelite&lt;br /&gt;
 &lt;br /&gt;
 176	ENEMY:	Green Plant&lt;br /&gt;
 177	BONUS:	5 Yellow Grapes	(800)&lt;br /&gt;
 178	BONUS:	whatever...&lt;br /&gt;
 179	CRATE:	with item 178&lt;br /&gt;
 180	DECO:	Jaws &amp;amp; Tongue&lt;br /&gt;
 181	invisible exit marker (go right to exit)&lt;br /&gt;
 182	small flame&lt;br /&gt;
 183	ENEMY:	Big Red Plant (spitting Blue Balls/catapult)&lt;br /&gt;
 &lt;br /&gt;
 185	BONUS:	Blue Crystal (on ground)&lt;br /&gt;
 186	BONUS:	Red Crystal (on ground)&lt;br /&gt;
 187	BARREL:	Red/Green Gem&lt;br /&gt;
 188	BARREL:	Blue Crystal&lt;br /&gt;
 189	BARREL:	Red Crystal&lt;br /&gt;
 190	BONUS:	Green Tomato&lt;br /&gt;
 191	BONUS:	Tomato&lt;br /&gt;
 192	BONUS:	Yellow/Cyan Fruit	(200)&lt;br /&gt;
 193	ENEMY:	Bear Trap&lt;br /&gt;
 194	PLAT:	Blue Cube (falls down when you walk off)&lt;br /&gt;
 195	MESSAGE:	&amp;quot;What&#039;s happening? Is Cosmo falling to his doom?&amp;quot;&lt;br /&gt;
 196	MESSAGE:	&amp;quot;Is there no end to this pit? An what danger awaits below?!&amp;quot;&lt;br /&gt;
 197	Level End Object?&lt;br /&gt;
 198	CRATE:	Root		(400)&lt;br /&gt;
 199	BONUS:	Root&lt;br /&gt;
 200	CRATE:	4 Brown Berries	(400)&lt;br /&gt;
 201	BONUS:	4 Brown Berries&lt;br /&gt;
 &lt;br /&gt;
 203	BONUS:	Potato?&lt;br /&gt;
 204	BARREL:	Green Gem&lt;br /&gt;
 205	BONUS:	Green Gem&lt;br /&gt;
 206	BARREL: Diamond		(3200)&lt;br /&gt;
 207	BONUS:	Diamond&lt;br /&gt;
 &lt;br /&gt;
 217	ENEMY:	Big Green Plant (level exit?)&lt;br /&gt;
 218	ENEMY:	Blue Bird&lt;br /&gt;
 219	OBJECT:	Rocket&lt;br /&gt;
 220	BONUS:	Invincibility&lt;br /&gt;
 221	PLAT:	Podest 1 (14 tiles high)&lt;br /&gt;
 222	PLAT:	Podest 2 (20 tiles high)&lt;br /&gt;
 223	PLAT:	Podest 3 (26 tiles high)&lt;br /&gt;
 224	BARREL:	Diamond 2&lt;br /&gt;
 225	BONUS:	Diamond 2 (falling)&lt;br /&gt;
 226	BARREL:	Red Berry&lt;br /&gt;
 227	BONUS:	Red Berry (falling)&lt;br /&gt;
 228	BARREL:	Crystal		(800)&lt;br /&gt;
 229	BONUS:	Crystal (falling)&lt;br /&gt;
 230	BARREL:	Blue Gem&lt;br /&gt;
 231	BONUS:	Blue Gem (falling)&lt;br /&gt;
 &lt;br /&gt;
 233	DECO:	Rocket Exhaust&lt;br /&gt;
 234	Scooter (Level Exit)&lt;br /&gt;
 235	HINT:	&amp;quot;Bump head into switch above!&amp;quot;&lt;br /&gt;
 236	HINT:	&amp;quot;The ice in this cave is very, very slippery.&amp;quot;&lt;br /&gt;
 237	HINT:	&amp;quot;Use this shield for temporary invincibility.&amp;quot;&lt;br /&gt;
 238	HINT:	&amp;quot;You found a secret area!!! Good Job!&amp;quot;&lt;br /&gt;
 239	HINT:	&amp;quot;In hight places look up to find bonus objects.&amp;quot;&lt;br /&gt;
 240	HINT:	&amp;quot;Out of Order...&amp;quot;&lt;br /&gt;
 241	HINT:	&amp;quot;This might be a good time to save your game!&amp;quot;&lt;br /&gt;
 242	HINT:	&amp;quot;Press your up key to use the transporter.&amp;quot;&lt;br /&gt;
 243	HINT:	&amp;quot;(1) FOR...&amp;quot;&lt;br /&gt;
 244	BONUS:	Diamond 2&lt;br /&gt;
 245	BONUS:	Red Berry&lt;br /&gt;
 246	BONUS:	Crystal&lt;br /&gt;
 247	BONUS:	Blue Gem	(800)&lt;br /&gt;
 248	PLAT:	Catapult on ceiling&lt;br /&gt;
 249	BARREL:	Headphones&lt;br /&gt;
 250	BONUS:	Headphones&lt;br /&gt;
 251	BONUS:	Headphones (falling)&lt;br /&gt;
 252	OBJECT:	Frozen Duke NukUm&lt;br /&gt;
 &lt;br /&gt;
 254	BONUS:	3 Bananas	(800)&lt;br /&gt;
 255	CRATE:	Strawberry&lt;br /&gt;
 256	BONUS:	Strawberry	(400)&lt;br /&gt;
 &lt;br /&gt;
 258	CRATE:	Brown Pear&lt;br /&gt;
 259	BONUS:	Brown Pear&lt;br /&gt;
 &lt;br /&gt;
 261	CRATE:	Carrot&lt;br /&gt;
 262	BONUS:	Carrot		(400)&lt;br /&gt;
 &lt;br /&gt;
 264	DANGER:	Flame (&amp;lt;-)&lt;br /&gt;
 265	DANGER:	Flame (-&amp;gt;)&lt;br /&gt;
 &lt;br /&gt;
 267	DANGER:	Red stuff leaking&lt;br /&gt;
 268	DANGER:	Red stuff dropping down&lt;br /&gt;
 269	HINT:	&amp;quot;(2) EXTRA...&amp;quot;&lt;br /&gt;
 270	HINT:	&amp;quot;(3) POINTS,...&amp;quot;&lt;br /&gt;
 271	HINT:	&amp;quot;(4) DESTROY...&amp;quot;&lt;br /&gt;
 272	HINT:	&amp;quot;(5) HINT...&amp;quot;&lt;br /&gt;
 273	HINT:	&amp;quot;(6) GLOBES!!!&amp;quot;&lt;br /&gt;
 274	HINT:	&amp;quot;The Clam Plants won&#039;t hurt you if their mouths are closed.&amp;quot;+Clam Sprite&lt;br /&gt;
 &lt;br /&gt;
 278	DECO:	Big Mouth (end of E1/start of E2)&lt;br /&gt;
 279	DECO:	Normal Smoke Rising&lt;br /&gt;
 280	DECO:	Big Smoke rising&lt;br /&gt;
 281	invisible, end level when you fall below (Bonus Levels only)&lt;br /&gt;
 &lt;br /&gt;
 283	BONUS:	Red Crystal hanging from ceiling&lt;br /&gt;
 284	HINT:	&amp;quot;Collect the STARS to advance to BONUS STAGES.&amp;quot;&lt;br /&gt;
 285	HINT:	&amp;quot;Some creatures require more than one pounce to defeat!&amp;quot;&lt;br /&gt;
 286	HINT:	&amp;quot;Cosmo can climb wall&#039;s with his suction hands.&amp;quot;+CosmoWallSprite&lt;br /&gt;
 &lt;br /&gt;
 294	BONUS:	Power Up (falling)	(health/12800)&lt;br /&gt;
 295	BONUS:	Star (falling)	(200)&lt;br /&gt;
 296	end of episode 2 trigger?&lt;br /&gt;
&lt;br /&gt;
The hint texts are the messages you get in episode 1, the other episodes have different (and less!) messages. The later hint globes probably don&#039;t work in those episodes.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This file format was reverse engineered by [http://www.geocities.com/dooknookimklassik/ Dave Bollinger].  Most of this info came from the [http://www.geocities.com/dooknookimklassik/dn2specs.txt Duke II specs on his website], with [[User:Malvineous|Malvineous]] working out which bits to remove to read Cosmo maps.  If you find this information helpful in a project you&#039;re working on, please give credit where credit is due.  (A link back to this wiki would be nice too!)&lt;/div&gt;</summary>
		<author><name>Fuzzie</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Tile_Attributes&amp;diff=4483</id>
		<title>Cosmo Tile Attributes</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Cosmo_Tile_Attributes&amp;diff=4483"/>
		<updated>2013-01-22T05:34:29Z</updated>

		<summary type="html">&lt;p&gt;Fuzzie: bit 6 is sloped&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The structure of Cosmo&#039;s tile attribute format is very similar to the format used in the [[Duke Nukem II CZone Format]], only this one uses [[UINT8]] values instead of [[UINT16LE]] values.&lt;br /&gt;
&lt;br /&gt;
The attribute data consists of 2000 [[UINT8]] values (settings for the solid tiles), followed by another 5000 [[UINT8]] values (five [[UINT8]]s for each masked tile). It seems like only the first [[UINT8]] for each masked tile is actually used by the game.&lt;br /&gt;
&lt;br /&gt;
 Bit | Description&lt;br /&gt;
 ----+------------&lt;br /&gt;
   7 | can grab wall&lt;br /&gt;
   6 | sloped (auto-descend)&lt;br /&gt;
   5 | in-front&lt;br /&gt;
   4 | slippery&lt;br /&gt;
   3 | block right&lt;br /&gt;
   2 | block left&lt;br /&gt;
   1 | block up&lt;br /&gt;
   0 | block down&lt;br /&gt;
&lt;br /&gt;
= Credits =&lt;br /&gt;
&lt;br /&gt;
This file format was reverse engineered by [[User:K1n9_Duk3|K1n9_Duk3]].  If you find this information helpful in a project you&#039;re working on, please give credit where credit is due.  (A link back to this wiki would be nice too!)&lt;br /&gt;
&lt;br /&gt;
[[Category:Cosmo&#039;s Cosmic Adventures]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Fuzzie</name></author>
	</entry>
</feed>