Module Functions

This documentation is a repository for recognized plugin data types, built-in functions and global data in the Particle System Plugin’s Lua Scripting API.

Every currently implemented feature in the API is listed here. More data types, fields and functions may be added with new releases of the plugin, and this documentation will be updated accordingly.

Below are short summarizations of the plugin feature categories in the API.

Plugin Data Types

Plugin data types are special data types representing data entities within the plugin, which can be interfaced through Lua. Data type listings display:
  • the name of the data type
  • the description of the data type (what data it represents in the plugin)
  • the list of accessible fields (if any), along with their value types, descriptions, read-only statuses and default values

Calling Phases

Calling phases are specific operation phases during which certain procedures are carried out by the particle plugin. Some API functions must be called in specific phases and cannot be called in others. Functions called in the wrong phase will raise an ERROR message in the plugin logger.

The listing of calling phases displays the names of the phases and their descriptions (i.e. when they occur).

Built-in Functions

Built-in functions are predefined functions from the plugin’s API, that may be called in Lua scripts. Functions are grouped together by the area which they pertain to: plugin interface, particle manipulation, game interaction, TRNG interaction, random number generation, math operations. Function listings display:
  • the name of the function and order of parameters (what you write in the script)
  • the description of the function (what it does)
  • the permitted calling phases (when the function can be called)
  • the parameter / argument list (if any), along with expected value types
  • the returned values (if any)
  • the raised warnings or errors (if any)

For function parameters, a convention is used where parameters may be placed in square brackets: [param] – this indicates that the argument is optional and not necessary in the function call. Such a parameter may also be followed an equals sign and value: [param=value] – indicating the default value of the argument, if not explicitly used. Optional parameter indicators may be nested when there are multiple optional parameters e.g. function(foo[, bar=5[, baz]]) will indicate foo is a necessary parameter, while bar (with a default value of 5) and baz are both optional.

Built-in Globals

Built-in globals are special data objects that can be accessed anywhere in the Lua scripts. Globals listings display:
  • the name of the global (what you write in the script)
  • the list of accessible fields, along with their value types, read-only statuses and default values

Built-in Constants

Built-in constants serve an identical purpose to mnemonic constants in TRNG scripting, i.e. they replace hard to memorize numbers with text tags representing the value. Constants must be typed in ALL_CAPS to be correctly recognized by Lua.

Plugin data types

ColorRGB Data type representing a 24-bit (8-bit/8-bit/8-bit) RGB color.
Vector3D Data type representing a 3D (XYZ) Cartesian vector.
RotVector Data type comprised of a set of XYZ Euler angles for representing a 3D rotation.
ScaleVector Data type comprised of a set of XYZ scale values for representing a mesh scale.
NodeAttachment Data type representing the particle tethering settings of a particle group.
ParticleGroup Data type representing particle groups in the Particle System Plugin.
SpriteParticle Data type representing sprite particles in the Particle System Plugin.
MeshParticle Data type representing mesh particles in the Particle System Plugin.
ItemInfo Data type representing the moveable object infos exposed from the game.
StaticInfo Data type representing the static object infos exposed from the game.
ModuleContext Data type representing a module context object.
PerlinNoise Data type representing a deterministic pseudo-random noise generator.
SimplexNoise Data type representing a deterministic pseudo-random noise generator.

Calling phases

Phases Calling phases distinguished in the Particle System Plugin.

Plugin interface functions

bindFunction (function, index) Binds a Lua function to an integer index.
bindGroup (group, index) Binds an init function from a particle group to an integer index.
checkPartLimit (group) Checks whether the group.partLimit (if one was set) was reached or not.
createColor (r, g, b) Creates a new ColorRGB object.
createColorHSV (hue[, sat=1.0[, val=1.0]]) Creates a new ColorRGB object from Hue, Saturation and Value (HSV color model).
createVector (x, y, z) Creates a new Vector3D object.
createGroup (init, update) Creates a new ParticleGroup object with a given init and update function.
createSpritePart (group) Creates a new SpriteParticle instance of given particle group.
createMeshPart (group) Creates a new MeshParticle instance of given particle group.
createModule () Creates a new ModuleContext object in the scope of the current module script.
createPerlinNoise ([seed]) Creates a new PerlinNoise generator object.
createSimplexNoise ([seed]) Creates a new SimplexNoise generator object.
disableGroup (group) Disables the init function of a given particle group, preventing further triggering of particles.
enableGroup (group) Enables the init function of a given particle group, so its particles get auto-triggered in the game cycle.
invokeInit (group) Manually invokes (calls) the init function of specified particle group.
killParts (group) Kills all currently active particles of the given particle group.
print (value[, ...]) Outputs the listing of values to the plugin logger.
projectToScreen (pos) Projects the 3D world coordinates from a Vector3D object to 2D screen-space coordinates.
require (module) Imports the requested module Lua script from modulescripts folder.
screenCoords (x, y[, z]) Converts normalized screen coordinates to internal coordinates used by screen-space particles.
setLogLevel (logLevel) Sets the logging level (lowest permitted rank of log message in the plugin logger).

Particle functions

partAbsPos (part) Calculates the absolute position of the particle in world coordinates instead of relative coordinates.
partAnimate (part, start, end[, frameRate=1]) Animates the particle by cycling over part.spriteIndex (with SpriteParticle) or part.meshIndex (with MeshParticle).
partAttach (part, moveableIndex[, meshIndex]) Manually tethers the particle to a certain moveable and (optional) mesh.
partAvoidRoomGeometry (part, wallMargin, floorMargin, strength) Makes the particle become repelled from room geometry (walls, floors and ceilings).
partCollidedItem (part, index[, radius=1.0]) Tests if the particle collided with a specified moveable item.
partCollideFloors (part, rebound[, margin=0.0[, accurate=false]]) Tests if the particle collided with a floor or ceiling.
partCollideWalls (part, rebound) Tests if the particle collided with a wall.
partDetach (part) Manually releases the particle from its tethering moveable and mesh.
partFollow (part, target, maxSpeed, outerDist[, minDist=0.0]) Makes the particle follow a Vector3D target position.
partHoming (part, targetIndex, targetMesh, turnRate[, accel=0.0[, predict=false]]) Makes the particle home onto a moveable with targetIndex (behaving like a homing projectile).
partKill (part) Immediately kills (and deactivates) the particle instance.
partLimitSpeed (part, maxSpeed) Limits the maximum speed at which the particle can travel.
partWind (part, strength) Applies the in-game wind speed cumulatively to a particle’s velocity.
partAlignToVelocity (part[, turnRate=1.0[, invert=false]]) Rotates the particle to align with the current velocity part.vel.
partLookAtTarget (part, target[, turnRate=1.0[, invert=false]]) Rotates the particle to face an arbitrary Vector3D target.
meshShatter (part) Similarly to partKill function, kills the MeshParticle instance, also applying a 'shattering' effect on the mesh itself.

Game interaction functions

activateTriggers (x, y, z, room[, heavy=false[, flags]]) Activates levelmap triggers of the sector at coordinates (x, y, z, room).
burnLara () Sets Lara on fire.
findNearbyItems (pos, radius[, slots]) Finds moveable items nearby a certain position, within a given (spherical) radius.
getCeilingHeight (x, y, z, room) Calculates the ceiling height at coordinates (x, y, z, room).
getFloorHeight (x, y, z, room) Calculates the floor height at coordinates (x, y, z, room).
getFloorNormal (x, y, z, room) Calculates the unit normal vector of the floor surface at coordinates (x, y, z, room).
getGameTick () Gets the current game tick value measured since the current level was started.
getInput () Gets all game commands (like Up, Action, Jump, Walk) that are active at the current game tick.
getItemInfo (index) Gets the ItemInfo object for the moveable with given index.
getItemJointPosition (index, mesh, xOffset, yOffset, zOffset) Gets the absolute (world) position of a specified mesh joint of a given moveable.
getItemJointRotation (index, mesh) Gets the rotation of a specified mesh joint of a given moveable.
getItemJointPosRot (index, mesh, xOffset, yOffset, zOffset) Fused function that combines getItemJointPosition and getItemJointRotation.
getItemRoom (index) Gets the current room index of the given moveable.
getItemsBySlot (slot) Retrieves a table of moveable indices belonging to a specific slot in current level.
getLaraIndex () Gets Lara’s tomb4 moveable index.
getRoomFlags (room) Gets the special room flags (properties) of a given room.
getRoomIndex (mapID) Converts the levelmap room ID to the proper tomb4 room index.
getRoomStatics (room[, slots]) Retrieves a table of StaticInfo objects placed in a given room.
getStatic (staticID) Gets the StaticInfo object of a given NG static ID.
getTargetIndex () Gets the index of enemy currently aimed at by Lara.
getTombIndex (ngID) Converts the NG script ID of a moveable to the proper tomb4 moveable index.
getWaterDepth (x, y, z, room) Calculates the water depth at coordinates (x, y, z, room).
getWaterHeight (x, y, z, room) Calculates the water surface height at coordinates (x, y, z, room).
interval (interval[, delay=0]) Tests for the occurence of a specific game tick interval.
quenchLara () When Lara is on fire, will douse the flames and extinguish her instantly.
soundEffect (sfx[, pos=nil[, flags]]) Plays a specified sound effect.
testCollisionSpheres (itemIndex, pos, radius) An advanced function for probing collisions of a test sphere of given radius against the mesh spheres of a moveable.
testWall (x, y, z, room) Tests if there is a wall at coordinates (x, y, z, room)
triggerDynamicLight (x, y, z, intensity, red, green, blue) Triggers a dynamic light at the given (x, y, z) coordinates for one game tick.
triggerShockwave (x, y, z, innerRad, outerRad, speed, life, red, green, blue, xRot, flags) Triggers a shockwave effect at the given (x, y, z) coordinates.

TRNG interaction functions

getSelectedItem () Gets the tomb4 moveable index of the current Selected Item (for example, set by TRNG Action 54).
performTriggerGroup (id) Executes a TriggerGroup from the current level TRNG script.
setSelectedItem (index) Sets the tomb4 moveable index as the current Selected Item Index and Found Item Index.

Random number functions

randomFloat (min, max) Generates a random floating-point number value between [min, max].
randomInt (min, max) Generates a random integer number value between [min, max].
randomNegate (x) Returns the input x or its negative -x with a 50/50 chance.
randomSpherePoint (radius) Generates a random vector on a 3D sphere of a given radius, with a center at the origin (0, 0, 0).

Procedural noise functions

noise (gen, scale, x[, y[, z[, w]]]) Takes a noise generator object and produces a pseudo-random scalar noise output.
noiseCurl (gen, scale, x, y[, z]) Takes a noise generator object and produces a pseudo-random curl vector.
noiseCurlTime (gen, scale, time, x, y[, z]) Takes a noise generator object and produces a pseudo-random curl vector that modulates over time.

Math-related functions

abs (x) Calculates the absolute value of x (|x| ≥ 0 for any x).
acos (x) Calculates the inverse-cosine of input x.
asin (x) Calculates the inverse-sine of input x.
atan (x) Calculates the inverse-tangent of x.
atan2 (y, x) Calculates the two-component (y, x) inverse-tangent.
cbrt (x) Calculates the cubic root of x (∛x).
ceil (x) Calculates the ceiling of x (⌈x⌉).
clamp (x, min, max) Clamps the value of x to the range [min, max].
cos (x) Calculates the cosine of x.
degToRad (x) Converts value expressed in degrees to value expressed in radians.
distance (vec1, vec2) Calculates the Euclidean (shortest) distance between two Vector3D objects.
distCompare (vec1, vec2, dist) Compares the Euclidean (shortest) distance between two Vector3D objects against a given distance threshold.
exp (x) Calculates the exponential of x (ex).
floor (x) Calculates the floor of x (⌊x⌋).
fmod (x, y) Calculates the floating point remainder of x / y.
frac (x) Returns the fractional (decimal) part of x.
lerp (a, b, t) Linearly interpolates (blends) between the values [a, b] based on blending factor t in the range [0.0, 1.0].
lerpInverse (a, b, x) Calculates the linear blending factor t based on the source value x in-between the values [a, b].
log (x) Calculates the natural logarithm of x (logex).
max (first[, ...]) Finds and returns the maximum value out of a list of numbers.
mean (first[, ...]) Finds and returns the arithmetic mean (average) value out of a list of numbers.
min (first[, ...]) Finds and returns the minimum value out of a list of numbers.
radToDeg (x) Converts value expressed in radians to value expressed in degrees.
remap (x, oldMin, oldMax, newMin, newMax) Linearly remaps the value x from the original range [oldMin, oldMax] to the new range [newMin, newMax].
rotateVectorByAngles (vec, x, y, z) Rotates a Vector3D object by a set of Euler angles (x, y, z).
rotateVectorByAxisAngle (vec, axis, theta) Rotates a Vector3D object around an axis vector by the angle theta.
rotFromVector (vec) Creates a RotVector object from a Vector3D direction vector.
round (x) Rounds the floating-point number x to the nearest integer.
sin (x) Calculates the sine of x.
smoothStep (x) Calculates the SmoothStep of x (3x2 - 2x3; 0 ≤ x ≤ 1).
sphericalToCartesian (r, theta, phi) Converts a set of spherical coordinates (r, theta, phi) to Cartesian coordinates (x, y, z).
sqrt (x) Calculates the square root of x (√x).
tan (x) Calculates the tangent of x.
vectorCross (u, v) Calculates the cross product between the vectors u and v (u ⨯ v).
vectorDot (u, v) Calculates the dot (scalar) product between the vectors u and v (u v).
vectorLength (v) Calculates the length of vector v (|v|).
vectorNormalize (v) Calculates the normalized (unit) vector from vector v ( = v/|v|).
wrapAngle (x) Wraps the angle x to the range [, π].

Miscellaneous functions

hasAllFlags (checkedValue, testFlags) Tests for the occurence of all specified flags in a given integer value.
hasAnyFlags (checkedValue, testFlags) Tests for the occurence of any specified flags in a given integer value.

Built-in globals

Camera Global camera data fields.
Lara Global Lara moveable data.
TrngVars TRNG variables.

Built-in constants

BLEND Blending mode constants for group.blendMode field of ParticleGroup.
CAMERA Camera mode constants for Camera.cameraMode field of the Camera global.
DRAW Drawing mode constants for group.drawMode field of ParticleGroup.
INPUT Input flag constants.
LIGHT Lighting mode constants for group.lightMode field of ParticleGroup.
LOG Log level constants for setLogLevel.
MESH Mesh bit-flag constants.
NO_CUTOFF A special constant used for the group.attach.cutoff field of NodeAttachment.
PI Pi constants.
ROOM Room property flag constants.
TETHER Tether type constants, used for group.attach.tetherType field of NodeAttachment.
SHOCKWAVE Shockwave effect flag constants.
SLOT Moveable object slot constants.
STATICSLOT Static object slot constants.


Plugin data types

ColorRGB
Data type representing a 24-bit (8-bit/8-bit/8-bit) RGB color.

Fields:

  • r int the Red color component [0, 255] (default 0)
  • g int the Green color component [0, 255] (default 0)
  • b int the Blue color component [0, 255] (default 0)
Vector3D
Data type representing a 3D (XYZ) Cartesian vector. Not interchangable with RotVector or ScaleVector.

Fields:

  • x number the vector’s X coordinate (default 0.0)
  • y number the vector’s Y coordinate (default 0.0)
  • z number the vector’s Z coordinate (default 0.0)
RotVector
Data type comprised of a set of XYZ Euler angles for representing a 3D rotation. Not interchangable with Vector3D or ScaleVector.

Fields:

  • x number the X (pitch) angle (radians) [0, ] (default 0.0)
  • y number the Y (yaw) angle (radians) [0, ] (default 0.0)
  • z number the Z (roll) angle (radians) [0, ] (default 0.0)
ScaleVector
Data type comprised of a set of XYZ scale values for representing a mesh scale. Not interchangable with Vector3D or RotVector.

Fields:

  • x number the X scale (default 1.0)
  • y number the Y scale (default 1.0)
  • z number the Z scale (default 1.0)
NodeAttachment
Data type representing the particle tethering settings of a particle group.

Fields:

  • cutoff int the duration for the tethering (default 0; set NO_CUTOFF for indefinite tethering)
  • random int the randomization for the cutoff duration (default 0)
  • tetherType int the tethering type assigned for the group. See TETHER constants for list of accepted values (default TETHER_ROTATING)
ParticleGroup
Data type representing particle groups in the Particle System Plugin. Particle groups allow to define a new type of particle for a custom particle effect. Particle group fields can only be set in the module calling phase.

Fields:

  • attach NodeAttachment the particle tethering settings for the group
  • autoTrigger bool the auto-triggering setting for the group init function (default true)
  • blendMode int the blending mode of the group. Applies only to sprite particles. See BLEND constants for list of accepted values (default BLEND_COLORADD)
  • drawMode int the drawing mode of the group. Applies only to sprite particles. See DRAW constants for list of accepted values (default DRAW_SPRITE)
  • ignorePerspective bool if set to true, will ignore perspective (depth) scaling when drawing sprite particles (default false)
  • immortal bool the immortality setting of the group particles (default false)
  • lightMode int the lighting mode of the group. Applies only to sprite particles. See LIGHT constants for list of accepted values (default LIGHT_STATIC)
  • partCount int the current count of active particles for the group (read-only)
  • partLimit int the particle count limit setting for the group. When set to a positive integer value, only that amount of particles may be active (default 0 i.e. no limit)
  • saved bool the setting for savegame persistence of the group particles (default false)
  • screenSpace bool if set to true, makes the particles exist in screen-space. Applies only to sprite particles (default false)
  • spriteSlot int the sprite texture slot used by sprite particles (default SLOT_DEFAULT_SPRITES; also accepts SLOT_MISC_SPRITES and SLOT_CUSTOM_SPRITES)
SpriteParticle
Data type representing sprite particles in the Particle System Plugin.

