LBA1:Isometric scene

From LBA File Information
Jump to: navigation, search
Isometric scene
Extension

LS1

Occurence

LBA1

Colour
Programs supporting this format
References

(none)

Isometric scenes contain information for the active game world content. It contains definitions of Actors and scripts that drive their behaviour.

Specification:[edit]

--------------------------------------------------------------------------------
L I T T L E   B I G   A D V E N T U R E   1
Scene Format - used for LBA Story Coder
Revision 4

Author:   Alexandre Fontoura [alexfont]

Last Modification: 08.04.2006


[#] [ INFORMATION ] ------------------------------------------------------------

This document describes the format in which the LBA1\Relentless scenes are 
stored in. I used this information in the generation of my Story Coder.
If you find any errors in this document please email me the details, 
also if you find new stuff please notify me. 
This information is provided AS IS.


[#] [ NOTES ] ------------------------------------------------------------------

 - Actors: Such as characters, doors, moving plataforms, invisible actors, and so on...
 - Zones: Special actions, like change to another scene, up in a ladder, and so on...
 - Tracks: Tell the actor where to go.

 - Move Script: The way the actor "move" in the game.
 - Life Script: The way the actor act in the game.


[#] [ FORMAT ] -----------------------------------------------------------------

u16 = unsigned short (16bit)
s16 = signed short (16bit)
byte (8bit)

+ = to add in the previeous script bytes

--------------------------------------------------------------------------------

00:	byte		Island number
01:	byte		GameOver Cube
02..05: unused

[ Ambiance ] 
06:	u16		AlphaLight
08:	u16		BetaLight
0A:	u16		SampleAmbiance[0]
0C:	u16		SampleRepeat[0] 
0E:	u16		SampleRnd[0]
10:	u16		SampleAmbiance[1]
12:	u16		SampleRepeat[1]
14:	u16		SampleRnd[1]
16:	u16		SampleAmbiance[2]
18:	u16		SampleRepeat[2]
1A:	u16		SampleRnd[2]
1C:	u16		SampleAmbiance[3]
1E:	u16		SampleRepeat[3]
20:	u16		SampleRnd[3]
22:	u16		Second_Min
24:	u16		Second_Ecart
26:	byte		Music (Midis Index)
[ / Ambiance ]

[ Hero Start ]
27:	s16		Hero Position X
29:	s16		Hero Position Y
2B:	s16		Hero Position Z
[ / Hero Start ]

2D:	u16		(*) Number of Bytes used by Hero Move Script
Here you will get the bytes using the further Life Script list "Number of Bytes used by Hero Move Script" times.
2F:	(*)		[ Move Script ]

+00:	u16		(**) Number of Bytes used by Hero Life Script
Here you will get the bytes using the further Life Script list "Number of Bytes used by Hero Life Script" times.
02:	(**)		[ Life Script ]


+00:	u16		Number of actors in scene
02:
Do this "number actors in scene" times - 1 (Less 1 because Twinsen is counted in "Number of actors in scene")
[ Actors ]
00:	u16		Static Flag (See further Static Flag List)
02:	u16		File3D index
04:	byte		Body - File3D Instance
05:	byte		Animation - File3D Instance
06:	byte		Sprites index
07:	u16		X Coordinates
09:	u16		Y Coordinates
0B:	u16		Z Coordinates
0D:	byte		Strength Of Hit
0E:	u16		Bonus type (See further Bonus Type List)
10:	u16		Character Angle
12:	u16		Rotation Speed
14:	u16		Behaviour
16:	u16		Crop Left
18:	u16		Crop Top
1A:	u16		Crop Right
1C:	u16		Crop Bottom
1E:	byte		Bonus Amount
1F:	byte		Talk Color
20:	byte		Armour
21:	byte		Life Points

22:	u16		(*) Number of Bytes used by Actor Move Script
Here you will get the bytes using the further Life Script list "Number of Bytes used by Move Script" times.
24:	(*)		[ Move Script ]

+00:	u16		(**) Number of Bytes used by Twinsen Life Script
Here you will get the bytes using the further Life Script list "Number of Bytes used by Life Script" times.
02:	(**)		[ Life Script ]
[ / Actors ]


+00:	u16		Number of Zones
02:
Do this "number zones in scene" times
[ Zones ]
00:	u16		Bottom Left - X Coordinates
02:	u16		Bottom Left - Y Coordinates
04:	u16		Bottom Left - Z Coordinates
06:	u16		Top Right - X Coordinates
08:	u16		Top Right - Y Coordinates
0A:	u16		Top Right - Z Coordinates
0C:	u16		Zone Type (See further Zone Type List)
0E:	u16		Info0 (See further Zone Type List)
10:	u16		Info1 (See further Zone Type List)
12:	u16		Info2 (See further Zone Type List)
14:	u16		Snap
[ / Zones]


+00:	u16		Number of tracks
02:
Do this "number tracks in scene" times
[ Tracks ]
00:	u16		X Coordinates
02:	u16		Y Coordinates
04:	u16		Z Coordinates
[ / Tracks ]



[#] [ Lists ] ------------------------------------------------------------------

---------------------
- [ Island Numbers ]:
---------------------

 . 0 -> Citadel Island
 . 1 -> Principal Island
 . 2 -> White Leaf Desert
 . 3 -> Proxima Island
 . 4 -> Rebelion Island
 . 5 -> Hamalayi mountains - southern range
 . 6 -> Hamalayi mountains - northern range 
 . 7 -> Tippet Island
 . 8 -> Brundle Island
 . 9 -> Fortress Island
 . 10 -> Polar Island


-----------------
- [ Bonus Type ]:
-----------------

 . money -> BonusTypeValue & 0x0010;
 . life  -> BonusTypeValue & 0x0020;
 . magic -> BonusTypeValue & 0x0040;
 . key   -> BonusTypeValue & 0x0080;
 . clove -> BonusTypeValue & 0x0100;


----------------
- [ Zone Type ]:
----------------

 . 0 -> Cube Zones -> change scenes
	Info0 -> Scene index
	Info1 -> X
	Info2 -> Y
	Info3 -> Z

 . 1 -> Camera Zones -> move camera
	Info0 -> X (camera coordinates)
	Info1 -> Y (camera coordinates)
	Info2 -> Z (camera coordinates)

 . 2 -> Sceneric Zones -> set zone variable (for life scripts)
	Info0 -> Zone id 

 . 3 -> Grid Zones -> clip the cube (like when the background is cut in the library)
	Info0 -> Cube index ( grid index: 120 (total scenes) + cube index )

 . 4 -> Object Zones -> find something like coins, life, ...
	Info1 -> Bonus Paramenter 
	Info2 -> Bonus Amount
	Snap -> Used in game to know if the bonus was already used. (0 -> Not used, 1-> Used)

 . 5 -> Text Zones -> show a text (when reading sign)
	Info0 -> Text index in the current Text Bank
	Info1 -> Text Color (same as Talk Color) 

 . 6 -> Ladder Zones
	-

------------------
- [ Static flag ]:
------------------

 . staticValue & 0x1 -> Compute collision with objects
 . staticValue & 0x2 -> Compute collision with bricks
 . staticValue & 0x4 -> Is zonable (the actor is subjects to zone)
 . staticValue & 0x8 -> Uses clipping (the sprite will be drawn cut)
 . staticValue & 0x10 -> Can be pushed
 . staticValue & 0x20 -> Is dead
 . staticValue & 0x40 -> Can drown
 . staticValue & 0x80 -> ???
 . staticValue & 0x100 -> ???
 . staticValue & 0x200 -> Hidden
 . staticValue & 0x400 -> Is sprite actor
 . staticValue & 0x800 -> Can Fall
 . staticValue & 0x1000 -> Doesn't cast shadow
 . staticValue & 0x2000 -> Is backgrounded
 . staticValue & 0x4000 -> Can move
 . staticValue & 0x8000 -> Use Mini ZV (Zone Volumique - volume occuped by the model) (option used by sprites I guess, since all models have an ZV).


-------------------------
- [ Move Script Macros ]:
-------------------------

[ data type ] - you need to specify one parameter for that operation.
**[ data type ] - various parameters to specify for that operation.

Each macro name specify one byte in the script.

 _____________________________________________________
|                                                     |
| Opcode:	Command Name          -> Description  |
|_____________________________________________________|


00:	END					-> End of Actor Move Script
01:	NOP					-> No Operation
02:	BODY [ byte ]				-> Choose new body for the current actor (Parameter = File3D Body Instance)
03:	ANIM [ byte ]				-> Choose new animation for the current actor (Parameter = File3D Animation Instance)
04:	GOTO_POINT [ byte ]			-> Tell the actor to go to a new position (Parameter = Track Index)
05:	WAIT_ANIM				-> Wait the end of the current animation
06:	LOOP					-> Loop a certain label.
07:	ANGLE [ s16 ]				-> Make the actor turn around
08:	POS_POINT [ byte ]			-> Set new postion for the current actor (Parameter = Track Index)
09:	LABEL [ byte ]				-> Specify a new label (Parameter = Label Number)
0A:	GOTO [ s16 ]				-> Go to a certain label (Parameter = Label Number)
0B:	STOP					-> Tell the actor to stop the current animation
0C:	GOTO_SYM_POINT [ byte ]			-> Tell the actor to go to a symbolic point
0D:	WAIT_NB_ANIM [ byte ] [ dummy ]		-> Wait a certain number of frame update in the current animation
0E:	SAMPLE [ s16 ]				-> Play a sample (Parameter = Sample index)
0F:	GOTO_POINT_3D [ byte ]			-> Tell the actor to go to a new position (Parameter = Track Index)
10:	SPEED [ s16 ]				-> Specify a new rotation speed for the current actor (Parameter = Rotation speed) [ 0 means fast, 32767 means slow ]
11:	BACKGROUND [ byte ]			-> Set actor as background (Parameter = 1 (true); = 0 (false))
12:	WAIT_NB_SECOND [ byte ] [s32 dummy]	-> Number os seconds to wait.
13:	NO_BODY					-> To not use Bodies.
14:	BETA [ s16 ]				-> Change actor orientation. (Parameter = New Angle)
15:	OPEN_LEFT [ s16 ]			-> Open the door (left way) (Parameter = distance to open).
16:	OPEN_RIGHT [ s16 ]			-> Open the door (right way) (Parameter = distance to open).
17:	OPEN_UP [ s16 ]				-> Open the door (up way) (Parameter = distance to open).
18:	OPEN_DOWN [ s16 ]			-> Open the door (down way) (Parameter = distance to open).
19:	CLOSE					-> Close the door.
1A:	WAIT_DOOR				-> Wait till door close.
1B:	SAMPLE_RND [ s16 ]			-> Generate a random sample.
1C:	SAMPLE_ALWAYS [ s16 ]			-> Play always the sample (Parameter = Sample index)
1D:	SAMPLE_STOP [ s16 ]			-> Stop playing the sample
1E:	PLAY_FLA [ string ]			-> Play FLA cutscenes (Parameter = Cutscene Name)
1F:	REPEAT_SAMPLE [ s16 ]			-> Repeat sample (Parameter = Sample index).
20:	SIMPLE_SAMPLE [ s16 ]			-> Play a sample (Parameter = Sample index)
21:	FACE_TWINKEL [ s16 dummy ]		-> The actor rotate to Twinsen direction (Parameter = -1 (near); = 0 (far))
22:	ANGLE_RND [ s16 ] [ s16 ]		-> Generate an random angle for the current actor



-------------------------
- [ Life Script Macros ]:
-------------------------

[ data type ] - you need to specify one parameter for that operation.
**[ data type ] - various parameters to specify for that operation.

Each macro name specify one byte in the script.

 _____________________________________________________
|                                                     |
| Opcode:	Command Name          -> Description  |
|_____________________________________________________|


00:	END					-> End of Actor Life Script
01:	NOP					-> No Operation
02:	SNIF *					-> To execute a switch no if. It's used to toggle the switch.
03:	OFFSET [ s16 ]				-> To jump to another offset in the current script. (Parameter = Offset)
04:	NEVERIF	*				-> Will never execute that condition.
05:						-> unused
06:	NO_IF *					-> Will not execute the condition.
07:						-> unused
08:						-> unused
09:						-> unused
0A:	LABEL [ byte ]				-> Specify a new label (Parameter = script offset)
0B:	RETURN					-> To stop running the current script
0C:	IF *					-> Do a certain statement according the condition.
0D:	SWIF *					-> To execute a switch if.
0E:	ONEIF *					-> Will only execute that condition one time.
0F:	ELSE *					-> Else statement for an IF condition.
10:	ENDIF					-> End of a conditional statement (e.g. IF)
11:	BODY [ byte ]				-> Choose new body for the current actor (Parameter = File3D Body Instance)
12:	BODY_OBJ [ byte ] [ byte ]		-> Choose new body for the actor passed as parameter (Parameter = Actor Index, Parameter = File3D Body Instance)
13:	ANIM [ byte ]				-> Choose new animation for the current actor (Parameter = File3D Animation Instance)
14:	ANIM_OBJ [ byte ] [ byte ]		-> Choose new animation for the actor passed as parameter (Parameter = Actor Index, Parameter = File3D Animation Instance)
15:	SET_LIFE [ s16 ]			-> Same as SET_COMPORTAMENT
16:	SET_LIFE_OBJ [ byte ] [ s16 ]		-> Same as SET_COMPORTAMENT_OBJ
17:	SET_TRACK [ s16 ]			-> Set a new track for the current actor. (Parameter = Track offset)
18:	SET_TRACK_OBJ [ byte ] [ s16 ]		-> Set a new track for tha actor passed as parameter (Parameter = Actor Index, Parameter = Track offset)
19:	MESSAGE	[ s16 ]				-> Choose a message to display. (Parameter = Text Index in the current Text Bank)
1A:	FALLABLE [ byte ]			-> To set the current actor static flag fallable. (Parameter = value & 1)
1B:	SET_DIR	[ byte ] [ byte ]		-> To set direction for current actor.
1C:	SET_DIR_OBJ [ byte ] [ byte ] [ byte ]	-> To set direction
1D:	CAM_FOLLOW [ byte ]			-> Camara follow the actor (Parameter = Actor to Follow)
1E:	COMPORTEMENT_HERO [ byte ]		-> Set a new behavior for Twinsen (Paramenter = Behavior Index)
1F:	SET_FLAG_CUBE [ byte ] [ byte ]		-> Set a new value for the cube flag (Paramter = Cube Flag Index, Parameter = Value)
20:	COMPORTEMENT [ byte ]			-> Set a new behaviour for the current actor. (Paramter = Comportament number)
21:	SET_COMPORTEMENT [ s16 ]		-> Set a new comportament for the current actor. (Parameter = Comportament Offset)
22:	SET_COMPORTEMENT_OBJ [ byte ] [ s16 ]	-> Set a new comportament for the actor passed as parameter. (Paramter = Actor Index, Parameter = Comportament Offset)
23:	END_COMPORTEMENT 			-> End of comportament.
24:	SET_FLAG_GAME [ byte ] [ byte ]		-> Set a new value for the game flag (Paramter = Game Flag Index, Parameter = Value)
25:	KILL_OBJ [ byte ]			-> Kill the actor passed as paramenter (Parameter = Actor Index)
26:	SUICIDE					-> Kill the current actor
27:	USE_ONE_LITTLE_KEY			-> Use one key collected in the behaviors menu.
28:	GIVE_GOLD_PIECES [ s16 ]		-> To give money. (Paramenter = Cost)
29:	END_LIFE				-> The game will not play the current actor script anymore
2A:	STOP_L_TRACK				-> The current actor will stop doing the track.
2B:	RESTORE_L_TRACK				-> The current actor will resume the tracked started before.
2C:	MESSAGE_OBJ [ byte ] [ s16 ]		-> The actor passed as parameter will say that massage (Parameter = Actor Index, Parameter = Text Index in the current Text Bank)
2D:	INC_CHAPTER				-> To increment the current chapter value
2E:	FOUND_OBJECT [ byte ]			-> Found an object. (Parameter = Object Index)
2F:	SET_DOOR_LEFT [ s16 ]			-> Set a new value to open the door (left way) (Parameter = distance to open).
30:	SET_DOOR_RIGHT [ s16 ]			-> Set a new value to open the door (right way) (Parameter = distance to open).
31:	SET_DOOR_UP [ s16 ]			-> Set a new value to open the door (up way) (Parameter = distance to open).
32:	SET_DOOR_DOWN [ s16 ]			-> Set a new value to open the door (down way) (Parameter = distance to open).
33:	GIVE_BONUS [ byte ]			-> Give actor bonus. (Parameter = 0 (Don't change the actor bonus), > 0 (Change to another bonus))
34:	CHANGE_CUBE [ byte ]			-> Change to another room. (Parameter = Scene Index)
35:	OBJ_COL	[ byte ]			-> To set the current actor to collid with objects. (Parameter = 1(True) = other values(False))
36:	BRICK_COL [ byte ]			-> To set the current actor to collid with bricks. (Parameter = 1(True), = 2(True and the actor is dead), = other values(False))
37:	OR_IF *					-> To use various conditions for the same IF statement. (Use above an IF condition)
38:	INVISIBLE [ byte ]			-> Put an actor invisible (Parameter = 1(True), = 0(False))
39:	ZOOM [ byte ]				-> Camara zoom in and zoom out. (Parameter = 1(in) = 0(out))
3A:	POS_POINT [ byte ] 			-> Set new postion for the current actor (Parameter = Track Index)
3B:	SET_MAGIC_LEVEL	[ byte ]		-> To set the magic level. (Paramater = Magic Level)
3C:	SUB_MAGIC_POINT	[ byte ]		-> Substract the magic points. (Parameter = Points Value)
3D:	SET_LIFE_POINT_OBJ [ byte ] [ byte ]	-> Set new a life point. (Parameter = Actor Index, Parameter = Points Value)
3E:	SUB_LIFE_POINT_OBJ [ byte ] [ byte ]	-> Substract the life points. (Parameter = Actor Index, Parameter = Points Value)
3F:	HIT_OBJ	[ byte ]			-> Hit an actor. (Parameter = Actor Index)
40:	PLAY_FLA [ string ]			-> Play FLA cutscenes (Parameter = Cutscene Name)
41:	PLAY_MIDI [ byte ]			-> Play Midis (Parameter = Midis Index)
42:	INC_CLOVER_BOX				-> To increment the clover box current value.
43:	SET_USED_INVENTORY [ byte ]		-> To set an inventory object as used (Parameter = Object Index)
44:	ADD_CHOICE [ s16 ]			-> Add an option for the asked choice . (Parameter = Text Index in the current Text Bank)
45:	ASK_CHOICE [ s16 ]			-> The current actor will ask something (parameter) with choices to choose. (Parameter = Text Index in the current Text Bank)
46:	BIG_MESSAGE [ s16 ]			-> Show text in full screen. (Parameter = Text Index in the current Text Bank)
47:	INIT_PINGOUIN [ byte ]			-> To initiate the hidden meca-pingouin in the current scene. (Parameter = Actor Index)
48:	SET_HOLO_POS [ byte ]			-> To set an holomap position. (Parameter = Holomap/Scene Index)
49:	CLR_HOLO_POS [ byte ]			-> To clear an holomap position. (Parameter = Holomap/Scene Index)
4A:	ADD_FUEL [ byte ]			-> Add to the current fuel value the passed parameter. (Parameter = Fuel Amount)
4B:	SUB_FUEL [ byte ]			-> Substract the to fuel value the value passed as parameter. (Parameter = Fuel Amount)
4C:	SET_GRM [ byte ]			-> To set a GRID disappearing ceiling piece (Parameter = Disappearing ceiling piece Index)
4D:	SAY_MESSAGE [ s16 ]			-> The current actor will say the message passed as paramenter. (Parameter = Actor Index)
4E:	SAY_MESSAGE_OBJ [ byte ] [ s16 ]	-> The actor passed as parameter will say the message passed as paramenter. (Parameter = Actor Index, Parameter = Text Index in the current Text Bank)
4F:	FULL_POINT				-> Set Twinsen life point as full.
50:	BETA [ s16 ]				-> Change actor orientation. (Parameter = New Angle)
51:	GRM_OFF					-> To unset the GRID disappearing ceiling piece.
52:	FADE_PAL_RED				-> Fade palette to red
53:	FADE_ALARM_RED				-> Fade alarm to red
54:	FADE_ALARM_PAL				-> Fade alarm to palette
55:	FADE_RED_PAL				-> Fade red to palette
56:	FADE_RED_ALARM				-> Fade red to alarm
57:	FADE_PAL_ALARM				-> Fade palette to alarm
58:	EXPLODE_OBJ [ byte ]			-> Explode an object. (Parameter = Object Index)
59:	BULLE_ON 				-> Turn On "tool tips" while actors talk.
5A:	BULLE_OFF				-> Turn Off "tool tips" while actors talk.
5B:	ASK_CHOICE_OBJ [ byte ] [ s16 ]		-> The actor will ask something with choices to choose. (Parameter = Actor Index, Parameter = Text Index in the current Text Bank)
5C:	SET_DARK_PAL				-> Set a dark palette.
5D:	SET_NORMAL_PAL				-> Set main palette.
5E:	MESSAGE_SENDELL				-> Show Sendell message.
5F:	ANIM_SET [ byte ]			-> Set new animation for the current actor (Parameter = Animation Index)
60:	HOLOMAP_TRAJ [ byte ]			-> Choose a new holomap trajectory. (Parameter = Trajectory)
61:	GAME_OVER				-> Game over.
62:	THE_END					-> End of the game.
63:	MIDI_OFF				-> Stop the current played Midi.
64:	PLAY_CD_TRACK [byte]			-> Play a CD Track (Paramenter = CD Track).
65:	PROJ_ISO				-> Set Isometric Projections
66:	PROJ_3D					-> Set 3D Projections
67:	TEXT [s16]				-> Only display the text. (e.g. like in the credit list) (Parameter = Text Index in the current Text Bank)
68:	CLEAR_TEXT				-> Clear displayed text in the screen.
69:	BRUTAL_EXIT				-> Exit the script execution.

The above macros that have the * mark use the further conditions.
Also all that macros have offset values at the end of the line to point to the next condition or block code for binary scenes.
This doens't happen for text scenes.

Here's an example to undertand that better:

[#### Move script ####]

00: LABEL 0
02: ANIM 11
04: WAIT_ANIM
05: ANIM 0
07: LABEL 100
09: STOP
0A: END

[#### Life script ####]

 - For Binary Scenes:

00: SWIF ACTION == 1 29
06: IF ZONE == 0 18
12: SET_DIR 0
14: SET_TRACK 7
17: SET_COMPORTEMENT 35
20: IF FLAG_GAME 145 == 1 25
27: SUICIDE
28: ELSE 29
31: SET_COMPORTEMENT 35
34: END_COMPORTEMENT
35: SWIF L_TRACK < 100 45
41: GIVE_BONUS 0
43: IF L_TRACK == 0 55
49: SET_FLAG_GAME 145 1
52: SUICIDE
53: END_COMPORTEMENT
54: END

 - For Text Scenes:

COMPORTEMENT 0
  SWIF ACTION == 1
    IF ZONE == 0
      SET_DIR 0
      SET_TRACK 100
      SET_COMPORTEMENT 1
    ENDIF
    IF FLAG_GAME 145 == 1
      SUICIDE
    ELSE
      SET_COMPORTEMENT 1
    ENDIF
  ENDIF
END_COMPORTEMENT
COMPORTEMENT 1
  SWIF L_TRACK < 100
    GIVE_BONUS 0
  ENDIF
  IF L_TRACK == 0
    SET_FLAG_GAME 145 1
    SUICIDE
  ENDIF
END_COMPORTEMENT
END


 - [ Conditions ]:

 _____________________________________________________
|                                                     |
|Opcode|        Operation Name         | Description  |
|_____________________________________________________|


00:     COL operator [byte]			-> Current actor collision with another actor. (Parameter = Actor Index)
01:     COL_OBJ [byte] operator [byte]		-> Actor collision with the actor passed as parameter. (Parameter = Actor Index, Parameter = Actor Index)
02:     DISTANCE [byte] operator [s16]		-> Distance between the current actor and the actor passed as parameter. (Parameter = Actor Index, Parameter = Distance between)
03:     ZONE operator [byte]			-> Current actor tread on zone passed as parameter. (Parameter = Zone Index)
04:     ZONE_OBJ [byte] operator [byte]		-> The actor passed as parameter will tread on zone passed as parameter. (Parameter = Actor Index, Parameter = Zone Index)
05:     BODY operator [byte]			-> Body of the current actor. (Parameter = Body Index)
06:     BODY_OBJ [byte] operator [byte]		-> Body of the actor passed as parameter. (Parameter = Body Index)
07:     ANIM operator [byte]			-> Body Animation of the current actor. (Parameter = Animation Index)
08:     ANIM_OBJ [byte] operator [byte]		-> Body Animation of the actor passed as parameter. (Parameter = Animation Index)
09:     L_TRACK operator [byte]			-> Current actor track. (Parameter = Track Index)
0A:     L_TRACK_OBJ [byte] operator [byte]	-> Track of the actor passed as parameter. (Parameter = Track Index)
0B:     FLAG_CUBE [byte] operator [byte]	-> Game Cube Flags. (Parameter = Cube Flag Index, Parameter = 0 (not set), = 1 (set))
0C:     CONE_VIEW [byte] operator [s16]		-> The actor passed as parameter have a "vision in circle". (Parameter = Actor Index, Parameter = Distance)
0D:     HIT_BY operator [byte]			-> Current actor hited by the actor passed as parameter. (Parameter = Actor Index)
0E:     ACTION operator [byte]			-> Hero action behavior. (Parameter = Behaviour Index)
0F:     FLAG_GAME [byte] operator [byte]	-> Game Flags (See further list). (Parameter = Flag Index, Parameter = 0 (not set), = 1 (set))
10:     LIFE_POINT operator [byte]		-> Current actor life points. (Parameter = Life points)
11:     LIFE_POINT_OBJ [byte] operator [byte]	-> Life points of the current actor passed as parameter. (Parameter = Life points)
12:     NB_LITTLE_KEYS operator [byte]		-> Number of keys. (Parameter = Number of keys)
13:     NB_GOLD_PIECES operator [s16]		-> Coins/Gold Amount. (Parameter = Coins/Gold amount)
14:     COMPORTEMENT_HERO operator [byte]	-> Hero behaviour. (Parameter = Behaviour Index)
15:     CHAPTER operator [byte]			-> Story Chapters. (Parameter = Chapter Index)
16:     DISTANCE_3D [byte] operator [s16]	-> Distance between the actor passed as parameter and the current actor. (Parameter = Actor Index, Parameter = Distance)
17:						-> unused
18:						-> unused
19:     USE_INVENTORY [byte] operator [byte]	-> Use inventory object. (Parameter = Object Index in the inventory, Paramenter = 0 (Not in Inventory), = 1 (In the Inventory))
1A:     CHOICE operator [s16]			-> Menu choice. (Parameter = Text Index in the current Text Bank)
1B:     FUEL operator [byte]			-> Amount of fuel gas the Hero have in his inventory. (Parameter = Gas amount)
1C:     CARRY_BY operator [byte]		-> The current is carried by the actor passed as paramenter. (Parameter = Actor Index)
1D:     CDROM operator [byte]			-> CDROM audio tracks. (Parameter = Audio Tracks Index)



 - [ Operators ]:

00:	==	-> Equal to
01:	>	-> Greater Than
02:	<	-> Less Than
03:	>=	-> Greater Than Or Equal To
04:	<=	-> Less Than Or Equal To
05:	!=	-> Not equal to



[#] [ SPECIAL THANKS ] ---------------------------------------------------------

Vicent Hamm [yaz0r] for explain me the scene format and for put up with me ;)
Also for all people involved with the LBA Info Project.


[#] [ Completements for Scripting ] --------------------------------------------

The next resources are from LBA1, anyway if you deserve to change it for a new game using the LBA1 engine you
can do it without problems. 
This is just to remind that the next resources are needed to know coding the story.
Some of the resource aren't complete, due to incomplite description in the LBA Info Project resources.

Note that the values are in decimal.

-----------------
- [ Game Flags ]:
-----------------
	Inventory:
		\_ 0 - Not in Inventory
		|_ 1 - In the Inventory

000:	Holomap
001:	Magic ball
002:	FunFrock's saber
003:	Gawleys horn
004:	Tunic
005:	Book of Bù
006:	Sendels's medallion
007:	Flask of clear water
008:	Red card
009:	Blue card
010:	ID card
011:	Mr. Mies' pass
012:	Proto-Pack
013:	Snowboard
014:	Meca Penguin
015:	Gas
016:	Pirate flag
017:	Magic flute
018:	Space guitar
019:	Hair dryer
020:	Ancesteral key
021:	Bottle of sirup
022:	Empty bottle
023:	Ferry ticket
024:	Keypad
025:	Coffee can
026:	Bonuses list
027:	Clover leaf

	Quests:
		\_ 0 - Not maded
		|_ 1 - Already maded

028:	Quest 1 = Met the cousin of the locksmith
029:	Quest 2 = Twinsen's house destroyed
030:	Quest 3 = Opened funfrocks safe
031:	Quest 4 = Placed statue in the first scene of Bu
032:	Quest 5 = Lock smith not home
033:	Quest 6 = Found clover bosx in the bar
034:	Quest 7 = Got kashes from astromoners chest
035:	Quest 8 = Escaped through cimney
036:	Quest 9 = Found 25 kashes in the chest near the citadel
037:	Quest 10 = Cleaned water tower water
038:	Quest 11 = Read the book of the prophecy
039:	Quest 12 = Aranged crates
040:	Quest 13 = Telepods destroyed
041:	Quest 14 = Turned on the museum alarm
042:	Quest 15 = Gave book to old guy
043:	Quest 16 = Password for the marked stone
044:	Quest 17 = Password for the eclypse stone
045:	Quest 18 = Freed the marked stone
046:	Quest 19 = Freed the marked stone
047:	Quest 20 = Reopened the bar
048:	Quest 21 = ?? found beech side entrance to cave -> 48: !-Twinkel Loin:OK
049:	Quest 22 = Placed statue in first level of Bu
050:	Quest 23 = ?? -> 50: 3-Amphore1 BU2
051:	Quest 24 = Broke seal to the marked stone
052:	Quest 25 = Access to the secret document section of the library, ?? get's zero'ed on port beluga after quest 11
053:	Quest 26 = Talked to forger
054:	Quest 27 = Museum sewer entrance open
055:	Quest 28 = Tunnel in the rabbibunny village open
056:	Quest 29 = Broke seal in the white leaf desert
057:	Quest 30 = Found clover box on the island near peg leg street
058:	Quest 31 = museum has been robbed
059:	Quest 32 = Broke sendell seal in citadel island
060:	Quest 33 = Broke sendell seal in the old burg
061:	Quest 34 = Found cave beneath house
062:	Quest 35 = Killed pharmacist
063:	Quest 36 = Globbered a clone
064:	Quest 37 = Went through the secret passage to the lock smith
065:	Quest 38 = Went outside with locksmith
066:	Quest 39 = Opened gate to upper old burg
067:	Quest 40 = Spoke with the rebel leader
068:	Quest 41 = Bought the catamaran
069:	Quest 42 = Spoke to the rebel in the harbor bunker
070:	Quest 43 = Inventory disabled
071:	Quest 44 = Destroyed the radar on the hamalayi
072:	Quest 45 = First hamalayi scene with the rebel (zeroed on 46)
073:	Quest 46 = Second hamalayi scene with the rebel (zeroed in the next scene)
074:	Quest 47 = Third hamalayi scene with the rebel (zeroed in the next scene)
075:	Quest 48 = New rebel
076:	Quest 49 = Sacret carrot being opened, zeroed after 68
077:	Quest 50 = Tank in fort on the Hamalayi
078:	Quest 51 = Tank in the hamalayi taken
079:	Quest 52 = Destroyed the mutant eggs
080:	Quest 53 = Opened door in the mutant factory (middle)
081:	Quest 54 = Opened door in the mutant factory (lower)
082:	Quest 55 = Talked with chatter lady on the old burg (Julia)
083:	Quest 56 = ?? something with clear water -> 83: ?-eau claire verse
084:	Quest 57 = Sailor wants a drink
085:	Quest 58 = Took the jeep to the rabbibunny village
086:	Quest 59 = Received quest to retreive a hairdryer
087:	Quest 60 = Librarian complaint about the citys tap water
088:	Quest 61 = Freed the rebel leader
089:	Quest 62 = Arrived on the hamalayi with the rebels
090:	Quest 63 = Gave away the space guitar
091:	Quest 64 = Entrance to the secret passage to Dinofly open
092:	Quest 65 = Information about zoe from the sailor
093:	Quest 66 = Opened door with the hidden key in the secret passage to Dinofly
094:	Quest 67 = Took dinofly
095:	Quest 68 = Sacret carrot is open
096:	Quest 69 = Arrived in the middle of white leaf desert, got reset after you freed joe
097:	Quest 70 = Attached pirate flag to ship
098:	Quest 71 = ?? -> 8: 4-parl‚ au faussair
099:	Quest 72 = Info about LeBournes treasure
100:	Quest 73 = Temple of bu, 2nd scene, finished sub room #1
101:	Quest 74 = Temple of bu, 2nd scene, finished sub room #2
102:	Quest 75 = Temple of bu, 2nd scene, finished sub room #3
103:	Quest 76 = Got a ferry ticket
104:	Quest 77 = ?? -> 104: 2-archi a l1t‚rieur
105:	Quest 78 = Freed the rebel leader
106:	Quest 79 = Broke Sendell seal in secret cave 
107:	Quest 80 = Killed the groboclone in the closed bar
108:	Quest 81 = ?? ski piste open -> 108: 9-Vanne pisc ouver
109:	Quest 82 = ?? -> 109: 9-Bette ftres tuee
110:	Quest 83 = Opened 1st gate
111:	Quest 84 = Placed statue in 3rd scene
112:	Quest 85 = ?? -> 112: 9-Porte zoe ouvert
113:	Quest 86 = Saved Joe the elf
114:	Quest 87 = ?? -> 114: 9-Sceau eclater
115:	Quest 88 = Saved the rabbibunny from the mutant
116:	Quest 89 = ?? -> 116: 10-FTRES d‚truite
117:	Quest 90 = Broke seal on Brundle Island
118:	Quest 91 = Saved Raymond the elf
119:	Quest 92 = Took hydroglyder
120:	Quest 93 = Opened the door in funky town
121:	Quest 94 = Opened lock on forgers house
122:	Quest 95 = ?? Used keypad -> 122: 9-DigiCode Pos‚
123:	Quest 96 = ?? -> 123: 11-Funfrok a parl‚
124:	Quest 97 = ?? -> 124: 9-Portail ouvert
125:	Quest 98 = ?? -> 125: 9-Infirmier tu‚
126:	Quest 99 = ?? -> 126: 9-LapiRouge tu‚
127:	Quest 100 = ?? -> 127: 9-Peintre dehors
128:	Quest 101 = ?? -> 128: 2-Lapi chez frŠre
129:	Quest 102 = ?? -> 129: 11-Sceau Sendell ok
130:	Quest 103 = ?? -> 130: 11-Rochers d‚truits
131:	Quest 104 = ?? -> 131: 2-Lapi lib‚r‚
132:	Quest 105 = Clover box in sewer citadel island
133:	Quest 106 = ?? -> 133: 11-Portail ouvert
134:	Quest 107 = ?? -> 134: 10-Lapi chef sorti
135:	Quest 108 = ?? -> 135: 10-Lapi a creus‚
136:	Quest 109 = ?? -> 136: 10-char&gardes tu‚s
137:	Quest 110 = ?? -> 137: 11-Funfrock tomb‚
138:	Quest 111 = Took the boat to the white leaf desert
139:	Quest 112 = ?? -> 139: 11-FunFrock tu‚
140:	Quest 113 = ?? -> 140: 6-Kroptman parti
141:	Quest 114 = Opened clear water lake
142:	Quest 115 = Spoke with the old man in thw white leaf desert
143:	Quest 116 = Information about LeBourne from sailor (to speak with the Old Brug shop keeper)
144:	Quest 117 = Activated secret grobo statue
145:	Quest 118 = Found 150 kashes in the secret area of the old burg
146:	Quest 119 = ?? -> 146: 11-Zoe a parl‚
147:	Quest 120 = Opened gate to the shuttle
148:	Quest 121 = ?? -> 148: Seb en a une petite
149:	Quest 122 = Found dinofly
150:	Quest 123 = ?? -> 150: verser o clair run1
151:	Quest 124 = ?? -> 151: verser o clair run2
152:	Quest 125 = Destroyed a mutant
153:	Quest 126 = Destroyed a mutant
154:	Quest 127 = Destroyed a mutant
155:	Quest 128 = Destroyed a mutant
156:	Quest 129 = ?? -> 156: 11-Zoe descendue
157:	Quest 130 = Broke seal of the destroyed house on principal island
158:	Quest 131 = ?? -> 158: 2-Repr‚sentant vu

159..199: unused          

200:	Baffe.fla	-> Hit
201:	Baffe2.fla	-> Hit, band-aid
202:	Baffe3.fla	-> Hit, black eye
203:	Bateau.fla	-> Ferry #1                
204:	TempleBu.fla	-> Temple of Bu
205:	Flute2.fla	-> White Leaf Desert, flute
206:	Navette.fla	-> Hamalayi Mountains, chuttle
207:	Neige2.fla	-> Hamalayi Mountains, storm
208:	Surf.fla	-> Hamalayi Mountains, ski lift
209:	Bateau2.fla	-> Ferry #2
210:	Capture.fla	-> Fortress, Zoe Clone
211:	Verser.fla	-> Fortress, Rune stone (cut from the game)
212:	Verser2.fla	-> Fortress, Rune stone
213:	Fortress.fla	-> Fortress, explosion
214:	Sendel2.fla	-> Sendel give powers to Twinsen & Zoé.
215:	Baffe5.fla	-> Hit, reject
216:	Explod.fla	-> Twinsun explosion (on top of the well)
217:	Glass2.fla	-> Clear water lake
218:	Sendel.fla	-> Twinsen in Well of Sendell
219:	Explod2.fla	-> Twinsun explosion

220..255: unused


---------------
- [ Chapters ]:
---------------

00:	Inprisoned
01:	Escape from the citadel
02:	Zoe got captured
03:	- looking for a young girl
04:	- looking for a "friend"
05:	The legend of Sendell
06:	The book of Bu
07:	Pirate LeBorne
08:	- "good day"
09:	- "good day"
10:	- ?? nothing
11:	- ?? nothing
12:	- ?? nothing
13:	- looking for plans
14:	- still looking for plans
15:	The final showdown - "good day"


-------------------
- [ Magic Levels ]:
-------------------

0:	No Magic Levels	
1:	Yellow Ball
2: 	Green Ball
3: 	Red Ball
4:	Fire Ball


-------------------------
- [ Twinsen Behaviours ]:
-------------------------

0:	Normal 
1:	Athletic
2:	Agressive
3:	Discrete


----------------------
- [ Inventory Items ]:
----------------------

00:	Holomap
01:	Magic ball
02:	FunFrock's saber
03:	Gawleys horn
04:	Tunic
05:	Book of Bù
06:	Sendels's medallion
07:	Flask of clear water
08:	Red card
09:	Blue card
10:	ID card
11:	Mr. Mies' pass
12:	Proto-Pack
13:	Snowboard
14:	Meca Penguin
15:	Gas
16:	Pirate flag
17:	Magic flute
18:	Space guitar
19:	Hair dryer
20:	Ancesteral key
21:	Bottle of sirup
22:	Empty bottle
23:	Ferry ticket
24:	Keypad
25:	Coffee can
26:	Bonuses list
27:	Clover leaf


-------------------------
- [ Disappearing Grids ]:
-------------------------

00:	Disappearing ceiling piece 1 for *1 
01:	Disappearing ceiling piece 2 for *1 
02:	Disappearing ceiling piece 3 for *1
03:	Disappearing ceiling piece 4 for *1
04:	Disappearing ceiling piece for *6 
05:	Disappearing ceiling piece for *11
06:	Disappearing ceiling piece for *39
07:	Disappearing ceiling piece for *22
08:	Disappearing ceiling piece for *89
09:	Disappearing ceiling piece for *88
10:	Disappearing ceiling piece for *93
11:	Disappearing ceiling piece for *100
12:	Disappearing ceiling piece for *96
13:	Disappearing ceiling piece for *37

* Related with Holomap Locations and Cube Zones


--------------------------
- [ FLA file names list ]:
--------------------------

- Baffe.fla	-> Hit
- Baffe2.fla	-> Hit, band-aid
- Baffe3.fla	-> Hit, black eye
- Bateau.fla	-> Ferry #1                
- TempleBu.fla	-> Temple of Bu
- Flute2.fla	-> White Leaf Desert, flute
- Navette.fla	-> Hamalayi Mountains, chuttle
- Neige2.fla	-> Hamalayi Mountains, storm
- Surf.fla	-> Hamalayi Mountains, ski lift
- Bateau2.fla	-> Ferry #2
- Capture.fla	-> Fortress, Zoe Clone
- Verser.fla	-> Fortress, Rune stone (cut from the game)
- Verser2.fla	-> Fortress, Rune stone
- Fortress.fla	-> Fortress, explosion
- Sendel2.fla	-> Sendel give powers to Twinsen & Zoé.
- Baffe5.fla	-> Hit, reject
- Explod.fla	-> Twinsun explosion (on top of the well)
- Glass2.fla	-> Clear water lake
- Sendel.fla	-> Twinsen in Well of Sendell
- Explod2.fla	-> Twinsun explosion

- Dragon3.fla	-> Little Big Adventure logo intro.
- Introd.fla	-> The Twinsen's Dream. (Intro movie)
- LBA.fla	-> LBA label movie from the demo version.
- The_End.fla	-> End movie with Twinsen and Zoé.


[#] [ END ] ---------------------------------------------------------