<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gtamods.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tomas.</id>
	<title>GTAMods Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://gtamods.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tomas."/>
	<link rel="alternate" type="text/html" href="https://gtamods.com/wiki/Special:Contributions/Tomas."/>
	<updated>2026-04-06T16:12:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Item_Definition&amp;diff=17984</id>
		<title>Item Definition</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Item_Definition&amp;diff=17984"/>
		<updated>2019-05-31T06:51:31Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IdeSection&lt;br /&gt;
| noheader = 1&lt;br /&gt;
}}&lt;br /&gt;
'''Item definition''' files, usually identified by the file extension &amp;lt;code&amp;gt;.ide&amp;lt;/code&amp;gt;, are used to declare many different aspects for the map system or to specify special behaviour rules for one of the aspects.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The files are in plain text format so it can be opened with any text editor (like [[wikipedia:Microsoft Notepad|Notepad]]). The files are split up into several sections. There is no order on how you arrange the sections and sections do not need to appear in the file. Line comments are indicated by the character &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; (number sign) and empty lines are allowed. They can be placed anywhere in the file. The game reads up to a maximum of 256 characters for each line and ignores the rest if the line is longer. Each section starts with a section identifier (usually four characters long, e.g. &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt;, etc.) indicating how the content of the section gets interpreted by the game. The identifier is followed by the definition entries. Each entry takes up one line and follows a specific format which are described in the articles handling the sections in detail below. The end of any section is indicated by the terminating string &amp;lt;code&amp;gt;end&amp;lt;/code&amp;gt;. Both the section identifier and terminating string are case sensitive. Lines within sections are always formatted in the same way differing only in the number of parameters describing the semantical content of the line. Data in each entry are usually separated by the character &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (comma) but can be separated by &amp;lt;code&amp;gt; &amp;lt;/code&amp;gt;&amp;amp;nbsp;(space). Extra tabs and spaces anywhere in the beginning of the line, between data, or after the data are omitted by the game and can be used to improve readability for human eyes. The games' parser uses an invariant culture to parse numerical values and strings, which means strings are [[Wikipedia:ASCII|ASCII]] encrypted and the decimal separator is &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (period).&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
# line comment&lt;br /&gt;
objs&lt;br /&gt;
# default style in objs section&lt;br /&gt;
200, ind_land101, pjs, 1, 127, 0&lt;br /&gt;
# valid style&lt;br /&gt;
	    200 ind_land101 pjs 1 127 0 # unread data&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The following table contains all known sections in the item definition. The supported games column lists games that support the sections but it doesn't necessarily means they're functional in the games.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 7em;&amp;quot;|Section&lt;br /&gt;