Fields:

  • accel Vector3D the acceleration vector
  • data table the extra data table of the particle (bool, int, number or nil values accepted)
  • emitterIndex int the tomb4 moveable index of emitter / tethering moveable or -1 (default -1)
  • emitterNode int the mesh index of the emitting node or -1; must be set after setting emitterIndex (default -1)
  • lifeCounter int the life counter, counting down the life span of the particle [0, 32767] (default 0)
  • lifeSpan int the total life span of the particle [0, 32767] (default 0)
  • pos Vector3D the position vector
  • roomIndex int the tomb4 room index of the particle; needed if the particle uses collision functions (default 0)
  • t number the t-parameter value between [0.0, 1.0] (read-only)
  • vel Vector3D the velocity vector

    Sprite-specific fields:

  • colCust ColorRGB the current color of particle
  • colStart ColorRGB the starting color of particle
  • colEnd ColorRGB the ending color of particle
  • fadeIn int the fade-in duration of the particle [0, 32767] (default 0)
  • fadeOut int the fade-out duration of the particle [0, 32767] (default 0)
  • rot number the 2D billboard rotation in radians [0, ] (default 0.0)
  • rotVel number the 2D billboard angular velocity in radians-per-tick [0, ] (default 0.0)
  • rot3D RotVector the 3D quad rotation (when using DRAW_SPRITE3D, see DRAW constants)
  • rotVel3D RotVector the 3D quad angular velocity (when using DRAW_SPRITE3D, see DRAW constants)
  • sizeCust int the current size of the particle [0, 65535] (default 0)
  • sizeStart int the starting size of the particle [0, 65535] (default 0)
  • sizeEnd int the ending size of the particle [0, 65535] (default 0)
  • sizeRatio number the width/height ratio of the particle [-1.0, 1.0] (default 0.0 – equal width and height)
  • spriteIndex int the sprite texture index (from the sprite slot assigned to the group) (default 0)
MeshParticle
Data type representing mesh particles in the Particle System Plugin.

Fields:

  • accel Vector3D the acceleration vector
  • data table the extra data table of the particle (bool, int, number or nil values accepted)
  • emitterIndex int the tomb4 moveable index of emitter / tethering moveable or -1 (default -1)
  • emitterNode int the mesh index of the emitting node or -1; must be set after setting emitterIndex (default -1)
  • lifeCounter int the life counter, counting down the life span of the particle [0, 32767] (default 0)
  • lifeSpan int the total life span of the particle [0, 32767] (default 0)
  • pos Vector3D the position vector
  • roomIndex int the tomb4 room index of the particle; needed if the particle uses collision functions (default 0)
  • t number the t-parameter value between [0.0, 1.0] (read-only)
  • vel Vector3D the velocity vector

    Mesh-specific fields:

  • object int the moveable slot to take source meshes from. See SLOT constants for moveables (default SLOT_LARA)
  • meshIndex int the index of the source mesh to use for the mesh particle appearance; must be set after setting object (default 0)
  • rot RotVector the 3D mesh rotation
  • rotVel RotVector the 3D mesh angular velocity
  • scale ScaleVector the XYZ scale of the mesh
  • transparency int the alpha transparency of the mesh, 0 is fully opaque and 255 fully transparent (default 0)
  • tint ColorRGB the tint of the mesh (applied only if source mesh is set to static lighting)
ItemInfo
Data type representing the moveable object infos exposed from the game. Can be obtained with getItemInfo.

Fields:

  • afterDeath int the transparency / vanishing effect applied to dead enemies. Increments from 0 and after reaching 128 is completely vanished (read-only)
  • animNumber int the current animation number of the moveable
  • frameNumber int the frame number relative to current item.animNumber, beginning from frame 0
  • currentAnimState int the current anim state number of the moveable
  • data table the extra data table of the moveable which is saved in savegames (bool, int, number or nil values accepted)
  • goalAnimState int the goal anim state number of the moveable
  • speed int the horizontal speed of the moveable
  • fallSpeed int the vertical speed of the moveable (note: certain moveables use it in special ways)
  • floorDistance int the distance to the floor (read-only, only used in certain moveable objects)
  • hitPoints int the hit points (health) of the moveable (only some moveables use it)
  • hitPointsMax int the total number of hit points in the given moveable slot (read-only)
  • hitStatus bool flag that informs if moveable was shot/hit at the current tick (e.g. by Lara’s guns); true if moveable was hit, false otherwise (read-only)
  • intelligent bool flag that informs if the moveable uses AI for navigation; true if it does, false otherwise (read-only)
  • itemFlag1 int a numeric field used for miscellaneous purposes in certain moveables
  • itemFlag2 int a numeric field used for miscellaneous purposes in certain moveables
  • itemFlag3 int a numeric field used for miscellaneous purposes in certain moveables
  • itemFlag4 int a numeric field used for miscellaneous purposes in certain moveables
  • lookedAt bool flag that informs if the moveable is focused on by the camera as a target; true if it is, false otherwise (read-only)
  • meshBits int the visibility flags of meshes (see MESH bit-flags) in the moveable (read-only)
  • meshCount int the total number of meshes in the moveable, the highest mesh index always equals item.meshCount - 1 (read-only)
  • ocbNumber int the OCB number set for the moveable (note: OCBs set in the editor don’t always persist, some may reset or change after loading the level)
  • poisoned bool flag that informs if the moveable was poisoned with crossbow poison ammo; true if poisoned, false otherwise (read-only)
  • pos Vector3D the XYZ coordinates of the moveable
  • roomIndex int the tomb4 room index of the moveable (read-only)
  • rot RotVector the XYZ rotation angles of the moveable
  • slot int the moveable slot number – numeric index corresponding to one of the SLOT constants (read-only)
  • tombIndex int the tomb4 index of the moveable (read-only)
  • triggered bool the activation / triggering status of the moveable (read-only):
    • true – if moveable is triggered and currently active
    • false – if moveable is untriggered, dead or inactive
  • timer int the timer field value for given moveable e.g. used for timed triggers (read-only)
  • undead bool flag that informs if the moveable is an undead enemy (e.g. Mummy, Skeleton, Horseman, Demigod); true if it is, false otherwise (read-only)
  • waterCreature bool flag that informs if the moveable is a water-dwelling creature (e.g. Crocodile, Hammerhead); true if it is, false otherwise (read-only)
StaticInfo
Data type representing the static object infos exposed from the game. A single StaticInfo object is returned by getStatic, while getRoomStatics returns a table of StaticInfo objects in the given room. All static object data is read-only, it cannot be modified through Lua.

Fields:

  • ocbFlags int the OCB / flags of the static (read-only)
  • pos Vector3D the XYZ coordinates of the static (read-only)
  • rot RotVector the rotation of the static (only Y rotation is used for statics, read-only)
  • slot int the static slot number of the static; numeric index corresponding to one of the STATICSLOT constants (read-only)
  • tint ColorRGB the color-tint of the static (read-only)
ModuleContext
Data type representing a module context object. Created through createModule function. Module contexts are needed to give modules customizable parameters and a save-state. Only one context object is allowed per module file. This context object is then returned when importing a module with require.

Fields:

  • data table the saved data table of the module which persists in savegames (bool, int, number or nil values accepted)
  • groups table the particle groups table of the module (only ParticleGroup values accepted)
  • params table the customizable parameters; settable in level scripts after importing the module (bool, int, number or string values accepted)
PerlinNoise
Data type representing a deterministic pseudo-random noise generator. An implementation of Ken Perlin’s original noise algorithm. Created with createPerlinNoise. Used in procedural noise functions.

See also:

SimplexNoise
Data type representing a deterministic pseudo-random noise generator. An implementation of Ken Perlin’s simplex noise algorithm. Created with createSimplexNoise. Used in procedural noise functions.

See also:

Calling phases

Phases
Calling phases distinguished in the Particle System Plugin. The plugin has certain operation phases during its runtime (for example, reading a level script, reading a module script, executing init functions of particle groups, executing update functions for specific particles). Some built-in API functions can be called in any operation phase, while others can be called only in specific phases. Function listings further down will specify in which phases the given function may be called, specifying one or more of the below phases.

Calling phase types:

  • levelscript – the level script reading / parsing phase (performed when loading Lua level scripts of a new level)
  • module – the module script reading / parsing phase (performed when a module script is imported with require)
  • init – the phase during which the plugin executes the init functions of particle groups
  • update – the phase during which the plugin executes the update functions for individual particle instances
  • bind – a special phase that is commenced when an index-bound Lua function is executed by Flipeffect 1 of the Particle System Plugin
  • any – not a distinct phase, but a specification that the function can be called in every phase

Plugin interface functions

bindFunction (function, index)
Binds a Lua function to an integer index. The bound function can then be executed with Flipeffect 1 from the Plugin_ParticleSystem plugin triggers. The bound Lua function must (strictly) not take any arguments and should not return any values.

Calling phase types:

    levelscript, module

Parameters:

  • function func the Lua function to bind to an index
  • index int the integer index to which the function shall be bound; acceptable indices are in the range [1, 1024]

Raises:

ERROR: if the same index was already used for another bound function
bindGroup (group, index)
Binds an init function from a particle group to an integer index. Can be used as a shortcut to bindFunction if the group is not auto-triggered (the bound init function can be executed with Flipeffect 1). Will result in an ERROR with auto-triggered groups, in such case you must bind the init function explicitly via bindFunction.

Calling phase types:

    levelscript, module

Parameters:

  • group ParticleGroup the group of which the init function shall be bound, the group must have group.autoTrigger = false
  • index int the integer index to which the init function shall be bound; acceptable indices are in the range [1, 1024]

Raises:

ERROR: raised when:
  • the same index was already used for another bound function
  • group.autoTrigger = true (i.e. the default particle group setting is used)
checkPartLimit (group)
Checks whether the group.partLimit (if one was set) was reached or not. Used for managing particle effects with limited spawn counts, to prevent further attempts of spawning extra particles beyond the limit (which may result in script errors).

Calling phase types:

    any

Parameters:

Returns:

    bool returns:
    • true – if limit not reached yet (or group.partLimit not set for group)
    • false – if limit was reached, i.e. group.partCount == group.partLimit
createColor (r, g, b)
Creates a new ColorRGB object.

Calling phase types:

    any

Parameters:

  • r int the Red value [0, 255]
  • g int the Green value [0, 255]
  • b int the Blue value [0, 255]

Returns:

    ColorRGB the ColorRGB object
createColorHSV (hue[, sat=1.0[, val=1.0]])
Creates a new ColorRGB object from Hue, Saturation and Value (HSV color model).

Calling phase types:

    any

Parameters:

  • hue number the Hue value [0.0, 360.0]
  • sat number the Saturation value [0.0, 1.0] (default 1.0)
  • val number the Value (intensity) value [0.0, 1.0] (default 1.0)

Returns:

    ColorRGB the ColorRGB object
createVector (x, y, z)
Creates a new Vector3D object.

Calling phase types:

    any

Parameters:

  • x number the vector’s X component
  • y number the vector’s Y component
  • z number the vector’s Z component

Returns:

    Vector3D the Vector3D object
createGroup (init, update)
Creates a new ParticleGroup object with a given init and update function.

Calling phase types:

    module

Parameters:

  • init optional func the initialization function to be used by the group or nil if no init function desired
  • update optional func the update function to be used by the group or nil if no update function desired

Returns:

    ParticleGroup the particle group object
createSpritePart (group)
Creates a new SpriteParticle instance of given particle group.

Calling phase types:

    init, update

Parameters:

  • group ParticleGroup the particle group the new particle belongs to

Returns:

    optional SpriteParticle the sprite particle object or nil if group.partLimit is reached

Raises:

WARN: if group.partLimit was set and the limit was exceeded
createMeshPart (group)
Creates a new MeshParticle instance of given particle group.

Calling phase types:

    init, update

Parameters:

  • group ParticleGroup the particle group the new particle belongs to

Returns:

    optional MeshParticle the mesh particle object or nil if group.partLimit is reached

Raises:

WARN: if group.partLimit was set and the limit was exceeded
createModule ()
Creates a new ModuleContext object in the scope of the current module script. Only one module context may exist per module file. If created, this context object is returned when importing a module with require.

Calling phase types:

    module

Returns:

    ModuleContext the module context object. Parameters, saveable data and particle groups can be added to its designated tables within the module script

Raises:

ERROR: if module context object was already created in the scope of current module
createPerlinNoise ([seed])
Creates a new PerlinNoise generator object. This object can then be used in procedural noise functions.

Calling phase types:

    module

Parameters:

  • seed int the seed value for initializing the noise generator (optional)

Returns:

    PerlinNoise the PerlinNoise generator object

See also:

createSimplexNoise ([seed])
Creates a new SimplexNoise generator object. This object can then be used in procedural noise functions.

Calling phase types:

    module

Parameters:

  • seed int the seed value for initializing the noise generator (optional)

Returns:

    SimplexNoise the SimplexNoise generator object

See also:

disableGroup (group)
Disables the init function of a given particle group, preventing further triggering of particles. This function can be used to dynamically deactivate a group in an init or update function (it is not possible to set group.autoTrigger values outside of the module calling phase).

Calling phase types:

    any

Parameters:

  • group ParticleGroup the group of which to disable the init function
enableGroup (group)
Enables the init function of a given particle group, so its particles get auto-triggered in the game cycle. This function can be used to dynamically (re)activate a group in an init or update function (it is not possible to set group.autoTrigger values outside of the module calling phase).

Calling phase types:

    any

Parameters:

  • group ParticleGroup the group of which to enable the init function
invokeInit (group)
Manually invokes (calls) the init function of specified particle group. Can be used for groups with group.autoTrigger set to false (or in the disabled status), to manually trigger the init function call.

Calling phase types:

    bind, init, update

Parameters:

  • group ParticleGroup the group of which to manually invoke (call) the init function
killParts (group)
Kills all currently active particles of the given particle group. Can be used to kill particles in immortal groups (group.immortal = true). Will reset the group.partCount to 0.

Calling phase types:

    init, update

Parameters:

  • group ParticleGroup the group of which to kill (clear) all active particles.
print (value[, ...])
projectToScreen (pos)
Projects the 3D world coordinates from a Vector3D object to 2D screen-space coordinates. Can be used for tracking screen positions of in-game objects for screen-space effects.

Calling phase types:

    any

Parameters:

  • pos Vector3D the 3D world coordinates to project to the camera / screen

Returns:

    optional Vector3D the 2D screen coordinates if the 3D point is visible to the camera; nil if the point is not visible (out of the camera frame)
require (module)
Imports the requested module Lua script from modulescripts folder. The modulescripts folder should be present in the working directory of the TRLE project.

Calling phase types:

    levelscript

Parameters:

  • module string the name of the module file to import, in quotes, without the .lua extension (e.g. snow.lua"snow")

Returns:

    optional ModuleContext the module context object associated with the module script (if not present, returns nil).

Raises:

ERROR: if the requested module is not found in the modulescripts folder (or the folder is missing).
screenCoords (x, y[, z])
Converts normalized screen coordinates to internal coordinates used by screen-space particles. Top-left corner of the screen is (x: 0.0, y: 0.0), bottom-right corner is (x: 1.0, y: 1.0). The optional z argument controls the Z-depth index.

Calling phase types:

    any

Parameters:

  • x number the normalized screen coordinate on the horizontal X axis
  • y number the normalized screen coordinate on the vertical Y axis
  • z number the Z-depth coordinate (optional)

Returns:

    Vector3D the internal (converted) representation of screen-space coordinates
setLogLevel (logLevel)
Sets the logging level (lowest permitted rank of log message in the plugin logger).

Calling phase types:

    levelscript

Parameters:

  • logLevel int the desired LOG_ constant to set (see LOG constants).

Particle functions

partAbsPos (part)
Calculates the absolute position of the particle in world coordinates instead of relative coordinates. If the particle is not tethered to any moveable, returns a vector identical to part.pos.

Calling phase types:

    init, update

Parameters:

Returns:

    Vector3D the absolute position of the particle
partAnimate (part, start, end[, frameRate=1])
Animates the particle by cycling over part.spriteIndex (with SpriteParticle) or part.meshIndex (with MeshParticle).

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • start int the start of the animation range
  • end int the end of the animation range
  • frameRate int the framerate; if positive it means the number of ticks for one animation “frame”; if negative, it means the number of animation cycles (loops) to complete in the particle lifespan (default 1)
partAttach (part, moveableIndex[, meshIndex])
Manually tethers the particle to a certain moveable and (optional) mesh. Sets the part.emitterIndex and optional part.emitterNode. The particle will have its current in-game position part.pos recalculated as relative offsets to the tethering moveable.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • moveableIndex int the tomb4 moveable index to attach to (use getTombIndex to convert NG IDs)
  • meshIndex int the mesh node to attach to (optional)

Raises:

ERROR: if moveable with given index is not found
partAvoidRoomGeometry (part, wallMargin, floorMargin, strength)
Makes the particle become repelled from room geometry (walls, floors and ceilings). Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • wallMargin int the margin from which to repel particle away from walls
  • floorMargin int the margin from which to repel particle away from floors and ceilings
  • strength number the strength of the repulsion force
partCollidedItem (part, index[, radius=1.0])
Tests if the particle collided with a specified moveable item. The collision will be tested within a given radius around the particle. This is a simple, fast collision check against the moveable’s bounding box, sufficient for most purposes. See testCollisionSpheres for a more sophisticated collision detection. Not applicable to screen-space particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
  • radius number the spherical radius around the particle to test against the bounding box (default 1.0)

Returns:

    bool returns:
    • true – if collision with moveable occured
    • false – otherwise

Raises:

ERROR: if moveable with given index is not found
partCollideFloors (part, rebound[, margin=0.0[, accurate=false]])
Tests if the particle collided with a floor or ceiling. If a collision occured, the particle will be reflected / bounced off the surface. Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • rebound number the rebound factor (bounciness) [0.0, 1.0]
  • margin number the margin of collision, or the 'radius' of the particle (default 0.0)
  • accurate bool if true the collision is geometrically correct, respecting slope inclinations (if false, inclination is disregarded) (default false)

Returns:

    bool returns:
    • true – if collision with surface occured (particle is reflected)
    • false – otherwise
partCollideWalls (part, rebound)
Tests if the particle collided with a wall. If a collision occured, the particle will be reflected / bounced off the surface. Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

Returns:

    bool returns:
    • true – if collision with surface occured (particle is reflected)
    • false – otherwise
partDetach (part)
Manually releases the particle from its tethering moveable and mesh. Resets the part.emitterIndex and part.emitterNode to default. The particle will have its relative offsets in part.pos recalculated as global coordinates. Works even when tethering is indefinite (group.attach.cutoff = NO_CUTOFF).

Calling phase types:

    init, update

Parameters:

