Description of Item memoryReramrk: some descriptions could be wrong. You could verify the behavior of some field using the method suggested in Tips & Tricks chapter |
||
Name of Field | Size | Description of Field |
Animation Now | Short |
This field hosts the current animation. This number of animation it's absolute, this means you cann't find a 0 number for first animation of some baddy but you'll find a big number about the number of current animation in the full list of animations of all previous moveables in the tr4 file. To convert this absolute number in a relative number, where the first animation for this moveable will be 0, the second will be 1 ect, you have to perform this compute: 1) Read the Slot index from "Slot id" field (if you don't known already it) 2) Set this index to work on Selected Slot Memory 3) Read in slot memory the "First Animation Index" 4) Now you can get the relative animation in this way: RelativeAnimIndex = ItemMemory.AnimationNumber - Slot.FirstAnimationIndex. |
Contact Flags | Long |
I'm not sure, anyway when there are single bits of values $2000 and $400, lara should be damaged by this item on touching. In darts there is this value: $2400 |
Custom Flags | Byte |
Misterious field. It seems that the values in this field change in according with type of object. It appears like bit flags to signal something |
Custom_A | Short |
This field, like other Custom fields, has different usage in according with the type of object. The only way to discover how it will be used from a given item is to study this field while that item is enabled. See the Tips & Tricks chapter. |
Custom_B | Short | See description of Custom_A field |
Custom_C | Short | See description of Custom_A field |
Custom_D | Short | See description of Custom_A field |
Facing Horizontal | Short |
This value is horizontal facing, i.e. looking lara from the top, it is the direction where lara is looking. About the values you can see the description of "Facing Vertical" field. The horizontal facing is very important because set the direction where lara (or other items) will go when player hit UP key. The horizontal speed, for example, is computed in the dirction of horizontal facing. |
Facing Rotation | Short |
This facing is particular, and it should work only for Lara item. You can see the image of Animation command sample to understand the rotation axis affected by this field |
Facing Vertical | Short |
This value describe the degrees respect than perpendicolar line with the floor. In the projet sample "Variables_trng" you can see a change of vertial facing. The values have a range from 0000 to $FFFF from 0 to 360 degrees. For example $4000 is 90 degress, while $8000 is 180 degrees. It's very seldom this value is different than zero, it hapens when lara run with rush. |
Flags of Item | Long |
This is a very important and very complicated field. In this Flags field each bit set some property of current item. The values you see here are the absolute value of each bit, i.e. if you see $0008 it means you have to set or clear the bit 3 since it has the absolute value $0008 This is the list of my discoveries: $0001 : The item has bene enabled $0002 : The item has the collisions or this item requires a refresh. $0004 : Item has not yet been enabled in game. $0008 : The item is falling down (gravity enabled for this item) $0010 : The item has been injured . It forces the view of life bar for Lara. $0020 : Enemy is not yet dead. He could be to enable or he is living $0040 : The enemy has been killed with explosion $0100 : The enemy has been poisoned $0200 : The enemy is in AI_GUARD mode $0400 : The enemy is in AI_AMBUSH mode $0800 : The enemy is in AI_PATROL1 mode $1000 : The enemy is in AI_MODIFY mode $2000 : The enemy is in AI_FOLLOW mode $4000 : This is a new self-created item. Like a grenade or crossbow ammo. |
Frame Now | Short |
The frame now is the current frame number in current animation. Warning: also this vale (like the "Animation Now") is an absolute value, this means that, when an animation starts the frame now could be a big number istead of zero (like first frame) To convert the absolute frame number in a relative (to current animation's frames) index, you have to perform following compute: 1) Read the "Animation Now" field 2) Use this value to set the Selected Animation Memory 3) Read in Selected Animation memory the field "First absolute Frame index" And now you get relative number of frame for current animation in this way: RelativeFrameIndex= Item.FrameNow - Animation.FirstAbsFrameIndex |
Height Floor below the item | Long |
This field contains the Y Position of floor below current item. The value has the same format of Y Position of item and it is very often the same value, it happens everytime the item is touching the ground. |
HP Vitality | Short |
In this field there is usually the reamining vitality (life level) of current item. If the item is not a baddy (moveable with AI features) in this field could be the value $C000 to signal that this item is not killable and targetable. |
Object buttons | Short |
In this field should be stored the bits to signals the five buttons (+ Inivisible button) you read in Object Code window. |
OCB Code | Short | In this field there is the numeric value you typed in OCB window of this item in ngle program. |
Position X | Long |
The X position of current item. The X axis corresponds in ngle up-down view. The X position has always positive values Like for other Y and Z position field, one sector is 1024 units, one click is 256 units. |
Position Y | Long |
The position Y has positive and negative values and signal the vertical position of lara (up or down respect than floor) The upper sides have negative values while the lower sides have positive values. |
Position Z | Long |
The Z position of current item. The Z axis corresponds in ngle at left-right view. The Z position has always positive values Like for other Y and X position field, one sector is 1024 units, one click is 256 units. |
Room | Short |
The index of room where is this item. Remarks: - The indices in tomb4 could be different than room indices you see in ngle, this depends by the presence of empty room in ngle's project. Anyway remember you can convert a room tomb index in ngle room index or vice-versa using the correct flipeffect. - The value of room index cann't pass over 255, so, although this field has a Short size you can store this number also in a BYTE variable if you wish. |
Slot Id | Short |
This field contain the slot number of current item. For example Lara = 0, AHMET = 102 ect You can use this number as index to set selected slot memory. |
Speed Horizontal | Short |
This field is the speed in horizontal direction of current item. The speed is pratically an increment that will be added to X,Z position following the current direction (facing ) of the item. |
Speed Vertical | Short |
This field is the vertical speed, i.e. it is usually the speed of falling (positive values) or jumping upward (negative values) Remark: when lara is underwater only this speed value will be used while the horizontal speed will be ignored. |
State Id Next | Short | This field works like "State-id now" field but this keeps the next state-id to set. |
State Id Now | Short |
This is the current State-id for this item The state id of lara is well-known but also other enemies have a state id to singal the current phase of its action. |
Transparence level | Short |
This field describes the transparence level of current item. When the value is 0 there is no transparency and therefor the item is fully opaque. When the value is 126 the item will be full transparent. Remark: you can use an action trigger to modify the transparecy of moveable. While, if you try to perform this operation with variables, remember that this field when is different than 0 will be increased by trng engine and when the value reachs 127 the item will be removed. Pratically the engine used this field to generate the progressive transparence effect before removing a killed enemy, and in fact, if you place a non-zero value in this field the item will become transparent and then it will be removed. If you want only set a transparence it's better use the specific action trigger because this action trigger freeze the value in this field to stop the removing phase. |
Unknown (Accelleration on falling?) | Short | About some fields it's not sure their target. This field could keep some acceleration value but it's to verify |
Unknown (Shot a granade?) | Short |
Misterious field. I know only that when a baddy shots a grenade in this field will be written the $C210 value. |
Unknown (Sprite1 Id) | Byte |
Misterious field. In my old studies it seemed regard some sprites used by this moveable, so it should be a sprite index but now I don't remember very well. |
Unknown (Sprite2 Id) | Byte | About this field look the description for other fied "Unknown (Sprite1 Id)" |
Unknown CountDown | Short | This field require some study. It appears like a countdown but it's non sure what means. It could be a counter for delayed activation. |
Unknowns (Light A - H) | Long |
These are many unknown fields. They could be used about the light or color of item but I don't know it in the reality. |
Visible Mesh Flags | Long |
Each set bit signals a visible mesh. Mesh 0 bit 0 (value = $1), Mesh 1 bit 1 (Value $2), Mesh 2 bit 2 (value $4). The default value is -1, i.e. $FFFFFFFFF with all bit enabled to show all meshes of the item. If you want get invisible a mesh use a "Clear bit .. " flipeffect, anyway remember you have already some action trigger to get visible/invisible a mesh of some moveable. |
Savegame Memory DescriptionThe most of values regard Inventory items but there is also some trng special value |
||
Field Name | Size | Field Description |
Inventory. Keys 1 - 8 Keys 9 - 16 Pickup Items 1 - 8 Quest items 1-8 |
Byte |
All these fields work in same way: each bit signal the presence of a specific item number. $01 = Item 1 $02 = Item 2 $04 = Item 3 $08 = Item 4 $10 = Item 5 $20 = Item 6 $40 = Item 7 $80 = Item 8 |
Inventory. Laser Sight Binocular Crow Bar |
Byte | If the item is present the value is 1, if it is missing the value is 0 |
Inventory. Pistols mask UZI Mask Shotgun CrowBow Greanade-Gun Revolver |
Byte |
All these fields work in same way. They have a bit mask to signal the presence of respective weapon and the presence of ammo and laser-sight. $01 = Weapon is present $02 = Unknow (pheraps it means "the weapon is unloaded") $04 = Weapon mounted the laser-sight $08 = Normal ammo $10 = Wideshot (shotgun), Super (grenade) or poisoned (crossbow) ammo $20 = Explosive (crossbow) or flashing (grenade) ammo |
Inventory. Small medipacks Large Medipacks Flares Ammo Pistol Ammo UZI Ammo revolver Ammo Normal Shotgun Ammo Wide-shot Shotgun Ammo Normal Grenade Ammo Super Grenade Ammo Flash Grenade Ammo Normal CrossBow Ammo Poisoned CrossBow Ammo Explosive CrossBow |
Short |
All these fields indicate the respective quantity of that item. Some notes: - The shotgun ammo are slways 6 times bigger than number you read in inventory. For example if you see 5 about normal shotgun ammo, this means that in "Ammo Normal Shotgun" there will be the value 30 (because 6 * 5 = 30) - When in some of these field there is -1, this means: unlimited quantity. |
Inventory. Big Skin Bag | Byte |
Bit mask to signal the presence and the liter for Big Skin Bag 0 = Missing 1 = Present, empty 2 = Present, one liter 4 = Present, three liters 6 = Present five liters |
Inventory. Combo items 1 - 4 | Byte |
This is a bit mask to signal the presence of two pieces for each combo item. The combo items are items divided in two parts. Lara is able to find a single piece and when she owns both pices she can attach them getting another new item. In this field there are informations only about single combo pieces. $01 = Combo Item 1 for puzzle 1 $02 = Combo Item 2 for puzzle 1 $04 = Combo Item 1 for puzzle 2 $08 = Combo Item 2 for puzzle 2 $10 = Combo Item 1 for puzzle 3 $20 = Combo Item 2 for puzzle 3 $40 = Combo item 1 for puzzle 4 $80 = Combo item 2 for puzzle 4 |
Inventory. Combo items 5 - 8 | Byte |
This is a bit mask to singal the presence in inventory of single combo items for puzzle items 5,6, 7, and 8 $01 = Combo Item 1 for puzzle 5 $02 = Combo Item 2 for puzzle 5 $04 = Combo Item 1 for puzzle 6 $08 = Combo Item 2 for puzzle 6 $10 = Combo Item 1 for puzzle 7 $20 = Combo Item 2 for puzzle 7 $40 = Combo item 1 for puzzle 8 $80 = Combo item 2 for puzzle 8 |
Inventory. Little Skin Bag | Byte |
Bit mask to signal the presence of Little Skin Bag and also the number of liter in it. 0 = Missing 1 = Present but empty 2 = Present one liter 4 = Present three liters |
Inventory. Mechanical Scarab | Byte |
This field is a mask bit to keep the presence of single pieces of mechanical scarab. 1= Full Mechanical Scarab (key + scarb already mounted) $02= In inventory is present the Winding Key $04 = In Inventory is present the mechanical scarab (unmounted) |
Inventory. Remaining usage of Mechanical Scarab | Short |
This field remember how much times has been used the mechanical scarab. When the value is 0 and lara uses another time the scarab it will explode. When the scarab is missing in inventory or they are only the single deattached pieces (scarab and key) the value is 0 When the mechanical scarab has been just completed the engine write in this field the value 3 Everytimes the scarab will be used this value will decreased by 1 |
Inventory. Examine Item 1 Examine Item 2 Examine Item 3 Puzzle Item 1 Puzzle Item 2 Puzzle Item 3 Puzzle Item 4 Puzzle Item 5 Puzzle Item 6 Puzzle Item 7 Puzzle Item 8 Puzzle Item 9 Puzzle Item 10 Puzzle Item 11 Puzzle Item 12 |
Byte |
For all these fields the value is simply the quantity. Zero means "missing" while other values indicates how much items of this type have been picked up by Lara |
Lara. Air for Lara | Short |
This is the quantity of air yet availble for lara. The max air (when the bar is full) is 1800, while when the value is 0 the HP bar (life level) will begin to decrease. |
Lara. Current Weapon | Short |
This field stores the current selected weapon, anyway this weapon it's not necessarily in the hand of lara. Pratically this field says to engine what weapon has to be extracted when player use the DRAW WEAPON command (space bar) 0 = Nothing 1 = Pistols 2 = Revolver 3 = UZI 4 = Shotgun 5 = Grenade-gun 6 = CrossBow |
Lara. Environment where lara is. | Short |
This field is very important, it signals in what environment is lara: water, underwater or ground. All procedures to manage lara will change drammatically in according with this value. 0 = Ground, but also climbing, monkey, jumping, falling 1 = Underwater 2 = Floating on the water 3 = Special: dozy, vehicle, hardcoded cutscenes 4 = Low water at ankles |
Lara. Hands. Attached Lara Status | Short |
This field describe the current action of lara about items in her hands. 1 = Special attachment: polerope, vheicle, edge wall 2 = She is taking an item (weapon,torch, flare) 3 = She is letting an item (weapon, torch, flare) 4 = She is holding in hand weapon or torch (but not flare) |
Lara. Hands. Item in the Hands of Lara (current) | Short |
It keeps the current item in the hands of lara, or 0 if no item is on her hands. The value in this field could have following values: 0 = Nothing 1 = Pistols 2 = Revolver 3 = UZI 4 = Shotgun 5 = Grenade-gun 6 = CrossBow 7 = flare 8 = torch Trick: if you write in this field the value 8 (=torch) and write in "Attached Lara Status" field the value 2 (=lara is throwing out item) a torch will be created in spite it was not present in lara's hands |
Lara. Hands. Item in the Hands of Lara (next) | Short | This field has same values of "Lara. Hands. Item in the Hands of Lara (Current)" field, but in this case this field stores the item that lara will take. |
Lara. Hands. Remaining time with lighted flare in the hand | Short |
This keeps a countdown in tick frames units (one second = 30 tick frames) starting when lara takes a lightning flag in her hand. When the countdown reaches zero (0) lara will throw out the off flare. The max value seems 900 or 1000, and it is the max durate of flare. |
Lara. Hands. Weapon in the hand | Short |
This field describe the weapon in the hand of lara. Remark: if lara holds an item different than weapon (flare, torch) in this field there will be 0 0 = Nothing 1 = Pistols 2 = Revolver 3 = UZI 4 = Shotgun 5 = Grenade-gun 6 = CrossBow |
Lara. Item Index of Lara | Short |
This is the index of lara Item memory. If you want perform operations on item memory of Lara you can read the value in this field and then copy it to "Item Index of Selected Item Memory". The value in this index is in tomb format, so it may be used immediatly but in could be different than the index you see in ngle program about lara. |
Lara. Poison1 | Short |
This field shows the quantity of poison in Lara. It will be used to set the level of deformation of screen, bigger values, bigger deformations. This fields has always the same value of Poison2, anyway if you place different values in a short time they will be newly the same. The poison of big scorpion is 2048 |
Lara. Poison2 | Short |
This field works togheter with Lara Poison1. It seems that this field was most important than Poison1 since if you place in this field a value different than zero, while you let 0 in Poison1 lara will be poisoned, but this doesn't happen if you do the opposite. |
Lara. Rope. Speed sliding on the rope | Short | Lara is on the rope and she is moving to accellerate the speed of swinging. |
Lara. Special Status of Lara | Byte |
This is a bit mask with flags to signal some status of Lara: $01 = Lara hols torch or flare (but no weapon) $04 = Lara is on ground vehicle (to verify) $08 = Lara is burning, is in dozy mode or she has been killed $10 = Lara is on all fours (to veriy) $20 = It has been performed a swapmesh on lara (to verify) $40 = Lara is in a sector with monky attribute |
Lara. Special2 Status of Lara | Byte |
Other status for lara: 0x04 = Lara is crouched down (to verify) 0x20 = Lara holds a burning torch (to verify) 0x40 = Lara holds a rope (to verify) |
Lara. Test. Climb sector Test | Short |
This field is not very useful. It says only if the sector where lara is, has on some wall a climb attribute, but it doesn't say what is this wall or if lara is closed to this wall. The only usage could be to remove the climb skill typing zero in this field but it's not sure that it will work since the engine will continue to update this field with the correct value. |
Lara. Test. Lara has a flare in her hand | Short | When lara is holding a flare this field has value = 1 |
Lara. Test. Lara is on rope | Short |
This field should contain the index of rope where lara is. If in this field there is -1 lara is NOT on the rope, while if the value is different than -1 she is on the rope and the value is the index of rope item used by lara |
Lara. Test. Lara is placing the weapon on the back | Short | When lara is removing her weapon and this weapon is one of these to place on back (shotgun, crossbow, grenade-gun) this field is 1 |
Lara. Test. Throw out item from the Hands | Short |
If lara is throwing out a torch or flare, or she is putting away the weapon. 1 = she is throwing away item |
Lara. Weapon on the back of Lara | Short |
This field contains the further weapon on the back of lara: crossbow, graneda-gun, crowbar ect. The value is a slot index, so for example if lara has on her back the crossbow in this field there will be the value 356 Remark: apparently this field could change also the presence of holsters in the lara's meshes but I've not had the time to study this matter. |
Statistics. Secrets Used MediPacks |
Byte | The quanity showed in statistics screen for Found Secrets and Used medipacks |
Statistics. Distance | Long |
This field stores the current distance convered by Lara from start of the adventure. The units used are so computed: one meter = 419 units of this value. |
Statistics. Killed Enemies | Short | This is the value showed in statistics screen about the number of killed enemies |
Statistics. Used Ammos | Short | This field correspond to used ammo of statistic screen |
System. Auto-Aiming for Enemy | Byte | I don't remember very well, but this field should have some information about the current enemy aimed by lara, or pheraps if the auto-aiming mode is enabled or less. (To verify) |
System. Core Game Timer | Long |
This field is not very useful. Theorically it should store the full time elapsed from start of the adventure but in the reality this is only the value get from last load game operation. This value will be updated only after last load/save game operation. If you want check the active version of the core game timer you should use the "Frame 3d Counter" in code memory, or the "TRNG Organizer Timer" in Savegame memory. |
System. Disable special keys | Short |
This is a weird field. When in this field there is the value = 15, the player will be not able to use inventory, pause, saving or loading savegame screens. |
System. Fog Bulb Color | Long | This is the color of fog bulbs in rgb format |
System. Index of enemy aimed by Lara | Long |
This is the index of enemy currently aimed by Lara, i.e. this is the current target of Lara's weapon If no enemy is aimed by lara this field should has the value -1 |
System. Number of current Level | Byte |
It is the number of current level, following the order in script.dat of [Level] section. The title is 0, while the first playable level is always 1. |
System. Screen Timer | Long |
This field is the same of screen time you saw in "Run for the iris" level It is in tickframes (one second = 30 tick frames). The engine will increase this value only when it is different than zero. When this field is different than zero the timer will be showed on screen, while if it is 0, the will timer will be hidden and this field will be ignored (no more increased) |
System. Unknown (Item chosen from Inventory?) | Long | This field has some link with the last item selected in inventory but if you want check for selection of inventory item I suggest to use the GT_USED_INVENTORY_ITEM global trigger. |
TRNG Index. Animation Index for Selected Animation Memory | Short |
This is the index used to locate the animation memory to check or modiy with flipeffect/conditions "variables. memory ... Selected Animation memory" You can change this value to choose the animation structure to check/modify |
TRNG Index. Index of found Item | Short |
This is the index of item found with some trng conditions, like TestPosition command or with GT_DISTANCE_FROM_ITEM globaltrigger. In TriggerGroup command you can force the usage of this indxe with the TGROUP_USE_FOUND_ITEM_INDEX flag, in this way the futher indices in action triggers present in the exported trigger, will be ignored and at their place will be used this index about last item found from trng functions. This index is very importat to perform an action trigger on some item with its index stored in some of your variables: just you copy the index in this "Found Index" field and then perform an exported trigger with the TGROUP_USE_FOUND_ITEM_INDEX flag. |
TRNG Index. Index of moveable performing last AnimComand | Short |
This is the index of moveable that owns the last AnimCommand performed. In triggergroup you can force the usage of this index with the TGROUP_USE_OWNER_ANIM_ITEM_INDEX flag. |
TRNG Index. Item Index for Selected Item Memory | Short |
This is the index used to choose what item structure modify with variable. memory flipeffect working on Selected Item Memory. Usually you'll use an action trigger to set what is the item memory to use, but if you want pass via variables this index you can type in this index the number of the wished item and in following flipeffect about Item Memory it will be read/written the memory of this wished item. |
TRNG Index. Slot Index for Selected Slot Memory | Short |
This is a trng index. When you perform operation about variables and Slot Memory, the trng engine uses this index to know what slot will be used. So you can write in this index the slot index about the slot memory you want check or modify. |
TRNG Organizer Timer | Long |
This is the timer used by trng to compute the Organizer command. This field will be always updated for each frame, indifferently if there are organizer or less. For this reason you can use it to detect how much time elapsed from some event. See "Tips & Tricks" chapter. Remark: this timer will be updated in game but it will stopped while we are in inventory or pause phase. |
Code Memory Description |
||
Field Name | Size | Field Description |
Audio Track Number on Channel 1 | Short |
This field works only when you are using bass.dll features. In this field you find the number of audio track is currently playing on channel1, or -1 if no audio track is playing. |
Audio Track Number on Channel 2 | Short | This field works like above but for channel 2 |
Camera Mode Now Camera Mode Next |
Long |
These fields containg an indication about the kind of camera, i.e. the camera mode. 0 = Follow me camera 1 = Fixed camera 2 = Look camera 3 = Combat camera |
Current Level number | Byte |
This field stores the current level number, where 0 is the title and 1 is the first playable level. Remark: this value is more update than "Level number" you find in savegame memory. |
Dash Bar Value | Short |
This is the value in the dash bar (with lara runs with rush). The max value is 120 |
Earthquake vertical movement | Long | When there is an earthquake effect in this field there is a negative values about the distance on y axis of vertical movements of the camview |
Frame 3d Counter | Long |
This field works like "Frame System Counter", the only difference is that this "Frame 3d Counter" will be stopped in pause mode. |
Frame System Counter. | Long |
This is the main counter in tick frame of the game. It works in savegame and pause mode, too. For above reason it's not a good choice about the signed time method described in "Tips & Tricks" section, since the time goes on also in inventory. |
Inventory Item required in game | Long |
In this field will be store temporary the slot number of inventory item required by some interative object like switch (asking a key), doors (asking a crowbor), jeep (asking the key for the jeep) ect. |
KeyBoard Game Command hit | Long |
This is a bit mask where each bit signal a game command enabled from player in this moment. You can test the values or (theorically) modify them using bit operations (set bit / clear bit) About the values they are in absolute value the same of KEY1_ and KEY2_ constants you find in [Reference] panel of NG_Center program. Remark: if you want test a KEY2_ value you have to add four zero "0000" at right to get the real absolute value. For example if you want verify if currently there is the: $4000 KEY2_DASH You should see this value like "$40000000" (added four "0" at right) And as bit number it will be: Bit 30 ($40000000 ; 1073741824) |
Music volume | Long |
In this field there is instensity of volume for audio tracks. The max value is 100. If you modify this field trng engine will change the volume but it'll work only if you are using bass.dll features |
Screen. Width game screen in pixel Height game screen in pixel |
Short |
In these fields there are the current screen size of tomb raider screen It's not very useful since it's not enough change this value to do modify the current resolution, anyway you could use it only to check if the screen is very little and to advise the player with a conditon trigger + print ng string to suggest to change the current video mode with setup program |
Script Dat. Level Flags | Short |
This is the bit mask with the flags from script.dat for current level. $0001 = YoungLara $0002 = Weather $0004 = Horizon $0008 = Layer1 $0010 = Layer2 $0020 = StarField $0040 = Lightning $0080 = Train $0100 = Pulse 0x0200 ColAddHorizon 0x0400 ResetHub 0x0800 LensFlare 0x1000 Timer 0x2000 Mirror 0x4000 RemoveAmulet 0x8000 NoLevel |
Script Dat. Option Flags | Byte |
This field is a mask bit to store some setting of script.dat file. You can read or change the single bits to your risk. $01 = FlyCheat enabled $02 = LoadSave enabled $04 = There is a Title level $08 = PlayAnyLevel enabled $80 = DemoDisk enabled |
Sound SFX volume | Long |
The volume for sound effect. Max value = 100 |
Speed Layer1 Speed Layer2 |
Byte |
These field host the values type in fourth field of Layer1 (or Layer2) script command. Range values: -16 +16 If you use negative values the movement of animation will be inverted |
Test. Disable Fog Bulbs | Byte |
This field permits to disable via software the fog bulbs. When this field = 1 the fog bulbs will be hidden in game |
Test. How entered in current game | Long |
In this field there are values to signal the way this game section has been started. I don't know all values, anyway 0 = New Level and 4= loaded from savegame. |
Test. There is a Flyby in progress | Long | When there is a flyby in progress this field is = 1, while is 0 if no flyby is in progress |
Slot Memory Description |
||
Field Name | Size | Field Description |
Explosion Mask. | Long | It is a mask bit: each bit could be a weapon able to do explode it. (to verify) |
First Animation Index | Short |
This is the absolute index of first animation used by current items. This field is important to compute the relative number of animation about an item. See also the "Animation Now" field of Item memory. |
First Mesh Index | Short |
This is the absolute number of first mesh of current moveable It should be used to get the relative mesh index of some mesh of the moveable. Currently this field is not useful |
Flags. Main flags | Short |
This is a bit mask to signal many features about current slot. $0001 = This slot is present (if 0 is missing in this level) $0002 = Creature. Item with AI features $0008 = The position of these items should be saved and restored in savegame $0010 = Unknown but pheraps it means "Moveable of ground" $0020 = Unknown but it could be "this item could be moved in the level" $0040 = Unknown but it could be "this item has collisions" $1000 = Sound effect on this item (if 0 then alway in main scene) $2000 = Creature resistant to light weapons (pistols, uzi) to verify |
FootStep | Short | Shadow below Lara or enemies (to verify how it works) |
HP. Max Vitality at start | Short |
In this field there is the default starting vitality for all items of current slot type. If the slot is not killable in this field could be $c000 value |
Number of Meshes | Short | This is the number of meshes of current moveable. |
Pointer for Collision Procedure | Long |
The collision procedure check for collision between current item and Lara. If you place 0 in this field all items with this slot will lose the collisions and lara will be able to across them |
Pointer for Draw Extra Procedure | Long |
Pointer of procedure to draw some extra optional of the item. It used for jeep and sidecar. |
Pointer for Emitter Procedure | Long | If the item is able to emit other items the code for this operation in this pointer. |
Pointer for Initialization Procedure | Long |
All moveable with this slot will be initialized by the procedure with address stored in this field. It's not useful change this field |
Pointer for Main Control Procedure | Long |
Address of Main Control procedure. The main controll procedure applies the AI, move the item, and perorm other "animated" features about current item type. If you place a 0 in this field all items with this slot will be frozen. Anyway if you want freeze some item it's better you use the Action trigger to freeze moveable. |
Pointer for Special Ceiling Procedure | Long | This procedure should handle the item about the ceiling but it's a bit misterious. |
Pointer for Special Floor Procedure | Long |
The pointer for a special procedure present only in seldom moveable. I presume it was to permit to lara to walk over these items but I'm not sure. |
Test Attack Lara | Short |
It could be a signal for moveable of enemy type, i.e. item should attack lara. (To verify) Value 1 = attack lara Value 0 = ignore lara |
Unknown1 | Short | Pheraps distance to enable the MIP version |
Unknown2 | Short | Usually it has value 50 |
Unknown3 | Short | It will be copied in Custom_B field of Item structure |
Unknown4 | Long | No idea about this |
Animation Memory DescriptionsRemark: In this table have been described only known or useful fields, while others have been ignored, anyway you can find all fields in Selected Animation Memory flipeffects |
||
Field Name | Size | Field Description |
First absolute Frame index | Short |
This field is the index of first frame used by this animation. You can use this field to discover the current relative frame number. See also the "Frame Now" field of Memory Item. |
Frame Rate | Byte | This field multiply the repeated frames, so when this number is bigger the animation will seem more slow. |
Frame Size | Byte |
This field indicates the bytes required by frames, anyway you can use this field only on read to discover if current animation is present or less. When the FrameSIze = 0 the animation is missing. |
Next Animation index | Short | This is the index of animation that will be performed at end this. |
Number of Animation Commands | Short |
If this animation contains AnimCommands, in this field there is the number of AnimCommands, otherwise it will be 0 |
Number of State Changes | Short |
In this field there is the number of State Change record for this animation. The State ranges are a bit complicated, they are used to choose the correct frame to pass between current animation and another animation with same state-id than Next State id field of moveable. |
Speed | Short | The speed should modify the current horizonal speed of moveable, anyway this field is very often 0. |
State Id | Short | When the animation will be performed this state id will be set for the moveable |
6859: Local Long Delta = %00000000000000000000000000100110 $26 ;not yet enabled
26078: Local Long Delta = %00000000000000000000000000100011 $23 ;enabled in game
67266: Local Long Delta = %00000000000000000000000000110011 $33 ;lara shots harpy
67297: Local Long Delta = %00000000000000000000000000100011 $23 ;nothing
67609: Local Long Delta = %00000000000000000000000000110011 $33 ;lara shots harpy
67641: Local Long Delta = %00000000000000000000000000101011 $2B ;harpy touches lara
67906: Local Long Delta = %00000000000000000000000000100011 $23 ;nothing
70078: Local Long Delta = %00000000000000000000000000000100 $4 ;harpy has been killed