<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=BOL_%28File_Format%29</id>
	<title>BOL (File Format) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=BOL_%28File_Format%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=BOL_(File_Format)&amp;action=history"/>
	<updated>2026-05-06T16:59:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.wexosmk.xyz/index.php?title=BOL_(File_Format)&amp;diff=136&amp;oldid=prev</id>
		<title>Wexos: Imported from avsys wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=BOL_(File_Format)&amp;diff=136&amp;oldid=prev"/>
		<updated>2024-05-01T17:17:21Z</updated>

		<summary type="html">&lt;p&gt;Imported from avsys wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;BOL&amp;#039;&amp;#039;&amp;#039; is a file format used in [[Mario Kart Double Dash!!]]. It contains basic information about a course such as CPU routes and check points.&lt;br /&gt;
&lt;br /&gt;
= File Format =&lt;br /&gt;
== Header ==&lt;br /&gt;
The format starts with the following header:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Char[4] || &amp;#039;&amp;#039;&amp;#039;File identifier&amp;#039;&amp;#039;&amp;#039;. Always &amp;#039;&amp;#039;0015&amp;#039;&amp;#039; in ASCII.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || Byte || &amp;#039;&amp;#039;&amp;#039;Tilt&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Disabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || Tilt skybox and items&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || Tilt everything&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 || Byte[3] || &amp;#039;&amp;#039;&amp;#039;Ambient color&amp;#039;&amp;#039;&amp;#039; in RGB format.&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || Byte[4] || &amp;#039;&amp;#039;&amp;#039;Light color&amp;#039;&amp;#039;&amp;#039; in RGBA format.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Float[3] || &amp;#039;&amp;#039;&amp;#039;Light position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Byte || &amp;#039;&amp;#039;&amp;#039;Lap count&amp;#039;&amp;#039;&amp;#039;. If zero is specified, the track will have 3 laps.&lt;br /&gt;
|-&lt;br /&gt;
| 0x19 || Byte || &amp;#039;&amp;#039;&amp;#039;[[Mario Kart Double Dash/Slot|Music ID]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Route|routes]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Check Path|check paths]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1E || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Object|objects]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Area|areas]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x22 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Camera|cameras]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Path|paths]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x26 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Number of [[#Respawn Point|respawn points]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28 || Byte || &amp;#039;&amp;#039;&amp;#039;Fog type&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x29 || Byte[3] || &amp;#039;&amp;#039;&amp;#039;Fog color&amp;#039;&amp;#039;&amp;#039; in RGB format.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C || Float || &amp;#039;&amp;#039;&amp;#039;Fog start&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || Float || &amp;#039;&amp;#039;&amp;#039;Fog end&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x35 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x36 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || Byte[3] || &amp;#039;&amp;#039;&amp;#039;Shadow color&amp;#039;&amp;#039;&amp;#039; in RGB format.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3B || Byte || &amp;#039;&amp;#039;&amp;#039;Number of [[#Start Point|start points]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3D || Byte || &amp;#039;&amp;#039;&amp;#039;Number of [[#Light|lights]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E || Byte || &amp;#039;&amp;#039;&amp;#039;Number of [[#Mini Game Parameter|mini game parameters]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3F || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x40 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x44 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Route|Route]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Check Path|Check path]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Path|Path]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Path Point|Path point]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Object|Object]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x58 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Start Point|Start point]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Area|Area]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x60 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Camera|Camera]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Respawn Point|Respawn point]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x68 || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Light|Light]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C || UInt32 || &amp;#039;&amp;#039;&amp;#039;[[#Mini Game Parameter|Mini game parameter]] array offset&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x70 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x74 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x78 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Route ==&lt;br /&gt;
Routes are sequences of points which CPUs and items follow. Each entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt16 || &amp;#039;&amp;#039;&amp;#039;Setting A&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E || UInt16 || &amp;#039;&amp;#039;&amp;#039;Group link&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || Float || &amp;#039;&amp;#039;&amp;#039;Point scale&amp;#039;&amp;#039;&amp;#039;. Controls how far CPUs and items can leave the route.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x15 || Byte || &amp;#039;&amp;#039;&amp;#039;Enter&amp;#039;&amp;#039;&amp;#039;. CPUs and items can enter (0) or only items can enter (1).&lt;br /&gt;
|-&lt;br /&gt;
| 0x16 || Byte || &amp;#039;&amp;#039;&amp;#039;Route index&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x17 || Byte || &amp;#039;&amp;#039;&amp;#039;Setting B&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x19 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Check Path ==&lt;br /&gt;
The check point groups, called check paths, are stored first. Each entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Path length&amp;#039;&amp;#039;&amp;#039;. Number of [[#Check Point|point]] in the check path.&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt16[4] || &amp;#039;&amp;#039;&amp;#039;Previous check paths&amp;#039;&amp;#039;&amp;#039;. 0xFFFF means no previous check path.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt16[4] || &amp;#039;&amp;#039;&amp;#039;Next check paths&amp;#039;&amp;#039;&amp;#039;. 0xFFFF means no next check path.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Check Point ===&lt;br /&gt;
After the check paths, all check points are stored. Each point has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Left position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Float[3] || &amp;#039;&amp;#039;&amp;#039;Right position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Byte || &amp;#039;&amp;#039;&amp;#039;Skip group&amp;#039;&amp;#039;&amp;#039;. If a number of consecutive check points are set to the same group, those check points are allowed to be skipped until a check point with a zero group. Zero group is default and means no check point is allowed to be skipped.&lt;br /&gt;
|-&lt;br /&gt;
| 0x19 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. 1 is seen in Luigi Circuit, probably has something to do with the ability to drive in both directions on the track.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Path ==&lt;br /&gt;
Paths are generic routes, which contains a list of points. They are linked by other resources in a BOL file such as [[#Object|objects]]. Each path has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Path length&amp;#039;&amp;#039;&amp;#039;. Number of [[#Path Point|path points]] in the path.&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Path start&amp;#039;&amp;#039;&amp;#039;. Index of the first [[#Path Point|path point]] in the path.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt32 || &amp;#039;&amp;#039;&amp;#039;Is closed&amp;#039;&amp;#039;&amp;#039;. Determines the next point after reaching the end. 0 means the path is followed back and forth, 1 means the path goes from the end point to the start point.&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x09 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x0A || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Path Point ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Object ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Float[3] || &amp;#039;&amp;#039;&amp;#039;Scale&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Int16[2][3] || &amp;#039;&amp;#039;&amp;#039;Rotation&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[Mario Kart Double Dash/Object|Object ID]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x26 || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Path|Path index]]&amp;#039;&amp;#039;&amp;#039;. 0xFFFF for no linked path.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2A || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;, but related to path. 0xFFFF when no path is linked.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2D || Byte || &amp;#039;&amp;#039;&amp;#039;Presence&amp;#039;&amp;#039;&amp;#039; mode. Describes in what game modes the object should be loaded.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || None&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || Single-player (not time trials)&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || Multi-player&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 || All game modes&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || Byte || &amp;#039;&amp;#039;&amp;#039;Visibility&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || UInt16[8] || Object-specific &amp;#039;&amp;#039;&amp;#039;settings&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Start Point ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Float[3] || &amp;#039;&amp;#039;&amp;#039;Scale&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Int16[2][3] || &amp;#039;&amp;#039;&amp;#039;Rotation&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || Byte || &amp;#039;&amp;#039;&amp;#039;Pole position&amp;#039;&amp;#039;&amp;#039;. Left (0) or Right (1).&lt;br /&gt;
|-&lt;br /&gt;
| 0x25 || Byte || &amp;#039;&amp;#039;&amp;#039;Player ID&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x26 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
Area are used to perform tasks depending on where the player are. Each entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Float[3] || &amp;#039;&amp;#039;&amp;#039;Scale&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Int16[2][3] || &amp;#039;&amp;#039;&amp;#039;Rotation&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || Byte || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x25 || Byte || &amp;#039;&amp;#039;&amp;#039;Area type&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x26 || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Camera|Camera]] index&amp;#039;&amp;#039;&amp;#039;. 0xFFFF for no linked camera.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28 || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C || UInt32 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x32 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x34 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Shadow index&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x36 || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Light|Light]] index&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Area types&lt;br /&gt;
The following area types are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || Camera activator. Changes the replay camera.&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x06 || ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 || ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
Cameras are used give a view of track. There are both intro cameras and replay cameras. Each entry has the following structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Int16[2][3] || &amp;#039;&amp;#039;&amp;#039;Rotation&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Float[3] || &amp;#039;&amp;#039;&amp;#039;End position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Start position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || UInt16 ||  &amp;#039;&amp;#039;&amp;#039;Camera type&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x32 || Int16 || &amp;#039;&amp;#039;&amp;#039;FOV start&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Time duration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x36 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Is first opening camera&amp;#039;&amp;#039;&amp;#039;. Used to identify the first opening camera to play.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3A || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Path|Path]] index&amp;#039;&amp;#039;&amp;#039;. 0xFFFF if no path linked.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E || UInt16 || &amp;#039;&amp;#039;&amp;#039;Path speed&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40 || Int16 || &amp;#039;&amp;#039;&amp;#039;FOV end&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x42 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Next camera&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44 || Char[4] || &amp;#039;&amp;#039;&amp;#039;Camera tag&amp;#039;&amp;#039;&amp;#039;, used to identify specific cameras. &amp;quot;null&amp;quot; is used as default, meaning no tag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Camera types&lt;br /&gt;
Many different camera types are supported. The camera type seems to be different depending on the context, although this have no been confirmed. Some types also seem to have optional path support. The following types are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Name !! Route !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0000 || Fix || {{No|No}} || Static camera which from its position always look forward.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0001 || FixPath/StartOnlyPath || {{Yes|Yes}} || Opening camera which follows a path, always looking forward.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002 || FixChase || {{No|No}} || Camera which starts at its position, then moves with the player, always looking forward.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0003 || FixSpl || {{Yes|Yes}} || Static camera which from the first path point always look forward. Code states that the path should contain four points.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0004 || StartFixPath || {{Yes|Yes}} || Opening camera which follows a path, looking at start.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0005 || DemoPath/StartPath || {{Yes|Yes}} || Opening camera which follows a path, looking at start and shifts to end.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0006 || StartLookPath || {{No|No}} || Opening camera which from its position looks at start and shifts to end.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0007 || FixPala || {{No|No}} || Camera, with the player as the origin, looks from start to end. The start and end vectors seem to be stored in a different coordinate system. X is mirrored, Y represents the negative depth and Z represents the height.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0008 || DemoGoal* || {{No|No}} || Used for camera with tag &amp;quot;para&amp;quot;.  With the player as origin, it looks from start to end.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0100 || FixSearch || {{No|No}} || Static camera which from its position always look at the player.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0101 || ChasePath || {{Yes|Yes}} || Camera which follows a path, always looking at the player.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0102 || Chase || {{No|No}} || Camera which starts at its position, then moves with the player, always looking at the player.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0103 || ChaseSpl || {{Yes|Yes}} || Static camera which from the first path point always look at the player.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
; Camera Tags&lt;br /&gt;
The following camera tags are used:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
| chie || ?&lt;br /&gt;
|-&lt;br /&gt;
| cour || ?&lt;br /&gt;
|-&lt;br /&gt;
| debu || ?&lt;br /&gt;
|-&lt;br /&gt;
| desi || ?&lt;br /&gt;
|-&lt;br /&gt;
| dire || ?&lt;br /&gt;
|-&lt;br /&gt;
| down || ?&lt;br /&gt;
|-&lt;br /&gt;
| endd || ?&lt;br /&gt;
|-&lt;br /&gt;
| exec || ?&lt;br /&gt;
|-&lt;br /&gt;
| farr || ?&lt;br /&gt;
|-&lt;br /&gt;
| firs || ?&lt;br /&gt;
|-&lt;br /&gt;
| fron || ?&lt;br /&gt;
|-&lt;br /&gt;
| grap || ?&lt;br /&gt;
|-&lt;br /&gt;
| item || ?&lt;br /&gt;
|-&lt;br /&gt;
| last || ?&lt;br /&gt;
|-&lt;br /&gt;
| loca || ?&lt;br /&gt;
|-&lt;br /&gt;
| lose || ?&lt;br /&gt;
|-&lt;br /&gt;
| mare || ?&lt;br /&gt;
|-&lt;br /&gt;
| mari || ?&lt;br /&gt;
|-&lt;br /&gt;
| mini || ?&lt;br /&gt;
|-&lt;br /&gt;
| mont || ?&lt;br /&gt;
|-&lt;br /&gt;
| musi || ?&lt;br /&gt;
|-&lt;br /&gt;
| next || ?&lt;br /&gt;
|-&lt;br /&gt;
| null || Default, not special tag.&lt;br /&gt;
|-&lt;br /&gt;
| open || ?&lt;br /&gt;
|-&lt;br /&gt;
| para || Camera which is used a few seconds after reaching the goal line.&lt;br /&gt;
|-&lt;br /&gt;
| park || ?&lt;br /&gt;
|-&lt;br /&gt;
| prdi || ?&lt;br /&gt;
|-&lt;br /&gt;
| prma || ?&lt;br /&gt;
|-&lt;br /&gt;
| prod || ?&lt;br /&gt;
|-&lt;br /&gt;
| prog || ?&lt;br /&gt;
|-&lt;br /&gt;
| ring || ?&lt;br /&gt;
|-&lt;br /&gt;
| scre || ?&lt;br /&gt;
|-&lt;br /&gt;
| spec || ?&lt;br /&gt;
|-&lt;br /&gt;
| topp || ?&lt;br /&gt;
|-&lt;br /&gt;
| voic || ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Respawn Point ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Int16[2][3] || &amp;#039;&amp;#039;&amp;#039;Rotation&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Index&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Route|Route]] index&amp;#039;&amp;#039;&amp;#039;. 0xFFFF for no linked route.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1E || UInt16 || &amp;#039;&amp;#039;&amp;#039;[[#Check Point|Check point]] index&amp;#039;&amp;#039;&amp;#039;. 0xFFFF for no linked check point.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Light ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Byte[4] || &amp;#039;&amp;#039;&amp;#039;Light color&amp;#039;&amp;#039;&amp;#039; in RGBA format.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || Float[3] || &amp;#039;&amp;#039;&amp;#039;Light position&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || Byte[4] || &amp;#039;&amp;#039;&amp;#039;Ambient color&amp;#039;&amp;#039;&amp;#039; in RGBA format.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mini Game Parameter ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x06 || UInt16 || {{Unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
The following tools can handle BOL files:&lt;br /&gt;
* BOL Editor, by NiAlBlack&lt;br /&gt;
* [https://github.com/shibbo/DouBOL-Dash DouBol-Dash], by Shibboleet&lt;br /&gt;
&lt;br /&gt;
[[Category:Mario Kart Double Dash File Formats]]&lt;/div&gt;</summary>
		<author><name>Wexos</name></author>
	</entry>
</feed>