partFollow (part, target, maxSpeed, outerDist[, minDist=0.0])
Makes the particle follow a Vector3D target position. If the particle is farther away than the outerDist, it will approach the target at maxSpeed. Between outerDist and minDist is a buffer zone, where the particle will slow down. At minDist, the particle stops following the target. Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • target Vector3D the target position to follow
  • maxSpeed number the maximum speed with which the particle will follow the target
  • outerDist number the first distance threshold (where particle starts to slow down)
  • minDist number the distance at which the particle stops moving (default 0.0)
partHoming (part, targetIndex, targetMesh, turnRate[, accel=0.0[, predict=false]])
Makes the particle home onto a moveable with targetIndex (behaving like a homing projectile). The targetIndex and targetMesh specify the target to the particle. The turnRate works as a percentage by which to correct the alignment towards the target, higher values will correct the direction faster, while lower will make the correction slower (recommended values between 0.02 – 0.2). The accel value will accelerate the particle by the specifed amount on each tick. The predict boolean works with targets in motion (e.g. enemies, Lara), to anticipate where the target will be in the future. Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • targetIndex int the tomb4 moveable index of the target moveable (use getTombIndex to convert NG IDs)
  • targetMesh int or nil the targeted mesh or nil for no mesh
  • turnRate number percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [0.0, 1.0]
  • accel number the speed increase of particle per tick (default 0.0)
  • predict bool if set to true, predicts the future position of moving targets (default false)

Raises:

ERROR: if moveable with given index is not found
partKill (part)
Immediately kills (and deactivates) the particle instance. Use this function to manually kill particles in init or update functions (do not set part.lifeCounter to 0 explicitly). Can be used to kill particles in immortal groups (group.immortal = true). Decreases group.partCount by 1.

Calling phase types:

    init, update

Parameters:

partLimitSpeed (part, maxSpeed)
Limits the maximum speed at which the particle can travel. Useful to prevent excessive speed accumulation (e.g. when velocity is accumulated via acceleration or otherwise).

Calling phase types:

    init, update

Parameters:

partWind (part, strength)
Applies the in-game wind speed cumulatively to a particle’s velocity. The particle gets pushed around by the wind effect in outside rooms. Wind influence is controlled by strength parameter, as a percentage (0.0 – no influence; 1.0 – 100% influence). Only works in outside rooms (ROOM_OUTSIDE), where wind effects are active. Not applicable to screen-space particles or tethered particles.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • strength number the influence the wind has over the particle; range [0.0, 1.0]
partAlignToVelocity (part[, turnRate=1.0[, invert=false]])
Rotates the particle to align with the current velocity part.vel. In other words, makes the mesh or sprite (in DRAW_SPRITE3D mode) face the direction in which it is moving. The orientation of the particle is interpolated on the X and Y axis. The turnRate parameter can be used to prevent abrupt, jerky turns. The invert boolean works only on mesh particles: if the mesh normally appears turned backwards to how it should actually face, it flips it over.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • turnRate number percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [0.0, 1.0] (default 1.0)
  • invert bool if set to true, facing for the mesh will be inverted (default false)
partLookAtTarget (part, target[, turnRate=1.0[, invert=false]])
Rotates the particle to face an arbitrary Vector3D target. In other words, makes the mesh or sprite (in DRAW_SPRITE3D mode) turn towards the specified position. The orientation of the particle is interpolated on the X and Y axis. The turnRate parameter can be specified to prevent abrupt, jerky turns. The invert boolean works only on mesh particles: if the mesh normally appears turned backwards to how it should actually face, it flips it over.

Calling phase types:

    init, update

Parameters:

  • part SpriteParticle or MeshParticle the particle instance
  • target Vector3D the target to which the particle shall turn
  • turnRate number percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [0.0, 1.0] (default 1.0)
  • invert bool if set to true, facing for the mesh will be inverted (default false)
meshShatter (part)
Similarly to partKill function, kills the MeshParticle instance, also applying a 'shattering' effect on the mesh itself. This effect cannot be used with sprite particles.

Calling phase types:

    init, update

Parameters:

Raises:

ERROR: if part is a SpriteParticle

Game interaction functions

activateTriggers (x, y, z, room[, heavy=false[, flags]])
Activates levelmap triggers of the sector at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)
  • heavy bool activates 'heavy' triggers if true (default false)
  • flags int additional trigger flags (optional)
burnLara ()
Sets Lara on fire. Identical result to triggering TRNG Flipeffect F63 with 'Burning and decrease vitality' timer option.

Calling phase types:

    any
findNearbyItems (pos, radius[, slots])
Finds moveable items nearby a certain position, within a given (spherical) radius. An optional table of slot numbers / SLOT constants can be provided to limit the search to only those slots, otherwise finds any moveables.

Calling phase types:

    any

Parameters:

  • pos Vector3D the position to start searching from
  • radius number the maximum search radius (in units) from pos
  • slots {int,...} table of slot indices / SLOT constants (optional)

Returns:

    {int,...} table list of tomb4 indices of moveables within the radius (empty if none found)
getCeilingHeight (x, y, z, room)
Calculates the ceiling height at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    optional int the ceiling height at the given coordinates; nil if sector is a wall
getFloorHeight (x, y, z, room)
Calculates the floor height at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    optional int the floor height at the given coordinates; nil if sector is a wall
getFloorNormal (x, y, z, room)
Calculates the unit normal vector of the floor surface at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    optional Vector3D the normal vector at the given coordinates; nil if sector is a wall
getGameTick ()
Gets the current game tick value measured since the current level was started. 30 ticks = 1 real-time second.

Calling phase types:

    any

Returns:

    int the game tick value
getInput ()
Gets all game commands (like Up, Action, Jump, Walk) that are active at the current game tick. Test the commands with hasAllFlags or hasAnyFlags and INPUT flags.

Calling phase types:

    any

Returns:

    int the game command flags active for current tick
getItemInfo (index)
Gets the ItemInfo object for the moveable with given index.

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)

Returns:

    ItemInfo the associated ItemInfo object

Raises:

ERROR: if moveable with given index is not found
getItemJointPosition (index, mesh, xOffset, yOffset, zOffset)
Gets the absolute (world) position of a specified mesh joint of a given moveable.

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
  • mesh int the mesh/joint index
  • xOffset optional int the X positional offset (rotates with the joint)
  • yOffset optional int the Y positional offset (rotates with the joint)
  • zOffset optional int the Z positional offset (rotates with the joint)

Returns:

    Vector3D the position vector of the joint

Raises:

ERROR: if moveable with given index is not found
getItemJointRotation (index, mesh)
Gets the rotation of a specified mesh joint of a given moveable.

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
  • mesh int the mesh/joint index

Returns:

    RotVector the rotation vector of the joint

Raises:

ERROR: if moveable with given index is not found
getItemJointPosRot (index, mesh, xOffset, yOffset, zOffset)
Fused function that combines getItemJointPosition and getItemJointRotation. Slightly faster than calling these functions individually, if you need both. Returns the position and rotation as two separate values, e.g. pos, rot = getItemJointPosRot(index, mesh)

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
  • mesh int the mesh/joint index
  • xOffset optional int the X positional offset (rotates with the joint)
  • yOffset optional int the Y positional offset (rotates with the joint)
  • zOffset optional int the Z positional offset (rotates with the joint)

Returns:

  1. Vector3D the position vector of the joint
  2. RotVector the rotation vector of the joint

Raises:

ERROR: if moveable with given index is not found
getItemRoom (index)
Gets the current room index of the given moveable.

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)

Returns:

    int the moveable’s room index (tomb4 room index)

Raises:

ERROR: if moveable with given index is not found
getItemsBySlot (slot)
Retrieves a table of moveable indices belonging to a specific slot in current level.

Calling phase types:

    any

Parameters:

  • slot int the slot index / SLOT constant

Returns:

    {int,...} table list of tomb4 moveable indices (empty if no moveable from given slot exists)
getLaraIndex ()
Gets Lara’s tomb4 moveable index.

Calling phase types:

    any

Returns:

    int tomb4 index of Lara
getRoomFlags (room)
Gets the special room flags (properties) of a given room.

Calling phase types:

    any

Parameters:

  • room int the tomb4 room index

Returns:

    int bit-flags of the room properties (see ROOM flags). Flags can be tested with hasAllFlags or hasAnyFlags.
getRoomIndex (mapID)
Converts the levelmap room ID to the proper tomb4 room index. Use this function to convert editor room IDs when a tomb4 room index is expected.

Calling phase types:

    any

Parameters:

  • mapID int the levelmap room ID

Returns:

    int tomb4 room index of room
getRoomStatics (room[, slots])
Retrieves a table of StaticInfo objects placed in a given room. An optional table of specific static slots can be provided to narrow down the kinds of statics, otherwise all statics will be gathered.

Calling phase types:

    any

Parameters:

  • room int the tomb4 room index
  • slots {int,...} table of static slot indices / STATICSLOT constants (optional)

Returns:

    {StaticInfo,...} table list of StaticInfo objects (empty if no statics in the room or none matching criteria)
getStatic (staticID)
Gets the StaticInfo object of a given NG static ID.

Calling phase types:

    any

Parameters:

  • staticID int the levelmap static object ID

Returns:

    StaticInfo the associated StaticInfo object

Raises:

ERROR: if static with given NG ID is not found
getTargetIndex ()
Gets the index of enemy currently aimed at by Lara.

Calling phase types:

    any

Returns:

    optional int tomb4 moveable index of aimed enemy; nil if no enemy is targeted
getTombIndex (ngID)
Converts the NG script ID of a moveable to the proper tomb4 moveable index. Use this function to convert level editor IDs when a tomb4 moveable index is expected.

Calling phase types:

    any

Parameters:

  • ngID int the levelmap moveable object ID

Returns:

    int the tomb4 moveable index

Raises:

ERROR: if moveable with given NG ID is not found
getWaterDepth (x, y, z, room)
Calculates the water depth at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    optional int the water depth at the given coordinates; nil if sector is a wall
getWaterHeight (x, y, z, room)
Calculates the water surface height at coordinates (x, y, z, room).

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    optional int the water surface height at the given coordinates; nil if no water room or sector is a wall
interval (interval[, delay=0])
Tests for the occurence of a specific game tick interval. For example, to activate something once every 10 ticks, you use interval(10). The delay parameter allows to offset the interval by a certain amount of ticks.

Calling phase types:

    any

Parameters:

  • interval int the tick interval to evaluate (must be greater or equal to 1)
  • delay int the delay of the interval; in the range [0, interval-1] (default 0)

Returns:

    bool returns:
    • true – if the current game tick is on the interval
    • false – otherwise

Raises:

ERROR: if interval is less than 1
quenchLara ()
When Lara is on fire, will douse the flames and extinguish her instantly. No effect if Lara is not burning.

Calling phase types:

    any
soundEffect (sfx[, pos=nil[, flags]])
Plays a specified sound effect. If nil is passed for pos, the sound will be played globally (like menu sounds).

Calling phase types:

    any

Parameters:

  • sfx int sound effect ID number
  • pos Vector3D or nil the coordinates for the sound source location or nil (default nil)
  • flags int the flags for the sound effect (optional)
testCollisionSpheres (itemIndex, pos, radius)
An advanced function for probing collisions of a test sphere of given radius against the mesh spheres of a moveable. This function is used for more complex and refined collision testing, where the bounding box would be imprecise. See partCollidedItem for a simpler particle collision function, relying on the bounding box.

Calling phase types:

    any

Parameters:

  • itemIndex int the tomb4 moveable index (use getTombIndex to convert NG IDs)
  • pos Vector3D the position of the testing sphere
  • radius number the radius of the testing sphere

Returns:

    int bit-flags of meshes (see MESH flags) with which the sphere has detected a collision. Test this result with hasAllFlags or hasAnyFlags.

Raises:

ERROR: if moveable with given index is not found
testWall (x, y, z, room)
Tests if there is a wall at coordinates (x, y, z, room)

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • room int the 'room' coordinate (tomb4 room index)

Returns:

    bool returns:
    • true – if there is a wall/block
    • false – if there is free space (no wall)
triggerDynamicLight (x, y, z, intensity, red, green, blue)
Triggers a dynamic light at the given (x, y, z) coordinates for one game tick. Needs continuous calling to produce a longer-lasting light effect. Contributes to dynamic light limits.

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • intensity int the intensity / strength of light
  • red int the Red value [0, 255]
  • green int the Green value [0, 255]
  • blue int the Blue value [0, 255]
triggerShockwave (x, y, z, innerRad, outerRad, speed, life, red, green, blue, xRot, flags)
Triggers a shockwave effect at the given (x, y, z) coordinates.

Calling phase types:

    any

Parameters:

  • x int the world X coordinate
  • y int the world Y coordinate
  • z int the world Z coordinate
  • innerRad int the inner ring radius
  • outerRad int the outer ring radius
  • speed int the ring scaling speed (can be negative)
  • life int the duration of the effect (ticks)
  • red int the Red value [0, 255]
  • green int the Green value [0, 255]
  • blue int the Blue value [0, 255]
  • xRot number the X rotation of the effect (radians)
  • flags int the special shockwave flags; see SHOCKWAVE flags

TRNG interaction functions

getSelectedItem ()
Gets the tomb4 moveable index of the current Selected Item (for example, set by TRNG Action 54). Can be used to apply Lua effects to moveables obtained via TRNG scripting.

Calling phase types:

    any

Returns:

    int the Selected Item Index value
performTriggerGroup (id)
Executes a TriggerGroup from the current level TRNG script. If the TriggerGroup has any Condition triggers, it will return the boolean result of the conditions (all conditions must pass for the final result to be true, otherwise false is returned).

Calling phase types:

    any

Parameters:

  • id int the TriggerGroup ID number [1, 9999]

Returns:

    bool the execution status of the TG (always true if no Condition triggers in TriggerGroup, false if at least one condition failed)
setSelectedItem (index)
Sets the tomb4 moveable index as the current Selected Item Index and Found Item Index. Can be used to apply TRNG features to moveables obtained through Lua scripts (e.g. by redirecting with TGROUP_USE_FOUND_ITEM_INDEX in a TriggerGroup that was executed with performTriggerGroup).

Calling phase types:

    any

Parameters:

  • index int the tomb4 moveable index (use getTombIndex to convert NG IDs)

Raises:

ERROR: if moveable with given index is not found

Random number functions

randomFloat (min, max)
Generates a random floating-point number value between [min, max].

Calling phase types:

    any

Parameters:

  • min number the lower bound of the range
  • max number the upper bound of the range

Returns:

    number the random float number between [min, max]
randomInt (min, max)
Generates a random integer number value between [min, max].

Calling phase types:

    any

Parameters:

  • min int the lower bound of the range
  • max int the upper bound of the range (inclusive)

Returns:

    int the random integer between [min, max]
randomNegate (x)
Returns the input x or its negative -x with a 50/50 chance.

Calling phase types:

    any

Parameters:

  • x number the input number

Returns:

    number the randomly negated output
randomSpherePoint (radius)
Generates a random vector on a 3D sphere of a given radius, with a center at the origin (0, 0, 0). To move its center to a different XYZ point, add an offset vector, e.g. randomSpherePoint(512) + createVector(x, y, z)

Calling phase types:

    any

Parameters:

  • radius number the sphere’s radius (in units)

Returns:

    Vector3D the random vector from origin point (0, 0, 0)

Procedural noise functions

noise (gen, scale, x[, y[, z[, w]]])
Takes a noise generator object and produces a pseudo-random scalar noise output. Noise values can be generated from up to 4 separate numerical inputs (x, y, z, w). The scale factor controls the approximate frequency / approximate size of noise grains in the output.

Calling phase types:

    any

Parameters:

  • gen PerlinNoise or SimplexNoise the noise generator object
  • scale number the domain scale factor (smaller means higher oscillation frequency of noise)
  • x number the first input
  • y number the second input (optional)
  • z number the third input (optional)
  • w number the fourth input (optional)

Returns:

    number scalar noise value in the approximate range [-1.0, 1.0]
noiseCurl (gen, scale, x, y[, z])
Takes a noise generator object and produces a pseudo-random curl vector. Useful for simulating fluid-like motion on particles. Curl can be generated from 2 (x, y) up to 3 (x, y, z) numerical inputs.

Calling phase types:

    any

Parameters:

  • gen PerlinNoise or SimplexNoise the noise generator object
  • scale number the domain scale factor (smaller means higher oscillation frequency of noise)
  • x number the first input
  • y number the second input
  • z number the third input (optional)

Returns:

    Vector3D curl vector; if only (x, y) inputs were given, outputs a vector with a zero Z component (x, y, 0.0), otherwise generates a full 3D vector (x, y, z)
noiseCurlTime (gen, scale, time, x, y[, z])
Takes a noise generator object and produces a pseudo-random curl vector that modulates over time. Useful for simulating fluid-like motion on particles. The time parameter is independent of scale (outputs from getGameTick should be downsized by factors of 0.001 - 0.1 for best results). Curl can be generated from 2 (x, y) up to 3 (x, y, z) numerical inputs.

Calling phase types:

    any

Parameters:

  • gen PerlinNoise or SimplexNoise the noise generator object
  • scale number the domain scale factor (smaller means higher oscillation frequency of noise)
  • time number the time modulation factor (e.g. derived from getGameTick or from part.t)
  • x number the first input
  • y number the second input
  • z number the third input (optional)

Returns:

    Vector3D curl vector; if only (x, y) inputs were given, outputs a vector with a zero Z component (x, y, 0.0), otherwise generates a full 3D vector (x, y, z)

Math-related functions

abs (x)
Calculates the absolute value of x (|x| ≥ 0 for any x).

Calling phase types:

    any

Parameters:

  • x number the input number

Returns:

    number the absolute value of x (i.e. “drops the minus” from x)
acos (x)
Calculates the inverse-cosine of input x. The x value must be enclosed to [-1.0, 1.0].

Calling phase types:

    any

Parameters:

  • x number the input cosine value in the range [-1.0, 1.0]

Returns:

    number the angle (radians) for given cosine value

Raises:

ERROR: undefined (NaN) for x outside of [-1.0, 1.0]
asin (x)
Calculates the inverse-sine of input x. The x value must be enclosed to [-1.0, 1.0].

Calling phase types:

    any

Parameters:

  • x number the input sine value in the range [-1.0, 1.0]

Returns:

    number the angle (radians) for given sine value

