<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lbafileinfo.kaziq.net/index.php?action=history&amp;feed=atom&amp;title=LBA1%3ATrack_script</id>
	<title>LBA1:Track script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lbafileinfo.kaziq.net/index.php?action=history&amp;feed=atom&amp;title=LBA1%3ATrack_script"/>
	<link rel="alternate" type="text/html" href="https://lbafileinfo.kaziq.net/index.php?title=LBA1:Track_script&amp;action=history"/>
	<updated>2026-06-04T05:52:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://lbafileinfo.kaziq.net/index.php?title=LBA1:Track_script&amp;diff=1987&amp;oldid=prev</id>
		<title>Zink at 07:14, 17 May 2013</title>
		<link rel="alternate" type="text/html" href="https://lbafileinfo.kaziq.net/index.php?title=LBA1:Track_script&amp;diff=1987&amp;oldid=prev"/>
		<updated>2013-05-17T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:14, 17 May 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 90:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 90:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* param2: 2 bytes - used internally, should be set to 0xFFFF in the script&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* param2: 2 bytes - used internally, should be set to 0xFFFF in the script&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{providers|[[provider::alexfont]] and [[provider::Zink]]}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zink</name></author>
	</entry>
	<entry>
		<id>https://lbafileinfo.kaziq.net/index.php?title=LBA1:Track_script&amp;diff=1986&amp;oldid=prev</id>
		<title>Zink: Created page with &quot;Track Script is the simpler of two kinds of Scripts that define behaviour of Scene Actors in LBA1. Its main purpose is to provide a set of &#039;&#039;functions&#039;&#039; for use in [[LBA1:Life...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lbafileinfo.kaziq.net/index.php?title=LBA1:Track_script&amp;diff=1986&amp;oldid=prev"/>
		<updated>2013-05-17T07:13:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Track Script is the simpler of two kinds of Scripts that define behaviour of Scene Actors in LBA1. Its main purpose is to provide a set of &amp;#039;&amp;#039;functions&amp;#039;&amp;#039; for use in [[LBA1:Life...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Track Script is the simpler of two kinds of Scripts that define behaviour of Scene Actors in LBA1. Its main purpose is to provide a set of &amp;#039;&amp;#039;functions&amp;#039;&amp;#039; for use in [[LBA1:Life script|Life Script]], that make the Actor move in specified ways and produce specified sounds.&lt;br /&gt;
