LBA1:Isometric scene
Jump to navigation
Jump to search
Isometric scene | ||
---|---|---|
Extension |
LS1 |
|
Occurence |
LBA1 |
|
Colour |
|
|
Programs supporting this format | ||
References | ||
Isometric scenes contain information for the active game world content. It contains definitions of Actors and scripts that drive their behaviour.
Specification:[edit]
This page may need some cleanup. It should be reformatted to use wikitext instead of <pre> tags. |
-------------------------------------------------------------------------------- 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 ] ---------------------------------------------------------