Raises:

ERROR: undefined (NaN) for x outside of [-1.0, 1.0]
atan (x)
Calculates the inverse-tangent of x.

Calling phase types:

    any

Parameters:

  • x number the input tangent value;

Returns:

    number the angle (radians) for given tangent value
atan2 (y, x)
Calculates the two-component (y, x) inverse-tangent.

Calling phase types:

    any

Parameters:

  • y number the y component
  • x number the x component

Returns:

    number the angle (radians) for given (y, x) components
cbrt (x)
Calculates the cubic root of x (∛x).

Calling phase types:

    any

Parameters:

  • x number the input x

Returns:

    number the cubic root value
ceil (x)
Calculates the ceiling of x (⌈x⌉).

Calling phase types:

    any

Parameters:

  • x number the input x

Returns:

    number the ceiling value (rounding up to nearest integer)
clamp (x, min, max)
Clamps the value of x to the range [min, max].

Calling phase types:

    any

Parameters:

  • x number the input x
  • min number the lower bound
  • max number the upper bound

Returns:

    number the clamped value between [min, max]
cos (x)
Calculates the cosine of x.

Calling phase types:

    any

Parameters:

  • x number the input x (radians)

Returns:

    number the cosine value
degToRad (x)
Converts value expressed in degrees to value expressed in radians.

Calling phase types:

    any

Parameters:

  • x number the input number (degrees)

Returns:

    number the converted output (radians)
distance (vec1, vec2)
Calculates the Euclidean (shortest) distance between two Vector3D objects. If you want to only compare the distance without obtaining its exact value, see distCompare.

Calling phase types:

    any

Parameters:

Returns:

    number the computed distance
distCompare (vec1, vec2, dist)
Compares the Euclidean (shortest) distance between two Vector3D objects against a given distance threshold. Useful if you are not interested in the actual distance value, but simply want to check if it’s within, equal to or beyond the given threshold (computationally efficient alternative to distance function for many distance comparisons).

Calling phase types:

    any

Parameters:

  • vec1 Vector3D the first vector
  • vec2 Vector3D the second vector
  • dist number the distance threshold

Returns:

    int returns:
    • -1 – if actual distance is smaller than threshold (e.g. distCompare(vec1, vec2, dist) < 0)
    • 0 – if they are equal (e.g. distCompare(vec1, vec2, dist) == 0)
    • 1 – if actual distance is larger than threshold (e.g. distCompare(vec1, vec2, dist) > 0)
exp (x)
Calculates the exponential of x (ex).

Calling phase types:

    any

Parameters:

  • x number the input x

Returns:

    number the exponential value
floor (x)
Calculates the floor of x (⌊x⌋).

Calling phase types:

    any

Parameters:

  • x number the input x

Returns:

    number the floor value (rounding down to nearest integer)
fmod (x, y)
Calculates the floating point remainder of x / y.

Calling phase types:

    any

Parameters:

  • x number the dividend x
  • y number the divisor y, y ≠ 0

Returns:

    number the remainder of x / y

Raises:

ERROR: undefined (NaN) for y = 0
frac (x)
Returns the fractional (decimal) part of x.

Calling phase types:

    any

Parameters:

  • x number the input x

Returns:

    number the fractional part of x
lerp (a, b, t)
Linearly interpolates (blends) between the values [a, b] based on blending factor t in the range [0.0, 1.0].

Calling phase types:

    any

Parameters:

  • a number the lower bound of value range
  • b number the upper bound of value range
  • t number the blending factor between [0.0, 1.0]

Returns:

    number the interpolated value given by the formula (a * (1 - t) + b * t)
lerpInverse (a, b, x)
Calculates the linear blending factor t based on the source value x in-between the values [a, b].

Calling phase types:

    any

Parameters:

  • a number the lower bound of value range
  • b number the upper bound of value range
  • x number the source value between [a, b]

Returns:

    number the resulting blending factor t in range [0.0, 1.0]
log (x)
Calculates the natural logarithm of x (logex). The x value must be positive (greater than 0). Unrelated to the plugin logger feature and its associated functions.

Calling phase types:

    any

Parameters:

  • x number the input x, x > 0

Returns:

    number the natural logarithm value

Raises:

ERROR: undefined (NaN) for x ≤ 0
max (first[, ...])
Finds and returns the maximum value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).

Calling phase types:

    any

Parameters:

  • first number or {number,...} number or table of numbers
  • ... number other numbers, if table was not used (optional)

Returns:

    number the maximum value
mean (first[, ...])
Finds and returns the arithmetic mean (average) value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).

Calling phase types:

    any

Parameters:

  • first number or {number,...} number or table of numbers
  • ... number other numbers, if table was not used (optional)

Returns:

    number the arithmetic mean (the sum of all numbers divided by the count)
min (first[, ...])
Finds and returns the minimum value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).

Calling phase types:

    any

Parameters:

  • first number or {number,...} number or table of numbers
  • ... number other numbers, if table was not used (optional)

Returns:

    number the minimum value
radToDeg (x)
Converts value expressed in radians to value expressed in degrees.

Calling phase types:

    any

Parameters:

  • x number the input number (radians)

Returns:

    number the converted output (degrees)
remap (x, oldMin, oldMax, newMin, newMax)
Linearly remaps the value x from the original range [oldMin, oldMax] to the new range [newMin, newMax]. Output equivalent to:
lerp(newMin, newMax, lerpInverse(oldMin, oldMax, x)).

Calling phase types:

    any

Parameters:

  • x number the value to remap
  • oldMin number the lower bound of the original range
  • oldMax number the upper bound of the original range
  • newMin number the lower bound of the new range
  • newMax number the upper bound of the new range

Returns:

    number the value of x remapped from [oldMin, oldMax] to [newMin, newMax] range
rotateVectorByAngles (vec, x, y, z)
Rotates a Vector3D object by a set of Euler angles (x, y, z). Rotation is performed in YXZ order.

Calling phase types:

    any

Parameters:

  • vec Vector3D the input vector
  • x number the X (pitch) angle (radians)
  • y number the Y (yaw) angle (radians)
  • z number the Z (roll) angle (radians)

Returns:

    Vector3D the rotated (output) vector
rotateVectorByAxisAngle (vec, axis, theta)
Rotates a Vector3D object around an axis vector by the angle theta.

Calling phase types:

    any

Parameters:

  • vec Vector3D the input vector
  • axis Vector3D the vector representing the rotation axis
  • theta number the rotation angle around the axis (radians)

Returns:

    Vector3D the rotated (output) vector
rotFromVector (vec)
Creates a RotVector object from a Vector3D direction vector. Outputs the X (pitch) and Y (yaw) angles, with the Z (roll) angle set to 0.

Calling phase types:

    any

Parameters:

  • vec Vector3D the direction vector, measured from origin (0, 0, 0)

Returns:

    RotVector the resulting RotVector object (x, y, 0)
round (x)
Rounds the floating-point number x to the nearest integer.

Calling phase types:

    any

Parameters:

  • x number the input float number x

Returns:

    int the rounded integer
sin (x)
Calculates the sine of x.

Calling phase types:

    any

Parameters:

  • x number the input x (radians)

Returns:

    number the sine value
smoothStep (x)
Calculates the SmoothStep of x (3x2 - 2x3; 0 ≤ x ≤ 1). SmoothStep is an S-shaped curve that eases the transition from the starting point 0 to the ending point 1.

Calling phase types:

    any

Parameters:

  • x number the input x [0.0, 1.0]

Returns:

    number the SmoothStep value enclosed to [0.0, 1.0]
sphericalToCartesian (r, theta, phi)
Converts a set of spherical coordinates (r, theta, phi) to Cartesian coordinates (x, y, z). Spherical coordinates naturally express positions on a spherical surface, with r representing the radius from the origin (0, 0, 0), theta representing the azimuth (longitudinal) angle and phi representing the polar (latitudinal) angle. To quickly generate a random direction on a sphere of given radius, see randomSpherePoint.

Calling phase types:

    any

Parameters:

  • r number the radius value
  • theta number the azimuth / heading angle (radians) [0, ]
  • phi number the polar / elevation angle (radians) [-π/2, π/2]

Returns:

    Vector3D the Vector3D object containing XYZ Cartesian coordinates
sqrt (x)
Calculates the square root of x (√x). The value of x cannot be negative.

Calling phase types:

    any

Parameters:

  • x number the input x, x ≥ 0

Returns:

    number the square root value

Raises:

ERROR: undefined (NaN) for x < 0
tan (x)
Calculates the tangent of x. The tangent is undefined for angles of the form (π/2 + kπ), with k representing some integer (-1, 0, 1, 2, …).

Calling phase types:

    any

Parameters:

  • x number the input x (radians)

Returns:

    number the tangent value

Raises:

ERROR: undefined (NaN) for x = (π/2 + kπ) for any integer k
vectorCross (u, v)
Calculates the cross product between the vectors u and v (u ⨯ v). The sign of the resulting vector depends on the order of operands, i.e. u ⨯ v = - (v ⨯ u)

Calling phase types:

    any

Parameters:

Returns:

    Vector3D the cross product between u and v
vectorDot (u, v)
Calculates the dot (scalar) product between the vectors u and v (u v).

Calling phase types:

    any

Parameters:

Returns:

    number the dot product between u and v
vectorLength (v)
Calculates the length of vector v (|v|).

Calling phase types:

    any

Parameters:

Returns:

    number the length of vector v
vectorNormalize (v)
Calculates the normalized (unit) vector from vector v ( = v/|v|).

Calling phase types:

    any

Parameters:

Returns:

    Vector3D the normalized vector of length 1
wrapAngle (x)
Wraps the angle x to the range [, π].

Calling phase types:

    any

Parameters:

  • x number the input x (radians)

Returns:

    number the wrapped angle in range [, π]

Miscellaneous functions

hasAllFlags (checkedValue, testFlags)
Tests for the occurence of all specified flags in a given integer value.

Calling phase types:

    any

Parameters:

  • checkedValue int the value against which to compare the test flags
  • testFlags int flags to test for; use the 'plus' operator to combine several flags e.g. FLAG1 + FLAG2 + FLAG3

Returns:

    bool returns:
    • true – if all of testFlags occured within checkedValue
    • false – if at least one flag is missing
hasAnyFlags (checkedValue, testFlags)
Tests for the occurence of any specified flags in a given integer value.

Calling phase types:

    any

Parameters:

  • checkedValue int the value against which to compare the test flags
  • testFlags int flags to test for; use the 'plus' operator to combine several flags e.g. FLAG1 + FLAG2 + FLAG3

Returns:

    bool returns:
    • true – if at least one flag occured within checkedValue
    • false – if none of testFlags is present

Built-in globals

Camera
Global camera data fields. Contains infos about the in-game camera.

Fields:

  • bounce int the bounce factor used for earthquake effects. Values below 0 cause the camera to shake, values above 0 displace the camera towards the floor
  • cameraMode int the current camera mode, see CAMERA constants for list of available modes (read-only)
  • currentAngle number the current horizontal angle of the camera around the camera target (read-only)
  • currentElevation number the current elevation (vertical) angle of the camera around the camera target (read-only)
  • fixed bool flag that informs if camera is fixed; true if in fixed mode, false otherwise (read-only)
  • pos Vector3D the current position of the camera (source) in the game world
  • roomIndex int the current room index of the camera
  • speed int the speed value of the camera. Lower values mean faster camera movement, higher ones mean slower movement (default 6)
  • targetAngle number the goal horizontal angle the camera is meant to reach, may differ from the currentAngle
  • targetDistance int the distance of the camera (in game units) from the camera target
  • targetElevation number the goal vertical angle the camera is meant to reach, may differ from the currentElevation
  • targetItem int the tomb4 moveable index of the item focused on by the camera, nil if no moveable item is focused
  • targetPos Vector3D the camera target position in the game world
  • targetRoomIndex int the current room index of the camera target
  • timer int the timer value e.g. used for fixed cameras (read-only)
  • underwater bool flag that informs if the camera is currently underwater (in a water room); true if underwater, false otherwise (read-only)
Lara
Global Lara moveable data. An ItemInfo object dedicated to Lara, equivalent to getItemInfo(getLaraIndex()).

Fields:

  • afterDeath int unused for Lara
  • animNumber int Lara’s current animation number
  • frameNumber int the frame number relative to current Lara.animNumber, beginning from frame 0
  • currentAnimState int Lara’s current anim state number
  • data table Lara’s extra data table (bool, int, number or nil values accepted)
  • goalAnimState int Lara’s goal anim state number
  • speed int Lara’s horizontal speed
  • fallSpeed int Lara’s vertical speed (also used for the swimming speed and DOZY)
  • floorDistance int unused for Lara
  • hitPoints int Lara’s hit points (health)
  • hitPointsMax int Lara’s total number of hit points, 1000 (read-only)
  • hitStatus bool flag that informs if Lara was shot/hit at the current tick (e.g. by some enemy); true if Lara was hit, false otherwise (read-only)
  • intelligent bool unused for Lara
  • itemFlag1 int a numeric field used for miscellaneous purposes
  • itemFlag2 int a numeric field used for miscellaneous purposes
  • itemFlag3 int a numeric field used for miscellaneous purposes
  • itemFlag4 int a numeric field used for miscellaneous purposes
  • lookedAt bool unused for Lara
  • meshBits int unused for Lara
  • meshCount int the total number of meshes in Lara, 15 (read-only)
  • ocbNumber int unused for Lara
  • poisoned bool unused for Lara
  • pos Vector3D Lara’s XYZ coordinates
  • roomIndex int Lara’s tomb4 room index (read-only)
  • rot RotVector Lara’s XYZ rotation angles
  • slot int Lara’s moveable slot number, 0 i.e. SLOT_LARA (read-only)
  • tombIndex int Lara’s tomb4 moveable index, same value as returned by getLaraIndex (read-only)
  • triggered bool unused for Lara
  • timer int unused for Lara
  • undead bool unused for Lara
  • waterCreature bool unused for Lara
TrngVars
TRNG variables. Exposes TRNG variables to Lua, permitting direct read and write operations in Lua scripts, e.g. TrngVars.GlobalByteAlfa1 = 15.