&lt;br /&gt;
Initially the Track Script is stopped (this depends on Actor [[LBA1:Control modes|control mode]]). It can be started only by calling SET_TRACK(_OBJ) Life Script command. Once started, the commands are executed one after another to the end or to a STOP command. Track Scripts of each Actor are run simultaneously.&lt;br /&gt;
&lt;br /&gt;
Each command code is one byte long, and after it there are parameters (or not), or other things. After a command&amp;#039;s parameters there is a next command byte, and so on. At the end of the script there is a 0x00 (END) command.&lt;br /&gt;
&lt;br /&gt;
This document describes the commands and their parameters in a technical way. For more details on usage and effects see other sources ([[LBArchitect]]&amp;#039;s help may contain some).&lt;br /&gt;
&lt;br /&gt;
If the command does not have any additional bytes, next command starts immediately after the command byte.&lt;br /&gt;
&lt;br /&gt;
Track Script commands are &amp;#039;&amp;#039;blocking&amp;#039;&amp;#039; (with some exceptions), which means that a next command will be executed only after the previous command has done what it had to do. For example GOTO_POINT command will block script execution until the actor has reached the specified Point. In a situation where the Actor cannot reach that Point (e.g. because there is a terrain obstacle, or the Actor rotation speed is too low), the command will never finish, so the script will never advance to the next command (unless a Life Script command forces another LABEL to execute).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Code !! (dec) !! Name !! Description !! Parameters&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0||END||Marks end of the script||&lt;br /&gt;
|-&lt;br /&gt;
|0x01||1||NOP||No operation (never used)||&lt;br /&gt;
|-&lt;br /&gt;
|0x02||2||BODY||Selects new [[LBA1:Body.hqr|Body]] for the Actor||param1: 1 byte (0..255) - virtual index of the new Body&lt;br /&gt;
|-&lt;br /&gt;
|0x03||3||ANIM||Selects new [[LBA1:Anim.hqr|Animation]] for the Actor||param1: 1 byte (0..255) - virtual index of the new Animation&lt;br /&gt;
|-&lt;br /&gt;
|0x04||4||GOTO_POINT||Rotates Actor towards the Point||param1: 1 byte (0..255) - index of the Point&lt;br /&gt;
|-&lt;br /&gt;
|0x05||5||WAIT_ANIM||Waits till the current Actor animation finishes||&lt;br /&gt;
|-&lt;br /&gt;
|0x06||6||LOOP||Unknown (never used)||&lt;br /&gt;
|-&lt;br /&gt;
|0x07||7||ANGLE||Makes the Actor rotate||param1: 2 bytes (-32768..32767) - new angle in Scene units&lt;br /&gt;
|-&lt;br /&gt;
|0x08||8||POS_POINT||Instantly sets position of the Actor||param1: 1 byte (0..255) - index of the target Point&lt;br /&gt;
|-&lt;br /&gt;
|0x09||9||LABEL||Marks command group (a &amp;#039;&amp;#039;function&amp;#039;&amp;#039;)||param1: 1 byte (0..255) - ID of the label&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||10||GOTO||Jumps to specified LABEL||param1: 2 bytes (-1..32767) - address (offset) in the script to go to; -1 causes stop of the script execution (like STOP command)&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||11||STOP||Stops the Track Script execution||&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||12||GOTO_SYM_POINT||Rotates Actor away from the Point (back to the Point)||param1: 1 byte (0..255) - index of the target Point&lt;br /&gt;
|-&lt;br /&gt;
|0x0D||13||WAIT_NUM_ANIM||Waits till the current Actor animation plays number of times||&lt;br /&gt;
* param1: 1 byte (0..255) - number of repetitions&lt;br /&gt;
* param2: 1 byte - used internally, should be set to 0 in the script&lt;br /&gt;
|-&lt;br /&gt;
|0x0E||14||SAMPLE||Plays a [[LBA1:Samples.hqr|sound sample]]||param1: 2 bytes (0..32767) - index of the sound sample to play&lt;br /&gt;
|-&lt;br /&gt;
|0x0F||15||GOTO_POINT_3D||Makes the Sprite Actor move to specified Point||param1: 1 byte (0..255) - index of the target Point&lt;br /&gt;
|-&lt;br /&gt;
|0x10||16||SPEED||Sets movement speed for the Sprite Actor||param1: 2 bytes (0..32737) - new speed&lt;br /&gt;
|-&lt;br /&gt;
|0x11||17||BACKGROUND||Controls redrawing of the Actor||param1: 1 byte (0..1) - if Actor is backgrounded (boolean flag)&lt;br /&gt;
|-&lt;br /&gt;
|0x12||18||WAIT_NUM_SECOND||Waits number of seconds||&lt;br /&gt;
* param1: 1 byte (0..255) - number of seconds&lt;br /&gt;
* param2: 4 bytes - used internally, should be set to 0 in the script&lt;br /&gt;
|-&lt;br /&gt;
|0x13||19||NO_BODY||Makes the Actor disappear||&lt;br /&gt;
|-&lt;br /&gt;
|0x14||20||BETA||Instantly sets angle of the Actor||param1: 2 bytes (-32768..32767) - angle in Scene units&lt;br /&gt;
|-&lt;br /&gt;
|0x15||21||OPEN_LEFT||Moves sprite Actor to the far-left||param1: 2 bytes (-32768..32767) - distance to move&lt;br /&gt;
|-&lt;br /&gt;
|0x16||22||OPEN_RIGHT||Moves sprite Actor to the near-right||param1: 2 bytes (-32768..32767) - distance to move&lt;br /&gt;
|-&lt;br /&gt;
|0x17||23||OPEN_UP||Moves sprite Actor to the far-right||param1: 2 bytes (-32768..32767) - distance to move&lt;br /&gt;
|-&lt;br /&gt;
|0x18||24||OPEN_DOWN||Moves sprite Actor to the near-left||param1: 2 bytes (-32768..32767) - distance to move&lt;br /&gt;
|-&lt;br /&gt;
|0x19||25||CLOSE||Moves sprite Actor back to original position||&lt;br /&gt;
|-&lt;br /&gt;
|0x1A||26||WAIT_DOOR||Waits for sprite Actor to open/close||&lt;br /&gt;
|-&lt;br /&gt;
|0x1B||27||SAMPLE_RND||Plays a [[LBA1:Samples.hqr|sound sample]] with randomly lowered pitch||param1: 2 bytes (0..32767) - index of the sample&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||28||SAMPLE_ALWAYS||Plays a sound sample repeatedly (until stopped)||param1: 2 bytes (0..32767) - index of the sample&lt;br /&gt;
|-&lt;br /&gt;
|0x1D||29||SAMPLE_STOP||Stops playing a sample||param1: 2 bytes (0..32767) - index of the sample&lt;br /&gt;
|-&lt;br /&gt;
|0x1E||30||PLAY_FLA||Plays FLA animation||param1: null-terminated string - name of the FLA file to play (with or without extension)&lt;br /&gt;
|-&lt;br /&gt;
|0x1F||31||REPEAT_SAMPLE||Sets number of repetitions for SIMPLE_SAMPLE||param1: 2 bytes (0..32767) - number of repetitions&lt;br /&gt;
|-&lt;br /&gt;
|0x20||32||SIMPLE_SAMPLE||Plays a sound sample a number of times||param1: 2 bytes (0..32767) - index of the sample&lt;br /&gt;
|-&lt;br /&gt;
|0x21||33||FACE_HERO||Rotates the Actor towards the Hero||param1: 2 bytes - used internally, should be set to 0xFFFF in the script&lt;br /&gt;
|-&lt;br /&gt;
|0x22||34||ANGLE_RND||Makes the Actor rotate in random direction by about 90&amp;amp;deg;||&lt;br /&gt;
* param1: 2 bytes (1..32767) - randomness range around 90&amp;amp;deg; in Scene units&lt;br /&gt;
* param2: 2 bytes - used internally, should be set to 0xFFFF in the script&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zink</name></author>
	</entry>
</feed>