!style=&amp;quot;width: 8em;&amp;quot;|Supported games&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[OBJS|objs]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines simple objects. They can be placed into the world through the &amp;lt;code&amp;gt;[[INST|inst]]&amp;lt;/code&amp;gt; section of the [[IPL|item placement files]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TOBJ|tobj]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines time objects. The section functions similarly to &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt; but has two additional parameters defining the in-game time range the object can get rendered. These objects can be placed into the world through the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the item placement files.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HIER|hier]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines clump objects for use in cutscenes.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[CARS (IDE Section)|cars]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines vehicle objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[PEDS|peds]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines pedestrian objects (random [[wikipedia:Non-player character|NPC's]]).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[PATH (IDE Section)|path]]&amp;lt;/code&amp;gt;||{{Icon|3}} {{Icon|VC|16||Vice City (unstable)}} {{Icon|SA}}||Adds path nodes to defined objects. This section is unstable in Vice City.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[2DFX|2dfx]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Adds particle effects and simple ped behaviors to defined objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[WEAP|weap]]&amp;lt;/code&amp;gt;||{{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Defines weapon objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[ANIM|anim]]&amp;lt;/code&amp;gt;||{{Icon|SA}} {{Icon|4}}||Defines animated objects. The section functions similarly to &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt; but has one additional parameter indicating an [[IFP]] or [[WAD]] animation file to assign an animation to the object. These objects can be placed into the world through the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the item placement files.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TXDP|txdp]]&amp;lt;/code&amp;gt;||{{Icon|SA}} {{Icon|4}}||Used to virtually extend [[TXD|texture dictionaries]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TANM|tanm]]&amp;lt;/code&amp;gt;||{{Icon|4}}||Used to combine &amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt; sections.&amp;lt;br&amp;gt;Those objects get placed inside the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the ''WPL''.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TREE|tree]]&amp;lt;/code&amp;gt;||{{Icon|4|16||GTA IV (not functional)}}||This section is not functional.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[VNOD|vnod]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[LINK|link]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[MLO|mlo]]&amp;lt;/code&amp;gt;||{{Icon|4}}||Used to create [[interior]]s. This section does also contain information about portals (previous &amp;lt;code&amp;gt;[[ENEX|enex]]&amp;lt;/code&amp;gt; connections) and dimensions of the interior which influences certain aspects, like the weather, for example. All objects are placed relative to an offset placed using &amp;lt;code&amp;gt;[[MLO+|mlo+]]&amp;lt;/code&amp;gt; inside the [[IPL]] or [[WPL]] file.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[AMAT|amat]]&amp;lt;/code&amp;gt;||{{Icon|4}}||This is Audio Materials. Possible Used to make a sound effect at the model. Usually used for dynamic objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[LODM|lodm]]&amp;lt;/code&amp;gt;||{{Icon|4|16||GTA IV (not functional)}}||This section is not functional.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[AGRPS|agrps]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HAND|hand]]&amp;lt;/code&amp;gt;||VC Xbox/Mobile||&amp;amp;ndash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IDE Flags ==&lt;br /&gt;
&lt;br /&gt;
Flags are used in order to specify the behaviour of objects. They are interpreted as signed 32-bit integer values where each bit describes a [[wikipedia:Boolean_algebra_(logic)|boolean]] value of a different aspect.&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|3}} GTA III ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || - || Cull model if player doesn't look at it? Read, but ignored. || Fences&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2{{ref|1}} || 0x2 || DO_NOT_FADE || Do not fade the object when it is being loaded into or out of view. || Some lampposts&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4{{ref|1}} || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag must be enabled too. || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16{{ref|1}} || 0x10 || IS_SUBWAY || Model is a tunnel, i.e. set the object as invisible unless the player enters [[Cullzone.dat|cull zone flag 128]]. This flag works only with static models. || Tunnels, some dynamic objects&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Don't use static lighting, we want dynamic if it's possible. || Some lampposts and trafficlights&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64{{ref|1}} || 0x40 || NO_ZBUFFER_WRITE || Model is a shadow. Disable writing to z-buffer when rendering it, allowing transparencies of other objects, shadows, and lights to be visible through this object. Not implemented in the PS2 version. || Shadow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|VC}} GTA Vice City ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || Identifies objects to draw &amp;quot;wet reflections&amp;quot; on them. || Roads&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || DO_NOT_FADE || Do not fade the object when it is being loaded into or out of view. || Some night objects, North Point Mall&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Fences, trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag will be enabled automatically. || Night windows&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || - || Read, but not used. || _dy, _dt objects&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Don't use static lighting, we want dynamic if it's possible. || Interior objects&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || Model is a shadow. Disable writing to z-buffer when rendering it, allowing transparencies of other objects, shadows, and lights to be visible through this object. || Tree shadows&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Do not draw dynamic shadows on this object. || Small objects, pickups, lamps, trees&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || IGNORE_DRAW_DISTANCE || Ignore draw distance for this object (sets its &amp;quot;level&amp;quot; (island id) to 0). || LOD models, North Bridge&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Breakable glass type 1: glass object changes its textures when breaking. || Small windows&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Breakable glass type 2: glass object doesn't change its textures when breaking. || Large windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Reference table ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Model info flag !! Ref address !! Ref description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || 0x04 || 0x4CA1D7 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CRenderer::RenderRoads()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (CModelInfo::GetModelInfo(entity-&amp;gt;m_nModelIndex)-&amp;gt;m_nFlags &amp;amp; IS_ROAD)&lt;br /&gt;
    entity-&amp;gt;Render();&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || DO_NOT_FADE || 0x20 || 0x4C7E03 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CRenderer::ShouldModelBeStreamed(CEntity *,CVector const&amp;amp;)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DO_NOT_FADE) {&lt;br /&gt;
    if (distance &amp;gt;= model-&amp;gt;GetLargestLodDistance() + 30.0f)&lt;br /&gt;
        return true;&lt;br /&gt;
}&lt;br /&gt;
else if ( distance &amp;gt;= model-&amp;gt;GetLargestLodDistance() + 50.0f)&lt;br /&gt;
    return true;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || 0x40 || 0x56F4F3 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CSimpleModelInfo::SetupBigBuilding(int,int)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DRAW_LAST) {&lt;br /&gt;
    model-&amp;gt;m_nFlags &amp;amp;= ~DRAW_LAST;&lt;br /&gt;
    dbgprint(&amp;quot;%s was draw last\n&amp;quot;, model-&amp;gt;m_szName);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || 0x80 || 0x582590 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CVisibilityPlugins::RenderFadingAtomic(RpAtomic *,float)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; ADDITIVE)&lt;br /&gt;
    RwRenderStateSet(rwRENDERSTATEDESTBLEND, rwBLENDONE);&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || -  || 0x100 || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || 0x200 || 0x56F7C4 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CSimpleModelInfo::SetAtomic(int,RpAtomic *)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; IGNORE_LIGHTING)&lt;br /&gt;
    atomic-&amp;gt;geometry-&amp;gt;flags &amp;amp;= ~rpGEOMETRYLIGHT;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || 0x400 || 0x581390 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CVisibilityPlugins::RenderFadingEntities(CLinkList&amp;lt;CVisibilityPlugins::AlphaObjectInfo&amp;gt; &amp;amp;)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nType == MODEL_INFO_SIMPLE &amp;amp;&amp;amp; model-&amp;gt;m_nFlags &amp;amp; NO_ZBUFFER_WRITE)&lt;br /&gt;
    RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, FALSE);&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || 0x800 || 0x48AF21 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CFileLoader::LoadObjectInstance(char const*)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DONT_RECEIVE_SHADOWS)&lt;br /&gt;
    entity-&amp;gt;m_nFlags.bDontCastShadowsOn = true;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || IGNORE_DRAW_DISTANCE || 0x1000 || 0x487CDE || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::SetupBigBuilding()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_afLodDistances[0] &amp;gt; 2500.0f || model-&amp;gt;m_nFlags &amp;amp; IGNORE_DRAW_DISTANCE)&lt;br /&gt;
    entity-&amp;gt;m_nLevel = 0;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || 0x2000 || 0x488CCD || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::PreRender()&amp;lt;/b&amp;gt;, probably in-lined &amp;lt;b&amp;gt;CModelInfo::IsGlassModel(int)&amp;lt;/b&amp;gt; @0x488CAA&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;bool CModelInfo::IsGlassModel(int modelId) {&lt;br /&gt;
    CBaseModelInfo *model = CModelInfo::GetModelInfo(modelId);&lt;br /&gt;
    if (model-&amp;gt;m_nType == MODEL_INFO_SIMPLE || model-&amp;gt;m_nType == MODEL_INFO_TIME) {&lt;br /&gt;
        CSimpleModelInfo *simpleModel = reinterpret_cast&amp;lt;CSimpleModelInfo *&amp;gt;(model);&lt;br /&gt;
        return simpleModel-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_1 || simpleModel-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_2;&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || 0x4000 || 0x488CE7 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::PreRender()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (CModelInfo::IsGlassModel(modelId)) {&lt;br /&gt;
    if (!(CModelInfo::GetModelInfo(modelId)-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_2) ) {&lt;br /&gt;
        CGlass::AskForObjectToBeRenderedInGlass(entity);&lt;br /&gt;
        entity-&amp;gt;m_nFlags.bIsVisible = false;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|SA}} GTA San Andreas ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || This model is a road. || Roads&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || - || Not read, but present in IDE files. || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Fences, trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag will be enabled automatically. || Night windows&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || - || Not read, not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 ||  || Works only with animated objects ('anim' section in IDE). || Doors&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || Disable writing to z-buffer when rendering this model, allowing transparencies of other objects, shadows, and lights to be visible through this object. || Shadows, lights&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Do not draw shadows on this object. || Small objects, pickups, lamps, trees&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || - || Not read, not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Breakable glass type 1 (additional parameters defined inside the object.dat file, otherwise there is no effect) || Small windows&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Breakable glass type 2: object first cracks on a strong collision, then it breaks (does also require object.dat registration). || Large windows&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 2048 || 0x800 || IS_GARAGE_DOOR || Indicates an object as an garage door (for more information see GRGE – requires object.dat registration). || Garage doors&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 4096 || 0x1000 || IS_DAMAGABLE || Model with ok/dam states. || Vehicle upgrades, barriers&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 8192 || 0x2000 || IS_TREE || Trees and some plants. These objects move on wind. || Trees, some plants&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 16384 || 0x4000 || IS_PALM || Palms. These objects move on wind. || Palms&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 32768 || 0x8000 || DOES_NOT_COLLIDE_WITH_FLYER || Does not collide with flyer (plane or heli). || Trees, street lights, traffic lights, road signs, telegraph pole&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 65536 || 0x10000 || - || Not read, but present in IDE files. || Explosive things&lt;br /&gt;
|-&lt;br /&gt;
| 17 || 131072 || 0x20000 || - || Not read, but present in IDE files. || chopcop_ models&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 262144 || 0x40000 || - || Not read, but present in IDE files. || pleasure-DL.dff&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 524288 || 0x80000 || - || Unused special object type. Read, but not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 1048576 || 0x100000 || IS_TAG || This model is a tag. Object will switch from mesh 2 to mesh 1 after getting sprayed by the player. || Tags&lt;br /&gt;
|-&lt;br /&gt;
| 21 || 2097152 || 0x200000 || DISABLE_BACKFACE_CULLING || Disables backface culling – as an result the texture will be drawed on both sides of the model. || Roads, houses, trees, vehicle parts&lt;br /&gt;
|-&lt;br /&gt;
| 22 || 4194304 || 0x400000 || IS_BREAKABLE_STATUE || Object with this model can't be used as cover, i.e. peds won't try to cover behind this object. || Statue parts in atrium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|4}} GTA IV ===&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
== Difference between GTA III and GTA IV engines ==&lt;br /&gt;
&lt;br /&gt;
[[GTA IV]] not only uses different formats to the previous games, it also does not use IDs to identify objects anymore. While [[GTA 3|GTA III]] era games use an ID as an index inside an array of definitions, GTA IV uses the hashes of the model name as a key inside a hash table. For more information about this see [[Map system]].&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[KEd]] &amp;amp;ndash; By {{U|JernejL}}&lt;br /&gt;
* [[MEd]] &amp;amp;ndash; By {{U|Tonywob}}&lt;br /&gt;
* {{GTAG|4817|IDEditor}} &amp;amp;ndash; By {{U|Xmen}}&lt;br /&gt;
* {{GTAF|402942|IDE-IV in GTA-IV script centre}} &amp;amp;ndash; by {{U|Gforce}}&lt;br /&gt;
* [http://www.aschratt.com/fileview.php?file=1004 FlagValue Calculator] &amp;amp;ndash; By {{U|Aschratt}} - Calculates all flagvalues (even those unknown).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Item placement]]&lt;br /&gt;
* [[Map system]]&lt;br /&gt;
* [[Dynamic Object]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* {{note|1}} {{GTAF|post|102833|1067607073|Screenshots of flags in GTA III}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* {{GTAF|102833|GTAVC IDE Definitions}} - topic by {{U|ODIE}} covering specific details of IDE files in GTA VC&lt;br /&gt;
* {{GTAF|118193|GTA3/VC Map File Documentation and Troubleshooting}} - topic by {{U|Opius}} covering general features of IDE files in GTA3 and GTA VC&lt;br /&gt;
* [http://gta-worldmods.t-n-network.de/forum/thread.php?threadid=3382 ID Flagvalue Decoding Project] - project to decode all missing flag values&lt;br /&gt;
&lt;br /&gt;
{{N|5|4|SA|VC|3}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Map Formats]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=ANIM&amp;diff=17983</id>
		<title>ANIM</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=ANIM&amp;diff=17983"/>
		<updated>2019-05-31T06:51:28Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IdeSection&lt;br /&gt;
| game        = {{Icon|SA}} {{Icon|4}}&lt;br /&gt;
| description = Used to define animated map objects&lt;br /&gt;
}}&lt;br /&gt;
'''ANIM''' is a section in the [[item definition]] file in [[San Andreas]] and [[GTA IV]]. It is used to define standard map objects linked to an animation. Its format is almost exactly like [[OBJS|standard map objects]] but with one additional parameter for the animation file. [[GTA IV]] added a section ([[TANM]]) that supports time controlled objects linked to animations.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== San Andreas ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
anim&lt;br /&gt;
Id, ModelName, TxdName, AnimationName, DrawDistance, Flags&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 3em;&amp;quot;| {{Icon|SA}}&lt;br /&gt;
! style=&amp;quot;width: 12em;&amp;quot;| Identifier&lt;br /&gt;
! style=&amp;quot;width: 6em;&amp;quot; | Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| A || Id || integer || Unique object ID.&lt;br /&gt;
|-&lt;br /&gt;
| B || ModelName || string || Name of the &amp;lt;code&amp;gt;.dff&amp;lt;/code&amp;gt; [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
| C || TxdName || string || Name of the &amp;lt;code&amp;gt;.txd&amp;lt;/code&amp;gt; [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
| D || AnimationName || string || Name of the &amp;lt;code&amp;gt;.ifp&amp;lt;/code&amp;gt; [[animation file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
| E || DrawDistance || float || [[Draw distance]] in [[unit]]s.&lt;br /&gt;
|-&lt;br /&gt;
| F || Flags || integer || [[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that animated models still have static [[COL|collisions]]. This means that the collision do not animate with the model since it does not contain bone information for the animation. If you want to move objects, you can do this using the [[SCM|script]]. {{ref|1}}&lt;br /&gt;
&lt;br /&gt;
=== GTA IV ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
anim&lt;br /&gt;
ModelName, TxdName, AnimationName, DrawDistance, Flag, unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 3em;&amp;quot;| {{Icon|4}}&lt;br /&gt;
! style=&amp;quot;width: 12em;&amp;quot;| Identifier&lt;br /&gt;
! style=&amp;quot;width: 6em;&amp;quot; | Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| A || ModelName || string || Name of the &amp;lt;code&amp;gt;[[WDR|.wdr]]&amp;lt;/code&amp;gt; model file without extension.&lt;br /&gt;
|-&lt;br /&gt;
| B || TxdName || string || Name of the &amp;lt;code&amp;gt;[[WTD|.wtd]]&amp;lt;/code&amp;gt; texture dictionary without extension.&lt;br /&gt;
|-&lt;br /&gt;
| C || AnimationName || string || Name of the &amp;lt;code&amp;gt;[[WAD|.wad]]&amp;lt;/code&amp;gt; animation file without extension.&lt;br /&gt;
|-&lt;br /&gt;
| D || DrawDistance || float || Draw distance in units.&lt;br /&gt;
|-&lt;br /&gt;
| E || Flag || integer || [[Item Definition#IDE Flags|Object flag]]&lt;br /&gt;
|-&lt;br /&gt;
| F || ''unknown'' || float || Unknown integer (0 by default).&lt;br /&gt;
|-&lt;br /&gt;
| G,H,I || MinX, MinY, MinZ || float[3] || Lower left corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
| J,K,L || MaxX, MaxY, MaxZ || float[3] || Upper right corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
| M,N,O || SphereX, SphereY, SphereZ || float[3] || Center of the bounding sphere for the object.&lt;br /&gt;
|-&lt;br /&gt;
| P || Radius || float || Radius of the bounding sphere into all dimensions.&lt;br /&gt;
|-&lt;br /&gt;
| Q || LODModel || string || Name of the &amp;lt;code&amp;gt;[[WDD|.wdd]]&amp;lt;/code&amp;gt; file that contains the ''lod model'' for the defined modelname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
Total number of ANIM entries in:&lt;br /&gt;
:San Andreas: 54&lt;br /&gt;
:GTA IV: 158&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* {{note|1}} [[Move an object]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Item definition]]&lt;br /&gt;
* [[OBJS]]&lt;br /&gt;
* [[TANM]]&lt;br /&gt;
&lt;br /&gt;
{{N|4|SA}}&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=TOBJ&amp;diff=17982</id>
		<title>TOBJ</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=TOBJ&amp;diff=17982"/>
		<updated>2019-05-31T06:51:26Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IdeSection&lt;br /&gt;
|game        = {{Icon|t}} {{Icon|LCS}} {{Icon|4}}&lt;br /&gt;
|description = Defines timed map objects&lt;br /&gt;
}}&lt;br /&gt;
'''&amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt;''' is a section in the [[item definition]] file in [[GTA III]], [[Vice City]], [[San Andreas]], [[Liberty City Stories]], and [[GTA IV]]. It is used to define standard map objects similar to the &amp;lt;code&amp;gt;[[OBJS|objs]]&amp;lt;/code&amp;gt; section with an additional in-game time range defining when the object gets rendered. [[GTA IV]] also support time controlled objects linked to animations through the &amp;lt;code&amp;gt;[[TANM|tanm]]&amp;lt;/code&amp;gt; section. Most, if not all, time objects use the [[Item Definition#IDE Flags|object flag]] 2 to prevent them from fading into and out of view at those times.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== GTA III &amp;amp;ndash; Liberty City Stories ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
tobj&lt;br /&gt;
# [[#Type 1|type 1]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags, TimeOn, TimeOff&lt;br /&gt;
# [[#Type 2|type 2]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags, TimeOn, TimeOff&lt;br /&gt;
# [[#Type 3|type 3]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags, TimeOn, TimeOff&lt;br /&gt;
# [[#Type 4|type 4]] (SA)&lt;br /&gt;
Id, ModelName, TxdName, DrawDistance, Flags, TimeOn, TimeOff&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Type 1====&lt;br /&gt;
This is used for non-breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 1 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|-&lt;br /&gt;
|G ||TimeOn ||integer ||Hour to appear&lt;br /&gt;
|-&lt;br /&gt;
|H ||TimeOff ||integer ||Hour to disappear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 2====&lt;br /&gt;
This is used for breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 2 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E,F ||DrawDistance1, DrawDistance2 ||float[2] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).&lt;br /&gt;
|-&lt;br /&gt;
|G ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|-&lt;br /&gt;
|H ||TimeOn ||integer ||Hour to appear&lt;br /&gt;
|-&lt;br /&gt;
|I ||TimeOff ||integer ||Hour to disappear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 3====&lt;br /&gt;
This is used for complex breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 3 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E,F,G ||DrawDistance1, DrawDistance2, DrawDistance3 ||float[3] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).&lt;br /&gt;
|-&lt;br /&gt;
|H ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|-&lt;br /&gt;
|I ||TimeOn ||integer ||Hour to appear&lt;br /&gt;
|-&lt;br /&gt;
|J ||TimeOff ||integer ||Hour to disappear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 4====&lt;br /&gt;
This is used for non-breakable objects and behaves equivalently to [[#Type 1|Type 1]].&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|SA}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.&lt;br /&gt;
|-&lt;br /&gt;
|E ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|-&lt;br /&gt;
|F ||TimeOn ||integer ||Hour to appear&lt;br /&gt;
|-&lt;br /&gt;
|G ||TimeOff ||integer ||Hour to disappear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GTA IV ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
tobj&lt;br /&gt;
ModelName, TxdName, DrawDistance, Flags, Unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel, NightFlag&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|4}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||ModelName ||string ||Name of the &amp;lt;code&amp;gt;.wdr&amp;lt;/code&amp;gt; ''model file'' without extension.&lt;br /&gt;
|-&lt;br /&gt;
|B ||TxdName ||string ||name of the &amp;lt;code&amp;gt;.wtd&amp;lt;/code&amp;gt; ''texture dictionary'' without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||DrawDistance ||float ||Draw distance in units.&lt;br /&gt;
|-&lt;br /&gt;
|D ||Flags ||integer ||[[Item Definition#IDE Flags|Object flag]]&lt;br /&gt;
|-&lt;br /&gt;
|E ||''unknown'' ||float ||Unknown integer (0 by default).&lt;br /&gt;
|-&lt;br /&gt;
|F,G,H ||MinX, MinY, MinZ ||float[3] ||Lower left corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
|I,J,K ||MaxX, MaxY, MaxZ ||float[3] ||Upper right corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
|L,M,N ||SphereX, SphereY, SphereZ ||float[3] ||Center of the bounding sphere for the object.&lt;br /&gt;
|-&lt;br /&gt;
|O ||Radius ||float ||Radius of the bounding sphere into all dimensions.&lt;br /&gt;
|-&lt;br /&gt;
|P ||LODModel||string ||Name of the &amp;lt;code&amp;gt;[[WDD|.wdd]]&amp;lt;/code&amp;gt; file that contains the ''lod model'' for the defined modelname.&lt;br /&gt;
|-&lt;br /&gt;
|Q ||NightFlag||integer ||If enabled (1) the object only shows at nighttime, otherwise the object gets only rendered at daytime. Day- and nighttimes are [[hardcoded]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
Total number of &amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt; entries in:&lt;br /&gt;
:GTA III: 24 (max 30)&lt;br /&gt;
:Vice City: 342 (max 385)&lt;br /&gt;
:San Andreas: 160&lt;br /&gt;
&lt;br /&gt;
{{N|4|LCS|SA|VC|3}}&lt;br /&gt;
[[Category:GTA LCS]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=OBJS&amp;diff=17981</id>
		<title>OBJS</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=OBJS&amp;diff=17981"/>
		<updated>2019-05-31T06:51:24Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IdeSection&lt;br /&gt;
|game        = {{Icon|t}} {{Icon|LCS}} {{Icon|4}}&lt;br /&gt;
|description = Defines simple objects&lt;br /&gt;
}}&lt;br /&gt;
'''&amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt;''' is a section in the [[item definition]] file in [[GTA III]], [[Vice City]], [[San Andreas]], [[Liberty City Stories]], and [[GTA IV]]. It is used to define simple objects. There are also sections to extend default object definitions:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;[[TOBJ|tobj]]&amp;lt;/code&amp;gt; for defining an additional in-game time range the object gets rendered in.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[ANIM|anim]]&amp;lt;/code&amp;gt; which links an animation to an object.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[TANM|tanm]]&amp;lt;/code&amp;gt; which does both of the previously mentioned sections.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== GTA III &amp;amp;ndash; Liberty City Stories ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
objs&lt;br /&gt;
# [[#Type 1|type 1]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance, Flags&lt;br /&gt;
# [[#Type 2|type 2]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, Flags&lt;br /&gt;
# [[#Type 3|type 3]] (III/VC/SA/LCS)&lt;br /&gt;
Id, ModelName, TxdName, MeshCount, DrawDistance1, DrawDistance2, DrawDistance3, Flags&lt;br /&gt;
# [[#Type 4|type 4]] (SA)&lt;br /&gt;
Id, ModelName, TxdName, DrawDistance, Flags&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Type 1====&lt;br /&gt;
This is used for non-breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 1 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 2====&lt;br /&gt;
This is used for breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 2 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E,F ||DrawDistance1, DrawDistance2 ||float[2] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).&lt;br /&gt;
|-&lt;br /&gt;
|G ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 3====&lt;br /&gt;
This is used for complex breakable objects.&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|3}} {{Icon|VC}}&amp;lt;br&amp;gt;{{Icon|SA}} {{Icon|LCS}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||MeshCount ||integer ||Number of meshes. 3 for this type.&lt;br /&gt;
|-&lt;br /&gt;
|E,F,G ||DrawDistance1, DrawDistance2, DrawDistance3 ||float[3] ||[[Draw distance]] in [[unit]]s (one for each mesh, only the first is actually used).&lt;br /&gt;
|-&lt;br /&gt;
|H ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type 4====&lt;br /&gt;
This is used for non-breakable objects and behaves equivalently to [[#Type 1|Type 1]].&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|SA}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||Id ||integer ||Unique object identifier.&lt;br /&gt;
|-&lt;br /&gt;
|B ||ModelName ||string ||Name of the [[model file]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||TxdName ||string ||Name of the [[texture dictionary]] without extension.&lt;br /&gt;
|-&lt;br /&gt;
|D ||DrawDistance ||float ||[[Draw distance]] in [[unit]]s.&lt;br /&gt;
|-&lt;br /&gt;
|E ||Flags ||integer ||[[Item Definition#IDE Flags|Object flags]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GTA IV ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
objs&lt;br /&gt;
ModelName, TxdName, DrawDistance, Flag, unknown, MinX, MinY, MinZ, MaxX, MaxY, MaxZ, SphereX, SphereY, SphereZ, Radius, LODModel&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
==== Type 1 ====&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 3em;&amp;quot; |{{Icon|4}}&lt;br /&gt;
!style=&amp;quot;width: 12em;&amp;quot; |Identifier&lt;br /&gt;
!style=&amp;quot;width: 6em;&amp;quot; |Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|A ||ModelName ||string ||Name of the &amp;lt;code&amp;gt;[[WDR|.wdr]]&amp;lt;/code&amp;gt; model file without extension.&lt;br /&gt;
|-&lt;br /&gt;
|B ||TxdName ||string ||Name of the &amp;lt;code&amp;gt;[[WTD|.wtd]]&amp;lt;/code&amp;gt; texture dictionary without extension.&lt;br /&gt;
|-&lt;br /&gt;
|C ||DrawDistance ||float ||Draw distance in units.&lt;br /&gt;
|-&lt;br /&gt;
|D ||Flag ||integer ||[[Item Definition#IDE Flags|Object flag]]&lt;br /&gt;
|-&lt;br /&gt;
|E ||''unknown'' ||float ||Unknown integer (usually 0 but uses other values as high as 32).&lt;br /&gt;
|-&lt;br /&gt;
|F,G,H ||MinX, MinY, MinZ ||float[3] ||Lower left corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
|I,J,K ||MaxX, MaxY, MaxZ ||float[3] ||Upper right corner of the bounding box for the object.&lt;br /&gt;
|-&lt;br /&gt;
|L,M,N ||SphereX, SphereY, SphereZ ||float[3] ||Center of the bounding sphere for the object.&lt;br /&gt;
|-&lt;br /&gt;
|O ||Radius ||float ||Radius of the bounding sphere into all dimensions.&lt;br /&gt;
|-&lt;br /&gt;
|P ||LODModel ||string ||Name of the &amp;lt;code&amp;gt;[[WDD|.wdd]]&amp;lt;/code&amp;gt; file that contains the ''lod model'' for the defined modelname; otherwise ''null''.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[GTA IV]] stores bounding information inside the ''item definitions'' for better performance. The previous games stored bounding information inside the [[COLL|collision]] files. Also it uses the hashes of the model names as a key of an hash table instead of the ID as an index to the definition array for previous games.&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
Total number of &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt; entries in:&lt;br /&gt;
:GTA III: 2908 (max 5000)&lt;br /&gt;
::Type 1: 2844&lt;br /&gt;
::Type 2: 63&lt;br /&gt;
::Type 3: 1&lt;br /&gt;
&lt;br /&gt;
:Vice City: 3800 (max 3885)&lt;br /&gt;
::Type 1: 3761&lt;br /&gt;
::Type 2: 38&lt;br /&gt;
::Type 3: 1&lt;br /&gt;
&lt;br /&gt;
:San Andreas: 14052&lt;br /&gt;
::Type 1: 1&lt;br /&gt;
::Type 4: 14051&lt;br /&gt;
&lt;br /&gt;
:GTA IV: 24820&lt;br /&gt;
&lt;br /&gt;
{{N|4|LCS|SA|VC|3}}&lt;br /&gt;
[[Category:GTA LCS]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Material_Effects_PLG_(RW_Section)&amp;diff=17886</id>
		<title>Material Effects PLG (RW Section)</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Material_Effects_PLG_(RW_Section)&amp;diff=17886"/>
		<updated>2019-02-05T09:48:38Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RW Section|Material Effects PLG|0x0120}}&lt;br /&gt;
&lt;br /&gt;
'''Material Effects PLG''' is an extension to the [[Material (RW Section)|Material]] section in the [[RenderWare binary stream file|Renderware stream file format]]. It is part of the [[List_of_RW_section_IDs#Toolkit|Renderware Toolkit]] and can be used to attach certain effects to a material, such as bump mapping, reflections and UV-Animations.&lt;br /&gt;
&lt;br /&gt;
If a material defines material effects, the [[Atomic (RW Section)|Atomic]] that draws the material's parent geometry also contains a material effects extension. However, the format of this section is different from the actual one that is defined for the material.&lt;br /&gt;
&lt;br /&gt;
== Binary structure ==&lt;br /&gt;
&lt;br /&gt;
Basically each section is structured starting with a header, that contains a effect type identifier, followed by two effects that can be overlayed, if the effect type supports it.&lt;br /&gt;
&lt;br /&gt;
  uint32  - Type (Header)&lt;br /&gt;
  First Effect (variable size)&lt;br /&gt;
  Second Effect (variable size)&lt;br /&gt;
&lt;br /&gt;
It's certain, that at least the second effect is not used, even both effects can be disabled by setting the type identifier to 0x00 ([[Material Effects PLG (RW Section)#No Effect (rwMATFXNULL)|rwMATFXNULL]]). It is important to note, that the effect rwMATFXNULL allocates 4 bytes of memory for it's effect header.&lt;br /&gt;
&lt;br /&gt;
== Header ==&lt;br /&gt;
&lt;br /&gt;
The section starts with a type identifier. The section's actual size depends on the section type.&lt;br /&gt;
&lt;br /&gt;
  uint32  - Type&lt;br /&gt;
&lt;br /&gt;
The section type can be of one of the following values:&lt;br /&gt;
&lt;br /&gt;
  0 rwMATFXEFFECTNULL            No Effect&lt;br /&gt;
  1 rwMATFXEFFECTBUMPMAP         Bump Map&lt;br /&gt;
  2 rwMATFXEFFECTENVMAP          Environment Map (Reflections)&lt;br /&gt;
  3 rwMATFXEFFECTBUMPENVMAP      Bump Map/Environment Map&lt;br /&gt;
  4 rwMATFXEFFECTDUAL            Dual Textures&lt;br /&gt;
  5 rwMATFXEFFECTUVTRANSFORM     UV-Tranformation&lt;br /&gt;
  6 rwMATFXEFFECTDUALUVTRANSFORM Dual Textures/UV-Transformation&lt;br /&gt;
&lt;br /&gt;
The effect types 3 (rwMATFXEFFECTBUMPENVMAP) and 6 (rwMATFXEFFECTDUALUVTRANSFORM) are requiring both effects to be set. For all other section types, the second effect is usually set to 0 (rwMATFXEFFECTNULL).&lt;br /&gt;
&lt;br /&gt;
== Effects (Types) ==&lt;br /&gt;
&lt;br /&gt;
Each effect starts with a header on it's own, containing the effect identifier. The effect identifier is of the same type as the section identifier and therefor the effect identifier of the first effect typically equals the section identifier. Exceptions are the section types 3 (rwMATFXEFFECTBUMPENVMAP) and 6 (rwMATFXEFFECTDUALUVTRANSFORM), which are invalid when beeing used as effect type.&lt;br /&gt;
&lt;br /&gt;
=== No Effect (rwMATFXNULL) ===&lt;br /&gt;
&lt;br /&gt;
The effect starts with a header, containing its type identifier.&lt;br /&gt;
&lt;br /&gt;
  uint32  - 0x00, rwMATFXEFFECTNULL&lt;br /&gt;
&lt;br /&gt;
There are no other contents stored within this effect.&lt;br /&gt;
&lt;br /&gt;
=== Bump Mapping (rwMATFXEFFECTBUMPMAP) ===&lt;br /&gt;
&lt;br /&gt;
The effect starts with a header, containing its type identifier, followed by some settings.&lt;br /&gt;
&lt;br /&gt;
  uint32      - 0x01, rwMATFXEFFECTBUMPMAP&lt;br /&gt;
  float32     - Intensity&lt;br /&gt;
  bool32      - Contains Bump Map&lt;br /&gt;
  RwTexture   - Bump Map (Only if effect contains a bump map)&lt;br /&gt;
  bool32      - Contains Height Map&lt;br /&gt;
  RwTexture   - Height Map (Only if the effect contains a height map)&lt;br /&gt;
&lt;br /&gt;
Note that there are two switches within the effect, that determine the existence of two child sections, containing the actual bump or height map. The textures are stored as raw [[Texture (RW_Section)|RwTexture]]s, simply within the effect structure.&lt;br /&gt;
&lt;br /&gt;
Bump maps are restricted in their format: The actual texture inside the [[Texture archive|TXD archive]] needs to be stored in X8R8G8B8-Format, meaning there are four 8-bit channels for red, green, blue and alpha. However, bump maps do not support alpha maps (a second texture that encodes opacity-information per texel), compression or mip-mapping for performance reasons.&lt;br /&gt;
&lt;br /&gt;
=== Environment Mapping (rwMATFXENVMAP) ===&lt;br /&gt;
&lt;br /&gt;
Environment maps are used to simulate real-time reflections by blending in a pre-rendered environmental texture. Renderware does not support real-time reflections, besides [[wikipedia:Reflection mapping|Environment Mapping]] out of the box, but it can be hooked up with mods like [[ENBSeries_(SA)|ENBSeries]].&lt;br /&gt;
&lt;br /&gt;
  uint32      - 0x02, rwMATFXENVMAP&lt;br /&gt;
  float32     - Reflection Coefficient (default is 1.0)&lt;br /&gt;
  bool32      - Use Frame Buffer Alpha Channel&lt;br /&gt;
  bool32      - Contains Environment Map&lt;br /&gt;
  RwTexture   - Environment Map&lt;br /&gt;
&lt;br /&gt;
The effect itself contains a switch that determines the existence of a environment map in form of a texture. If the switch is true, the texture is stored as a raw [[Texture (RW_Section)|RwTexture]] section, succeeded by the switch itself.&lt;br /&gt;
&lt;br /&gt;
=== Dual Texturing (rwMATFXEFFECTDUAL) ===&lt;br /&gt;
&lt;br /&gt;
Dual Texturing enables the engine to blend two textures together. The effect therefor defines a set of blending options.&lt;br /&gt;
&lt;br /&gt;
  uint32     - 0x04, rwMATFXEFFECTDUAL&lt;br /&gt;
  int32      - src blend mode&lt;br /&gt;
  int32      - dest blend mode&lt;br /&gt;
  bool32     - Contains Texture&lt;br /&gt;
  RwTexture  - Texture&lt;br /&gt;
&lt;br /&gt;
If the effect contains a texture, it is stored as a raw [[Texture (RW_Section)|RwTexture]] section right after the ''Contains Texture'' option. The ''Blend Mode'' options defines how two textures are blended together. Basically each mode executes a different vector function that returns the blending result for each texel.&lt;br /&gt;
&lt;br /&gt;
The first set of blend functions returns a constant value for each texel.&lt;br /&gt;
&lt;br /&gt;
  0x00 - rwNOBLEND&lt;br /&gt;
  0x01 - rwBLENDZERO             (0,    0,    0,    0   )&lt;br /&gt;
  0x02 - rwBLENDONE              (1,    1,    1,    1   )&lt;br /&gt;
  0x03 - rwBLENDSRCCOLOR         (Rs,   Gs,   Bs,   As  )&lt;br /&gt;
  0x04 - rwBLENDINVSRCCOLOR      (1-Rs, 1-Gs, 1-Bs, 1-As)&lt;br /&gt;
  0x05 - rwBLENDSRCALPHA         (As,   As,   As,   As  )&lt;br /&gt;
  0x06 - rwBLENDINVSRCALPHA      (1-As, 1-As, 1-As, 1-As)&lt;br /&gt;
  0x07 - rwBLENDDESTALPHA        (Ad,   Ad,   Ad,   Ad  )&lt;br /&gt;
  0x08 - rwBLENDINVDESTALPHA     (1-Ad, 1-Ad, 1-Ad, 1-Ad)&lt;br /&gt;
  0x09 - rwBLENDDESTCOLOR        (Rd,   Gd,   Bd,   Ad  )&lt;br /&gt;
  0x0A - rwBLENDINVDESTCOLOR     (1-Rd, 1-Gd, 1-Bd, 1-Ad)&lt;br /&gt;
  0x0B - rwBLENDSRCALPHASAT      (f,    f,    f,    1   )  f = min (As, 1-Ad)&lt;br /&gt;
&lt;br /&gt;
The very first function, rwNOBLEND, disables blending at all, meaning that only the base texture of the material will be drawn.&lt;br /&gt;
In the other cases the final color is the sum of the base texture multiplied by the value of the dest Blend mode and the dual pass texture multiplied by the value of the src blend mode.&lt;br /&gt;
&lt;br /&gt;
=== UV-Animation (rwMATFXEFFECTUVTRANSFORM) ===&lt;br /&gt;
&lt;br /&gt;
UV-Animation itself does not contain any further information, besides it obligatory header.&lt;br /&gt;
&lt;br /&gt;
  uint32     - 0x05, rwMATFXEFFECTUVTRANSFORM&lt;br /&gt;
&lt;br /&gt;
If this effect is defined, the [[Material (RW_Section)|Material]] also contains a [[UV Animation PLG (RW_Section)|UV Animation PLG]] extension.&lt;br /&gt;
&lt;br /&gt;
== Atomic extension ==&lt;br /&gt;
&lt;br /&gt;
Renderware does not support advanced shading or physically based rendering (PBR). In order to better quality rendering, it defines different rendering pipelines a draw call can be passed to. Each pipeline supports different features, like Bump Mapping for the illusion of uneven or rough surfaces, Environment Mapping to approximate reflection or Vertex Colors to support approximative precalculated lightning. Rockstar even defined a set of [[Pipeline Set (RW Section)|custom rendering pipelines]] to support their custom engine features, like [[Reflection Material (RW Section)|reflective materials]] or [[Night Vertex Colors (RW Section)|extra vertex colors]]. For more information about the general rendering workflow in Renderware, please refer to the [[RenderWare]] article.&lt;br /&gt;
&lt;br /&gt;
In order to choose the right parameters for the rendering pipelines, while passing each [[Atomic (RW Section)|Atomic]] to a draw-call, the Atomic itself needs to know which effects the linked geometry uses. The MatFX plugin uses another [[Material (RW Section)|Material]] chunk that specifies whether the MatFX pipeline should be attached to the Atomic:&lt;br /&gt;
&lt;br /&gt;
  bool32     - MatFX enabled&lt;br /&gt;
&lt;br /&gt;
In RW versions &amp;gt;= 3.4.0.0 this chunk is only written when the value is 1.&lt;br /&gt;
&lt;br /&gt;
An Atomic can also have a [[Right To Render (RW Section)|Right To Render]] chunk in its Extension data, this however is ignored by the engine. In the case of MatFX this chunk is only written when a null-pipeline was attached when the file was written. This is generally the case if the file was exported from a modeling program.&lt;br /&gt;
&lt;br /&gt;
== Rendering ==&lt;br /&gt;
=== Environment mapping ===&lt;br /&gt;
&lt;br /&gt;
Environment mapping on the PS2 works different than on the PC in some ways:&lt;br /&gt;
* The environment effect is rendered as a second pass and hence uses alpha blending which gives a different result than using multiple texture stages&lt;br /&gt;
* The environment pass uses the same vertex colors as the diffuse pass&lt;br /&gt;
* Texture coordinates are generated differently (independent of camera position)&lt;br /&gt;
&lt;br /&gt;
For an implementation of PS2-like env-mapping on PC see [[SkyGfx]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Atomic (RW Section)|Atomic]]&lt;br /&gt;
* [[Material (RW Section)|Material]]&lt;br /&gt;
* [[Reflection Material (RW Section)|Reflection Material]]&lt;br /&gt;
* [[Specular Material (RW Section)|Specular Material]]&lt;br /&gt;
* [[UV Animation PLG (RW Section)|UV Animation PLG]]&lt;br /&gt;
* [[Texture (RW Section)|Texture]]&lt;br /&gt;
* [[Geometry List (RW Section)|Geometry List]]&lt;br /&gt;
* [[RenderWare_binary_stream_file|RW file format specification]]&lt;br /&gt;
&lt;br /&gt;
{{N|SA|VC}}&lt;br /&gt;
[[Category:GTA_3]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=0AB2&amp;diff=17861</id>
		<title>0AB2</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=0AB2&amp;diff=17861"/>
		<updated>2019-01-13T20:51:18Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{This|For CLEO for GTA III and Vice City prior to v2.0.0.0, use opcode 05F6.}}&lt;br /&gt;
{{Icon|t}} (with [[CLEO]])&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''Description'''&lt;br /&gt;
: Returns from a [[SCM function|scm function]]&lt;br /&gt;
'''Syntax'''&lt;br /&gt;
: 0AB2: ret [''int''] ( [''any''] … )&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
: [''int'']&lt;br /&gt;
:: Number of values to return&lt;br /&gt;
: [''any'']&lt;br /&gt;
:: Returned values if there are ones (optional), up to 30&lt;br /&gt;
&lt;br /&gt;
This opcode transfers the thread execution back to [[0AB1]] opcode and stores the returned values in its variables. Total number of returned values must be equal to the number of variables storing the result in 0AB1. If the 0AB2 opcode does not return any values, it must have a 0 as the only parameter, and proper 0AB1 that calls such a function should have no variables to store.&lt;br /&gt;
&lt;br /&gt;
In [[0AB1#Example|this example]] 0AB2 returns only one value, which is the value of variable 0@, this value will be copied to the variable $result.&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
CLEO, scm function, return, ret&lt;br /&gt;
&lt;br /&gt;
[[Category:OpCodes]]&lt;br /&gt;
[[Category:CLEO Opcodes]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=0AB1&amp;diff=17860</id>
		<title>0AB1</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=0AB1&amp;diff=17860"/>
		<updated>2019-01-13T20:51:16Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{This|For CLEO for GTA III and Vice City prior to v2.0.0.0, use opcode 05F5.}}&lt;br /&gt;
{{Icon|t}} (with [[CLEO]])&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
'''Description'''&lt;br /&gt;
: Calls a scm function&lt;br /&gt;
'''Syntax'''&lt;br /&gt;
: 0AB1: call_scm_func [''label''] [''int''] ( [''any''] … )&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
: [''label'']&lt;br /&gt;
:: [[Label]] (SCM function start)&lt;br /&gt;
: [''int'']&lt;br /&gt;
:: Number of parameters to pass&lt;br /&gt;
: [''any'']&lt;br /&gt;
:: Parameters if there are ones (optional), up to 30&lt;br /&gt;
&lt;br /&gt;
This opcode calls a SCM function, passes the parameters to it and stores a result to variable(s). The passed parameters values are copied to the local variables in series, then the thread execution is transferred to the label, it executes code there and returns after opcode [[0AB2]] is executed.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
This is a simple example of the SCM function calculating the square number.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;scm&amp;quot;&amp;gt;&lt;br /&gt;
0@ = 5&lt;br /&gt;
0AB1: call_scm_func @GetSQR 1  10 $result&lt;br /&gt;
004E: end_thread&lt;br /&gt;
//…&lt;br /&gt;
:GetSQR&lt;br /&gt;
006A: 0@ *= 0@&lt;br /&gt;
0AB2: ret 1 0@&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How it works. First of all, the game comes to the opcode 0AB1. The game reads the number of parameters to pass (1) and its values (10). The variable &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0@&amp;lt;/span&amp;gt; of the current thread equates to 10 (if there would more parameters to pass, the next one will be copied to the &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;1@&amp;lt;/span&amp;gt;, then &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;2@&amp;lt;/span&amp;gt; and so on). After that the thread jumps to the label &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;@GetSQR&amp;lt;/span&amp;gt;,. Here the square number is calculated (of a value in the &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0@&amp;lt;/span&amp;gt;). Again, if there would be more parameters, the values of &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;1@&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;2@&amp;lt;/span&amp;gt; etc may be taken in to account, if needed. After the calculation, the game comes to the opcode 0AB2. The value of &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0@&amp;lt;/span&amp;gt; equals to 10*10 = 100 at this moment. Then the following happens: the returned value(s) (&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0@&amp;lt;/span&amp;gt;) is copied to the variable(s) that is written in the opcode 0AB1 which called this function. In our example such variable is $result. After storing of the result, the thread returns back to the 0AB1 and comes to the command end_thread. The value of the &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$result&amp;lt;/span&amp;gt; equals to the 100 (which is square of 10) at this moment.&lt;br /&gt;
Finally say that 0AB2 could return not only the variables values, but also the number constants. For example, 0AB2: ret 1 1 will forever stores 1 to the result.&lt;br /&gt;
Also pay attention that the local variables are stayed unchanged after the function calling. In this example, the variable &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0@&amp;lt;/span&amp;gt; contains a value of 5 before 0AB1. Despite the fact that this variable was used in the function, after the calling it still equals to 5. This covers on all 32 local variables, so you can freely work with them within a function without fear to lose data.&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
CLEO, scm function, call&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* {{GTAF|777350|SCM functions (including TraversePoolEntities algorithms)}}, documentation and tutorial by {{U|Wesser}}&lt;br /&gt;
&lt;br /&gt;
[[Category:OpCodes]]&lt;br /&gt;
[[Category:CLEO Opcodes]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=033E&amp;diff=17859</id>
		<title>033E</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=033E&amp;diff=17859"/>
		<updated>2019-01-13T05:21:05Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OpCode&lt;br /&gt;
| games       = {{Icon|t}}&lt;br /&gt;
| command     = DISPLAY_TEXT&lt;br /&gt;
| description = Displays [[Text#Intro text|text]] on the screen&lt;br /&gt;
| syntax1     = 033E: text_draw [''flt1''] [''flt2''] '[''string'']'&lt;br /&gt;
| p1t         = [''flt1'']&lt;br /&gt;
| p1d         = X-position from the left side of the screen, visible between 0.0 and 640.0&lt;br /&gt;
| p2t         = [''flt2'']&lt;br /&gt;
| p2d         = Y-position from the top side of the screen, visible between 0.0 and 448.0&lt;br /&gt;
| p3t         = [''string'']&lt;br /&gt;
| p3d         = [[GXT]] key&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This opcode displays text at any position on the screen. The X and Y positions of the text are based on a 640 × 448 resolution, which comes from the resolution of the PS2 version of the games. On different resolutions, these positions are scaled accordingly. You should use opcode [[03F0]] when using this opcode to prevent unintended side effects like permanent display or game crashes. Vice City supports up to 47 text before becoming unstable and each text must be less than 100 characters long. Positions 0.0 and lower will display only the shadow of the text. The following images show text displayed in Vice City at positions (0.0, 0.0), (50.0, 50.0), (100.0, 100.0), and (200.0, 200.0), from top left to bottom right. Note that the last text is wrapped due to the default [[0343|wrap x]] of 182.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
033E.png|640 × 480&lt;br /&gt;
033E 1024x768.png|1024 × 768&lt;br /&gt;
033E 1280x720.png|1280 × 720&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
display, draw, intro, {{K|text}}&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=SCM_language&amp;diff=17858</id>
		<title>SCM language</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=SCM_language&amp;diff=17858"/>
		<updated>2019-01-13T05:18:10Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;color: #CC0000&amp;quot;&amp;gt;'''Announcement''': This article is currently being reworked. Check out the progresses by visiting [http://pastebin.com/raw/YfLWLXJw this] link from time to time. Contact [http://www.gtaforums.com/index.php?showuser=172776 Wesser] for any suggestion.&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
{{This|This section deals with the native SCM syntax of GTA 3 series, nothing other than [[GTA 3|III]], [[GTA VC|VC]], [[GTA SA|SA]], [[GTA LCS|LCS]] and [[GTA VCS|VCS]].&amp;lt;br/&amp;gt;&lt;br /&gt;
It may contain non-standard SCM definitions as R* hasn't published enough documentation about it yet.}}&lt;br /&gt;
{{TocRight}}On the occasion of the ''GTAIII's Tenth Anniversary'', after a long period of darkness where we fell about the real ''SCM'' syntax, R* finally treated us by attaching part of its own original source code into the ''GTAIII Anniversary'' game, available for ''iOS'' and ''Android'' devices. As far back as 2001, a snip of some debugging scripts has been already provided with ''main.sc'' and ''debug.sc'' files. However, many secrets are unrevealed yet, thus some things cannot be documented fully and so they can be only guessed. The ''SCM'' format abbreviation is one of countless proofs of this inconvenience, which may stand for ''Script Multifile''. Other doubts come with source files, whose ''SC'' extension appears to be very close to ''Mission SCript''. Although we have enough information to suppose the currently unknown mysteries of the used language, we still have no safe clue about which was its original denomination. Furthermore, it is a matter of fact that R* developers have been left untouched the ''miss2'' executable name of the ''GTA 3 series'' compiler since the chapter 2. In this connection, we could imagine the new language is a variant or an evolution of the '''GTA2script'''. In the ancient documentation by ''DMA'' (at present ''Rockstar North''), ''GBH'' sound like the initials of the codename or the primordial name of ''GTA2'', as the former is expressly stricken and overwritten by the latter (''&amp;lt;del&amp;gt;GBH&amp;lt;/del&amp;gt;&amp;lt;ins&amp;gt;GTA2&amp;lt;/ins&amp;gt;'' occurs twice, whereas ''&amp;lt;del&amp;gt;GBHscript&amp;lt;/del&amp;gt;&amp;lt;ins&amp;gt;GTA2script&amp;lt;/ins&amp;gt;'' only once), while ''GBHscript'' and ''GTA2script'' are quite recurring. Therefore, we are almost sure to say the language name is most likely '''GTA3script'''. However, it is definitely based on [[Wikipedia:BASIC|BASIC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 14pt&amp;quot;&amp;gt;Preliminary remarks&amp;lt;/span&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
This article makes use of formatted codes to improve the reading comprehension. Note that:&lt;br /&gt;
&lt;br /&gt;
* ''Square brackets'' mean everything inside may be omitted;&lt;br /&gt;
* ''Curly brackets'' denote the presence of useful codes but not necessarily needed;&lt;br /&gt;
* ''Vertical bars'' divide what can be chosen alternatively.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
=Fundamentals=&lt;br /&gt;
&lt;br /&gt;
==Comments==&lt;br /&gt;
&lt;br /&gt;
A ''comment'' is an additional text that may be helpful for the code writer or other users, in short for the reader. It is the only part of the source code which gets always ignored when compiling.&lt;br /&gt;
&lt;br /&gt;
===Inline===&lt;br /&gt;
&lt;br /&gt;
An ''inline comment'', denoted by '''//''' (two slashes), makes everything that follows some plain text:&lt;br /&gt;
&lt;br /&gt;
 [...] // Some inline comment&lt;br /&gt;
&lt;br /&gt;
===Multiline===&lt;br /&gt;
&lt;br /&gt;
A ''multiline comment'' embraces a particular area of the source code, starting by the opening tag '''/*''' (slash and asterisk) and ending with '''*/''' (asterisk and slash):&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /*&lt;br /&gt;
  * Some multiline comment&lt;br /&gt;
  * ...&lt;br /&gt;
  */&lt;br /&gt;
 [...]&lt;br /&gt;
Currently, more than one multiline comment is allowed per line:&lt;br /&gt;
&lt;br /&gt;
 [...] /* Some inline comment */ [...] /* Some inline comment */ [...]&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:R* compiler allows multiline comments nesting.&lt;br /&gt;
&lt;br /&gt;
==Highlighters==&lt;br /&gt;
&lt;br /&gt;
''Highlighters'' behaviour sounds trivial, that's to say they simply highlight one or more arguments per [[#Commands|command]] within ''round brackets'', individually or together. In {{icon|3}}, they appear to be used only for '''SETUP_ZONE_PED_INFO''' (in a various order) and ''GXT keys'':&lt;br /&gt;
&lt;br /&gt;
 SETUP_ZONE_PED_INFO FISHFAC DAY (0) 0 0 0 (0 0 0 0) 0&lt;br /&gt;
 PRINT_BIG (T4X4_1) 5000 2&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:Opening and closing round brakets are treated as blank spaces;&lt;br /&gt;
:An optional ''comma'' can be used as well to distinguish each argument, processed as a space.&lt;br /&gt;
&lt;br /&gt;
==Scopes==&lt;br /&gt;
&lt;br /&gt;
''Scopes'' are delimited by ''curly brackets'' (or ''multiline brackets'') which act like a [[#Local|local]] [[#Variables|variable]] [[#Scope|scope]]. Essentially, they enclose the code where local variables are used, including [[#Timers|timers]]. They can be opened and closed many times in a [[#Structure|script]]:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:Scopes cannot be nested;&lt;br /&gt;
:Opening and closing curly brakets are real commands.&lt;br /&gt;
&lt;br /&gt;
==Labels==&lt;br /&gt;
&lt;br /&gt;
A ''label'' is a ''sequence of characters'' which identify the reference of a location of the source code useful for ''gotoes''. It can be accessed by any part of the source code. To define a label just append ''':''' (colon) to its name:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 &lt;br /&gt;
 {lblname}:&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
At the compiling time, they are automatically converted into an [[#Offsets|offset]].&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
&lt;br /&gt;
A ''variable'' is a ''storage location'' assigned to a ''symbolic name'' which contains a ''value'' of any ''type''.&lt;br /&gt;
&lt;br /&gt;
===Value===&lt;br /&gt;
&lt;br /&gt;
A ''value'' represents ''any data of any type'' it is.&lt;br /&gt;
&lt;br /&gt;
===Scope===&lt;br /&gt;
----&lt;br /&gt;
The usage of a variable depends on the ''scope'', that is the context where a specific variable is declared. At this point, we can distinguish the ''global'' and ''local'' scope.&lt;br /&gt;
&lt;br /&gt;
====Global====&lt;br /&gt;
&lt;br /&gt;
The ''global scope'' grasps the ''whole source code''. Variables defined as ''globals'' are visible in ''any [[#Structure|script]]''. They are declared by appending the '''VAR''' prefix.&lt;br /&gt;
&lt;br /&gt;
====Local====&lt;br /&gt;
----&lt;br /&gt;
The ''local scope'' wraps a ''localized part of the source code''. Variables defined as ''locals'' are visible only in the ''code enclosed by curly brackets''. You can put them everywhere and as many times as you want in the source code. They are declared by appending the '''LVAR''' prefix.&lt;br /&gt;
&lt;br /&gt;
=====Timers=====&lt;br /&gt;
&lt;br /&gt;
A ''timer'' is an ''unique local variable'' whose value rises automatically. It starts incrementing since the beginning of the script where it has been placed and grows endlessly. There are ''2 usable timers'' which are already defined as '''TIMERA''' and '''TIMERB''', therefore they do not need to be declared.&lt;br /&gt;
&lt;br /&gt;
===Data types===&lt;br /&gt;
----&lt;br /&gt;
Among the available data types, some are equivalent to those of the most known programming languages. Their length is up to 4, 8 and 16 bytes. Each type is appended as a suffix in the ''variable declaration''.&lt;br /&gt;
&lt;br /&gt;
====LABEL====&lt;br /&gt;
&lt;br /&gt;
The '''LABEL''' type handles ''variable-length strings''. It can refer to either a ''[[#Labels|label]] name'' or a ''file name''.&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:While inside a script file, R* compiler treats it unambiguously as a label;&lt;br /&gt;
:R* compiler allocates 32 bytes per label.&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:'''LABEL''' variables aren't available.&lt;br /&gt;
&lt;br /&gt;
====INT====&lt;br /&gt;
&lt;br /&gt;
The '''INT''' type handles ''32-bit signed integers''. It is also used to store [[#Value|values]] with less bytes, such as a [[Wikipedia:Primitive_data_type#Booleans|bool]], a [[Wikipedia:Character_(computing)#char|char]] and a [[Wikipedia:Integer_(computer_science)#Short_integer|short int]].&lt;br /&gt;
&lt;br /&gt;
====FLOAT====&lt;br /&gt;
&lt;br /&gt;
The '''FLOAT''' type handles ''32-bit floating-points''. As it normally does, decimal precision of a [[Wikipedia:Floating_point|float]] is usually stuck to 6-7 digits beyond which it may get lost.&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:R* compiler also accepts ''f'' and ''F'' suffixes for the immediate value.&lt;br /&gt;
&lt;br /&gt;
====TEXT_LABEL====&lt;br /&gt;
&lt;br /&gt;
The '''TEXT_LABEL''' type handles ''8-byte strings''. Generally, a [[Wikipedia:String_(computer_science)|string]] is an ''array of 1-byte characters''. It requires ''7 characters plus the [[Wikipedia:Null_character|null-terminator]]'' (a blank byte meaning the ''end of the string''). It is used to hold ''GXT keys'' (those of ''town zones'', ''interiors'', ''help textes'' or ''dialogue subtitles'') ''script names'' or any short string. Literal only '''TEXT_LABEL*''' strings are probably marked by ''single quotation marks'' to distinguish them from variable and constant identifiers:&lt;br /&gt;
&lt;br /&gt;
 PRINT_BIG 'GXT_KEY'&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:'''TEXT_LABEL''' variables are supported in {{icon|sa}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
====TEXT_LABEL16====&lt;br /&gt;
&lt;br /&gt;
The '''TEXT_LABEL16''' type handles ''16-byte strings''. Like the previous, this type holds ''15 characters plus the null-terminator''. It is used to store ''model and texture names of player clothes'', ''animation names'' or any long string.&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:'''TEXT_LABEL16''' variables and values are supported only in {{icon|sa}}.&lt;br /&gt;
&lt;br /&gt;
====TEXT_LABEL32====&lt;br /&gt;
&lt;br /&gt;
The '''TEXT_LABEL32''' type handles ''32-byte strings'' or larger, depending on how many continuous parameters of the same type there are, each of which occupies 32 bytes. It can hold up to ''127 characters plus the null-terminator'', after which another '''TEXT_LABEL32''' argument may begin. Strings of such type must be put within ''double quotation marks'':&lt;br /&gt;
&lt;br /&gt;
 SAVE_STRING_TO_DEBUG_FILE &amp;quot;32B-128B TEXT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:'''TEXT_LABEL32''' values are supported since {{icon|vc}};&lt;br /&gt;
:'''TEXT_LABEL32''' variables aren't available.&lt;br /&gt;
&lt;br /&gt;
====TEXT====&lt;br /&gt;
&lt;br /&gt;
The '''TEXT''' type handles ''N-byte strings''. It holds ''N characters plus the null-terminator''. Strings of this type mustn't exceed 255 characters (including the null-byte).&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:'''TEXT''' values are supported since {{icon|sa}};&lt;br /&gt;
:'''TEXT''' variables aren't available.&lt;br /&gt;
&lt;br /&gt;
====CONST (pseudo)====&lt;br /&gt;
&lt;br /&gt;
The '''CONST''' type handles ''32-bit signed integers''. It is used only to assign and compare [[#Constants|constants]] to '''INT''' variables regarding ''model [[#Identifiers|identifiers]]'', ''task statuses'', ''ped or audio events'' and such. It is a pseudo type of '''INT'''.&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:The [[#Arithmetic|assignment]] and [[#Comparison|comparison]] of '''CONST''' values are supported since {{icon|vc}}.&lt;br /&gt;
&lt;br /&gt;
====MULTI (pseudo)====&lt;br /&gt;
&lt;br /&gt;
The '''MULTI''' type handles a group of few data types acceptable per argument. It is used only for commands featuring optional arguments, those whose type is unpredictable before the compilation. It can be a pseudo type of '''INT''', '''FLOAT''' and '''TEXT_LABEL'''.&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:'''INT''' and '''FLOAT''' can be used interchangeably in {{icon|3}}, {{icon|vc}}, {{icon|sa}}, {{icon|lcs}} and {{icon|vcs}};&lt;br /&gt;
:{{icon|vcs}} also admits '''TEXT_LABEL''' arguments.&lt;br /&gt;
&lt;br /&gt;
===Declaration===&lt;br /&gt;
----&lt;br /&gt;
''Defining a variable'' means ''assigning a token string to a memory cell'' at the compiling time. Variables must be declared in the following manner:&lt;br /&gt;
&lt;br /&gt;
 VAR_* {varname0}[,] [... {varnameN}]&lt;br /&gt;
 LVAR_* {varname0}[,] [... {varnameN}]&lt;br /&gt;
&lt;br /&gt;
As mentioned in the sections above, local variables have to be put within curly brackets:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     VAR_* {varname0}[,] [... {varnameN}]&lt;br /&gt;
     LVAR_* {varname0}[,] [... {varnameN}]&lt;br /&gt;
 &lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
''Inline variable declaration'' is allowed, you just have to separate them by ''spaces'' or ''tabulations''. Adding a preceding ''comma'' before these characters is optional.&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:Whereas the ''variable buffer'' is limited, you can declare a certain amount of globals and locals. [[#INT|INT]] and [[#FLOAT|FLOAT]] types take 1 variable, while [[#TEXT_LABEL|TEXT_LABEL]] and [[#TEXT_LABEL16|TEXT_LABEL16]] types occupy respectively 2 and 4 variables to store their data (have a look [[#Variables range|here]] for further details);&lt;br /&gt;
:{{icon|vcs}} isn't affected by what said above;&lt;br /&gt;
:Global and local variable names must not collide.&lt;br /&gt;
&lt;br /&gt;
====Arrays====&lt;br /&gt;
&lt;br /&gt;
A ''array'' is a ''collection of variables'' having the same type which can be accessed by an ''index'', an '''INT''' lesser than or equal to the size specified, enclosed by ''square brackets'':&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     VAR_* {varname0}{[arrsize0]}[,] [... {varnameN}{[arrsizeN]}]&lt;br /&gt;
     LVAR_* {varname0}{[arrsize0]}[,] [... {varnameN}{[arrsizeN]}]&lt;br /&gt;
 &lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:The usage of arrays is allowed since {{icon|vc}};&lt;br /&gt;
:Variable indices are quite buggy in {{icon|vc}} and therefore unrecommended, but they are fully supported since {{icon|sa}};&lt;br /&gt;
:The aforesaid indices are one-based, possibly zero-based since {{icon|sa}};&lt;br /&gt;
:Multidimensional arrays are not supported.&lt;br /&gt;
&lt;br /&gt;
====Handles====&lt;br /&gt;
&lt;br /&gt;
A ''handle'' is an univocal identifier assigned to a game entity. It is given by the following statement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;short nHandle = (iEntityIndexInPool &amp;lt;&amp;lt; 8) | ucEntityFlag;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:R* compiler won't let you assign different entity types to the same variable or using a variable which hasn't been passed to any [[#Commands|command]] designated to the creation of an entity.&lt;br /&gt;
&lt;br /&gt;
==Operators==&lt;br /&gt;
&lt;br /&gt;
In general, an ''operator'' is a token string that represents a math calculation or an operation of any other kind, in order to make the code understanding clearer at a glance.&lt;br /&gt;
&lt;br /&gt;
===Arithmetic===&lt;br /&gt;
&lt;br /&gt;
''Arithmetic operators'' compute some of the most common algebric calculations between either a [[#Variables|variable]] and a [[#Value|value]] or two variables. As well as in some programming language happens, [[#CONST (pseudo)|CONST]], [[#TEXT_LABEL|TEXT_LABEL]] and [[#TEXT_LABEL16|TEXT_LABEL16]] types are free from these operators, except for the ''basic assignment''  (see also [[#Operators composition|Operators composition]]):&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator&lt;br /&gt;
!width=225px colspan=2|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!=&lt;br /&gt;
|align=center colspan=2|Assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Store ''expr1'' to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!+&lt;br /&gt;
|align=center colspan=2|Addition&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''+''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Add ''expr1'' to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
|align=center colspan=2|Subtraction&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''-''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Subtract ''expr1'' from ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!*&lt;br /&gt;
|align=center colspan=2|Multiplication&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''*''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr0'' by ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!/&lt;br /&gt;
|align=center colspan=2|Division&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''/''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Divide ''expr0'' by ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!+@&lt;br /&gt;
|align=center colspan=2|Timed addition&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''+@''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr2'' by delta time and add the result to ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!-@&lt;br /&gt;
|align=center colspan=2|Timed subtraction&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''-@''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr2'' by delta time and subtract the result from ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|++&lt;br /&gt;
|align=center rowspan=2|Increment&lt;br /&gt;
|align=center|Pre{{ref|preinc|[*]}}&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;'''++''' expr0&amp;lt;/code&amp;gt;&lt;br /&gt;
|rowspan=2|Increment ''expr0'' by 1 and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Post&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''++'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|--&lt;br /&gt;
|align=center rowspan=2|Decrement&lt;br /&gt;
|align=center|Pre{{ref|preinc|[*]}}&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;'''--''' expr0&amp;lt;/code&amp;gt;&lt;br /&gt;
|rowspan=2|Decrement ''expr0'' by 1 and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Post&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''--'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:{{note|preinc}} Pre and post increments have no difference unlike what you would expect.&lt;br /&gt;
&lt;br /&gt;
Yet, you can put the ''assignment'' and ''algebric'' operators together inline as follows:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operators&lt;br /&gt;
!width=225px|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!= +&lt;br /&gt;
|align=center|Addition and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''+''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Add ''expr2'' to ''expr1'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!= -&lt;br /&gt;
|align=center|Subtraction and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''-''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Subtract ''expr2'' from ''expr1'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!= *&lt;br /&gt;
|align=center|Multiplication and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''*''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr1'' by ''expr2'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!= /&lt;br /&gt;
|align=center|Division and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''/''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Divide ''expr1'' by ''expr2'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!= +@&lt;br /&gt;
|align=center|Timed addition and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''+@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr2'' by delta time, add the result to ''expr1'' and store everything to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!= -@&lt;br /&gt;
|align=center|Timed subtraction and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1{{ref|expr01|[*]}} '''-@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr2'' by delta time, subtract the result from ''expr1'' and store everything to ''expr0''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:{{note|expr01}} ''expr1'' can represent ''expr0'' too.&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:Multiple algebric operators per line are not allowed.&lt;br /&gt;
&lt;br /&gt;
===Compound assignment===&lt;br /&gt;
&lt;br /&gt;
''Compound assignment operators'' store [[#Value|values]] or [[#Variables|variable]] content to other variables having a particular type afterwards the computation of an arithmetic operation, to squeeze the code and clear it up from granted repetitions:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator&lt;br /&gt;
!width=225px|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!+=&lt;br /&gt;
|align=center|Addition assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''+=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Add ''expr1'' to ''expr0'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!-=&lt;br /&gt;
|align=center|Subtraction assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''-=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Subtract ''expr1'' from ''expr0'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!*=&lt;br /&gt;
|align=center|Multiplication assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''*=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr0'' by ''expr1'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!/=&lt;br /&gt;
|align=center|Division assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''/=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Divide ''expr0'' by ''expr1'' and store the result to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!+=@&lt;br /&gt;
|align=center|Timed addition assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''+=@''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr1'' by delta time, add the result to ''expr0'' and store everything to ''expr0''&lt;br /&gt;
|-&lt;br /&gt;
!-=@&lt;br /&gt;
|align=center|Timed subtraction assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''-=@''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiply ''expr1'' by delta time, subtract the result from ''expr0'' and store everything to ''expr0''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Uncompounded assignment===&lt;br /&gt;
&lt;br /&gt;
''Uncompounded assignment operators'' are those on their own, or rather they are neither derivable nor decomposable similarly as those [[#Compound assignment|compounds]]:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator&lt;br /&gt;
!width=225px|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!=#&lt;br /&gt;
|align=center|Cast assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=#''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Cast ''expr1'' to any other type and store the result to ''expr0''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:Supported conversions are [[#FLOAT|FLOAT]] to [[#INT|INT]] and '''INT''' to '''FLOAT'''.&lt;br /&gt;
&lt;br /&gt;
===Logical===&lt;br /&gt;
&lt;br /&gt;
''Logical operators'' influence the way conditions are evalueted and enable to test more of them at a time. More than anything, they are built-in statements:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator&lt;br /&gt;
!width=225px|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!NOT&lt;br /&gt;
|align=center|Logical negation&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF '''NOT''' condition0&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''condition0'' is false&lt;br /&gt;
|-&lt;br /&gt;
!AND&lt;br /&gt;
|align=center|Logical conjunction&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF condition0&amp;lt;br/&amp;gt;'''AND''' condition8&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if both ''condition0'' and ''conditionN'' are true&lt;br /&gt;
|-&lt;br /&gt;
!OR&lt;br /&gt;
|align=center|Logical disjunction&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF condition0&amp;lt;br/&amp;gt;'''OR''' condition8&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if either ''condition0'' or ''conditionN'' is true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Comparison===&lt;br /&gt;
&lt;br /&gt;
''Comparison operators'' test the truth or falsity of the relation between either a [[#Variables|variable]] and a [[#Value|value]], a value and a variable or two variables:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator&lt;br /&gt;
!width=225px|Name&lt;br /&gt;
!width=225px|Syntax&lt;br /&gt;
!width=550px|Description&lt;br /&gt;
|-&lt;br /&gt;
!=&lt;br /&gt;
|align=center|Equal to&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF expr0 '''=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''expr0'' and ''expr1'' are equal&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;&lt;br /&gt;
|align=center|Greater than&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF expr0 '''&amp;gt;''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''expr0'' is greater than ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;{{ref|inverr|[*]}}&lt;br /&gt;
|align=center|Lesser than&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF expr0 '''&amp;lt;''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''expr0'' is lesser than ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;=&lt;br /&gt;
|align=center|Greater than or equal to&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF expr0 '''&amp;gt;=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''expr0'' is greater than or equal to ''expr1''&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;={{ref|inverr|[*]}}&lt;br /&gt;
|align=center|Lesser than or equal to&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;IF expr0 '''&amp;lt;=''' expr1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Test if ''expr0'' is lesser than or equal to ''expr1''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:{{note|inverr}} As a result of a critical bug, R* compiler mistakenly applies the operator inversion.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
&lt;br /&gt;
A ''command'' is a ''symbolic name'' associated to an [[#Command ID|identifier]] which executes a ''portion of code'' that specifies the operation to be performed by passing ''zero or more arguments''. An ''argument'' is in turn some data given as input to a command. Normally, commands have a defined amount of arguments and those not, such as '''START_NEW_SCRIPT''', can pass as many arguments as the available [[#Local|local]] [[#Variables|variables]] are, except [[#Timers|timers]]. Being a procedure, a command does not return [[#Value|values]] that can be assigned to a variable, even though the boolean flag is kept whenever it is used as a ''condition''. It follows the common programming syntax adopted for ''function calls'':&lt;br /&gt;
&lt;br /&gt;
 {commandname} [{anyvalue0|varname0} ... {anyvalueN|varnameN}]&lt;br /&gt;
&lt;br /&gt;
===Alternators===&lt;br /&gt;
&lt;br /&gt;
An ''alternator'' is a set of alternative and akin commands chosen specifically during the compilation on the basis of the multiple implementations of the commands binded to the reference set, according to the different argument data types but NOT the [http://en.wikipedia.org/wiki/Arity arity]. The aforementioned sets are listed below:&lt;br /&gt;
&lt;br /&gt;
* {{icon|t}} {{icon|lcs}} {{icon|vcs}}:&lt;br /&gt;
** '''SET (=)'''&lt;br /&gt;
** '''CSET (=#)'''&lt;br /&gt;
** '''ADD_THING_TO_THING (+=)'''&lt;br /&gt;
** '''SUB_THING_FROM_THING (-=)'''&lt;br /&gt;
** '''MULT_THING_BY_THING (*=)'''&lt;br /&gt;
** '''DIV_THING_BY_THING (/=)'''&lt;br /&gt;
** '''IS_THING_EQUAL_TO_THING (=)'''&lt;br /&gt;
** '''IS_THING_NOT_EQUAL_TO_THING (NOT =)'''&lt;br /&gt;
** '''IS_THING_GREATER_THAN_THING (&amp;gt;, &amp;lt;=)'''&lt;br /&gt;
** '''IS_THING_GREATER_OR_EQUAL_TO_THING (&amp;gt;=, &amp;lt;)'''&lt;br /&gt;
** '''ADD_THING_TO_THING_TIMED (+=@)'''&lt;br /&gt;
** '''SUB_THING_FROM_THING_TIMED (-=@)'''&lt;br /&gt;
** '''ABS'''&lt;br /&gt;
* {{icon|sa}}:&lt;br /&gt;
** '''IS_EMPTY'''&lt;br /&gt;
** '''IS_BIT_SET'''&lt;br /&gt;
** '''SET_BIT'''&lt;br /&gt;
** '''CLEAR_BIT'''&lt;br /&gt;
** '''STRING_CAT'''&lt;br /&gt;
&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
===Hardcoded===&lt;br /&gt;
&lt;br /&gt;
''Hardcoded commands'' are those which have unique characteristics and are handled internally:&lt;br /&gt;
&lt;br /&gt;
* {{icon|t}} {{icon|lcs}} {{icon|vcs}}:&lt;br /&gt;
** '''GOTO'''&lt;br /&gt;
** '''GOTO_IF_FALSE'''&lt;br /&gt;
** '''TERMINATE_THIS_SCRIPT'''&lt;br /&gt;
** '''START_NEW_SCRIPT'''&lt;br /&gt;
** '''VAR_INT'''&lt;br /&gt;
** '''VAR_FLOAT'''&lt;br /&gt;
** '''LVAR_INT'''&lt;br /&gt;
** '''LVAR_FLOAT'''&lt;br /&gt;
** '''{'''&lt;br /&gt;
** '''}'''&lt;br /&gt;
** '''REPEAT'''&lt;br /&gt;
** '''ENDREPEAT'''&lt;br /&gt;
** '''IF'''&lt;br /&gt;
** '''IFNOT'''&lt;br /&gt;
** '''ELSE'''&lt;br /&gt;
** '''ENDIF'''&lt;br /&gt;
** '''WHILE'''&lt;br /&gt;
** '''WHILENOT'''&lt;br /&gt;
** '''ENDWHILE'''&lt;br /&gt;
** '''ANDOR'''&lt;br /&gt;
** '''LAUNCH_MISSION'''&lt;br /&gt;
** '''SAVE_VAR_INT'''&lt;br /&gt;
** '''SAVE_VAR_FLOAT'''&lt;br /&gt;
** '''START_CUTSCENE'''{{ref|depcnt|[*]}}&lt;br /&gt;
** '''PLAYER_MADE_PROGRESS'''&lt;br /&gt;
** '''SET_PROGRESS_TOTAL'''{{ref|thgtot|[*]}}&lt;br /&gt;
** '''REGISTER_MISSION_GIVEN'''{{ref|depcnt|[*]}}&lt;br /&gt;
** '''REGISTER_MISSION_PASSED'''&lt;br /&gt;
** '''SCRIPT_NAME'''&lt;br /&gt;
** '''LOAD_AND_LAUNCH_MISSION'''&lt;br /&gt;
** '''LOAD_AND_LAUNCH_MISSION_INTERNAL'''&lt;br /&gt;
** '''SET_TOTAL_NUMBER_OF_MISSIONS'''{{ref|thgtot|[*]}}&lt;br /&gt;
** '''VAR_TEXT_LABEL'''&lt;br /&gt;
** '''LVAR_TEXT_LABEL'''&lt;br /&gt;
* {{icon|vc}} {{icon|sa}} {{icon|lcs}} {{icon|vcs}}:&lt;br /&gt;
** '''REGISTER_ODDJOB_MISSION_PASSED'''&lt;br /&gt;
* {{icon|3}} {{icon|lcs}} {{icon|vcs}}:&lt;br /&gt;
** '''GOTO_IF_TRUE'''&lt;br /&gt;
** '''GOSUB_FILE'''&lt;br /&gt;
* {{icon|3}} {{icon|vc}}:&lt;br /&gt;
** '''CREATE_COLLECTABLE1'''&lt;br /&gt;
** '''SET_COLLECTABLE1_TOTAL'''{{ref|thgtot|[*]}}&lt;br /&gt;
* {{icon|vc}} {{icon|sa}}:&lt;br /&gt;
** '''LOAD_AND_LAUNCH_MISSION_EXCLUSIVE'''&lt;br /&gt;
* {{icon|lcs}} {{icon|vcs}}:&lt;br /&gt;
** '''CALL'''&lt;br /&gt;
** '''CALLNOT'''&lt;br /&gt;
* {{icon|sa}}:&lt;br /&gt;
** '''VAR_TEXT_LABEL16'''&lt;br /&gt;
** '''LVAR_TEXT_LABEL16'''&lt;br /&gt;
** '''SWITCH'''&lt;br /&gt;
** '''ENDSWITCH'''&lt;br /&gt;
** '''CASE'''&lt;br /&gt;
** '''DEFAULT'''&lt;br /&gt;
** '''BREAK'''&lt;br /&gt;
** '''SWITCH_START'''&lt;br /&gt;
** '''SWITCH_CONTINUED'''&lt;br /&gt;
* {{icon|vcs}}:&lt;br /&gt;
** '''SAVE_VAR_TEXT_LABEL'''{{ref|thgtot|[*]}}&lt;br /&gt;
** '''SET_COLLECTABLE2_TOTAL'''&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:{{note|thgtot}} The argument of these commands must be set respectively according to:&lt;br /&gt;
:* The sum of '''PLAYER_MADE_PROGRESS''' values;&lt;br /&gt;
:* The amount of '''REGISTER_MISSION_PASSED''' (those that don't have an immediate value are excluded) and '''REGISTER_ODDJOB_MISSION_PASSED''';&lt;br /&gt;
:* The amount of '''CREATE_COLLECTABLE1'''.&lt;br /&gt;
:If the argument of the listed commands differs from what expected, a 0-value must be passed;&lt;br /&gt;
:{{note|depcnt}} This command was intended to be counted originally but its counter got deprecated.&lt;br /&gt;
&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
===WAIT===&lt;br /&gt;
&lt;br /&gt;
'''WAIT''' stops the execution of a [[#Structure|script]] according to some milliseconds after which it will resume again. Indeed, it is absolutely necessary into ''infinite loops'' or those that may or may not break after more than one frame, such as the [[#WHILE|WHILE]] control flow. In this case, a [[#INT|INT]] equal to 0 is passed.&lt;br /&gt;
&lt;br /&gt;
===GOTO===&lt;br /&gt;
&lt;br /&gt;
'''GOTO''' jumps to the [[#Labels|label]] of any location of the source code but conceptually it should never point off the current context. It is also used internally to build the [[#Control flows|control flows]] offered by the scripting language:&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 goto_ref0:&lt;br /&gt;
 GOTO goto_refN&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 goto_refN:&lt;br /&gt;
 GOTO goto_ref0&lt;br /&gt;
&lt;br /&gt;
===ANDOR===&lt;br /&gt;
&lt;br /&gt;
'''ANDOR''' sets out the way the comparison among more conditions have to occur (see also [[#Compare flag|Compare flag]]).&lt;br /&gt;
&lt;br /&gt;
===GOTO_IF_TRUE===&lt;br /&gt;
&lt;br /&gt;
'''GOTO_IF_TRUE''' operates in conjunction with [[#ANDOR|ANDOR]] and jumps to a [[#Labels|label]] if the returned boolean flag is true.&lt;br /&gt;
&lt;br /&gt;
===GOTO_IF_FALSE===&lt;br /&gt;
&lt;br /&gt;
Unlike [[#GOTO_IF_TRUE|GOTO_IF_TRUE]], '''GOTO_IF_FALSE''' jumps to the desired [[#Labels|label]] only if the comparison returns false.&lt;br /&gt;
&lt;br /&gt;
===SCRIPT_NAME===&lt;br /&gt;
&lt;br /&gt;
'''SCRIPT_NAME''' simply associates an unique name to the current working [[#Structure|script]].&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:R* compiler doesn't enable you to associate a name previously used for another script.&lt;br /&gt;
&lt;br /&gt;
===SAVE_STRING_TO_DEBUG_FILE===&lt;br /&gt;
&lt;br /&gt;
'''SAVE_STRING_TO_DEBUG_FILE''' accepts an argument which can admit up to ''127 characters plus the null-terminator''. In the compiling process, the argument is skipped but its string is copied to a predefined ''128-bytes buffer'', compiled afterwards. Since {{icon|vc}}, these are the seemingly predetermined bytes of a random empty string block which are actually the result of uninitialized data:&lt;br /&gt;
&lt;br /&gt;
 00 00 41 00 09 2E 00 00 00 00 00 00 '''00''' 00 00 00 &lt;br /&gt;
 09 2E 00 00 00 00 00 00 1C FB 12 00 D8 A8 41 00&lt;br /&gt;
 00 00 41 00 09 2E 00 00 00 00 00 00 '''01''' 00 00 00 &lt;br /&gt;
 09 2E 00 00 00 00 00 00 1C FB 12 00 D8 A8 41 00&lt;br /&gt;
 00 00 41 00 09 2E 00 00 00 00 00 00 '''02''' 00 00 00 &lt;br /&gt;
 09 2E 00 00 00 00 00 00 1C FB 12 00 D8 A8 41 00&lt;br /&gt;
 00 00 41 00 09 2E 00 00 00 00 00 00 '''03''' 00 00 00 &lt;br /&gt;
 09 2E 00 00 00 00 00 00 1C FB 12 00 D8 A8 41 00&lt;br /&gt;
&lt;br /&gt;
The split of such bytes into 4 blocks of 32-bytes each is quite noticeable.&lt;br /&gt;
&lt;br /&gt;
==Constants==&lt;br /&gt;
&lt;br /&gt;
A ''constant'' is a ''symbolic name'' associated to a specific [[#Value|value]]. When compiling, their caption is converted to the assigned value. Since {{icon|vc}}, names and identifiers of objects within [[OBJS]] and [[TOBJ]] blocks are loaded from every ''IDE'' file defined into [[gta.dat|gta_vc.dat]], then those of vehicles and pedestrians within [[PEDS]] and [[CARS]] blocks are retrieved from [[default.ide]]. In {{icon|sa}}, they are listed into ''TXT'' files, whose name follows the [[Wikipedia:CamelCase|Pascal Case]] (eg. ''AudioEvents.txt''). These files respect the syntax below:&lt;br /&gt;
&lt;br /&gt;
 {constname0} {constvalue0}&lt;br /&gt;
 &lt;br /&gt;
 {constnameN} {constvalueN}&lt;br /&gt;
&lt;br /&gt;
''Constant names and values'' are divided by as many ''spaces'' or ''tabulations'' as you want. ''Constant lines'' are distinguished by two '''\n''' (new line) characters. The ''model names'' which aren't assigned to a constant are still valid (see also [[#Identifiers|Identifiers]]). Keep in mind arguments of some [[#Commands|commands]] having the [[#CONST (pseudo)|CONST]] type accept only ''constant values'' of a single ''namespace''.&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:Constants don't collide even though they belong to different namespaces;&lt;br /&gt;
:In {{icon|3}} and {{icon|vc}}, they are hardcoded as everything inside R* compiler;&lt;br /&gt;
:In {{icon|sa}}, the subdivision of constant namespaces in files might be just a listing of hardcoded constants useful for developers. The same would apply to {{icon|lcs}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
==Formatting==&lt;br /&gt;
&lt;br /&gt;
Everything is ''case-insensitive'', that means the uppercase and lowercase letters have no dissimilarities when taken. Usually, the source code is conform to the same formatting according to:&lt;br /&gt;
&lt;br /&gt;
* [[#Labels|Labels]] and [[#Variables|variables]] are entirely in lowercase;&lt;br /&gt;
* [[#Declaration|Declarations]], [[#Commands|commands]] and [[#Control flows|control flows]] are in uppercase;&lt;br /&gt;
* [[#Constants|Constants]] are mostly in uppercase but the lowercase variant can be seen as well.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
=Compiling=&lt;br /&gt;
&lt;br /&gt;
==Structure==&lt;br /&gt;
&lt;br /&gt;
The source code is split up into several ''SC'' files which comprehend ''main file'', ''foreign gosubs'', ''subscripts'', ''mission scripts'', and ''streamed scripts''. These files can be included more times because they are actually processed once.&lt;br /&gt;
&lt;br /&gt;
===Main file===&lt;br /&gt;
----&lt;br /&gt;
The ''main file'' is the most significant part of the whole source. It can include many script files and/or embedded ''gosubs'', ''scripts'' or ''functions''. Originally, it is characterized by the absence of the [[#Local|local]] [[#Scope|scope]]. It must be put outside the directory, having the same name as the main script file, where all other foreign scripts must be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;directory&amp;gt;&lt;br /&gt;
 | main&lt;br /&gt;
 |  | gosub&lt;br /&gt;
 |  |  |- gosub1.sc&lt;br /&gt;
 |  |  \- gosubN.sc&lt;br /&gt;
 |  | subscript&lt;br /&gt;
 |  |  |- subscript1.sc&lt;br /&gt;
 |  |  \- subscriptN.sc&lt;br /&gt;
 |  | mission_guy&lt;br /&gt;
 |  |  |- mission_guy1.sc&lt;br /&gt;
 |  |  \- mission_guyN.sc&lt;br /&gt;
 |  |- gosub.sc&lt;br /&gt;
 |  |- subscript.sc&lt;br /&gt;
 |  \- mission.sc&lt;br /&gt;
 \- main.sc&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:R* compiler will scan subfolders too.&lt;br /&gt;
&lt;br /&gt;
===Foreign gosubs===&lt;br /&gt;
----&lt;br /&gt;
''Foreign gosubs'' (also called ''subroutines'') are ''main extension files''. They are called using the '''GOSUB_FILE''' [[#Commands|command]] which jumps to a specific [[#Labels|label]] and executes some code that returns back to the place where it has been called with '''RETURN'''. You are able to specify the gosub label to start jumping at as well:&lt;br /&gt;
&lt;br /&gt;
 // File: main.sc&lt;br /&gt;
 &lt;br /&gt;
 GOSUB_FILE gosub_ref foreign_gosub.sc&lt;br /&gt;
&lt;br /&gt;
 // File: foreign_gosub.sc&lt;br /&gt;
 &lt;br /&gt;
 gosub_ref:&lt;br /&gt;
 {&lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
 RETURN&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:Foreign gosubs were introduced since {{icon|3}}. They were unused in {{icon|vc}} and got removed in {{icon|sa}}, but then they were reimplemented in {{icon|lcs}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
====Gosubs====&lt;br /&gt;
&lt;br /&gt;
As mentioned, ''gosubs'' are also embedded in any script file. They follow almost the same rules, except they are called by '''GOSUB''' and can actually inehrit the [[#Local|local]] [[#Scope|scope]] of the parent script:&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 GOSUB gosub_ref&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 gosub_ref:&lt;br /&gt;
 {&lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
 RETURN&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:R* compiler doesn't take care if the code within a scope jumps to a gosub inside which another scope is declared. It is strongly recommended to pay attention at this issue or you will fall down into an irreparable local [[#Variables|variable]] mismatch.&lt;br /&gt;
&lt;br /&gt;
===Subscripts===&lt;br /&gt;
----&lt;br /&gt;
''Subscripts'' are code blocks which take part of a ''queue of other scripts'' and are allocated over the memory by '''LAUNCH_MISSION'''. They are denoted by the presence of '''MISSION_START''' at the very top of the mission file. As long as they aren't ended with '''MISSION_END''', their execution never expires till the end of the game process. Each one works independently, even though they are able to share [[#Global|global]] [[#Variables|variables]]:&lt;br /&gt;
&lt;br /&gt;
 // File: main.sc&lt;br /&gt;
 &lt;br /&gt;
 LAUNCH_MISSION subscript.sc&lt;br /&gt;
&lt;br /&gt;
 // File: subscript.sc&lt;br /&gt;
 &lt;br /&gt;
 MISSION_START&lt;br /&gt;
 &lt;br /&gt;
 [VAR_* {varname0}[,] [... {varnameN}]]&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT_NAME main&lt;br /&gt;
 &lt;br /&gt;
 subscript_loop:&lt;br /&gt;
 {&lt;br /&gt;
     [LVAR_* {varname0}[,] [... {varnameN}]]&lt;br /&gt;
 &lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
 //GOTO subscript_loop&lt;br /&gt;
 MISSION_END&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:'''MISSION_START''' is a special and fake directive that isn't assigned to any [[#Commands|command]]. R* compiler will notify an error if it isn't placed at the first line of a subscript or a [[#Mission scripts|mission script]];&lt;br /&gt;
:'''MISSION_END''' is an alias of '''TERMINATE_THIS_SCRIPT'''.&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
&lt;br /&gt;
As for [[#Gosubs|gosubs]], ''scripts'' can be embedded everywhere in a script file. They are started by '''START_NEW_SCRIPT''' which has an undefined amount of arguments, whose type must match with those of each [[#Local|local]] variable of the starting script in order to be passed, else the compilation will interrupt. Unlike subscripts, they get terminated by '''TERMINATE_THIS_SCRIPT''' or '''TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME''' (elsewhere in another script):&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 START_NEW_SCRIPT script [{anyvalue0|varname0} ... {anyvalueN|varnameN}]&lt;br /&gt;
&lt;br /&gt;
 // File: any.sc&lt;br /&gt;
 &lt;br /&gt;
 script:&lt;br /&gt;
 {&lt;br /&gt;
     SCRIPT_NAME script&lt;br /&gt;
 &lt;br /&gt;
 script_loop:&lt;br /&gt;
 &lt;br /&gt;
     [LVAR_* {varname0}[,] [... {varnameN}]]&lt;br /&gt;
 &lt;br /&gt;
     [...]&lt;br /&gt;
 &lt;br /&gt;
     //GOTO script_loop&lt;br /&gt;
     TERMINATE_THIS_SCRIPT&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:Scripts must have a local [[#Scope|scope]];&lt;br /&gt;
:Script commands must be inserted within or after the local scope;&lt;br /&gt;
:Since {{icon|vc}}, the ''opening curly bracket'' must be put before the script [[#Labels|label]] when more arguments are passed.&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
===Mission scripts===&lt;br /&gt;
----&lt;br /&gt;
''Mission scripts'' are those [[#Subscripts|subscripts]] which are responsible for the presence of a storyline in the game. When they are launched with '''LOAD_AND_LAUNCH_MISSION''', the mission is loaded in the mission block, allocated over the memory and the script pointer is moved to the corresponding mission [[#Offsets|offset]]. Do not forget to begin a mission script with '''MISSION_START''' and end it with '''MISSION_END''':&lt;br /&gt;
&lt;br /&gt;
 // File: main.sc&lt;br /&gt;
 &lt;br /&gt;
 LOAD_AND_LAUNCH_MISSION mission.sc&lt;br /&gt;
&lt;br /&gt;
 // File: mission.sc&lt;br /&gt;
 &lt;br /&gt;
 MISSION_START&lt;br /&gt;
 &lt;br /&gt;
 GOSUB mission_start&lt;br /&gt;
 &lt;br /&gt;
 IF HAS_DEATHARREST_BEEN_EXECUTED&lt;br /&gt;
     GOSUB mission_failed&lt;br /&gt;
 ENDIF&lt;br /&gt;
 &lt;br /&gt;
 GOSUB mission_cleanup&lt;br /&gt;
 &lt;br /&gt;
 MISSION_END&lt;br /&gt;
 &lt;br /&gt;
 [VAR_* {varname0}[,] [... {varnameN}]]&lt;br /&gt;
 &lt;br /&gt;
 mission_start:&lt;br /&gt;
 &lt;br /&gt;
 REGISTER_MISSION_GIVEN&lt;br /&gt;
 SCRIPT_NAME mission&lt;br /&gt;
 &lt;br /&gt;
 // Variables initialization&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
     [LVAR_* {varname0}[,] [... {varnameN}]]&lt;br /&gt;
 &lt;br /&gt;
     [...]&lt;br /&gt;
 }&lt;br /&gt;
 GOTO mission_passed&lt;br /&gt;
 &lt;br /&gt;
 mission_failed:&lt;br /&gt;
 [...]&lt;br /&gt;
 RETURN&lt;br /&gt;
 &lt;br /&gt;
 mission_passed:&lt;br /&gt;
 REGISTER_MISSION_PASSED mission&lt;br /&gt;
 //PLAYER_MADE_PROGRESS 1&lt;br /&gt;
 [...]&lt;br /&gt;
 RETURN&lt;br /&gt;
 &lt;br /&gt;
 // Mark everything as no longer needed&lt;br /&gt;
 &lt;br /&gt;
 mission_cleanup:&lt;br /&gt;
 //MISSION_HAS_FINISHED&lt;br /&gt;
 [...]&lt;br /&gt;
 RETURN&lt;br /&gt;
&lt;br /&gt;
Some missions doesn't need to be executed multiple times because they may just initialize some [[#Global|global]] [[#Variables|variables]] defined in the [[#Main file|main]] script or launch the intro mission. For this matter, here comes the usage of '''LOAD_AND_LAUNCH_MISSION_EXCLUSIVE''':&lt;br /&gt;
&lt;br /&gt;
 // File: main.sc&lt;br /&gt;
 &lt;br /&gt;
 LOAD_AND_LAUNCH_MISSION_EXCLUSIVE initial.sc&lt;br /&gt;
 LOAD_AND_LAUNCH_MISSION_EXCLUSIVE intro.sc&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:Exclusive missions are never launched in the source code. It's likely, it was an idea not came to the end successfully or rather they were useful for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:'''LOAD_AND_LAUNCH_MISSION_EXCLUSIVE''' is available only in {{icon|vc}} and {{icon|sa}};&lt;br /&gt;
:Only 2 exclusive missions in {{icon|vc}} and 3 in {{icon|sa}} are handled, plus they must be launched before any of the counterpart.&lt;br /&gt;
&lt;br /&gt;
===Streamed scripts===&lt;br /&gt;
----&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
==Control flows==&lt;br /&gt;
&lt;br /&gt;
As usual, the evolution of something implies its development over the years. Alongside, the ''control flows'' implementation has been distributed equally into every chapter. Their definitions are similar to those used in ''pseudocodes'' resulting in a ''raw source code''. However, you are still able to build your own control flows:&lt;br /&gt;
&lt;br /&gt;
 ANDOR {value}&lt;br /&gt;
     [NOT] {condition0}&lt;br /&gt;
     [[NOT] {condition8}]&lt;br /&gt;
 GOTO_IF_FALSE ELSE&lt;br /&gt;
     {consequence}&lt;br /&gt;
     [GOTO ENDIF]&lt;br /&gt;
 ELSE:&lt;br /&gt;
     [{alternative}&lt;br /&gt;
 ENDIF:]&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:It's likely, user-made control flows weren't intended to be usable because R* compiler cannot recognize an [[#Comparison|equal to]] rather than an [[#Arithmetic|assignment]] operator.&lt;br /&gt;
&lt;br /&gt;
===IF===&lt;br /&gt;
&lt;br /&gt;
'''IF''' is one of the most widespread ''conditional statements'' which executes some codes by evaluating a boolean flag, the returning value of one or more conditions. According to the returning value, either the ''consequence'' or the ''alternative'' will be performed. The condition result can be inverted by appending the '''NOT''' [[#Logical|logical operator]] before. More conditions require the use of the remaining logical operators, they are '''AND''', when verifying if all conditions evaluate true, and '''OR''', while testing if just one is satisfied. The syntax below summarize the whole explanation:&lt;br /&gt;
&lt;br /&gt;
 IF [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 [ELSE&lt;br /&gt;
     {alternative}]&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:More than ''8 conditions'' per statement aren't allowed.&lt;br /&gt;
&lt;br /&gt;
===IFNOT===&lt;br /&gt;
&lt;br /&gt;
'''IFNOT''' is a variation of the '''IF''' statement as already stated. As opposed to its closest relative, the conditions evaluetion is reversed, that is the ''consequence'' is perfomed when the boolean flag is false, else the ''alternative'' is executed:&lt;br /&gt;
&lt;br /&gt;
 IFNOT [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 [ELSE&lt;br /&gt;
     {alternative}]&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:It is supported in {{icon|3}}, {{icon|lcs}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
===WHILE===&lt;br /&gt;
&lt;br /&gt;
Alike '''IF''', '''WHILE''' is a conditional statement. The only difference consists in how it performs the ''consequence'', that is it ''loops'' every line of code built into if the boolean flag is true:&lt;br /&gt;
&lt;br /&gt;
 WHILE [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDWHILE&lt;br /&gt;
&lt;br /&gt;
===WHILENOT===&lt;br /&gt;
&lt;br /&gt;
'''WHILENOT''' acts seemingly like the '''WHILE''' statement, as all condition truths are inverted and therefore the ''consequence'' is performed over and over again until the boolean flag becomes true:&lt;br /&gt;
&lt;br /&gt;
 WHILENOT [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDWHILE&lt;br /&gt;
&lt;br /&gt;
;Limit&lt;br /&gt;
:It is supported in {{icon|3}}, {{icon|lcs}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
===REPEAT===&lt;br /&gt;
&lt;br /&gt;
Similar to the '''WHILE''' statement, '''REPEAT''' ''iterates'' the ''consequence'' repeatedly depending on a 0-value incremental [[#Variables|variable]] which rises till the times specified:&lt;br /&gt;
&lt;br /&gt;
 REPEAT {times} {varname}&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDREPEAT&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:It is supported since {{icon|vc}};&lt;br /&gt;
:The times must be positive;&lt;br /&gt;
:The code will be read at least once in any case.&lt;br /&gt;
&lt;br /&gt;
===SWITCH===&lt;br /&gt;
&lt;br /&gt;
Basically, '''SWITCH''' is a ''group of concatenated '''IF''' statements''. When a condition is false the next '''CASE''' statement gets performed, otherwise the ''consequence'' is executed till a '''BREAK''' occurs and so the code jumps to the end of the construct. If none of the cases is true, a '''DEFAULT''' clause may be carried out:&lt;br /&gt;
&lt;br /&gt;
 SWITCH {varname}&lt;br /&gt;
     CASE {value0}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK&lt;br /&gt;
     [CASE {valueN}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK]&lt;br /&gt;
     [DEFAULT&lt;br /&gt;
         {alternative}&lt;br /&gt;
         BREAK]&lt;br /&gt;
 ENDSWITCH&lt;br /&gt;
&lt;br /&gt;
;Limits&lt;br /&gt;
:It is supported since {{icon|sa}};&lt;br /&gt;
:'''CASE''' allows the use of [[#INT|INT]] and [[#CONST (pseudo)|CONST]] values only;&lt;br /&gt;
:In {{icon|sa}}, values must be sorted (R* compiler should do it implicitely);&lt;br /&gt;
:Every '''CASE''' including '''DEFAULT''' must end with a '''BREAK'''.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
=Decompiling=&lt;br /&gt;
&lt;br /&gt;
==Structure==&lt;br /&gt;
&lt;br /&gt;
For further information about the SCM file format, read [[Mission_Scripting (Overview)|this]] article. Take into account the compiling order of each ''SC'' file is [[#Main file|main file]] » [[#Foreign gosubs|foreign gosubs]] » [[#Subscripts|subscripts]] » [[#Mission scripts|mission scripts]] apart from the reading order of the commands used to include them. [[#Streamed scripts|Streamed scripts]] are compiled individually into the ''script.img'' file. On the other hand, [[#Functions|functions]] are compiled like [[#Gosubs|gosubs]].&lt;br /&gt;
&lt;br /&gt;
==Identifiers==&lt;br /&gt;
&lt;br /&gt;
''Undefined [[#Constants|constants]]'' of model identifiers, whose name refers to a [[DFF]] which is presumably archived into any of the [[IMG]]&amp;lt;nowiki&amp;gt;s&amp;lt;/nowiki&amp;gt;, loaded by the game, are overwritten by a decrementing value in the order they get compiled. These ''model names'' are then put into the second segment of the ''SCM header''. Those of [[#Mission scripts|mission scripts]] and [[#Streamed scripts|streamed scripts]] respect the same rule except the fact they are turned into a zero-based growing identifier, while exclusive mission scripts are launched by a negative identifier resulting from the bits inversion (bitwise complement).&lt;br /&gt;
&lt;br /&gt;
==Offsets==&lt;br /&gt;
&lt;br /&gt;
An ''offset'' is a ''32-bit signed integer'' which points to a location of the script file. Those within the [[#Main file|main file]], [[#Foreign gosubs|foreign gosubs]] and [[#Subscripts|subscripts]] are ''absolute offsets'' that start from the beginning of the main script, while the ones inside [[#Mission scripts|mission scripts]] and [[#Streamed scripts|streamed scripts]] are ''relative and negative offsets'' starting from their beginning. The offset is related to [[#Global|global]] [[#Variables|variables]] as well, whose interval goes from ''8'' and ends to ''65532'' (''0xFFFC''), each one is aligned to the nearest 4 bytes.&lt;br /&gt;
&lt;br /&gt;
==Variables range==&lt;br /&gt;
&lt;br /&gt;
The following table shows the [[#Variables|variables]] range of the [[#Local|local]] [[#Scope|scope]] for each game version:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=text-align:center&lt;br /&gt;
!Context&lt;br /&gt;
!width=50px|{{icon|3}}&lt;br /&gt;
!width=50px|{{icon|vc}}&lt;br /&gt;
!width=50px|{{icon|sa}}&lt;br /&gt;
!width=50px|{{icon|lcs}}&lt;br /&gt;
!width=50px|{{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Foreign gosubs|Foreign gosub]]/[[#Gosubs|Gosub]]||0-15||0-15||n/a||0-95||0-95&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Subscripts|Subscript]]/[[#Scripts|Script]]||0-15||0-15||0-31||0-95||0-95&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Mission scripts|Mission script]]||0-15||0-15||0-1023||0-95||0-95&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Streamed scripts|Streamed script]]||n/a||n/a||0-31||n/a||n/a&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Functions|Function]]||n/a||n/a||n/a||0-95||0-95&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
|align=left|[[#Timers|Timer]]||16-17||16-17||32-33||t0-t1||t0-t1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Operators composition==&lt;br /&gt;
&lt;br /&gt;
As far as you wouldn't know, SCM's [[#Operators|operators]] always take two operands to compute an operation. Their composition is listed below:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!width=70px|Operator/s&lt;br /&gt;
!width=200px colspan=2|Name&lt;br /&gt;
!width=200px|Syntax&lt;br /&gt;
!width=180px|Composition&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|++&lt;br /&gt;
|align=center rowspan=2|Increment&lt;br /&gt;
|align=center|Pre&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;'''++''' expr0&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center rowspan=2|&amp;lt;code&amp;gt;expr0 '''+=''' 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Post&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''++'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|--&lt;br /&gt;
|align=center rowspan=2|Decrement&lt;br /&gt;
|align=center|Pre&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;'''--''' expr0&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center rowspan=2|&amp;lt;code&amp;gt;expr0 '''-=''' 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Post&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''--'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= +&lt;br /&gt;
|align=center colspan=2|Addition and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''+''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''+=''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= -&lt;br /&gt;
|align=center colspan=2|Subtraction and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''-''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''-=''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= *&lt;br /&gt;
|align=center colspan=2|Multiplication and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''*''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''*=''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= /&lt;br /&gt;
|align=center colspan=2|Division and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''/''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''/=''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= +@&lt;br /&gt;
|align=center colspan=2|Timed addition and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''+@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''+=@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!= -@&lt;br /&gt;
|align=center colspan=2|Timed subtraction and assignment&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1 '''-@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|align=center|&amp;lt;code&amp;gt;expr0 '''=''' expr1&amp;lt;br/&amp;gt;expr0 '''-=@''' expr2&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Command ID==&lt;br /&gt;
&lt;br /&gt;
A ''command ID'' is a ''16-bit signed integer'' internal and progressive identifier, somehow referred to as part of the hexadecimal representation of an [http://en.wikipedia.org/wiki/Opcode opcode], which identifies the command to execute at runtime, forming the game's script [http://en.wikipedia.org/wiki/Bytecode bytecode]. The maximum number of available commands is ''32767'' (''0x7FFF''), since the least significant bit (''0x8000'') is set whenever they are used as ''negative conditions'' (those with the '''NOT''' [[#Logical|logical operator]], just to clear things up).&lt;br /&gt;
&lt;br /&gt;
==Command arguments==&lt;br /&gt;
&lt;br /&gt;
The limitation of the amount of arguments a [http://en.wikipedia.org/wiki/Variadic_function variadic] command can pass is game specific:&lt;br /&gt;
&lt;br /&gt;
* 16 for {{icon|3}} and {{icon|vc}};&lt;br /&gt;
* 32 for {{icon|sa}};&lt;br /&gt;
* 96 for {{icon|lcs}} and {{icon|vcs}}.&lt;br /&gt;
&lt;br /&gt;
==Managed commands==&lt;br /&gt;
&lt;br /&gt;
Here is the list of all managed [[#Commands|commands]] and their relative specifications:&lt;br /&gt;
&lt;br /&gt;
'''Legend:'''&lt;br /&gt;
&lt;br /&gt;
* '''Prefix:'''&lt;br /&gt;
** V, [[#Global|VAR]];&lt;br /&gt;
** L, [[#Local|LVAR]];&lt;br /&gt;
** A, ANY ([[#Value|VALUE]], VAR, LVAR).&lt;br /&gt;
&lt;br /&gt;
* '''Specifier:'''&lt;br /&gt;
** R, [[#LABEL|LABEL]];&lt;br /&gt;
** I, [[#INT|INT]];&lt;br /&gt;
** F, [[#FLOAT|FLOAT]];&lt;br /&gt;
** T, [[#TEXT_LABEL|TEXT_LABEL]];&lt;br /&gt;
** T16, [[#TEXT_LABEL16|TEXT_LABEL16]];&lt;br /&gt;
** T32, [[#TEXT_LABEL32|TEXT_LABEL32]];&lt;br /&gt;
** T[N], [[#TEXT|TEXT]];&lt;br /&gt;
** C, [[#CONST (pseudo)|CONST]];&lt;br /&gt;
** M, [[#MULTI (pseudo)|MULTI]].&lt;br /&gt;
&lt;br /&gt;
* '''Suffix:'''&lt;br /&gt;
** O, OPTIONAL.&lt;br /&gt;
&lt;br /&gt;
'''List:'''&lt;br /&gt;
&lt;br /&gt;
Be aware, the argument data types of the commands below are just informative:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div width=100% style=&amp;quot;overflow: auto; margin: -8px auto 8px&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable collapsible collapsed&amp;quot; style=text-align:center&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=3 colspan=2|Command&lt;br /&gt;
!rowspan=3|ID&lt;br /&gt;
!colspan=9|Arguments&lt;br /&gt;
|-&lt;br /&gt;
!width=45px rowspan=2|#&lt;br /&gt;
!width=45px rowspan=2|1&lt;br /&gt;
!width=45px rowspan=2|2&lt;br /&gt;
!width=45px rowspan=2|3&lt;br /&gt;
!width=45px rowspan=2|4&lt;br /&gt;
!width=45px rowspan=2|...&lt;br /&gt;
!width=45px rowspan=2|18&lt;br /&gt;
!width=45px rowspan=2|...&lt;br /&gt;
!width=45px|n+l&lt;br /&gt;
|-&lt;br /&gt;
!n+i+o&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|t}} {{icon|lcs}} {{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|MISSION_START{{ref|misdef|[*]}}&lt;br /&gt;
|&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOTO{{ref|statem|[*]}}&lt;br /&gt;
|[[0002|2]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|t}} {{icon|lcs}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=12|=&amp;lt;br/&amp;gt;SET!!SET_VAR_INT&lt;br /&gt;
|[[0004|4]]&lt;br /&gt;
!rowspan=12|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_VAR_FLOAT&lt;br /&gt;
|[[0005|5]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_INT&lt;br /&gt;
|[[0006|6]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_FLOAT&lt;br /&gt;
|[[0007|7]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_VAR_INT_TO_VAR_INT&lt;br /&gt;
|[[0084|132]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_INT_TO_LVAR_INT&lt;br /&gt;
|[[0085|133]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_VAR_FLOAT_TO_VAR_FLOAT&lt;br /&gt;
|[[0086|134]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_FLOAT_TO_LVAR_FLOAT&lt;br /&gt;
|[[0087|135]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_VAR_FLOAT_TO_LVAR_FLOAT&lt;br /&gt;
|[[0088|136]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_FLOAT_TO_VAR_FLOAT&lt;br /&gt;
|[[0089|137]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_VAR_INT_TO_LVAR_INT&lt;br /&gt;
|[[008A|138]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_INT_TO_VAR_INT&lt;br /&gt;
|[[008B|139]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=12|+=&amp;lt;br/&amp;gt;+&amp;lt;br/&amp;gt;ADD_THING_TO_THING!!ADD_VAL_TO_INT_VAR&lt;br /&gt;
|[[0008|8]]&lt;br /&gt;
!rowspan=12|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_VAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0009|9]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_VAL_TO_INT_LVAR&lt;br /&gt;
|[[000A|10]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_VAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[000B|11]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_INT_VAR_TO_INT_VAR&lt;br /&gt;
|[[0058|88]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_FLOAT_VAR_TO_FLOAT_VAR&lt;br /&gt;
|[[0059|89]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_INT_LVAR_TO_INT_LVAR&lt;br /&gt;
|[[005A|90]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_FLOAT_LVAR_TO_FLOAT_LVAR&lt;br /&gt;
|[[005B|91]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_INT_VAR_TO_INT_LVAR&lt;br /&gt;
|[[005C|92]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_FLOAT_VAR_TO_FLOAT_LVAR&lt;br /&gt;
|[[005D|93]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_INT_LVAR_TO_INT_VAR&lt;br /&gt;
|[[005E|94]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_FLOAT_LVAR_TO_FLOAT_VAR&lt;br /&gt;
|[[005F|95]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=12|-=&amp;lt;br/&amp;gt;-&amp;lt;br/&amp;gt;SUB_THING_FROM_THING!!SUB_VAL_FROM_INT_VAR&lt;br /&gt;
|[[000C|12]]&lt;br /&gt;
!rowspan=12|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_VAL_FROM_FLOAT_VAR&lt;br /&gt;
|[[000D|13]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_VAL_FROM_INT_LVAR&lt;br /&gt;
|[[000E|14]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_VAL_FROM_FLOAT_LVAR&lt;br /&gt;
|[[000F|15]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_INT_VAR_FROM_INT_VAR&lt;br /&gt;
|[[0060|96]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_FLOAT_VAR_FROM_FLOAT_VAR&lt;br /&gt;
|[[0061|97]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_INT_LVAR_FROM_INT_LVAR&lt;br /&gt;
|[[0062|98]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_FLOAT_LVAR_FROM_FLOAT_LVAR&lt;br /&gt;
|[[0063|99]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_INT_VAR_FROM_INT_LVAR&lt;br /&gt;
|[[0064|100]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_FLOAT_VAR_FROM_FLOAT_LVAR&lt;br /&gt;
|[[0065|101]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_INT_LVAR_FROM_INT_VAR&lt;br /&gt;
|[[0066|102]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_FLOAT_LVAR_FROM_FLOAT_VAR&lt;br /&gt;
|[[0067|103]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=12|*=&amp;lt;br/&amp;gt;*&amp;lt;br/&amp;gt;MULT_THING_BY_THING!!MULT_INT_VAR_BY_VAL&lt;br /&gt;
|[[0010|16]]&lt;br /&gt;
!rowspan=12|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_VAR_BY_VAL&lt;br /&gt;
|[[0011|17]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_LVAR_BY_VAL&lt;br /&gt;
|[[0012|18]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_LVAR_BY_VAL&lt;br /&gt;
|[[0013|19]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_VAR_BY_INT_VAR&lt;br /&gt;
|[[0068|104]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_VAR_BY_FLOAT_VAR&lt;br /&gt;
|[[0069|105]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_LVAR_BY_INT_LVAR&lt;br /&gt;
|[[006A|106]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_LVAR_BY_FLOAT_LVAR&lt;br /&gt;
|[[006B|107]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_VAR_BY_INT_LVAR&lt;br /&gt;
|[[006C|108]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_VAR_BY_FLOAT_LVAR&lt;br /&gt;
|[[006D|109]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_LVAR_BY_INT_VAR&lt;br /&gt;
|[[006E|110]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_LVAR_BY_FLOAT_VAR&lt;br /&gt;
|[[006F|111]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=12|/=&amp;lt;br/&amp;gt;/&amp;lt;br/&amp;gt;DIV_THING_BY_THING!!DIV_INT_BY_VAL&lt;br /&gt;
|[[0014|20]]&lt;br /&gt;
!rowspan=12|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_VAR_BY_VAL&lt;br /&gt;
|[[0015|21]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_LVAR_BY_VAL&lt;br /&gt;
|[[0016|22]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_LVAR_BY_VAL&lt;br /&gt;
|[[0017|23]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_VAR_BY_INT_VAR&lt;br /&gt;
|[[0070|112]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_VAR_BY_FLOAT_VAR&lt;br /&gt;
|[[0071|113]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_LVAR_BY_INT_LVAR&lt;br /&gt;
|[[0072|114]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_LVAR_BY_FLOAT_LVAR&lt;br /&gt;
|[[0073|115]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_VAR_BY_INT_LVAR&lt;br /&gt;
|[[0074|116]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_VAR_BY_FLOAT_LVAR&lt;br /&gt;
|[[0075|117]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_LVAR_BY_INT_VAR&lt;br /&gt;
|[[0076|118]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_LVAR_BY_FLOAT_VAR&lt;br /&gt;
|[[0077|119]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=16|&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;=&amp;lt;br/&amp;gt;IS_THING_GREATER_THAN_THING!!IS_INT_VAR_GREATER_THAN_NUMBER&lt;br /&gt;
|[[0018|24]]&lt;br /&gt;
!rowspan=16|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_THAN_NUMBER&lt;br /&gt;
|[[0019|25]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_INT_VAR&lt;br /&gt;
|[[001A|26]]||I||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_INT_LVAR&lt;br /&gt;
|[[001B|27]]||I||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_GREATER_THAN_INT_VAR&lt;br /&gt;
|[[001C|28]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_THAN_INT_LVAR&lt;br /&gt;
|[[001D|29]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_GREATER_THAN_INT_LVAR&lt;br /&gt;
|[[001E|30]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_THAN_INT_VAR&lt;br /&gt;
|[[001F|31]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_THAN_NUMBER&lt;br /&gt;
|[[0020|32]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_THAN_NUMBER&lt;br /&gt;
|[[0021|33]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_FLOAT_VAR&lt;br /&gt;
|[[0022|34]]||F||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_FLOAT_LVAR&lt;br /&gt;
|[[0023|35]]||F||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_THAN_FLOAT_VAR&lt;br /&gt;
|[[0024|36]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_THAN_FLOAT_LVAR&lt;br /&gt;
|[[0025|37]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_THAN_FLOAT_LVAR&lt;br /&gt;
|[[0026|38]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_THAN_FLOAT_VAR&lt;br /&gt;
|[[0027|39]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=16|&amp;gt;=&amp;lt;br/&amp;gt;&amp;lt;&amp;lt;br/&amp;gt;IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_VAR_GREATER_OR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0028|40]]&lt;br /&gt;
!rowspan=16|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_OR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0029|41]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[002A|42]]||I||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[002B|43]]||I||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_GREATER_OR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[002C|44]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_OR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[002D|45]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_GREATER_OR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[002E|46]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_OR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[002F|47]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_OR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0030|48]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_OR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0031|49]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0032|50]]||F||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0033|51]]||F||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_OR_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0034|52]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_OR_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0035|53]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_GREATER_OR_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0036|54]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_GREATER_OR_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0037|55]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=10|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_INT_VAR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0038|56]]&lt;br /&gt;
!rowspan=10|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0039|57]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[003A|58]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[003B|59]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[003C|60]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0042|66]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0043|67]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0044|68]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0045|69]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0046|70]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=10|NOT =&amp;lt;br/&amp;gt;IS_THING_NOT_EQUAL_TO_THING!!IS_INT_VAR_NOT_EQUAL_TO_NUMBER&lt;br /&gt;
|[[003D|61]]&lt;br /&gt;
!rowspan=10|2&lt;br /&gt;
|VI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_NOT_EQUAL_TO_NUMBER&lt;br /&gt;
|[[003E|62]]||LI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_NOT_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[003F|63]]||VI||VI||colspan=6|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_NOT_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[0040|64]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_VAR_NOT_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[0041|65]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_NOT_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0047|71]]||VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_NOT_EQUAL_TO_NUMBER&lt;br /&gt;
|[[0048|72]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_NOT_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0049|73]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_NOT_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[004A|74]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_VAR_NOT_EQUAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[004B|75]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOTO_IF_FALSE{{ref|statem|[*]}}&lt;br /&gt;
|[[004D|77]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|TERMINATE_THIS_SCRIPT&lt;br /&gt;
|rowspan=2|[[004E|78]]&lt;br /&gt;
!rowspan=2|0&lt;br /&gt;
|rowspan=2 colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|MISSION_END&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|START_NEW_SCRIPT{{ref|undarg|[*]}}&lt;br /&gt;
|[[004F|79]]&lt;br /&gt;
!1+l&lt;br /&gt;
|R||colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|GOSUB&lt;br /&gt;
|[[0050|80]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN&lt;br /&gt;
|[[0051|81]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|+=@&amp;lt;br/&amp;gt;+@&amp;lt;br/&amp;gt;ADD_THING_TO_THING_TIMED!!ADD_TIMED_VAL_TO_FLOAT_VAR&lt;br /&gt;
|[[0078|120]]&lt;br /&gt;
!rowspan=6|2&lt;br /&gt;
|VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_VAL_TO_FLOAT_LVAR&lt;br /&gt;
|[[0079|121]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_FLOAT_VAR_TO_FLOAT_VAR&lt;br /&gt;
|[[007A|122]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_FLOAT_LVAR_TO_FLOAT_LVAR&lt;br /&gt;
|[[007B|123]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_FLOAT_LVAR_TO_FLOAT_VAR&lt;br /&gt;
|[[007C|124]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_FLOAT_VAR_TO_FLOAT_LVAR&lt;br /&gt;
|[[007D|125]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|-=@&amp;lt;br/&amp;gt;-@&amp;lt;br/&amp;gt;SUB_THING_FROM_THING_TIMED!!SUB_TIMED_VAL_FROM_FLOAT_VAR&lt;br /&gt;
|[[007E|126]]&lt;br /&gt;
!rowspan=6|2&lt;br /&gt;
|VF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_VAL_FROM_FLOAT_LVAR&lt;br /&gt;
|[[007F|127]]||LF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_FLOAT_VAR_FROM_FLOAT_VAR&lt;br /&gt;
|[[0080|128]]||VF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_FLOAT_LVAR_FROM_FLOAT_LVAR&lt;br /&gt;
|[[0081|129]]||LF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_FLOAT_LVAR_FROM_FLOAT_VAR&lt;br /&gt;
|[[0082|130]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_FLOAT_VAR_FROM_FLOAT_LVAR&lt;br /&gt;
|[[0083|131]]||VF||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=8|=#&amp;lt;br/&amp;gt;CSET&amp;lt;br/&amp;gt;!!CSET_VAR_INT_TO_VAR_FLOAT&lt;br /&gt;
|[[008C|140]]&lt;br /&gt;
!rowspan=8|2&lt;br /&gt;
|VI||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_VAR_FLOAT_TO_VAR_INT&lt;br /&gt;
|[[008D|141]]||VF||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_LVAR_INT_TO_VAR_FLOAT&lt;br /&gt;
|[[008E|142]]||LI||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_LVAR_FLOAT_TO_VAR_INT&lt;br /&gt;
|[[008F|143]]||LF||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_VAR_INT_TO_LVAR_FLOAT&lt;br /&gt;
|[[0090|144]]||VI||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_VAR_FLOAT_TO_LVAR_INT&lt;br /&gt;
|[[0091|145]]||VF||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_LVAR_INT_TO_LVAR_FLOAT&lt;br /&gt;
|[[0092|146]]||LI||LF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_LVAR_FLOAT_TO_LVAR_INT&lt;br /&gt;
|[[0093|147]]||LF||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|ABS!!ABS_VAR_INT&lt;br /&gt;
|[[0094|148]]&lt;br /&gt;
!rowspan=4|1&lt;br /&gt;
|VI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!ABS_LVAR_INT&lt;br /&gt;
|[[0095|149]]||LI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!ABS_VAR_FLOAT&lt;br /&gt;
|[[0096|150]]||VF||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!ABS_LVAR_FLOAT&lt;br /&gt;
|[[0097|151]]||LF||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_INT{{ref|defvar|[*]}}&lt;br /&gt;
|[[00C7|199]]&lt;br /&gt;
!n&lt;br /&gt;
|VI||colspan=7|VIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_FLOAT{{ref|defvar|[*]}}&lt;br /&gt;
|[[00C8|200]]&lt;br /&gt;
!n&lt;br /&gt;
|VF||colspan=7|VFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_INT{{ref|defvar|[*]}}&lt;br /&gt;
|[[00C9|201]]&lt;br /&gt;
!n&lt;br /&gt;
|LI||colspan=7|LIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_FLOAT{{ref|defvar|[*]}}&lt;br /&gt;
|[[00CA|202]]&lt;br /&gt;
!n&lt;br /&gt;
|LF||colspan=7|LFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|{{{ref|embdsc|[*]}}&lt;br /&gt;
|[[00CB|203]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|}{{ref|embdsc|[*]}}&lt;br /&gt;
|[[00CC|204]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|IF{{ref|statem|[*]}}&lt;br /&gt;
|[[00CF|207]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ELSE{{ref|statem|[*]}}&lt;br /&gt;
|[[00D1|209]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDIF{{ref|statem|[*]}}&lt;br /&gt;
|[[00D2|210]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|WHILE{{ref|statem|[*]}}&lt;br /&gt;
|[[00D3|211]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDWHILE{{ref|statem|[*]}}&lt;br /&gt;
|[[00D5|213]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|t}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ANDOR{{ref|statem|[*]}}&lt;br /&gt;
|[[00D6|214]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LAUNCH_MISSION&lt;br /&gt;
|[[00D7|215]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|START_CUTSCENE&lt;br /&gt;
|[[02E7|743]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|PLAYER_MADE_PROGRESS&lt;br /&gt;
|[[030C|780]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_PROGRESS_TOTAL&lt;br /&gt;
|[[030D|781]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|REGISTER_MISSION_GIVEN&lt;br /&gt;
|[[0317|791]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_MISSION_PASSED&lt;br /&gt;
|[[0318|792]]&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SCRIPT_NAME&lt;br /&gt;
|[[03A4|932]]&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION&lt;br /&gt;
|[[0416|1046]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION_INTERNAL&lt;br /&gt;
|[[0417|1047]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_TOTAL_NUMBER_OF_MISSIONS&lt;br /&gt;
|[[042C|1068]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_ODDJOB_MISSION_PASSED&lt;br /&gt;
|[[0595|1429]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|vc}} {{icon|sa}} {{icon|lcs}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REPEAT{{ref|statem|[*]}}&lt;br /&gt;
|[[00CD|205]]&lt;br /&gt;
!2&lt;br /&gt;
|I||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDREPEAT{{ref|statem|[*]}}&lt;br /&gt;
|[[00CE|206]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|3}} {{icon|vc}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|CREATE_COLLECTABLE1&lt;br /&gt;
|[[02EC|748]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_COLLECTABLE1_TOTAL&lt;br /&gt;
|[[02ED|749]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|3}} {{icon|lcs}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOTO_IF_TRUE{{ref|statem|[*]}}&lt;br /&gt;
|[[004C|76]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|vc}} {{icon|sa}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_INT_VAR_EQUAL_TO_CONSTANT&lt;br /&gt;
|[[04A3|1187]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_EQUAL_TO_CONSTANT&lt;br /&gt;
|[[04A4|1188]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;SET!!SET_VAR_INT_TO_CONSTANT&lt;br /&gt;
|[[04AE|1198]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_INT_TO_CONSTANT&lt;br /&gt;
|[[04AF|1199]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;=&amp;lt;br/&amp;gt;IS_THING_GREATER_THAN_THING!!IS_INT_VAR_GREATER_THAN_CONSTANT&lt;br /&gt;
|[[04B0|1200]]&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_THAN_CONSTANT&lt;br /&gt;
|[[04B1|1201]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_THAN_INT_VAR&lt;br /&gt;
|[[04B2|1202]]||C||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_THAN_INT_LVAR&lt;br /&gt;
|[[04B3|1203]]||C||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|&amp;gt;=&amp;lt;br/&amp;gt;&amp;lt;&amp;lt;br/&amp;gt;IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_VAR_GREATER_OR_EQUAL_TO_CONSTANT&lt;br /&gt;
|[[04B4|1204]]&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_OR_EQUAL_TO_CONSTANT&lt;br /&gt;
|[[04B5|1205]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[04B6|1206]]||C||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|[[04B7|1207]]||C||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION_EXCLUSIVE&lt;br /&gt;
|[[0515|1301]]&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|3}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|IFNOT{{ref|statem|[*]}}&lt;br /&gt;
|[[00D0|208]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|WHILENOT{{ref|statem|[*]}}&lt;br /&gt;
|[[00D4|212]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOSUB_FILE&lt;br /&gt;
|[[02CD|717]]&lt;br /&gt;
!2&lt;br /&gt;
|R||R||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|sa}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;SET!!SET_VAR_TEXT_LABEL&lt;br /&gt;
|[[05A9|1449]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VT||AT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_TEXT_LABEL&lt;br /&gt;
|[[05AA|1450]]||LT||AT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_TEXT_LABEL{{ref|defvar|[*]}}&lt;br /&gt;
|[[05AB|1451]]&lt;br /&gt;
!n&lt;br /&gt;
|VT||colspan=7|VTO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_TEXT_LABEL{{ref|defvar|[*]}}&lt;br /&gt;
|[[05AC|1452]]&lt;br /&gt;
!n&lt;br /&gt;
|LT||colspan=7|LTO&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_VAR_TEXT_LABEL_EQUAL_TO_TEXT_LABEL&lt;br /&gt;
|[[05AD|1453]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VT||AT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LVAR_TEXT_LABEL_EQUAL_TO_TEXT_LABEL&lt;br /&gt;
|[[05AE|1454]]||LT||AT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;SET!!SET_VAR_TEXT_LABEL16&lt;br /&gt;
|[[06D1|1745]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VT16||AT16||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_TEXT_LABEL16&lt;br /&gt;
|[[06D2|1476]]||LT16||AT16||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_TEXT_LABEL16{{ref|defvar|[*]}}&lt;br /&gt;
|[[06D3|1477]]&lt;br /&gt;
!n&lt;br /&gt;
|VT16||colspan=7|VT16O&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_TEXT_LABEL16{{ref|defvar|[*]}}&lt;br /&gt;
|[[06D4|1478]]&lt;br /&gt;
!n&lt;br /&gt;
|LT16||colspan=7|LT16O&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_INT_LVAR_EQUAL_TO_INT_VAR&lt;br /&gt;
|[[07D6|2006]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_LVAR_EQUAL_TO_FLOAT_VAR&lt;br /&gt;
|[[07D7|2007]]||LF||VF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|IS_EMPTY{{ref|likely|[*]}}!!IS_VAR_TEXT_LABEL_EMPTY&lt;br /&gt;
|[[0844|2116]]&lt;br /&gt;
!rowspan=4|1&lt;br /&gt;
|VT||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LVAR_TEXT_LABEL_EMPTY&lt;br /&gt;
|[[0845|2117]]||LT||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!IS_VAR_TEXT_LABEL16_EMPTY&lt;br /&gt;
|[[0846|2118]]||VT16||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LVAR_TEXT_LABEL16_EMPTY&lt;br /&gt;
|[[0847|2119]]||LT16||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SWITCH{{ref|statem|[*]}}&lt;br /&gt;
|[[0848|2120]]&lt;br /&gt;
!1&lt;br /&gt;
|VLI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDSWITCH{{ref|statem|[*]}}&lt;br /&gt;
|[[0849|2121]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|CASE{{ref|statem|[*]}}&lt;br /&gt;
|[[084A|2122]]&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|DEFAULT{{ref|statem|[*]}}&lt;br /&gt;
|[[084B|2123]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|BREAK{{ref|statem|[*]}}&lt;br /&gt;
|[[084C|2124]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4 colspan=2|SWITCH_START{{ref|statem|[*]}}&lt;br /&gt;
|rowspan=4|[[0871|2161]]&lt;br /&gt;
!rowspan=4|18&lt;br /&gt;
|rowspan=2|VI&lt;br /&gt;
|rowspan=2|I&lt;br /&gt;
|rowspan=2|I&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=2|I||colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|R||colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|LI&lt;br /&gt;
|rowspan=2|I&lt;br /&gt;
|rowspan=2|I&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=2|I||colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|R||colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2 colspan=2|SWITCH_CONTINUED{{ref|statem|[*]}}&lt;br /&gt;
|rowspan=2|[[0872|2162]]&lt;br /&gt;
!rowspan=2|18&lt;br /&gt;
|colspan=6|I&lt;br /&gt;
|colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=6|R&lt;br /&gt;
|colspan=2|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|IS_BIT_SET{{ref|likely|[*]}}!!IS_GLOBAL_VAR_BIT_SET_CONST&lt;br /&gt;
|[[08B4|2228]]&lt;br /&gt;
!rowspan=6|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_GLOBAL_VAR_BIT_SET_VAR&lt;br /&gt;
|[[08B5|2229]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_GLOBAL_VAR_BIT_SET_LVAR&lt;br /&gt;
|[[08B6|2230]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LOCAL_VAR_BIT_SET_CONST&lt;br /&gt;
|[[08B7|2231]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LOCAL_VAR_BIT_SET_VAR&lt;br /&gt;
|[[08B8|2232]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LOCAL_VAR_BIT_SET_LVAR&lt;br /&gt;
|[[08B9|2233]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|SET_BIT{{ref|likely|[*]}}!!SET_GLOBAL_VAR_BIT_CONST&lt;br /&gt;
|[[08BA|2234]]&lt;br /&gt;
!rowspan=6|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_GLOBAL_VAR_BIT_VAR&lt;br /&gt;
|[[08BB|2235]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_GLOBAL_VAR_BIT_LVAR&lt;br /&gt;
|[[08BC|2236]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LOCAL_VAR_BIT_CONST&lt;br /&gt;
|[[08BD|2237]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LOCAL_VAR_BIT_VAR&lt;br /&gt;
|[[08BE|2238]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LOCAL_VAR_BIT_LVAR&lt;br /&gt;
|[[08BF|2239]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|CLEAR_BIT{{ref|likely|[*]}}!!CLEAR_GLOBAL_VAR_BIT_CONST&lt;br /&gt;
|[[08C0|2240]]&lt;br /&gt;
!rowspan=6|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CLEAR_GLOBAL_VAR_BIT_VAR&lt;br /&gt;
|[[08C1|2241]]||VI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CLEAR_GLOBAL_VAR_BIT_LVAR&lt;br /&gt;
|[[08C2|2242]]||VI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CLEAR_LOCAL_VAR_BIT_CONST&lt;br /&gt;
|[[08C3|2243]]||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CLEAR_LOCAL_VAR_BIT_VAR&lt;br /&gt;
|[[08C4|2244]]||LI||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CLEAR_LOCAL_VAR_BIT_LVAR&lt;br /&gt;
|[[08C5|2245]]||LI||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_VAR_TEXT_LABEL16_EQUAL_TO_TEXT_LABEL&lt;br /&gt;
|[[08F9|2297]]&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VT16||AT16||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_LVAR_TEXT_LABEL16_EQUAL_TO_TEXT_LABEL&lt;br /&gt;
|[[08FA|2298]]||LT16||AT16||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|STRING_CAT{{ref|likely|[*]}}!!STRING_CAT16&lt;br /&gt;
|[[098B|2443]]&lt;br /&gt;
!rowspan=2|3&lt;br /&gt;
|VT16||VT16||VT16||colspan=5|&lt;br /&gt;
|-&lt;br /&gt;
!STRING_CAT8&lt;br /&gt;
|[[098C|2444]]||VT||VT||VT||colspan=5|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|lcs}}&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN_TRUE&lt;br /&gt;
|[[00C5|197]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN_FALSE&lt;br /&gt;
|[[00C6|198]]&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|214&lt;br /&gt;
!1&lt;br /&gt;
|VLI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDSWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|215&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|CASE{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|216&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|DEFAULT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|217&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|BREAK{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|218&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ANDOR{{ref|statem|[*]}}&lt;br /&gt;
|219&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LAUNCH_MISSION&lt;br /&gt;
|220&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SAVE_VAR_INT{{ref|defvar|[*]}}&lt;br /&gt;
|502&lt;br /&gt;
!l&lt;br /&gt;
|VI||colspan=7|VIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SAVE_VAR_FLOAT{{ref|defvar|[*]}}&lt;br /&gt;
|503&lt;br /&gt;
!l&lt;br /&gt;
|VF||colspan=7|VFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOSUB_FILE&lt;br /&gt;
|722&lt;br /&gt;
!2&lt;br /&gt;
|R||R||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|START_CUTSCENE&lt;br /&gt;
|748&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|PLAYER_MADE_PROGRESS&lt;br /&gt;
|785&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_PROGRESS_TOTAL&lt;br /&gt;
|786&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|REGISTER_MISSION_GIVEN&lt;br /&gt;
|796&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_MISSION_PASSED&lt;br /&gt;
|797&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SCRIPT_NAME&lt;br /&gt;
|937&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION&lt;br /&gt;
|1051&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION_INTERNAL&lt;br /&gt;
|1052&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_TOTAL_NUMBER_OF_MISSIONS&lt;br /&gt;
|1073&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_INT_VAR_EQUAL_TO_CONSTANT&lt;br /&gt;
|1192&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_EQUAL_TO_CONSTANT&lt;br /&gt;
|1193||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=&amp;lt;br/&amp;gt;SET!!SET_VAR_INT_TO_CONSTANT&lt;br /&gt;
|1203&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_LVAR_INT_TO_CONSTANT&lt;br /&gt;
|1204||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;=&amp;lt;br/&amp;gt;IS_THING_GREATER_THAN_THING!!IS_INT_VAR_GREATER_THAN_CONSTANT&lt;br /&gt;
|1205&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_THAN_CONSTANT&lt;br /&gt;
|1206||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_THAN_INT_VAR&lt;br /&gt;
|1207||C||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_THAN_INT_LVAR&lt;br /&gt;
|1208||C||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|&amp;gt;=&amp;lt;br/&amp;gt;&amp;lt;&amp;lt;br/&amp;gt;IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_VAR_GREATER_OR_EQUAL_TO_CONSTANT&lt;br /&gt;
|1209&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_LVAR_GREATER_OR_EQUAL_TO_CONSTANT&lt;br /&gt;
|1210||LI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT_VAR&lt;br /&gt;
|1211||C||VI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT_LVAR&lt;br /&gt;
|1212||C||LI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_ODDJOB_MISSION_PASSED&lt;br /&gt;
|1434&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2 colspan=2|CALL{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}&lt;br /&gt;
|rowspan=2|1454&lt;br /&gt;
!rowspan=2|1+i+o&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|VLM&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2 colspan=2|CALLNOT{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}&lt;br /&gt;
|rowspan=2|1455&lt;br /&gt;
!rowspan=2|1+i+o&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|VLM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=12|{{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=7|=&amp;lt;br/&amp;gt;SET!!SET_INT{{ref|likely|[*]}}&lt;br /&gt;
|4&lt;br /&gt;
&lt;br /&gt;
!rowspan=7|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|5||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_TEXT_LABEL{{ref|likely|[*]}}&lt;br /&gt;
|6||VLT||T||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_INT_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|53||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_FLOAT_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|54||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_TEXT_LABEL_TO_TEXT_LABEL{{ref|likely|[*]}}&lt;br /&gt;
|55||VLT||VLT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SET_INT_TO_CONSTANT{{ref|likely|[*]}}&lt;br /&gt;
|738||VLI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|+=&amp;lt;br/&amp;gt;+&amp;lt;br/&amp;gt;ADD_THING_TO_THING!!ADD_VAL_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|7&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_VAL_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|8||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_INT_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|41||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_FLOAT_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|42||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|-=&amp;lt;br/&amp;gt;-&amp;lt;br/&amp;gt;SUB_THING_FROM_THING!!SUB_VAL_FROM_INT{{ref|likely|[*]}}&lt;br /&gt;
|9&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_VAL_FROM_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|10||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_INT_FROM_INT{{ref|likely|[*]}}&lt;br /&gt;
|43||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_FLOAT_FROM_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|44||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|*=&amp;lt;br/&amp;gt;*&amp;lt;br/&amp;gt;MULT_THING_BY_THING!!MULT_INT_BY_VAL{{ref|likely|[*]}}&lt;br /&gt;
|11&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_FLOAT_BY_VAL{{ref|likely|[*]}}&lt;br /&gt;
|12||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!MULT_INT_BY_INT{{ref|likely|[*]}}&lt;br /&gt;
|45||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!|MULT_FLOAT_BY_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|46||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|/=&amp;lt;br/&amp;gt;/&amp;lt;br/&amp;gt;DIV_THING_BY_THING!!DIV_INT_BY_VAL{{ref|likely|[*]}}&lt;br /&gt;
|13&lt;br /&gt;
!rowspan=4|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_BY_VAL{{ref|likely|[*]}}&lt;br /&gt;
|14||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_INT_BY_INT{{ref|likely|[*]}}&lt;br /&gt;
|47||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!DIV_FLOAT_BY_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|48||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=8|&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;=&amp;lt;br/&amp;gt;IS_THING_GREATER_THAN_THING!!IS_INT_GREATER_THAN_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|15&lt;br /&gt;
!rowspan=8|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_INT{{ref|likely|[*]}}&lt;br /&gt;
|16||I||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_GREATER_THAN_INT{{ref|likely|[*]}}&lt;br /&gt;
|17||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_GREATER_THAN_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|18||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_THAN_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|19||F||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_GREATER_THAN_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|20||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_GREATER_THAN_CONSTANT{{ref|likely|[*]}}&lt;br /&gt;
|739||VLI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_THAN_INT{{ref|likely|[*]}}&lt;br /&gt;
|740||C||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=8|&amp;gt;=&amp;lt;br/&amp;gt;&amp;lt;&amp;lt;br/&amp;gt;IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_GREATER_OR_EQUAL_TO_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|21&lt;br /&gt;
!rowspan=8|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|22||I||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|23||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_GREATER_OR_EQUAL_TO_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|24||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_NUMBER_GREATER_OR_EQUAL_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|25||F||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_GREATER_OR_EQUAL_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|26||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_GREATER_OR_EQUAL_TO_CONSTANT{{ref|likely|[*]}}&lt;br /&gt;
|741||VLI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|742||C||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=7|=&amp;lt;br/&amp;gt;IS_THING_EQUAL_TO_THING!!IS_INT_EQUAL_TO_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|27&lt;br /&gt;
!rowspan=7|2&lt;br /&gt;
|VLI||I||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_EQUAL_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|28||VLI||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_EQUAL_TO_NUMBER{{ref|likely|[*]}}&lt;br /&gt;
|29||VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_FLOAT_EQUAL_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|30||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_TEXT_LABEL_EQUAL_TO_STRING{{ref|likely|[*]}}&lt;br /&gt;
|31||VLT||T||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_TEXT_LABEL_EQUAL_TO_TEXT_LABEL{{ref|likely|[*]}}&lt;br /&gt;
|32||VLT||VLT||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!IS_INT_EQUAL_TO_CONSTANT{{ref|likely|[*]}}&lt;br /&gt;
|731||VLI||C||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOTO_IF_TRUE{{ref|statem|[*]}}&lt;br /&gt;
|33&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOTO_IF_FALSE{{ref|statem|[*]}}&lt;br /&gt;
|34&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|TERMINATE_THIS_SCRIPT&lt;br /&gt;
|rowspan=2|35&lt;br /&gt;
!rowspan=2|0&lt;br /&gt;
|rowspan=2 colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|MISSION_END&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|START_NEW_SCRIPT{{ref|undarg|[*]}}&lt;br /&gt;
|36&lt;br /&gt;
!1+l&lt;br /&gt;
|R||colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|GOSUB&lt;br /&gt;
|37&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN&lt;br /&gt;
|38&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|+=@&amp;lt;br/&amp;gt;+@&amp;lt;br/&amp;gt;ADD_THING_TO_THING_TIMED!!ADD_TIMED_VAL_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|49&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!ADD_TIMED_FLOAT_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|50||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|-=@&amp;lt;br/&amp;gt;-@&amp;lt;br/&amp;gt;SUB_THING_FROM_THING_TIMED!!SUB_TIMED_VAL_FROM_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|51&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VLF||F||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!SUB_TIMED_FLOAT_FROM_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|52||VLF||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|=#&amp;lt;br/&amp;gt;CSET!!CSET_INT_TO_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|56&lt;br /&gt;
!rowspan=2|2&lt;br /&gt;
|VLI||VLF||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!CSET_FLOAT_TO_INT{{ref|likely|[*]}}&lt;br /&gt;
|57||VLF||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|ABS!!ABS_INT{{ref|likely|[*]}}&lt;br /&gt;
|58&lt;br /&gt;
!rowspan=2|1&lt;br /&gt;
|VLI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!ABS_FLOAT{{ref|likely|[*]}}&lt;br /&gt;
|59||VLF||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN_TRUE&lt;br /&gt;
|94&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|RETURN_FALSE&lt;br /&gt;
|95&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_INT{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|96&lt;br /&gt;
!n&lt;br /&gt;
|VI||colspan=7|VIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_FLOAT{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|97&lt;br /&gt;
!n&lt;br /&gt;
|VF||colspan=7|VFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_INT{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|98&lt;br /&gt;
!n&lt;br /&gt;
|LI||colspan=7|LIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_FLOAT{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|99&lt;br /&gt;
!n&lt;br /&gt;
|LF||colspan=7|LFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|VAR_TEXT_LABEL{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|100&lt;br /&gt;
!n&lt;br /&gt;
|VT||colspan=7|VTO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LVAR_TEXT_LABEL{{ref|defvar|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|101&lt;br /&gt;
!n&lt;br /&gt;
|LT||colspan=7|LTO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|{{{ref|embdsc|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|102&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|}{{ref|embdsc|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|103&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|IF{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|104&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|IFNOT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|105&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ELSE{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|106&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDIF{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|107&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|WHILE{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|108&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|WHILENOT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|109&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDWHILE{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|110&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REPEAT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|111&lt;br /&gt;
!2&lt;br /&gt;
|I||VLI||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDREPEAT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|112&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|113&lt;br /&gt;
!1&lt;br /&gt;
|VLI||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ENDSWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|114&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|CASE{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|115&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|DEFAULT{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|116&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|BREAK{{ref|statem|[*]}}{{ref|posngs|[*]}}&lt;br /&gt;
|117&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|ANDOR{{ref|statem|[*]}}&lt;br /&gt;
|120&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LAUNCH_MISSION&lt;br /&gt;
|121&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SAVE_VAR_INT{{ref|defvar|[*]}}&lt;br /&gt;
|297&lt;br /&gt;
!l&lt;br /&gt;
|VI||colspan=7|VIO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SAVE_VAR_FLOAT{{ref|defvar|[*]}}&lt;br /&gt;
|298&lt;br /&gt;
!l&lt;br /&gt;
|VF||colspan=7|VFO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SAVE_VAR_TEXT_LABEL{{ref|defvar|[*]}}&lt;br /&gt;
|299&lt;br /&gt;
!l&lt;br /&gt;
|VT||colspan=7|VTO&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|GOSUB_FILE&lt;br /&gt;
|442&lt;br /&gt;
!2&lt;br /&gt;
|R||R||colspan=6|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|PLAYER_MADE_PROGRESS&lt;br /&gt;
|479&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_PROGRESS_TOTAL&lt;br /&gt;
|480&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2|REGISTER_MISSION_GIVEN&lt;br /&gt;
|490&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_MISSION_PASSED&lt;br /&gt;
|491&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SCRIPT_NAME&lt;br /&gt;
|568&lt;br /&gt;
!1&lt;br /&gt;
|T||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION&lt;br /&gt;
|648&lt;br /&gt;
!1&lt;br /&gt;
|R||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|LOAD_AND_LAUNCH_MISSION_INTERNAL&lt;br /&gt;
|649&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_TOTAL_NUMBER_OF_MISSIONS&lt;br /&gt;
|662&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|REGISTER_ODDJOB_MISSION_PASSED&lt;br /&gt;
|874&lt;br /&gt;
!0&lt;br /&gt;
|colspan=8|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2 colspan=2|CALL{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}&lt;br /&gt;
|rowspan=2|890&lt;br /&gt;
!rowspan=2|1+i+o&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|VLM&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2 colspan=2|CALLNOT{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}&lt;br /&gt;
|rowspan=2|891&lt;br /&gt;
!rowspan=2|1+i+o&lt;br /&gt;
|rowspan=2|R&lt;br /&gt;
|colspan=7|AM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|VLM&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2|SET_COLLECTABLE2_TOTAL&lt;br /&gt;
|1242&lt;br /&gt;
!1&lt;br /&gt;
|I||colspan=7|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Notes&lt;br /&gt;
:{{note|misdef}} A special [[#Mission scripts|mission]] directive which is never compiled;&lt;br /&gt;
:{{note|statem}} It is used to build the various [[#Control flows|control flows]] internally;&lt;br /&gt;
:{{note|defvar}} It is used to declare one or more variables;&lt;br /&gt;
:{{note|embdsc}} It embeds a variable scope;&lt;br /&gt;
:{{note|undarg}} It has an undefined amount of arguments;&lt;br /&gt;
:{{note|likely}} It is a likely definition of the standard command;&lt;br /&gt;
:{{note|posngs}} It should exist but its position is purely guessed;&lt;br /&gt;
:{{note|argvar}} Arguments amount varies when compiling.&lt;br /&gt;
&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
==Uncommon values==&lt;br /&gt;
&lt;br /&gt;
Arguments of some commands keep uncommon [[#Value|values]] which look familiar after encoding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div width=100% style=&amp;quot;overflow: auto; margin: -8px auto 8px&amp;quot;&amp;gt;&lt;br /&gt;
{|class=wikitable style=text-align:center&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|Command&lt;br /&gt;
!rowspan=2|Arg.&amp;lt;br/&amp;gt;ID&lt;br /&gt;
!rowspan=2|Value&lt;br /&gt;
!colspan=4|Encoded&lt;br /&gt;
|-&lt;br /&gt;
!Command!!Arg.&amp;lt;br/&amp;gt;ID!!Value!!Type&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|{{icon|t}} {{icon|lcs}} {{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
!GOTO&lt;br /&gt;
|1||Generic [[#Labels|label]]&lt;br /&gt;
!GOTO&lt;br /&gt;
|1||Positive/Negative [[#Offsets|offset]]||INT&lt;br /&gt;
|-&lt;br /&gt;
!GOTO_IF_FALSE&lt;br /&gt;
|1||Generic label&lt;br /&gt;
!GOTO_IF_FALSE&lt;br /&gt;
|1||Positive/Negative offset||INT&lt;br /&gt;
|-&lt;br /&gt;
!GOSUB&lt;br /&gt;
|1||[[#Gosubs|Gosub]] label&lt;br /&gt;
!GOSUB&lt;br /&gt;
|1||Positive/Negative offset||INT&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=4|GOSUB_FILE&lt;br /&gt;
|1||Gosub label&lt;br /&gt;
!rowspan=4|GOSUB_FILE&lt;br /&gt;
|1||rowspan=2|Zero-based offset||rowspan=4|INT&lt;br /&gt;
|-&lt;br /&gt;
|2||[[#Foreign gosubs|Foreign gosub]] file||2&lt;br /&gt;
|-&lt;br /&gt;
|1||Gosub label||1||rowspan=2|Positive/Negative offset&lt;br /&gt;
|-&lt;br /&gt;
|2||Foreign gosub label||2&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|START_NEW_SCRIPT&lt;br /&gt;
|1||[[#Scripts|Script]] label&lt;br /&gt;
!rowspan=2|START_NEW_SCRIPT&lt;br /&gt;
|1||Positive/Negative offset||INT&lt;br /&gt;
|-&lt;br /&gt;
|l||Passed [[#Local|locals]]||l||Passed locals||ANY_MULTI&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|LAUNCH_MISSION&lt;br /&gt;
|rowspan=2|1||[[#Subscripts|Subscript]] file&lt;br /&gt;
!rowspan=2|LAUNCH_MISSION&lt;br /&gt;
|rowspan=2|1||Zero-based offset||rowspan=2|INT&lt;br /&gt;
|-&lt;br /&gt;
|Subscript label||Positive/Negative offset&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|LOAD_AND_LAUNCH_MISSION&lt;br /&gt;
|rowspan=2|1||[[#Mission scripts|Mission script]] file&lt;br /&gt;
!LOAD_AND_LAUNCH_MISSION_INTERNAL&lt;br /&gt;
|rowspan=2|1||Mission [[#Identifiers|identifier]]||rowspan=2|INT&lt;br /&gt;
|-&lt;br /&gt;
|Mission script label&lt;br /&gt;
!LOAD_AND_LAUNCH_MISSION&lt;br /&gt;
|Positive/Negative offset&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|{{icon|3}} {{icon|lcs}} {{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
!GOTO_IF_TRUE&lt;br /&gt;
|1||Generic label&lt;br /&gt;
!GOTO_IF_TRUE&lt;br /&gt;
|1||Positive/Negative offset||INT&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|{{icon|vc}} {{icon|sa}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=2|LOAD_AND_LAUNCH_MISSION_EXCLUSIVE&lt;br /&gt;
|rowspan=2|1||Mission script file&lt;br /&gt;
!LOAD_AND_LAUNCH_MISSION_INTERNAL&lt;br /&gt;
|rowspan=2|1||Negative mission identifier||rowspan=2|INT&lt;br /&gt;
|-&lt;br /&gt;
|Mission script label&lt;br /&gt;
!LOAD_AND_LAUNCH_MISSION_EXCLUSIVE&lt;br /&gt;
|Positive/Negative offset&lt;br /&gt;
|-&lt;br /&gt;
|colspan=7|{{icon|lcs}} {{icon|vcs}}&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=6|CALL&amp;lt;br/&amp;gt;CALLNOT&lt;br /&gt;
|rowspan=4|1||rowspan=4|[[#Functions|Function]] label&lt;br /&gt;
!rowspan=6|CALL&amp;lt;br/&amp;gt;CALLNOT&lt;br /&gt;
|1||# of input arguments||rowspan=4|INT&lt;br /&gt;
|-&lt;br /&gt;
|2||# of output arguments&lt;br /&gt;
|-&lt;br /&gt;
|3||# of script locals&lt;br /&gt;
|-&lt;br /&gt;
|4||Positive/Negative offset&lt;br /&gt;
|-&lt;br /&gt;
|i||Input arguments||i||Input arguments||ANY_MULTI&lt;br /&gt;
|-&lt;br /&gt;
|o||Output arguments||o||Output arguments||HOLD_MULTI&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
==Compare flag==&lt;br /&gt;
&lt;br /&gt;
The ''compare flag'' is an internal script-dependent flag which makes conditional '''GOTO'''s such as [[#GOTO_IF_TRUE|GOTO_IF_TRUE]] (unavailable in {{icon|t}}) and [[#GOTO_IF_FALSE|GOTO_IF_FALSE]] deciding whether to jump otherwise. It can handle up to ''8 checks'' per conditional statement and indicates you are verifying a single condition (0, see also [[#Optimization|Optimization]]) or multiple conditions with either '''AND''' (1 to 8) or '''OR''' (21 to 28) [[#Logical|logical operators]] (see also [[#ANDOR|ANDOR]]).&lt;br /&gt;
&lt;br /&gt;
==Control flows analysis==&lt;br /&gt;
&lt;br /&gt;
As an overview of the compiled source, [[#Control flows|control flows]] are literally nested meaning that the code is unoptimized. Furthermore, the jump of an embedded construct doesn't get merged with that of the construct itself, which consists of a benefit for the code parsing.&lt;br /&gt;
&lt;br /&gt;
===IF===&lt;br /&gt;
&lt;br /&gt;
As regards the [[#IF|IF]] control flow, if the whole check is true the ''consequence'' is performed and the code jumps to the end of the construct, otherwise it skips to the ''alternative'' (see also [[#Compare flag|Compare flag]]):&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!width=1px|{{icon|t}}&lt;br /&gt;
!width=1px|{{icon|lcs}}&lt;br /&gt;
!width=1px|{{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 IF [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 [ELSE&lt;br /&gt;
     {alternative}]&lt;br /&gt;
 ENDIF&lt;br /&gt;
|&lt;br /&gt;
 {..214}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 {..219}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 {..120}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...34}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 ANDOR {value}&lt;br /&gt;
     [NOT] {condition0}&lt;br /&gt;
     [[NOT] {condition8}]&lt;br /&gt;
 GOTO_IF_FALSE ELSE&lt;br /&gt;
     {consequence}&lt;br /&gt;
     [GOTO ENDIF]&lt;br /&gt;
 ELSE:&lt;br /&gt;
     [{alternative}&lt;br /&gt;
 ENDIF:]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IFNOT===&lt;br /&gt;
&lt;br /&gt;
Not that much to say more than the preceding construct, the [[#IFNOT|IFNOT]] control flow is built nearly in the same way. In fact, the '''ELSE''' clause points to the ''alternative'', whereas the [[#GOTO|GOTO]] jumps to its end. The substantial difference consists in the substitution of [[#GOTO_IF_FALSE|GOTO_IF_FALSE]] with [[#GOTO_IF_TRUE|GOTO_IF_TRUE]]:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!width=1px|{{icon|3}}&lt;br /&gt;
!width=1px|{{icon|lcs}}&lt;br /&gt;
!width=1px|{{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 IFNOT [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 [ELSE&lt;br /&gt;
     {alternative}]&lt;br /&gt;
 ENDIF&lt;br /&gt;
|&lt;br /&gt;
 {..214}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...76}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 {..219}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...76}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 {..120}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...33}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 ANDOR {value}&lt;br /&gt;
     [NOT] {condition0}&lt;br /&gt;
     [[NOT] {condition8}]&lt;br /&gt;
 GOTO_IF_TRUE ELSE&lt;br /&gt;
     {consequence}&lt;br /&gt;
     [GOTO ENDIF]&lt;br /&gt;
 ELSE:&lt;br /&gt;
     [{alternative}&lt;br /&gt;
 ENDIF:]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===WHILE===&lt;br /&gt;
&lt;br /&gt;
The [[#WHILE|WHILE]] control flow is built pretty much similarly to the previous, even though when the ''consequence'' is read the code is moved to the beginning of the construct:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!width=1px|{{icon|t}}&lt;br /&gt;
!width=1px|{{icon|lcs}}&lt;br /&gt;
!width=1px|{{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 WHILE [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDWHILE&lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..214}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..219}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..120}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...34}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 WHILE:&lt;br /&gt;
 ANDOR {value}&lt;br /&gt;
     [NOT] {condition0}&lt;br /&gt;
     [[NOT] {condition8}]&lt;br /&gt;
 GOTO_IF_FALSE ENDWHILE&lt;br /&gt;
     {consequence}&lt;br /&gt;
     GOTO WHILE&lt;br /&gt;
 ENDWHILE:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===WHILENOT===&lt;br /&gt;
&lt;br /&gt;
To say the least, [[#WHILENOT|WHILENOT]] control flow follows the same constitution of both [[#WHILE|WHILE]] and [[#IFNOT|IFNOT]] constructs, by exchanging [[#GOTO_IF_FALSE|GOTO_IF_FALSE]] with [[#GOTO_IF_TRUE|GOTO_IF_TRUE]]:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!width=1px|{{icon|3}}&lt;br /&gt;
!width=1px|{{icon|lcs}}&lt;br /&gt;
!width=1px|{{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 WHILENOT [NOT] {condition0}&lt;br /&gt;
 [AND|OR [NOT] {condition8}]&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDWHILE&lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..214}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...76}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..219}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...76}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {..120}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {...33}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 WHILENOT:&lt;br /&gt;
 ANDOR {value}&lt;br /&gt;
     [NOT] {condition0}&lt;br /&gt;
     [[NOT] {condition8}]&lt;br /&gt;
 GOTO_IF_TRUE ENDWHILE&lt;br /&gt;
     {consequence}&lt;br /&gt;
     GOTO WHILENOT&lt;br /&gt;
 ENDWHILE:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===REPEAT===&lt;br /&gt;
&lt;br /&gt;
Seemingly, the [[#REPEAT|REPEAT]] control flow is the first construct ever optimized as a result of a possible R* compiler fault. Moreover, it sounds ambiguous as it loops at least once. This was probably the intention of R* programmers, that is iterating at least once else the construct is useless. However, there are few chance they decide to use such structure to avoid some conflict with some other constructs:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!colspan=2|G/L {{icon|vc}} {{icon|sa}} {{icon|lcs}}&lt;br /&gt;
!width=1px|G/L {{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 REPEAT {times} {varname}&lt;br /&gt;
     {consequence}&lt;br /&gt;
 ENDREPEAT&lt;br /&gt;
|width=1px|&lt;br /&gt;
 {....4}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....8}&lt;br /&gt;
 {...40}&lt;br /&gt;
 {...77}&lt;br /&gt;
|width=1px|&lt;br /&gt;
 {....5}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....9}&lt;br /&gt;
 {...41}&lt;br /&gt;
 {...77}&lt;br /&gt;
|&lt;br /&gt;
 {....4}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....7}&lt;br /&gt;
 {...21}&lt;br /&gt;
 {...34}&lt;br /&gt;
|&lt;br /&gt;
 {varname} = {value0}&lt;br /&gt;
 LOOP:&lt;br /&gt;
 {consequence}&lt;br /&gt;
 ++ {varname}&lt;br /&gt;
     {varname} &amp;gt;= {valueN}&lt;br /&gt;
 GOTO_IF_FALSE LOOP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===SWITCH===&lt;br /&gt;
&lt;br /&gt;
In {{icon|sa}}, the [[#SWITCH|SWITCH]] control flow is more complex and efficient because the game uses internally a [[Wikipedia:Binary_search_algorithm|binary search algorithm]] to jump at the [[#Labels|label]] that matches with the value of a particular case. This method requires a known amount of cases which is up to 75. When a case is true, a ''consequence'' is executed and the code jumps to the end of the construct, otherwise the ''alternative'' may be performed. As the code is unoptimized, the [[#GOTO|GOTO]] of the last case is still compiled even though its label points right after the command mentioned earlier:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=20%|Decompiled&lt;br /&gt;
!width=1px|{{icon|sa}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 SWITCH {varname}&lt;br /&gt;
     CASE {value0}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK&lt;br /&gt;
     [CASE {valueN}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK]&lt;br /&gt;
     [DEFAULT&lt;br /&gt;
         {alternative}&lt;br /&gt;
         BREAK]&lt;br /&gt;
 ENDSWITCH&lt;br /&gt;
|&lt;br /&gt;
 {.2161}&lt;br /&gt;
 {.2162}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 SWITCH_START {varname} {numcases} {isdefault} DEFAULT {value0} CASE0 ...&lt;br /&gt;
 [SWITCH_CONTINUED ... {valueN} CASEN [-1 ENDSWITCH]]&lt;br /&gt;
 CASE0:&lt;br /&gt;
     {consequence}&lt;br /&gt;
     GOTO ENDSWITCH&lt;br /&gt;
 [CASEN:&lt;br /&gt;
     {consequence}&lt;br /&gt;
     GOTO ENDSWITCH]&lt;br /&gt;
 [DEFAULT:&lt;br /&gt;
     {alternative}&lt;br /&gt;
     GOTO ENDSWITCH]&lt;br /&gt;
 ENDSWITCH:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In {{icon|lcs}} and {{icon|vcs}}, such control flow is a set of nested [[#IF|IF]] constructs which causes a very slight loss of performance by considering that [[#ANDOR|ANDOR]] isn't compiled:&lt;br /&gt;
&lt;br /&gt;
{|width=100%&lt;br /&gt;
!width=50%|Decompiled&lt;br /&gt;
!colspan=2|G/L {{icon|lcs}}&lt;br /&gt;
!width=1px|G/L {{icon|vcs}}&lt;br /&gt;
!Compiled&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 SWITCH {varname}&lt;br /&gt;
     CASE {value0}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK]&lt;br /&gt;
     [CASE {valueN}&lt;br /&gt;
         {consequence}&lt;br /&gt;
         BREAK]&lt;br /&gt;
     [DEFAULT&lt;br /&gt;
         {alternative}&lt;br /&gt;
         BREAK]&lt;br /&gt;
 ENDSWITCH&lt;br /&gt;
|width=1px|&lt;br /&gt;
  ----- &lt;br /&gt;
 {...56}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {...56}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
  ----- &lt;br /&gt;
|width=1px|&lt;br /&gt;
  ----- &lt;br /&gt;
 {...57}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {...57}&lt;br /&gt;
 {...77}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
  ----- &lt;br /&gt;
 {...27}&lt;br /&gt;
 {...34}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {...27}&lt;br /&gt;
 {...34}&lt;br /&gt;
 {.....}&lt;br /&gt;
 {....2}&lt;br /&gt;
  ----- &lt;br /&gt;
 {.....}&lt;br /&gt;
  ----- &lt;br /&gt;
  ----- &lt;br /&gt;
|&lt;br /&gt;
 CASE0:&lt;br /&gt;
     {varname} = {value0}&lt;br /&gt;
 GOTO_IF_FALSE CASEN&lt;br /&gt;
     {consequence}&lt;br /&gt;
     GOTO ENDSWITCH0&lt;br /&gt;
 CASEN:&lt;br /&gt;
         [{varname} = {valueN}&lt;br /&gt;
     GOTO_IF_FALSE DEFAULT&lt;br /&gt;
         {consequence}&lt;br /&gt;
         GOTO ENDSWITCHN&lt;br /&gt;
     DEFAULT:&lt;br /&gt;
         [{alternative}&lt;br /&gt;
     ENDSWITCHN:]]&lt;br /&gt;
 ENDSWITCH0:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Optimization==&lt;br /&gt;
&lt;br /&gt;
In {{icon|lcs}} and {{icon|vcs}}, whenever a ''single condition'' is checked [[#ANDOR|ANDOR]] doesn't get compiled cause no [[#Logical|logical operator]] ('''AND''', '''OR''') is used and so they become really useless. Its lack increases the script efficiency a lot. However, the jump of the '''ELSE''' clause of an [[#IF|IF]] statement which points to the end of the construct is still compiled after a [[#GOTO|GOTO]]. Furthermore, ''Stories Games'' come with an improved data type managing which causes a considerable decrease of the compiled file size.&lt;br /&gt;
&lt;br /&gt;
=Tools=&lt;br /&gt;
&lt;br /&gt;
* [[SCRambl]] - an open-source tool provided by {{U|Deji}}&lt;br /&gt;
* [[Mission Scripting Tools]]&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [[SCM language III/VC definitions]]&lt;br /&gt;
&lt;br /&gt;
=External links=&lt;br /&gt;
&lt;br /&gt;
*{{icon|2}} [http://gtamp.com/GTA2/gta2script.7z DMA's official GTA2script Compiler V9.6], [http://projectcerbera.com/gta/2/tutorials/scripting DMA's official GTA2script information] - found into the game copy&lt;br /&gt;
*{{icon|3}} [https://www.dropbox.com/s/bwxqe33c8ownfc8/gta3ta_source.rar GTA III 10th Anniversary source] - found into the ''iOS'' game copy&lt;br /&gt;
*{{icon|3}} [http://pastebin.com/Pfwscpeh GTA III unofficial main.sc] - Reconstruction of main.sc, missing from the iOS source code, by {{U|Link2012}}&lt;br /&gt;
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=T73rCdDd GTA III/VC unavailable script commands (possibly NOP'd)] - some sort of information by {{U|Wesser}} as a result of the reverse-engineering applied to the [http://www.rockstargames.com/ Rockstar Games]' official '''GTA3 Script Compiler V413'''&lt;br /&gt;
*{{icon|3}} {{icon|vc}} [https://www.dropbox.com/s/7xgvqo8b9u1qw02/gta3sc_v413.rar Official GTA3 Script Compiler V413] - found into the ''GTA VC 10th Anniversary'' copy&lt;br /&gt;
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=Pjb0Ezkx GTA3 Script Compiler V413 Compilation Strings] - a list by {{U|Wesser}} of all the error messages the compiler can throw and more&lt;br /&gt;
*{{icon|sa}} [http://pastebin.com/raw.php?i=Ra9JLLeN GTA SA PC/PS2/XBOX script commands], [http://pastebin.com/raw.php?i=kCwS6rdG GTA SA Mobile script commands] - taken directly from the ''Android'' application and rearranged by {{U|Wesser}}&lt;br /&gt;
*{{GTAF|441362|Reconstructing the III .sc language}} &amp;amp;ndash; a post by {{U|NTAuthority}}&lt;br /&gt;
&lt;br /&gt;
{{N|SA|VC|3}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Mission Script]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=SCM_Instruction&amp;diff=17857</id>
		<title>SCM Instruction</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=SCM_Instruction&amp;diff=17857"/>
		<updated>2019-01-13T05:11:46Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{This|This article deals with the technical information on the opcode format. For the opcodes documentation see [[list of opcodes]]}}&lt;br /&gt;
Each script instruction is represented by a number called '''opcode''' or [[Wikipedia:Opcode|operation code]] which is implemented using an [[Wikipedia:UINT16|16 bit unsigned integer]]. By this number the game engine identifies an action to perform. Say, an opcode [[0001]] tells to wait for amount of time, [[0003]] shakes the camera, [[0053]] creates a player, etc. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
Initially the instructions are written in a human-readable form. For example, a ''wait'' instruction could look like this:&lt;br /&gt;
 wait 0&lt;br /&gt;
where the word ''wait'' is a compiler-dependent representation of the opcode 0001 and the number &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is a single parameter for this particular instruction. When a mission script is assembled, the instructions are written back in raw byte form:&lt;br /&gt;
&lt;br /&gt;
 {{hint|0100|opcode}}&amp;amp;nbsp;{{hint|04|Data type}}&amp;amp;nbsp;{{hint|00|Parameter value}}&lt;br /&gt;
&lt;br /&gt;
* First part is the opcode number in a [[Wikipedia:Endianness|little-endian]] format.&lt;br /&gt;
* Second part is the [[#Data types|data type]]&lt;br /&gt;
* Third part is the parameter value&lt;br /&gt;
&lt;br /&gt;
As it has been said, an opcode is UINT16 number. It means the minimum opcode is [[0000]] and maximum opcode is 0xFFFF. However due to a specific of the [[SCM language]], any numbers above 0x7FFF denote negative [[Conditional statement|conditional opcodes]]. The original unmodded game supports a way smaller amount of opcodes (maximum [[0A4E]] for [[San Andreas]]), but there are tools adding new ones, most notably [[CLEO|CLEO Library]].&lt;br /&gt;
&lt;br /&gt;
There could be zero or more instruction parameters following the opcode number{{Ref|05B6|[*]}}.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
The game engine knows amount of parameters for each instruction (1 for [[0001]], 2 for [[0004]], 13 for [[014B]], etc). If the script contains other number of parameters it causes a crash. &lt;br /&gt;
&lt;br /&gt;
The value of a parameter could be one of following types:&lt;br /&gt;
* Immediate values&lt;br /&gt;
** integer numbers&lt;br /&gt;
** floating-point numbers&lt;br /&gt;
** [[#Strings|fixed-length strings]]&lt;br /&gt;
** {{icon|sa}} [[#Strings|variable-length strings]]&lt;br /&gt;
* Variables&lt;br /&gt;
** global variables&lt;br /&gt;
** local variables&lt;br /&gt;
* {{icon|sa}} {{icon|lcs}} {{icon|vcs}} [[#Arrays|arrays]]&lt;br /&gt;
&lt;br /&gt;
A concrete type of the value is determined by a single byte written before it{{ref|vcstr|[*]}}. This byte is called a data type. The purpose of it is to tell to the game how much bytes to read and how to treat it.&lt;br /&gt;
&lt;br /&gt;
==== Data types ====&lt;br /&gt;
A '''[[wikipedia:Data type|data type]]''' is a classification of identifying the type of a value. Types commonly used in GTA include integer numbers, floating-point numbers, and strings. The amount of data allowed to be stored is limited by the type and size of the data. For integers there are two ways to represent the data, signed and unsigned, whereas floating-point values are always signed. A signed data range includes negative numbers while unsigned do not include negatives. The following list shows the types and sizes of data in bytes.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
!Data type&amp;lt;br/&amp;gt;(hex)&lt;br /&gt;
!Arg.&amp;lt;br/&amp;gt;length&lt;br /&gt;
!Target&amp;lt;br/&amp;gt;game&lt;br /&gt;
!Description&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6|Typified&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|00||0||{{icon|3}} {{icon|vc}} {{icon|sa}}||End of argument list (EOAL, [[004F]] or [[0913]] and similar){{ref|partype0|[*]}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|01||4||{{icon|3}} {{icon|vc}} {{icon|sa}}||Immediate 32-bit signed int&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(int *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 4;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|02||2||{{icon|3}} {{icon|vc}} {{icon|sa}}||Global integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|03||2||{{icon|3}} {{icon|vc}} {{icon|sa}}||Local integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|04||1||{{icon|3}} {{icon|vc}} {{icon|sa}}||Immediate 8-bit signed int&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(char *)m_pScriptPC++;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|05||2||{{icon|3}} {{icon|vc}} {{icon|sa}}||Immediate 16-bit signed int&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|06||2||{{icon|3}}||Immediate 16-bit fixed-point (see [[Talk:Mission_Scripting_(Overview)#Fixed-point_remark|remark]])&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_fFloatValue = (float)(*(short *)m_pScriptPC) / 16.0f;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|06||4||align=&amp;quot;right&amp;quot;|{{icon|vc}} {{icon|sa}}||Immediate 32-bit floating-point&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_fFloatValue = *(float *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 4;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|07||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Global integer/floating-point array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|08||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Local integer/floating-point array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|09||8||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Immediate 8-byte string{{ref|str8|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += 8;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0A||2||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Global 8-byte string variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0B||2||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Local 8-byte string variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0C||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Global 8-byte string array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0D||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Local 8-byte string array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0E||1 + (n - 1)||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Immediate variable-length string{{ref|str16|[*]}} (non null-terminated)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;char cStrLength = *(char *)m_pScriptPC++;&lt;br /&gt;
strncpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC, cStrLength);&lt;br /&gt;
memset(&amp;amp;scriptParam.m_szTextLabel[cStrLength], '\0', ucMaxLength - cStrLength);&lt;br /&gt;
m_pScriptPC += cStrLength;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0F||16||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Immediate 16-byte string{{ref|sa16|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += 16;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|10||2||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Global 16-byte string variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|11||2||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Local 16-byte string variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|12||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Global 16-byte string array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_usGlobalOffset = *(unsigned short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|13||6||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Local 16-byte string array{{ref|varray|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(short *)m_pScriptPC;&lt;br /&gt;
scriptParam.m_sArrayIndexVar = *(short *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 4);&lt;br /&gt;
scriptParam.m_arrayProperties = *(ArrayProperties *)(m_pScriptPC + 5);&lt;br /&gt;
m_pScriptPC += 6;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6|Untypified&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|N/A||8||{{icon|3}} {{icon|vc}}||Immediate 8-byte string{{ref|vcstr|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += 8;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|N/A||128||align=&amp;quot;right&amp;quot;|{{icon|sa}}||Immediate 128-byte string&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szString, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += 128;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Depending of the preceeding data type, the parameter value compiled in two bytes &amp;lt;code&amp;gt;{{hint|02 00|Little-endian order}}&amp;lt;/code&amp;gt;, could be treated either as the global variable &amp;lt;code style=&amp;quot;color:blue&amp;quot;&amp;gt;$2&amp;lt;/code&amp;gt;, or a local variable &amp;lt;code style=&amp;quot;color:blue&amp;quot;&amp;gt;2@&amp;lt;/code&amp;gt; or a number of &amp;lt;code style=&amp;quot;color:maroon&amp;quot;&amp;gt;2&amp;lt;/code&amp;gt;. The data type allows the game to determine the correct parameter meaning.&lt;br /&gt;
&lt;br /&gt;
Data types for [[Liberty City Stories]] and [[Vice City Stories]] are much different. First of all, many data types itself denote an immediate value. For example, data type 01 is a value of 0, data type 02 the value 0.0, etc. Floating-point values are packed (1, 2 or 3 bytes of length instead of the [[Wikipedia:IEEE_754-1985#Single-precision_32-bit|common 4]]). Some data types itself are somewhat the identifier of a variable.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
!Data type&amp;lt;br/&amp;gt;(hex)&lt;br /&gt;
!Arg.&amp;lt;br/&amp;gt;length&lt;br /&gt;
!Target&amp;lt;br/&amp;gt;game&lt;br /&gt;
!Description&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=5|Typified&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|00||0||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||End of argument list (EOAL)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|01||0||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 8-bit signed integer constant 0&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = 0;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|02||0||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 8-bit floating-point constant 0.0&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_fFloatValue = 0.0f;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|03||1||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 8-bit packed floating-point&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned int uiUnpackedFloat = *(unsigned char *)m_pScriptPC++ &amp;lt;&amp;lt; 24;&lt;br /&gt;
scriptParam.m_fFloatValue = *(float *)&amp;amp;uiUnpackedFloat;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|04||2||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 16-bit packed floating-point&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned int uiUnpackedFloat = *(unsigned short *)m_pScriptPC &amp;lt;&amp;lt; 16;&lt;br /&gt;
scriptParam.m_fFloatValue = *(float *)&amp;amp;uiUnpackedFloat;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|05||3||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 24-bit packed floating-point&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned int uiUnpackedFloat&lt;br /&gt;
    = (*(unsigned short *)m_pScriptPC &amp;lt;&amp;lt; 16)&lt;br /&gt;
    | (*(unsigned char *)(m_pScriptPC + 2) &amp;lt;&amp;lt; 8);&lt;br /&gt;
scriptParam.m_fFloatValue = *(float *)&amp;amp;uiUnpackedFloat;&lt;br /&gt;
m_pScriptPC += 3;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|06||4||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 32-bit signed integer&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(int *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 4;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|07||1||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 8-bit signed integer&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(char *)m_pScriptPC++;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|08||2||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 16-bit signed integer&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_iIntValue = *(short *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|09||4||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Immediate 32-bit floating-point&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_fFloatValue = *(float *)m_pScriptPC;&lt;br /&gt;
m_pScriptPC += 4;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|0A||n + NUL||align=&amp;quot;right&amp;quot;|{{icon|vcs}}||Immediate null-terminated string{{ref|strvcs|[*]}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += strlen((char *)m_pScriptPC) + 1;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=5|Untypified (script variables)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;0C||1||{{icon|lcs}}||Local timers (''TIMERA'', ''TIMERB'')&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC++ + 0x5E;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;0D||1||align=&amp;quot;right&amp;quot;|{{icon|vcs}}||Local timers (''TIMERA'', ''TIMERB'')&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC++ + 0x5D;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;6C||1||{{icon|lcs}}||Local integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC++ - 0x0C;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;6D||1||align=&amp;quot;right&amp;quot;|{{icon|vcs}}||Local integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC++ - 0x0D;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;CC||3||{{icon|lcs}}||Local integer/floating-point array&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC - 0x6C;&lt;br /&gt;
scriptParam.m_sArrayIndex = *(unsigned char *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 3);&lt;br /&gt;
m_pScriptPC += 3;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;lt;CD||3||align=&amp;quot;right&amp;quot;|{{icon|vcs}}||Local integer/floating-point array&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;scriptParam.m_sLocalVar = *(unsigned char *)m_pScriptPC - 0x6D;&lt;br /&gt;
scriptParam.m_sArrayIndex = *(unsigned char *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 3);&lt;br /&gt;
m_pScriptPC += 3;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|rowspan=2|T&amp;lt;E6||rowspan=2|2||{{icon|lcs}}||Global integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned short usBigEndianWord = *(unsigned short *)m_pScriptPC - 0x00CC;&lt;br /&gt;
scriptParam.m_sGlobalVar = (short)((usBigEndianWord &amp;lt;&amp;lt; 8) | (usBigEndianWord &amp;gt;&amp;gt; 8));&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|{{icon|vcs}}||Global integer/floating-point variable&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned short usBigEndianWord = *(unsigned short *)m_pScriptPC - 0x00CD;&lt;br /&gt;
scriptParam.m_sGlobalVar = (short)((usBigEndianWord &amp;lt;&amp;lt; 8) | (usBigEndianWord &amp;gt;&amp;gt; 8));&lt;br /&gt;
m_pScriptPC += 2;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|T&amp;gt;=E6||4||align=&amp;quot;center&amp;quot;|{{icon|lcs}} {{icon|vcs}}||Global integer/floating-point array&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;unsigned short usBigEndianWord = *(unsigned short *)m_pScriptPC - 0x00E6;&lt;br /&gt;
scriptParam.m_sGlobalVar = (short)((usBigEndianWord &amp;lt;&amp;lt; 8) | (usBigEndianWord &amp;gt;&amp;gt; 8));&lt;br /&gt;
scriptParam.m_sArrayIndex = *(unsigned char *)(m_pScriptPC + 2);&lt;br /&gt;
scriptParam.m_ucArraySize = *(unsigned char *)(m_pScriptPC + 3);&lt;br /&gt;
m_pScriptPC += 4;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|N/A||8||{{icon|lcs}}||Immediate 8-byte string&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;strcpy(scriptParam.m_szTextLabel, (char *)m_pScriptPC);&lt;br /&gt;
m_pScriptPC += 8;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{note|strvcs}} This type was introduced in VCS due to the presence of string variables.&lt;br /&gt;
&lt;br /&gt;
All the data types above haven't been tested in a decompiling process yet, hence they still need a practical confirmation.&lt;br /&gt;
&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
==== Integer numbers ====&lt;br /&gt;
&lt;br /&gt;
An '''[[wikipedia:Integer (computer science)|integer]]''' is a number without a decimal or fractional component.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Size&amp;lt;br&amp;gt;({{hint|bytes|Each byte is 4 bits}}) ||colspan=&amp;quot;6&amp;quot;| Range&lt;br /&gt;
|-&lt;br /&gt;
! || Signed || Name || || Unsigned || Name&lt;br /&gt;
|-&lt;br /&gt;
| 1 || || -128 to 127 || INT8, [[wikipedia:Character_(computing)|CHAR]] || || 0 to 255 || UINT8, BYTE&lt;br /&gt;
|-&lt;br /&gt;
| 2 || || -32,768 to 32,767 || INT16, SHORT || || 0 to 65,535 || UINT16, [[wikipedia:Word (computer architecture)|WORD]], USHORT&lt;br /&gt;
|-&lt;br /&gt;
| 4 || || -2,147,483,648 to 2,147,483,647 || INT32, LONG || || 0 to 4,294,967,295 || UINT32, DWORD, ULONG&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Floating-point numbers ====&lt;br /&gt;
A '''[[wikipedia:Floating point|floating point]]''' is a number with a decimal component and can store extremely large or small numbers while sacrificing significant digits. This is achieved by internally using exponents in scientific notation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Size&amp;lt;br&amp;gt;({{hint|bytes|Each byte is 4 bits}}) || Range || Name&lt;br /&gt;
|-&lt;br /&gt;
| 4 || ±1.1754944×10&amp;lt;sup&amp;gt;-38&amp;lt;/sup&amp;gt; to ±3.4028234×10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt; || [[wikipedia:Single precision floating-point format|SINGLE]], FLOAT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Strings ====&lt;br /&gt;
A ''string'' is a sequence of characters not treated as numbers. Those include {{hint|letters|A..Z}}, {{hint|numbers|0..9}}, and other symbols like _ or @. Unlike other programming languages a string could start with any character, even a space.&lt;br /&gt;
&lt;br /&gt;
There are two kinds of strings.&lt;br /&gt;
&lt;br /&gt;
{{note|str8}} A '''fixed-length string''' or a null-terminated string. This is the most common type been used since [[GTA 3]]. The string length is fixed. When compiled these strings occupy 8 bytes of a [[SCM]] file even if they are actually shorter (the rest is filled with [[Wikipedia:null terminator|zero bytes]]).&lt;br /&gt;
&lt;br /&gt;
{{note|sa16}} San Andreas introduces data type 15 for strings containing up to 15 symbols. They behave same as 8 bytes strings, but always occupy 16 bytes in a SCM file. These strings are only supported by [[Sanny Builder]].&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
!width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot;|String&lt;br /&gt;
!width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot;|Equivalent in SCM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'MAIN'&amp;lt;/span&amp;gt;||{{hint|09|Data type}}&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{{hint|4D 41 49 4E 00 00 00 00|ASCII code of string characters}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'MODDING'&amp;lt;/span&amp;gt;||{{hint|09|Data type}}&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{{hint|4D 4F 44 44 49 4E 47 00|ASCII code of string characters}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'SAVE_OUR_SOULS!'&amp;lt;/span&amp;gt;||{{hint|0F|Data type}}&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{{hint|53 41 56 45 5F 4F 55 52 5F 53 4F 55 4C 53 21 00|ASCII code of string characters}}&lt;br /&gt;
|}&lt;br /&gt;
{{note|str16}} A '''variable-length string'''. This type was first introduced in San Andreas. Maximum length depends on the instruction{{Ref|longstringslimits|[*]}} (the longest parameter ever read has got 40 characters).&lt;br /&gt;
&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
==== Arrays ====&lt;br /&gt;
{{note|varray}} Native ''[[Wikipedia:Array|arrays]]'' support was introduced in GTA SA, however there were different implementations of [[VC_Arrays|arrays in Vice City]]. In SA SCM arrays are assembled as 2 ''UINT16''s, 1 ''INT8'' and a ''UINT8'':&lt;br /&gt;
 2b - UINT16 - array offset{{ref|arrayoffset|[*]}}&lt;br /&gt;
 2b - UINT16 - array index{{ref|arrayindex|[*]}}&lt;br /&gt;
 1b - INT8   - array size&lt;br /&gt;
 1b - UINT8  - array properties&lt;br /&gt;
&lt;br /&gt;
{{note|arrayoffset}} An array offset is basically a variable number. If it's a global array, the offset is a global variable index from which the array begins. For example, if the global array offset is 150 (&amp;lt;code&amp;gt;{{hint|96 00|Little-endian order}}&amp;lt;/code&amp;gt;) it means that the first element of the array is &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$150&amp;lt;/span&amp;gt;, the second one is &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$151&amp;lt;/span&amp;gt;, etc. Same valid for the local arrays (offset is a local variable index). &amp;lt;!-- global variables are multiplied by 4 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|arrayindex}} An array index is a variable number (global or local one) that holds the value of array index. For example, if array index is 3 (&amp;lt;code&amp;gt;{{hint|03 00|Little-endian order}}&amp;lt;/code&amp;gt;), the game will read either global variable &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$3&amp;lt;/span&amp;gt; or local variable &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;3@&amp;lt;/span&amp;gt; depending on the array properties (see below). This variable holds the number which is array element ID to work with. For example, if the array index is &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$3&amp;lt;/span&amp;gt;, and &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$3&amp;lt;/span&amp;gt; holds number &amp;lt;span style=&amp;quot;color:maroon&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt;, the game will read 5th element of the array.&lt;br /&gt;
&lt;br /&gt;
===== Properties =====&lt;br /&gt;
Array properties describe the data type of each array element, held by the first 7 bits of the reference field, plus a flag which signals if the array was declared in a global scope, as the most significant bit indicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot; style=&amp;quot;margin-top: 8px&amp;quot;&amp;gt;enum eArrayElementType&lt;br /&gt;
{&lt;br /&gt;
	ELEMTYPE_INT,&lt;br /&gt;
	ELEMTYPE_FLOAT,&lt;br /&gt;
	ELEMTYPE_TEXT_LABEL,&lt;br /&gt;
	ELEMTYPE_TEXT_LABEL16&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct ArrayProperties&lt;br /&gt;
{&lt;br /&gt;
	unsigned char m_nElementType : 7;&lt;br /&gt;
	unsigned char m_bIsIndexGlobalVar : 1;&lt;br /&gt;
};&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
!width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot;|Array&lt;br /&gt;
!width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot;|Equivalent in SCM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;{{hint|$150(3@,6f)|Sanny Builder syntax}}&amp;lt;/span&amp;gt;||{{hint|07|Data type}}&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{{hint|96 00|Array offset}}&amp;amp;nbsp;{{hint|03 00|Array index}}&amp;amp;nbsp;{{hint|06|Array size}}&amp;amp;nbsp;{{hint|01|Array properties}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;{{hint|10@(9@,5s)|Sanny Builder syntax}}&amp;lt;/span&amp;gt;||{{hint|0D|Data type}}&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{{hint|0A 00|Array offset}}&amp;amp;nbsp;{{hint|09 00|Array index}}&amp;amp;nbsp;{{hint|05|Array size}}&amp;amp;nbsp;{{hint|02|Array properties}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
{{note|vcstr}} In [[GTA 3]], [[Vice City]] and [[Liberty City Stories]] short strings (8 bytes) have no data type preceeding it. If the byte does not fit data type range (00-06 for GTA 3 and VC), it's recognized as a beginning of a string and next 8 bytes are read.&lt;br /&gt;
&lt;br /&gt;
{{note|partype0}} Some instructions have variable amount of parameters. The most known one is [[004F]] that creates a new [[thread]] and passes arguments to it. The number of such parameters could vary, so the special data type denotes the end of parameters.&lt;br /&gt;
&lt;br /&gt;
The maximum amount of parameters for any instruction is 16 for GTA 3 and VC, 32 for SA, LCS and VCS. However, those that admit an undefined amount of arguments can pass 18 parameters for GTA 3 and VC, 34 for SA, 106 for LCS and VCS (this information still needs confirmation).&lt;br /&gt;
&lt;br /&gt;
{{note|05B6}} {{Icon|SA}} Opcode [[05B6]] is a special instruction that defines a table. Immediately after opcode number the stream of data (128 bytes) follows, without a data type.&lt;br /&gt;
&lt;br /&gt;
{{note|longstringslimits}} {{GTAF|post|261006|3940262|Post by Seemann describing limits for the long strings in SA}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Mission Scripting (Overview)]]&lt;br /&gt;
&lt;br /&gt;
{{N|SA|VC|3}}&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Item_Definition&amp;diff=17856</id>
		<title>Item Definition</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Item_Definition&amp;diff=17856"/>
		<updated>2019-01-13T04:58:14Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IdeSection&lt;br /&gt;
| noheader = 1&lt;br /&gt;
}}&lt;br /&gt;
'''Item definition''' files, usually identified by the file extension &amp;lt;code&amp;gt;.ide&amp;lt;/code&amp;gt;, are used to declare many different aspects for the map system or to specify special behaviour rules for one of the aspects.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The files are in plain text format so it can be opened with any text editor (like [[wikipedia:Microsoft Notepad|Notepad]]). The files are split up into several sections. There is no order on how you arrange the sections and sections do not need to appear in the file. Line comments are indicated by the character &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; (number sign) and empty lines are allowed. They can be placed anywhere in the file. The game reads up to a maximum of 256 characters for each line and ignores the rest if the line is longer. Each section starts with a section identifier (usually four characters long, e.g. &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt;, etc.) indicating how the content of the section gets interpreted by the game. The identifier is followed by the definition entries. Each entry takes up one line and follows a specific format which are described in the articles handling the sections in detail below. The end of any section is indicated by the terminating string &amp;lt;code&amp;gt;end&amp;lt;/code&amp;gt;. Both the section identifier and terminating string are case sensitive. Lines within sections are always formatted in the same way differing only in the number of parameters describing the semantical content of the line. Data in each entry are usually separated by the character &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (comma) but can be separated by &amp;lt;code&amp;gt; &amp;lt;/code&amp;gt;&amp;amp;nbsp;(space). Extra tabs and spaces anywhere in the beginning of the line, between data, or after the data are omitted by the game and can be used to improve readability for human eyes. The games' parser uses an invariant culture to parse numerical values and strings, which means strings are [[Wikipedia:ASCII|ASCII]] encrypted and the decimal separator is &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (period).&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
# line comment&lt;br /&gt;
objs&lt;br /&gt;
# default style in objs section&lt;br /&gt;
200, ind_land101, pjs, 1, 127, 0&lt;br /&gt;
# valid style&lt;br /&gt;
	    200 ind_land101 pjs 1 127 0 # unread data&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The following table contains all known sections in the item definition. The supported games column lists games that support the sections but it doesn't necessarily means they're functional in the games.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-1 center-col-2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 7em;&amp;quot;|Section&lt;br /&gt;
!style=&amp;quot;width: 8em;&amp;quot;|Supported games&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[OBJS|objs]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines simple objects. They can be placed into the world through the &amp;lt;code&amp;gt;[[INST|inst]]&amp;lt;/code&amp;gt; section of the [[IPL|item placement files]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TOBJ|tobj]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines time objects. The section functions similarly to &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt; but has two additional parameters defining the in-game time range the object can get rendered. These objects can be placed into the world through the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the item placement files.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HIER|hier]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines clump objects for use in cutscenes.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[CARS (IDE Section)|cars]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines vehicle objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[PEDS|peds]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Defines pedestrian objects (random [[wikipedia:Non-player character|NPC's]]).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[PATH (IDE Section)|path]]&amp;lt;/code&amp;gt;||{{Icon|3}} {{Icon|VC|16||Vice City (unstable)}} {{Icon|SA}}||Adds path nodes to defined objects. This section is unstable in Vice City.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[2DFX|2dfx]]&amp;lt;/code&amp;gt;||{{Icon|t}} {{Icon|4}}||Adds particle effects and simple ped behaviors to defined objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[WEAP|weap]]&amp;lt;/code&amp;gt;||{{Icon|VC}} {{Icon|SA}} {{Icon|4}}||Defines weapon objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[ANIM|anim]]&amp;lt;/code&amp;gt;||{{Icon|SA}} {{Icon|4}}||Defines animated objects. The section functions similarly to &amp;lt;code&amp;gt;objs&amp;lt;/code&amp;gt; but has one additional parameter indicating an [[IFP]] or [[WAD]] animation file to assign an animation to the object. These objects can be placed into the world through the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the item placement files.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TXDP|txdp]]&amp;lt;/code&amp;gt;||{{Icon|SA}} {{Icon|4}}||Used to virtually extend [[TXD|texture dictionaries]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TANM|tanm]]&amp;lt;/code&amp;gt;||{{Icon|4}}||Used to combine &amp;lt;code&amp;gt;tobj&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt; sections.&amp;lt;br&amp;gt;Those objects get placed inside the &amp;lt;code&amp;gt;inst&amp;lt;/code&amp;gt; section of the ''WPL''.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[TREE|tree]]&amp;lt;/code&amp;gt;||{{Icon|4|16||GTA IV (not functional)}}||This section is not functional.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[VNOD|vnod]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[LINK|link]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[MLO|mlo]]&amp;lt;/code&amp;gt;||{{Icon|4}}||Used to create [[interior]]s. This section does also contain information about portals (previous &amp;lt;code&amp;gt;[[ENEX|enex]]&amp;lt;/code&amp;gt; connections) and dimensions of the interior which influences certain aspects, like the weather, for example. All objects are placed relative to an offset placed using &amp;lt;code&amp;gt;[[MLO+|mlo+]]&amp;lt;/code&amp;gt; inside the [[IPL]] or [[WPL]] file.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[AMAT|amat]]&amp;lt;/code&amp;gt;||{{Icon|4}}||This is Audio Materials. Possible Used to make a sound effect at the model. Usually used for dynamic objects.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[LODM|lodm]]&amp;lt;/code&amp;gt;||{{Icon|4|16||GTA IV (not functional)}}||This section is not functional.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[AGRPS|agrps]]&amp;lt;/code&amp;gt;||{{Icon|4}}||&amp;amp;ndash;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HAND|hand]]&amp;lt;/code&amp;gt;||VC Xbox/Mobile||&amp;amp;ndash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IDE Flags ==&lt;br /&gt;
&lt;br /&gt;
Flags are used in order to specify the behaviour of objects. They are interpreted as signed 32-bit integer values where each bit describes a [[wikipedia:Boolean_algebra_(logic)|boolean]] value of a different aspect.&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|3}} GTA III ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || - || Cull model if player doesn't look at it? Read, but ignored. || Fences&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2{{ref|1}} || 0x2 || DO_NOT_FADE || Do not fade the object when it is being loaded into or out of view. || Some lampposts&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4{{ref|1}} || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag must be enabled too. || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16{{ref|1}} || 0x10 || IS_SUBWAY || Model is a tunnel, i.e. set the object as invisible unless the player enters [[Cullzone.dat|cull zone flag 128]]. This flag works only with static models. || Tunnels, some dynamic objects&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Don't use static lighting, we want dynamic if it's possible. || Some lampposts and trafficlights&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64{{ref|1}} || 0x40 || NO_ZBUFFER_WRITE || Model is a shadow. Disable writing to z-buffer when rendering it, allowing transparencies of other objects, shadows, and lights to be visible through this object. Not implemented in the PS2 version. || Shadow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|VC}} GTA Vice City ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || Identifies objects to draw &amp;quot;wet reflections&amp;quot; on them. || Roads&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || DO_NOT_FADE || Do not fade the object when it is being loaded into or out of view. || Some night objects, North Point Mall&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Fences, trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag will be enabled automatically. || Night windows&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || - || Read, but not used. || _dy, _dt objects&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || Don't use static lighting, we want dynamic if it's possible. || Interior objects&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || Model is a shadow. Disable writing to z-buffer when rendering it, allowing transparencies of other objects, shadows, and lights to be visible through this object. || Tree shadows&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Do not draw dynamic shadows on this object. || Small objects, pickups, lamps, trees&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || IGNORE_DRAW_DISTANCE || Ignore draw distance for this object (sets its &amp;quot;level&amp;quot; (island id) to 0). || LOD models, North Bridge&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Breakable glass type 1: glass object changes its textures when breaking. || Small windows&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Breakable glass type 2: glass object doesn't change its textures when breaking. || Large windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Reference table ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Model info flag !! Ref address !! Ref description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || 0x04 || 0x4CA1D7 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CRenderer::RenderRoads()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (CModelInfo::GetModelInfo(entity-&amp;gt;m_nModelIndex)-&amp;gt;m_nFlags &amp;amp; IS_ROAD)&lt;br /&gt;
    entity-&amp;gt;Render();&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || DO_NOT_FADE || 0x20 || 0x4C7E03 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CRenderer::ShouldModelBeStreamed(CEntity *,CVector const&amp;amp;)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DO_NOT_FADE) {&lt;br /&gt;
    if (distance &amp;gt;= model-&amp;gt;GetLargestLodDistance() + 30.0f)&lt;br /&gt;
        return true;&lt;br /&gt;
}&lt;br /&gt;
else if ( distance &amp;gt;= model-&amp;gt;GetLargestLodDistance() + 50.0f)&lt;br /&gt;
    return true;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || 0x40 || 0x56F4F3 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CSimpleModelInfo::SetupBigBuilding(int,int)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DRAW_LAST) {&lt;br /&gt;
    model-&amp;gt;m_nFlags &amp;amp;= ~DRAW_LAST;&lt;br /&gt;
    dbgprint(&amp;quot;%s was draw last\n&amp;quot;, model-&amp;gt;m_szName);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || 0x80 || 0x582590 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CVisibilityPlugins::RenderFadingAtomic(RpAtomic *,float)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; ADDITIVE)&lt;br /&gt;
    RwRenderStateSet(rwRENDERSTATEDESTBLEND, rwBLENDONE);&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || -  || 0x100 || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 || IGNORE_LIGHTING || 0x200 || 0x56F7C4 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CSimpleModelInfo::SetAtomic(int,RpAtomic *)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; IGNORE_LIGHTING)&lt;br /&gt;
    atomic-&amp;gt;geometry-&amp;gt;flags &amp;amp;= ~rpGEOMETRYLIGHT;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || 0x400 || 0x581390 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CVisibilityPlugins::RenderFadingEntities(CLinkList&amp;lt;CVisibilityPlugins::AlphaObjectInfo&amp;gt; &amp;amp;)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nType == MODEL_INFO_SIMPLE &amp;amp;&amp;amp; model-&amp;gt;m_nFlags &amp;amp; NO_ZBUFFER_WRITE)&lt;br /&gt;
    RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, FALSE);&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || 0x800 || 0x48AF21 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CFileLoader::LoadObjectInstance(char const*)&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_nFlags &amp;amp; DONT_RECEIVE_SHADOWS)&lt;br /&gt;
    entity-&amp;gt;m_nFlags.bDontCastShadowsOn = true;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || IGNORE_DRAW_DISTANCE || 0x1000 || 0x487CDE || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::SetupBigBuilding()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (model-&amp;gt;m_afLodDistances[0] &amp;gt; 2500.0f || model-&amp;gt;m_nFlags &amp;amp; IGNORE_DRAW_DISTANCE)&lt;br /&gt;
    entity-&amp;gt;m_nLevel = 0;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || 0x2000 || 0x488CCD || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::PreRender()&amp;lt;/b&amp;gt;, probably in-lined &amp;lt;b&amp;gt;CModelInfo::IsGlassModel(int)&amp;lt;/b&amp;gt; @0x488CAA&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;bool CModelInfo::IsGlassModel(int modelId) {&lt;br /&gt;
    CBaseModelInfo *model = CModelInfo::GetModelInfo(modelId);&lt;br /&gt;
    if (model-&amp;gt;m_nType == MODEL_INFO_SIMPLE || model-&amp;gt;m_nType == MODEL_INFO_TIME) {&lt;br /&gt;
        CSimpleModelInfo *simpleModel = reinterpret_cast&amp;lt;CSimpleModelInfo *&amp;gt;(model);&lt;br /&gt;
        return simpleModel-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_1 || simpleModel-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_2;&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || 0x4000 || 0x488CE7 || &amp;lt;font face=&amp;quot;Consolas&amp;quot;&amp;gt;&amp;lt;b&amp;gt;CEntity::PreRender()&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;if (CModelInfo::IsGlassModel(modelId)) {&lt;br /&gt;
    if (!(CModelInfo::GetModelInfo(modelId)-&amp;gt;m_nFlags &amp;amp; IS_GLASS_TYPE_2) ) {&lt;br /&gt;
        CGlass::AskForObjectToBeRenderedInGlass(entity);&lt;br /&gt;
        entity-&amp;gt;m_nFlags.bIsVisible = false;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== {{Icon|SA}} GTA San Andreas ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits !! Dec !! Hex !! Name !! Description !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0x1 || IS_ROAD || This model is a road. || Roads&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 || 0x2 || - || Not read, but present in IDE files. || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 || 0x4 || DRAW_LAST || Model is transparent. Render this object after all opaque objects, allowing transparencies of other objects to be visible through this object. || Fences, trees&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 8 || 0x8 || ADDITIVE || Render with additive blending. Previous flag will be enabled automatically. || Night windows&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 16 || 0x10 || - || Not read, not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 32 || 0x20 ||  || Works only with animated objects ('anim' section in IDE). || Doors&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 64 || 0x40 || NO_ZBUFFER_WRITE || Disable writing to z-buffer when rendering this model, allowing transparencies of other objects, shadows, and lights to be visible through this object. || Shadows, lights&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 128 || 0x80 || DONT_RECEIVE_SHADOWS || Do not draw shadows on this object. || Small objects, pickups, lamps, trees&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 256 || 0x100 || - || Not read, not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 512 || 0x200 || IS_GLASS_TYPE_1 || Breakable glass type 1 (additional parameters defined inside the object.dat file, otherwise there is no effect) || Small windows&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1024 || 0x400 || IS_GLASS_TYPE_2 || Breakable glass type 2: object first cracks on a strong collision, then it breaks (does also require object.dat registration). || Large windows&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 2048 || 0x800 || IS_GARAGE_DOOR || Indicates an object as an garage door (for more information see GRGE – requires object.dat registration). || Garage doors&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 4096 || 0x1000 || IS_DAMAGABLE || Model with ok/dam states. || Vehicle upgrades, barriers&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 8192 || 0x2000 || IS_TREE || Trees and some plants. These objects move on wind. || Trees, some plants&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 16384 || 0x4000 || IS_PALM || Palms. These objects move on wind. || Palms&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 32768 || 0x8000 || DOES_NOT_COLLIDE_WITH_FLYER || Does not collide with flyer (plane or heli). || Trees, street lights, traffic lights, road signs, telegraph pole&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 65536 || 0x10000 || - || Not read, but present in IDE files. || Explosive things&lt;br /&gt;
|-&lt;br /&gt;
| 17 || 131072 || 0x20000 || - || Not read, but present in IDE files. || chopcop_ models&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 262144 || 0x40000 || - || Not read, but present in IDE files. || pleasure-DL.dff&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 524288 || 0x80000 || - || Unused special object type. Read, but not present in IDE files. || -&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 1048576 || 0x100000 || IS_TAG || This model is a tag. Object will switch from mesh 2 to mesh 1 after getting sprayed by the player. || Tags&lt;br /&gt;
|-&lt;br /&gt;
| 21 || 2097152 || 0x200000 || DISABLE_BACKFACE_CULLING || Disables backface culling – as an result the texture will be drawed on both sides of the model. || Roads, houses, trees, vehicle parts&lt;br /&gt;
|-&lt;br /&gt;
| 22 || 4194304 || 0x400000 || IS_BREAKABLE_STATUE || Object with this model can't be used as cover, i.e. peds won't try to cover behind this object. || Statue parts in atrium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Difference between GTA III and GTA IV engines ==&lt;br /&gt;
&lt;br /&gt;
[[GTA IV]] not only uses different formats to the previous games, it also does not use IDs to identify objects anymore. While [[GTA 3|GTA III]] era games use an ID as an index inside an array of definitions, GTA IV uses the hashes of the model name as a key inside a hash table. For more information about this see [[Map System]].&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[KEd]] &amp;amp;ndash; By {{U|JernejL}}&lt;br /&gt;
* [[MEd]] &amp;amp;ndash; By {{U|Tonywob}}&lt;br /&gt;
* {{GTAG|4817|IDEditor}} &amp;amp;ndash; By {{U|Xmen}}&lt;br /&gt;
* {{GTAF|402942|IDE-IV in GTA-IV script centre}} &amp;amp;ndash; by {{U|Gforce}}&lt;br /&gt;
* [http://www.aschratt.com/fileview.php?file=1004 FlagValue Calculator] &amp;amp;ndash; By {{U|Aschratt}} - Calculates all flagvalues (even those unknown).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Item placement]]&lt;br /&gt;
* [[Map System]]&lt;br /&gt;
* [[Dynamic Object]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* {{note|2}} {{GTAF|post|102833|1067607073|Screenshots of flags in GTA III}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* {{GTAF|102833|GTAVC IDE Definitions}} - topic by {{U|ODIE}} covering specific details of IDE files in GTA VC&lt;br /&gt;
* {{GTAF|118193|GTA3/VC Map File Documentation and Troubleshooting}} - topic by {{U|Opius}} covering general features of IDE files in GTA3 and GTA VC&lt;br /&gt;
* [http://gta-worldmods.t-n-network.de/forum/thread.php?threadid=3382 ID Flagvalue Decoding Project] - project to decode all missing flag values&lt;br /&gt;
&lt;br /&gt;
{{N|5|4|SA|VC|3}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Map Formats]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=List_of_radio_stations_(VC)&amp;diff=17855</id>
		<title>List of radio stations (VC)</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=List_of_radio_stations_(VC)&amp;diff=17855"/>
		<updated>2019-01-13T04:58:10Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a '''list of radio stations in Vice City''', including their file information. Radio stations are long stretches of audio that can be only heard while the player is in a vehicle. Some vehicles are restricted to only one station. In the PC version, radio station audio are in [[ADF]] format located in the &amp;lt;code&amp;gt;[[Audio directory (VC)|Audio]]&amp;lt;/code&amp;gt; directory. In the PS2 version, they are in [[VB]] format located in the &amp;lt;code&amp;gt;audio\Music&amp;lt;/code&amp;gt; directory. In the Xbox version, they are in standard [[wikipedia:Windows Media Audio|WMA]] format located in the &amp;lt;code&amp;gt;Audio&amp;lt;/code&amp;gt; directory. Textures of radio icons as seen in the pause menu are located in the fronten2.txd file. [[Opcode]] [[041E]] is used to set the radio station in the [[script]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Id&lt;br /&gt;
! Name&lt;br /&gt;
! Filename&lt;br /&gt;
! Size (bytes)&lt;br /&gt;
! Length&amp;lt;br&amp;gt;(HH:MM:SS)&lt;br /&gt;
! [[GXT]] entry&lt;br /&gt;
! Icon&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |0 ||rowspan=&amp;quot;3&amp;quot; |Wildstyle ||WILD.adf ||75,457,831 ||rowspan=&amp;quot;2&amp;quot; |01:18:36 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM0 ||rowspan=&amp;quot;3&amp;quot; |[[Image:wildstyle.png|64px|Wildstyle]]&lt;br /&gt;
|-&lt;br /&gt;
|wild.vb ||150,175,744&lt;br /&gt;
|-&lt;br /&gt;
|WILD.wma ||33,262,697 ||01:08:32&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |1 ||rowspan=&amp;quot;3&amp;quot; |Flash FM ||FLASH.adf ||57,405,441 ||00:59:47 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM1 ||rowspan=&amp;quot;3&amp;quot; |[[Image:flash.png|64px|Flash FM]]&lt;br /&gt;
|-&lt;br /&gt;
|Flash.vb ||138,379,264 ||01:03:03&lt;br /&gt;
|-&lt;br /&gt;
|FLASH.wma ||29,054,093 ||00:59:52&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |2 ||rowspan=&amp;quot;3&amp;quot; |KChat ||KCHAT.adf ||49,885,345 ||rowspan=&amp;quot;3&amp;quot; |01:43:55 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM2 ||rowspan=&amp;quot;3&amp;quot; |[[Image:kchat.png|64px|KChat]]&lt;br /&gt;
|-&lt;br /&gt;
|Kchat.vb ||114,049,024&lt;br /&gt;
|-&lt;br /&gt;
|KCHAT.wma ||50,427,553&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |3 ||rowspan=&amp;quot;3&amp;quot; |Fever 105 ||FEVER.adf ||60,691,018 ||rowspan=&amp;quot;2&amp;quot; |01:03:13 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM3 ||rowspan=&amp;quot;3&amp;quot; |[[Image:fever.png|64px|Fever 105]]&lt;br /&gt;
|-&lt;br /&gt;
|fever.vb ||138,756,096&lt;br /&gt;
|-&lt;br /&gt;
|FEVER.wma ||30,715,305 ||01:03:18&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |4 ||rowspan=&amp;quot;3&amp;quot; |Vrock ||VROCK.adf ||74,307,710 ||rowspan=&amp;quot;2&amp;quot; |01:17:24 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM4 ||rowspan=&amp;quot;3&amp;quot; |[[Image:vrock.png|64px|Vrock]]&lt;br /&gt;
|-&lt;br /&gt;
|vrock.vb ||169,771,008&lt;br /&gt;
|-&lt;br /&gt;
|VROCK.wma ||37,606,481 ||01:17:30&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |5 ||rowspan=&amp;quot;3&amp;quot; |VCPR ||VCPR.adf ||41,474,017 ||rowspan=&amp;quot;3&amp;quot; |01:26:24 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM5 ||rowspan=&amp;quot;3&amp;quot; |[[Image:vcpr.png|64px|VCPR]]&lt;br /&gt;
|-&lt;br /&gt;
|vcpr.vb ||94,814,208&lt;br /&gt;
|-&lt;br /&gt;
|VCPR.wma ||41,929,237&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |6 ||rowspan=&amp;quot;3&amp;quot; |Espantoso ||ESPANT.adf ||59,171,736 ||rowspan=&amp;quot;2&amp;quot; |01:01:38 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM6 ||rowspan=&amp;quot;3&amp;quot; |[[Image:espantoso.png|64px|Espantoso]]&lt;br /&gt;
|-&lt;br /&gt;
|espant.vb ||135,266,304&lt;br /&gt;
|-&lt;br /&gt;
|ESPANT.wma ||29,952,289 ||01:01:42&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |7 ||rowspan=&amp;quot;3&amp;quot; |Emotion 98.3 ||EMOTION.adf ||56,749,245 ||rowspan=&amp;quot;2&amp;quot; |00:59:06 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM7 ||rowspan=&amp;quot;3&amp;quot; |[[Image:emotion.png|64px|Emotion 98.3]]&lt;br /&gt;
|-&lt;br /&gt;
|emotion.vb ||129,744,896&lt;br /&gt;
|-&lt;br /&gt;
|EMOTION.wma ||28,726,657 ||00:59:11&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |8 ||rowspan=&amp;quot;3&amp;quot; |Wave 103 ||WAVE.adf ||63,468,356 ||rowspan=&amp;quot;2&amp;quot; |01:06:06 ||rowspan=&amp;quot;3&amp;quot; |FEA_FM8 ||rowspan=&amp;quot;3&amp;quot; |[[Image:wave103.png|64px|Wave 103]]&lt;br /&gt;
|-&lt;br /&gt;
|wave.vb ||145,063,936&lt;br /&gt;
|-&lt;br /&gt;
|WAVE.wma ||32,124,181 ||01:06:11&lt;br /&gt;
|-&lt;br /&gt;
|9 ||MP3 Player ||– ||– ||– ||FEA_MP3 ||[[Image:mp3.png|64px|MP3 Player]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional radio stations ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Id&lt;br /&gt;
! Name&lt;br /&gt;
! Filename&lt;br /&gt;
! Size (bytes)&lt;br /&gt;
! Length&amp;lt;br&amp;gt;(HH:MM:SS)&lt;br /&gt;
! [[GXT]] entry&lt;br /&gt;
! Icon&lt;br /&gt;
|-&lt;br /&gt;
|10 ||Off ||– ||– ||– ||– ||–&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |23 ||rowspan=&amp;quot;3&amp;quot; |Police radio ||police.mp3 ||14,196,819 ||rowspan=&amp;quot;3&amp;quot; |00:29:34 ||rowspan=&amp;quot;3&amp;quot; |– ||rowspan=&amp;quot;3&amp;quot; |–&lt;br /&gt;
|-&lt;br /&gt;
|police.vb ||32,440,320&lt;br /&gt;
|-&lt;br /&gt;
|police.wav ||44,021,136&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; |24 ||rowspan=&amp;quot;3&amp;quot; |Kaufman Cabs radio ||taxi.mp3 ||11,041,854 ||rowspan=&amp;quot;3&amp;quot; |00:23:00 ||rowspan=&amp;quot;3&amp;quot; |– ||rowspan=&amp;quot;3&amp;quot; |–&lt;br /&gt;
|-&lt;br /&gt;
|TAXI.VB ||50,135,040&lt;br /&gt;
|-&lt;br /&gt;
|taxi.wav ||34,238,280&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Version differences ==&lt;br /&gt;
* Flash FM: [[wikipedia:Running with the Night|&amp;quot;Running with the Night&amp;quot;]] by Lionel Richie is missing since the release of the PC version.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[List of radio stations (GTA4)]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://web.archive.org/web/*/http://www.vicecityradio.com/ Official Vice City Soundtrack] &amp;amp;ndash; retrieved from archive.org&lt;br /&gt;
* [http://raptor.cestiny.cz/download/download_b0.html Radio Station Audio Converter] &amp;amp;ndash; by {{U|Raptor}}&lt;br /&gt;
&lt;br /&gt;
{{N|VC}}[[Category:Audio Formats]][[Category:Mission Script]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Scrollbar&amp;diff=17796</id>
		<title>Scrollbar</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Scrollbar&amp;diff=17796"/>
		<updated>2019-01-12T00:19:32Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TocRight}}&lt;br /&gt;
A '''scrollbar''' is a horizontal text-based display formed using LED bulbs that scroll sideways, usually located on the sides of structures. It can be seen in GTA III, Vice City, Liberty City Stories, and GTA IV.&lt;br /&gt;
&lt;br /&gt;
== GTA III ==&lt;br /&gt;
GTA III has a plethora of scrollbars, some of which display actual news of the current state of the islands. The type of scrollbar determines which text to display. The width and height columns are the scaling of the scrollbar; a negative value mirrors the text usually for intended reading on the opposite side. The bulb column is the scale of individual LED bulbs; the larger the value, the larger the dots. All scrollbar text is copied as is, including spaces.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Location || Coordinates || Type || Width || Height || Color || Bulb&lt;br /&gt;
|-&lt;br /&gt;
| Shopping Mall || 228.3, -669.0, 39.0 || [[#Type 0: Biz|0]] || 0.5 || 0.5 || style=&amp;quot;background-color: #FF8000;&amp;quot; | #FF8000 || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| Porter Tunnel || 772.0, 164.0, -9.5 || [[#Type 1: Traffic|1]] || 0.5 || 0.25 || style=&amp;quot;background-color: #80FF00;&amp;quot; | #80FF00 || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| FIA Terminal A rear entrance || -1089.61, -584.224, 13.246 || [[#Type 3: Airport Doors|3]] || -0.1706 || 0.107 || style=&amp;quot;background-color: #FF0000;&amp;quot; | #FF0000 || 0.11&lt;br /&gt;
|-&lt;br /&gt;
| FIA Terminal B rear entrance || -1089.61, -602.046, 13.246 || [[#Type 3: Airport Doors|3]] || -0.1706 || 0.107 || style=&amp;quot;background-color: #00FF00;&amp;quot; | #00FF00 || 0.11&lt;br /&gt;
|-&lt;br /&gt;
| FIA Terminal C rear entrance || -1089.61, -619.817, 13.246 || [[#Type 3: Airport Doors|3]] || -0.1706 || 0.107 || style=&amp;quot;background-color: #FF8000;&amp;quot; | #FF8000 || 0.11&lt;br /&gt;
|-&lt;br /&gt;
| FIA front left || -754.578, -633.509, 18.411 || [[#Type 4: Airport Front|4]] || 0.591 || 0.52 || style=&amp;quot;background-color: #6464FF; color: white;&amp;quot; | #6464FF || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| FIA front right || -754.578, -586.672, 18.411 || [[#Type 4: Airport Front|4]] || 0.591 || 0.52 || style=&amp;quot;background-color: #6464FF; color: white;&amp;quot; | #6464FF || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| Bedford Point || 85.473, -1069.512, 30.5 || [[#Type 5: Store|5]] || -0.3125 || 0.727 || style=&amp;quot;background-color: #6464FF; color: white;&amp;quot; | #6464FF || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| Bedford Point || 74.823, -1086.879, 31.495 || [[#Type 2: Entertainment|2]] || 0.1041 || 0.5 || style=&amp;quot;background-color: #FFFF80;&amp;quot; | #FFFF80 || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| Bedford Point || -36.459, -1031.237, 32.534 || [[#Type 2: Entertainment|2]] || 0.0721 || 0.229 || style=&amp;quot;background-color: #96FF32;&amp;quot; | #96FF32 || 0.3&lt;br /&gt;
|-&lt;br /&gt;
| Capital Autos || 1208.0, -62.208, 19.157 || [[#Type 6: Used Cars|6]] || -0.20365 || 0.229 || style=&amp;quot;background-color: #FF8000;&amp;quot; | #FF8000 || 0.3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Type 0: Biz ===&lt;br /&gt;
Includes the following and [[#Tunnel|Tunnel]], [[#Bridge|Bridge]], and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
SHARES  UYE&amp;amp;uarr;10% DWD&amp;amp;uarr;20% NDWE&amp;amp;darr;22% . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
CRIME WAVE HITS LIBERTY CITY . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
SHARES  OBR&amp;amp;darr;29% MADD&amp;amp;uarr;76% LEZ&amp;amp;uarr;11% ADAMSKI&amp;amp;darr;53% AAG&amp;amp;darr;110%. . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the language is not French or German:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.GRANDTHEFTAUTO3.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 1: Traffic ===&lt;br /&gt;
Includes the following and [[#Tunnel|Tunnel]], [[#Bridge|Bridge]], and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
DRIVE CAREFULLY . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
RECENT WAVE OF CARJACKINGS. KEEP YOUR DOORS LOCKED !!!  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
CHECK YOUR SPEED . . .  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
KEEP YOUR EYES ON THE ROAD AND NOT ON THIS SIGN  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the [[weather]] is not foggy or rainy:&lt;br /&gt;
{{Pre|&lt;br /&gt;
ENJOY YOUR TRIP   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the weather is foggy:&lt;br /&gt;
{{Pre|&lt;br /&gt;
POOR VISIBILITY !   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the weather is rainy:&lt;br /&gt;
{{Pre|&lt;br /&gt;
ROADS ARE SLIPPERY !   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 2: Entertainment ===&lt;br /&gt;
Includes the following and [[#Tunnel|Tunnel]], [[#Bridge|Bridge]], and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
 '69TH STREET' STILL HOLDS TOP POSITION THIS MONTH AT THE BOX-OFFICE WITH 'MY FAIR LADYBOY' JUST CREEPING UP BEHIND.   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 TALKING OF 'FANNIE'. THERE IS STILL TIME TO CATCH THIS LOVELY FAMILY MUSICAL, ABOUT THE ORPHAN WHO IS SO EASILY TAKEN IN BY ANY MAN WITH LOADS OF MONEY.  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 DO NOT MISS  'GTA3, THE MUSICAL' . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 STILL RUNNING ARE 'RATS' AND 'GUYS AND DOGS', BETWEEN THEN THEY SHOULD HAVE THE LEGS TO LAST TILL THE AND OF THE YEAR. . .  ALSO FOR FOUR LEGGED FANS, THE STAGE VERSION OF THE GRITTY REALISTIC 'SATERDAY NIGHT BEAVER' OPENED LAST WEEKEND, AND I FOR ONE CERTAINLY ENJOYED THAT.  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 NOW SHOWING STATE-WIDE, ARNOLD STEELONE, HOLLYWOODS BEST LIVING SPECIAL EFFECT, APPEARS AGAIN AS A HALF_MAN, HALF ANDROID IN THE HALF-BAKED ROMP, 'TOP DOWN CITY'. AN HOMAGE TO HIS EARLIER TWO MULTI_MILLION MAKING MOVIES, IN WHICH HE PLAYED TWO-DEE, AN OUT OF CONTROL MONSTER, INTENT ON CORRUPTING CIVILISATION!   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 ALSO APPEARING THIS WEEK 'HALF-COCKED' SEES CHUCK SCHWARTZ UP TO HIS USUAL NONSENSE AS HE TAKES ON HALF OF LIBERTY CITY IN AN ATTEMPT TO SAVE HIS CROSS-DRESSING LADY-BOY SIDEKICK, 'MISS PING-PONG', FROM A GANG OF RUTHLESS COSMETIC SURGEONS.    &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 STILL SHOWING: 'SOLDIERS OF MISFORTUNE', ATTROCIOUS ACTING WHICH SEES BOYZ 2 GIRLZ' TRANSITION FROM THE CHARTS TO THE BIG SCREEN, AT LEAST THEY ALL DIE AT THE END. . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 'BADFELLAS' IS STILL GOING STRONG WITH CROWDS ALMOST BEING PUSHED INTO CINEMAS TO SEE THIS ONE. ANOTHER ONE WORTH LOOKING INTO IS 'THE TUNNEL'.    &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.ROCKSTARGAMES.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 3: Airport Doors ===&lt;br /&gt;
Includes the following and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
WELCOME TO LIBERTY CITY . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
PLEASE HAVE YOUR PASSPORT READY . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
PLACE KEYS, FIREARMS, CHANGE AND OTHER METAL OBJECTS ON THE TRAY &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Original PS2 version only:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.DMA-DESIGN.COM/GTA3/SECRET.HTM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 4: Airport Front ===&lt;br /&gt;
Includes the following and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
WELCOME TO FRANCIS INTERNATIONAL AIRPORT . . .  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
PLEASE DO NOT LEAVE LUGGAGE UNATTENDED . . .  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FOLLOW 1 FOR LONG AND SHORT TERM PARKING  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 5: Store ===&lt;br /&gt;
Includes the following and [[#Clock|Clock]].&lt;br /&gt;
&lt;br /&gt;
If not original PS2 version:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.ROCKSTARGAMES.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If original PS2 version:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.DMA-DESIGN.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Pre|&lt;br /&gt;
GTA3   OUT NOW . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
OUR STUFF IS  CHEAP CHEAP CHEAP      &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
BUY 12 CDS GET ONE FREE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
APPEARING IN SHOP SOON, 'THE BLOODY CHOPPERS', WITH THEIR NEW ALBUM, 'IS THAT MY DAUGHTER?' &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
THIS MONTH IS OUR CRAZY CLEAROUT MONTH, EVERYTHING MUST GO, CDS, DVDS, STAFF, EVEN OUR CARPETS!    &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
OUT THIS WEEK: THE THEME TUNE TO 'BOYS TO GIRLS' FIRST MOVIE 'SOLDIERS OF MISFORTUNE', THE SINGLE 'LET ME IN YOU'RE BODY-BAG' IS TAKEN FROM THE SOUNDTRACK ALBUM, 'BOOT CAMP BOYS'. ALSO INCLUDES THE SMASH SINGLE, 'PRAY IT GOES OK'.    &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
ALBUMS OUT THIS WEEK: MARYDANCING, 'MUTHA O' CHRIST', FEATURING THE SINGLE 'WASH HIM OFF', ALSO CRAIG GRAYS' DEBUT, 'FADE AWAY', INCLUDES THE SINGLE OF THE SAME NAME. . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
ON THE FILM FRONT, A NELY COMPILED COMPILATION OF ARNOLD STEELONES GREATEST MOVIES ON DVD. THE PACK INCLUDES THE EARLY 'BY-CEP', THE CULT CLASSIC 'FUTURE ANNHILATOR', AND THE HILARIOUS CROSS-DRESSING COMEDY 'SISTERS'. ONE FOR ALL THE FAMILY. . . &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Original PS2 version only:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.DMA-DESIGN.COM/GTA3/HIDDEN.HTM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 6: Used Cars ===&lt;br /&gt;
Includes the following and [[#Clock|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
QUICK, TAKE A LOOK AT OUR CURRENT STOCK 'CAUSE THESE AUTOS ARE MOVIN' FAST . . .  &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
THAT'S RIGHT, HERE AT 'CAPITAL AUTO SALES' OUR VEHICLES ARE SO GOOD THAT THEY PRACTICALLY DRIVE THEMSELVES OFF OUR LOT . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
EASY CREDIT ON ALL CARS . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FEEL LIKE A STUD IN ONE OF OUR STALLIONS OR TEST-DRIVE OUR BANSHEE, IT'S A REAL STEAL!!!   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
TRY OUR HARDY PERENNIAL, IT'LL LAST YOU THE WHOLE YEAR. OUR BOBCATS AIN'T NO PUSSIES EITHER!!!   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
IF IT'S A GUARANTEE YOU RE AFTER, GO SOMEWHERE ELSE, 'CAPITAL' CARS ARE THAT GOOD THEY DON'T NEED GUARANTEES!!!   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
TOP DOLLAR OFFERED FOR YOUR OLD WHEELS, NOT YOUR CAR, JUST IT'S WHEELS. . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
THAT'S RIGHT WE'RE CAR SILLY. TEST DRIVE ANY CAR, YOU WON'T WANT TO BRING IT BACK!!!   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FREE FLUFFY DICE WITH ALL PURCHASES. . .&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the language is not French or German:&lt;br /&gt;
{{Pre|&lt;br /&gt;
[http://www.rockstargames.com/grandtheftauto3/flash/capitalAutos/ HTTP://ROCKSTARGAMES.COM/GRANDTHEFTAUTO3/CAPITALAUTOS]    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Original PS2 version only:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.DMA-DESIGN.COM/GTA3/BONUS.HTM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Tunnel ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
FIRST PHASE LIBERTY TUNNEL ABOUT TO BE COMPLETED . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034A]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
FIRST PHASE LIBERTY TUNNEL HAS BEEN COMPLETED . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034B]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
LIBERTY TUNNEL HAS BEEN OPENED TO ALL TRAFFIC . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bridge ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
CHAOS AS CALLAHAN BRIDGE IS UNDER REPAIR. . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034A]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
LONG DELAYS BEHIND US AS CALLAHAN BRIDGE IS FIXED . . .   STAUNTON LIFT BRIDGE STUCK OPEN   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034B]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
STAUNTON LIFT BRIDGE IS OPERATIONAL AGAIN    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Clock ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
THE TIME IS {{Hint|HH|Hour}}:{{Hint|MM|Minute}}    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Vice City ==&lt;br /&gt;
Vice City uses only one scrollbar located at the Hyman Memorial Stadium to display the current event at the stadium. The scrollbar is defined by two coordinate points rather than one point with a width and a height.&lt;br /&gt;
&lt;br /&gt;
* Coordinates: (-1069.209, 1320.126, 18.848), (-1069.209, 1342.299, 22.612)&lt;br /&gt;
* Color: &amp;lt;span style=&amp;quot;background-color: #80FF00; padding: 0.2em;&amp;quot;&amp;gt;#80FF00&amp;lt;/span&amp;gt;&lt;br /&gt;
* Bulb: 0.3&lt;br /&gt;
&lt;br /&gt;
If opcode [[054D]] is set to 0:&lt;br /&gt;
{{Pre|&lt;br /&gt;
MAIN EVENT TONIGHT: CAR RACING . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FOR TICKETS TO THE HOT RING EVENT CALL 555-3764 . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode 054D is set to 1:&lt;br /&gt;
{{Pre|&lt;br /&gt;
MAIN EVENT TONIGHT: DESTRUCTION DERBY . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FOR TICKETS TO THE BLOOD RING EVENT CALL 555-3765 . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode 054D is set to 2:&lt;br /&gt;
{{Pre|&lt;br /&gt;
MAIN EVENT TONIGHT: BIKE RACING . . .   &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
FOR TICKETS TO THE DIRT RING EVENT CALL 555-3766 . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Regardless of opcode 054D:&lt;br /&gt;
{{Pre|&lt;br /&gt;
HYMAN MEMORIAL STADIUM. HOME TO SOME OF THE BIGGEST EVENTS OF THE WESTERN HEMISPHERE. ALSO AVAILABLE FOR CHILDREN PARTIES. . . &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Liberty City Stories ==&lt;br /&gt;
Liberty City Stories continues GTA III's usage of the scrollbars and their behaviors with changes to the text to reflect the game's setting.&lt;br /&gt;
&lt;br /&gt;
=== Type 0 ===&lt;br /&gt;
Includes the following and [[#Tunnel_2|Tunnel]], [[#Bridge_2|Bridge]], and [[#Clock_2|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
SHARES DAV&amp;amp;uarr;15% JLI&amp;amp;darr;18% MAM&amp;amp;darr;32% STH&amp;amp;uarr;80%. . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
GANG WAR RAGES IN LIBERTY CITY . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
SHARES MJD&amp;amp;darr;23% CJW&amp;amp;uarr;5% RAMMAN&amp;amp;uarr;7% HNTR&amp;amp;darr;43% NJM&amp;amp;darr;12% AAG&amp;amp;darr;110%. . . &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 2 ===&lt;br /&gt;
Includes the following and [[#Tunnel_2|Tunnel]], [[#Bridge_2|Bridge]], and [[#Clock_2|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
 THE TECHNICOLOR SPECTACULAR 'JESUS, MARY AND JOSEPH!' IS A GODSEND! BEING SUNG ENTIRELY IN ARAMAIC, THE MUSICAL MAY BE DIFFICULT TO FOLLOW, BUT BOY THERE SURE ARE SOME SANDAL-TAPPING TUNES IN THERE ! &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 THE MUSICAL 'WINGDING, SONS OF A BITCH TAKE FLIGHT' IS SLAYING THEM IN THEATERS ACROSS TOWN. CRITICS HAVE DESCRIBED IT AS 'BLOWING THE COBWEBS OFF THE MUSICAL GENRE LIKE A DIVINE WIND' . . . IT'S AN EVENING OF MUSIC, DANCE, DEATH AND DESTRUCTION! INCLUDES THE HIT SONG 'ALL YOUR BASE ARE BELONG TO USA'. YOU ARE SURE TO LEAVE WITH A SMILE ON YOUR FAT FACE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 THE UNMISSABLE 'GTA3, THE MUSICAL' IS STILL RUNNING IN LIBERTY CITY THEATERS AFTER 250 WEEKS . . . CONTROVERSY HAS PLAGUED THE PRODUCTION AFTER PRESSURE GROUPS URGED CONCERN OVER A POSSIBLE CAUSAL LINK BETWEEN THE PLAY AND THE END OF THE WORLD . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 THE OPERA IS MAKING A COMEBACK IN LIBERTY CITY AS PLANS ARE UNDERWAY TO STAGE MALBOLOKOV'S 'THE PEARLFISHER'S NECKLACE' . . .A TALE ABOUT A BOY, WHO IS REALLY A GIRL, THAT DANCES FOR A SUPPER OF PHEASANTS, THAT ARE REALLY HER BROTHER'S SHOES. ART CRITIC MORGAN MERRIWEATHER DESCRIBES IT AS 'A DELIGHT . . . BOMBASTIC OCCLUSIONS ASIDE, IT'S AN INDULGENCE OF DIZZYING WONDERMENT' . . . L.C.TONIGHT SAYS, 'SHE'S A HOTTIE!' &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 NOW PLAYING 'HEAVY WEAPONS' BUFF T AND SUCK WILD REUNITE IN THE SEQUEL TO 'WEAPONS OF ASS DISTRACTION'. THE CHIPS ARE DOWN AND SO ARE THE IQ'S IN THIS SUMMER'S MONSTER BLOCKBUSTER. . . THE PRESIDENT'S ASS IS ON THE LINE. HE NEEDS A PLAN TO STOP FREEDOM BEING STOLEN BY THE BAD GUYS. STEP UP BUFF AND SUCK! IT'S TIME TO UNLEASH THE HEAVY WEAPONS AND 'SUCK IT TO 'EM!'&lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 COMING SOON . . . A SPECIAL PREVIEW NIGHT OF 'FUBAR'. AN EPIC URBAN BIOPIC ABOUT LIFE IN THE GHETTO WHEN YOU'RE A MILLIONAIRE GANGSTA RAPPER JUST TRYING TO GET BY AND KEEP IT REAL . . . STARS DB-P, FAITH W, AND BLACK LIGHTMAN . . . SEATS STILL AVAILABLE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 STILL SHOWING: 'BAD MAN RETURNS - THIS TIME IT'S POOR' . . . THE CHILDHOOD PSYCHOLOGICAL SCARS OF POTTY TRAINING TURNED MILLIONAIRE PLAYBOY BRUTE LAME INTO 'BAD MAN', THE CRAP CRUSADER. CLOAKED IN DARKNESS, HE TRACKS DOWN ALL GRIME IN THE CITY! . . . IF YOU DON'T FLUSH, HE'LL FLUSH YOU! &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
 THIS WEEKEND'S MUST SEE MOVIE IS 'LET'S MAKE FORMULA'. THE HUGELY SUCCESSFUL COMEDY, ROMANCE, BUDDY-BUDDY, ACTION MOVIE SERIES CONTINUES WITH THE LATEST INSTALLMENT - 'HONEY, I SHRUNK MY SKIDS'. . . AND CATCH THIS ONE IF YOU CAN, 'THE COMMON COLD'. . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.ROCKSTARGAMES.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Type 5 ===&lt;br /&gt;
Includes the following and [[#Clock_2|Clock]].&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.ROCKSTARGAMES.COM    &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
'GRAND THEFT PORTO' OUT NOW . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
OUR STUFF IS CHEAPER THAN CHEAP . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
BUY 12 DVDS GET 1 VIDEO CASSETTE FREE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
WE'RE CLOSING DOWN AGAIN! . . . YES! WE DID SO MUCH TRADE AT OUR LAST CLOSING DOWN SALE THAT WE'VE MANAGED TO STAY IN BUSINESS LONG ENOUGH TO HAVE ANOTHER ONE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
SPECIAL OFFERS . . . SPECIAL OFFERS . . . SPECIAL OFFERS . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
APPLY FOR A STORE CARD AND GET 0% OFF YOUR FIRST PURCHASE . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
RELEASED THIS WEEK: 'NEW SKIDS ON THE POT' GREATEST HITS CD,'NUKED IDS': INCLUDES THEIR BIG CHART HITS 'PUPPY PHAT LUVA' AND 'BANGING STUFF' . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
CHECK IN-STORE FOR THE PRODUCERS CUT DVD RELEASE OF THE CLASSIC SCIFI MOVIE 'TOTAL REHAB' STARRING ARNOLD STEELONE. IT'S NOT VERY GOOD BUT IT CAME OUT ON TIME . . . &lt;br /&gt;
}}&lt;br /&gt;
{{Pre|&lt;br /&gt;
WWW.ROCKSTARLEEDS.COM    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Tunnel ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
FIRST PHASE LIBERTY TUNNEL ABOUT TO BE COMPLETED . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034A]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
FIRST PHASE LIBERTY TUNNEL HAS BEEN COMPLETED . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034B]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
LIBERTY TUNNEL HAS BEEN OPENED TO ALL TRAFFIC . . .   &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bridge ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
THE GRAND OPENING OF CALLAHAN BRIDGE IS ONLY DAYS AWAY. . . &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034A]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
LONG DELAYS BEHIND US AS CALLAHAN BRIDGE IS NEARLY COMPLETED . . . &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If opcode [[034B]] is called:&lt;br /&gt;
{{Pre|&lt;br /&gt;
WORK SHY STRIKERS RETURN TO THEIR JOBS . . . STAUNTON LIFT BRIDGE IS OPERATIONAL AGAIN &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Clock ===&lt;br /&gt;
{{Pre|&lt;br /&gt;
THE TIME IS {{Hint|HH|Hour}}:{{Hint|MM|Minute}}    &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Symbols ==&lt;br /&gt;
The following is a list of symbols that can be displayed on a scrollbar in both GTA III and Vice City. Each dot represents an LED bulb in the display. The size of each symbol in the display is 5&amp;amp;times;5 bulbs.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center-col-2&amp;quot;&lt;br /&gt;
!Hex || Display || LED Display&lt;br /&gt;
|-&lt;br /&gt;
|0x20 ||(space) ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x21 ||! ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x22 ||(space) ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x23 ||# ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  •   •  &lt;br /&gt;
• • • • •&lt;br /&gt;
  •   •  &lt;br /&gt;
• • • • •&lt;br /&gt;
  •   •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x24 ||$ ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    • •  &lt;br /&gt;
  • •    &lt;br /&gt;
    •    &lt;br /&gt;
    • •  &lt;br /&gt;
  • •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x25 ||% ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• •      &lt;br /&gt;
• •      &lt;br /&gt;
         &lt;br /&gt;
      • •&lt;br /&gt;
      • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x26 ||(space) ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x27 ||(space) ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x28 ||/ ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        •&lt;br /&gt;
      •  &lt;br /&gt;
    •    &lt;br /&gt;
  •      &lt;br /&gt;
•        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x29 ||' ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2A ||* ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•   •   •&lt;br /&gt;
    •    &lt;br /&gt;
• • • • •&lt;br /&gt;
    •    &lt;br /&gt;
•   •   •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2B ||+ ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
  • • •  &lt;br /&gt;
    •    &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2C ||, ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2D ||- ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
  • • •  &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2E ||. ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x2F ||(space) ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x30 ||0 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x31 ||1 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •    &lt;br /&gt;
  • •    &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x32 ||2 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
        •&lt;br /&gt;
  • • •  &lt;br /&gt;
•        &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x33 ||3 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • •  &lt;br /&gt;
        •&lt;br /&gt;
    • •  &lt;br /&gt;
        •&lt;br /&gt;
• • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x34 ||4 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      •  &lt;br /&gt;
    • •  &lt;br /&gt;
  •   •  &lt;br /&gt;
• • • • •&lt;br /&gt;
      •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x35 ||5 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
•        &lt;br /&gt;
• • • •  &lt;br /&gt;
        •&lt;br /&gt;
• • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x36 ||6 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • • •&lt;br /&gt;
•        &lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x37 ||7 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
•       •&lt;br /&gt;
      •  &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x38 ||8 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x39 ||9 ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
  • • • •&lt;br /&gt;
        •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3A ||: ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
         &lt;br /&gt;
    •    &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3B ||% ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• •      &lt;br /&gt;
• •      &lt;br /&gt;
         &lt;br /&gt;
      • •&lt;br /&gt;
      • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3C ||&amp;amp;uarr; ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •    &lt;br /&gt;
  • • •  &lt;br /&gt;
•   •   •&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3D ||= ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
  • • •  &lt;br /&gt;
         &lt;br /&gt;
  • • •  &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3E ||&amp;amp;darr; ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
•   •   •&lt;br /&gt;
  • • •  &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x3F ||? ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
        •&lt;br /&gt;
    • • •&lt;br /&gt;
         &lt;br /&gt;
    •   •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x40 ||&amp;amp;deg; ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
  •   •  &lt;br /&gt;
  • • •  &lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x41 ||A ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
• • • • •&lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x42 ||B ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
• • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x43 ||C ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•        &lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x44 ||D ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
• • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x45 ||E ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
•        &lt;br /&gt;
• • •    &lt;br /&gt;
•        &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x46 ||F ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
•        &lt;br /&gt;
• • •    &lt;br /&gt;
•        &lt;br /&gt;
•        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x47 ||G ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•        &lt;br /&gt;
•   • • •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x48 ||H ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
• • • • •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x49 ||I ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4A ||J ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        •&lt;br /&gt;
        •&lt;br /&gt;
        •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4B ||K ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•     •  &lt;br /&gt;
•   •    &lt;br /&gt;
• • •    &lt;br /&gt;
•     •  &lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4C ||L ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•        &lt;br /&gt;
•        &lt;br /&gt;
•        &lt;br /&gt;
•        &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4D ||M ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
• •   • •&lt;br /&gt;
•   •   •&lt;br /&gt;
•   •   •&lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4E ||N ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
• •     •&lt;br /&gt;
•   •   •&lt;br /&gt;
•     • •&lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x4F ||O ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x50 ||P ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
• • • •  &lt;br /&gt;
•        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x51 ||Q ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
      • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x52 ||R ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • •  &lt;br /&gt;
•       •&lt;br /&gt;
• • • •  &lt;br /&gt;
•     •  &lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x53 ||S ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  • • •  &lt;br /&gt;
•        &lt;br /&gt;
  • • •  &lt;br /&gt;
        •&lt;br /&gt;
• • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x54 ||T ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x55 ||U ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  • • •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x56 ||V ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  •   •  &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x57 ||W ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•   •   •&lt;br /&gt;
•   •   •&lt;br /&gt;
  •   •  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x58 ||X ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
  •   •  &lt;br /&gt;
    •    &lt;br /&gt;
  •   •  &lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x59 ||Y ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
  •   •  &lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x5A ||Z ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
• • • • •&lt;br /&gt;
      •  &lt;br /&gt;
    •    &lt;br /&gt;
  •      &lt;br /&gt;
• • • • •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|0x5F ||{{Hint|(invalid)|Any hex values above 0x5A display invalid symbols but Rockstar used one outside the range in GTA III.}} ||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    •   •&lt;br /&gt;
        •&lt;br /&gt;
  • • • •&lt;br /&gt;
    •    &lt;br /&gt;
    •    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Random columns on the display are replaced with the following three cases: all bulbs off, top three bulbs off with bottom two on, and all bulbs switched to their opposite state. It is used to artificially create imperfections on the LED display. Using the second column of the &amp;quot;A&amp;quot; symbol for example:&lt;br /&gt;
* Case 1:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display: table-cell;&amp;quot;&amp;gt;&lt;br /&gt;
    • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
•   • • •&lt;br /&gt;
•       •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Case 2:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display: table-cell;&amp;quot;&amp;gt;&lt;br /&gt;
    • •  &lt;br /&gt;
•       •&lt;br /&gt;
•       •&lt;br /&gt;
• • • • •&lt;br /&gt;
• •     •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Case 3:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display: table-cell;&amp;quot;&amp;gt;&lt;br /&gt;
    • •  &lt;br /&gt;
• •     •&lt;br /&gt;
• •     •&lt;br /&gt;
•   • • •&lt;br /&gt;
• •     •&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.gta.ru/forums/gta_3/modding/scrollbar_editor-778114/ Scrollbars Editor for GTA3]&lt;br /&gt;
&lt;br /&gt;
{{N|LCS|VC|3}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=022B&amp;diff=17742</id>
		<title>022B</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=022B&amp;diff=17742"/>
		<updated>2019-01-11T16:21:39Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TocRight}}&lt;br /&gt;
{{OpCode&lt;br /&gt;
| games       = {{Icon|t}}&lt;br /&gt;
| command     = SWITCH_PED_ROADS_OFF&lt;br /&gt;
| description = Prevents pedestrians from spawning or traversing in an area&lt;br /&gt;
| syntax1     = {{Icon|SA}} 022B: switch_ped_roads_off [''flt1''] [''flt2''] [''flt3''] to [''flt4''] [''flt5''] [''flt6'']&lt;br /&gt;
| syntax2     = {{Icon|III}} {{Icon|VC}} 022B: create_forbidden_for_peds_cube [''flt1''] [''flt2''] [''flt3''] [''flt4''] [''flt5''] [''flt6'']&lt;br /&gt;
| p1t         = [''flt1'']&lt;br /&gt;
| p1d         = Top Left X-Coordinate&lt;br /&gt;
| p2t         = [''flt2'']&lt;br /&gt;
| p2d         = Top Left Y-Coordinate&lt;br /&gt;
| p3t         = [''flt3'']&lt;br /&gt;
| p3d         = Top Left Z-Coordinate&lt;br /&gt;
| p4t         = [''flt4'']&lt;br /&gt;
| p4d         = Bottom Right X-Coordinate&lt;br /&gt;
| p5t         = [''flt5'']&lt;br /&gt;
| p5d         = Bottom Right Y-Coordinate&lt;br /&gt;
| p6t         = [''flt6'']&lt;br /&gt;
| p6d         = Bottom Right Z-Coordinate&lt;br /&gt;
| native      = [[SWITCH_PED_ROADS_OFF]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This opcode is used to temporarily disables nodes from the pedestrians path, which causes them to not spawn in these locations. &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
This will prevent pedestrians from spawning in the Cochrane Dam area (the part where &amp;quot;The Exchange&amp;quot; takes place) &lt;br /&gt;
&lt;br /&gt;
{{Pre|class=sb-code|1=&lt;br /&gt;
022B: create_forbidden_for_peds_cube -942.5625 337.0 10.0 -953.5625 361.375 30.0 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
forbid, peds, lock, road&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Saves_(GTA_3)&amp;diff=17741</id>
		<title>Saves (GTA 3)</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Saves_(GTA_3)&amp;diff=17741"/>
		<updated>2019-01-11T16:20:07Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Research}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
This article deals with the format of a '''save game file''' for the PC version of [[GTA 3]].&lt;br /&gt;
&lt;br /&gt;
==Location==&lt;br /&gt;
By default, the game places its save game files into the folder &amp;quot;GTA3 User Files&amp;quot; which is located in the current user's Documents folder. The location of this folder varies depending upon the version of Windows installed.&lt;br /&gt;
&lt;br /&gt;
The save files themselves are named in the format '''GTA3sfX.b''' where '''X''' represents the in-game slot number. There are 8 slots available in the game (1-8).&lt;br /&gt;
&lt;br /&gt;
==Format Details (PC)==&lt;br /&gt;
* Save files are always 0x3145C (201820) bytes long.&lt;br /&gt;
* Byte order is [https://en.wikipedia.org/wiki/Endianness#Little-endian little endian]. For example, the number 3452 (0x0D7C) is represented as 0x7C 0x0D in little endian.&lt;br /&gt;
* File is divided into 20 blocks, followed by [[#Padding|padding]] and ends with a 4-byte [[#Checksum|checksum]].&lt;br /&gt;
&lt;br /&gt;
===Data Blocks===&lt;br /&gt;
A DWORD value precedes each block of data that indicates the size of the block.&lt;br /&gt;
&lt;br /&gt;
====Block 0: Simple Vars====&lt;br /&gt;
Game &amp;quot;meta-information&amp;quot; giving the overall state of things. Also includes 'TheScripts' sub-block.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-  ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||wchar_t[24]||save name (long names are truncated on the save/load screen)&lt;br /&gt;
|-&lt;br /&gt;
|0x0030  ||word     ||SYSTEMTIME wYear&lt;br /&gt;
|-&lt;br /&gt;
|0x0032  ||word     ||SYSTEMTIME wMonth&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||word     ||SYSTEMTIME wDayOfWeek&lt;br /&gt;
|-&lt;br /&gt;
|0x0036  ||word     ||SYSTEMTIME wDay&lt;br /&gt;
|-&lt;br /&gt;
|0x0038  ||word     ||SYSTEMTIME wHour&lt;br /&gt;
|-&lt;br /&gt;
|0x003A  ||word     ||SYSTEMTIME wMinute&lt;br /&gt;
|-&lt;br /&gt;
|0x003C  ||word     ||SYSTEMTIME wSecond&lt;br /&gt;
|-&lt;br /&gt;
|0x003E  ||word     ||SYSTEMTIME wMilliseconds&lt;br /&gt;
|-&lt;br /&gt;
|0x0040  ||dword    ||unknown (constant 0x031401)&lt;br /&gt;
|-&lt;br /&gt;
|0x0044  ||enum    ||current island (1=Portland; 2=Staunton; 3=Shoreside Vale)&lt;br /&gt;
|-&lt;br /&gt;
|0x0048  ||float[3] ||camera coordinates (x,y,z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0054  ||dword    ||length (ms) of in-game minute&lt;br /&gt;
|-&lt;br /&gt;
|0x0058  ||dword    ||last clock tick (weather timer)&lt;br /&gt;
|-&lt;br /&gt;
|0x005C  ||byte     ||game hour&lt;br /&gt;
|-&lt;br /&gt;
|0x005D  ||byte[3]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0060  ||byte     ||game minute&lt;br /&gt;
|-&lt;br /&gt;
|0x0061  ||byte[3]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0064  ||word     ||current pad mode&lt;br /&gt;
|-&lt;br /&gt;
|0x0066  ||byte[2]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0068  ||dword    ||time in milliseconds (global timer)&lt;br /&gt;
|-&lt;br /&gt;
|0x006C  ||float    ||[[015D|time scale]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0070  ||float    ||time step (frame delta time)&lt;br /&gt;
|-&lt;br /&gt;
|0x0074  ||float    ||time step (not clipped)&lt;br /&gt;
|-&lt;br /&gt;
|0x0078  ||dword    ||number of the frames processed from the beginning of the game&lt;br /&gt;
|-&lt;br /&gt;
|0x007C  ||float     ||time step #2 (constant 1.0, unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0080  ||float     ||frames per update (constant 1.0, unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0084  ||float     ||time scale (constant 1.0, unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0088  ||word     ||old weather type&lt;br /&gt;
|-&lt;br /&gt;
|0x008A  ||byte[2]     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x008C  ||word     ||new weather type&lt;br /&gt;
|-&lt;br /&gt;
|0x008E  ||byte[2]     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0090  ||word     ||forced weather type&lt;br /&gt;
|-&lt;br /&gt;
|0x0092  ||byte[2]     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0094  ||float     ||weather interpolation value&lt;br /&gt;
|-&lt;br /&gt;
|0x0098  ||byte[24]  ||compilation date and time (unused, always 0)&lt;br /&gt;
|-&lt;br /&gt;
|0x00B0  ||dword    ||weather type in list&lt;br /&gt;
|-&lt;br /&gt;
|0x00B4  ||float    ||(unknown, camera related)&lt;br /&gt;
|-&lt;br /&gt;
|0x00B8  ||float    ||(unknown, camera related)&lt;br /&gt;
|-&lt;br /&gt;
|0x00BC  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x00C0  ||-  ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'SCR\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 ||- ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||script global variable space size (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword[n/4] ||script global variables dump&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 + n  ||dword    ||block size (always 0x03C8)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 + n  ||- ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||[[0180|$onmission]] offset in global variable space&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||ContactInfo[16]    ||8 bytes each, contact info&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ContactInfo&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 || dword || [[0181|mission flag]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 || dword || [[0182|base brief]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0x0084  ||Unknown[4] ||(unknown)&lt;br /&gt;
|-&lt;br /&gt;
|0x0184  ||dword ||last mission passed time&lt;br /&gt;
|-&lt;br /&gt;
|0x0188  ||BuildingSwap[25] ||16 bytes each, building model replacements&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+BuildingSwap&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 || dword || type&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 || dword || building handle&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 || dword || new model&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||dword || old model&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0x0318  ||InvisibliltySetting[20] ||8 bytes each, invisible objects&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+InvisibilitySetting&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 || dword || type&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 || dword || handle&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0x03B8  ||byte ||already running a mission script flag (0 = false, 1 = true)&lt;br /&gt;
|-&lt;br /&gt;
|0x03B9  ||byte[3] ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x03BC  ||dword  ||size of the MAIN section in the main.scm&lt;br /&gt;
|-&lt;br /&gt;
|0x03C0  ||dword  ||size of largest mission&lt;br /&gt;
|-&lt;br /&gt;
|0x03C4  ||word   ||number of exclusive mission scripts&lt;br /&gt;
|-&lt;br /&gt;
|0x03C6  ||byte[2] ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0x03D0 + n ||dword ||number of active scripts (n2)&lt;br /&gt;
|-&lt;br /&gt;
|0x03D4 + n ||CRunningScript[n2] ||136 bytes each, active scripts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+CRunningScript&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 || CRunningScript * || next script pointer&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 || CRunningScript * || previous script pointer&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 || char[8] || name&lt;br /&gt;
|-&lt;br /&gt;
|0x0010 || dword || current ip&lt;br /&gt;
|-&lt;br /&gt;
|0x0014 || dword[6] || return stack&lt;br /&gt;
|-&lt;br /&gt;
|0x002C || word || stack counter&lt;br /&gt;
|-&lt;br /&gt;
|0x002E || word || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0030 || dword[16] || local variables&lt;br /&gt;
|-&lt;br /&gt;
|0x0070 || dword || timerA&lt;br /&gt;
|-&lt;br /&gt;
|0x0074 || dword || timerB&lt;br /&gt;
|-&lt;br /&gt;
|0x0078 || byte || if result&lt;br /&gt;
|-&lt;br /&gt;
|0x0079 || byte || is mission script ([[00D7]],[[0417]])&lt;br /&gt;
|-&lt;br /&gt;
|0x007A || byte || is active&lt;br /&gt;
|-&lt;br /&gt;
|0x007B || byte || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x007C || dword || wake time&lt;br /&gt;
|-&lt;br /&gt;
|0x0080 || word || if number&lt;br /&gt;
|-&lt;br /&gt;
|0x0082 || byte || not flag (negative condition)&lt;br /&gt;
|-&lt;br /&gt;
|0x0083 || byte || wasted_busted check enabled ([[0111]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0084 || byte || wasted_busted check result&lt;br /&gt;
|-&lt;br /&gt;
|0x0085 || byte || mission flag ([[0417]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0086 || byte[2] || (align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 1: Player Peds====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-  ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   ||players count (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||PlayerPed[n] ||player peds array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+PlayerPed&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||word   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0006  ||dword   ||(unknown) ped reference&lt;br /&gt;
|-&lt;br /&gt;
|0x000A  ||CPed     ||CPed dump (0x05F0 bytes)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+CPed&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte[52]   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||float[3]   ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0040  ||byte[640] ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x02C0  ||float      ||player health&lt;br /&gt;
|-&lt;br /&gt;
|0x02C4  ||float      ||player armor&lt;br /&gt;
|-&lt;br /&gt;
|0x02C8  ||byte[148] ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x035C  ||WeaponSlot[13] ||weapon slots (0x18 bytes each)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+WeaponSlot&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword    ||weapon ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||dword    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0008   ||dword    ||bullets in clip&lt;br /&gt;
|-&lt;br /&gt;
|0x000C   ||dword    ||bullets total&lt;br /&gt;
|-&lt;br /&gt;
|0x0010   ||dword    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0014   ||dword    ||unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x0494  ||byte[348]  ||unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x05FA ||dword   ||max wanted level&lt;br /&gt;
|-&lt;br /&gt;
|0x05FE ||dword   ||max chaos level&lt;br /&gt;
|-&lt;br /&gt;
|0x0602 ||char[24] ||model name&lt;br /&gt;
|-&lt;br /&gt;
|0x061A ||byte[2]  ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 2: Garages====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||garages count (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||[[021D|free bombs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword    ||[[0335|free resprays]]&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||dword    ||cars collected (unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||dword    ||bank vans collected ([[Garage#GTA_III|Securicar garage]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||dword    ||police cars collected (unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0018  ||dword    ||[[03D4#GTA_III|Portland IE status (bitstring)]]&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||dword    ||Shoreside IE status&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||dword    ||unused IE status&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||dword    ||time when [[Text#GTA_III|'GA_21']] was last shown&lt;br /&gt;
|-&lt;br /&gt;
|0x0028  ||StoredCar[18]   ||40 bytes each, stored cars&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+StoredCar&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||model ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||float[3] ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||float[3] ||vector rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||dword    ||immunities (bitstring) (see below)&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||byte     ||primary color ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0021  ||byte     ||secondary color ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0022  ||byte     ||radio station ID (see below)&lt;br /&gt;
|-&lt;br /&gt;
|0x0023  ||byte     ||model variation A&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||byte     ||model variation B&lt;br /&gt;
|-&lt;br /&gt;
|0x0025  ||byte     ||bomb type ID (see below)&lt;br /&gt;
|-&lt;br /&gt;
|0x0026  ||byte[2]  ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x02F8  ||Garage[n]   ||140 bytes each, garages&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Garage&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte     ||garage [[Garage#GTA_III|type ID]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0001  ||byte     ||garage state&lt;br /&gt;
|-&lt;br /&gt;
|0x0002  ||byte     ||(unknown)&lt;br /&gt;
|-&lt;br /&gt;
|0x0003  ||byte     ||closing without target car&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||byte     ||deactivated&lt;br /&gt;
|-&lt;br /&gt;
|0x0005  ||byte     ||respray happened&lt;br /&gt;
|-&lt;br /&gt;
|0x0006  ||byte[2]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword    ||target vehicle model index&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||dword    ||door 1 pointer&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||dword    ||door 2 pointer&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||byte     ||is door 1 pool index&lt;br /&gt;
|-&lt;br /&gt;
|0x0015  ||byte     ||is door 2 pool index&lt;br /&gt;
|-&lt;br /&gt;
|0x0016  ||byte     ||is door 1 object&lt;br /&gt;
|-&lt;br /&gt;
|0x0017  ||byte     ||is door 2 object&lt;br /&gt;
|-&lt;br /&gt;
|0x0018  ||byte     ||(unknown)&lt;br /&gt;
|-&lt;br /&gt;
|0x0019  ||byte     ||rotated door&lt;br /&gt;
|-&lt;br /&gt;
|0x001A  ||byte     ||camera follows player&lt;br /&gt;
|-&lt;br /&gt;
|0x001B  ||byte     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||float[6] ||position (x1, x2, y1, y2, z1, z2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||float    ||door open start (z coord) (how far door is open when garage is loaded into view)&lt;br /&gt;
|-&lt;br /&gt;
|0x0038  ||float    ||door open (z coord) (how far door can open)&lt;br /&gt;
|-&lt;br /&gt;
|0x003C  ||float[2]    ||door 1 x,y coord&lt;br /&gt;
|-&lt;br /&gt;
|0x0044  ||float[2]    ||door 2 x,y coord&lt;br /&gt;
|-&lt;br /&gt;
|0x004C  ||float    ||door 1 position (z coord)&lt;br /&gt;
|-&lt;br /&gt;
|0x0050  ||float    ||door 2 position (z coord)&lt;br /&gt;
|-&lt;br /&gt;
|0x0054  ||dword    ||door last open time&lt;br /&gt;
|-&lt;br /&gt;
|0x0058  ||byte     ||collected cars state&lt;br /&gt;
|-&lt;br /&gt;
|0x0059  ||byte[3]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x005C  ||dword    ||target vehicle pointer (used during missions)&lt;br /&gt;
|-&lt;br /&gt;
|0x0060  ||dword    ||(unknown)&lt;br /&gt;
|-&lt;br /&gt;
|0x0064  ||StoredCar    ||(unknown)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vehicle immunities:&lt;br /&gt;
*0b0000000'''1''' = bulletproof&lt;br /&gt;
*0b000000'''1'''0 = fireproof&lt;br /&gt;
*0b00000'''1'''00 = explosion-proof&lt;br /&gt;
*0b0000'''1'''000 = collision-proof&lt;br /&gt;
*0b000'''1'''0000 = ?&lt;br /&gt;
Radio stations:&lt;br /&gt;
*0 = Head Radio&lt;br /&gt;
*1 = Double Clef FM&lt;br /&gt;
*2 = Jah Radio&lt;br /&gt;
*3 = Rise FM&lt;br /&gt;
*4 = Lips 106&lt;br /&gt;
*5 = Game FM&lt;br /&gt;
*6 = MSX FM&lt;br /&gt;
*7 = Flashback 95.6&lt;br /&gt;
*8 = Chatterbox 109&lt;br /&gt;
*9 = User track player (if user tracks loaded, random station otherwise)&lt;br /&gt;
*10 = Police radio&lt;br /&gt;
*11 = Radio off&lt;br /&gt;
Bomb types:&lt;br /&gt;
*0 = no bomb&lt;br /&gt;
*1 = timer bomb&lt;br /&gt;
*2 = ignition bomb&lt;br /&gt;
*3 = remote bomb&lt;br /&gt;
*4 = timer bomb (armed)&lt;br /&gt;
*5 = ignition bomb (armed)&lt;br /&gt;
&lt;br /&gt;
====Block 3: Vehicles====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TYPE&lt;br /&gt;
!OFFSET&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword   ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||-       ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TYPE&lt;br /&gt;
!OFFSET&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword   ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||-       ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TYPE&lt;br /&gt;
!OFFSET&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword   ||number of vehicles (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||dword   ||number of boats (n2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008   ||Vehicle[n]  ||1458 bytes each, vehicles array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Vehicle&lt;br /&gt;
!TYPE&lt;br /&gt;
!OFFSET&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||word   ||model ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0006   ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x000A   ||CVehicle  ||CVehicle dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+CVehicle&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte[52]   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||float[3]   ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0040  ||byte[1384] ||unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x0000 + (1458 * n) ||Boat[n2]   ||1166(?) bytes each, boats array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Boat&lt;br /&gt;
!TYPE&lt;br /&gt;
!OFFSET&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||word   ||model ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0006   ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x000A   ||CBoat  ||CBoat dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+CBoat&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte[52]   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||float[3]   ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0040  ||byte[1092] ||unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 4: Objects====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||number of objects (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 ||CObject[n]   ||Objects&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+CObject&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 ||word ||model id&lt;br /&gt;
|-&lt;br /&gt;
|0x0002 ||dword ||object reference&lt;br /&gt;
|-&lt;br /&gt;
|0x0006 ||float[3]   ||pos&lt;br /&gt;
|-&lt;br /&gt;
|0x0012 ||byte[12]    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x001E ||float   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0022 ||float[3]   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x002E ||byte[12]    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003A ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003B ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003C ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003D ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003E ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x003F ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0040 ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0041 ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0042 ||float   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0046 ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0047 ||byte    ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0048 ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x004C ||dword   ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0050 ||dword   ||unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 5: Path Find====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||number of entries (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 ||byte[n/2]   ||[[022B|disabled ped path nodes]]&lt;br /&gt;
|-&lt;br /&gt;
|0x4 + n/2 ||byte[n/2]   ||[[01E8|disabled car path nodes]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* Note: each byte in these arrays represents 8 path nodes with a bitmask. If a bit is set, the node is disabled, otherwise it is enabled.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 6: Cranes====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||number of cranes (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 ||dword   ||[[03EC|cars collected by military crane]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 ||Crane[8]   ||[[Crane]] data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Crane&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000 ||dword   || index in static objects pool&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 ||dword   || crane hook object index in objects pool&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 ||dword   || audio entity index&lt;br /&gt;
|-&lt;br /&gt;
|0x000C ||float ||pickup zone x1 ([[01EE|crane opcode]] parameter 3)&lt;br /&gt;
|-&lt;br /&gt;
|0x0010 ||float ||pickup zone x2 (crane opcode parameter 5)&lt;br /&gt;
|-&lt;br /&gt;
|0x0014 ||float ||pickup zone y1 (crane opcode parameter 6)&lt;br /&gt;
|-&lt;br /&gt;
|0x0018 ||float ||pickup zone y2 (crane opcode parameter 4)&lt;br /&gt;
|-&lt;br /&gt;
|0x001C ||float ||drop off point x (crane opcode parameter 7)&lt;br /&gt;
|-&lt;br /&gt;
|0x0020 ||float ||drop off point y (crane opcode parameter 8)&lt;br /&gt;
|-&lt;br /&gt;
|0x0024 ||float ||drop off point z (crane opcode parameter 9)&lt;br /&gt;
|-&lt;br /&gt;
|0x0028 ||float ||drop off heading in radians (crane opcode parameter 10)&lt;br /&gt;
|-&lt;br /&gt;
|0x002C ||float ||crane arm pick up rotation in radians&lt;br /&gt;
|-&lt;br /&gt;
|0x0030 ||float ||crane arm drop off rotation in radians&lt;br /&gt;
|-&lt;br /&gt;
|0x0034 ||float ||crane arm pick up distance from center of crane&lt;br /&gt;
|-&lt;br /&gt;
|0x0038 ||float ||crane arm drop off distance from center of crane&lt;br /&gt;
|-&lt;br /&gt;
|0x003C ||float ||crane arm pick up height&lt;br /&gt;
|-&lt;br /&gt;
|0x0040 ||float ||crane arm drop off height&lt;br /&gt;
|-&lt;br /&gt;
|0x0044 ||float ||crane arm current rotation in radians&lt;br /&gt;
|-&lt;br /&gt;
|0x0048 ||float ||crane arm current distance from center of crane&lt;br /&gt;
|-&lt;br /&gt;
|0x004C ||float ||crane arm current height&lt;br /&gt;
|-&lt;br /&gt;
|0x0058 ||float[3] ||crane hook initial x, y, z&lt;br /&gt;
|-&lt;br /&gt;
|0x005C ||float[3] ||crane hook current x, y, z&lt;br /&gt;
|-&lt;br /&gt;
|0x0068 ||float[2] ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0070 ||dword ||pointer to vehicle to pick up&lt;br /&gt;
|-&lt;br /&gt;
|0x0074 ||dword ||current game time + 10000 (only updates when crane has finished lifting car)&lt;br /&gt;
|-&lt;br /&gt;
|0x0078 ||byte ||crane activity&lt;br /&gt;
* 0 = idle crane&lt;br /&gt;
* 1 = crusher/military crane active&lt;br /&gt;
* 2 = crane inactive&lt;br /&gt;
|-&lt;br /&gt;
|0x0079 ||byte ||crane status&lt;br /&gt;
* 0 = idle&lt;br /&gt;
* 1 = crane moving to pick up&lt;br /&gt;
* 3 = moving upwards from pick up&lt;br /&gt;
* 2 = moving to destination&lt;br /&gt;
* 4 = moving downwards to drop off&lt;br /&gt;
* 5 = moving upwards from drop off&lt;br /&gt;
|-&lt;br /&gt;
|0x007A ||byte ||number of vehicles collected&lt;br /&gt;
|-&lt;br /&gt;
|0x007B ||byte ||is [[02FB|crusher crane]]&lt;br /&gt;
|-&lt;br /&gt;
|0x007C ||byte ||is [[0368|military crane]]&lt;br /&gt;
|-&lt;br /&gt;
|0x007D ||byte ||unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x007E ||byte ||model is not doc_crane_cab&lt;br /&gt;
|-&lt;br /&gt;
|0x007F ||byte ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 7: Pickups====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||Pickup[336]    ||[[pickup]]s structures -- each is 0x1C bytes in size; see details below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Pickup&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte    ||[[0213#Pickup types|type]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0001  ||byte    ||has been picked up&lt;br /&gt;
|-&lt;br /&gt;
|0x0002  ||word    ||ammo (for [[032B|weapon pickups]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword   ||index in objects pool&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword   ||regeneration time&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||word   ||[[model]] id&lt;br /&gt;
|-&lt;br /&gt;
|0x000E  ||word   ||flags&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||float[3] || x,y,z position&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x24C0  ||word    ||collected index for below, always between 0 and 19&lt;br /&gt;
|-&lt;br /&gt;
|0x24C2  ||byte[2]  ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x24C4  ||PickupsCollected[20]     ||pickup index, latest collected pickup pointed by collected index from above&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 8: Phone Info====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||dword    ||number of phones (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004   ||dword    ||number of active phones&lt;br /&gt;
|-&lt;br /&gt;
|0x0008   ||PhoneInfo[n] ||52 bytes each, phone info structs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+PhoneInfo&lt;br /&gt;
|-&lt;br /&gt;
|0x0000   ||float[3]  ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x000C   ||dword[6]  ||pointer to phone message string&lt;br /&gt;
|-&lt;br /&gt;
|0x0024   ||dword     ||game time when phone message ends for states 5 and 6&lt;br /&gt;
|-&lt;br /&gt;
|0x0028   ||dword     ||static index&lt;br /&gt;
|-&lt;br /&gt;
|0x002C   ||dword     ||phone state&lt;br /&gt;
* 3 = no ringing&lt;br /&gt;
* 4 = ringing, message just once&lt;br /&gt;
* 5 = ringing, message repeated, phone was never picked up&lt;br /&gt;
* 6 = ringing, message repeated, phone was picked up before&lt;br /&gt;
* 7 = no ringing, finished state of state 4&lt;br /&gt;
* 8 = no ringing, finished state of states 5 and 6&lt;br /&gt;
* 9 = only ringing&lt;br /&gt;
|-&lt;br /&gt;
|0x0030   ||byte      ||is player within range of phone&lt;br /&gt;
|-&lt;br /&gt;
|0x0031   ||byte[3]   ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 9: Restarts====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size (constant 0x128)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size (constant 0x124)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'RST\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004 ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||RestartPoint[8]    ||restart point after wasted&lt;br /&gt;
|-&lt;br /&gt;
|0x0080  ||RestartPoint[8]    ||restart point after busted&lt;br /&gt;
|-&lt;br /&gt;
|0x0100  ||word     ||wasted restart points count&lt;br /&gt;
|-&lt;br /&gt;
|0x0102  ||word     ||busted restart points count&lt;br /&gt;
|-&lt;br /&gt;
|0x0104  ||byte     ||override next restart flag ([[016E]], [[0255]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0105  ||byte[3]     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0108  ||RestartPoint    ||overriden restart point ([[016E]], [[0255]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0118  ||byte     || [[040F|fade in after next death]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x0119  ||byte     || [[040E|fade in after next arrest]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x011A  ||byte     || [[041F|override hospital level]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x011B  ||byte     || [[0420|override police level]] flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+RestartPoint&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||float[3]    ||x,y,z coordinates&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||float   ||[[Angle|z_angle]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 10: Radar====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'RDR\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||RadarBlip[32]    ||radar blips structures -- each is 0x30 bytes in size, see below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+RadarBlip&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || [[0165|color]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    || type&lt;br /&gt;
*0 = none&lt;br /&gt;
*1 = car&lt;br /&gt;
*2 = char&lt;br /&gt;
*3 = object/pickup&lt;br /&gt;
*4 = coord&lt;br /&gt;
*5 = contact point&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword    || entity ([[0161|car]], [[0162|char]], [[0163|object]]) handle  (0 = not an entity)&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||float[2] || position x,y&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||float[3] || position x,y,z&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||word     || index&lt;br /&gt;
|-&lt;br /&gt;
|0x0022  ||byte     || [[0166|brightness]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0023  ||byte     || is visible&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||float    || debug sphere cross offset{{ref|1}}&lt;br /&gt;
|-&lt;br /&gt;
|0x0028  ||word     || [[0168|scale]]&lt;br /&gt;
|-&lt;br /&gt;
|0x002A  ||word     || [[018B|display]]&lt;br /&gt;
|-&lt;br /&gt;
|0x002C  ||word     || blip [[Blip#GTA_III|sprite]]&lt;br /&gt;
|-&lt;br /&gt;
|0x002E  ||word    || (align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 11: Zones====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'ZNS\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || current zone index&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    || current level (1: Portland, 2: Staunton Island, 3: Shoreside Vale)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||word    || find index (index of last search invoked by a script)&lt;br /&gt;
|-&lt;br /&gt;
|0x000A  ||word    || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||Zone[50]    || navigation zones (from [[ZONE#gta3.zon|gta3.zon]])&lt;br /&gt;
|-&lt;br /&gt;
|0x0AFC  ||ZoneInfo[100]    || day/night pairs for each Zone&lt;br /&gt;
|-&lt;br /&gt;
|0x21A4  ||word    || total number of navigation zones&lt;br /&gt;
|-&lt;br /&gt;
|0x21A6  ||word    || total number of zone infos&lt;br /&gt;
|-&lt;br /&gt;
|0x21A8  ||Zone[25]    || map zones (from [[ZONE#map.zon|map.zon]])&lt;br /&gt;
|-&lt;br /&gt;
|0x2720  ||AudioZone[36]    || audio zones&lt;br /&gt;
|-&lt;br /&gt;
|0x2768  ||word    || total number of map zones&lt;br /&gt;
|-&lt;br /&gt;
|0x276A  ||word    || total number of audio zones&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+Zone&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[8]    || zone name&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||float[3]    || zone coord A&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||float[3]    || zone coord B&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||dword    || zone type (0, 1, 2 or 3 for MapZone)&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||dword    || zone level (1: Portland, 2: Staunton Island, 3: Shoreside Vale)&lt;br /&gt;
|-&lt;br /&gt;
|0x0028  ||word     || zone info id night&lt;br /&gt;
|-&lt;br /&gt;
|0x002A  ||word     || zone info id day&lt;br /&gt;
|-&lt;br /&gt;
|0x002C  ||dword     || child zone index&lt;br /&gt;
|-&lt;br /&gt;
|0x0030  ||dword     || parent zone index&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||dword     || sibling zone index&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+ZoneInfo&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||word    || density&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+AudioZone&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||word    || zone id&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 12: Gangs====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'GNG\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||Gang[9]    ||gang structures -- each is 0x14 bytes in size, see below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+Gang&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || car model id&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||byte     || [[0410|ped model override]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x0005  ||byte[3]  || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword    || primary weapon id&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||dword    || secondary weapon id&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 13: Car Generators====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'CGN\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size (constant 0x0C)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||car generators count (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||active car generators count&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||byte     ||process counter&lt;br /&gt;
|-&lt;br /&gt;
|0x0009  ||byte     ||generate even if player is close counter&lt;br /&gt;
|-&lt;br /&gt;
|0x000A  ||byte[2]  ||(align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|0x0010  ||dword    ||size of car generator structs&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||CarGenerator[n]   ||72 bytes each, car generator structs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+CarGenerator&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||model ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||float[3] ||position (X, Y, Z)&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||float    ||z angle&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||word     ||primary color ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0016  ||word     ||secondary color ID&lt;br /&gt;
|-&lt;br /&gt;
|0x0018  ||byte     ||force spawn&lt;br /&gt;
|-&lt;br /&gt;
|0x0019  ||byte     ||alarm (percentage)&lt;br /&gt;
|-&lt;br /&gt;
|0x001A  ||byte     ||locked (percentage)&lt;br /&gt;
|-&lt;br /&gt;
|0x001B  ||byte     ||(align)&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||word     ||min delay&lt;br /&gt;
|-&lt;br /&gt;
|0x001E  ||word     ||max delay&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||dword    ||timestamp (time last stolen?)&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||dword    ||vehicle pool index, -1 if not spawned&lt;br /&gt;
|-&lt;br /&gt;
|0x0028  ||word    ||[[014C|uses remaining]] (0 = disabled) &lt;br /&gt;
|-&lt;br /&gt;
|0x002A  ||byte    ||is blocking (used internally to prevent two cars spawning close to each other)&lt;br /&gt;
|-&lt;br /&gt;
|0x002B  ||byte    || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x002C  ||float[3]    ||vecInf (unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0038  ||float[3]    ||vecSup (unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0044  ||dword    ||(unknown) (unused)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 14: Particles====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   || number of particles (n);&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||Particle[n]    ||particle structures -- each is 0x88 bytes in size, see below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+Particle&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0018  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0020  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0024  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0028  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x002C  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0030  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0034  ||float[3]    || unknown x,y,z&lt;br /&gt;
|-&lt;br /&gt;
|0x0040  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0044  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0048  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x004C  ||pNext    || pointer to the next particle struct&lt;br /&gt;
|-&lt;br /&gt;
|0x0050  ||pPrev    || pointer to the prev particle struct&lt;br /&gt;
|-&lt;br /&gt;
|0x0054  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0058  ||dword    || unknown time&lt;br /&gt;
|-&lt;br /&gt;
|0x005C  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0060  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0064  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0065  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0066  ||word    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0068  ||word    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x006A  ||byte[2]    || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x006C  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0070  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0074  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0078  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x007C  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0080  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0081  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0082  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0083  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0084  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0085  ||byte    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0086  ||byte[2]    || (align)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 15: Audio Script Objects====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'AUD\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   || number of audio script objects (n);&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||AudioScriptObject[n]    ||audio script object structures -- each is 0x18 bytes in size, see below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+AudioScriptObject&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || index?&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||word    || [[018D#GTA_III|audio index]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0006  ||byte[2]  || (align)&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||float[3]  || position x,y,z&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||dword    || (unknown)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 16: Player Info====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   || player money&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||byte    || wasted/busted state&lt;br /&gt;
|-&lt;br /&gt;
|0x0005  ||dword   || wasted/busted time&lt;br /&gt;
|-&lt;br /&gt;
|0x0009  ||word    || [[gta3.ini|traffic multiplier]]&lt;br /&gt;
|-&lt;br /&gt;
|0x000B  ||float   || [[gta3.ini|road density]]&lt;br /&gt;
|-&lt;br /&gt;
|0x000F  ||dword   || money amount on screen&lt;br /&gt;
|-&lt;br /&gt;
|0x0013  ||dword   || number of [[hidden package]]s picked up&lt;br /&gt;
|-&lt;br /&gt;
|0x0017  ||dword   || [[02ED|total number of hidden packages]]&lt;br /&gt;
|-&lt;br /&gt;
|0x001B  ||byte    || [[0330|player never gets tired]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||byte    || [[0331|player fast reload]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x001D  ||byte    || [[0413|get out of jail free]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x001E  ||byte    || [[0414|free health care]] flag&lt;br /&gt;
|-&lt;br /&gt;
|0x001F  ||byte[70] || unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 17: Stats====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword   || people wasted by player&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword   || people wasted by others&lt;br /&gt;
|-&lt;br /&gt;
|0x0008 ||dword   || cars exploded&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||dword   || shots made&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||dword[23]   || peds of [[pedtype|type]] wasted&lt;br /&gt;
|-&lt;br /&gt;
|0x006C  ||dword   || helicopters destroyed&lt;br /&gt;
|-&lt;br /&gt;
|0x0070  ||dword   || [[030C|player progress]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0074  ||dword   || [[030D|progress total]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0078  ||dword   || kgs explosives used&lt;br /&gt;
|-&lt;br /&gt;
|0x007C  ||dword   || bullets fired&lt;br /&gt;
|-&lt;br /&gt;
|0x0080  ||dword   || bullets that hit&lt;br /&gt;
|-&lt;br /&gt;
|0x0084  ||dword   || cars crushed&lt;br /&gt;
|-&lt;br /&gt;
|0x0088  ||dword   || headshots made&lt;br /&gt;
|-&lt;br /&gt;
|0x008C  ||dword   || times busted&lt;br /&gt;
|-&lt;br /&gt;
|0x0090  ||dword   || hospital visits&lt;br /&gt;
|-&lt;br /&gt;
|0x0094  ||dword   || days passed&lt;br /&gt;
|-&lt;br /&gt;
|0x0098  ||dword   || mm rain fallen&lt;br /&gt;
|-&lt;br /&gt;
|0x009C  ||float   || max insane jump distance&lt;br /&gt;
|-&lt;br /&gt;
|0x00A0  ||float   || max insane jump height&lt;br /&gt;
|-&lt;br /&gt;
|0x00A4  ||dword   || max insane jump flips&lt;br /&gt;
|-&lt;br /&gt;
|0x00A8  ||dword   || max insane jump rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x00AC  ||dword   || best stunt so far (see table below)&lt;br /&gt;
|-&lt;br /&gt;
|0x00B0  ||dword   || [[0313|unique stunt jumps found]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00B4  ||dword   || [[0314|unique stunt jumps total]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00B8  ||dword   || [[0317|missions attempts]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00BC  ||dword   || [[0318|missions passed]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00C0  ||dword   || [[0315|passengers dropped off]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00C4  ||dword   || [[0316|cash made in taxi]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00C8  ||dword   || [[034A|Portland passed]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00CC  ||dword   || [[034B|Staunton Island passed]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00D0  ||dword   || [[034C|Shoreside Vale passed]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00D4  ||dword   || [[03E2|Best 'Turismo' time in secs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00D8  ||float   || distance travelled on foot&lt;br /&gt;
|-&lt;br /&gt;
|0x00DC  ||float   || distance travelled in car&lt;br /&gt;
|-&lt;br /&gt;
|0x00E0  ||dword   || [[03FD|'Patriot Playground' in secs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00E4  ||dword   || [[03FE|'A Ride In The Park' in secs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00E8  ||dword   || [[03FF|'Gripped!' in secs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00EC  ||dword   || [[0400|'Multistorey Mayhem' in secs]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00F0  ||dword   || [[0401|people saved in an ambulance]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00F4  ||dword   || [[0402|criminals killed on vigilante mission]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00F8  ||dword   || [[0403|highest paramedic mission level]]&lt;br /&gt;
|-&lt;br /&gt;
|0x00FC  ||dword   || [[0404|total fires extinguished]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0100  ||dword   || [[0406|longest flight in dodo]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0104  ||dword   || [[0407|best time bomb defusal]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0108  ||dword   || [[041B|rampages passed]]&lt;br /&gt;
|-&lt;br /&gt;
|0x010C  ||dword   || [[0408|total number rampages]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0110  ||dword   || [[042C|total number missions]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0114  ||dword[16]   || [[042E|fastest time record]] (unused)&lt;br /&gt;
|-&lt;br /&gt;
|0x0154  ||dword[16]   || [[042F|highest score record]]&lt;br /&gt;
|-&lt;br /&gt;
|0x0194  ||dword   || people killed since last checkpoint&lt;br /&gt;
|-&lt;br /&gt;
|0x0198  ||dword   || people killed no wasted/busted&lt;br /&gt;
|-&lt;br /&gt;
|0x019C  ||char[8]    ||last mission passed gxt key&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+List of stunts&lt;br /&gt;
!Id&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0  ||no insane stunts completed&lt;br /&gt;
|-&lt;br /&gt;
|1  ||insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|2  ||perfect insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|3  ||double insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|4  ||perfect double insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|5  ||triple insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|6  ||perfect triple insane stunt&lt;br /&gt;
|-&lt;br /&gt;
|7  ||[[quadruple insane stunt]]&lt;br /&gt;
|-&lt;br /&gt;
|8  ||perfect quadruple insane stunt&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
''See also:'' [[List_of_statistics_(III)]]&lt;br /&gt;
&lt;br /&gt;
====Block 18: Streaming====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||byte[200]   || unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Block 19: Ped Types====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    ||block size (constant 0x2E8)&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||char[4]    ||'PTP\0' signature&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||dword    ||block size&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||-    ||start of block, data below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 3em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||PedType[23]    ||PedType structures -- each is 0x20 bytes in size, see below&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em;&amp;quot;&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OFFSET&lt;br /&gt;
!TYPE&lt;br /&gt;
!DESCRIPTION&lt;br /&gt;
|+PedType&lt;br /&gt;
|-&lt;br /&gt;
|0x0000  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0004  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0008  ||float   || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x000C  ||float  || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0010  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0014  ||float    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x0018  ||dword    || unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x001C  ||dword    || unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Padding ===&lt;br /&gt;
Following the last data block is a variable amount of padding. Since every save file is exactly 0x3145C bytes in length this padding is necessary to fill the space between the data blocks which start the file and the checksum value which ends it. There could be up to 4 padding blocks, each one is up to 55,000 bytes in length.&lt;br /&gt;
&lt;br /&gt;
=== Checksum ===&lt;br /&gt;
The final four bytes of a save file are an unsigned integer checksum value. This checksum is simply the sum of all the preceding 0x3145C bytes. If the checksum value does not match the calculated sum of those bytes, the game will consider the save file to be &amp;quot;corrupted&amp;quot; and refuse to load it. Thus, any time you make any changes to a save file you must remember to update the checksum when you are finished.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* {{GTAF|784598|GTA III Save File Editor}} &amp;amp;ndash; by {{U|thehambone}}&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Note|1}} {{GTAF|post|871359|1069163696}} &amp;amp;ndash; a post by {{U|Seemann}} describing debug spheres&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* {{GTAF|758692|GTA III Save File Documentation}}&lt;br /&gt;
* [https://github.com/thehambone93/FileFormats/blob/master/gta/saves/gta-III_save_multi.bt 010 Editor binary template for the GTA III save file format]&lt;br /&gt;
&lt;br /&gt;
{{Savegame-navi}}&lt;br /&gt;
{{N|3}}&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=022B&amp;diff=17739</id>
		<title>022B</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=022B&amp;diff=17739"/>
		<updated>2019-01-11T16:20:00Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: Tomas. moved page 022b to 022B&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TocRight}}&lt;br /&gt;
{{OpCode&lt;br /&gt;
| games       = {{Icon|t}}&lt;br /&gt;
| command     = SWITCH_PED_ROADS_OFF&lt;br /&gt;
| description = Prevents pedestrians from spawning or traversing in an area&lt;br /&gt;
| syntax1     = {{Icon|SA}} 022b: switch_ped_roads_off [''flt1''] [''flt2''] [''flt3''] to [''flt4''] [''flt5''] [''flt6'']&lt;br /&gt;
| syntax2     = {{Icon|III}} {{Icon|VC}} 022b: create_forbidden_for_peds_cube [''flt1''] [''flt2''] [''flt3''] [''flt4''] [''flt5''] [''flt6'']&lt;br /&gt;
| p1t         = [''flt1'']&lt;br /&gt;
| p1d         = Top Left X-Coordinate&lt;br /&gt;
| p2t         = [''flt2'']&lt;br /&gt;
| p2d         = Top Left Y-Coordinate&lt;br /&gt;
| p3t         = [''flt3'']&lt;br /&gt;
| p3d         = Top Left Z-Coordinate&lt;br /&gt;
| p4t         = [''flt4'']&lt;br /&gt;
| p4d         = Bottom Right X-Coordinate&lt;br /&gt;
| p5t         = [''flt5'']&lt;br /&gt;
| p5d         = Bottom Right Y-Coordinate&lt;br /&gt;
| p6t         = [''flt6'']&lt;br /&gt;
| p6d         = Bottom Right Z-Coordinate&lt;br /&gt;
| native      = [[SWITCH_PED_ROADS_OFF]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This opcode is used to temporarily disables nodes from the pedestrians path, which causes them to not spawn in these locations. &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
This will prevent pedestrians from spawning in the Cochrane Dam area (the part where &amp;quot;The Exchange&amp;quot; takes place) &lt;br /&gt;
&lt;br /&gt;
{{Pre|class=sb-code|1=&lt;br /&gt;
022B: create_forbidden_for_peds_cube -942.5625 337.0 10.0 -953.5625 361.375 30.0 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
forbid, peds, lock, road&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=022b&amp;diff=17740</id>
		<title>022b</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=022b&amp;diff=17740"/>
		<updated>2019-01-11T16:20:00Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: Tomas. moved page 022b to 022B&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[022B]]&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Template:IdeSection&amp;diff=17738</id>
		<title>Template:IdeSection</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Template:IdeSection&amp;diff=17738"/>
		<updated>2019-01-11T16:10:26Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;table cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;border: 1px solid #424242; background-color: #ddeae1; clear: right; float: right; text-align: left; font-size: 88%; line-height: 1.5em; margin: .5em 0 .5em 1em&amp;quot;&amp;gt;&amp;lt;caption style=&amp;quot;font-size: 125%; font-weight: bold;&amp;quot;&amp;gt;{{{name|{{PAGENAME}}}}}{{#ifexpr: {{{noheader|0}}}=1||&amp;amp;nbsp;[[Item Definition|(IDE section)]]}}&amp;lt;/caption&amp;gt;{{#if:{{{game|}}}|&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;quot;120&amp;quot;&amp;gt;Supported games:&amp;lt;/th&amp;gt;&amp;lt;td&amp;gt;{{{game}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}{{#if:{{{description|}}}|&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;quot;120&amp;quot;&amp;gt;Brief description:&amp;lt;/th&amp;gt;&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;{{{description}}}&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;IDE Sections:&lt;br /&gt;
{|style=&amp;quot;background:#ddeae1&amp;quot;&lt;br /&gt;
|[[2DFX]] • &lt;br /&gt;
|[[AMAT]] • &lt;br /&gt;
|[[ANIM]] • &lt;br /&gt;
|[[CARS (IDE Section)|CARS]] • &lt;br /&gt;
|[[HIER]] • &lt;br /&gt;
|[[HAND]] • &lt;br /&gt;
|[[MLO]] • &lt;br /&gt;
|[[OBJS]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;background:#ddeae1&amp;quot; &lt;br /&gt;
|[[PATH_(IDE_Section)|PATH]] • &lt;br /&gt;
|[[PEDS]] • &lt;br /&gt;
|[[TANM]] • &lt;br /&gt;
|[[TOBJ]] • &lt;br /&gt;
|[[TREE]] • &lt;br /&gt;
|[[TXDP]] • &lt;br /&gt;
|[[WEAP]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;[[Category:Map_Formats]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;The '''IdeSection''' template can be used to display information of an section inside an [[IDE|Item definition file]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{IdeSection&lt;br /&gt;
| noheader    = 1 to leave out &amp;quot;IDE Sections&amp;quot; link, otherwise leave blank&lt;br /&gt;
| name        = name of section (leave blank to use page's name)&lt;br /&gt;
| game        = games the section is used in&lt;br /&gt;
| description = brief description of section&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{{IdeSection&lt;br /&gt;
| noheader    = 1&lt;br /&gt;
| name        = TEST&lt;br /&gt;
| game        = &amp;amp;ndash;&lt;br /&gt;
| description = Example&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Template:IplSection&amp;diff=17735</id>
		<title>Template:IplSection</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Template:IplSection&amp;diff=17735"/>
		<updated>2019-01-11T15:49:00Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;table cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;width:350px; border: 1px solid #424242; background-color: #ddeae1; clear: right; float: right; text-align: left; font-size: 88%; line-height: 1.5em; margin: .5em 0 .5em 1em&amp;quot;&amp;gt;&amp;lt;caption style=&amp;quot;font-size: 125%; font-weight: bold;&amp;quot;&amp;gt;{{{name|{{PAGENAME}}}}}{{#ifexpr: {{{noheader|0}}}=1||&amp;amp;nbsp;[[Item Placement|(IPL section)]]}}&amp;lt;/caption&amp;gt;{{#if:{{{description|}}}|&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;quot;120&amp;quot;&amp;gt;Short description:&amp;lt;/th&amp;gt;&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;{{{description}}}&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}{{#if:{{{game|}}}|&amp;lt;tr&amp;gt;&amp;lt;th width=&amp;quot;120&amp;quot;&amp;gt;Supported games:&amp;lt;/th&amp;gt;&amp;lt;td&amp;gt;{{{game}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;IPL Sections:&lt;br /&gt;
{|style=&amp;quot;background:#ddeae1&amp;quot;&lt;br /&gt;
|[[2DFX (IPL Section)|2DFX]] • &lt;br /&gt;
|[[AUZO]] • &lt;br /&gt;
|[[BLOK]] • &lt;br /&gt;
|[[CARS (IPL Section)|CARS]] • &lt;br /&gt;
|[[CULL]] • &lt;br /&gt;
|[[ENEX]] • &lt;br /&gt;
|[[GRGE]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;background:#ddeae1&amp;quot;&lt;br /&gt;
|[[INST]] • &lt;br /&gt;
|[[JUMP]] • &lt;br /&gt;
|[[LINK]] • &lt;br /&gt;
|[[LODM]] • &lt;br /&gt;
|[[MLO+]] • &lt;br /&gt;
|[[MULT]] • &lt;br /&gt;
|[[OCCL]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;background:#ddeae1&amp;quot; &lt;br /&gt;
|[[PATH]] • &lt;br /&gt;
|[[PICK]] • &lt;br /&gt;
|[[RTFX]] • &lt;br /&gt;
|[[SLOW]] • &lt;br /&gt;
|[[TCYC]] • &lt;br /&gt;
|[[VNOD]] • &lt;br /&gt;
|[[ZONE]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;[[Category:Map_Formats]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;The '''IplSection''' template can be used to display information of an section inside an [[IPL|Item placement file]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{IplSection&lt;br /&gt;
| noheader    = 1 to leave out &amp;quot;IPL Sections&amp;quot; link, otherwise leave blank&lt;br /&gt;
| name        = name of section (leave blank to use page's name)&lt;br /&gt;
| game        = games the section is used in&lt;br /&gt;
| description = brief description of section&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{{IplSection&lt;br /&gt;
| noheader    = 1 &lt;br /&gt;
| name        = TEST&lt;br /&gt;
| game        = &amp;amp;ndash;&lt;br /&gt;
| description = Example&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
	<entry>
		<id>https://gtamods.com/mediawiki/index.php?title=Template:Github&amp;diff=17734</id>
		<title>Template:Github</title>
		<link rel="alternate" type="text/html" href="https://gtamods.com/mediawiki/index.php?title=Template:Github&amp;diff=17734"/>
		<updated>2019-01-11T15:43:12Z</updated>

		<summary type="html">&lt;p&gt;Tomas.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;[[File:GitHub-Mark-32px.png|16px]]&amp;amp;nbsp;[https://github.com/{{{1|}}} {{{2|Source code}}}] on GitHub&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
GitHub link template.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{Github|path|description (optional)}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{Github|cleolibrary/III.VC.CLEO|CLEO for GTA III and Vice City}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
produces:&lt;br /&gt;
 {{Github|cleolibrary/III.VC.CLEO|CLEO for GTA III and Vice City}}&lt;/div&gt;</summary>
		<author><name>Tomas.</name></author>
		
	</entry>
</feed>