Fields:

  • BigText string the Big Text text variable (up to 319 text characters)
  • LastInputText string the Last Input Text text variable (up to 79 text characters)
  • Text1 string the Text1 text variable (up to 79 text characters)
  • Text2 string the Text2 text variable (up to 79 text characters)
  • Text3 string the Text3 text variable (up to 79 text characters)
  • Text4 string the Text4 text variable (up to 79 text characters)

    Global Numeric Variables:

  • CurrentValue int the Current Value numeric variable
  • GlobalByteAlfa1 int the Global Byte Alfa1 numeric variable [0, 255]
  • GlobalByteAlfa2 int the Global Byte Alfa2 numeric variable [0, 255]
  • GlobalByteAlfa3 int the Global Byte Alfa3 numeric variable [0, 255]
  • GlobalByteAlfa4 int the Global Byte Alfa4 numeric variable [0, 255]
  • GlobalByteBeta1 int the Global Byte Beta1 numeric variable [0, 255]
  • GlobalByteBeta2 int the Global Byte Beta2 numeric variable [0, 255]
  • GlobalByteBeta3 int the Global Byte Beta3 numeric variable [0, 255]
  • GlobalByteBeta4 int the Global Byte Beta4 numeric variable [0, 255]
  • GlobalByteDelta1 int the Global Byte Delta1 numeric variable [0, 255]
  • GlobalByteDelta2 int the Global Byte Delta2 numeric variable [0, 255]
  • GlobalByteDelta3 int the Global Byte Delta3 numeric variable [0, 255]
  • GlobalByteDelta4 int the Global Byte Delta4 numeric variable [0, 255]
  • GlobalShortAlfa1 int the Global Short Alfa1 numeric variable [-32768, 32767]
  • GlobalShortAlfa2 int the Global Short Alfa2 numeric variable [-32768, 32767]
  • GlobalShortBeta1 int the Global Short Beta1 numeric variable [-32768, 32767]
  • GlobalShortBeta2 int the Global Short Beta2 numeric variable [-32768, 32767]
  • GlobalShortDelta1 int the Global Short Delta1 numeric variable [-32768, 32767]
  • GlobalShortDelta2 int the Global Short Delta2 numeric variable [-32768, 32767]
  • GlobalLongAlfa int the Global Long Alfa numeric variable
  • GlobalLongBeta int the Global Long Beta numeric variable
  • GlobalLongDelta int the Global Long Delta numeric variable
  • GlobalLongTimer int the Global Long Timer numeric variable
  • LastInputNumber int the Last Input Number numeric variable

    Local Numeric Variables:

  • LocalByteAlfa1 int the Local Byte Alfa1 numeric variable [0, 255]
  • LocalByteAlfa2 int the Local Byte Alfa2 numeric variable [0, 255]
  • LocalByteAlfa3 int the Local Byte Alfa3 numeric variable [0, 255]
  • LocalByteAlfa4 int the Local Byte Alfa4 numeric variable [0, 255]
  • LocalByteBeta1 int the Local Byte Beta1 numeric variable [0, 255]
  • LocalByteBeta2 int the Local Byte Beta2 numeric variable [0, 255]
  • LocalByteBeta3 int the Local Byte Beta3 numeric variable [0, 255]
  • LocalByteBeta4 int the Local Byte Beta4 numeric variable [0, 255]
  • LocalByteDelta1 int the Local Byte Delta1 numeric variable [0, 255]
  • LocalByteDelta2 int the Local Byte Delta2 numeric variable [0, 255]
  • LocalByteDelta3 int the Local Byte Delta3 numeric variable [0, 255]
  • LocalByteDelta4 int the Local Byte Delta4 numeric variable [0, 255]
  • LocalShortAlfa1 int the Local Short Alfa1 numeric variable [-32768, 32767]
  • LocalShortAlfa2 int the Local Short Alfa2 numeric variable [-32768, 32767]
  • LocalShortBeta1 int the Local Short Beta1 numeric variable [-32768, 32767]
  • LocalShortBeta2 int the Local Short Beta2 numeric variable [-32768, 32767]
  • LocalShortDelta1 int the Local Short Delta1 numeric variable [-32768, 32767]
  • LocalShortDelta2 int the Local Short Delta2 numeric variable [-32768, 32767]
  • LocalLongAlfa int the Local Long Alfa numeric variable
  • LocalLongBeta int the Local Long Beta numeric variable
  • LocalLongDelta int the Local Long Delta numeric variable
  • LocalLongTimer int the Local Long Timer numeric variable

    Store Variables:

  • StoreByteA1 int the Store Byte A1 numeric variable [0, 255]
  • StoreByteA2 int the Store Byte A2 numeric variable [0, 255]
  • StoreByteA3 int the Store Byte A3 numeric variable [0, 255]
  • StoreByteA4 int the Store Byte A4 numeric variable [0, 255]
  • StoreByteB1 int the Store Byte B1 numeric variable [0, 255]
  • StoreByteB2 int the Store Byte B2 numeric variable [0, 255]
  • StoreByteB3 int the Store Byte B3 numeric variable [0, 255]
  • StoreByteB4 int the Store Byte B4 numeric variable [0, 255]
  • StoreByteC1 int the Store Byte C1 numeric variable [0, 255]
  • StoreByteC2 int the Store Byte C2 numeric variable [0, 255]
  • StoreByteC3 int the Store Byte C3 numeric variable [0, 255]
  • StoreByteC4 int the Store Byte C4 numeric variable [0, 255]
  • StoreByteD1 int the Store Byte D1 numeric variable [0, 255]
  • StoreByteD2 int the Store Byte D2 numeric variable [0, 255]
  • StoreByteD3 int the Store Byte D3 numeric variable [0, 255]
  • StoreByteD4 int the Store Byte D4 numeric variable [0, 255]
  • StoreByteE1 int the Store Byte E1 numeric variable [0, 255]
  • StoreByteE2 int the Store Byte E2 numeric variable [0, 255]
  • StoreByteE3 int the Store Byte E3 numeric variable [0, 255]
  • StoreByteE4 int the Store Byte E4 numeric variable [0, 255]
  • StoreByteF1 int the Store Byte F1 numeric variable [0, 255]
  • StoreByteF2 int the Store Byte F2 numeric variable [0, 255]
  • StoreByteF3 int the Store Byte F3 numeric variable [0, 255]
  • StoreByteF4 int the Store Byte F4 numeric variable [0, 255]
  • StoreByteG1 int the Store Byte G1 numeric variable [0, 255]
  • StoreByteG2 int the Store Byte G2 numeric variable [0, 255]
  • StoreByteG3 int the Store Byte G3 numeric variable [0, 255]
  • StoreByteG4 int the Store Byte G4 numeric variable [0, 255]
  • StoreByteH1 int the Store Byte H1 numeric variable [0, 255]
  • StoreByteH2 int the Store Byte H2 numeric variable [0, 255]
  • StoreByteH3 int the Store Byte H3 numeric variable [0, 255]
  • StoreByteH4 int the Store Byte H4 numeric variable [0, 255]
  • StoreByteI1 int the Store Byte I1 numeric variable [0, 255]
  • StoreByteI2 int the Store Byte I2 numeric variable [0, 255]
  • StoreByteI3 int the Store Byte I3 numeric variable [0, 255]
  • StoreByteI4 int the Store Byte I4 numeric variable [0, 255]
  • StoreByteJ1 int the Store Byte J1 numeric variable [0, 255]
  • StoreByteJ2 int the Store Byte J2 numeric variable [0, 255]
  • StoreByteJ3 int the Store Byte J3 numeric variable [0, 255]
  • StoreByteJ4 int the Store Byte J4 numeric variable [0, 255]
  • StoreByteK1 int the Store Byte K1 numeric variable [0, 255]
  • StoreByteK2 int the Store Byte K2 numeric variable [0, 255]
  • StoreByteK3 int the Store Byte K3 numeric variable [0, 255]
  • StoreByteK4 int the Store Byte K4 numeric variable [0, 255]
  • StoreByteL1 int the Store Byte L1 numeric variable [0, 255]
  • StoreByteL2 int the Store Byte L2 numeric variable [0, 255]
  • StoreByteL3 int the Store Byte L3 numeric variable [0, 255]
  • StoreByteL4 int the Store Byte L4 numeric variable [0, 255]
  • StoreByteM1 int the Store Byte M1 numeric variable [0, 255]
  • StoreByteM2 int the Store Byte M2 numeric variable [0, 255]
  • StoreByteM3 int the Store Byte M3 numeric variable [0, 255]
  • StoreByteM4 int the Store Byte M4 numeric variable [0, 255]
  • StoreByteN1 int the Store Byte N1 numeric variable [0, 255]
  • StoreByteN2 int the Store Byte N2 numeric variable [0, 255]
  • StoreByteN3 int the Store Byte N3 numeric variable [0, 255]
  • StoreByteN4 int the Store Byte N4 numeric variable [0, 255]
  • StoreByteO1 int the Store Byte O1 numeric variable [0, 255]
  • StoreByteO2 int the Store Byte O2 numeric variable [0, 255]
  • StoreByteO3 int the Store Byte O3 numeric variable [0, 255]
  • StoreByteO4 int the Store Byte O4 numeric variable [0, 255]
  • StoreByteP1 int the Store Byte P1 numeric variable [0, 255]
  • StoreByteP2 int the Store Byte P2 numeric variable [0, 255]
  • StoreByteP3 int the Store Byte P3 numeric variable [0, 255]
  • StoreByteP4 int the Store Byte P4 numeric variable [0, 255]
  • StoreShortA1 int the Store Short A1 numeric variable [-32768, 32767]
  • StoreShortA2 int the Store Short A2 numeric variable [-32768, 32767]
  • StoreShortB1 int the Store Short B1 numeric variable [-32768, 32767]
  • StoreShortB2 int the Store Short B2 numeric variable [-32768, 32767]
  • StoreShortC1 int the Store Short C1 numeric variable [-32768, 32767]
  • StoreShortC2 int the Store Short C2 numeric variable [-32768, 32767]
  • StoreShortD1 int the Store Short D1 numeric variable [-32768, 32767]
  • StoreShortD2 int the Store Short D2 numeric variable [-32768, 32767]
  • StoreShortE1 int the Store Short E1 numeric variable [-32768, 32767]
  • StoreShortE2 int the Store Short E2 numeric variable [-32768, 32767]
  • StoreShortF1 int the Store Short F1 numeric variable [-32768, 32767]
  • StoreShortF2 int the Store Short F2 numeric variable [-32768, 32767]
  • StoreShortG1 int the Store Short G1 numeric variable [-32768, 32767]
  • StoreShortG2 int the Store Short G2 numeric variable [-32768, 32767]
  • StoreShortH1 int the Store Short H1 numeric variable [-32768, 32767]
  • StoreShortH2 int the Store Short H2 numeric variable [-32768, 32767]
  • StoreShortI1 int the Store Short I1 numeric variable [-32768, 32767]
  • StoreShortI2 int the Store Short I2 numeric variable [-32768, 32767]
  • StoreShortJ1 int the Store Short J1 numeric variable [-32768, 32767]
  • StoreShortJ2 int the Store Short J2 numeric variable [-32768, 32767]
  • StoreShortK1 int the Store Short K1 numeric variable [-32768, 32767]
  • StoreShortK2 int the Store Short K2 numeric variable [-32768, 32767]
  • StoreShortL1 int the Store Short L1 numeric variable [-32768, 32767]
  • StoreShortL2 int the Store Short L2 numeric variable [-32768, 32767]
  • StoreShortM1 int the Store Short M1 numeric variable [-32768, 32767]
  • StoreShortM2 int the Store Short M2 numeric variable [-32768, 32767]
  • StoreShortN1 int the Store Short N1 numeric variable [-32768, 32767]
  • StoreShortN2 int the Store Short N2 numeric variable [-32768, 32767]
  • StoreShortO1 int the Store Short O1 numeric variable [-32768, 32767]
  • StoreShortO2 int the Store Short O2 numeric variable [-32768, 32767]
  • StoreShortP1 int the Store Short P1 numeric variable [-32768, 32767]
  • StoreShortP2 int the Store Short P2 numeric variable [-32768, 32767]
  • StoreLongA int the Store Long A numeric variable
  • StoreLongB int the Store Long B numeric variable
  • StoreLongC int the Store Long C numeric variable
  • StoreLongD int the Store Long D numeric variable
  • StoreLongE int the Store Long E numeric variable
  • StoreLongF int the Store Long F numeric variable
  • StoreLongG int the Store Long G numeric variable
  • StoreLongH int the Store Long H numeric variable
  • StoreLongI int the Store Long I numeric variable
  • StoreLongJ int the Store Long J numeric variable
  • StoreLongK int the Store Long K numeric variable
  • StoreLongL int the Store Long L numeric variable
  • StoreLongM int the Store Long M numeric variable
  • StoreLongN int the Store Long N numeric variable
  • StoreLongO int the Store Long O numeric variable
  • StoreLongP int the Store Long P numeric variable

Built-in constants

BLEND
Blending mode constants for group.blendMode field of ParticleGroup. Blending modes are only used with sprite particles.

Constants:

  • BLEND_TEXTURE int Opaque texture. No transparency allowed, magenta(255,0,255) turns to black(0,0,0). Not compatible with alpha-transparency
  • BLEND_DECAL int Opaque texture. Magenta(255,0,255) is fully transparent, other colors including pure black(0,0,0) are rendered as-is. Supports alpha-transparency
  • BLEND_COLORADD int Semi-transparent additive blending. Pure black(0,0,0) is transparent, opacity increases with source color brightness and overlapping polygons. Not compatible with alpha-transparency
  • BLEND_SEMITRANS int Opaque texture. Pure black(0,0,0) and magenta(255,0,255) are transparent. Supports alpha-transparency
  • BLEND_NOZBUFFER int Like BLEND_DECAL, but ignores the Z-depth, i.e. the polygons get rendered on top of everything else, even if they should normally be obscured by other geometry in front. Supports alpha-transparency
  • BLEND_COLORSUB int Semi-transparent subtractive blending. The negative of BLEND_COLORADD, meaning colors get inverted (bright colors in the source texture become dark). Pure black(0,0,0) is transparent, opacity increases with source color brightness and overlapping polygons. Not compatible with alpha-transparency
  • BLEND_SEMITRANS_ZBUFFER int Special blending mode used when rendering polygons needs special depth sorting. Supports alpha-transparency
  • BLEND_DESTINATION_INV int Transparent. Performs destination color inversion – whatever is behind the polygon gets inverted by an amount determined by the polygon pixel color. Pure black(0,0,0) is transparent, opacity increases with source color brightness. Exhibits reversal effect with polygon overlap. Not compatible with alpha-transparency
  • BLEND_SCREEN_DARKEN int Semi-transparent screen blending with darkened transitions. Compares pixels of polygon with pixels behind it and keeps whichever pixel is darker. Not compatible with alpha-transparency
  • BLEND_SCREEN_CLEAR int Semi-transparent screen blending with clear transitions. Compares pixels of polygon with pixels behind it and keeps whichever pixel is brighter. Not compatible with alpha-transparency
  • BLEND_CUSTOM_11 int Custom mode 11, see New blending modes FLEP patch for details
  • BLEND_CUSTOM_12 int Custom mode 12, see New blending modes FLEP patch for details
  • BLEND_CUSTOM_13 int Custom mode 13, see New blending modes FLEP patch for details
CAMERA
Camera mode constants for Camera.cameraMode field of the Camera global.

Constants:

  • CAMERA_CHASE int The “Chase” camera mode
  • CAMERA_FIXED int The “Fixed” camera mode
  • CAMERA_LOOK int The “Look” camera mode
  • CAMERA_COMBAT int The “Combat” camera mode
  • CAMERA_CINEMATIC int The “Cinematic” camera mode
  • CAMERA_HEAVY int The “Heavy” camera mode
DRAW
Drawing mode constants for group.drawMode field of ParticleGroup. Drawing modes are only used with sprite particles.

Constants:

  • DRAW_SPRITE int Draws a 2D billboard (camera-facing sprite) (use part.rot / part.rotVel for rotation)
  • DRAW_SPRITE3D int Draws a 3D independently oriented quad (use part.rot3D / part.rotVel3D for rotation)
  • DRAW_LINE int Draws a velocity-aligned line
  • DRAW_ARROW int Draws a velocity-aligned arrow
  • DRAW_NONE int Draws nothing (particles are not rendered)
INPUT
Input flag constants. Flags can be combined with '+' e.g. INPUT_JUMP + INPUT_WALK + INPUT_ACTION. Combinations of input flags are returned by getInput function.

Constants:

  • INPUT_ACTION int Action game command
  • INPUT_DASH int Dash game command
  • INPUT_DOWN int Down game command
  • INPUT_DRAW int Draw / holster weapons game command
  • INPUT_DUCK int Duck game command
  • INPUT_FLARE int Use flare game command
  • INPUT_INVENTORY int Inventory game command
  • INPUT_JUMP int Jump game command
  • INPUT_LEFT int Left game command
  • INPUT_LOADGAME int Load game shortcut game command
  • INPUT_LOOK int Look game command
  • INPUT_PAUSE int Pause game command
  • INPUT_RIGHT int Right game command
  • INPUT_ROLL int Roll game command
  • INPUT_SAVEGAME int Save game shortcut game command
  • INPUT_SELECT int Select (Enter) game command
  • INPUT_STEPLEFT int Sidestep left game command
  • INPUT_STEPRIGHT int Sidestep right game command
  • INPUT_UP int Up game command
  • INPUT_WALK int Walk game command
LIGHT
Lighting mode constants for group.lightMode field of ParticleGroup. Lighting modes are only used with sprite particles. For mesh particles, the lighting setting for the source mesh (in the Wad) is used instead.

Constants:

  • LIGHT_STATIC int Static lighting mode, sprites unaffected by in-game dynamic lights
  • LIGHT_DYNAMIC int Dynamic lighting mode, sprites affected by in-game dynamic lights
LOG
Log level constants for setLogLevel.

Constants:

  • LOG_INFO int Permits INFO, DEBUG, WARN and ERROR messages
  • LOG_DEBUG int Permits DEBUG, WARN and ERROR messages
  • LOG_WARN int Permits WARN and ERROR messages
  • LOG_ERROR int Permits only ERROR messages
MESH
Mesh bit-flag constants. Flags can be combined with '+' e.g. MESH1 + MESH4 + MESH5. Combinations of these flags are returned by testCollisionSpheres and also are contained in the item.meshBits field of ItemInfo.

Note: you should NOT use these flags in place of regular mesh indices (0, 1, 2, 3, …) e.g. for part.emitterNode or part.meshIndex fields.

Constants:

  • MESH0 int mesh 0 bit
  • MESH1 int mesh 1 bit
  • MESH2 int mesh 2 bit
  • MESH3 int mesh 3 bit
  • MESH4 int mesh 4 bit
  • MESH5 int mesh 5 bit
  • MESH6 int mesh 6 bit
  • MESH7 int mesh 7 bit
  • MESH8 int mesh 8 bit
  • MESH9 int mesh 9 bit
  • MESH10 int mesh 10 bit
  • MESH11 int mesh 11 bit
  • MESH12 int mesh 12 bit
  • MESH13 int mesh 13 bit
  • MESH14 int mesh 14 bit
  • MESH15 int mesh 15 bit
  • MESH16 int mesh 16 bit
  • MESH17 int mesh 17 bit
  • MESH18 int mesh 18 bit
  • MESH19 int mesh 19 bit
  • MESH20 int mesh 20 bit
  • MESH21 int mesh 21 bit
  • MESH22 int mesh 22 bit
  • MESH23 int mesh 23 bit
  • MESH24 int mesh 24 bit
  • MESH25 int mesh 25 bit
  • MESH26 int mesh 26 bit
  • MESH27 int mesh 27 bit
  • MESH28 int mesh 28 bit
  • MESH29 int mesh 29 bit
  • MESH30 int mesh 30 bit
  • MESH31 int mesh 31 bit
NO_CUTOFF
A special constant used for the group.attach.cutoff field of NodeAttachment. Indicates no cutoff point should be used i.e. that the particle should remain tethered to the emitter moveable object indefinitely (it can still be untethered manually with partDetach function).
PI
Pi constants. Represent approximations of various fractions and multiples of π = 3.14159265…

Constants:

  • PI number represents π itself
  • PI_HALF number represents π/2
  • PI_QUART number represents π/4
  • PI_THIRD number represents π/3
  • PI_TWO number represents
ROOM
Room property flag constants. Flags can be combined with '+' e.g. ROOM_COLD + ROOM_WATER. Combinations of these flags can be returned by getRoomFlags.

Constants:

  • ROOM_COLD int room has the cold room flag
  • ROOM_DAMAGE int room has the damage room flag
  • ROOM_FLIPROOM int room has the fliproom flag
  • ROOM_HORIZON int room has the skybox flag (distinct from ROOM_OUTSIDE)
  • ROOM_MIST int room has the mist flag
  • ROOM_NO_LENSFLARE int room has the “No Lensflare” flag
  • ROOM_OUTSIDE int room has the outside room flag (e.g. enables wind on ponytail)
  • ROOM_QUICKSAND int room has the quicksand room flag
  • ROOM_RAIN int room has the rain flag
  • ROOM_SNOW int room has the snow flag
  • ROOM_WATER int room has the water room flag
TETHER
Tether type constants, used for group.attach.tetherType field of NodeAttachment.

Constants:

  • TETHER_ROTATING int tether which rotates with moveable’s frame of reference and follows its displacement
  • TETHER_STATIC int tether which does NOT rotate with moveable’s frame of reference, but follows its displacement
  • TETHER_ABSTRACT int tether which neither rotates with moveable or follows its movement, but retains the part.emitterIndex relationship with the moveable in an abstract (non-physical) sense
SHOCKWAVE
Shockwave effect flag constants. Used for the flags parameter of triggerShockwave.

Constants:

  • SHOCKWAVE_DEADLY int shockwave deals damage to Lara and makes hit sparks on contact. Amount of damage is proportional to the speed of shockwave (controlled by speed parameter of triggerShockwave)
  • SHOCKWAVE_EXTRA_DAMAGE int makes the shockwave deadlier by dealing extra damage (use with SHOCKWAVE_DEADLY)
SLOT
Moveable object slot constants.

