<?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=Yellowantphil</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=Yellowantphil"/>
	<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/wiki/Special:Contributions/Yellowantphil"/>
	<updated>2026-05-15T03:19:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3895</id>
		<title>Wacky Wheels High Score Files</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3895"/>
		<updated>2012-02-20T02:59:33Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: copy editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the high score file formats in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==Single-player race==&lt;br /&gt;
Single-player race high scores are saved in &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; for 12 hp engines and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; for 6 hp engines.&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;[[Wacky Wheels#File formats|wacky.dat]]&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
Each file contains 144 of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || A number between 1 and 6. I don’t think this number is used for anything.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || racer || 0=Uno, 1=Sultan, 2=Morris, 3=Peggles, 4=Razer, 5=Ringo, 6=Blombo, 7=Tigi&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || score || Player’s score&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || date || The date, in the format &amp;lt;tt&amp;gt;01 SEP 1994&amp;lt;/tt&amp;gt;, or whatever other text you want to enter. Should be null-terminated after 12 characters for the text to fit the screen.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || name || The player’s name. 14 characters will fit on the screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The structures come in groups of four, because the top four scores are displayed on each “famous drivers” screen. Every other group of four structures is unused.&lt;br /&gt;
* The first group of four structures give the four highest scores for the regular bronze courses, amateur class. &lt;br /&gt;
* The second group of four structures is unused.&lt;br /&gt;
* The third group is for the regular bronze courses, pro class.&lt;br /&gt;
* The fourth group is unused.&lt;br /&gt;
&lt;br /&gt;
Next is regular bronze courses, champion class, followed by regular silver courses, amateur class, etc. After the regular gold courses, champion class, the bonus pack course high scores start.&lt;br /&gt;
&lt;br /&gt;
==Duck shoot==&lt;br /&gt;
Duck shoot high scores are stored in &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;. If deleted, the file is created using default names and scores in &amp;lt;tt&amp;gt;ww.exe&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The file contains four of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || player || Player’s name&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] || score || Number of points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The four names and scores are displayed just before starting a duck shoot.&lt;br /&gt;
&lt;br /&gt;
==Time trial==&lt;br /&gt;
The fastest time trial times are saved in &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; for 6 hp engines.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each file contains 30 of the following structures:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name1 || Name of the driver with the best lap time. Needs to be null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name2 || Driver with the second best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name3 || Driver with the third best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name4 || Driver with the fourth best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time1 || Time of the first driver, in tenths of a second. Maximum is one hour (36,000 tenths of a second)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time2 || Time of the second driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time3 || Time of the third driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time4 || Time of the fourth driver&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || overall_name || Name of the driver with the best time for the entire race&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || overall_time || Best overall race time, in tenths of a second. Maximum one hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The thirty structures are in this order:&lt;br /&gt;
* Regular bronze courses, tracks 1–5&lt;br /&gt;
* Regular silver courses&lt;br /&gt;
* Regular gold courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
* Bonus silver courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3893</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3893"/>
		<updated>2012-02-02T14:06:44Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Wacky Wheels */ reply&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;br /&gt;
: I decided against this because there is a link to the game&#039;s page in the category intro at the top of the page.  It seemed unnecessary having another link in amongst all the other pages.  This was also because the game page was really only meant to be a summary, there wasn&#039;t supposed to be a huge amount of detail on it, only links to other pages with the detail (which then would appear in the category list.)  I would imagine that, eventually, [[Wacky Wheels]] would be tweaked to move a lot of the content onto subpages. -- [[User:Malvineous|Malvineous]] 12:58, 16 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Scope of the wiki ==&lt;br /&gt;
&lt;br /&gt;
I don’t know how extensive you want the information to be on ModdingWiki... I added a few lists of audio and graphics files a while ago, and there will probably be other information that I’ll find out that’s potentially helpful for level editing but not directly related to it. I can move some information to my website if it starts to become out of scope for your wiki. I also sometimes end up documenting everything imaginable... there’s some minutiae on my website and possibly on your wiki that I ought to go through and delete. [[User:Yellowantphil|Yellowantphil]] 05:28, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Hmm, that&#039;s a difficult one - I&#039;m always in favour of documenting more rather than less.  Generally speaking if it&#039;s related to a game and it would help either a programmer writing a utility or a someone trying to change a game manually then it should be documented.  About the only thing that comes to mind that&#039;s over documenting is when some small calculation is expressed in a couple of different programming languages, but I&#039;ve left that in so people can just copy it rather than trying to figure it out from the text.  But the [[Wacky Wheels]] page is probably the gold standard for what all wiki pages should look like :-)  Do you have anything in particular you&#039;re unsure of whether it would fit here? -- [[User:Malvineous|Malvineous]] 10:07, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
::I was mainly thinking of the list of VOC files on [[Wacky Wheels Music and Sound Effects]] and the list of &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on [[Wacky Wheels Graphics Formats]]. I have an expanded list of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on my computer but it isn’t finished yet. I guess there isn’t all that much more Wacky Wheels information to be added to this wiki though. There is still some modding information on my website that ought to be moved over here, so that would take up another page or two. I’ve been lazy about doing Wacky Wheels stuff lately, but I might find some time for it this weekend.&lt;br /&gt;
&lt;br /&gt;
::By the way, I guess that guy from Cascadia Games emailed you. It’s pretty interesting that WW might become an iPhone app. He told me that he was going to be using his own game engine, which sounds a lot easier than trying to get a hold of the WW source code and porting it. —[[User:Yellowantphil|Yellowantphil]] 16:46, 15 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: I was going to say the list of VOCs might be overkill, but then the list of .sp files might be useful.  To be honest, it&#039;s the sort of thing that you could probably omit if you were feeling lazy, but likewise I don&#039;t mind at all if you choose to include it, so since it&#039;s already there I&#039;m happy to keep it.&lt;br /&gt;
&lt;br /&gt;
::: Yes I did get an e-mail from Cascadia, I was going to pass along your details but it sounds like you&#039;re already aware of it!  Using their own engine might make it a bit smoother than the original, as the jerkiness of turning is my only criticism of the game. -- [[User:Malvineous|Malvineous]] 00:14, 16 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Wacky Wheels ==&lt;br /&gt;
&lt;br /&gt;
Basically all of the WW modding information from my website is here now. I moved one page when I realized it should probably be capitalized to match the rest of the pages on this site... you can delete the redirect at [[Wacky Wheels high score files]] if you want to.&lt;br /&gt;
&lt;br /&gt;
Now, I need to remove most of the modding information from my website and refer people here. Then we’ll have reached the glorious future where all WW modding information is in one place. I’m going to keep those two text files of notes on my website though—the information in them is disorganized and I think not 100% accurate, but they might have some information that isn’t here yet.&lt;br /&gt;
&lt;br /&gt;
By the way, how’s Camoto going? I’m planning to use it to make a new WW level, but I won’t have time for it for a few more months. —[[User:Yellowantphil|Yellowantphil]]&lt;br /&gt;
&lt;br /&gt;
: Sounds good!  Thanks for all the effort you&#039;ve put in by moving it across.  I think Wacky Wheels is now the most completely documented game on the wiki!  Also can&#039;t hurt leaving your own info up - sometimes it&#039;s nice to go back to the original source if something is unclear.  Camoto&#039;s going well, but unfortunately I haven&#039;t had much time to work on it over the last few weeks.  You probably won&#039;t be able to make much of a level until I add in the ability to select a tile from the tileset, but that&#039;s in progress and hopefully will be ready by the time you are!  Keep me posted when you do start your level(s?) -- [[User:Malvineous|Malvineous]] 12:22, 2 February 2012 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Well, as I was reading some of the information on my website, I noticed that it isn’t written very well. I wrote those pages back when I had very little experience programming. Anyway, I’m planning to redesign my website soon, and this will save me from having to rewrite a few of those pages.&lt;br /&gt;
&lt;br /&gt;
::The tile editor in Camoto as it is now is still certainly useful—I can add new tile types to a level using a binary editor and then move them around in Camoto. I think that it shouldn’t be too hard to make a new WW level using the Gimp and Camoto plus some binary editing. I recall having some problems with the route editor for the computer players, but I didn’t look into it at the time—I’ll let you know when I’m working with Camoto again, and I’ll try to come up with some useful bug reports or fixes if I run into problems. —[[User:Yellowantphil|Yellowantphil]] 14:06, 2 February 2012 (GMT)&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3891</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3891"/>
		<updated>2012-02-02T03:23:58Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Wacky Wheels */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;br /&gt;
: I decided against this because there is a link to the game&#039;s page in the category intro at the top of the page.  It seemed unnecessary having another link in amongst all the other pages.  This was also because the game page was really only meant to be a summary, there wasn&#039;t supposed to be a huge amount of detail on it, only links to other pages with the detail (which then would appear in the category list.)  I would imagine that, eventually, [[Wacky Wheels]] would be tweaked to move a lot of the content onto subpages. -- [[User:Malvineous|Malvineous]] 12:58, 16 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Scope of the wiki ==&lt;br /&gt;
&lt;br /&gt;
I don’t know how extensive you want the information to be on ModdingWiki... I added a few lists of audio and graphics files a while ago, and there will probably be other information that I’ll find out that’s potentially helpful for level editing but not directly related to it. I can move some information to my website if it starts to become out of scope for your wiki. I also sometimes end up documenting everything imaginable... there’s some minutiae on my website and possibly on your wiki that I ought to go through and delete. [[User:Yellowantphil|Yellowantphil]] 05:28, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Hmm, that&#039;s a difficult one - I&#039;m always in favour of documenting more rather than less.  Generally speaking if it&#039;s related to a game and it would help either a programmer writing a utility or a someone trying to change a game manually then it should be documented.  About the only thing that comes to mind that&#039;s over documenting is when some small calculation is expressed in a couple of different programming languages, but I&#039;ve left that in so people can just copy it rather than trying to figure it out from the text.  But the [[Wacky Wheels]] page is probably the gold standard for what all wiki pages should look like :-)  Do you have anything in particular you&#039;re unsure of whether it would fit here? -- [[User:Malvineous|Malvineous]] 10:07, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
::I was mainly thinking of the list of VOC files on [[Wacky Wheels Music and Sound Effects]] and the list of &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on [[Wacky Wheels Graphics Formats]]. I have an expanded list of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on my computer but it isn’t finished yet. I guess there isn’t all that much more Wacky Wheels information to be added to this wiki though. There is still some modding information on my website that ought to be moved over here, so that would take up another page or two. I’ve been lazy about doing Wacky Wheels stuff lately, but I might find some time for it this weekend.&lt;br /&gt;
&lt;br /&gt;
::By the way, I guess that guy from Cascadia Games emailed you. It’s pretty interesting that WW might become an iPhone app. He told me that he was going to be using his own game engine, which sounds a lot easier than trying to get a hold of the WW source code and porting it. —[[User:Yellowantphil|Yellowantphil]] 16:46, 15 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: I was going to say the list of VOCs might be overkill, but then the list of .sp files might be useful.  To be honest, it&#039;s the sort of thing that you could probably omit if you were feeling lazy, but likewise I don&#039;t mind at all if you choose to include it, so since it&#039;s already there I&#039;m happy to keep it.&lt;br /&gt;
&lt;br /&gt;
::: Yes I did get an e-mail from Cascadia, I was going to pass along your details but it sounds like you&#039;re already aware of it!  Using their own engine might make it a bit smoother than the original, as the jerkiness of turning is my only criticism of the game. -- [[User:Malvineous|Malvineous]] 00:14, 16 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Wacky Wheels ==&lt;br /&gt;
&lt;br /&gt;
Basically all of the WW modding information from my website is here now. I moved one page when I realized it should probably be capitalized to match the rest of the pages on this site... you can delete the redirect at [[Wacky Wheels high score files]] if you want to.&lt;br /&gt;
&lt;br /&gt;
Now, I need to remove most of the modding information from my website and refer people here. Then we’ll have reached the glorious future where all WW modding information is in one place. I’m going to keep those two text files of notes on my website though—the information in them is disorganized and I think not 100% accurate, but they might have some information that isn’t here yet.&lt;br /&gt;
&lt;br /&gt;
By the way, how’s Camoto going? I’m planning to use it to make a new WW level, but I won’t have time for it for a few more months.&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3890</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3890"/>
		<updated>2012-02-02T03:07:45Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files not in wacky.dat */ changed links after moving other page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence where objects are drawn on the screen at different viewing angles. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence when objects are considered to be in your field of view. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence the apparent distance of objects and other drivers. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [[wacky.cfg]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. See [[Wacky Wheels High Score Files#Duck shoot|editing duck shoot high scores]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for single-player races. See [[Wacky Wheels High Score Files#Single-player race|editing single-player race high scores]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. See [[Wacky Wheels High Score Files#Time trial|editing time trial scores]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3888</id>
		<title>Wacky Wheels High Score Files</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3888"/>
		<updated>2012-02-02T03:05:02Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: moved Wacky Wheels high score files to Wacky Wheels High Score Files: I guess this should be capitalized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the high score file formats in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==Single-player race==&lt;br /&gt;
Single-player race high scores are saved in &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; for 12 hp engines and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; (6 hp engines).&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;[[Wacky Wheels#File formats|wacky.dat]]&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
Each file contains 144 of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || A number between 1 and 6. I don’t think this number is used for anything.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || racer || 0=Uno, 1=Sultan, 2=Morris, 3=Peggles, 4=Razer, 5=Ringo, 6=Blombo, 7=Tigi&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || score || Player’s score&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || date || The date, in the format &amp;lt;tt&amp;gt;01 SEP 1994&amp;lt;/tt&amp;gt;, or whatever other text you want to enter. Should be null-terminated after 12 characters for the text to fit the screen.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || name || The player’s name. 14 characters will fit on the screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The structures come in groups of four, because the top four scores are displayed on each “famous drivers” screen. Every other group of four structures is unused.&lt;br /&gt;
* The first group of four structures give the four highest scores for the regular bronze courses, amateur class. &lt;br /&gt;
* The second group of four structures is unused.&lt;br /&gt;
* The third group is for the regular bronze courses, pro class.&lt;br /&gt;
* The fourth group is unused.&lt;br /&gt;
&lt;br /&gt;
Next is regular bronze courses, champion class, followed by regular silver courses, amateur class, etc. After the regular gold courses, champion class, the bonus pack course high scores start.&lt;br /&gt;
&lt;br /&gt;
==Duck shoot==&lt;br /&gt;
Duck shoot high scores are stored in &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;. If deleted, the file is created using default names and scores in &amp;lt;tt&amp;gt;ww.exe&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each file contains four of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || player || Player’s name&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] || score || Number of points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The four names and scores are displayed just before starting a duck shoot.&lt;br /&gt;
&lt;br /&gt;
==Time trial==&lt;br /&gt;
The fastest time trial times are saved in &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; for 6 hp engines.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each file contains 30 of the following structures:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name1 || Name of the driver with the best lap time. Needs to be null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name2 || Driver with the second best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name3 || Driver with the third best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name4 || Driver with the fourth best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time1 || Time of the first driver, in tenths of a second. Maximum is one hour (36,000 tenths of a second)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time2 || Time of the second driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time3 || Time of the third driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time4 || Time of the fourth driver&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || overall_name || Name of the driver with the best time for the entire race&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || overall_time || Best overall race time, in tenths of a second. Maximum one hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The thirty structures are in this order:&lt;br /&gt;
* Regular bronze courses, tracks 1–5&lt;br /&gt;
* Regular silver courses&lt;br /&gt;
* Regular gold courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
* Bonus silver courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3887</id>
		<title>Wacky Wheels High Score Files</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3887"/>
		<updated>2012-02-02T02:50:52Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: finished adding information from my website&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the high score file formats in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==Single-player race==&lt;br /&gt;
Single-player race high scores are saved in &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; for 12 hp engines and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; (6 hp engines).&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;[[Wacky Wheels#File formats|wacky.dat]]&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
Each file contains 144 of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || A number between 1 and 6. I don’t think this number is used for anything.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || racer || 0=Uno, 1=Sultan, 2=Morris, 3=Peggles, 4=Razer, 5=Ringo, 6=Blombo, 7=Tigi&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || score || Player’s score&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || date || The date, in the format &amp;lt;tt&amp;gt;01 SEP 1994&amp;lt;/tt&amp;gt;, or whatever other text you want to enter. Should be null-terminated after 12 characters for the text to fit the screen.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || name || The player’s name. 14 characters will fit on the screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The structures come in groups of four, because the top four scores are displayed on each “famous drivers” screen. Every other group of four structures is unused.&lt;br /&gt;
* The first group of four structures give the four highest scores for the regular bronze courses, amateur class. &lt;br /&gt;
* The second group of four structures is unused.&lt;br /&gt;
* The third group is for the regular bronze courses, pro class.&lt;br /&gt;
* The fourth group is unused.&lt;br /&gt;
&lt;br /&gt;
Next is regular bronze courses, champion class, followed by regular silver courses, amateur class, etc. After the regular gold courses, champion class, the bonus pack course high scores start.&lt;br /&gt;
&lt;br /&gt;
==Duck shoot==&lt;br /&gt;
Duck shoot high scores are stored in &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;. If deleted, the file is created using default names and scores in &amp;lt;tt&amp;gt;ww.exe&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each file contains four of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || player || Player’s name&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] || score || Number of points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The four names and scores are displayed just before starting a duck shoot.&lt;br /&gt;
&lt;br /&gt;
==Time trial==&lt;br /&gt;
The fastest time trial times are saved in &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; for 6 hp engines.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each file contains 30 of the following structures:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name1 || Name of the driver with the best lap time. Needs to be null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name2 || Driver with the second best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name3 || Driver with the third best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || lap_name4 || Driver with the fourth best lap time&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time1 || Time of the first driver, in tenths of a second. Maximum is one hour (36,000 tenths of a second)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time2 || Time of the second driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time3 || Time of the third driver&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || lap_time4 || Time of the fourth driver&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || overall_name || Name of the driver with the best time for the entire race&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || overall_time || Best overall race time, in tenths of a second. Maximum one hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The thirty structures are in this order:&lt;br /&gt;
* Regular bronze courses, tracks 1–5&lt;br /&gt;
* Regular silver courses&lt;br /&gt;
* Regular gold courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
* Bonus silver courses&lt;br /&gt;
* Bonus bronze courses&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3886</id>
		<title>Wacky Wheels High Score Files</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_High_Score_Files&amp;diff=3886"/>
		<updated>2012-02-01T04:17:59Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: Created page with &amp;quot;This page describes the high score file formats in Wacky Wheels.  ==Single-player race== Single-player race high scores are saved in &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; for 12 hp engines and ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the high score file formats in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==Single-player race==&lt;br /&gt;
Single-player race high scores are saved in &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; for 12 hp engines and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; (6 hp engines).&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;[[Wacky Wheels#File formats|wacky.dat]]&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Duck shoot==&lt;br /&gt;
Duck shoot high scores are stored in &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;. If deleted, the file is created using default names and scores in &amp;lt;tt&amp;gt;ww.exe&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The file contains four of the following structures:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][20] || player || Player’s name&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] || score || Number of points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The four names and scores are displayed just before starting a duck shoot.&lt;br /&gt;
&lt;br /&gt;
==Time trial==&lt;br /&gt;
The fastest time trial times are saved in &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; for 6 hp engines.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3885</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3885"/>
		<updated>2012-02-01T03:45:55Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files not in wacky.dat */ moved information to a new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence where objects are drawn on the screen at different viewing angles. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence when objects are considered to be in your field of view. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence the apparent distance of objects and other drivers. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [[wacky.cfg]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. See [[Wacky Wheels high score files#Duck shoot|editing duck shoot high scores]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for single-player races. See [[Wacky Wheels high score files#Single-player race|editing single-player race high scores]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. See [[Wacky Wheels high score files#Time trial|editing time trial scores]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Configuration_Format&amp;diff=3884</id>
		<title>Wacky Wheels Configuration Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Configuration_Format&amp;diff=3884"/>
		<updated>2012-02-01T03:28:59Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: added saved game category, although this isn&amp;#039;t only a saved game format... hmm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; file format used in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
Most of the information in &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; can be set using the &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt; program that ships with Wacky Wheels. &amp;lt;tt&amp;gt;Setup.exe&amp;lt;/tt&amp;gt; can also generate a new &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; file. &amp;lt;tt&amp;gt;Wacky.cfg&amp;lt;/tt&amp;gt; also contains saved game information.&lt;br /&gt;
&lt;br /&gt;
==Editing saved games==&lt;br /&gt;
Wacky Wheels can store two saved games: a single player race and a two-player race. Each saved game can be enabled or disabled—if a game is enabled, then when selecting that race type from the Wacky Wheels main menu, you are prompted to either restore the saved game or start a new game.&lt;br /&gt;
&lt;br /&gt;
The command-line program wwsave can edit Wacky Wheels saved games. It can be compiled for Windows or Linux, and presumably other operating systems including Mac:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
&lt;br /&gt;
Saved games are stored in &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; using [[INT32LE]] integers at the following offsets. &#039;&#039;&#039;P1&#039;&#039;&#039; designates player one, and &#039;&#039;&#039;P2&#039;&#039;&#039; designates player two.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!| Single-player race&lt;br /&gt;
!| Description&lt;br /&gt;
!| Two-player race&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;866&amp;lt;/tt&amp;gt; || Saved game enabled (0=disabled, 1=enabled) || &amp;lt;tt&amp;gt;8DA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;876&amp;lt;/tt&amp;gt; || Race type (1=amateur, 2=pro, 3=champ, 4=time trial, 5=sort of like kid mode). If you set the race type to time trial, only the first six laps are recorded, but your overall time is for all laps. If the number of laps is less than six, any laps that you didn’t race have will get a time of zero seconds. || &amp;lt;tt&amp;gt;8EA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;872&amp;lt;/tt&amp;gt; || Number of laps. A zero lap race ends when you cross the finish line before the first lap. If you set the number of laps to a negative number, the race ends as soon as it starts, and you get first place. || &amp;lt;tt&amp;gt;8E6&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;958&amp;lt;/tt&amp;gt; || Horsepower (1=12HP, 2=6HP) || &amp;lt;tt&amp;gt;95A&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;87A&amp;lt;/tt&amp;gt; || Course group (1=bronze, 2=silver, 3=gold). || &amp;lt;tt&amp;gt;8EE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;95C&amp;lt;/tt&amp;gt; || Course pack (0=regular races, 3=bonus pack) || &amp;lt;tt&amp;gt;95E&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;87E&amp;lt;/tt&amp;gt; || Course number (1–5) || &amp;lt;tt&amp;gt;8F2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;86A&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;8A2&amp;lt;/tt&amp;gt; || Your character type (0=Uno, 1=Sultan, 2=Morris, 3=Peggles, 4=Razer, 5=Ringo, 6=Blombo, 7=Tigi). Both of these bytes should be the same number. || &#039;&#039;&#039;P1:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8DE&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;916&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;P2:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8E2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;91A&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8A6–8BE&amp;lt;/tt&amp;gt; || Opponents’ character types. Use the numbers listed above. || &amp;lt;tt&amp;gt;91E–932&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;882&amp;lt;/tt&amp;gt; || Your points || &#039;&#039;&#039;P1&#039;&#039;&#039;: &amp;lt;tt&amp;gt;8F6&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;P2:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8FA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;886–89E&amp;lt;/tt&amp;gt; || Opponents’ points || &amp;lt;tt&amp;gt;8FE–912&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8C2&amp;lt;/tt&amp;gt; || Number of hedge hogs. You can’t save hedgehogs in a two player race. ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8C6&amp;lt;/tt&amp;gt; || Item held. (0=nothing, 3=fire, 4=devil pups, 5=bomb, 6=oil, 7=upside down hog, 8=ice). If you hit an upside down hog, your steering reverses, but the screen doesn’t turn upside down like it does in shootouts. Opponents spin out when they hit one. You can’t save an item in a two player race. || &lt;br /&gt;
|-&lt;br /&gt;
| || Two-player race type (1=race head to head, 2=race with all cars) || &amp;lt;tt&amp;gt;94E&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The information in the above table is an expanded and corrected version of the information in the [http://www.rinkworks.com/apogee/s/6.1.2.2.shtml Apogee FAQ].&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Saved Game Files]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Configuration_Format&amp;diff=3883</id>
		<title>Wacky Wheels Configuration Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Configuration_Format&amp;diff=3883"/>
		<updated>2012-02-01T03:18:46Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: wacky.cfg information from my site&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; file format used in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
Most of the information in &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; can be set using the &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt; program that ships with Wacky Wheels. &amp;lt;tt&amp;gt;Setup.exe&amp;lt;/tt&amp;gt; can also generate a new &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; file. &amp;lt;tt&amp;gt;Wacky.cfg&amp;lt;/tt&amp;gt; also contains saved game information.&lt;br /&gt;
&lt;br /&gt;
==Editing saved games==&lt;br /&gt;
Wacky Wheels can store two saved games: a single player race and a two-player race. Each saved game can be enabled or disabled—if a game is enabled, then when selecting that race type from the Wacky Wheels main menu, you are prompted to either restore the saved game or start a new game.&lt;br /&gt;
&lt;br /&gt;
The command-line program wwsave can edit Wacky Wheels saved games. It can be compiled for Windows or Linux, and presumably other operating systems including Mac:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
&lt;br /&gt;
Saved games are stored in &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt; using [[INT32LE]] integers at the following offsets. &#039;&#039;&#039;P1&#039;&#039;&#039; designates player one, and &#039;&#039;&#039;P2&#039;&#039;&#039; designates player two.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!| Single-player race&lt;br /&gt;
!| Description&lt;br /&gt;
!| Two-player race&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;866&amp;lt;/tt&amp;gt; || Saved game enabled (0=disabled, 1=enabled) || &amp;lt;tt&amp;gt;8DA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;876&amp;lt;/tt&amp;gt; || Race type (1=amateur, 2=pro, 3=champ, 4=time trial, 5=sort of like kid mode). If you set the race type to time trial, only the first six laps are recorded, but your overall time is for all laps. If the number of laps is less than six, any laps that you didn’t race have will get a time of zero seconds. || &amp;lt;tt&amp;gt;8EA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;872&amp;lt;/tt&amp;gt; || Number of laps. A zero lap race ends when you cross the finish line before the first lap. If you set the number of laps to a negative number, the race ends as soon as it starts, and you get first place. || &amp;lt;tt&amp;gt;8E6&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;958&amp;lt;/tt&amp;gt; || Horsepower (1=12HP, 2=6HP) || &amp;lt;tt&amp;gt;95A&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;87A&amp;lt;/tt&amp;gt; || Course group (1=bronze, 2=silver, 3=gold). || &amp;lt;tt&amp;gt;8EE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;95C&amp;lt;/tt&amp;gt; || Course pack (0=regular races, 3=bonus pack) || &amp;lt;tt&amp;gt;95E&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;87E&amp;lt;/tt&amp;gt; || Course number (1–5) || &amp;lt;tt&amp;gt;8F2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;86A&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;8A2&amp;lt;/tt&amp;gt; || Your character type (0=Uno, 1=Sultan, 2=Morris, 3=Peggles, 4=Razer, 5=Ringo, 6=Blombo, 7=Tigi). Both of these bytes should be the same number. || &#039;&#039;&#039;P1:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8DE&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;916&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;P2:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8E2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;91A&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8A6–8BE&amp;lt;/tt&amp;gt; || Opponents’ character types. Use the numbers listed above. || &amp;lt;tt&amp;gt;91E–932&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;882&amp;lt;/tt&amp;gt; || Your points || &#039;&#039;&#039;P1&#039;&#039;&#039;: &amp;lt;tt&amp;gt;8F6&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;P2:&#039;&#039;&#039; &amp;lt;tt&amp;gt;8FA&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;886–89E&amp;lt;/tt&amp;gt; || Opponents’ points || &amp;lt;tt&amp;gt;8FE–912&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8C2&amp;lt;/tt&amp;gt; || Number of hedge hogs. You can’t save hedgehogs in a two player race. ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;8C6&amp;lt;/tt&amp;gt; || Item held. (0=nothing, 3=fire, 4=devil pups, 5=bomb, 6=oil, 7=upside down hog, 8=ice). If you hit an upside down hog, your steering reverses, but the screen doesn’t turn upside down like it does in shootouts. Opponents spin out when they hit one. You can’t save an item in a two player race. || &lt;br /&gt;
|-&lt;br /&gt;
| || Two-player race type (1=race head to head, 2=race with all cars) || &amp;lt;tt&amp;gt;94E&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The information in the above table is an expanded and corrected version of the information in the [http://www.rinkworks.com/apogee/s/6.1.2.2.shtml Apogee FAQ].&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3882</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3882"/>
		<updated>2012-02-01T02:39:46Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files not in wacky.dat */ moving wwsave links to new page on wacky.cfg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence where objects are drawn on the screen at different viewing angles. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence when objects are considered to be in your field of view. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence the apparent distance of objects and other drivers. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [[wacky.cfg]] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [[Wacky Wheels high score files#Duck shoot|Editing duck shoot high scores]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [[Wacky Wheels high score files#Single player race|Editing single player race high scores]]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [[Wacky Wheels high score files#Time trial|Editing time trial scores]]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3881</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3881"/>
		<updated>2012-02-01T02:31:47Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files not in wacky.dat */ moving the rest of the information from my website to here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence where objects are drawn on the screen at different viewing angles. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence when objects are considered to be in your field of view. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence the apparent distance of objects and other drivers. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [[wacky.cfg]] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [[Wacky Wheels high score files#Duck shoot|Editing duck shoot high scores]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [[Wacky Wheels high score files#Single player race|Editing single player race high scores]]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [[Wacky Wheels high score files#Time trial|Editing time trial scores]]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3788</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3788"/>
		<updated>2011-10-15T16:46:06Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Scope of the wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;br /&gt;
: I decided against this because there is a link to the game&#039;s page in the category intro at the top of the page.  It seemed unnecessary having another link in amongst all the other pages.  This was also because the game page was really only meant to be a summary, there wasn&#039;t supposed to be a huge amount of detail on it, only links to other pages with the detail (which then would appear in the category list.)  I would imagine that, eventually, [[Wacky Wheels]] would be tweaked to move a lot of the content onto subpages. -- [[User:Malvineous|Malvineous]] 12:58, 16 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Scope of the wiki ==&lt;br /&gt;
&lt;br /&gt;
I don’t know how extensive you want the information to be on ModdingWiki... I added a few lists of audio and graphics files a while ago, and there will probably be other information that I’ll find out that’s potentially helpful for level editing but not directly related to it. I can move some information to my website if it starts to become out of scope for your wiki. I also sometimes end up documenting everything imaginable... there’s some minutiae on my website and possibly on your wiki that I ought to go through and delete. [[User:Yellowantphil|Yellowantphil]] 05:28, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Hmm, that&#039;s a difficult one - I&#039;m always in favour of documenting more rather than less.  Generally speaking if it&#039;s related to a game and it would help either a programmer writing a utility or a someone trying to change a game manually then it should be documented.  About the only thing that comes to mind that&#039;s over documenting is when some small calculation is expressed in a couple of different programming languages, but I&#039;ve left that in so people can just copy it rather than trying to figure it out from the text.  But the [[Wacky Wheels]] page is probably the gold standard for what all wiki pages should look like :-)  Do you have anything in particular you&#039;re unsure of whether it would fit here? -- [[User:Malvineous|Malvineous]] 10:07, 10 October 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
::I was mainly thinking of the list of VOC files on [[Wacky Wheels Music and Sound Effects]] and the list of &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on [[Wacky Wheels Graphics Formats]]. I have an expanded list of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files on my computer but it isn’t finished yet. I guess there isn’t all that much more Wacky Wheels information to be added to this wiki though. There is still some modding information on my website that ought to be moved over here, so that would take up another page or two. I’ve been lazy about doing Wacky Wheels stuff lately, but I might find some time for it this weekend.&lt;br /&gt;
&lt;br /&gt;
::By the way, I guess that guy from Cascadia Games emailed you. It’s pretty interesting that WW might become an iPhone app. He told me that he was going to be using his own game engine, which sounds a lot easier than trying to get a hold of the WW source code and porting it. —[[User:Yellowantphil|Yellowantphil]] 16:46, 15 October 2011 (GMT)&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3783</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3783"/>
		<updated>2011-10-10T05:28:33Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;br /&gt;
: I decided against this because there is a link to the game&#039;s page in the category intro at the top of the page.  It seemed unnecessary having another link in amongst all the other pages.  This was also because the game page was really only meant to be a summary, there wasn&#039;t supposed to be a huge amount of detail on it, only links to other pages with the detail (which then would appear in the category list.)  I would imagine that, eventually, [[Wacky Wheels]] would be tweaked to move a lot of the content onto subpages. -- [[User:Malvineous|Malvineous]] 12:58, 16 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Scope of the wiki ==&lt;br /&gt;
&lt;br /&gt;
I don’t know how extensive you want the information to be on ModdingWiki... I added a few lists of audio and graphics files a while ago, and there will probably be other information that I’ll find out that’s potentially helpful for level editing but not directly related to it. I can move some information to my website if it starts to become out of scope for your wiki. I also sometimes end up documenting everything imaginable... there’s some minutiae on my website and possibly on your wiki that I ought to go through and delete. [[User:Yellowantphil|Yellowantphil]] 05:28, 10 October 2011 (GMT)&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3782</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3782"/>
		<updated>2011-10-10T05:22:59Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Scope of the wiki */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;br /&gt;
: I decided against this because there is a link to the game&#039;s page in the category intro at the top of the page.  It seemed unnecessary having another link in amongst all the other pages.  This was also because the game page was really only meant to be a summary, there wasn&#039;t supposed to be a huge amount of detail on it, only links to other pages with the detail (which then would appear in the category list.)  I would imagine that, eventually, [[Wacky Wheels]] would be tweaked to move a lot of the content onto subpages. -- [[User:Malvineous|Malvineous]] 12:58, 16 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Scope of the wiki ==&lt;br /&gt;
&lt;br /&gt;
I don’t know how extensive you want the information to be on ModdingWiki... I added a few lists of audio and graphics files a while ago, and there will probably be other information that I’ll find out that’s potentially helpful for level editing but not directly related to it. I can move some information to my website if it starts to become out of scope for your wiki. I also sometimes end up documenting everything imaginable... there’s some minutiae on my website and possibly on your wiki that I ought to go through and delete.&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3733</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3733"/>
		<updated>2011-09-25T08:08:12Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Many of the graphics in Wacky Wheels are in [[PCX Format]]. The uses of most PCX files are self-explanatory.The files &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described below. PCX graphics can be edited in many image editors, but you need to pay attention to the color palettes used. Details are in the [[#Color palettes|color palettes]] section below.&lt;br /&gt;
&lt;br /&gt;
===Tile appearance and properties===&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;: Tile graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.gam&amp;lt;/tt&amp;gt;: Chooses the primary and secondary tile graphics files and property files (among other things) for track &#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;: Sets tile properties 0 and 1 for each tile in track &#039;&#039;n&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (&amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles, each 32×32 pixels. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (&amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track &#039;&#039;n&#039;&#039;, any pixel in tile &#039;&#039;m&#039;&#039; that is color #0 will have property #0 specified in struct &#039;&#039;m&#039;&#039; of the file &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
===Color palettes===&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;white-space: nowrap;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw image data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and flip the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
== Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; files contain the graphics to draw on the horizon (such as buildings or mountains). Like the &amp;lt;tt&amp;gt;[[#*.sp|*.sp]]&amp;lt;/tt&amp;gt; files, they are raw image data, where each byte is a pixel and specifies which color palette index to use. The color palette used is the main track [[#Color palettes|color palette]]. Each &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; file is 640×40 pixels. Unlike the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files, they do not require rotation or flipping when opening them as raw image data in an image editor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3732</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3732"/>
		<updated>2011-09-25T04:05:53Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ described and added links for a few files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence where objects are drawn on the screen at different viewing angles. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence when objects are considered to be in your field of view. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | A table of integers that influence the apparent distance of objects and other drivers. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See [[Miscellaneous Wacky Wheels File Formats#Tabulated data for drawing the screen|Tabulated data for drawing the screen]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3731</id>
		<title>Miscellaneous Wacky Wheels File Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3731"/>
		<updated>2011-09-25T04:05:11Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: added a few other files that influence the game perspective&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a number of [[Wacky Wheels]] file formats that are difficult to categorize.&lt;br /&gt;
&lt;br /&gt;
== Tabulated data for drawing the screen ==&lt;br /&gt;
The files in this section contain only tables of numbers used when drawing objects and tiles on the screen. Editing these files changes the viewing perspective of the game.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
This file contains a table of [[INT16LE]] integers. If you convert each integer to a decimal number and write them to a file, 70 integers to a line, then each column of numbers describes a function. They resemble parabolas but I couldn’t find a good fit line. If you multiply all the numbers in the file by a constant factor, then the objects in the game are drawn in the wrong position from certain viewing angles.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
This file contains a table of [[INT16LE]] integers. I haven’t tried plotting them yet. If you change the values, objects won’t be drawn when viewed from certain angles. This file may tell the game when a certain object is in the player’s field of view and therefore needs to be drawn.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
This file contains 320 [[INT16LE]] integers. The integers describe a section of a parabola. The numbers in this file influence the apparent distance of objects and other drivers.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
This file contains only a series of (x, y) points that describe a circle of radius 65,535. Each (x, y) pair is described with two signed integers:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] Xpos || X-position on the circle&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] Ypos || Y-position on the circle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 960 pairs describe the top half of the circle, and the last 960 pairs describe the bottom half.&lt;br /&gt;
&lt;br /&gt;
If you multiply every number in this file by a constant factor, your vehicle’s size changes. If you multiply the values by 1.2, for example, you can drive faster and see farther away (extending to the black area beyond the edge of the map). Multiplying by a factor less than one shrinks your vehicle.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
Most of this file looks like an unused high score file, similar in format to &amp;lt;tt&amp;gt;[[Wacky Wheels#Files not in wacky.dat|wacky*.hi]]&amp;lt;/tt&amp;gt;. It consists of structs that are 46 bytes long containing some text (“&amp;lt;tt&amp;gt;KNOCK ME OFF!&amp;lt;/tt&amp;gt;” and “&amp;lt;tt&amp;gt;MAR 1994”&amp;lt;/tt&amp;gt;) and other data. I don’t think this data is used.&lt;br /&gt;
&lt;br /&gt;
The first 66 bytes of this file are unknown data. The game won’t load unless at least the first 28 bytes are present. At least these first 28 bytes appear to be signed integers ([[INT32LE]]). The sixth and seventh integers in the file (offsets 0x14 and 0x18) are read when allocating memory. If you change either of these integers to –100, for example, the game will fail to start, and will print how many bytes of memory it allocated and state that it needed an extra –100 bytes of memory.&lt;br /&gt;
&lt;br /&gt;
Most likely nothing in this file will need to be changed to edit levels.&lt;br /&gt;
&lt;br /&gt;
== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (x, y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (x, y) position for about 0.1 seconds. Once there are no more (x, y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3730</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3730"/>
		<updated>2011-09-25T01:27:41Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: reorganizing a little&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Many of the graphics in Wacky Wheels are in [[PCX Format]]. The uses of most PCX files are self-explanatory.The files &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described below. PCX graphics can be edited in many image editors, but you need to pay attention to the color palettes used. Details are in the [[#Color palettes|color palettes]] section below.&lt;br /&gt;
&lt;br /&gt;
===Tile appearance and properties===&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;: Tile graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.gam&amp;lt;/tt&amp;gt;: Chooses the primary and secondary tile graphics files and property files (among other things) for track &#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;: Sets tile properties 0 and 1 for each tile in track &#039;&#039;n&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (&amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles, each 32×32 pixels. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (&amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track &#039;&#039;n&#039;&#039;, any pixel in tile &#039;&#039;m&#039;&#039; that is color #0 will have property #0 specified in struct &#039;&#039;m&#039;&#039; of the file &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
===Color palettes===&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;white-space: nowrap;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw image data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and flip the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
== Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; files contain the graphics to draw on the horizon (such as buildings or mountains). Like the &amp;lt;tt&amp;gt;[[#*.sp|*.sp]]&amp;lt;/tt&amp;gt; files, they are raw image data, where each byte is a pixel and specifies which color palette index to use. The color palette used is the main track [[#Color palettes|color palette]]. Each &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; file is 640×40 pixels. Unlike the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files, they do not require rotation or flipping when opening them as raw image data in an image editor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3729</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3729"/>
		<updated>2011-09-24T22:06:08Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ changed a link; formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3728</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3728"/>
		<updated>2011-09-24T21:57:44Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ links to new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. See also [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]]. See also [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]]. See also [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]]. See also [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Music_and_Sound_Effects&amp;diff=3727</id>
		<title>Wacky Wheels Music and Sound Effects</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Music_and_Sound_Effects&amp;diff=3727"/>
		<updated>2011-09-24T21:57:04Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: Created page with &amp;quot;This page describes the files containing music and sound effects in Wacky Wheels.  == Music == Wacky Wheels store all of its music in two formats: AdLib KLM Format and [[...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the files containing music and sound effects in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
Wacky Wheels store all of its music in two formats: AdLib [[KLM Format]] and [[MID Format|MIDI Format]]. The MIDI files are played if you select “General MIDI” as your music device in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;; the KLM files are used otherwise. To hear the MIDI files being played, you need to use a MIDI synthesizer (either in software or hardware).&lt;br /&gt;
&lt;br /&gt;
[[Camoto]] has partial support for KLM files. There are many editors available for MIDI files.&lt;br /&gt;
&lt;br /&gt;
There was one song written for Wacky Wheels that was not used or included in the game, named &#039;&#039;Everything&#039;&#039;. The MIDI version of this song is available at Phil’s [http://yellowantphil.com/wacky_wheels/music.php Wacky Wheels Music] page. That page also lists where in the game each music file is used.&lt;br /&gt;
&lt;br /&gt;
== Sound effects ==&lt;br /&gt;
Each sound effect in Wacky Wheels is stored in either one or three file formats. All sound effects are stored in [[VOC Format]]. Most sound effects are also stored as PC speaker sound effects and as AdLib sound effects.&lt;br /&gt;
&lt;br /&gt;
Each of the 36 VOC format sound effects are stored in &amp;lt;tt&amp;gt;[[DAT Format (Wacky Wheels)|wacky.dat]]&amp;lt;/tt&amp;gt;. There are 26 sound effects in each of the other two formats. These files are stored in &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;, which is an [[AudioT Format]] file. The header for this file is stored in &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; Both &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. [[User:Yellowantphil|Phil]] has a rudimentary extractor for this file if you want it.&lt;br /&gt;
&lt;br /&gt;
The PC speaker sound effects are used if you select “PC Speaker” as your Sound fx device in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. When selecting SoundBlaster, Sound Source or Gravis Ultrasound, the &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt; files are used. I was unable to test the Pro AudioSpectrum option. I don’t know if the AdLib sound effects are ever used.&lt;br /&gt;
&lt;br /&gt;
When replacing &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt; files, the new file needs to be no longer in file size than the old file.&lt;br /&gt;
&lt;br /&gt;
The tables below briefly describe each VOC file. The index listed is the index of the corresponding PC speaker file in &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;. Files are numbered 0–25. The AdLib files have the same index and are found in the second section of &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File name !! Index !! Description&lt;br /&gt;
|-&lt;br /&gt;
| backfire.voc || Unknown || Noise when you start accelerating&lt;br /&gt;
|-&lt;br /&gt;
| belch.voc || Unknown || The Dopefish’s sound&lt;br /&gt;
|-&lt;br /&gt;
| bell.voc || Unknown || Last lap warning bell&lt;br /&gt;
|-&lt;br /&gt;
| blombo.voc || Unknown || Blombo’s sound&lt;br /&gt;
|-&lt;br /&gt;
| boom.voc || Unknown || Explosion in two-player shootout&lt;br /&gt;
|-&lt;br /&gt;
| clang.voc || Unknown || Clang&lt;br /&gt;
|-&lt;br /&gt;
| drop.voc || Unknown || Sound when dropping an item&lt;br /&gt;
|-&lt;br /&gt;
| flame.voc || Unknown || Sound when firing fireballs&lt;br /&gt;
|-&lt;br /&gt;
| gig1.voc || Unknown || Giggle key #1 sound&lt;br /&gt;
|-&lt;br /&gt;
| gig2.voc || Unknown || Giggle key #2 sound&lt;br /&gt;
|-&lt;br /&gt;
| gig3.voc || Unknown || Giggle key #3 sound&lt;br /&gt;
|-&lt;br /&gt;
| gig4.voc || Unknown || Giggle key #4 sound&lt;br /&gt;
|-&lt;br /&gt;
| gig5.voc || Unknown || Giggle keys #5 and 6, last lap devil&lt;br /&gt;
|-&lt;br /&gt;
| glass.voc || Unknown || Breaking glass&lt;br /&gt;
|-&lt;br /&gt;
| hog.voc || Unknown || Sound when firing hedgehogs or ice cubes&lt;br /&gt;
|-&lt;br /&gt;
| horn.voc || Unknown || Alarm when driving underwater&lt;br /&gt;
|-&lt;br /&gt;
| horn1.voc || Unknown || Horn when honking at other drivers&lt;br /&gt;
|-&lt;br /&gt;
| morris.voc || Unknown || Morris’s sound&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File name !! Index !! Description&lt;br /&gt;
|-&lt;br /&gt;
| motor.voc || Unknown || Engine noise. Playback speed is shifted according to driving speed.&lt;br /&gt;
|-&lt;br /&gt;
| no.voc || Unknown || Out of ammo noise&lt;br /&gt;
|-&lt;br /&gt;
| pass.voc || Unknown || Noise when drivers pass you&lt;br /&gt;
|-&lt;br /&gt;
| peggles.voc || Unknown || Peggles’ sound&lt;br /&gt;
|-&lt;br /&gt;
| plip.voc || Unknown || &lt;br /&gt;
|-&lt;br /&gt;
| puf.voc || Unknown || Sound when a driver is hit&lt;br /&gt;
|-&lt;br /&gt;
| quack.voc || Unknown || Duck quack&lt;br /&gt;
|-&lt;br /&gt;
| razer.voc || Unknown || Razer’s sound&lt;br /&gt;
|-&lt;br /&gt;
| ringo.voc || Unknown || Ringo’s sound&lt;br /&gt;
|-&lt;br /&gt;
| skid.voc || Unknown || Tires skidding&lt;br /&gt;
|-&lt;br /&gt;
| splash.voc || Unknown || Splash&lt;br /&gt;
|-&lt;br /&gt;
| stall1.voc || Unknown || Stalled engine (from ice cube)&lt;br /&gt;
|-&lt;br /&gt;
| start.voc || Unknown || Lion’s roar&lt;br /&gt;
|-&lt;br /&gt;
| sultan.voc || Unknown || Sultan’s sound&lt;br /&gt;
|-&lt;br /&gt;
| swipe.voc || Unknown || Noise when hitting another driver&lt;br /&gt;
|-&lt;br /&gt;
| tigi.voc || Unknown || Tigi’s sound&lt;br /&gt;
|-&lt;br /&gt;
| uno.voc || Unknown || Uno’s sound&lt;br /&gt;
|-&lt;br /&gt;
| warp.voc || Unknown || Jump/turbo/Apogee splash screen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=DAT_Format_(Wacky_Wheels)&amp;diff=3726</id>
		<title>DAT Format (Wacky Wheels)</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=DAT_Format_(Wacky_Wheels)&amp;diff=3726"/>
		<updated>2011-09-24T19:55:27Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: mentioned wacky.lid; minor formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;DAT format&#039;&#039;&#039; is used to store most of the data for [[Wacky Wheels]].  Unfortunately the format has no signature and a generic filename extension (.dat) so automatic detection of these files is difficult.&lt;br /&gt;
&lt;br /&gt;
In [http://yellowantphil.com/wacky_wheels/downloads/1ww10.zip Wacky Wheels 1.0] (a pre-release version of Wacky Wheels), this file was named &amp;lt;tt&amp;gt;WACKY.LID&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wacky Wheels does not check the current directory for files before falling back to the DAT file, so any changed files must be merged into the DAT file before the game will see them.&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
=== Signature ===&lt;br /&gt;
&lt;br /&gt;
There is no signature for this format.  One method to identify files is to read in the file entries (failing if the end of the file is reached early) and confirm that each filename only consists of ASCII characters or nulls, and each file offset plus its size is less than the total size of the DAT file.  It is extremely unlikely that this method would incorrectly identify a file.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
The file starts with a single field indicating the number of files present.&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 numFiles||File count&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== File entry ===&lt;br /&gt;
&lt;br /&gt;
After the two-byte header, the following structure is repeated &amp;lt;tt&amp;gt;numFiles&amp;lt;/tt&amp;gt; times.  As each entry includes both an offset and a size, it is possible (in theory) for two different files to share the same data, and to insert “hidden” data between files.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|BYTE filename[14]||Filename (8.3, 12 chars including dot, null padded to 14 chars)&lt;br /&gt;
|-&lt;br /&gt;
|UINT32LE size||File size&lt;br /&gt;
|-&lt;br /&gt;
|UINT32LE offset||File offset (see below)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file offsets don’t include the two-byte file count in the header, so an &amp;lt;tt&amp;gt;offset&amp;lt;/tt&amp;gt; of 10 means the file actually starts at 12 bytes from the beginning of the DAT file.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=group}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = Yes&lt;br /&gt;
| canModify = Yes&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = No&lt;br /&gt;
| canModify = Yes&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = No&lt;br /&gt;
| canModify = No&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Group Files]]&lt;br /&gt;
[[Category:Group Files supporting hidden data]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All the games that use this file format --&amp;gt;&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=KLM_Format&amp;diff=3725</id>
		<title>KLM Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=KLM_Format&amp;diff=3725"/>
		<updated>2011-09-24T19:55:11Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: hyphens, dashes, minus signs, typographic quotes vs. typewriter quotes...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;KLM Format&#039;&#039;&#039; is used by [[Wacky Wheels]] to store Adlib music tracks.  It is probably named after Mark Klem, the Wacky Wheels composer.&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
The file is structured as follows.&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]] tempo || Playback speed in ticks per second&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] unknown || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] offNotes || Offset of song data&lt;br /&gt;
|-&lt;br /&gt;
| [[BYTE]][] inst || Instrument data&lt;br /&gt;
|-&lt;br /&gt;
| [[BYTE]][] notes || Song data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Instrument block ===&lt;br /&gt;
&lt;br /&gt;
The instrument block contains all the instruments used in the song.  Each instrument is 11 bytes long, and is stored one after the other, in the following structure.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! OPL base register !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iModScale   || 0x40 || Modulator key scaling/output level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iCarScale   || 0x43 || Carrier key scaling/output level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iModAttack  || 0x60 || Modulator attack/decay level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iCarAttack  || 0x63 || Carrier attack/decay level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iModSustain || 0x80 || Modulator sustain/release level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iCarSustain || 0x83 || Carrier sustain/release level&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iModChar    || 0x20 || Modulator characteristic (Mult, KSR, EG, VIB and AM flags)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iCarChar    || 0x23 || Carrier characteristic (Mult, KSR, EG, VIB and AM flags)&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iModWaveSel || 0xE0 || Modulator wave select&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iCarWaveSel || 0xE3 || Carrier wave select&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] iFeedback   || 0xC0 || Feedback/connection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Song data follows the instrument data.&lt;br /&gt;
&lt;br /&gt;
=== Song data ===&lt;br /&gt;
&lt;br /&gt;
The song data appears to be a custom event-style structure, superficially similar to MIDI.  Each &#039;&#039;command byte&#039;&#039; is followed by a variable number of &#039;&#039;data bytes&#039;&#039; whose purpose depends on the command.  The lower four bits are used for the channel (so command bytes of 0x30 and 0x31 perform the same command on the first and second channels, respectively.)&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command byte !! # of data bytes !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0 || Note off&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 0/2 || Note on with frequency&lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || 1 || Volume&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || 1 || Set instrument&lt;br /&gt;
|-&lt;br /&gt;
| 0x40 || 0 || Note on&lt;br /&gt;
|-&lt;br /&gt;
| 0xFD || 1 || Delay&lt;br /&gt;
|-&lt;br /&gt;
| 0xFE || 2 || Long delay&lt;br /&gt;
|-&lt;br /&gt;
| 0xFF || 0 || End of song&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 0x00: Note off ====&lt;br /&gt;
&lt;br /&gt;
Turn the note on the current channel off (this sets the &#039;&#039;keyon&#039;&#039; bit to 0, on OPL base reg 0xB0).&lt;br /&gt;
&lt;br /&gt;
==== 0x10: Note on with frequency ====&lt;br /&gt;
&lt;br /&gt;
Plays a note at the given frequency.&lt;br /&gt;
&lt;br /&gt;
For channels 0–5 inclusive (i.e. command bytes 0x10 to 0x15), the first data byte is written to OPL base register 0xA0, and the second data byte is written to OPL base register 0xB0.  As an example, if the command byte was 0x12 (set frequency on channel 2) then the two data bytes are written to register 0xA2 and 0xB2.&lt;br /&gt;
&lt;br /&gt;
For channels 6–10 inclusive, there are no data bytes.  Instead, these activate the OPL rhythm-mode percussion channels without setting a frequency:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command byte !! OPL 0xBD bit !! Instrument&lt;br /&gt;
|-&lt;br /&gt;
| 0x16 || 5 || Bass drum&lt;br /&gt;
|-&lt;br /&gt;
| 0x17 || 4 || Snare drum&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || 3 || Tom tom&lt;br /&gt;
|-&lt;br /&gt;
| 0x19 || 2 || Top cymbal&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A || 1 || Hi-hat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 0x20: Volume ====&lt;br /&gt;
&lt;br /&gt;
This command sets the velocity of subsequent notes on the channel.  As with MIDI, the single data value ranges between 0 (silence) and 127 (full volume).  Wacky Wheels uses this value to write the appropriate output level to the OPL chip, using the following formula:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;value&#039;&#039; = (127 − &#039;&#039;databyte&#039;&#039;) / 2&lt;br /&gt;
&lt;br /&gt;
Thus a data byte of 0x58 results in the value 0x13 being written to the OPL chip.  The value is written to the carrier operator on OPL base reg 0x40 (so channel 0 will actually write to reg 0x43.)&lt;br /&gt;
&lt;br /&gt;
==== 0x30: Set instrument ====&lt;br /&gt;
&lt;br /&gt;
This command causes the instrument settings to be copied into the corresponding OPL registers for the channel.  A data byte of 0x00 selects the first instrument in the instrument block.&lt;br /&gt;
&lt;br /&gt;
==== 0x40: Note on ====&lt;br /&gt;
&lt;br /&gt;
Turn the note on the current channel on, at the last set frequency (this sets the &#039;&#039;keyon&#039;&#039; bit to 1, on OPL base reg 0xB0).&lt;br /&gt;
&lt;br /&gt;
==== 0xFD: Delay ====&lt;br /&gt;
&lt;br /&gt;
This command causes a delay.  The single data byte indicates how many ticks to wait for.  Combined with the ticks-per-second tempo field in the header, the actual delay time can be calculated.  With a data byte of 0x10 (delay for 16 ticks) and a tempo of 0x138 (312 ticks per second) the delay should be 16 &amp;amp;divide; 312 = 0.0512 seconds (51.2ms).&lt;br /&gt;
&lt;br /&gt;
==== 0xFE: Long delay ====&lt;br /&gt;
&lt;br /&gt;
This command is the same as 0xFD except it is followed by a [[UINT16LE]] delay value rather than [[UINT8]].&lt;br /&gt;
&lt;br /&gt;
==== 0xFF: End of song ====&lt;br /&gt;
&lt;br /&gt;
This command has no delay bytes and signifies the end of the song data.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Camoto]] can just about load KLM files (some instruments are a bit off)&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This file format was reverse engineered by [[User:Malvineous|Malvineous]].  If you find this information helpful in a project you’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:Adlib]]&lt;br /&gt;
[[Category:Music Files]]&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All the games that use this file format --&amp;gt;&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=BMC_Format&amp;diff=3724</id>
		<title>BMC Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=BMC_Format&amp;diff=3724"/>
		<updated>2011-09-24T19:55:01Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BMC format is a file format used in [[Wacky Wheels]] to control player one during demo mode. Seen while viewing ordering instructions and game instructions, or when you don’t press any keys at the main menu for a while. There are six BMC files in &amp;lt;tt&amp;gt;[[DAT Format (Wacky Wheels)|wacky.dat]]&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;1.bmc&amp;lt;/tt&amp;gt; through &amp;lt;tt&amp;gt;5.bmc&amp;lt;/tt&amp;gt; control the main player for Regular Bronze Wheels tracks 1–5, and &amp;lt;tt&amp;gt;7.bmc&amp;lt;/tt&amp;gt; is for Regular Silver Wheels track 2.&lt;br /&gt;
&lt;br /&gt;
Each action performed is described using a three-byte struct. The first two bytes of the file are a [[UINT16LE]] giving the number of structs in the file.&lt;br /&gt;
&lt;br /&gt;
Format of the structs:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || duration || Minimum duration is 0x01. 0x100 is about 23 seconds long. Note that this is a signed value so the maximum duration is 0x7FFF, or about 49 minutes. Negative or zero duration work the same way as 0x01 duration.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] || action || See table below.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
At some point, the demo game will start over, or skip to the next track. If your BMC file doesn’t end with an End Sequence action (0x40), the game may start playing back actions read previously from another file. I don’t know how many actions you can fit into the allotted time, or whether the time would be extended if the file hasn’t been performed completely.&lt;br /&gt;
&lt;br /&gt;
=== Actions ===&lt;br /&gt;
&lt;br /&gt;
Each action is a bitfield composed of one or more actions below.  For example, to do a right handbrake turn, combine steer-right (0x02) and handbrake (0x20) to have an action of 0x22.  Some of the combinations of actions don’t make sense or aren’t very useful (such as steering left and right at the same time.)&lt;br /&gt;
&lt;br /&gt;
None of the combinations trigger a jump or turbo, and the jump and turbo [http://yellowantphil.com/wacky_wheels/startup.php start-up codes] have no effect on the computer player. However, if you set a high enough duration for one of the actions where you fire, then you’ll get an ice cube, so the [http://yellowantphil.com/wacky_wheels/morecheats.php registered version cheat] works for the computer player.&lt;br /&gt;
&lt;br /&gt;
The fire, ice and hog start-up codes also work. If you use one of these codes and don’t fire off some of your ammo, you’ll bounce off of the hedgehog packs and other objects on the track. To make the player follow the same course whether or not these cheats are enabled, make sure that you have no more than 98 shots whenever you’re about to drive over an object to pick up.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Binary !! Hex !! Action&lt;br /&gt;
|-&lt;br /&gt;
| 00000000 || 00 || Do nothing&lt;br /&gt;
|-&lt;br /&gt;
| 00000001 || 01 || Steer left&lt;br /&gt;
|-&lt;br /&gt;
| 00000010 || 02 || Steer right&lt;br /&gt;
|-&lt;br /&gt;
| 00000100 || 04 || Accelerate&lt;br /&gt;
|-&lt;br /&gt;
| 00001000 || 08 || Fire&lt;br /&gt;
|-&lt;br /&gt;
| 00010000 || 10 || Brake&lt;br /&gt;
|-&lt;br /&gt;
| 00100000 || 20 || Hand brake turn left&lt;br /&gt;
|-&lt;br /&gt;
| 01000000 || 40 || End sequence and go back to the start&lt;br /&gt;
|-&lt;br /&gt;
| 10000000 || 80 || Unused?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This format was reverse engineered by [http://yellowantphil.com/wacky_wheels/ Phil Carter] and Klas Arvidsson.  If you find this information helpful in a project you’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:Wacky Wheels]]&lt;br /&gt;
[[Category:Macro Files]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3723</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3723"/>
		<updated>2011-09-24T19:39:22Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* sprite.atr */ moved a table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Many of the graphics in Wacky Wheels are in [[PCX Format]]. The uses of most PCX files are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described below.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;: Tile graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.gam&amp;lt;/tt&amp;gt;: Chooses the primary and secondary tile graphics files and property files (among other things) for track &#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;: Sets tile properties 0 and 1 for each tile in track &#039;&#039;n&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (&amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles, each 32×32 pixels. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (&amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track &#039;&#039;n&#039;&#039;, any pixel in tile &#039;&#039;m&#039;&#039; that is color #0 will have property #0 specified in struct &#039;&#039;m&#039;&#039; of the file &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;white-space: nowrap;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw image data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and flip the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
== Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; files contain the graphics to draw on the horizon (such as buildings or mountains). Like the &amp;lt;tt&amp;gt;[[#*.sp|*.sp]]&amp;lt;/tt&amp;gt; files, they are raw image data, where each byte is a pixel and specifies which color palette index to use. The color palette used is the main track [[#Color palettes|color palette]]. Each &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; file is 640×40 pixels. Unlike the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files, they do not require rotation or flipping when opening them as raw image data in an image editor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3722</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3722"/>
		<updated>2011-09-24T19:26:53Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: added *.par. also minor formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Many of the graphics in Wacky Wheels are in [[PCX Format]]. The uses of most PCX files are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described below.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;: Tile graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.gam&amp;lt;/tt&amp;gt;: Chooses the primary and secondary tile graphics files and property files (among other things) for track &#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;: Sets tile properties 0 and 1 for each tile in track &#039;&#039;n&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (&amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles, each 32×32 pixels. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (&amp;lt;tt&amp;gt;a_ma*.pcx&amp;lt;/tt&amp;gt;) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track &#039;&#039;n&#039;&#039;, any pixel in tile &#039;&#039;m&#039;&#039; that is color #0 will have property #0 specified in struct &#039;&#039;m&#039;&#039; of the file &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.sin&amp;lt;/tt&amp;gt;; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw image data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and flip the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
== Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; files contain the graphics to draw on the horizon (such as buildings or mountains). Like the &amp;lt;tt&amp;gt;[[#*.sp|*.sp]]&amp;lt;/tt&amp;gt; files, they are raw image data, where each byte is a pixel and specifies which color palette index to use. The color palette used is the main track [[#Color palettes|color palette]]. Each &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt; file is 640×40 pixels. Unlike the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files, they do not require rotation or flipping when opening them as raw image data in an image editor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3721</id>
		<title>Wacky Wheels Track Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3721"/>
		<updated>2011-09-24T19:26:23Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: summarized other files used that aren&amp;#039;t really part of the track description. also some minor formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{Map Infobox&lt;br /&gt;
 | Type = 2D tile-based&lt;br /&gt;
 | Layers = 1&lt;br /&gt;
 | Tile size = 32&amp;amp;times;32&lt;br /&gt;
 | Viewport = 320&amp;amp;times;200&lt;br /&gt;
 | Game1 = Wacky Wheels&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Wacky Wheels]] stores its levels across multiple files, with a different aspect of the level in each file.&lt;br /&gt;
&lt;br /&gt;
== Level files ==&lt;br /&gt;
&lt;br /&gt;
=== Map info – *.gam ===&lt;br /&gt;
&lt;br /&gt;
These are ASCII text file with CRLF line terminators (DOS format). Files contain either 25 or 28 lines. (Some of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with Wacky Wheels are one line longer than they need to be, but the last line is empty.)&lt;br /&gt;
&lt;br /&gt;
The first five lines give the names of [[PCX Format|PCX]] files to use. You can add new PCX files to &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; and use those instead of the defaults. See also [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
&lt;br /&gt;
Lines 9 and 10 give the position of the start line, but the computer players get confused if you move the start line too far. I think the finish line is located using the &amp;lt;tt&amp;gt;[[#Wrong way info – *.pos|*.pos]]&amp;lt;/tt&amp;gt; files. The game might rely on the start line being in a relatively fixed position relative to the finish line.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Line !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || File name of the primary tile graphics file, with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed (e.g. &amp;lt;tt&amp;gt;f3.pcx&amp;lt;/tt&amp;gt; designates &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || File name of the secondary tile graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 3 || File that selects properties for the primary tile graphics file (again with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || File that selects properties for the secondary graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 5 || File name of the sky PCX file to use (using the full file name)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Always 1250 in the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with the game. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Always 1500. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Always 1. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || X position of the start line. X=0 is at the left edge of the map as viewed in the course preview screen. The right edge is near X=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Y position of the start line. Y=0 is at the top edge of the map. The bottom edge is near Y=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 11–24 || Unknown. These might be (X, Y) pairs of coordinates, but I can’t figure out what they do.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 1 enables color cycling using the palette in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;; 0 disables it. See [[Wacky_Wheels Graphics Formats#Color palettes|Color palettes]]. If set to 0, the remaining three lines are not necessary.&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Delay between changing to the next color in the color cycles associated with palette indices 148 and 161–164. In &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are used to show water washing up onto the shore.&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Delay between the end of the color cycle and restarting it, for palette indices 148 and 161–164.&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Delay between changing to the next color for palette indices 168–175. There is no delay when restarting these color cycles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Map surface – *.m ===&lt;br /&gt;
&lt;br /&gt;
The *.m files store the road surface a 64x64 grid of tiles.  These files contain a 64x64 byte array (4096 bytes exactly) with each tile representing an index into the tileset.  The tilesets are 320x200 images in [[PCX Format]], split into 32x32 tiles.  There are only 54 tiles per image (so in the *.m files, byte values 0–53 refer to tiles 0–53 in the first tileset, and byte values 54–106 refer to tiles 0–53 in the second tileset.)&lt;br /&gt;
&lt;br /&gt;
=== Wrong way info – *.pos ===&lt;br /&gt;
&lt;br /&gt;
The same as the background layer (&amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;) except that instead of one byte per tile (8-bit number) there are two bytes per tile (16-bit number).  So effectively every tile position has a 16-bit number starting at 1 and increasing as you get closer to the end of the track.  The ‘wrong way’ message only flashes on the screen when the player moves to a tile location with a smaller number.  Since the files that ship with the game are fairly coarse in this regard (only using numbers 0–30, and fairly large blocks of the map sharing the same number), there is some delay between successive ‘wrong way’ messages when driving around the track at low speed in the wrong direction.&lt;br /&gt;
&lt;br /&gt;
=== Road path – *.rd ===&lt;br /&gt;
&lt;br /&gt;
The ‘road’ files control the paths the computer players drive.  The file begins with a [[UINT16LE]] containing the number of objects in the file, followed by that many objects.  Each object is in the following structure:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || x1 || X-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || y1 || Y-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || x2 || X-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || y2 || Y-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || angle || The angle given by the two (x, y) pairs above in seemingly arbitrary units. See below.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || compass_direction || Direction to face. Range is 0x00–0x07. 0x00 = S, 0x01 = SW, 0x02 = W, up to 0x07 = SE.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || distance || Distance between the current and next points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The computer players drive in a straight line from (x1, y1) to (x2, y2) and then immediately appear at the (x1, y1) point of the next struct in the file. Generally, the (x2, y2) position of one struct should have the same coordinates as the (x1, y1) position in the next struct. If they aren’t, the computer players will drive in a series of line segments and teleport from the end of one line segment to the start of the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; fields are apparently not used, but their values can be calculated automatically using a tool such as [[Camoto]].&lt;br /&gt;
&lt;br /&gt;
==== Calculating the angle ====&lt;br /&gt;
&lt;br /&gt;
For angles, north is taken to be at the top of the map. The +y direction points down, or to the south.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; field is in units of degrees times 16/3 and is always positive: it ranges from 0 ≤ &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; &amp;lt; 1920 (in decimal). The angle is zero when driving in the +X direction (due east). The +Y direction (south) is 480, west is 960, north is 1440, etc.&lt;br /&gt;
&lt;br /&gt;
This angle can be calculated from the X and Y positions as follows:&lt;br /&gt;
&lt;br /&gt;
 angle = atan2(y2−y1, x2−x1)/π*960;&lt;br /&gt;
 if (angle &amp;lt; 0) angle = angle + 1920;&lt;br /&gt;
&lt;br /&gt;
==== Calculating the compass direction ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; field can be calculated from the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt;. The conversion is&lt;br /&gt;
 compass_direction = (angle/240.0 + 6.5) % 8&lt;br /&gt;
where you use floating point division and then truncate the result in parentheses to an integer.&lt;br /&gt;
&lt;br /&gt;
Instead of calculating &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt;, you can set the variable any way you like, so that the computer players drive backwards, skid in the turns, spin, etc. If you hit a driver facing you, it counts as a head on collision, even if you are both traveling the same direction.&lt;br /&gt;
&lt;br /&gt;
==== Calculating the distance ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; field can be calculated as:&lt;br /&gt;
&lt;br /&gt;
 sqrt((x2 − x1)² + (y2 − y1)²)&lt;br /&gt;
&lt;br /&gt;
Note that decimals are truncated, not rounded (i.e. in C, the result is simply cast to an int.)&lt;br /&gt;
&lt;br /&gt;
=== Tile properties – *.sin ===&lt;br /&gt;
&lt;br /&gt;
The structs in *.sin are 12 bytes long and arranged like this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || prop0_active || boolean telling if prop0 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || prop1_active || boolean telling if prop1 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || prop0        || properties for color 0 in f_ma#.pcx&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || prop1        || properties for color 1 in f_ma#.pcx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think the boolean values can always be set to 1; the property won’t be used unless it’s selected in the appropriate a_ma*.pcx file. The properties select what type of ground or water that tile will be. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt gamedata.txt] for a listing that looks promising.&lt;br /&gt;
&lt;br /&gt;
=== Where objects are placed – *.spw ===&lt;br /&gt;
&lt;br /&gt;
Bytes 0–1 are a [[UINT16LE]] giving how many 12-byte structs follow:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || objectid || Index of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file to read for the graphics. See [[Wacky Wheels Graphics Formats#Sprites|Sprites]] for more details.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || unknown1  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || xcoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || ycoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || unknown2  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown3 || Unknown; always zero. Setting this number to something other than zero causes the game to cycle through many graphics. Setting it to a small negative number causes it to cycle a few times and then stop on its normal graphic.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other level-specific files ==&lt;br /&gt;
These files also contain data for track number &#039;&#039;n&#039;&#039;:&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.par&amp;lt;/tt&amp;gt;: Contains the graphics used on the horizon (buildings, etc.). See [[Wacky Wheels Graphics Formats#Horizon graphics – *.par|Horizon graphics – &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;]].&lt;br /&gt;
* &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.bmc&amp;lt;/tt&amp;gt;: Controls the computer player when driving on track &#039;&#039;n&#039;&#039; during demo mode. Only used for tracks 1–5 and 7. See [[BMC Format]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;SHRINK&amp;lt;/tt&amp;gt;&#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.PCX&amp;lt;/tt&amp;gt;: Track preview map. It should be possible to generate these files from &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.m&amp;lt;/tt&amp;gt; and the tile sets specified in &#039;&#039;n&#039;&#039;&amp;lt;tt&amp;gt;.gam&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The files &amp;lt;tt&amp;gt;BRONZEM.SP&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;SILVERM.SP&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;GOLDM.SP&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;BONUS*.SP&amp;lt;/tt&amp;gt; contain the 5-track course previews. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;. It should be possible to generate these files from &amp;lt;tt&amp;gt;SHRINK*.SP&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
See [[Wacky Wheels#Tools|Wacky Wheels Tools]] for a listing of viewers and editors for data in this format.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This format was reverse engineered by [http://yellowantphil.com/wacky_wheels/ Phil Carter] and Klas Arvidsson.  If you find this information helpful in a project you’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:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3720</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3720"/>
		<updated>2011-09-24T05:37:27Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ updated some graphics descriptions and links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains file names and properties for sprites used at objects on the track. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#sprite.atr|sprite.atr]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats#PCX graphics|Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See &amp;lt;tt&amp;gt;[[Wacky Wheels Graphics Formats#*.sp|*.sp]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3719</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3719"/>
		<updated>2011-09-24T05:36:00Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* PCX graphics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Many of the graphics in Wacky Wheels are in [[PCX Format]]. The uses of most PCX files are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – *.spw]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw VGA data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and mirror the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3718</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3718"/>
		<updated>2011-09-24T05:26:20Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Sprites */ mostly figured out the format of sprite.atr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Most are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
=== &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; is the index of all of the sprites that can be used as objects in the game maps. The first two bytes of this file are an [[INT16LE]] giving the number of structs that follow. Each struct is 40 bytes long and has this format:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || type || Type of item pickup. See table.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || unknown || No apparent use. Always 0x0a.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width1 || Sprite width in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height1 || Sprite height in pixels&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || width2 || Always equal to &amp;lt;tt&amp;gt;width1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || height2 || Always equal to &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || size_index || 1 if size is 28×28; 2 if size is 14×28; 3 if size is 32×24. Other values are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] || frames || Number of frames in sprite file (for animation)&lt;br /&gt;
|-&lt;br /&gt;
| [[char]][24] || filename || Name of the file containing the sprite&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting &amp;lt;tt&amp;gt;size_index&amp;lt;/tt&amp;gt; = 4 appears to work but I haven’t figured out what size it selects or how high the size index goes.&lt;br /&gt;
&lt;br /&gt;
Changing &amp;lt;tt&amp;gt;width2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height2&amp;lt;/tt&amp;gt; doesn’t appear to have any effect.&lt;br /&gt;
&lt;br /&gt;
The file name will be no more than 12 characters long (an 8.3 character DOS file name). The remaining bytes in the string are filled with zeros.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! Item pickup type&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None (not an item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Tires (used when you run over a stack of tires)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Four hedgehogs&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Fireballs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Oil slick&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Upside down hog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Ice cube&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sprites are placed on the map using their index in the &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file. The first sprite file listed has index 0. See [[Wacky Wheels Track Format#Where objects are placed – *.spw|Where objects are placed – *.spw]].&lt;br /&gt;
&lt;br /&gt;
The default &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; file lists 36 files. The tables below list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file listed, and their index in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrel&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; sprite files are raw VGA data (8bpp, no header or image size). Each byte is a pixel, and the value of the byte gives the index to use in the [[#Color palettes|track’s palette]].&lt;br /&gt;
&lt;br /&gt;
If your image editor supports reading raw image data, you can open the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files by specifying the width and height, 8 bits per pixel, indexed colors, and then applying the appropriate color palette. Then rotate the image 90° clockwise and mirror the image horizontally. Some &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; files have multiple sprites of varying widths, so you’ll need to specify a file offset and length along with the width and height.&lt;br /&gt;
&lt;br /&gt;
To use a sprite file as an object on the track, it needs to be listed in [[#sprite.atr|sprite.atr]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3717</id>
		<title>Miscellaneous Wacky Wheels File Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3717"/>
		<updated>2011-09-18T00:33:35Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* trig.dat */ trig.dat is 4 byte ints&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a number of [[Wacky Wheels]] file formats that are difficult to categorize.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
This file contains only a series of (x, y) points that describe a circle of radius 65,535. Each (x, y) pair is described with two signed integers:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] Xpos || X-position on the circle&lt;br /&gt;
|-&lt;br /&gt;
| [[INT32LE]] Ypos || Y-position on the circle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 960 pairs describe the top half of the circle, and the last 960 pairs describe the bottom half.&lt;br /&gt;
&lt;br /&gt;
The specific uses of the data in this file are unknown. If you replace every (x, y) pair with zeros, you can’t see any objects or tiles in the track, and you can’t drive. Interesting effects may be possible by resizing or distorting the circle.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
Most of this file looks like an unused high score file, similar in format to &amp;lt;tt&amp;gt;[[Wacky Wheels#Files not in wacky.dat|wacky*.hi]]&amp;lt;/tt&amp;gt;. It consists of structs that are 46 bytes long containing some text (“&amp;lt;tt&amp;gt;KNOCK ME OFF!&amp;lt;/tt&amp;gt;” and “&amp;lt;tt&amp;gt;MAR 1994”&amp;lt;/tt&amp;gt;) and other data. I don’t think this data is used.&lt;br /&gt;
&lt;br /&gt;
The first 66 bytes of this file are unknown data. The game won’t load unless at least the first 28 bytes are present. At least these first 28 bytes appear to be signed integers ([[INT32LE]]). The sixth and seventh integers in the file (offsets 0x14 and 0x18) are read when allocating memory. If you change either of these integers to –100, for example, the game will fail to start, and will print how many bytes of memory it allocated and state that it needed an extra –100 bytes of memory.&lt;br /&gt;
&lt;br /&gt;
Most likely nothing in this file will need to be changed to edit levels.&lt;br /&gt;
&lt;br /&gt;
== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=INT32LE&amp;diff=3716</id>
		<title>INT32LE</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=INT32LE&amp;diff=3716"/>
		<updated>2011-09-18T00:24:58Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File format data types]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3715</id>
		<title>Miscellaneous Wacky Wheels File Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3715"/>
		<updated>2011-09-18T00:24:10Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: mindless ramblings about wacky.ing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a number of [[Wacky Wheels]] file formats that are difficult to categorize.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
This file contains only a series of (x, y) points that describe a circle of radius 65,535. Each (x, y) pair is described with two signed integers:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position on the circle&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position on the circle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 960 pairs describe the top half of the circle, and the last 960 pairs describe the bottom half.&lt;br /&gt;
&lt;br /&gt;
The specific uses of the data in this file are unknown. If you replace every (x, y) pair with zeros, you can’t see any objects or tiles in the track, and you can’t drive. Interesting effects may be possible by resizing or distorting the circle.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
Most of this file looks like an unused high score file, similar in format to &amp;lt;tt&amp;gt;[[Wacky Wheels#Files not in wacky.dat|wacky*.hi]]&amp;lt;/tt&amp;gt;. It consists of structs that are 46 bytes long containing some text (“&amp;lt;tt&amp;gt;KNOCK ME OFF!&amp;lt;/tt&amp;gt;” and “&amp;lt;tt&amp;gt;MAR 1994”&amp;lt;/tt&amp;gt;) and other data. I don’t think this data is used.&lt;br /&gt;
&lt;br /&gt;
The first 66 bytes of this file are unknown data. The game won’t load unless at least the first 28 bytes are present. At least these first 28 bytes appear to be signed integers ([[INT32LE]]). The sixth and seventh integers in the file (offsets 0x14 and 0x18) are read when allocating memory. If you change either of these integers to –100, for example, the game will fail to start, and will print how many bytes of memory it allocated and state that it needed an extra –100 bytes of memory.&lt;br /&gt;
&lt;br /&gt;
Most likely nothing in this file will need to be changed to edit levels.&lt;br /&gt;
&lt;br /&gt;
== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3714</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3714"/>
		<updated>2011-09-18T00:21:59Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ wacky.ing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#wacky.ing|wacky.ing]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3712</id>
		<title>Wacky Wheels Track Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3712"/>
		<updated>2011-09-17T22:07:24Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Calculating the compass direction */ fixed compass direction formula. I thought I did this already...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{Map Infobox&lt;br /&gt;
 | Type = 2D tile-based&lt;br /&gt;
 | Layers = 1&lt;br /&gt;
 | Tile size = 32&amp;amp;times;32&lt;br /&gt;
 | Viewport = 320&amp;amp;times;200&lt;br /&gt;
 | Game1 = Wacky Wheels&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Wacky Wheels]] stores its levels across multiple files, with a different aspect of the level in each file.&lt;br /&gt;
&lt;br /&gt;
== Level files ==&lt;br /&gt;
&lt;br /&gt;
=== Map info – *.gam ===&lt;br /&gt;
&lt;br /&gt;
These are ASCII text file with CRLF line terminators (DOS format). Files contain either 25 or 28 lines. (Some of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with Wacky Wheels are one line longer than they need to be, but the last line is empty.)&lt;br /&gt;
&lt;br /&gt;
The first five lines give the names of [[PCX Format|PCX]] files to use. You can add new PCX files to &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; and use those instead of the defaults.&lt;br /&gt;
&lt;br /&gt;
Lines 9 and 10 give the position of the start line, but the computer players get confused if you move the start line too far. I think the finish line is located using the &amp;lt;tt&amp;gt;[[#.22Wrong_way.22_info_.E2.80.93_.2A.pos|*.pos]]&amp;lt;/tt&amp;gt; files. The game might rely on the start line being in a relatively fixed position relative to the finish line.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Line!!Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || File name of the primary tile graphics file, with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed (e.g. &amp;lt;tt&amp;gt;f3.pcx&amp;lt;/tt&amp;gt; designates &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || File name of the secondary tile graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 3 || File that selects properties for the primary tile graphics file (again with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || File that selects properties for the secondary graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 5 || File name of the sky PCX file to use (using the full file name)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Always 1250 in the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with the game. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Always 1500. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Always 1. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || X position of the start line. X=0 is at the left edge of the map as viewed in the course preview screen. The right edge is near X=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Y position of the start line. Y=0 is at the top edge of the map. The bottom edge is near Y=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 11–24 || Unknown. These might be (X, Y) pairs of coordinates, but I can’t figure out what they do.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 1 enables color cycling using the palette in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;; 0 disables it. See [[Wacky_Wheels Graphics Formats#Color palettes|Color palettes]]. If set to 0, the remaining three lines are not necessary.&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Delay between changing to the next color in the color cycles associated with palette indices 148 and 161–164. In &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are used to show water washing up onto the shore.&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Delay between the end of the color cycle and restarting it, for palette indices 148 and 161–164.&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Delay between changing to the next color for palette indices 168–175. There is no delay when restarting these color cycles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Map surface – *.m ===&lt;br /&gt;
&lt;br /&gt;
The *.m files store the road surface a 64x64 grid of tiles.  These files contain a 64x64 byte array (4096 bytes exactly) with each tile representing an index into the tileset.  The tilesets are 320x200 images in [[PCX Format]], split into 32x32 tiles.  There are only 54 tiles per image (so in the *.m files, byte values 0-53 refer to tiles 0-53 in the first tileset, and byte values 54-106 refer to tiles 0-53 in the second tileset.)&lt;br /&gt;
&lt;br /&gt;
=== Background image – *.par ===&lt;br /&gt;
&lt;br /&gt;
Contains the graphics used on the horizon (buildings, etc.). Raw VGA data (8bpp, no header or image size), I think.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Wrong way&amp;quot; info – *.pos ===&lt;br /&gt;
&lt;br /&gt;
The same as the background layer (&amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;) except that instead of one byte per tile (8-bit number) there are two bytes per tile (16-bit number).  So effectively every tile position has a 16-bit number starting at 1 and increasing as you get closer to the end of the track.  The &#039;wrong way&#039; message only flashes on the screen when the player moves to a tile location with a smaller number.  Since the files that ship with the game are fairly coarse in this regard (only using numbers 0-30, and fairly large blocks of the map sharing the same number), there is some delay between successive &#039;wrong way&#039; messages when driving around the track at low speed in the wrong direction.&lt;br /&gt;
&lt;br /&gt;
=== Road path – *.rd ===&lt;br /&gt;
&lt;br /&gt;
The &#039;road&#039; files control the paths the computer players drive.  The file begins with a [[UINT16LE]] containing the number of objects in the file, followed by that many objects.  Each object is in the following structure:&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]] x1 || X-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] y1 || Y-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] x2 || X-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] y2 || Y-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] angle || The angle given by the two (x, y) pairs above in seemingly arbitrary units. See below.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] compass_direction || Direction to face. Range is 0x00–0x07. 0x00 = S, 0x01 = SW, 0x02 = W, up to 0x07 = SE.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] distance || Distance between the current and next points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The computer players drive in a straight line from (x1, y1) to (x2, y2) and then immediately appear at the (x1, y1) point of the next struct in the file. Generally, the (x2, y2) position of one struct should have the same coordinates as the (x1, y1) position in the next struct. If they aren’t, the computer players will drive in a series of line segments and teleport from the end of one line segment to the start of the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; fields are apparently not used, but their values can be calculated automatically using a tool such as [[Camoto]].&lt;br /&gt;
&lt;br /&gt;
==== Calculating the angle ====&lt;br /&gt;
&lt;br /&gt;
For angles, north is taken to be at the top of the map. The +y direction points down, or to the south.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; field is in units of degrees times 16/3 and is always positive: it ranges from 0 ≤ &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; &amp;lt; 1920 (in decimal). The angle is zero when driving in the +X direction (due east). The +Y direction (south) is 480, west is 960, north is 1440, etc.&lt;br /&gt;
&lt;br /&gt;
This angle can be calculated from the X and Y positions as follows:&lt;br /&gt;
&lt;br /&gt;
 angle = atan2(y2−y1, x2−x1)/π*960;&lt;br /&gt;
 if (angle &amp;lt; 0) angle = angle + 1920;&lt;br /&gt;
&lt;br /&gt;
==== Calculating the compass direction ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; field can be calculated from the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt;. The conversion is&lt;br /&gt;
 compass_direction = (angle/240.0 + 6.5) % 8&lt;br /&gt;
where you use floating point division and then truncate the result in parentheses to an integer.&lt;br /&gt;
&lt;br /&gt;
Instead of calculating &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt;, you can set the variable any way you like, so that the computer players drive backwards, skid in the turns, spin, etc. If you hit a driver facing you, it counts as a head on collision, even if you are both traveling the same direction.&lt;br /&gt;
&lt;br /&gt;
==== Calculating the distance ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; field can be calculated as:&lt;br /&gt;
&lt;br /&gt;
 sqrt((x2 − x1)² + (y2 − y1)²)&lt;br /&gt;
&lt;br /&gt;
Note that decimals are truncated, not rounded (i.e. in C, the result is simply cast to an int.)&lt;br /&gt;
&lt;br /&gt;
=== Tile properties – *.sin ===&lt;br /&gt;
&lt;br /&gt;
The structs in *.sin are 12 bytes long and arranged like this:&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]] prop0_active || boolean telling if prop0 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1_active || boolean telling if prop1 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] prop0        || properties for color 0 in f_ma#.pcx&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1        || properties for color 1 in f_ma#.pcx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think the boolean values can always be set to 1; the property won’t be used unless it’s selected in the appropriate a_ma*.pcx file. The properties select what type of ground or water that tile will be. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt gamedata.txt] for a listing that looks promising.&lt;br /&gt;
&lt;br /&gt;
=== Where objects are placed – *.spw ===&lt;br /&gt;
&lt;br /&gt;
Bytes 0–1 are a [[UINT16LE]] giving how many 12-byte structs follow:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] objectid || Index of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file to read for the graphics. See [[Wacky Wheels Graphics Formats#Sprites|Sprites]] for a list.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] xcoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] ycoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] unknown || Unknown; always zero. Setting this number to something other than zero causes the game to cycle through many graphics. Setting it to a small negative number causes it to cycle a few times and then stop on its normal graphic.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
See [[Wacky Wheels#Tools|Wacky Wheels Tools]] for a listing of viewers and editors for data in this format.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This format was reverse engineered by [http://yellowantphil.com/wacky_wheels/ Phil Carter] and Klas Arvidsson.  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:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3711</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3711"/>
		<updated>2011-09-17T21:20:55Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ broke a couple links in the last edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 59 bytes appear to be something else.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3710</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3710"/>
		<updated>2011-09-17T21:17:06Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats and files used to display graphics in [[Wacky Wheels]].&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Most are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
&lt;br /&gt;
These tables list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file. The sprites are raw VGA data (8bpp, no header or image size).&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains additional data for these files, but what data is stored is still unknown.&lt;br /&gt;
&lt;br /&gt;
To place an object on the track, use the index listed in one of the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Where objects are placed – *.spw|*.spw]]&amp;lt;/tt&amp;gt; files. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in the index.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrell&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3709</id>
		<title>Miscellaneous Wacky Wheels File Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Miscellaneous_Wacky_Wheels_File_Formats&amp;diff=3709"/>
		<updated>2011-09-17T21:14:17Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: new page; added some information on trig.dat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a number of [[Wacky Wheels]] file formats that are difficult to categorize.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
This file contains only a series of (x, y) points that describe a circle of radius 65,535. Each (x, y) pair is described with two signed integers:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position on the circle&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position on the circle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 960 pairs describe the top half of the circle, and the last 960 pairs describe the bottom half.&lt;br /&gt;
&lt;br /&gt;
The specific uses of the data in this file are unknown. If you replace every (x, y) pair with zeros, you can’t see any objects or tiles in the track, and you can’t drive. Interesting effects may be possible by resizing or distorting the circle.&lt;br /&gt;
&lt;br /&gt;
== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;br /&gt;
[[Category:File Formats]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3708</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3708"/>
		<updated>2011-09-17T21:14:08Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: split some more information into a new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
Note also that the file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is itself an archive file, containing 54 unnamed files. See the entry for &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt; in the table below.&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Series of (x, y) pairs that describe a circle. See &amp;lt;tt&amp;gt;[[Miscellaneous Wacky Wheels File Formats#trig.dat|trig.dat]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; is the header file for &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. See [[Miscellaneous Wacky Wheels File Formats#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 59 bytes appear to be something else.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[Miscellaneous Wacky Wheels File Formats#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. See [[Miscellaneous Wacky Wheels File Formats#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[Miscellaneous Wacky Wheels File Formats#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
&lt;br /&gt;
If deleted, these files are created by copying the appropriate &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt; file from &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3706</id>
		<title>Wacky Wheels Track Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3706"/>
		<updated>2011-09-17T06:23:21Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: explained the *.rd format; updated a couple links; general formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{Map Infobox&lt;br /&gt;
 | Type = 2D tile-based&lt;br /&gt;
 | Layers = 1&lt;br /&gt;
 | Tile size = 32&amp;amp;times;32&lt;br /&gt;
 | Viewport = 320&amp;amp;times;200&lt;br /&gt;
 | Game1 = Wacky Wheels&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Wacky Wheels]] stores its levels across multiple files, with a different aspect of the level in each file.&lt;br /&gt;
&lt;br /&gt;
== Level files ==&lt;br /&gt;
&lt;br /&gt;
=== Map info – *.gam ===&lt;br /&gt;
&lt;br /&gt;
These are ASCII text file with CRLF line terminators (DOS format). Files contain either 25 or 28 lines. (Some of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with Wacky Wheels are one line longer than they need to be, but the last line is empty.)&lt;br /&gt;
&lt;br /&gt;
The first five lines give the names of [[PCX Format|PCX]] files to use. You can add new PCX files to &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; and use those instead of the defaults.&lt;br /&gt;
&lt;br /&gt;
Lines 9 and 10 give the position of the start line, but the computer players get confused if you move the start line too far. I think the finish line is located using the &amp;lt;tt&amp;gt;[[#.22Wrong_way.22_info_.E2.80.93_.2A.pos|*.pos]]&amp;lt;/tt&amp;gt; files. The game might rely on the start line being in a relatively fixed position relative to the finish line.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Line!!Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || File name of the primary tile graphics file, with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed (e.g. &amp;lt;tt&amp;gt;f3.pcx&amp;lt;/tt&amp;gt; designates &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || File name of the secondary tile graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 3 || File that selects properties for the primary tile graphics file (again with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || File that selects properties for the secondary graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 5 || File name of the sky PCX file to use (using the full file name)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Always 1250 in the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with the game. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Always 1500. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Always 1. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || X position of the start line. X=0 is at the left edge of the map as viewed in the course preview screen. The right edge is near X=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Y position of the start line. Y=0 is at the top edge of the map. The bottom edge is near Y=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 11–24 || Unknown. These might be (X, Y) pairs of coordinates, but I can’t figure out what they do.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 1 enables color cycling using the palette in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;; 0 disables it. See [[Wacky_Wheels Graphics Formats#Color palettes|Color palettes]]. If set to 0, the remaining three lines are not necessary.&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Delay between changing to the next color in the color cycles associated with palette indices 148 and 161–164. In &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are used to show water washing up onto the shore.&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Delay between the end of the color cycle and restarting it, for palette indices 148 and 161–164.&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Delay between changing to the next color for palette indices 168–175. There is no delay when restarting these color cycles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Map surface – *.m ===&lt;br /&gt;
&lt;br /&gt;
The *.m files store the road surface a 64x64 grid of tiles.  These files contain a 64x64 byte array (4096 bytes exactly) with each tile representing an index into the tileset.  The tilesets are 320x200 images in [[PCX Format]], split into 32x32 tiles.  There are only 54 tiles per image (so in the *.m files, byte values 0-53 refer to tiles 0-53 in the first tileset, and byte values 54-106 refer to tiles 0-53 in the second tileset.)&lt;br /&gt;
&lt;br /&gt;
=== Background image – *.par ===&lt;br /&gt;
&lt;br /&gt;
Contains the graphics used on the horizon (buildings, etc.). Raw VGA data (8bpp, no header or image size), I think.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Wrong way&amp;quot; info – *.pos ===&lt;br /&gt;
&lt;br /&gt;
The same as the background layer (&amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;) except that instead of one byte per tile (8-bit number) there are two bytes per tile (16-bit number).  So effectively every tile position has a 16-bit number starting at 1 and increasing as you get closer to the end of the track.  The &#039;wrong way&#039; message only flashes on the screen when the player moves to a tile location with a smaller number.  Since the files that ship with the game are fairly coarse in this regard (only using numbers 0-30, and fairly large blocks of the map sharing the same number), there is some delay between successive &#039;wrong way&#039; messages when driving around the track at low speed in the wrong direction.&lt;br /&gt;
&lt;br /&gt;
=== Road path – *.rd ===&lt;br /&gt;
&lt;br /&gt;
The &#039;road&#039; files control the paths the computer players drive.  The file begins with a [[UINT16LE]] containing the number of objects in the file, followed by that many objects.  Each object is in the following structure:&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]] x1 || X-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] y1 || Y-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] x2 || X-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] y2 || Y-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] angle || The angle given by the two (x, y) pairs above in seemingly arbitrary units. See below.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] compass_direction || Direction to face. Range is 0x00–0x07. 0x00 = S, 0x01 = SW, 0x02 = W, up to 0x07 = SE.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] distance || Distance between the current and next points&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The computer players drive in a straight line from (x1, y1) to (x2, y2) and then immediately appear at the (x1, y1) point of the next struct in the file. Generally, the (x2, y2) position of one struct should have the same coordinates as the (x1, y1) position in the next struct. If they aren’t, the computer players will drive in a series of line segments and teleport from the end of one line segment to the start of the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; fields are apparently not used, but their values can be calculated automatically using a tool such as [[Camoto]].&lt;br /&gt;
&lt;br /&gt;
==== Calculating the angle ====&lt;br /&gt;
&lt;br /&gt;
For angles, north is taken to be at the top of the map. The +y direction points down, or to the south.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; field is in units of degrees times 16/3 and is always positive: it ranges from 0 ≤ &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; &amp;lt; 1920 (in decimal). The angle is zero when driving in the +X direction (due east). The +Y direction (south) is 480, west is 960, north is 1440, etc.&lt;br /&gt;
&lt;br /&gt;
This angle can be calculated from the X and Y positions as follows:&lt;br /&gt;
&lt;br /&gt;
 angle = atan2(y2−y1, x2−x1)/π*960;&lt;br /&gt;
 if (angle &amp;lt; 0) angle = angle + 1920;&lt;br /&gt;
&lt;br /&gt;
==== Calculating the compass direction ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; field can be calculated from the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt;. Since the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; variable divides a circle into 1920 units and &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; divides a circle into 8 units, the conversion is&lt;br /&gt;
 compass_direction = (angle/240 + 6) % 8&lt;br /&gt;
where you use floating point division and then truncate the result in parentheses to an int. Rounding the result instead of truncating would probably also work.&lt;br /&gt;
&lt;br /&gt;
Instead of calculating &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt;, you can set the variable any way you like, so that the computer players drive backwards, skid in the turns, spin, etc. If you hit a driver facing you, it counts as a head on collision, even if you are both traveling the same direction.&lt;br /&gt;
&lt;br /&gt;
==== Calculating the distance ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; field can be calculated as:&lt;br /&gt;
&lt;br /&gt;
 sqrt((x2 − x1)² + (y2 − y1)²)&lt;br /&gt;
&lt;br /&gt;
Note that decimals are truncated, not rounded (i.e. in C, the result is simply cast to an int.)&lt;br /&gt;
&lt;br /&gt;
=== Tile properties – *.sin ===&lt;br /&gt;
&lt;br /&gt;
The structs in *.sin are 12 bytes long and arranged like this:&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]] prop0_active || boolean telling if prop0 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1_active || boolean telling if prop1 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] prop0        || properties for color 0 in f_ma#.pcx&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1        || properties for color 1 in f_ma#.pcx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think the boolean values can always be set to 1; the property won’t be used unless it’s selected in the appropriate a_ma*.pcx file. The properties select what type of ground or water that tile will be. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt gamedata.txt] for a listing that looks promising.&lt;br /&gt;
&lt;br /&gt;
=== Where objects are placed – *.spw ===&lt;br /&gt;
&lt;br /&gt;
Bytes 0–1 are a [[UINT16LE]] giving how many 12-byte structs follow:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] objectid || Index of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file to read for the graphics. See [[Wacky Wheels Graphics Formats#Sprites|Sprites]] for a list.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] xcoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] ycoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] unknown || Unknown; always zero. Setting this number to something other than zero causes the game to cycle through many graphics. Setting it to a small negative number causes it to cycle a few times and then stop on its normal graphic.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
See [[Wacky Wheels#Tools|Wacky Wheels Tools]] for a listing of viewers and editors for data in this format.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This format was reverse engineered by [http://yellowantphil.com/wacky_wheels/ Phil Carter] and Klas Arvidsson.  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:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3705</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3705"/>
		<updated>2011-09-17T06:10:44Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: split out some of the information to a new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
&lt;br /&gt;
* For information about editing Wacky Wheels tracks, see [[Wacky Wheels Track Format]].&lt;br /&gt;
* For information about editing the graphics in Wacky Wheels, see [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
* For information about editing the sound effects and music in Wacky Wheels, see [[Wacky Wheels Music and Sound Effects]].&lt;br /&gt;
* For additional information, refer to the list of file formats below.&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; possibly trigonometric lookup tables.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 59 bytes appear to be something else.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sprites. See [[Wacky Wheels Graphics Formats]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous File Formats ==&lt;br /&gt;
=== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
=== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3704</id>
		<title>Wacky Wheels Graphics Formats</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Graphics_Formats&amp;diff=3704"/>
		<updated>2011-09-17T06:10:09Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: split graphics information into its own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
==PCX graphics==&lt;br /&gt;
Most are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
&lt;br /&gt;
These tables list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file. The sprites are raw VGA data (8bpp, no header or image size).&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains additional data for these files, but what data is stored is still unknown.&lt;br /&gt;
&lt;br /&gt;
To place an object on the track, use the index listed in one of the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Where objects are placed – *.spw|*.spw]]&amp;lt;/tt&amp;gt; files. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in the index.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrell&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Inverse_Frequency_Sound_format&amp;diff=3703</id>
		<title>Inverse Frequency Sound format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Inverse_Frequency_Sound_format&amp;diff=3703"/>
		<updated>2011-09-17T05:28:55Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: misplaced backslashes pain my soul&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The inverse frequency sound format is the format used by Apogee/Id Software in many of their games for the PC sounds. It is named because the bulk of the data is stored as &#039;inverse frequency&#039; values. (The higher the value, the lower the tone it produces.) Most commonly this is stored in a &amp;lt;tt&amp;gt;SOUNDS.xxx&amp;lt;/tt&amp;gt; file, though it may be stored internally.&lt;br /&gt;
&lt;br /&gt;
Later games, such as [[Wolfenstein 3D]] use a modified form of this for their (Less important) PC speaker and adlib sounds.&lt;br /&gt;
&lt;br /&gt;
The file is divided into three sections, 16 bytes of header, a list of sound names and the actual sound data. The start of sound data should thus be (Numsnds + 1) * 16 bytes from the file start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
&lt;br /&gt;
 0   4   Identifier  &amp;quot;SND&amp;quot; + $00; indicates the start of a sound file, whereas &amp;quot;SPK&amp;quot; + $00 indicates&lt;br /&gt;
                     the start of the older &#039;speaker&#039; format, which has very few differences.&lt;br /&gt;
 4   2   Filesize    Size of file&lt;br /&gt;
 6   2   ???         Usually $3C $00, but doesn&#039;t appear to do anything.&lt;br /&gt;
 8   2   Sndnum      Number of sounds in file. For SPK files this is blank as the number of sounds&lt;br /&gt;
                     is always 63&lt;br /&gt;
 10  6   Spacer      Padded with nulls&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sound names==&lt;br /&gt;
&lt;br /&gt;
 SOUND HEADER:    (1 per sound, 16 bytes each)&lt;br /&gt;
 ?  2   Location    Location of sound start in file&lt;br /&gt;
 2  1   Priority    Whether or not sound will be interrupted by another sound if said sound&lt;br /&gt;
                    starts playing while the first is. Sounds can only be interrupted by sounds&lt;br /&gt;
                    that have an equal or higher value of this. 255 is max, 0 is inadvisable&lt;br /&gt;
 3  1   Validater   If a sound is a &#039;placeholder&#039; to be ignored, this is 1, if it is a proper&lt;br /&gt;
                    sound it is 8&lt;br /&gt;
 4  12  Name        Sound name, padded with nulls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sound data==&lt;br /&gt;
&lt;br /&gt;
Sound data is divided into words, with the word value being inversely proportional to the sound frequency. Each word is around 1/64th of a second of tone and most files contain a few seconds of sound. The value $FFFF signals the end of a sound and most values are between the range $0100-$5000. $0000 is silence.&lt;br /&gt;
&lt;br /&gt;
Later games use a similar format for PC and Adlib sounds, the sound data is in bytes with values of 0-255, the loss of fine-tuning being attributable to the lesser role of PC sounds and the Adlib format. The [[AudioT Format]] also has a totally different way of reading the sounds, and contains music.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
This format has been reverse engineered many times, most often in the [[Commander Keen 1-3]] fan community. Probably first by [http://web.archive.org/web/20000815235203/http://www.dd.chalmers.se/~f98anga/projects/keen/ Anders Gavare].&lt;br /&gt;
&lt;br /&gt;
Games that use this format are [[Catacomb]] 1 and 2, [[Commander Keen 1-3]], [[Cosmo&#039;s Cosmic Adventures]], [[Dangerous Dave]], [[Dangerous Dave in Copyright Infringement]], [[Dangerous Dave 2]], [[Duke Nukem]], [[Duke Nukem II]], [[Hovertank 3D]], [[Math Rescue]], [[Major Stryker]], [[Monster Bash]], [[Paragon]] (aka Street Ball), [[Pickle Wars]], [[Realms of Chaos]] (beta version only), [[Rescue Rover]],  [[Shadow Knights]], [[Slordax]], [[Word Rescue]] and [[Xenopods]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Audio Files]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=AudioT_Format&amp;diff=3702</id>
		<title>AudioT Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=AudioT_Format&amp;diff=3702"/>
		<updated>2011-09-17T05:05:37Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: added Wacky Wheels; minor corrections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;b&amp;gt;AudioT&amp;lt;/b&amp;gt; format is a [[:Category:Group Files|group file]] used by many id/Apogee games to store Adlib music, Adlib sound effects and PC Speaker sound effects in a single file.  The basic structure of this format is very similar to the [[EGAGraph_Format]] and the [[GameMaps Format]]. The main audio file can be compressed (&amp;lt;tt&amp;gt;AUDIO.xxx&amp;lt;/tt&amp;gt;) or uncompressed (&amp;lt;tt&amp;gt;AUDIOT.xxx&amp;lt;/tt&amp;gt;). It requires an associated &amp;lt;tt&amp;gt;AUDIOHED.xxx&amp;lt;/tt&amp;gt; which stores the offsets of each file, and an &amp;lt;tt&amp;gt;AUDIODCT.xxx&amp;lt;/tt&amp;gt; if the file is compressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== Audio Head (AUDIOHED.xxx) ===&lt;br /&gt;
&lt;br /&gt;
This header file stores the offsets (relative to the start of the &amp;lt;tt&amp;gt;AUDIO/AUDIOT&amp;lt;/tt&amp;gt; file) for each sub file.  The format is trivial, in that the header file is simply an array of &amp;lt;tt&amp;gt;UINT32LE&amp;lt;/tt&amp;gt; offsets.&lt;br /&gt;
&lt;br /&gt;
The last offset in the file will be an offset to the end of the main &amp;lt;tt&amp;gt;AUDIO/AUDIOT&amp;lt;/tt&amp;gt; file. This was probably done so that the size of each chunk could be calculated with the formula below. Thus, the number of offsets (size of the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; in dwords) minus one will give the number of chunks (slots) included in the main file. This number varies, but is usually about 200. (Games refer to the chunks by index, not by name).&lt;br /&gt;
&lt;br /&gt;
The size of a chunk can be calculated like this:&lt;br /&gt;
&lt;br /&gt;
 size[i] = offset[i+1] - offset[i]&lt;br /&gt;
&lt;br /&gt;
Empty chunks (size[i] = 0) should be skipped when extracting chunks.&lt;br /&gt;
&lt;br /&gt;
In most (not all) games, the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; is included in the executable file. See [[Extracting data files from executables]] for information on how to locate and extract them. &lt;br /&gt;
&lt;br /&gt;
=== Dictionary (AUDIODCT.xxx) ===&lt;br /&gt;
&lt;br /&gt;
If the main audio file is named &amp;lt;tt&amp;gt;AUDIO.xxx&amp;lt;/tt&amp;gt;, then the file is compressed.  The same [[Huffman Compression]] scheme used elsewhere in the [[Commander Keen]] series is used.  When reading compressed files out of the &amp;lt;tt&amp;gt;AUDIO&amp;lt;/tt&amp;gt; file, the first four bytes located at the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; offset are a UINT32LE specifying the file&#039;s decompressed size (which is required for the decompression algorithm.)  The compressed data then follows.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;tt&amp;gt;AUDIODCT&amp;lt;/tt&amp;gt; file is not often obvious, usually being embedded in the main exe file. Executables usually contain two or more dictionaries, but the &amp;lt;tt&amp;gt;AUDIODCT&amp;lt;/tt&amp;gt; is usually the first one. (A simple check of whether it decompresses the data sensibly works.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Main file (AUDIOT.xxx, AUDIO.xxx) ===&lt;br /&gt;
&lt;br /&gt;
This file is simply an array of data files.  Each file starts at the offset specified in the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; file, and as there are no filenames each file is referred to by its index/slot number.  Slots containing dummy values in the header are treated as if they don&#039;t exist in the &amp;lt;tt&amp;gt;AUDIO/AUDIOT&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
If compression is in use then the &amp;lt;tt&amp;gt;AUDIO&amp;lt;/tt&amp;gt; file itself isn&#039;t compressed, rather each file within the &amp;lt;tt&amp;gt;AUDIO&amp;lt;/tt&amp;gt; file is individually compressed.  A file can be read by opening the &amp;lt;tt&amp;gt;AUDIOT&amp;lt;/tt&amp;gt; file, seeking to the offset specified in the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; file, reading a UINT32LE for the decompressed file size, and then decompressing the data from that point onwards using standard Huffman decompression techniques.&lt;br /&gt;
&lt;br /&gt;
If compression is not in use (&amp;lt;tt&amp;gt;AUDIOT&amp;lt;/tt&amp;gt; files) then a file can be read by simply seeking to the offset specified in the AUDIOHED file and reading until the offset of the following file is reached.  Since the last offset in the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; file is the size of the &amp;lt;tt&amp;gt;AUDIOT&amp;lt;/tt&amp;gt; file itself, no extra handling should be necessary to correctly read all of the last file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chunks ==&lt;br /&gt;
&lt;br /&gt;
The AUDIOT format is a container format, meaning that any files the game can handle can be stored in it. Traditionally there have been three types of &#039;sub files&#039; or chunks: Adlib music files (which are [[IMF Format]]), Adlib sound effects and PC Speaker sound effects. By default most games store PC effects first, followed by their Adlib equivalents, with the IMF music filling the last entries.&lt;br /&gt;
&lt;br /&gt;
At least one case is known where the music is in MIDI format ([[Noah&#039;s Ark 3D]]) and it is possible that soundblaster &#039;digital&#039; sound effects have been stored like this as well at some point. There has often been confusion about what part of a file are data and which are the AUDIOT file, for example the IMF file format was widely believed to exist in two types until it was discovered that &#039;type 1&#039; IMFs were simply &#039;type 0&#039; that had been incorrectly extracted from the AUDIOT file with their chunk length and tags.&lt;br /&gt;
&lt;br /&gt;
It is notable that a sound file will contain exactly as many PC sounds as adlib sounds (and an arbitrary number of IMF files.) This is because most games have a PC/Adlib option and thus must match every PC sound with an adlib equivalent. The number of sounds appears to be hard-coded, though all games (except for [[Commander Keen Dreams]]) seem to add the string &amp;quot;!ID!&amp;quot; after the last sound of each &#039;section&#039;. The &amp;quot;!ID!&amp;quot; tags themselves don&#039;t seem to be part of any chunk and are probably put in for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
Sound chunks are always in the same order, PC, then adlib then IMF. A simple method to classify the sound chunks is to check the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; for chunks of size 0. These are &#039;empty&#039; sounds and seperate sound chunks from music chunks . Every nonzero length chunk after this is an IMF chunk. (IMFs are always the last chunks in the &amp;lt;tt&amp;gt;AUDIOHED&amp;lt;/tt&amp;gt; and contain no zero length chunks) For the PC/adlib chunks, the number of chunks before the first zero length chunk can be divided into two, the first half being PC, the second half being adlib.&lt;br /&gt;
&lt;br /&gt;
If the file is uncompressed then the adlib and IMF chunks will be tagged (huffman compression, being a space saving exercise doesn&#039;t comoress tags.) PC chunks are never tagged. It appears that the compiler used added a footer to each chunk as they were compiled. For sounds these are null terminated strings of 12 characters or less, including terminator. For IMF files these are 88 byte strings detailed on the [[IMF Format]] page. These names are not read by games (with the possible exception of the aforementioned &#039;!ID!&#039; tags.)&lt;br /&gt;
&lt;br /&gt;
TODO: Need to also document both sound effect formats so the sounds can be edited and not just imported/exported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IMF Music ===&lt;br /&gt;
&lt;br /&gt;
[[IMF Format]] files are packed at the end of the audio file. Occasionally &#039;empty&#039; music files are found (e.g [[Wolfenstein 3-D]]) that contain no actual data, just footer information placed there by a compiler. They can be extracted as they are and played with various utilities such as Adplug.&lt;br /&gt;
&lt;br /&gt;
=== PC Sounds ===&lt;br /&gt;
&lt;br /&gt;
 0    4    Length of sound data (Usually chunk length - 7)&lt;br /&gt;
 4    2    Priority of sound, only 1 PC sound may play at a time; any sound&lt;br /&gt;
           will interrupt a sound of equal or lower priority.&lt;br /&gt;
 6    ?    Sound data&lt;br /&gt;
 ?    1    Terminating null&lt;br /&gt;
&lt;br /&gt;
PC sounds use a modified form of the [[Inverse Frequency Sound format]] used in earlier ID games. Briefly, the sound data is stored as bytes, each specifying the inverse of a frequency. (Higher value, lower frequency.) This format is properly detailed elsewhere.&lt;br /&gt;
&lt;br /&gt;
While most PC chunks have no sound name and thus can be identified solely by their first four bytes and their length, it appears they can in fact be named and some games occasionally do name them.&lt;br /&gt;
&lt;br /&gt;
These files can be converted into Wave files easily enough, but currently the only program known to do so is Keenwave: http://levellord.toxicsheep.com/KWbeta.zip&lt;br /&gt;
&lt;br /&gt;
TODO: Document this too (Code exists to do this)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adlib Sounds ===&lt;br /&gt;
&lt;br /&gt;
Adlib sounds are slightly more complex. Their header contains additional information to the PC sounds, used to set up the Adlib chip when playing the sound. Games always reset the chip when playing a new sound and so each sound is given 17 bytes of Adlib data. This information is what, in effect, makes the Adlib sounds sound different from the PC ones. by changing these values, various properties of the sound can be altered. Specifically these refer to the values for each of two operators for a single Adlib channel. (Adlib sounds use two sound waves, a carrier and a modulator, C1 and C2, the modulator moves through the carrier, modifying it as it does so.)  Adlib sound effects can be converted into IMF format as IMFs are essentially sequences of Adlib sounds on several instead of just one Adlib channel.&lt;br /&gt;
&lt;br /&gt;
An Adlib sound entry is contained in this structure:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] || length || Length of sound data&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] || priority || Sound priority&lt;br /&gt;
|-&lt;br /&gt;
| [[BYTE]][] || data || Actual sound data&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT8]] || terminator || ?&lt;br /&gt;
|-&lt;br /&gt;
| [[ASCIIZ]][] || name || NULL-terminated sound effect name (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The format of the &amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; field is described on the [[Adlib sound effect]] page.&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
&lt;br /&gt;
[http://www.winamp.com/player Download Winamp] a program capable of playing IMF files with the right library.&lt;br /&gt;
&lt;br /&gt;
KeenWave: This program can extract, and to a limited extent, edit the AUDIOT files into various formats, including wave files. It is currently at the beta stage. http://levellord.toxicsheep.com/KWbeta.zip It also contains:&lt;br /&gt;
&lt;br /&gt;
KeenISF: This program plays the Adlib sounds, if they are extracted as raw data.&lt;br /&gt;
&lt;br /&gt;
[[Category:Adlib]]&lt;br /&gt;
[[Category:Audio Files]]&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Music Files]]&lt;br /&gt;
[[Category:Sound Files]]&lt;br /&gt;
[[Category:Compressed Files]]&lt;br /&gt;
[[Category:Huffman Compression]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All the games that use this file format --&amp;gt;&lt;br /&gt;
[[Category:Bio Menace]]&lt;br /&gt;
[[Category:Catacomb 3D]]&lt;br /&gt;
[[Category:Commander Keen 4-6]]&lt;br /&gt;
[[Category:Noah&#039;s Ark 3D]]&lt;br /&gt;
[[Category:Wolfenstein 3-D]]&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3701</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3701"/>
		<updated>2011-09-17T04:52:59Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Files in wacky.dat */ AudioT format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
This section lists the major file formats used in the game.&lt;br /&gt;
&lt;br /&gt;
* [[DAT Format (Wacky Wheels)|DAT Format]] - compressed group file storing most of the game data&lt;br /&gt;
* [[MID Format]] - game music in MIDI format&lt;br /&gt;
* [[KLM Format]] - game music in Adlib format&lt;br /&gt;
* [[VOC Format]] - sound effects&lt;br /&gt;
* [[B800 Text]] - exit screens&lt;br /&gt;
* [[PCX Format]] - various game graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#Sprites|*.sp]]&amp;lt;/tt&amp;gt; sprites are raw VGA data (8bpp, no header or image size)&lt;br /&gt;
** &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[Wacky Wheels Track Format]] - &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt; are all used to construct each level&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== List of file formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. Specific contents are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Uncompressed [[AudioT Format]] sound effects for PC speaker and AdLib. The archive file &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt; contains 26 files of each format. Ask [[User:yellowantphil|Phil]] if you want an extraction program.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 59 bytes appear to be something else.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. Most are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[#Sprites|Sprites]]. See also &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; in this table.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous File Formats ==&lt;br /&gt;
=== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
=== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
&lt;br /&gt;
These tables list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file. The sprites are raw VGA data (8bpp, no header or image size).&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains additional data for these files, but what data is stored is still unknown.&lt;br /&gt;
&lt;br /&gt;
To place an object on the track, use the index listed in one of the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Where objects are placed – *.spw|*.spw]]&amp;lt;/tt&amp;gt; files. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in the index.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrell&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3699</id>
		<title>User talk:Malvineous</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=User_talk:Malvineous&amp;diff=3699"/>
		<updated>2011-09-16T04:51:14Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* GamePage template */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wolfenstein 3D -&amp;gt; Wolfenstein 3-D ==&lt;br /&gt;
I&#039;ve corrected the infamous 3D tyop in the names of several Wolf3D-related pages; can you please delete the following ones?&lt;br /&gt;
&lt;br /&gt;
[[:Category:Wolfenstein 3D]] -&amp;gt; Superseded by [[:Category:Wolfenstein 3-D]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[:Image:Wolfenstein_3D.png]] -&amp;gt; Superseded by [[:Image:Wolfenstein_3-D.png]]&lt;br /&gt;
&lt;br /&gt;
Thanks :) --De Zeurkous (zeurkous@zeurcomp.nichten.info), Thu Nov 22 08:18:42 UTC 2007&lt;br /&gt;
&lt;br /&gt;
:Haha, you&#039;ve certainly been busy.  Don&#039;t forget that this wiki isn&#039;t meant to be an encyclopaedia of the games, its main purpose is documenting the file formats and editing tools that can be used with the games, as opposed to how the games behave without any mods, or what they might be called if you forget to change the title screen :-) -- [[User:Malvineous|Malvineous]] 11:14, 22 November 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Nah, I haven&#039;t forgotten. As we&#039;re reinventing the wheel for a semi-virgin wiki, the naming and something static like the cheats seemed like a good place to start :) --De Zeurkous (zeurkous@nichten.info), Thu Nov 22 12:20:04 UTC 2007&lt;br /&gt;
&lt;br /&gt;
== Jill of the Jungle palette ==&lt;br /&gt;
&lt;br /&gt;
Hi, I&#039;m currently working on a level viewer for [[Jill of the Jungle]] (maybe an editor later on). Some of the information I found here has been very useful, but there&#039;s one thing I&#039;m a bit stuck on. On the [[SHA Format]] page it says:&lt;br /&gt;
:&#039;&#039;Each array item contains 4 unsigned bytes, representing CGA, EGA and VGA, respectivley, and then a null value. [...] Each byte maps to the index of a colour in the palette. If there are no colours required, the tile set uses the default colours.&#039;&#039;&lt;br /&gt;
However, it doesn&#039;t say anywhere where the palette can be found. Is it stored in the EXE file? I hope you can help me on this :)&lt;br /&gt;
&lt;br /&gt;
Regards, [[User:Spinal|Spinal]] 13:00, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:Unfortunately I didn&#039;t write the JotJ SHA page, and I haven&#039;t yet had the time to figure this out.  For Xargon I&#039;ve taken the quick and dirty route and used a screenshot from within DOSBox as the source of the palette, until I can figure out where the palette is located.  If you find this out, don&#039;t forget to update the page! :-) -- [[User:Malvineous|Malvineous]] 22:02, 2 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::Hey Spinal, sorry, I wrote the [[SHA Format]] page, so that was probably my bad. I wasn&#039;t able to find the palette either. I assume it&#039;s in the .EXE, however I spent a fair bit of time manually mapping it using a Wombat tool (http://www.szevvy.com/node/3). I was also writing a level viewer (initally in XHTML which turned out to be too slow, so then I moved to Flash 9). I tried to email you my findings, but the email bounced. I&#039;m not sure if they were 100% accurat, which is why I never added them to the documentation.&lt;br /&gt;
&lt;br /&gt;
::Hey Malvineous, it seems the Jill - [[DMA Format]] page has been removed. Do you have a log of what happened to it? I&#039;m sure it existed at some point.&lt;br /&gt;
&lt;br /&gt;
::- [[User:dheim|Daniel]] 20:00, 5 March 2008&lt;br /&gt;
&lt;br /&gt;
:::I don&#039;t ever remember seeing a DMA page - certainly there&#039;s nothing in the wiki logs about it being deleted or renamed.  Maybe you started working on it but never got around to saving it?  Or is it one of the Xargon pages that shares the same format as Jill?  (by the way, you can type &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to automatically put in the signature in these messages.) -- [[User:Malvineous|Malvineous]] 11:28, 5 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry, it must have been the stuff in the [[SHA Format]] page that I was thinking of. I may have added the link to the [[DMA Format]] page, and never expanded on it. - [[User:Dheim|Daniel]] 02:46, 6 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::::Hi guys. Sorry for the mistake, I mixed up the authors of the SHA and level formats. I&#039;ve written a level viewer in PHP the last week, by using static images instead of getting them from the actual files. This causes some problems for episode 2, which uses a different palette, but besides that it works great :) When everything is done I&#039;ll upload the maps to my server and the tile/object lists to this wiki.&lt;br /&gt;
:::::@Daniel: strange that it bounced, I confirmed my address so it should be working fine... You can mail it to spinal -at- zanderz -dot- net. Also, I saw on your Wombat page that you &amp;quot;have a vague idea of how to do&amp;quot; [[Hocus Pocus]]. Could you share your findings on this wiki? I&#039;d love to make maps, or even a level viewer/editor for that game :) -- [[User:Spinal|Spinal]] 00:32, 8 March 2008 (GMT)&lt;br /&gt;
:Okay, with help of [[User:Dheim|Daniel]] who send me the palette I found it! I&#039;ll put my findings on [[Jill of the Jungle palette]]. -- [[User:Spinal|Spinal]] 15:36, 13 March 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Halloween Harry/Alien Carnage ==&lt;br /&gt;
&lt;br /&gt;
Hi Malvineous. Thanks for your edits on the GMF article! I notice you mentioned there exist versions of the game which don&#039;t require exploding a BNK to get at the game data. What does the directory structure look like for the version you have? I&#039;m working on a map viewer (which will become a map editor at some point) and would like it to be able to work on whatever versions are out there. Thanks for any info. -[[User:Duckthing|Duckthing]] 04:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hi Duckthing - no worries, Halloween Harry has long been an interest of mine, but my map editor sadly needs a lot more work before I can begin reverse engineering more file formats so I&#039;m glad you&#039;ve made a start!  AFAIK technically Halloween Harry has no compression, but for whatever reason (probably listed in the Apogee FAQ) they decided to swap episodes 1 and 3, compress the BNK file and then re-release it under the name Alien Carnage.  You can download all available versions (including registered versions since the game was released as freeware in 2007) from [http://www.classicdosgames.com/game/Alien_Carnage.html RGB Classic Games].  BTW not sure if you noticed but I also posted a couple of things on the GMF article&#039;s talk/discussion page. -- [[User:Malvineous|Malvineous]] 06:08, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:: Thank you! Working with the uncompressed version will keep things less complicated. I did notice the GMF discussion you added, but haven&#039;t had a chance to really go through it yet. -- [[User:Duckthing|Duckthing]] 06:41, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::: No worries.  If you&#039;re running Linux or MacOSX you should be able to compile [[Camoto|libgamearchive]] which will let you copy files in and out of the BNK files.  This is a library so it&#039;s also possible to use it in your own program for accessing and editing the map files while they&#039;re still inside the BNK, for instance.  (BTW the &#039;minor&#039; tickbox should only be used when the edit does not affect the information on the page - e.g. fixing a typo or a broken URL.  If you are changing the actual content on a page it is never a minor edit!) -- [[User:Malvineous|Malvineous]] 07:51, 11 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dangerous Dave ==&lt;br /&gt;
&lt;br /&gt;
Working on this, does anyone have any info on the formats? The EGA graphics are 84KB and external, but CGA and VGA graphics unrelated to them are in the 174KB executable, apparently uncompressed, I don&#039;t know how this is possible. I&#039;ve found the levels and partially reverse engineered the format (The first 1000 bytes, a 100x10 array of tiles.) but each level is followed by ~280 bytes of variable and unknown data I assume is sprites. I have a list of internal files in the executable, looks like most of it is non-game code. Any help would be appreciated. -[[User:Levellass|Endian? What are you on about?]] 06:03, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Hmm, interesting.  All I can suggest for the levels is - as you&#039;re probably already familiar with - changing the values in a hex editor then loading the game to see what happens.  I would suspect that all the graphics would be in a similar format, so if there are any headers or structures used in the EGA graphics files perhaps they&#039;re duplicated for CGA/VGA?  Also John Romero seems pretty accessible, perhaps you could ask him directly?  Failing that, randomly writing data into the .exe until the images change could be used as a last resort! -- [[User:Malvineous|Malvineous]] 12:09, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ha, that was easier than I expected - uncompressed VGA data is easy to find with a good hex editor ;-)  [http://www.shikadi.net/pics/ddave-vga-hexdump.png This looks like it] -- [[User:Malvineous|Malvineous]] 12:17, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Ok that was only the menu graphics.  At offset 0xC629 there&#039;s some sort of offset table which looks very similar to the contents of EGADAVE.DAV but there are extra bytes dotted all over the place - perhaps it&#039;s RLE encoded?  Actually just before that there&#039;s the number 0x6CAA.  If you go a bit less than 0x6CAA bytes after this you end up with another table, which to me suggests that 0x6CAA is the decompressed size of that first table. -- [[User:Malvineous|Malvineous]] 13:01, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:If I remember it correctly, the VGA sprites and tiles are RLE compressed and it&#039;s not too hard to decompress them. The positions of the enemies in the levels on the other hand are still a mystery to me. [[User:Calvero|Calvero]] 20:43, 12 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Looking at the levels, which directly follow the VGA palette, they seem to contain 256 bytes of header data, then the 100x10 tiles, then eight bytes of lead-out data.  Then the next level&#039;s 256 bytes of header, 100x10 tiles, then eight bytes of lead-out.  Although I say &amp;quot;level&amp;quot;, the first &amp;quot;level&amp;quot; seems to contain both level 1 and 2, and this seems to be the way it works in the game - in some levels you can see through to others.  I&#039;m not sure what the 256 bytes of header data are for, but some levels have FF FF 00 00 repeated which seems to indicate two uint16 fields which are blanked out for those levels. -- [[User:Malvineous|Malvineous]] 13:15, 13 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
::First up, levels; where does level 1 start? It&#039;s possible I&#039;m reading the start of a level as the previous level&#039;s end, I looked for the start of tile data, which I assumed, like Keen 1, would be the level start.&lt;br /&gt;
&lt;br /&gt;
::Next, palette; I&#039;m assuming, as you said, it is located just before the level data?&lt;br /&gt;
&lt;br /&gt;
::There is VGA and CGA graphics in the executable, plus headers, but the bulk of graphics for CGA and VGA I haven&#039;t been able to locate. If the data is RLE compressed I should think it would use either Keen 1-3 fullscreen or Jazz Jackrabbit tile RLE, both of which I know well. I&#039;ll look into both of these options, cheers! -[[User:Levellass|Endian? What are you on about?]] 12:03, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I&#039;ve found the VGA and CGA data for the menu graphics.  It looks like the CGA data is stored in a series of 1-bit-per-pixel (monochrome) images.  Or it could be EGA data with the planes split out (e.g. red plane for all images, then green plane for all images, etc.)  I think I found three planes which means it&#039;s probably EGA, as CGA would have a max of two planes.  I&#039;ve also found the font graphics, this looks like 4bpp/16 colour EGA data.  Haven&#039;t seen level graphics yet.  I&#039;ve successfully modded the levels with a hex editor (putting the jetpack everywhere) so now I&#039;ve finally looked at all the levels!  The creatures are definitely not stored in the 100x10 tile data.  Putting random bytes in there revealed that the values are indices into the image files, because if you put the value in for fire it will animate, and the following three or so values show up as still frames from the fire animation.&lt;br /&gt;
&lt;br /&gt;
:::The VGA palette starts at 0x26B0A (I updated the main DDave page with this) + 768 bytes leads straight onto the start of level 1 at 0x26E0A.  So at 0x26E0A there are 256 bytes of data, then 100x10 tiles, then 24 bytes of footer data.  Some of this data (perhaps footer data) might be the level start coordinates, because Dave doesn&#039;t always start the level at the same place (e.g. the warp level when you climb the tree on level 5 and jump off the edge of the screen.) -- [[User:Malvineous|Malvineous]] 12:24, 20 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
:::I think I&#039;ve found all the files so far, I&#039;ve updated [[Dangerous Dave]] with the offsets of the files, including what appears to be CGA and VGA tiles.  I&#039;m not sure what sort of format they&#039;re in though, it looks like they might be compressed (and so the offsets in that list might be off by ~4, as I may have cut off the decompressed-size field.)  I&#039;ve also updated the map format page, I think it&#039;s pretty much fully reverse engineered now. -- [[User:Malvineous|Malvineous]] 05:13, 21 December 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Noahs Ark 3D and IMFs ==&lt;br /&gt;
&lt;br /&gt;
Been poking around Noah&#039;s Ark 3D, an adaption of the Wolfenstein game and found a few interesting things which I&#039;m hoping to confirm.&lt;br /&gt;
&lt;br /&gt;
First, the game uses MID files, not IMF files for music, second, the MIDI files have an extra word at the start of the file giving the file length. Third, the code uses the first word of the midi file as the length of data to read from the file and put into memory to play. After poking around a bit in Wolfenstein and Keen I believe this is the same with IMF files, that is, ALL IMF files are type 0 as it were and the type 1s are read just like type 0s by the games (The first word is read as the amount of IMF data to copy into memory to play, this is then read as type 0.) I&#039;m not quite sure what this does for the two types since type 1 is would essentially be a type 0 with a header and footer that are part of the AUDIO.xxx format, much like PC\adlib sounds can have the huffman lengths at the start. Are there any games that use &#039;individual&#039; type 1 IMFs (Even if included as part of a group file. All I&#039;ve seen are games like cosmo, where non-AUDIO IMFs are type 0.)&lt;br /&gt;
&lt;br /&gt;
Should there be a Noah&#039;s Ark 3D page and should we add the midi note to the AUDIO format page? It seems that the format can hold any type of music file the game can read, not just IMFs.  -- Levellass&lt;br /&gt;
&lt;br /&gt;
: Yes it is known that the type-1 header might really be part of the AUDIO.xxx format but alas there were many type-1 files floating around the place (incorrectly extracted, you could argue) before this was realised, so the format variant is here to stay.  It does have some advantages though (like tagging files with the song title) but I&#039;m not sure whether anyone has figured out definitively whether the header (and footer, in the case of the Wolf3D files) belongs to the IMF or the AUDIO file.  I guess you&#039;d have to browse the game source code and see how the game uses the data to know for sure.&lt;br /&gt;
&lt;br /&gt;
: As far as the MIDI goes, I believe the AUDIO.xxx file is just a container file like any other, capable of supporting any data at all.  It&#039;s up to the game to decide how to use it.  If anything this makes me think it would fit better if the AUDIO.xxx article was merely documenting the structure, with links to actual audio formats like PC SFX, Adlib SFX, IMF and MIDI and notes about which games make use of which formats.&lt;br /&gt;
&lt;br /&gt;
: Oh and yes, by all means create a page for the new game. -- [[User:Malvineous|Malvineous]] 08:41, 3 February 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Sound Files category ==&lt;br /&gt;
&lt;br /&gt;
I don’t know why there’s a Sound Files category and also an Audio Files category... it seems redundant. I left those categories the way they are though.&lt;br /&gt;
&lt;br /&gt;
Also, the [[File format data types]] page needs some signed ints, but I didn’t know what naming convention you wanted to use. I described something as an [[INT16LE]] on [[BMC Format]]. [[User:Yellowantphil|Yellowantphil]] 20:12, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
: Not sure about the Sound vs Audio - I use the term &#039;audio&#039; to mean both sound and music, but you&#039;re right, if there are separate sound and music categories we don&#039;t really need an audio one as well.  Feel free to update.  [[INT16LE]] is perfectly fine too!  I added a note to the data types page. -- [[User:Malvineous|Malvineous]] 22:30, 11 September 2011 (GMT)&lt;br /&gt;
&lt;br /&gt;
== GamePage template ==&lt;br /&gt;
&lt;br /&gt;
Should the GamePage template add the page to its own category? It seems a little odd that [[Wacky Wheels]] is not in the Wacky Wheels category. [[User:Yellowantphil|Yellowantphil]] 04:51, 16 September 2011 (GMT)&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3698</id>
		<title>Wacky Wheels Track Format</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels_Track_Format&amp;diff=3698"/>
		<updated>2011-09-16T04:48:09Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Road path – *.rd */ changing the calculation for the compass direction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedMoreInfo}}&lt;br /&gt;
{{Map Infobox&lt;br /&gt;
 | Type = 2D tile-based&lt;br /&gt;
 | Layers = 1&lt;br /&gt;
 | Tile size = 32&amp;amp;times;32&lt;br /&gt;
 | Viewport = 320&amp;amp;times;200&lt;br /&gt;
 | Game1 = Wacky Wheels&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Wacky Wheels]] stores its levels across multiple files, with a different aspect of the level in each file.&lt;br /&gt;
&lt;br /&gt;
== Level files ==&lt;br /&gt;
&lt;br /&gt;
=== Map info – *.gam ===&lt;br /&gt;
&lt;br /&gt;
These are ASCII text file with CRLF line terminators (DOS format). Files contain either 25 or 28 lines. (Some of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with Wacky Wheels are one line longer than they need to be, but the last line is empty.)&lt;br /&gt;
&lt;br /&gt;
The first five lines give the names of [[PCX Format|PCX]] files to use. You can add new PCX files to &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; and use those instead of the defaults.&lt;br /&gt;
&lt;br /&gt;
Lines 9 and 10 give the position of the start line, but the computer players get confused if you move the start line too far. I think the finish line is located using the &amp;lt;tt&amp;gt;[[#.22Wrong_way.22_info_.E2.80.93_.2A.pos|*.pos]]&amp;lt;/tt&amp;gt; files. The game might rely on the start line being in a relatively fixed position relative to the finish line.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Line!!Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || File name of the primary tile graphics file, with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed (e.g. &amp;lt;tt&amp;gt;f3.pcx&amp;lt;/tt&amp;gt; designates &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || File name of the secondary tile graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 3 || File that selects properties for the primary tile graphics file (again with the leading &amp;lt;tt&amp;gt;a_&amp;lt;/tt&amp;gt; removed)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || File that selects properties for the secondary graphics file&lt;br /&gt;
|-&lt;br /&gt;
| 5 || File name of the sky PCX file to use (using the full file name)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Always 1250 in the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; files that ship with the game. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Always 1500. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Always 1. Unknown use.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || X position of the start line. X=0 is at the left edge of the map as viewed in the course preview screen. The right edge is near X=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Y position of the start line. Y=0 is at the top edge of the map. The bottom edge is near Y=2048.&lt;br /&gt;
|-&lt;br /&gt;
| 11–24 || Unknown. These might be (X, Y) pairs of coordinates, but I can’t figure out what they do.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 1 enables color cycling using the palette in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;; 0 disables it. See [[Wacky_Wheels#Color palettes|Color palettes]]. If set to 0, the remaining three lines are not necessary.&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Delay between changing to the next color in the color cycles associated with palette indices 148 and 161–164. In &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are used to show water washing up onto the shore.&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Delay between the end of the color cycle and restarting it, for palette indices 148 and 161–164.&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Delay between changing to the next color for palette indices 168–175. There is no delay when restarting these color cycles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Map surface – *.m ===&lt;br /&gt;
&lt;br /&gt;
The *.m files store the road surface a 64x64 grid of tiles.  These files contain a 64x64 byte array (4096 bytes exactly) with each tile representing an index into the tileset.  The tilesets are 320x200 images in [[PCX Format]], split into 32x32 tiles.  There are only 54 tiles per image (so in the *.m files, byte values 0-53 refer to tiles 0-53 in the first tileset, and byte values 54-106 refer to tiles 0-53 in the second tileset.)&lt;br /&gt;
&lt;br /&gt;
=== Background image – *.par ===&lt;br /&gt;
&lt;br /&gt;
Contains the graphics used on the horizon (buildings, etc.). Raw VGA data (8bpp, no header or image size), I think.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Wrong way&amp;quot; info – *.pos ===&lt;br /&gt;
&lt;br /&gt;
The same as the background layer (&amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;) except that instead of one byte per tile (8-bit number) there are two bytes per tile (16-bit number).  So effectively every tile position has a 16-bit number starting at 1 and increasing as you get closer to the end of the track.  The &#039;wrong way&#039; message only flashes on the screen when the player moves to a tile location with a smaller number.  Since the files that ship with the game are fairly coarse in this regard (only using numbers 0-30, and fairly large blocks of the map sharing the same number), there is some delay between successive &#039;wrong way&#039; messages when driving around the track at low speed in the wrong direction.&lt;br /&gt;
&lt;br /&gt;
=== Road path – *.rd ===&lt;br /&gt;
&lt;br /&gt;
The &#039;road&#039; files control the paths the computer players drive.  The file begins with a [[UINT16LE]] containing the number of objects in the file, followed by that many objects.  Each object is in the following structure:&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]] hereX || X-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] hereY || Y-coordinate of current position&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] targetX || X-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] targetY || Y-coordinate of next destination&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] angle || The angle given by the two (X, Y) pairs above in seemingly arbitrary units. See below.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] compass_direction || Direction to face. Range is 0x00–0x07. 0x00 = S, 0x01 = SW, 0x02 = W, up to 0x07 = SE.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] distance || Distance between &#039;here&#039; point and &#039;target&#039; point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It appears that the computer players do not deviate from the paths set in the &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==== Calculating the angle ====&lt;br /&gt;
&lt;br /&gt;
For angles, north is taken to be at the top of the map. The +Y direction points down, or to the south.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; field is in units of degrees times 16/3 and is always positive: it ranges from 0 ≤ &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; &amp;lt; 1920 (in decimal). The angle is zero when driving in the +X direction (due east). The +Y direction (south) is 480, west is 960, north is 1440, etc.&lt;br /&gt;
&lt;br /&gt;
This angle can be calculated from the X and Y positions as follows:&lt;br /&gt;
&lt;br /&gt;
 angle = atan2(targetY-hereY, targetX-hereX)/π*960;&lt;br /&gt;
 if (angle &amp;lt; 0) angle = angle + 1920;&lt;br /&gt;
&lt;br /&gt;
==== Calculating the compass direction ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; field can be calculated from the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt;. Since the &amp;lt;tt&amp;gt;angle&amp;lt;/tt&amp;gt; variable divides a circle into 1920 units and &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt; divides a circle into 8 units, the conversion is&lt;br /&gt;
 compass_direction = (angle/240 + 6) % 8&lt;br /&gt;
where you use floating point division and then truncate the result in parentheses to an int. Rounding the result instead of truncating would probably also work.&lt;br /&gt;
&lt;br /&gt;
Instead of calculating &amp;lt;tt&amp;gt;compass_direction&amp;lt;/tt&amp;gt;, you can set the variable any way you like, so that the computer players drive backwards, skid in the turns, spin, etc. If you hit a driver facing you, it counts as a head on collision, even if you are both traveling the same direction.&lt;br /&gt;
&lt;br /&gt;
==== Calculating the distance ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; field can be calculated as:&lt;br /&gt;
&lt;br /&gt;
 sqrt((targetX - hereX)^2 + (targetY - hereY)^2)&lt;br /&gt;
&lt;br /&gt;
Note that decimals are truncated, not rounded (i.e. in C, the result is simply cast to an int.)&lt;br /&gt;
&lt;br /&gt;
=== Tile properties – *.sin ===&lt;br /&gt;
&lt;br /&gt;
The structs in *.sin are 12 bytes long and arranged like this:&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]] prop0_active || boolean telling if prop0 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1_active || boolean telling if prop1 should be considered&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT32LE]] prop0        || properties for color 0 in f_ma#.pcx&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] prop1        || properties for color 1 in f_ma#.pcx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I think the boolean values can always be set to 1; the property won’t be used unless it’s selected in the appropriate a_ma*.pcx file. The properties select what type of ground or water that tile will be. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt gamedata.txt] for a listing that looks promising.&lt;br /&gt;
&lt;br /&gt;
=== Where objects are placed – *.spw ===&lt;br /&gt;
&lt;br /&gt;
Bytes 0–1 are a [[UINT16LE]] giving how many 12-byte structs follow:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] objectid || Index of the &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file to read for the graphics. See [[Wacky Wheels#Sprites|Sprites]] for a list.&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] xcoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] ycoord   || 0–2048&lt;br /&gt;
|-&lt;br /&gt;
| [[UINT16LE]] unknown  || Unknown; always zero&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] unknown || Unknown; always zero. Setting this number to something other than zero causes the game to cycle through many graphics. Setting it to a small negative number causes it to cycle a few times and then stop on its normal graphic.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
See [[Wacky Wheels#Tools|Wacky Wheels Tools]] for a listing of viewers and editors for data in this format.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This format was reverse engineered by [http://yellowantphil.com/wacky_wheels/ Phil Carter] and Klas Arvidsson.  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:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3696</id>
		<title>Wacky Wheels</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=Wacky_Wheels&amp;diff=3696"/>
		<updated>2011-09-15T05:02:09Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Tools */ wombat can edit wacky.dat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{GamePage}}&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
This section lists the major file formats used in the game.&lt;br /&gt;
&lt;br /&gt;
* [[DAT Format (Wacky Wheels)|DAT Format]] - compressed group file storing most of the game data&lt;br /&gt;
* [[MID Format]] - game music in MIDI format&lt;br /&gt;
* [[KLM Format]] - game music in Adlib format&lt;br /&gt;
* [[VOC Format]] - sound effects&lt;br /&gt;
* [[B800 Text]] - exit screens&lt;br /&gt;
* [[PCX Format]] - various game graphics&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#Sprites|*.sp]]&amp;lt;/tt&amp;gt; sprites are raw VGA data (8bpp, no header or image size)&lt;br /&gt;
** &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[Wacky Wheels Track Format]] - &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt; are all used to construct each level&lt;br /&gt;
&lt;br /&gt;
==Tile appearance and properties==&lt;br /&gt;
* &#039;&#039;&#039;a_f*.pcx&#039;&#039;&#039;: Tile graphics&lt;br /&gt;
* &#039;&#039;&#039;a_ma*.pcx&#039;&#039;&#039;: Selects tile properties for each pixel in each tile of the tile graphics files&lt;br /&gt;
* &#039;&#039;&#039;$n.gam&#039;&#039;&#039;: Chooses the primary and secondary tile graphics files and property files (among other things) for track $n&lt;br /&gt;
* &#039;&#039;&#039;$n.sin&#039;&#039;&#039;: Sets tile properties 0 and 1 for each tile in track $n&lt;br /&gt;
&lt;br /&gt;
For each track, there are 108 possible tiles to use. The graphics for these tiles are contained in the tile graphics files (a_f*.pcx) (see also [[#Color palettes|Color palettes]]). Each tile graphics file contains 54 tiles. The primary graphics file contains tiles 0–53 and the secondary graphics file contains 54–107. The first tile is in the top left, and they are in order left to right and top to bottom. Tile #1 is the one used outside the track.&lt;br /&gt;
&lt;br /&gt;
The tile properties files (a_ma*.pcx) are laid out in the same way as the graphics files. The colors in any tile must be in the first two positions of the color palette. (The colors assigned to the color palette are not used—only the indices.) In track $n, any pixel in tile $m that is color #0 will have property #0 specified in struct $m of the file $n.sin; similarly for color #1.&lt;br /&gt;
&lt;br /&gt;
See [[Wacky Wheels Track Format]] for the format of the &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
==Color palettes==&lt;br /&gt;
The color palette used in each race is mostly the one set in the primary tile graphics file &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;. This palette is also used when showing the preview map before the race. The palettes set in the other PCX files are not used. However, if color cycling is enabled in &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;, some color indices are assigned to color cycles. An example is the shoreline in regular bronze wheels track 2. Along the shore, the colors cycle between various shades of blue and sometimes brown. These color cycles are selected with their corresponding color index. For &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt;, these indices are 148, 161–164 and 168–175. The colors set in the palette for these indices are used when displaying the preview map, or when color cycles are disabled in the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Map info – *.gam|*.gam]]&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The color palette used in the color cycles is colors 0–76 in the palette of &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt;. The progression of color indices assigned to each color cycle of &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; may be hard-coded into the program. The image in &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; doesn’t seem to be used. There are two 32x32 squares in the image that contain a pattern of color indices from 166–175, although if you blank the entire image, the color cycles work the same as ever. (Change the colors assigned to indices 166–175 to see the pattern.)&lt;br /&gt;
&lt;br /&gt;
Looking at the existing &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt; files, colors 0, 3–4, 10–111, 127–128 and 255 are always the same or nearly the same. You can safely edit any other colors in the palette without affecting the display of the sprites or screen overlays. You can probably find some other colors that are unused, or change the palette colors used in the sprites if you need more colors than that.&lt;br /&gt;
&lt;br /&gt;
Note that the [http://www.gimp.org/ Gimp] doesn’t like having the same color assigned to multiple indices in the palette. For example, if you open &amp;lt;tt&amp;gt;a_f3.pcx&amp;lt;/tt&amp;gt; in the Gimp, and copy and paste the deep water tile (tile #27) to tile #0 (grass), the Gimp will copy the colors over and select the first index in the palette that matches each color. This is definitely not what you want, since some indices are animated. To work around this, I slightly changed the values of some of the colors, so that the Gimp would see them as being unique. There must be a better way to do this, but I don’t know what it is.&lt;br /&gt;
&lt;br /&gt;
== List of file formats ==&lt;br /&gt;
Most of the data files for Wacky Wheels are stored in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;, which is an archive file containing a number of other files. For the file format of &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; itself, see [[DAT Format (Wacky Wheels)|DAT Format]].&lt;br /&gt;
&lt;br /&gt;
=== Files in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ndist&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;slp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;view&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Contains some details for &amp;lt;tt&amp;gt;h*.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ob*.sp&amp;lt;/tt&amp;gt;. Specific contents are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[B800 Text]]. Registered version (&amp;lt;tt&amp;gt;wwreg.bin&amp;lt;/tt&amp;gt;) and shareware (&amp;lt;tt&amp;gt;wwsw.bin&amp;lt;/tt&amp;gt;) exit screens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.bmc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the computer player during demo mode. See [[BMC Format]]. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;trig.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.fx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. File names are &amp;lt;tt&amp;gt;audiohed.fx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;audiot.fx&amp;lt;/tt&amp;gt;; they presumably have to do with the [[VOC Format|VOC]] sound effects.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.gam&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Track data. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.htt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default high score files for single player races. &amp;lt;tt&amp;gt;wac1.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; file, and &amp;lt;tt&amp;gt;wac2.htt&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; file. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.inf&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See [http://yellowantphil.com/wacky_wheels/downloads/gamedata.txt Klas Arvidsson’s notes].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.ing&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown. Looks like an unused default high score file, but the first 59 bytes appear to be something else.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.klm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in AdLib [[KLM Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.m&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Track maps. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.mid&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game music in [[MID Format|MIDI Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See [[#Devil motion – gig.mov|Devil motion]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.ott&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Default time trial high score files. &amp;lt;tt&amp;gt;wac1.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;wac2.ott&amp;lt;/tt&amp;gt; is the default &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt;. See [[#Files not in wacky.dat|Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt;]] for the file format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.par&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Background images for the races (buildings, etc. on the horizon). See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pcx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Game graphics in [[PCX Format]]. Most are self-explanatory. Some files need further explanation:&lt;br /&gt;
* &amp;lt;tt&amp;gt;a_f*.pcx&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ma_f*.pcx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;beach.pcx&amp;lt;/tt&amp;gt; are described in [[#Color palettes|Color palettes]].&lt;br /&gt;
* &amp;lt;tt&amp;gt;blank.pcx&amp;lt;/tt&amp;gt; is used to draw the blue bars in a two-player race that show each racer’s name and number of hedgehogs. The file also contains graphics for each player’s number of lives, but lives aren’t used for two-player races. This area of the image is replaced with a blue bar in the game.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.pos&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Determines which direction is the wrong way in a race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.rd&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | The course followed by the computer players in each race. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.sdx&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the properties of each type of tile. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | [[#Sprites|Sprites]]. See also &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; in this table.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.spw&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFFFCC;&amp;quot; | Where objects are placed on the map. See [[Wacky Wheels Track Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sets the top speed and acceleration curve for the human players. See [[#Changing go kart/lawnmower speed – *.tab|Changing go kart/lawnmower speed]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;*.voc&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Sound effects in [[VOC Format]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;map.xy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #FFCCCC;&amp;quot; | Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files not in &amp;lt;tt&amp;gt;wacky.dat&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!File name!!Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | Generated by &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Contains settings selected in &amp;lt;tt&amp;gt;setup.exe&amp;lt;/tt&amp;gt;. Also contains saved games for one- and two-player races. See [http://yellowantphil.com/wacky_wheels/savedgames.php this page] for how to edit saved games.&lt;br /&gt;
&lt;br /&gt;
The program wwsave can also edit saved games:&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp C99/C++ source code]&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/downloads/wwsave.exe Windows command line program]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky.dtt&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for the Wacky Duck Shoot. [http://yellowantphil.com/wacky_wheels/duckshoot.php Editing duck shoot high scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.hi&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for one-player races. &amp;lt;tt&amp;gt;wacky1.hi&amp;lt;/tt&amp;gt; contains high scores for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.hi&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/1player.php Editing single player race scores]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;wacky*.tim&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC;&amp;quot; | High scores for time trials. &amp;lt;tt&amp;gt;wacky1.tim&amp;lt;/tt&amp;gt; is for 12 hp engines, and &amp;lt;tt&amp;gt;wacky2.tim&amp;lt;/tt&amp;gt; is for 6 hp engines. [http://yellowantphil.com/wacky_wheels/timetrial.php Editing time trial scores]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous File Formats ==&lt;br /&gt;
=== Changing go kart/lawnmower speed – &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The files &amp;lt;tt&amp;gt;*.tab&amp;lt;/tt&amp;gt; set the player speeds for 12 hp and 6 hp engines: &amp;lt;tt&amp;gt;vel.tab&amp;lt;/tt&amp;gt; is for 12 hp engines and &amp;lt;tt&amp;gt;vel2.tab&amp;lt;/tt&amp;gt; is for 6 hp engines. Each file contains 200 [[INT16LE]] integers that designate the human player’s go kart/lawnmower speed as it accelerates. The first number is presumably zero, and the last number is the top speed (80 mph by default for 12 hp engines). The computer players will automatically adjust their speed to be competitive with you.&lt;br /&gt;
&lt;br /&gt;
You drive backwards if you set the speeds to be negative.  So far, I have only set speeds in a linear progression, but other curves should be possible. The in-game speedometer can only read to 99 mph, but you can try to drive as fast as 32,767 mph if you want to. (Good luck.)&lt;br /&gt;
&lt;br /&gt;
=== Devil motion – &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt; ===&lt;br /&gt;
The devil that appears at the end of the last lap, and the devils that pop up in two–player races when you hit the “giggle keys,” all move according to the data in &amp;lt;tt&amp;gt;gig.mov&amp;lt;/tt&amp;gt;. The first two bytes in the file are a [[UINT16LE]] integer giving the number of structs that follow minus one (i.e., there is one more struct in the file than you would think). The default length integer is 0x50, designating 0x51 or 81 structs. You can set the length lower (down to zero), but if you set it longer, the game might crash or act erratically.&lt;br /&gt;
&lt;br /&gt;
Each struct is 4 bytes long and contains a signed (X, Y) pair of coordinates:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Xpos || X-position of the devil relative to its default position (off to the right for the last lap devil, and in the middle of the screen for the other devils). The positive direction is to the right.&lt;br /&gt;
|-&lt;br /&gt;
| [[INT16LE]] Ypos || Y-position of the devil relative to its default position. The positive direction is down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The game shows the devil at each (X, Y) position for about 0.1 seconds. Once there are no more (X, Y) pairs, the devil disappears in a puff of smoke.&lt;br /&gt;
&lt;br /&gt;
== Sprites ==&lt;br /&gt;
&lt;br /&gt;
These tables list what sprites are in each &amp;lt;tt&amp;gt;*.sp&amp;lt;/tt&amp;gt; file. The sprites are raw VGA data (8bpp, no header or image size).&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;tt&amp;gt;sprite.atr&amp;lt;/tt&amp;gt; contains additional data for these files, but what data is stored is still unknown.&lt;br /&gt;
&lt;br /&gt;
To place an object on the track, use the index listed in one of the &amp;lt;tt&amp;gt;[[Wacky Wheels Track Format#Where objects are placed – *.spw|*.spw]]&amp;lt;/tt&amp;gt; files. The files &amp;lt;tt&amp;gt;h3.sp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;h13.sp&amp;lt;/tt&amp;gt; do not exist, so are skipped in the index.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: left;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;tt&amp;gt;h1.sp&amp;lt;/tt&amp;gt; || Matchbox&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;tt&amp;gt;h2.sp&amp;lt;/tt&amp;gt; || Newspaper hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;tt&amp;gt;h4.sp&amp;lt;/tt&amp;gt; || Sweeping hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;tt&amp;gt;h5.sp&amp;lt;/tt&amp;gt; || Demolition hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;tt&amp;gt;h6.sp&amp;lt;/tt&amp;gt; || Toilet hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;tt&amp;gt;h7.sp&amp;lt;/tt&amp;gt; || Jackhammer hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;tt&amp;gt;h8.sp&amp;lt;/tt&amp;gt; || Dancing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;tt&amp;gt;h9.sp&amp;lt;/tt&amp;gt; || Yo yo hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;tt&amp;gt;h10.sp&amp;lt;/tt&amp;gt; || Machine gun hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;tt&amp;gt;h11.sp&amp;lt;/tt&amp;gt; || Jumping jacks hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;tt&amp;gt;h12.sp&amp;lt;/tt&amp;gt; || Bomb&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;tt&amp;gt;h14.sp&amp;lt;/tt&amp;gt; || Rock pick hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;tt&amp;gt;h15.sp&amp;lt;/tt&amp;gt; || Devil pups&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;tt&amp;gt;h16.sp&amp;lt;/tt&amp;gt; || Oil can&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;tt&amp;gt;h17.sp&amp;lt;/tt&amp;gt; || Guard hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;tt&amp;gt;h18.sp&amp;lt;/tt&amp;gt; || Bouncing ball hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;tt&amp;gt;h19.sp&amp;lt;/tt&amp;gt; || Golfing hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;tt&amp;gt;h20.sp&amp;lt;/tt&amp;gt; || Upside down hog (item pickup)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;tt&amp;gt;h21.sp&amp;lt;/tt&amp;gt; || Dice hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;tt&amp;gt;h22.sp&amp;lt;/tt&amp;gt; || Weightlifting hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;tt&amp;gt;h23.sp&amp;lt;/tt&amp;gt; || Backflip hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;tt&amp;gt;h24.sp&amp;lt;/tt&amp;gt; || Trench coat hedgehog&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;tt&amp;gt;h25.sp&amp;lt;/tt&amp;gt; || Pool hedgehog&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Index !! File name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;tt&amp;gt;ob1.sp&amp;lt;/tt&amp;gt; || Stack of tires&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;tt&amp;gt;ob2.sp&amp;lt;/tt&amp;gt; || One cattail plant&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;tt&amp;gt;ob3.sp&amp;lt;/tt&amp;gt; || Wooden pole with white and red stripes&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;tt&amp;gt;ob4.sp&amp;lt;/tt&amp;gt; || Cactus&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;tt&amp;gt;ob5.sp&amp;lt;/tt&amp;gt; || Red barrel&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;tt&amp;gt;ob6.sp&amp;lt;/tt&amp;gt; || Yellow barrel&lt;br /&gt;
|-&lt;br /&gt;
| 29 || &amp;lt;tt&amp;gt;ob7.sp&amp;lt;/tt&amp;gt; || Green barrell&lt;br /&gt;
|-&lt;br /&gt;
| 30 || &amp;lt;tt&amp;gt;ob8.sp&amp;lt;/tt&amp;gt; || Tires stacked over wooden pole&lt;br /&gt;
|-&lt;br /&gt;
| 31 || &amp;lt;tt&amp;gt;ob9.sp&amp;lt;/tt&amp;gt; || Three cattail plants&lt;br /&gt;
|-&lt;br /&gt;
| 32 || &amp;lt;tt&amp;gt;ob10.sp&amp;lt;/tt&amp;gt; || Yellow and gray striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 33 || &amp;lt;tt&amp;gt;ob11.sp&amp;lt;/tt&amp;gt; || Yellow and red striped pole&lt;br /&gt;
|-&lt;br /&gt;
| 34 || &amp;lt;tt&amp;gt;ob12.sp&amp;lt;/tt&amp;gt; || Bush&lt;br /&gt;
|-&lt;br /&gt;
| 35 || &amp;lt;tt&amp;gt;ob13.sp&amp;lt;/tt&amp;gt; || Wooden pole&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Wacky Wheels does not read files from the current directory first, before falling back to &amp;lt;tt&amp;gt;WACKY.DAT&amp;lt;/tt&amp;gt;.  This means any modified files must be packaged up into the DAT file before they can be tested.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=game}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Edit&lt;br /&gt;
| gfx = Edit&lt;br /&gt;
| mus = Edit&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| grp = Edit&lt;br /&gt;
| map = Read&lt;br /&gt;
| gfx = Read&lt;br /&gt;
| mus = Read&lt;br /&gt;
| sfx = Read&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://yellowantphil.com/wacky_wheels/downloads/wwsave.cpp wwsave]&lt;br /&gt;
| Platform = Win/Linux/Mac console&lt;br /&gt;
| grp = No&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = Edit&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor Wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| grp = Read&lt;br /&gt;
| map = No&lt;br /&gt;
| gfx = No&lt;br /&gt;
| mus = No&lt;br /&gt;
| sfx = No&lt;br /&gt;
| txt = No&lt;br /&gt;
| sav = No&lt;br /&gt;
| exe = No&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://yellowantphil.com/wacky_wheels/wackydat.php Phil’s Wacky Wheels site] (some modding info)&lt;br /&gt;
&lt;br /&gt;
[[Category:Apogee]]&lt;br /&gt;
[[Category:3D]]&lt;br /&gt;
[[Category:Driving]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
	<entry>
		<id>https://moddingwiki.shikadi.net/w/index.php?title=DAT_Format_(Wacky_Wheels)&amp;diff=3695</id>
		<title>DAT Format (Wacky Wheels)</title>
		<link rel="alternate" type="text/html" href="https://moddingwiki.shikadi.net/w/index.php?title=DAT_Format_(Wacky_Wheels)&amp;diff=3695"/>
		<updated>2011-09-15T04:53:11Z</updated>

		<summary type="html">&lt;p&gt;Yellowantphil: /* Tools */ Wombat can replace files in wacky.dat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;DAT format&#039;&#039;&#039; is used to store most of the data for [[Wacky Wheels]].  Unfortunately the format has no signature and a generic filename extension (.dat) so automatic detection of these files is difficult.&lt;br /&gt;
&lt;br /&gt;
Wacky Wheels does not check the current directory for files before falling back to the DAT file, so any changed files must be merged into the DAT file before the game will see them.&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
=== Signature ===&lt;br /&gt;
&lt;br /&gt;
There is no signature for this format.  One method to identify files is to read in the file entries (failing if the end of the file is reached early) and confirm that each filename only consists of ASCII characters or nulls, and each file offset plus its size is less than the total size of the DAT file.  It is extremely unlikely that this method would incorrectly identify a file.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
The file starts with a single field indicating the number of files present.&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 numFiles||File count&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== File entry ===&lt;br /&gt;
&lt;br /&gt;
After the two-byte header, the following structure is repeated &amp;lt;tt&amp;gt;numFiles&amp;lt;/tt&amp;gt; times.  As each entry includes both an offset and a size, it is possible (in theory) for two different files to share the same data, and to insert &amp;quot;hidden&amp;quot; data between files.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|BYTE filename[14]||Filename (8.3, 12 chars including dot, null padded to 14 chars)&lt;br /&gt;
|-&lt;br /&gt;
|UINT32LE size||File size&lt;br /&gt;
|-&lt;br /&gt;
|UINT32LE offset||File offset (see below)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file offsets don&#039;t include the two-byte file count in the header, so an &amp;lt;tt&amp;gt;offset&amp;lt;/tt&amp;gt; of 10 means the file actually starts at 12 bytes from the beginning of the DAT file.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
{{BeginFileFormatTools|Type=group}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Camoto]]&lt;br /&gt;
| Platform = Linux console/GUI&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = Yes&lt;br /&gt;
| canModify = Yes&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [[Wombat]]&lt;br /&gt;
| Platform = Windows GUI&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = No&lt;br /&gt;
| canModify = Yes&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{FileFormatTool&lt;br /&gt;
| Name = [http://sfprod.shikadi.net/old/games/wackywheels.htm#extractor wextract]&lt;br /&gt;
| Platform = DOS&lt;br /&gt;
| canExtract = Yes&lt;br /&gt;
| canDecompress = N/A&lt;br /&gt;
| canCreate = No&lt;br /&gt;
| canModify = No&lt;br /&gt;
| canCompress = N/A&lt;br /&gt;
| editHidden = No&lt;br /&gt;
| editMetadata = N/A&lt;br /&gt;
}}&lt;br /&gt;
{{EndFileFormatTools}}&lt;br /&gt;
&lt;br /&gt;
[[Category:File Formats]]&lt;br /&gt;
[[Category:Group Files]]&lt;br /&gt;
[[Category:Group Files supporting hidden data]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All the games that use this file format --&amp;gt;&lt;br /&gt;
[[Category:Wacky Wheels]]&lt;/div&gt;</summary>
		<author><name>Yellowantphil</name></author>
	</entry>
</feed>