Constants:

  • SLOT_LARA int object LARA(0)
  • SLOT_PISTOLS_ANIM int object PISTOLS_ANIM(1)
  • SLOT_UZI_ANIM int object UZI_ANIM(2)
  • SLOT_SHOTGUN_ANIM int object SHOTGUN_ANIM(3)
  • SLOT_CROSSBOW_ANIM int object CROSSBOW_ANIM(4)
  • SLOT_GRENADE_GUN_ANIM int object GRENADE_GUN_ANIM(5)
  • SLOT_SIXSHOOTER_ANIM int object SIXSHOOTER_ANIM(6)
  • SLOT_FLARE_ANIM int object FLARE_ANIM(7)
  • SLOT_LARA_SKIN int object LARA_SKIN(8)
  • SLOT_LARA_SKIN_JOINTS int object LARA_SKIN_JOINTS(9)
  • SLOT_LARA_SCREAM int object LARA_SCREAM(10)
  • SLOT_LARA_CROSSBOW_LASER int object LARA_CROSSBOW_LASER(11)
  • SLOT_LARA_REVOLVER_LASER int object LARA_REVOLVER_LASER(12)
  • SLOT_LARA_HOLSTERS int object LARA_HOLSTERS(13)
  • SLOT_LARA_HOLSTERS_PISTOLS int object LARA_HOLSTERS_PISTOLS(14)
  • SLOT_LARA_HOLSTERS_UZIS int object LARA_HOLSTERS_UZIS(15)
  • SLOT_LARA_HOLSTERS_SIXSHOOTER int object LARA_HOLSTERS_SIXSHOOTER(16)
  • SLOT_LARA_SPEECH_HEAD1 int object LARA_SPEECH_HEAD1(17)
  • SLOT_LARA_SPEECH_HEAD2 int object LARA_SPEECH_HEAD2(18)
  • SLOT_LARA_SPEECH_HEAD3 int object LARA_SPEECH_HEAD3(19)
  • SLOT_LARA_SPEECH_HEAD4 int object LARA_SPEECH_HEAD4(20)
  • SLOT_ACTOR1_SPEECH_HEAD1 int object ACTOR1_SPEECH_HEAD1(21)
  • SLOT_ACTOR1_SPEECH_HEAD2 int object ACTOR1_SPEECH_HEAD2(22)
  • SLOT_ACTOR2_SPEECH_HEAD1 int object ACTOR2_SPEECH_HEAD1(23)
  • SLOT_ACTOR2_SPEECH_HEAD2 int object ACTOR2_SPEECH_HEAD2(24)
  • SLOT_LARA_WATER_MESH int object LARA_WATER_MESH(25)
  • SLOT_LARA_PETROL_MESH int object LARA_PETROL_MESH(26)
  • SLOT_LARA_DIRT_MESH int object LARA_DIRT_MESH(27)
  • SLOT_CROWBAR_ANIM int object CROWBAR_ANIM(28)
  • SLOT_TORCH_ANIM int object TORCH_ANIM(29)
  • SLOT_HAIR int object HAIR(30)
  • SLOT_MOTORBIKE int object MOTORBIKE(31)
  • SLOT_JEEP int object JEEP(32)
  • SLOT_VEHICLE_EXTRA int object VEHICLE_EXTRA(33)
  • SLOT_ENEMY_JEEP int object ENEMY_JEEP(34)
  • SLOT_SKELETON int object SKELETON(35)
  • SLOT_SKELETON_MIP int object SKELETON_MIP(36)
  • SLOT_GUIDE int object GUIDE(37)
  • SLOT_GUIDE_MIP int object GUIDE_MIP(38)
  • SLOT_VON_CROY int object VON_CROY(39)
  • SLOT_VON_CROY_MIP int object VON_CROY_MIP(40)
  • SLOT_BADDY_1 int object BADDY_1(41)
  • SLOT_BADDY_1_MIP int object BADDY_1_MIP(42)
  • SLOT_BADDY_2 int object BADDY_2(43)
  • SLOT_BADDY_2_MIP int object BADDY_2_MIP(44)
  • SLOT_SETHA int object SETHA(45)
  • SLOT_SETHA_MIP int object SETHA_MIP(46)
  • SLOT_MUMMY int object MUMMY(47)
  • SLOT_MUMMY_MIP int object MUMMY_MIP(48)
  • SLOT_SPHINX int object SPHINX(49)
  • SLOT_SPHINX_MIP int object SPHINX_MIP(50)
  • SLOT_CROCODILE int object CROCODILE(51)
  • SLOT_CROCODILE_MIP int object CROCODILE_MIP(52)
  • SLOT_HORSEMAN int object HORSEMAN(53)
  • SLOT_HORSEMAN_MIP int object HORSEMAN_MIP(54)
  • SLOT_SCORPION int object SCORPION(55)
  • SLOT_SCORPION_MIP int object SCORPION_MIP(56)
  • SLOT_JEAN_YVES int object JEAN_YVES(57)
  • SLOT_JEAN_YVES_MIP int object JEAN_YVES_MIP(58)
  • SLOT_TROOPS int object TROOPS(59)
  • SLOT_TROOPS_MIP int object TROOPS_MIP(60)
  • SLOT_KNIGHTS_TEMPLAR int object KNIGHTS_TEMPLAR(61)
  • SLOT_KNIGHTS_TEMPLAR_MIP int object KNIGHTS_TEMPLAR_MIP(62)
  • SLOT_MUTANT int object MUTANT(63)
  • SLOT_MUTANT_MIP int object MUTANT_MIP(64)
  • SLOT_HORSE int object HORSE(65)
  • SLOT_HORSE_MIP int object HORSE_MIP(66)
  • SLOT_BABOON_NORMAL int object BABOON_NORMAL(67)
  • SLOT_BABOON_NORMAL_MIP int object BABOON_NORMAL_MIP(68)
  • SLOT_BABOON_INV int object BABOON_INV(69)
  • SLOT_BABOON_INV_MIP int object BABOON_INV_MIP(70)
  • SLOT_BABOON_SILENT int object BABOON_SILENT(71)
  • SLOT_BABOON_SILENT_MIP int object BABOON_SILENT_MIP(72)
  • SLOT_WILD_BOAR int object WILD_BOAR(73)
  • SLOT_WILD_BOAR_MIP int object WILD_BOAR_MIP(74)
  • SLOT_HARPY int object HARPY(75)
  • SLOT_HARPY_MIP int object HARPY_MIP(76)
  • SLOT_DEMIGOD1 int object DEMIGOD1(77)
  • SLOT_DEMIGOD1_MIP int object DEMIGOD1_MIP(78)
  • SLOT_DEMIGOD2 int object DEMIGOD2(79)
  • SLOT_DEMIGOD2_MIP int object DEMIGOD2_MIP(80)
  • SLOT_DEMIGOD3 int object DEMIGOD3(81)
  • SLOT_DEMIGOD3_MIP int object DEMIGOD3_MIP(82)
  • SLOT_LITTLE_BEETLE int object LITTLE_BEETLE(83)
  • SLOT_BIG_BEETLE int object BIG_BEETLE(84)
  • SLOT_BIG_BEETLE_MIP int object BIG_BEETLE_MIP(85)
  • SLOT_WRAITH1 int object WRAITH1(86)
  • SLOT_WRAITH2 int object WRAITH2(87)
  • SLOT_WRAITH3 int object WRAITH3(88)
  • SLOT_WRAITH4 int object WRAITH4(89)
  • SLOT_BAT int object BAT(90)
  • SLOT_DOG int object DOG(91)
  • SLOT_DOG_MIP int object DOG_MIP(92)
  • SLOT_HAMMERHEAD int object HAMMERHEAD(93)
  • SLOT_HAMMERHEAD_MIP int object HAMMERHEAD_MIP(94)
  • SLOT_SAS int object SAS(95)
  • SLOT_SAS_MIP int object SAS_MIP(96)
  • SLOT_SAS_DYING int object SAS_DYING(97)
  • SLOT_SAS_DYING_MIP int object SAS_DYING_MIP(98)
  • SLOT_SAS_CAPTAIN int object SAS_CAPTAIN(99)
  • SLOT_SAS_CAPTAIN_MIP int object SAS_CAPTAIN_MIP(100)
  • SLOT_SAS_DRAG_BLOKE int object SAS_DRAG_BLOKE(101)
  • SLOT_AHMET int object AHMET(102)
  • SLOT_AHMET_MIP int object AHMET_MIP(103)
  • SLOT_LARA_DOUBLE int object LARA_DOUBLE(104)
  • SLOT_LARA_DOUBLE_MIP int object LARA_DOUBLE_MIP(105)
  • SLOT_SMALL_SCORPION int object SMALL_SCORPION(106)
  • SLOT_FISH int object FISH(107)
  • SLOT_GAME_PIECE1 int object GAME_PIECE1(108)
  • SLOT_GAME_PIECE2 int object GAME_PIECE2(109)
  • SLOT_GAME_PIECE3 int object GAME_PIECE3(110)
  • SLOT_ENEMY_PIECE int object ENEMY_PIECE(111)
  • SLOT_WHEEL_OF_FORTUNE int object WHEEL_OF_FORTUNE(112)
  • SLOT_SCALES int object SCALES(113)
  • SLOT_DARTS int object DARTS(114)
  • SLOT_DART_EMITTER int object DART_EMITTER(115)
  • SLOT_HOMING_DART_EMITTER int object HOMING_DART_EMITTER(116)
  • SLOT_FALLING_CEILING int object FALLING_CEILING(117)
  • SLOT_FALLING_BLOCK int object FALLING_BLOCK(118)
  • SLOT_FALLING_BLOCK2 int object FALLING_BLOCK2(119)
  • SLOT_SMASHABLE_BIKE_WALL int object SMASHABLE_BIKE_WALL(120)
  • SLOT_SMASHABLE_BIKE_FLOOR int object SMASHABLE_BIKE_FLOOR(121)
  • SLOT_TRAPDOOR1 int object TRAPDOOR1(122)
  • SLOT_TRAPDOOR2 int object TRAPDOOR2(123)
  • SLOT_TRAPDOOR3 int object TRAPDOOR3(124)
  • SLOT_FLOOR_TRAPDOOR1 int object FLOOR_TRAPDOOR1(125)
  • SLOT_FLOOR_TRAPDOOR2 int object FLOOR_TRAPDOOR2(126)
  • SLOT_CEILING_TRAPDOOR1 int object CEILING_TRAPDOOR1(127)
  • SLOT_CEILING_TRAPDOOR2 int object CEILING_TRAPDOOR2(128)
  • SLOT_SCALING_TRAPDOOR int object SCALING_TRAPDOOR(129)
  • SLOT_ROLLINGBALL int object ROLLINGBALL(130)
  • SLOT_SPIKEY_FLOOR int object SPIKEY_FLOOR(131)
  • SLOT_TEETH_SPIKES int object TEETH_SPIKES(132)
  • SLOT_JOBY_SPIKES int object JOBY_SPIKES(133)
  • SLOT_SLICER_DICER int object SLICER_DICER(134)
  • SLOT_CHAIN int object CHAIN(135)
  • SLOT_PLOUGH int object PLOUGH(136)
  • SLOT_STARGATE int object STARGATE(137)
  • SLOT_HAMMER int object HAMMER(138)
  • SLOT_BURNING_FLOOR int object BURNING_FLOOR(139)
  • SLOT_COG int object COG(140)
  • SLOT_SPIKEBALL int object SPIKEBALL(141)
  • SLOT_FLAME int object FLAME(142)
  • SLOT_FLAME_EMITTER int object FLAME_EMITTER(143)
  • SLOT_FLAME_EMITTER2 int object FLAME_EMITTER2(144)
  • SLOT_FLAME_EMITTER3 int object FLAME_EMITTER3(145)
  • SLOT_ROPE int object ROPE(146)
  • SLOT_FIREROPE int object FIREROPE(147)
  • SLOT_POLEROPE int object POLEROPE(148)
  • SLOT_ONEBLOCK_PLATFORM int object ONEBLOCK_PLATFORM(149)
  • SLOT_TWOBLOCK_PLATFORM int object TWOBLOCK_PLATFORM(150)
  • SLOT_RAISING_BLOCK1 int object RAISING_BLOCK1(151)
  • SLOT_RAISING_BLOCK2 int object RAISING_BLOCK2(152)
  • SLOT_EXPANDING_PLATFORM int object EXPANDING_PLATFORM(153)
  • SLOT_SQUISHY_BLOCK1 int object SQUISHY_BLOCK1(154)
  • SLOT_SQUISHY_BLOCK2 int object SQUISHY_BLOCK2(155)
  • SLOT_PUSHABLE_OBJECT1 int object PUSHABLE_OBJECT1(156)
  • SLOT_PUSHABLE_OBJECT2 int object PUSHABLE_OBJECT2(157)
  • SLOT_PUSHABLE_OBJECT3 int object PUSHABLE_OBJECT3(158)
  • SLOT_PUSHABLE_OBJECT4 int object PUSHABLE_OBJECT4(159)
  • SLOT_PUSHABLE_OBJECT5 int object PUSHABLE_OBJECT5(160)
  • SLOT_TRIPWIRE int object TRIPWIRE(161)
  • SLOT_SENTRY_GUN int object SENTRY_GUN(162)
  • SLOT_MINE int object MINE(163)
  • SLOT_MAPPER int object MAPPER(164)
  • SLOT_OBELISK int object OBELISK(165)
  • SLOT_FLOOR_4BLADE int object FLOOR_4BLADE(166)
  • SLOT_ROOF_4BLADE int object ROOF_4BLADE(167)
  • SLOT_BIRD_BLADE int object BIRD_BLADE(168)
  • SLOT_CATWALK_BLADE int object CATWALK_BLADE(169)
  • SLOT_MOVING_BLADE int object MOVING_BLADE(170)
  • SLOT_PLINTH_BLADE int object PLINTH_BLADE(171)
  • SLOT_SETH_BLADE int object SETH_BLADE(172)
  • SLOT_LIGHTNING_CONDUCTOR int object LIGHTNING_CONDUCTOR(173)
  • SLOT_ELEMENT_PUZZLE int object ELEMENT_PUZZLE(174)
  • SLOT_PUZZLE_ITEM1 int object PUZZLE_ITEM1(175)
  • SLOT_PUZZLE_ITEM2 int object PUZZLE_ITEM2(176)
  • SLOT_PUZZLE_ITEM3 int object PUZZLE_ITEM3(177)
  • SLOT_PUZZLE_ITEM4 int object PUZZLE_ITEM4(178)
  • SLOT_PUZZLE_ITEM5 int object PUZZLE_ITEM5(179)
  • SLOT_PUZZLE_ITEM6 int object PUZZLE_ITEM6(180)
  • SLOT_PUZZLE_ITEM7 int object PUZZLE_ITEM7(181)
  • SLOT_PUZZLE_ITEM8 int object PUZZLE_ITEM8(182)
  • SLOT_PUZZLE_ITEM9 int object PUZZLE_ITEM9(183)
  • SLOT_PUZZLE_ITEM10 int object PUZZLE_ITEM10(184)
  • SLOT_PUZZLE_ITEM11 int object PUZZLE_ITEM11(185)
  • SLOT_PUZZLE_ITEM12 int object PUZZLE_ITEM12(186)
  • SLOT_PUZZLE_ITEM1_COMBO1 int object PUZZLE_ITEM1_COMBO1(187)
  • SLOT_PUZZLE_ITEM1_COMBO2 int object PUZZLE_ITEM1_COMBO2(188)
  • SLOT_PUZZLE_ITEM2_COMBO1 int object PUZZLE_ITEM2_COMBO1(189)
  • SLOT_PUZZLE_ITEM2_COMBO2 int object PUZZLE_ITEM2_COMBO2(190)
  • SLOT_PUZZLE_ITEM3_COMBO1 int object PUZZLE_ITEM3_COMBO1(191)
  • SLOT_PUZZLE_ITEM3_COMBO2 int object PUZZLE_ITEM3_COMBO2(192)
  • SLOT_PUZZLE_ITEM4_COMBO1 int object PUZZLE_ITEM4_COMBO1(193)
  • SLOT_PUZZLE_ITEM4_COMBO2 int object PUZZLE_ITEM4_COMBO2(194)
  • SLOT_PUZZLE_ITEM5_COMBO1 int object PUZZLE_ITEM5_COMBO1(195)
  • SLOT_PUZZLE_ITEM5_COMBO2 int object PUZZLE_ITEM5_COMBO2(196)
  • SLOT_PUZZLE_ITEM6_COMBO1 int object PUZZLE_ITEM6_COMBO1(197)
  • SLOT_PUZZLE_ITEM6_COMBO2 int object PUZZLE_ITEM6_COMBO2(198)
  • SLOT_PUZZLE_ITEM7_COMBO1 int object PUZZLE_ITEM7_COMBO1(199)
  • SLOT_PUZZLE_ITEM7_COMBO2 int object PUZZLE_ITEM7_COMBO2(200)
  • SLOT_PUZZLE_ITEM8_COMBO1 int object PUZZLE_ITEM8_COMBO1(201)
  • SLOT_PUZZLE_ITEM8_COMBO2 int object PUZZLE_ITEM8_COMBO2(202)
  • SLOT_KEY_ITEM1 int object KEY_ITEM1(203)
  • SLOT_KEY_ITEM2 int object KEY_ITEM2(204)
  • SLOT_KEY_ITEM3 int object KEY_ITEM3(205)
  • SLOT_KEY_ITEM4 int object KEY_ITEM4(206)
  • SLOT_KEY_ITEM5 int object KEY_ITEM5(207)
  • SLOT_KEY_ITEM6 int object KEY_ITEM6(208)
  • SLOT_KEY_ITEM7 int object KEY_ITEM7(209)
  • SLOT_KEY_ITEM8 int object KEY_ITEM8(210)
  • SLOT_KEY_ITEM9 int object KEY_ITEM9(211)
  • SLOT_KEY_ITEM10 int object KEY_ITEM10(212)
  • SLOT_KEY_ITEM11 int object KEY_ITEM11(213)
  • SLOT_KEY_ITEM12 int object KEY_ITEM12(214)
  • SLOT_KEY_ITEM1_COMBO1 int object KEY_ITEM1_COMBO1(215)
  • SLOT_KEY_ITEM1_COMBO2 int object KEY_ITEM1_COMBO2(216)
  • SLOT_KEY_ITEM2_COMBO1 int object KEY_ITEM2_COMBO1(217)
  • SLOT_KEY_ITEM2_COMBO2 int object KEY_ITEM2_COMBO2(218)
  • SLOT_KEY_ITEM3_COMBO1 int object KEY_ITEM3_COMBO1(219)
  • SLOT_KEY_ITEM3_COMBO2 int object KEY_ITEM3_COMBO2(220)
  • SLOT_KEY_ITEM4_COMBO1 int object KEY_ITEM4_COMBO1(221)
  • SLOT_KEY_ITEM4_COMBO2 int object KEY_ITEM4_COMBO2(222)
  • SLOT_KEY_ITEM5_COMBO1 int object KEY_ITEM5_COMBO1(223)
  • SLOT_KEY_ITEM5_COMBO2 int object KEY_ITEM5_COMBO2(224)
  • SLOT_KEY_ITEM6_COMBO1 int object KEY_ITEM6_COMBO1(225)
  • SLOT_KEY_ITEM6_COMBO2 int object KEY_ITEM6_COMBO2(226)
  • SLOT_KEY_ITEM7_COMBO1 int object KEY_ITEM7_COMBO1(227)
  • SLOT_KEY_ITEM7_COMBO2 int object KEY_ITEM7_COMBO2(228)
  • SLOT_KEY_ITEM8_COMBO1 int object KEY_ITEM8_COMBO1(229)
  • SLOT_KEY_ITEM8_COMBO2 int object KEY_ITEM8_COMBO2(230)
  • SLOT_PICKUP_ITEM1 int object PICKUP_ITEM1(231)
  • SLOT_PICKUP_ITEM2 int object PICKUP_ITEM2(232)
  • SLOT_PICKUP_ITEM3 int object PICKUP_ITEM3(233)
  • SLOT_PICKUP_ITEM4 int object PICKUP_ITEM4(234)
  • SLOT_PICKUP_ITEM1_COMBO1 int object PICKUP_ITEM1_COMBO1(235)
  • SLOT_PICKUP_ITEM1_COMBO2 int object PICKUP_ITEM1_COMBO2(236)
  • SLOT_PICKUP_ITEM2_COMBO1 int object PICKUP_ITEM2_COMBO1(237)
  • SLOT_PICKUP_ITEM2_COMBO2 int object PICKUP_ITEM2_COMBO2(238)
  • SLOT_PICKUP_ITEM3_COMBO1 int object PICKUP_ITEM3_COMBO1(239)
  • SLOT_PICKUP_ITEM3_COMBO2 int object PICKUP_ITEM3_COMBO2(240)
  • SLOT_PICKUP_ITEM4_COMBO1 int object PICKUP_ITEM4_COMBO1(241)
  • SLOT_PICKUP_ITEM4_COMBO2 int object PICKUP_ITEM4_COMBO2(242)
  • SLOT_EXAMINE1 int object EXAMINE1(243)
  • SLOT_EXAMINE2 int object EXAMINE2(244)
  • SLOT_EXAMINE3 int object EXAMINE3(245)
  • SLOT_CROWBAR_ITEM int object CROWBAR_ITEM(246)
  • SLOT_BURNING_TORCH_ITEM int object BURNING_TORCH_ITEM(247)
  • SLOT_CLOCKWORK_BEETLE int object CLOCKWORK_BEETLE(248)
  • SLOT_CLOCKWORK_BEETLE_COMBO1 int object CLOCKWORK_BEETLE_COMBO1(249)
  • SLOT_CLOCKWORK_BEETLE_COMBO2 int object CLOCKWORK_BEETLE_COMBO2(250)
  • SLOT_MINE_DETECTOR int object MINE_DETECTOR(251)
  • SLOT_QUEST_ITEM1 int object QUEST_ITEM1(252)
  • SLOT_QUEST_ITEM2 int object QUEST_ITEM2(253)
  • SLOT_QUEST_ITEM3 int object QUEST_ITEM3(254)
  • SLOT_QUEST_ITEM4 int object QUEST_ITEM4(255)
  • SLOT_QUEST_ITEM5 int object QUEST_ITEM5(256)
  • SLOT_QUEST_ITEM6 int object QUEST_ITEM6(257)
  • SLOT_MAP int object MAP(258)
  • SLOT_SECRET_MAP int object SECRET_MAP(259)
  • SLOT_PUZZLE_HOLE1 int object PUZZLE_HOLE1(260)
  • SLOT_PUZZLE_HOLE2 int object PUZZLE_HOLE2(261)
  • SLOT_PUZZLE_HOLE3 int object PUZZLE_HOLE3(262)
  • SLOT_PUZZLE_HOLE4 int object PUZZLE_HOLE4(263)
  • SLOT_PUZZLE_HOLE5 int object PUZZLE_HOLE5(264)
  • SLOT_PUZZLE_HOLE6 int object PUZZLE_HOLE6(265)
  • SLOT_PUZZLE_HOLE7 int object PUZZLE_HOLE7(266)
  • SLOT_PUZZLE_HOLE8 int object PUZZLE_HOLE8(267)
  • SLOT_PUZZLE_HOLE9 int object PUZZLE_HOLE9(268)
  • SLOT_PUZZLE_HOLE10 int object PUZZLE_HOLE10(269)
  • SLOT_PUZZLE_HOLE11 int object PUZZLE_HOLE11(270)
  • SLOT_PUZZLE_HOLE12 int object PUZZLE_HOLE12(271)
  • SLOT_PUZZLE_DONE1 int object PUZZLE_DONE1(272)
  • SLOT_PUZZLE_DONE2 int object PUZZLE_DONE2(273)
  • SLOT_PUZZLE_DONE3 int object PUZZLE_DONE3(274)
  • SLOT_PUZZLE_DONE4 int object PUZZLE_DONE4(275)
  • SLOT_PUZZLE_DONE5 int object PUZZLE_DONE5(276)
  • SLOT_PUZZLE_DONE6 int object PUZZLE_DONE6(277)
  • SLOT_PUZZLE_DONE7 int object PUZZLE_DONE7(278)
  • SLOT_PUZZLE_DONE8 int object PUZZLE_DONE8(279)
  • SLOT_PUZZLE_DONE9 int object PUZZLE_DONE9(280)
  • SLOT_PUZZLE_DONE10 int object PUZZLE_DONE10(281)
  • SLOT_PUZZLE_DONE11 int object PUZZLE_DONE11(282)
  • SLOT_PUZZLE_DONE12 int object PUZZLE_DONE12(283)
  • SLOT_KEY_HOLE1 int object KEY_HOLE1(284)
  • SLOT_KEY_HOLE2 int object KEY_HOLE2(285)
  • SLOT_KEY_HOLE3 int object KEY_HOLE3(286)
  • SLOT_KEY_HOLE4 int object KEY_HOLE4(287)
  • SLOT_KEY_HOLE5 int object KEY_HOLE5(288)
  • SLOT_KEY_HOLE6 int object KEY_HOLE6(289)
  • SLOT_KEY_HOLE7 int object KEY_HOLE7(290)
  • SLOT_KEY_HOLE8 int object KEY_HOLE8(291)
  • SLOT_KEY_HOLE9 int object KEY_HOLE9(292)
  • SLOT_KEY_HOLE10 int object KEY_HOLE10(293)
  • SLOT_KEY_HOLE11 int object KEY_HOLE11(294)
  • SLOT_KEY_HOLE12 int object KEY_HOLE12(295)
  • SLOT_WATERSKIN1_EMPTY int object WATERSKIN1_EMPTY(296)
  • SLOT_WATERSKIN1_1 int object WATERSKIN1_1(297)
  • SLOT_WATERSKIN1_2 int object WATERSKIN1_2(298)
  • SLOT_WATERSKIN1_3 int object WATERSKIN1_3(299)
  • SLOT_WATERSKIN2_EMPTY int object WATERSKIN2_EMPTY(300)
  • SLOT_WATERSKIN2_1 int object WATERSKIN2_1(301)
  • SLOT_WATERSKIN2_2 int object WATERSKIN2_2(302)
  • SLOT_WATERSKIN2_3 int object WATERSKIN2_3(303)
  • SLOT_WATERSKIN2_4 int object WATERSKIN2_4(304)
  • SLOT_WATERSKIN2_5 int object WATERSKIN2_5(305)
  • SLOT_SWITCH_TYPE1 int object SWITCH_TYPE1(306)
  • SLOT_SWITCH_TYPE2 int object SWITCH_TYPE2(307)
  • SLOT_SWITCH_TYPE3 int object SWITCH_TYPE3(308)
  • SLOT_SWITCH_TYPE4 int object SWITCH_TYPE4(309)
  • SLOT_SWITCH_TYPE5 int object SWITCH_TYPE5(310)
  • SLOT_SWITCH_TYPE6 int object SWITCH_TYPE6(311)
  • SLOT_SWITCH_TYPE7 int object SWITCH_TYPE7(312)
  • SLOT_SWITCH_TYPE8 int object SWITCH_TYPE8(313)
  • SLOT_UNDERWATER_SWITCH1 int object UNDERWATER_SWITCH1(314)
  • SLOT_UNDERWATER_SWITCH2 int object UNDERWATER_SWITCH2(315)
  • SLOT_TURN_SWITCH int object TURN_SWITCH(316)
  • SLOT_COG_SWITCH int object COG_SWITCH(317)
  • SLOT_LEVER_SWITCH int object LEVER_SWITCH(318)
  • SLOT_JUMP_SWITCH int object JUMP_SWITCH(319)
  • SLOT_CROWBAR_SWITCH int object CROWBAR_SWITCH(320)
  • SLOT_PULLEY int object PULLEY(321)
  • SLOT_DOOR_TYPE1 int object DOOR_TYPE1(322)
  • SLOT_DOOR_TYPE2 int object DOOR_TYPE2(323)
  • SLOT_DOOR_TYPE3 int object DOOR_TYPE3(324)
  • SLOT_DOOR_TYPE4 int object DOOR_TYPE4(325)
  • SLOT_DOOR_TYPE5 int object DOOR_TYPE5(326)
  • SLOT_DOOR_TYPE6 int object DOOR_TYPE6(327)
  • SLOT_DOOR_TYPE7 int object DOOR_TYPE7(328)
  • SLOT_DOOR_TYPE8 int object DOOR_TYPE8(329)
  • SLOT_PUSHPULL_DOOR1 int object PUSHPULL_DOOR1(330)
  • SLOT_PUSHPULL_DOOR2 int object PUSHPULL_DOOR2(331)
  • SLOT_KICK_DOOR1 int object KICK_DOOR1(332)
  • SLOT_KICK_DOOR2 int object KICK_DOOR2(333)
  • SLOT_UNDERWATER_DOOR int object UNDERWATER_DOOR(334)
  • SLOT_DOUBLE_DOORS int object DOUBLE_DOORS(335)
  • SLOT_BRIDGE_FLAT int object BRIDGE_FLAT(336)
  • SLOT_BRIDGE_TILT1 int object BRIDGE_TILT1(337)
  • SLOT_BRIDGE_TILT2 int object BRIDGE_TILT2(338)
  • SLOT_SARCOPHAGUS int object SARCOPHAGUS(339)
  • SLOT_SEQUENCE_DOOR1 int object SEQUENCE_DOOR1(340)
  • SLOT_SEQUENCE_SWITCH1 int object SEQUENCE_SWITCH1(341)
  • SLOT_SEQUENCE_SWITCH2 int object SEQUENCE_SWITCH2(342)
  • SLOT_SEQUENCE_SWITCH3 int object SEQUENCE_SWITCH3(343)
  • SLOT_SARCOPHAGUS_CUT int object SARCOPHAGUS_CUT(344)
  • SLOT_HORUS_STATUE int object HORUS_STATUE(345)
  • SLOT_GOD_HEAD int object GOD_HEAD(346)
  • SLOT_SETH_DOOR int object SETH_DOOR(347)
  • SLOT_STATUE_PLINTH int object STATUE_PLINTH(348)
  • SLOT_PISTOLS_ITEM int object PISTOLS_ITEM(349)
  • SLOT_PISTOLS_AMMO_ITEM int object PISTOLS_AMMO_ITEM(350)
  • SLOT_UZI_ITEM int object UZI_ITEM(351)
  • SLOT_UZI_AMMO_ITEM int object UZI_AMMO_ITEM(352)
  • SLOT_SHOTGUN_ITEM int object SHOTGUN_ITEM(353)
  • SLOT_SHOTGUN_AMMO1_ITEM int object SHOTGUN_AMMO1_ITEM(354)
  • SLOT_SHOTGUN_AMMO2_ITEM int object SHOTGUN_AMMO2_ITEM(355)
  • SLOT_CROSSBOW_ITEM int object CROSSBOW_ITEM(356)
  • SLOT_CROSSBOW_AMMO1_ITEM int object CROSSBOW_AMMO1_ITEM(357)
  • SLOT_CROSSBOW_AMMO2_ITEM int object CROSSBOW_AMMO2_ITEM(358)
  • SLOT_CROSSBOW_AMMO3_ITEM int object CROSSBOW_AMMO3_ITEM(359)
  • SLOT_CROSSBOW_BOLT int object CROSSBOW_BOLT(360)
  • SLOT_GRENADE_GUN_ITEM int object GRENADE_GUN_ITEM(361)
  • SLOT_GRENADE_GUN_AMMO1_ITEM int object GRENADE_GUN_AMMO1_ITEM(362)
  • SLOT_GRENADE_GUN_AMMO2_ITEM int object GRENADE_GUN_AMMO2_ITEM(363)
  • SLOT_GRENADE_GUN_AMMO3_ITEM int object GRENADE_GUN_AMMO3_ITEM(364)
  • SLOT_GRENADE int object GRENADE(365)
  • SLOT_SIXSHOOTER_ITEM int object SIXSHOOTER_ITEM(366)
  • SLOT_SIXSHOOTER_AMMO_ITEM int object SIXSHOOTER_AMMO_ITEM(367)
  • SLOT_BIGMEDI_ITEM int object BIGMEDI_ITEM(368)
  • SLOT_SMALLMEDI_ITEM int object SMALLMEDI_ITEM(369)
  • SLOT_LASERSIGHT_ITEM int object LASERSIGHT_ITEM(370)
  • SLOT_BINOCULARS_ITEM int object BINOCULARS_ITEM(371)
  • SLOT_FLARE_ITEM int object FLARE_ITEM(372)
  • SLOT_FLARE_INV_ITEM int object FLARE_INV_ITEM(373)
  • SLOT_DIARY_ITEM int object DIARY_ITEM(374)
  • SLOT_COMPASS_ITEM int object COMPASS_ITEM(375)
  • SLOT_MEMCARD_LOAD_INV_ITEM int object MEMCARD_LOAD_INV_ITEM(376)
  • SLOT_MEMCARD_SAVE_INV_ITEM int object MEMCARD_SAVE_INV_ITEM(377)
  • SLOT_PC_LOAD_INV_ITEM int object PC_LOAD_INV_ITEM(378)
  • SLOT_PC_SAVE_INV_ITEM int object PC_SAVE_INV_ITEM(379)
  • SLOT_SMOKE_EMITTER_WHITE int object SMOKE_EMITTER_WHITE(380)
  • SLOT_SMOKE_EMITTER_BLACK int object SMOKE_EMITTER_BLACK(381)
  • SLOT_STEAM_EMITTER int object STEAM_EMITTER(382)
  • SLOT_EARTHQUAKE int object EARTHQUAKE(383)
  • SLOT_BUBBLES int object BUBBLES(384)
  • SLOT_WATERFALLMIST int object WATERFALLMIST(385)
  • SLOT_GUNSHELL int object GUNSHELL(386)
  • SLOT_SHOTGUNSHELL int object SHOTGUNSHELL(387)
  • SLOT_GUN_FLASH int object GUN_FLASH(388)
  • SLOT_BUTTERFLY int object BUTTERFLY(389)
  • SLOT_SPRINKLER int object SPRINKLER(390)
  • SLOT_RED_LIGHT int object RED_LIGHT(391)
  • SLOT_GREEN_LIGHT int object GREEN_LIGHT(392)
  • SLOT_BLUE_LIGHT int object BLUE_LIGHT(393)
  • SLOT_AMBER_LIGHT int object AMBER_LIGHT(394)
  • SLOT_WHITE_LIGHT int object WHITE_LIGHT(395)
  • SLOT_BLINKING_LIGHT int object BLINKING_LIGHT(396)
  • SLOT_LENS_FLARE int object LENS_FLARE(397)
  • SLOT_AI_GUARD int object AI_GUARD(398)
  • SLOT_AI_AMBUSH int object AI_AMBUSH(399)
  • SLOT_AI_PATROL1 int object AI_PATROL1(400)
  • SLOT_AI_MODIFY int object AI_MODIFY(401)
  • SLOT_AI_FOLLOW int object AI_FOLLOW(402)
  • SLOT_AI_PATROL2 int object AI_PATROL2(403)
  • SLOT_AI_X1 int object AI_X1(404)
  • SLOT_AI_X2 int object AI_X2(405)
  • SLOT_LARA_START_POS int object LARA_START_POS(406)
  • SLOT_KILL_ALL_TRIGGERS int object KILL_ALL_TRIGGERS(407)
  • SLOT_TRIGGER_TRIGGERER int object TRIGGER_TRIGGERER(408)
  • SLOT_SMASH_OBJECT1 int object SMASH_OBJECT1(409)
  • SLOT_SMASH_OBJECT2 int object SMASH_OBJECT2(410)
  • SLOT_SMASH_OBJECT3 int object SMASH_OBJECT3(411)
  • SLOT_SMASH_OBJECT4 int object SMASH_OBJECT4(412)
  • SLOT_SMASH_OBJECT5 int object SMASH_OBJECT5(413)
  • SLOT_SMASH_OBJECT6 int object SMASH_OBJECT6(414)
  • SLOT_SMASH_OBJECT7 int object SMASH_OBJECT7(415)
  • SLOT_SMASH_OBJECT8 int object SMASH_OBJECT8(416)
  • SLOT_MESHSWAP1 int object MESHSWAP1(417)
  • SLOT_MESHSWAP2 int object MESHSWAP2(418)
  • SLOT_MESHSWAP3 int object MESHSWAP3(419)
  • SLOT_DEATH_SLIDE int object DEATH_SLIDE(420)
  • SLOT_BODY_PART int object BODY_PART(421)
  • SLOT_CAMERA_TARGET int object CAMERA_TARGET(422)
  • SLOT_WATERFALL1 int object WATERFALL1(423)
  • SLOT_WATERFALL2 int object WATERFALL2(424)
  • SLOT_WATERFALL3 int object WATERFALL3(425)
  • SLOT_PLANET_EFFECT int object PLANET_EFFECT(426)
  • SLOT_ANIMATING1 int object ANIMATING1(427)
  • SLOT_ANIMATING1_MIP int object ANIMATING1_MIP(428)
  • SLOT_ANIMATING2 int object ANIMATING2(429)
  • SLOT_ANIMATING2_MIP int object ANIMATING2_MIP(430)
  • SLOT_ANIMATING3 int object ANIMATING3(431)
  • SLOT_ANIMATING3_MIP int object ANIMATING3_MIP(432)
  • SLOT_ANIMATING4 int object ANIMATING4(433)
  • SLOT_ANIMATING4_MIP int object ANIMATING4_MIP(434)
  • SLOT_ANIMATING5 int object ANIMATING5(435)
  • SLOT_ANIMATING5_MIP int object ANIMATING5_MIP(436)
  • SLOT_ANIMATING6 int object ANIMATING6(437)
  • SLOT_ANIMATING6_MIP int object ANIMATING6_MIP(438)
  • SLOT_ANIMATING7 int object ANIMATING7(439)
  • SLOT_ANIMATING7_MIP int object ANIMATING7_MIP(440)
  • SLOT_ANIMATING8 int object ANIMATING8(441)
  • SLOT_ANIMATING8_MIP int object ANIMATING8_MIP(442)
  • SLOT_ANIMATING9 int object ANIMATING9(443)
  • SLOT_ANIMATING9_MIP int object ANIMATING9_MIP(444)
  • SLOT_ANIMATING10 int object ANIMATING10(445)
  • SLOT_ANIMATING10_MIP int object ANIMATING10_MIP(446)
  • SLOT_ANIMATING11 int object ANIMATING11(447)
  • SLOT_ANIMATING11_MIP int object ANIMATING11_MIP(448)
  • SLOT_ANIMATING12 int object ANIMATING12(449)
  • SLOT_ANIMATING12_MIP int object ANIMATING12_MIP(450)
  • SLOT_ANIMATING13 int object ANIMATING13(451)
  • SLOT_ANIMATING13_MIP int object ANIMATING13_MIP(452)
  • SLOT_ANIMATING14 int object ANIMATING14(453)
  • SLOT_ANIMATING14_MIP int object ANIMATING14_MIP(454)
  • SLOT_ANIMATING15 int object ANIMATING15(455)
  • SLOT_ANIMATING15_MIP int object ANIMATING15_MIP(456)
  • SLOT_ANIMATING16 int object ANIMATING16(457)
  • SLOT_ANIMATING16_MIP int object ANIMATING16_MIP(458)
  • SLOT_HORIZON int object HORIZON(459)
  • SLOT_SKY_GRAPHICS int object SKY_GRAPHICS(460)
  • SLOT_BINOCULAR_GRAPHICS int object BINOCULAR_GRAPHICS(461)
  • SLOT_TARGET_GRAPHICS int object TARGET_GRAPHICS(462)
  • SLOT_DEFAULT_SPRITES int object DEFAULT_SPRITES(463)
  • SLOT_MISC_SPRITES int object MISC_SPRITES(464)
  • SLOT_MOTOR_BOAT int object MOTOR_BOAT(465)
  • SLOT_MOTOR_BOAT_LARA int object MOTOR_BOAT_LARA(466)
  • SLOT_RUBBER_BOAT int object RUBBER_BOAT(467)
  • SLOT_RUBBER_BOAT_LARA int object RUBBER_BOAT_LARA(468)
  • SLOT_MOTORBIKE_LARA int object MOTORBIKE_LARA(469)
  • SLOT_FONT_GRAPHICS int object FONT_GRAPHICS(470)
  • SLOT_PARALLEL_BARS int object PARALLEL_BARS(471)
  • SLOT_PANEL_BORDER int object PANEL_BORDER(472)
  • SLOT_PANEL_MIDDLE int object PANEL_MIDDLE(473)
  • SLOT_PANEL_CORNER int object PANEL_CORNER(474)
  • SLOT_PANEL_DIAGONAL int object PANEL_DIAGONAL(475)
  • SLOT_PANEL_STRIP int object PANEL_STRIP(476)
  • SLOT_PANEL_HALF_BORDER1 int object PANEL_HALF_BORDER1(477)
  • SLOT_PANEL_HALF_BORDER2 int object PANEL_HALF_BORDER2(478)
  • SLOT_PANEL_MIDDLE_CORNER int object PANEL_MIDDLE_CORNER(479)
  • SLOT_TIGHT_ROPE int object TIGHT_ROPE(480)
  • SLOT_LASER_HEAD int object LASER_HEAD(481)
  • SLOT_LASER_HEAD_BASE int object LASER_HEAD_BASE(482)
  • SLOT_LASER_HEAD_TENTACLE int object LASER_HEAD_TENTACLE(483)
  • SLOT_HYDRA int object HYDRA(484)
  • SLOT_HYDRA_MISSILE int object HYDRA_MISSILE(485)
  • SLOT_ENEMY_SUB_MARINE int object ENEMY_SUB_MARINE(486)
  • SLOT_ENEMY_SUB_MARINE_MIP int object ENEMY_SUB_MARINE_MIP(487)
  • SLOT_SUB_MARINE_MISSILE int object SUB_MARINE_MISSILE(488)
  • SLOT_FROG_MAN int object FROG_MAN(489)
  • SLOT_FROG_MAN_HARPOON int object FROG_MAN_HARPOON(490)
  • SLOT_FISH_EMITTER int object FISH_EMITTER(491)
  • SLOT_KAYAK int object KAYAK(492)
  • SLOT_KAYAK_LARA int object KAYAK_LARA(493)
  • SLOT_CUSTOM_SPRITES int object CUSTOM_SPRITES(494)
  • SLOT_BRIDGE_TILT3 int object BRIDGE_TILT3(495)
  • SLOT_BRIDGE_TILT4 int object BRIDGE_TILT4(496)
  • SLOT_BRIDGE_CUSTOM int object BRIDGE_CUSTOM(497)
  • SLOT_ROBOT_CLEANER int object ROBOT_CLEANER(498)
  • SLOT_ROBOT_STAR_WARS int object ROBOT_STAR_WARS(499)
  • SLOT_MECH_WARRIOR int object MECH_WARRIOR(500)
  • SLOT_MECH_WARRIOR_LARA int object MECH_WARRIOR_LARA(501)
  • SLOT_UW_PROPULSOR int object UW_PROPULSOR(502)
  • SLOT_UW_PROPULSOR_LARA int object UW_PROPULSOR_LARA(503)
  • SLOT_MINE_CART int object MINE_CART(504)
  • SLOT_MINE_CART_LARA int object MINE_CART_LARA(505)
  • SLOT_NEW_SLOT5 int object NEW_SLOT5(506)
  • SLOT_NEW_SLOT6 int object NEW_SLOT6(507)
  • SLOT_NEW_SLOT7 int object NEW_SLOT7(508)
  • SLOT_NEW_SLOT8 int object NEW_SLOT8(509)
  • SLOT_NEW_SLOT9 int object NEW_SLOT9(510)
  • SLOT_NEW_SLOT10 int object NEW_SLOT10(511)
  • SLOT_NEW_SLOT11 int object NEW_SLOT11(512)
  • SLOT_NEW_SLOT12 int object NEW_SLOT12(513)
  • SLOT_NEW_SLOT13 int object NEW_SLOT13(514)
  • SLOT_NEW_SLOT14 int object NEW_SLOT14(515)
  • SLOT_NEW_SLOT15 int object NEW_SLOT15(516)
  • SLOT_NEW_SLOT16 int object NEW_SLOT16(517)
  • SLOT_NEW_SLOT17 int object NEW_SLOT17(518)
  • SLOT_NEW_SLOT18 int object NEW_SLOT18(519)
STATICSLOT
Static object slot constants.

Constants:

  • STATICSLOT_PLANT0 int static PLANT0
  • STATICSLOT_PLANT1 int static PLANT1
  • STATICSLOT_PLANT2 int static PLANT2
  • STATICSLOT_PLANT3 int static PLANT3
  • STATICSLOT_PLANT4 int static PLANT4
  • STATICSLOT_PLANT5 int static PLANT5
  • STATICSLOT_PLANT6 int static PLANT6
  • STATICSLOT_PLANT7 int static PLANT7
  • STATICSLOT_PLANT8 int static PLANT8
  • STATICSLOT_PLANT9 int static PLANT9
  • STATICSLOT_FURNITURE0 int static FURNITURE0
  • STATICSLOT_FURNITURE1 int static FURNITURE1
  • STATICSLOT_FURNITURE2 int static FURNITURE2
  • STATICSLOT_FURNITURE3 int static FURNITURE3
  • STATICSLOT_FURNITURE4 int static FURNITURE4
  • STATICSLOT_FURNITURE5 int static FURNITURE5
  • STATICSLOT_FURNITURE6 int static FURNITURE6
  • STATICSLOT_FURNITURE7 int static FURNITURE7
  • STATICSLOT_FURNITURE8 int static FURNITURE8
  • STATICSLOT_FURNITURE9 int static FURNITURE9
  • STATICSLOT_ROCK0 int static ROCK0
  • STATICSLOT_ROCK1 int static ROCK1
  • STATICSLOT_ROCK2 int static ROCK2
  • STATICSLOT_ROCK3 int static ROCK3
  • STATICSLOT_ROCK4 int static ROCK4
  • STATICSLOT_ROCK5 int static ROCK5
  • STATICSLOT_ROCK6 int static ROCK6
  • STATICSLOT_ROCK7 int static ROCK7
  • STATICSLOT_ROCK8 int static ROCK8
  • STATICSLOT_ROCK9 int static ROCK9
  • STATICSLOT_ARCHITECTURE0 int static ARCHITECTURE0
  • STATICSLOT_ARCHITECTURE1 int static ARCHITECTURE1
  • STATICSLOT_ARCHITECTURE2 int static ARCHITECTURE2
  • STATICSLOT_ARCHITECTURE3 int static ARCHITECTURE3
  • STATICSLOT_ARCHITECTURE4 int static ARCHITECTURE4
  • STATICSLOT_ARCHITECTURE5 int static ARCHITECTURE5
  • STATICSLOT_ARCHITECTURE6 int static ARCHITECTURE6
  • STATICSLOT_ARCHITECTURE7 int static ARCHITECTURE7
  • STATICSLOT_ARCHITECTURE8 int static ARCHITECTURE8
  • STATICSLOT_ARCHITECTURE9 int static ARCHITECTURE9
  • STATICSLOT_DEBRIS0 int static DEBRIS0
  • STATICSLOT_DEBRIS1 int static DEBRIS1
  • STATICSLOT_DEBRIS2 int static DEBRIS2
  • STATICSLOT_DEBRIS3 int static DEBRIS3
  • STATICSLOT_DEBRIS4 int static DEBRIS4
  • STATICSLOT_DEBRIS5 int static DEBRIS5
  • STATICSLOT_DEBRIS6 int static DEBRIS6
  • STATICSLOT_DEBRIS7 int static DEBRIS7
  • STATICSLOT_DEBRIS8 int static DEBRIS8
  • STATICSLOT_DEBRIS9 int static DEBRIS9
  • STATICSLOT_SHATTER0 int static SHATTER0
  • STATICSLOT_SHATTER1 int static SHATTER1
  • STATICSLOT_SHATTER2 int static SHATTER2
  • STATICSLOT_SHATTER3 int static SHATTER3
  • STATICSLOT_SHATTER4 int static SHATTER4
  • STATICSLOT_SHATTER5 int static SHATTER5
  • STATICSLOT_SHATTER6 int static SHATTER6
  • STATICSLOT_SHATTER7 int static SHATTER7
  • STATICSLOT_SHATTER8 int static SHATTER8
  • STATICSLOT_SHATTER9 int static SHATTER9
  • STATICSLOT_EXTRA00 int static EXTRA00
  • STATICSLOT_EXTRA01 int static EXTRA01
  • STATICSLOT_EXTRA02 int static EXTRA02
  • STATICSLOT_EXTRA03 int static EXTRA03
  • STATICSLOT_EXTRA04 int static EXTRA04
  • STATICSLOT_EXTRA05 int static EXTRA05
  • STATICSLOT_EXTRA06 int static EXTRA06
  • STATICSLOT_EXTRA07 int static EXTRA07
  • STATICSLOT_EXTRA08 int static EXTRA08
  • STATICSLOT_EXTRA09 int static EXTRA09
  • STATICSLOT_EXTRA10 int static EXTRA10
  • STATICSLOT_EXTRA11 int static EXTRA11
  • STATICSLOT_EXTRA12 int static EXTRA12
  • STATICSLOT_EXTRA13 int static EXTRA13
  • STATICSLOT_EXTRA14 int static EXTRA14
  • STATICSLOT_EXTRA15 int static EXTRA15
  • STATICSLOT_EXTRA16 int static EXTRA16
  • STATICSLOT_EXTRA17 int static EXTRA17
  • STATICSLOT_EXTRA18 int static EXTRA18
  • STATICSLOT_EXTRA19 int static EXTRA19
  • STATICSLOT_EXTRA20 int static EXTRA20
  • STATICSLOT_EXTRA21 int static EXTRA21
  • STATICSLOT_EXTRA22 int static EXTRA22
  • STATICSLOT_EXTRA23 int static EXTRA23
  • STATICSLOT_EXTRA24 int static EXTRA24
  • STATICSLOT_EXTRA25 int static EXTRA25
  • STATICSLOT_EXTRA26 int static EXTRA26
  • STATICSLOT_EXTRA27 int static EXTRA27
  • STATICSLOT_EXTRA28 int static EXTRA28
  • STATICSLOT_EXTRA29 int static EXTRA29
  • STATICSLOT_EXTRA30 int static EXTRA30
  • STATICSLOT_EXTRA31 int static EXTRA31
  • STATICSLOT_EXTRA32 int static EXTRA32
  • STATICSLOT_EXTRA33 int static EXTRA33
  • STATICSLOT_EXTRA34 int static EXTRA34
  • STATICSLOT_EXTRA35 int static EXTRA35
  • STATICSLOT_EXTRA36 int static EXTRA36
  • STATICSLOT_EXTRA37 int static EXTRA37
  • STATICSLOT_EXTRA38 int static EXTRA38
  • STATICSLOT_EXTRA39 int static EXTRA39
  • STATICSLOT_EXTRA40 int static EXTRA40
  • STATICSLOT_EXTRA41 int static EXTRA41
  • STATICSLOT_EXTRA42 int static EXTRA42
  • STATICSLOT_EXTRA43 int static EXTRA43
  • STATICSLOT_EXTRA44 int static EXTRA44
  • STATICSLOT_EXTRA45 int static EXTRA45
  • STATICSLOT_EXTRA46 int static EXTRA46
  • STATICSLOT_EXTRA47 int static EXTRA47
  • STATICSLOT_EXTRA48 int static EXTRA48
  • STATICSLOT_EXTRA49 int static EXTRA49
  • STATICSLOT_EXTRA50 int static EXTRA50
  • STATICSLOT_EXTRA51 int static EXTRA51
  • STATICSLOT_EXTRA52 int static EXTRA52
  • STATICSLOT_EXTRA53 int static EXTRA53
  • STATICSLOT_EXTRA54 int static EXTRA54
  • STATICSLOT_EXTRA55 int static EXTRA55
  • STATICSLOT_EXTRA56 int static EXTRA56
  • STATICSLOT_EXTRA57 int static EXTRA57
  • STATICSLOT_EXTRA58 int static EXTRA58
  • STATICSLOT_EXTRA59 int static EXTRA59
  • STATICSLOT_EXTRA60 int static EXTRA60
  • STATICSLOT_EXTRA61 int static EXTRA61
  • STATICSLOT_EXTRA62 int static EXTRA62
  • STATICSLOT_EXTRA63 int static EXTRA63
  • STATICSLOT_EXTRA64 int static EXTRA64
  • STATICSLOT_EXTRA65 int static EXTRA65
  • STATICSLOT_EXTRA66 int static EXTRA66
  • STATICSLOT_EXTRA67 int static EXTRA67
  • STATICSLOT_EXTRA68 int static EXTRA68
  • STATICSLOT_EXTRA69 int static EXTRA69
  • STATICSLOT_EXTRA70 int static EXTRA70
  • STATICSLOT_EXTRA71 int static EXTRA71
  • STATICSLOT_EXTRA72 int static EXTRA72
  • STATICSLOT_EXTRA73 int static EXTRA73
  • STATICSLOT_EXTRA74 int static EXTRA74
  • STATICSLOT_EXTRA75 int static EXTRA75
  • STATICSLOT_EXTRA76 int static EXTRA76
  • STATICSLOT_EXTRA77 int static EXTRA77
  • STATICSLOT_EXTRA78 int static EXTRA78
  • STATICSLOT_EXTRA79 int static EXTRA79
  • STATICSLOT_EXTRA80 int static EXTRA80
  • STATICSLOT_EXTRA81 int static EXTRA81
  • STATICSLOT_EXTRA82 int static EXTRA82
  • STATICSLOT_EXTRA83 int static EXTRA83
  • STATICSLOT_EXTRA84 int static EXTRA84
  • STATICSLOT_EXTRA85 int static EXTRA85
  • STATICSLOT_EXTRA86 int static EXTRA86
  • STATICSLOT_EXTRA87 int static EXTRA87
  • STATICSLOT_EXTRA88 int static EXTRA88
  • STATICSLOT_EXTRA89 int static EXTRA89
  • STATICSLOT_EXTRA90 int static EXTRA90
  • STATICSLOT_EXTRA91 int static EXTRA91
  • STATICSLOT_EXTRA92 int static EXTRA92
  • STATICSLOT_EXTRA93 int static EXTRA93
  • STATICSLOT_EXTRA94 int static EXTRA94
  • STATICSLOT_EXTRA95 int static EXTRA95
  • STATICSLOT_EXTRA96 int static EXTRA96
  • STATICSLOT_EXTRA97 int static EXTRA97
  • STATICSLOT_EXTRA98 int static EXTRA98
  • STATICSLOT_EXTRA99 int static EXTRA99
generated by LDoc 1.5.0 Last updated 2026-05-09 21:24:47
]==]