Merge branch 'develop' into Tomo-Fireflies

This commit is contained in:
Lwmte 2025-03-17 21:56:05 +01:00
commit 6306be1a59
194 changed files with 9987 additions and 2482 deletions

View file

@ -3,9 +3,16 @@
The dates are in European standard format where date is presented as **YYYY-MM-DD**.
TombEngine releases are located in this repository (alongside with Tomb Editor): https://github.com/TombEngine/TombEditorReleases
## [Version 1.8](link to release) - yyyy-mm-dd
## [Version 1.8.1](link to release) - yyyy-mm-dd
### Bug fixes
* Fixed particles remaining in the level after reloading from the savegame.
* Fixed particles being canceled by fog bulbs.
## [Version 1.8](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.8) - 2025-03-16
### Bug fixes
* Improved engine performance up to 20%.
* Fixed bridges moving the player when the player is underwater.
* Fixed trigger triggerer not working.
* Fixed display pickup numeric string not being interpolated in high framerate mode.
@ -13,30 +20,48 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fixed incorrect handling of dynamic light shadows.
* Fixed ricochet flashes after using explosive weapons.
* Fixed incorrect flare draw in crawl state.
* Fixed starfield remaining active in the next level if next level does not have a starfield specified.
* Fixed starfield remaining active in the next level if it does not have a starfield specified.
* Fixed underwater dust particles overflowing when camera is underwater.
* Fixed wetness player attribute not being preserved in savegames.
* Fixed invisible HK ammo in the inventory.
* Fixed flickering rat emitter.
* Fixed camera glitch when going into quicksand rooms with weapons drawn.
* Fixed player model submerging into the floor while swimming underwater.
* Fixed custom shatter sounds with custom sound IDs not playing correctly.
* Fixed crashes with sound samples larger than 2 megabytes.
### New Features
* Added multithreading and an option for it to flow system settings.
* Added ability to use keys and puzzle items underwater.
* Added ability to use floor trapdoors, keys and puzzle items underwater.
- You must update your Lara object: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Lara/TEN_Lara.wad2
* Added a particle based waterfall emitter object and associated sprite slots.
- You must use this version: https://github.com/TombEngine/Resources/raw/refs/heads/main/Wad2%20Objects/Interactables/TEN_Waterfall_Emitter.wad2
* Added TR1 Hammer.
- You must use this version: <https://github.com/TombEngine/Resources/raw/refs/heads/main/Wad2%20Objects/Traps/TR1_Thor%20Hammer.wad2>
* Added TR3 Moving Laser.
* Added TR4 Statue Plinth.
### Lua API changes
* Added diary module.
* Added View.GetFlyByPosition() and View.GetFlyByRotation() functions to get flyby sequence parameters at a specified time point.
* Added Effects.EmitAirBubble() function to spawn air bubbles.
* Added Moveable:GetScale() and Movebale:SetScale() methods to set visible scale of moveables.
* Added Rotation:Lerp() function to allow linear interpolation between rotations.
* Added various Translate() methods to Vec2 and Vec3 script objects.
* Added alpha transparency functionality for statics and moveables by using SetColor() method.
* Added extra arguments for sprite object slots and starting rotation value for EmitParticle function.
* Added custom bar module.
* Added `Collision.Probe` class for basic room collision detection.
* Added `Flow.Horizon` class and two layers of horizons in a `Flow.Level` class.
* Added `Effects.EmitAdvancedParticle` function, allowing animations and other effects.
* Added `Effects.EmitAirBubble` function to spawn air bubbles.
* Added `Effects.EmitStreamer` function to emit streamers.
* Added `Flow.GetTotalSecretCount` function to get total amount of secrets in the game.
* Added `View.GetFlyByPosition` and `View.GetFlyByRotation` functions to get flyby sequence parameters at a specified time point.
* Added `Moveable:GetScale` and `Movebale:SetScale` methods to get or set visible scale of moveables.
* Added `Static:GetCollidable` and `Static:SetCollidable` methods to get or set collision status of static meshes.
* Added `Rotation:Lerp` function to allow linear interpolation between rotations.
* Added ability to perform additive and subtractive operations on `Rotation` class and compare one `Rotation` to another.
* Added various `Translate` methods to `Vec2` and `Vec3` script objects.
* Added alpha transparency functionality for statics and moveables to be used with `SetColor` method.
* Added extra arguments for sprite object slots and starting rotation value for `EmitParticle` function.
* Added ability to dynamically change `Flow.Level` weather and environment parameters and save them to a savegame.
* Added pickup count to `Flow.Statistics` class.
* Changed `Flow.Starfield` and `Flow.LensFlare` primitive types to use parameters instead of getters and setters.
* Fixed medipack level count in `Flow.Statistics` class.
## [Version 1.7.1](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7.4) - 2025-04-01

View file

@ -12,27 +12,27 @@ new_type("luautil", "5 Lua utility modules", true)
not_luadoc = true
local version = "1.7.2 (Developer)"
local version = "1.8"
project = "&nbsp;TombEngine"
title = "TombEngine " .. version .. " Lua API"
description = "TombEngine " .. version .. " scripting interface"
full_description = [[Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
full_description = [[Welcome to the TombEngine scripting API.
Note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.
####Module Hierarchy (boring but important)
Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
####Module Hierarchy
Other than the "special tables" (`GameVars`, `LevelVars` and `LevelFuncs`), every module described herein is held in a master table called TEN.
For convenience, these modules and classes are automatically put in the global table. For example, you can call GetMoveableByName either of these two ways:
local door = TEN.Objects.GetMoveableByName("door_type4_14")
local door = GetMoveableByName("door_type4_14")
####Always check logs/TENLog.txt
If you are scripting levels, TombEngine will often kick you back to the title screen, even if `errorMode` (see Flow.Settings) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
If you are scripting levels, TombEngine will often kick you back to the title screen, even if `errorMode` (see @{Flow.Settings}) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing `end` at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing `end` at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless. If this happens, check __logs/TENLog.txt__ and look for an error message with the word "unrecoverable".
If this happens, check __logs/TENLog.txt__ and look for an error message with the word "unrecoverable".
Enjoy.
Happy building!
\- _squidshire and the TombEngine development team._
]]

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -118,14 +124,18 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#EmitLightningArc">EmitLightningArc(src, dest, color, lifetime, amplitude, beamWidth, detail, smooth, endDrift)</a></td>
<td class="name" ><a href="#EmitLightningArc">EmitLightningArc(origin, target, color, life, amplitude, beamWidth, detail, smooth, endDrift)</a></td>
<td class="summary">Emit a lightning arc.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitParticle">EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, applyDamage, applyPoison, spriteSeqID, startRot)</a></td>
<td class="name" ><a href="#EmitParticle">EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, damage, poison, spriteSeqID, startRot)</a></td>
<td class="summary">Emit a particle.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitAdvancedParticle">EmitAdvancedParticle(ParticleData)</a></td>
<td class="summary">Emit a particle with extensive configuration options, including sprite sequence animation, lights, sounds, and damage effects.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitShockwave">EmitShockwave(pos, innerRadius, outerRadius, color, lifetime, speed, angle, hurtsLara)</a></td>
<td class="summary">Emit a shockwave, similar to that seen when a harpy projectile hits something.</td>
</tr>
@ -143,7 +153,7 @@
</tr>
<tr>
<td class="name" ><a href="#EmitAirBubble">EmitAirBubble(pos[, size][, amp])</a></td>
<td class="summary">Emit air bubble in a water room.</td>
<td class="summary">Emit an air bubble in a water room.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitFire">EmitFire(pos, size)</a></td>
@ -161,6 +171,17 @@
<td class="name" ><a href="#GetWind">GetWind()</a></td>
<td class="summary">Get the wind vector for the current game frame.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitStreamer">EmitStreamer(mov, tag, pos, dir[, rot][, startColor][, endColor][, width][, life][, vel][, expRate][, rotRate][, edgeFeatherMode][, lengthFeatherMode][, blendID])</a></td>
<td class="summary">Emit an extending streamer effect.</td>
</tr>
</table>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#ParticleData">ParticleData</a></td>
<td class="summary">Structure for EmitAdvancedParticle table.</td>
</tr>
</table>
<br/>
@ -172,7 +193,7 @@
<dl class="function">
<dt>
<a name = "EmitLightningArc"></a>
<strong>EmitLightningArc(src, dest, color, lifetime, amplitude, beamWidth, detail, smooth, endDrift)</strong>
<strong>EmitLightningArc(origin, target, color, life, amplitude, beamWidth, detail, smooth, endDrift)</strong>
</dt>
<dd>
Emit a lightning arc.
@ -181,13 +202,13 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">src</span>
<li><span class="parameter">origin</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
</li>
<li><span class="parameter">dest</span>
<li><span class="parameter">target</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
@ -197,29 +218,29 @@
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
(default Color(255, 255, 255))
</li>
<li><span class="parameter">lifetime</span>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifetime in seconds. Clamped to [0, 4.233] for now because of strange internal maths. (default 1.0)
Lifetime in seconds. Clamped to [0, 4.233] for now because of strange internal maths. <strong>default: 1</strong>
</li>
<li><span class="parameter">amplitude</span>
<span class="types"><span class="type">int</span></span>
"strength" of the lightning - the higher the value, the "taller" the arcs. Clamped to [1, 255]. (default 20)
"strength" of the lightning - the higher the value, the "taller" the arcs. Clamped to [1, 255]. <strong>default: 20</strong>
</li>
<li><span class="parameter">beamWidth</span>
<span class="types"><span class="type">int</span></span>
Clamped to [1, 127]. (default 2)
Clamped to [1, 127]. <strong>default 2</strong>
</li>
<li><span class="parameter">detail</span>
<span class="types"><span class="type">int</span></span>
Higher numbers equal more segments, but it's not a 1:1 correlation. Clamped to [1, 127]. (default 10)
Higher numbers equal more segments, but it's not a 1:1 correlation. Clamped to [1, 127]. <strong>default: 10</strong>
</li>
<li><span class="parameter">smooth</span>
<span class="types"><span class="type">bool</span></span>
If true, the arc will have large, smooth curves; if false, it will have small, jagged spikes. (default false)
If true, the arc will have large, smooth curves; if false, it will have small, jagged spikes. <strong>default: false</strong>
</li>
<li><span class="parameter">endDrift</span>
<span class="types"><span class="type">bool</span></span>
If true, the end of the arc will be able to gradually drift away from its destination in a random direction (default false)
If true, the end of the arc will be able to gradually drift away from its destination in a random direction <strong>default: false</strong>
</li>
</ul>
@ -230,7 +251,7 @@
</dd>
<dt>
<a name = "EmitParticle"></a>
<strong>EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, applyDamage, applyPoison, spriteSeqID, startRot)</strong>
<strong>EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, damage, poison, spriteSeqID, startRot)</strong>
</dt>
<dd>
Emit a particle.
@ -245,59 +266,59 @@
</li>
<li><span class="parameter">vel</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Velocity.
Directional velocity.
</li>
<li><span class="parameter">spriteID</span>
<span class="types"><span class="type">int</span></span>
ID of the sprite in the sprite sequence object.
Sprite ID in the sprite sequence slot.
</li>
<li><span class="parameter">gravity</span>
<span class="types"><span class="type">float</span></span>
Specifies if the particle will fall over time. Positive values ascend, negative values descend. Recommended range: [-1000 and 1000]. <strong>Default: 0</strong>
Effect of gravity. Positive value ascends, negative value descends. <strong>default: 0</strong>
</li>
<li><span class="parameter">rotVel</span>
<span class="types"><span class="type">float</span></span>
Rotational velocity in degrees. <strong>Default: 0</strong>
Rotational velocity in degrees. <strong>default: 0</strong>
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at start of life. <strong>Default: Color(255, 255, 255)</strong>
Color at start of life. <strong>default: Color(255, 255, 255)</strong>
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color to fade toward. This will finish long before the end of the particle's life due to internal math. <strong>Default: Color(255, 255, 255)</strong>
Color at end of life. This will finish long before the end of the particle's life due to internal math. <strong>default: Color(255, 255, 255)</strong>
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Render blend mode. <strong>TEN.Effects.BlendID.ALPHABLEND</strong>
Render blend mode. <strong>TEN.Effects.BlendID.ALPHA_BLEND</strong>
</li>
<li><span class="parameter">startSize</span>
<span class="types"><span class="type">float</span></span>
Size at start of life. <strong>Default: 10</strong>
Size at start of life. <strong>default: 10</strong>
</li>
<li><span class="parameter">endSize</span>
<span class="types"><span class="type">float</span></span>
Size at end of life. The particle will linearly shrink or grow toward this size over its lifespan. <strong>Default: 0</strong>
Size at end of life. <strong>default: 0</strong>
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifespan in seconds. <strong>Default: 2</strong>
Lifespan in seconds. <strong>default: 2</strong>
</li>
<li><span class="parameter">applyDamage</span>
<li><span class="parameter">damage</span>
<span class="types"><span class="type">bool</span></span>
Specify if the particle will harm the player on collision. <strong>Default: false</strong>
Harm the player on collision. <strong>default: false</strong>
</li>
<li><span class="parameter">applyPoison</span>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">bool</span></span>
Specify if the particle will poison the player on collision. <strong>Default: false</strong>
Poison the player on collision. <strong>default: false</strong>
</li>
<li><span class="parameter">spriteSeqID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
ID of the sprite sequence object. <strong>Default: Objects.ObjID.DEFAULT_SPRITES</strong>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence slot ID. <strong>default: Objects.ObjID.DEFAULT_SPRITES</strong>
</li>
<li><span class="parameter">startRot</span>
<span class="types"><span class="type">float</span></span>
Rotation at start of life. <strong>Default: random</strong>
Rotation at start of life. <strong>default: random</strong>
</li>
</ul>
@ -318,11 +339,66 @@
</span> <span class="number">15</span>, <span class="comment">-- startSize
</span> <span class="number">50</span>, <span class="comment">-- endSize
</span> <span class="number">20</span>, <span class="comment">-- life
</span> <span class="keyword">false</span>, <span class="comment">-- applyDamage
</span> <span class="keyword">true</span>, <span class="comment">-- applyPoison
</span> <span class="keyword">false</span>, <span class="comment">-- damage
</span> <span class="keyword">true</span>, <span class="comment">-- poison
</span> Objects.ObjID.DEFAULT_SPRITES, <span class="comment">-- spriteSeqID
</span> <span class="number">180</span> <span class="comment">-- startRot
</span> )</pre>
</span> <span class="number">180</span>) <span class="comment">-- startRot</span></pre>
</ul>
</dd>
<dt>
<a name = "EmitAdvancedParticle"></a>
<strong>EmitAdvancedParticle(ParticleData)</strong>
</dt>
<dd>
Emit a particle with extensive configuration options, including sprite sequence animation, lights, sounds, and damage effects.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ParticleData</span>
<span class="types"><a class="type" href="../1 modules/Effects.html#ParticleData">ParticleData</a></span>
Table containing particle data.
</li>
</ul>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> particle =
{
pos = GetMoveableByName(<span class="string">"camera_target_6"</span>):GetPosition(),
vel = Vec3(<span class="number">0</span>, <span class="number">0</span>, <span class="number">10</span>),
spriteSeqID = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
spriteID = <span class="number">0</span>,
life = <span class="number">10</span>,
maxYVel = <span class="number">0</span>,
gravity = <span class="number">0</span>,
friction = <span class="number">10</span>,
startRot = <span class="number">0</span>,
rotVel = <span class="number">0</span>,
startSize = <span class="number">80</span>,
endSize = <span class="number">80</span>,
startColor = TEN.Color(<span class="number">128</span>, <span class="number">128</span>, <span class="number">128</span>),
endColor = TEN.Color(<span class="number">128</span>, <span class="number">128</span>, <span class="number">128</span>),
blendMode = TEN.Effects.BlendID.ADDITIVE,
wind = <span class="keyword">false</span>,
damage = <span class="keyword">true</span>,
poison = <span class="keyword">false</span>,
burn = <span class="keyword">false</span>,
damageHit = <span class="number">80</span>,
soundID = <span class="number">197</span>,
light = <span class="keyword">true</span>,
lightRadius = <span class="number">6</span>,
lightFlicker = <span class="number">5</span>,
animated = <span class="keyword">true</span>,
frameRate = <span class="number">0.25</span>,
animType = TEN.Effects.ParticleAnimationType.LOOP,
}
EmitAdvancedParticle(particle)</pre>
</ul>
</dd>
@ -495,7 +571,7 @@
</li>
<li><span class="parameter">count</span>
<span class="types"><span class="type">int</span></span>
(default 1) "amount" of blood. Higher numbers won't add more blood but will make it more "flickery", with higher numbers turning it into a kind of red orb.
Sprite count. <strong>default: 1</strong>
</li>
</ul>
@ -509,7 +585,7 @@
<strong>EmitAirBubble(pos[, size][, amp])</strong>
</dt>
<dd>
Emit air bubble in a water room.
Emit an air bubble in a water room.
@ -555,7 +631,7 @@
</li>
<li><span class="parameter">size</span>
<span class="types"><span class="type">float</span></span>
(default 1.0)
Fire size. <strong>default: 1</strong>
</li>
</ul>
@ -639,6 +715,250 @@
</dd>
<dt>
<a name = "EmitStreamer"></a>
<strong>EmitStreamer(mov, tag, pos, dir[, rot][, startColor][, endColor][, width][, life][, vel][, expRate][, rotRate][, edgeFeatherMode][, lengthFeatherMode][, blendID])</strong>
</dt>
<dd>
Emit an extending streamer effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">mov</span>
<span class="types"><span class="type">Moveable</span></span>
Moveable object with which to associate the effect.
</li>
<li><span class="parameter">tag</span>
<span class="types"><span class="type">int[opt]</span></span>
Numeric tag with which to associate the effect on the moveable. <strong>Default: 0</strong>
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Direction vector of movement velocity.
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Start rotation in degrees. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at the start of life. <strong>Default: Color(255, 255, 255, 255))</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at the end of life. <strong>Default: Color(0, 0, 0, 0))</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">width</span>
<span class="types"><span class="type">float</span></span>
Width in world units. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifetime in seconds. <strong>Default: 1</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">vel</span>
<span class="types"><span class="type">float</span></span>
Movement velocity in world units per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">expRate</span>
<span class="types"><span class="type">float</span></span>
Width expansion rate in world units per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">rotRate</span>
<span class="types"><span class="type">float</span></span>
Rotation rate in degrees per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">edgeFeatherMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.StreamerFeatherMode.html#">StreamerFeatherMode</a></span>
Edge feather mode. <strong>Default: Effects.StreamerFeatherMode.NONE</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lengthFeatherMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.StreamerFeatherMode.html#">StreamerFeatherMode</a></span>
Length feather mode. <strong>UNIMPLEMENTED, currently will always leave a fading tail</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">blendID</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Renderer blend ID. <strong>Default: Effects.BlendID.ALPHA_BLEND</strong>
(<em>optional</em>)
</li>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "ParticleData"></a>
<strong>ParticleData</strong>
</dt>
<dd>
Structure for EmitAdvancedParticle table.
<h3>Fields:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">vel</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Directional velocity in world units per second.
</li>
<li><span class="parameter">spriteSeqID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence slot ID. <strong>default: Objects.ObjID.DEFAULT_SPRITES</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">spriteID</span>
<span class="types"><span class="type">int</span></span>
Sprite ID in the sprite sequence slot. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifespan in seconds. <strong>default: 2</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">maxYVel</span>
<span class="types"><span class="type">float</span></span>
Maximum vertical velocity in world units per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">gravity</span>
<span class="types"><span class="type">float</span></span>
Effect of gravity in world units per second. Positive value ascend, negative value descend. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">friction</span>
<span class="types"><span class="type">float</span></span>
Friction affecting velocity over time in world units per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startRot</span>
<span class="types"><span class="type">float</span></span>
Rotation at start of life. <strong>default: random</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">rotVel</span>
<span class="types"><span class="type">float</span></span>
Rotational velocity in degrees per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startSize</span>
<span class="types"><span class="type">float</span></span>
Size at start of life. <strong>default: 10</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endSize</span>
<span class="types"><span class="type">float</span></span>
Size at end of life. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at start of life. <strong>default: Color(255, 255, 255)</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at end of life. Note that this will finish long before the end of life due to internal math. <strong>default: Color(255, 255, 255)</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Render blend mode. <strong>default: TEN.Effects.BlendID.ALPHA_BLEND</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">damage</span>
<span class="types"><span class="type">bool</span></span>
Harm the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">bool</span></span>
Poison the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">burn</span>
<span class="types"><span class="type">bool</span></span>
Burn the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">wind</span>
<span class="types"><span class="type">bool</span></span>
Affect position by wind in outside rooms. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">damageHit</span>
<span class="types"><span class="type">int</span></span>
Player damage amount on collision. <strong>default: 2</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">light</span>
<span class="types"><span class="type">bool</span></span>
Emit a colored light. CAUTION: Recommended only for a single particle. Too many particles with lights can overwhelm the lighting system. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lightRadius</span>
<span class="types"><span class="type">int</span></span>
Light radius in 1/4 blocks. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lightFlicker</span>
<span class="types"><span class="type">int</span></span>
Interval at which the light should flicker. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
Sound ID to play. CAUTION: Recommended only for a single particle. Too many particles with sounds can overwhelm the sound system. <strong>default: none</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">animated</span>
<span class="types"><span class="type">bool</span></span>
Play animates sprite sequence. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">animType</span>
<span class="types"><a class="type" href="../4 enums/Effects.ParticleAnimationType.html#">ParticleAnimationType</a></span>
Animation type of the sprite sequence. <strong>default: TEN.Effects.ParticleAnimationType.LOOP</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">frameRate</span>
<span class="types"><span class="type">float</span></span>
Sprite sequence animation framerate. <strong>default: 1</strong>
(<em>optional</em>)
</li>
</ul>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -221,8 +227,12 @@ scripts too.</p>
<td class="summary">Adds one secret to current level secret count and also plays secret music track.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(total)</a></td>
<td class="summary">Total number of secrets in game.</td>
<td class="name" ><a href="#GetTotalSecretCount">GetTotalSecretCount()</a></td>
<td class="summary">Get total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(count)</a></td>
<td class="summary">Set total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#FlipMap">FlipMap(flipmap)</a></td>
@ -870,20 +880,41 @@ The index argument corresponds to the secret's unique ID, the same that would go
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(total)</strong>
<a name = "GetTotalSecretCount"></a>
<strong>GetTotalSecretCount()</strong>
</dt>
<dd>
Total number of secrets in game.
Get total number of secrets in the game.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Total number of secrets in the game.
</ol>
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(count)</strong>
</dt>
<dd>
Set total number of secrets in the game.
Must be an integer value (0 means no secrets).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">total</span>
<li><span class="parameter">count</span>
<span class="types"><span class="type">int</span></span>
number of secrets
Total number of secrets in the game.
</li>
</ul>
@ -905,7 +936,7 @@ Must be an integer value (0 means no secrets).
<ul>
<li><span class="parameter">flipmap</span>
<span class="types"><span class="type">int</span></span>
(ID of flipmap group to actuvate / deactivate)
ID of flipmap group to actuvate / deactivate.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -118,40 +124,40 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#PlayAudioTrack">PlayAudioTrack(name, type)</a></td>
<td class="summary">Play an audio track</td>
<td class="name" ><a href="#PlayAudioTrack">PlayAudioTrack(filename, type)</a></td>
<td class="summary">Play an audio track.</td>
</tr>
<tr>
<td class="name" ><a href="#SetAmbientTrack">SetAmbientTrack(name, fromStart)</a></td>
<td class="summary">Set and play an ambient track</td>
<td class="summary">Set and play an ambient track.</td>
</tr>
<tr>
<td class="name" ><a href="#StopAudioTracks">StopAudioTracks()</a></td>
<td class="summary">Stop any audio tracks currently playing</td>
<td class="summary">Stop any audio tracks currently playing.</td>
</tr>
<tr>
<td class="name" ><a href="#StopAudioTrack">StopAudioTrack(type)</a></td>
<td class="summary">Stop audio track that is currently playing</td>
<td class="summary">Stop audio track that is currently playing.</td>
</tr>
<tr>
<td class="name" ><a href="#GetAudioTrackLoudness">GetAudioTrackLoudness(type)</a></td>
<td class="summary">Get current loudness level for specified track type</td>
<td class="summary">Get current loudness level for specified track type.</td>
</tr>
<tr>
<td class="name" ><a href="#PlaySound">PlaySound(sound[, position])</a></td>
<td class="summary">Play sound effect</td>
<td class="name" ><a href="#PlaySound">PlaySound(soundID[, position])</a></td>
<td class="summary">Play sound effect.</td>
</tr>
<tr>
<td class="name" ><a href="#StopSound">StopSound(sound)</a></td>
<td class="summary">Stop sound effect</td>
<td class="name" ><a href="#StopSound">StopSound(soundID)</a></td>
<td class="summary">Stop sound effect.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSoundPlaying">IsSoundPlaying(Sound)</a></td>
<td class="summary">Check if the sound effect is playing</td>
<td class="name" ><a href="#IsSoundPlaying">IsSoundPlaying(soundID)</a></td>
<td class="summary">Check if the sound effect is playing.</td>
</tr>
<tr>
<td class="name" ><a href="#IsAudioTrackPlaying">IsAudioTrackPlaying(Track)</a></td>
<td class="summary">Check if the audio track is playing</td>
<td class="summary">Check if the audio track is playing.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCurrentSubtitle">GetCurrentSubtitle()</a></td>
@ -168,22 +174,22 @@
<dl class="function">
<dt>
<a name = "PlayAudioTrack"></a>
<strong>PlayAudioTrack(name, type)</strong>
<strong>PlayAudioTrack(filename, type)</strong>
</dt>
<dd>
Play an audio track
Play an audio track. Supported formats are wav, mp3 and ogg.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<li><span class="parameter">filename</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
of track (without file extension) to play
Filename of a track (without file extension) to play.
</li>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track to play
Type of the audio track to play.
</li>
</ul>
@ -197,7 +203,7 @@
<strong>SetAmbientTrack(name, fromStart)</strong>
</dt>
<dd>
Set and play an ambient track
Set and play an ambient track.
@ -205,11 +211,11 @@
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
of track (without file extension) to play
Name of track (without file extension) to play.
</li>
<li><span class="parameter">fromStart</span>
<span class="types"><span class="type">bool</span></span>
specifies whether ambient track should play from the start, or crossfade at a random position
Specifies whether ambient track should play from the start, or crossfade at a random position.
</li>
</ul>
@ -223,7 +229,7 @@
<strong>StopAudioTracks()</strong>
</dt>
<dd>
Stop any audio tracks currently playing
Stop any audio tracks currently playing.
@ -238,7 +244,7 @@
<strong>StopAudioTrack(type)</strong>
</dt>
<dd>
Stop audio track that is currently playing
Stop audio track that is currently playing.
@ -246,7 +252,7 @@
<ul>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track
Type of the audio track.
</li>
</ul>
@ -260,7 +266,7 @@
<strong>GetAudioTrackLoudness(type)</strong>
</dt>
<dd>
Get current loudness level for specified track type
Get current loudness level for specified track type.
@ -268,7 +274,7 @@
<ul>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track
Type of the audio track.
</li>
</ul>
@ -276,7 +282,7 @@
<ol>
<span class="types"><span class="type">float</span></span>
current loudness of a specified audio track
Current loudness of a specified audio track.
</ol>
@ -285,18 +291,18 @@
</dd>
<dt>
<a name = "PlaySound"></a>
<strong>PlaySound(sound[, position])</strong>
<strong>PlaySound(soundID[, position])</strong>
</dt>
<dd>
Play sound effect
Play sound effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
<li><span class="parameter">position</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
@ -312,18 +318,18 @@
</dd>
<dt>
<a name = "StopSound"></a>
<strong>StopSound(sound)</strong>
<strong>StopSound(soundID)</strong>
</dt>
<dd>
Stop sound effect
Stop sound effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
</ul>
@ -334,18 +340,18 @@
</dd>
<dt>
<a name = "IsSoundPlaying"></a>
<strong>IsSoundPlaying(Sound)</strong>
<strong>IsSoundPlaying(soundID)</strong>
</dt>
<dd>
Check if the sound effect is playing
Check if the sound effect is playing.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to check. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to check. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
</ul>
@ -359,7 +365,7 @@
<strong>IsAudioTrackPlaying(Track)</strong>
</dt>
<dd>
Check if the audio track is playing
Check if the audio track is playing.
@ -367,7 +373,7 @@
<ul>
<li><span class="parameter">Track</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
filename to check. Should be without extension and without full directory path.
Filename to check. Should be without extension and without full directory path.
</li>
</ul>
@ -382,8 +388,8 @@
</dt>
<dd>
Get current subtitle string for a voice track currently playing.
Subtitle file must be in .srt format, have same filename as voice track, and be placed in same directory as voice track.
Returns nil if no voice track is playing or no subtitle present.
Subtitle file must be in .srt format, have same filename as voice track, and be placed in same directory as voice track.
Returns nil if no voice track is playing or no subtitle present.
@ -392,7 +398,7 @@ Returns nil if no voice track is playing or no subtitle present.
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
current subtitle string
Current subtitle string.
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -211,7 +217,7 @@
<ul>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. A value of 1 will make the fade take one second.
(default 1.0). Speed in units per second. A value of 1 will make the fade take one second.
</li>
</ul>
@ -233,7 +239,7 @@
<ul>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. A value of 1 will make the fade take one second.
(default 1.0). Speed in units per second. A value of 1 will make the fade take one second.
</li>
</ul>
@ -587,7 +593,7 @@
</li>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. Value of 1 will make flash take one second. Clamped to [0.005, 1.0].
(default 1.0). Speed in units per second. Value of 1 will make flash take one second. Clamped to [0.005, 1.0].
</li>
</ul>

View file

@ -0,0 +1,765 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <here>Collision.Probe</here></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Collision.Probe</code></h1>
<p>Represents a collision probe in the game world.</p>
<p> Provides collision information from a reference world position.</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber)</a></td>
<td class="summary">Create a Probe at a specified world position in a room.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, dir, dist)</a></td>
<td class="summary">Create a Probe that casts from an origin world position in a room in a given direction for a specified distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, rot, dist)</a></td>
<td class="summary">Create a Probe that casts from an origin world position in a room in the direction of a given rotation for a specified distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, rot, relOffset)</a></td>
<td class="summary">Create a Probe that casts from an origin world position, where a given relative offset is rotated according to a given rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#GetPosition">GetPosition()</a></td>
<td class="summary">Get the world position of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetRoom">GetRoom()</a></td>
<td class="summary">Get the Room object of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetRoomName">GetRoomName()</a></td>
<td class="summary">Get the room name of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorHeight">GetFloorHeight()</a></td>
<td class="summary">Get the floor height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingHeight">GetCeilingHeight()</a></td>
<td class="summary">Get the ceiling height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetWaterSurfaceHeight">GetWaterSurfaceHeight()</a></td>
<td class="summary">Get the water surface height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorNormal">GetFloorNormal()</a></td>
<td class="summary">Get the normal of the floor at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingNormal">GetCeilingNormal()</a></td>
<td class="summary">Get the normal of the ceiling at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorMaterialType">GetFloorMaterialType()</a></td>
<td class="summary">Get the material type of the floor at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingMaterialType">GetCeilingMaterialType()</a></td>
<td class="summary">Get the material type of the ceiling at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSteepFloor">IsSteepFloor()</a></td>
<td class="summary">Check if the floor at this Probe is steep.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSteepCeiling">IsSteepCeiling()</a></td>
<td class="summary">Check if the ceiling at this Probe is steep.</td>
</tr>
<tr>
<td class="name" ><a href="#IsWall">IsWall()</a></td>
<td class="summary">Check if the Probe is inside a wall.</td>
</tr>
<tr>
<td class="name" ><a href="#IsInsideSolidGeometry">IsInsideSolidGeometry()</a></td>
<td class="summary">Check if this Probe is inside solid geometry (below a floor, above a ceiling, inside a bridge, or inside a wall).</td>
</tr>
<tr>
<td class="name" ><a href="#IsClimbableWall">IsClimbableWall(headingAngle)</a></td>
<td class="summary">Check if there is a climbable wall in the given heading angle at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsMonkeySwing">IsMonkeySwing()</a></td>
<td class="summary">Check if there is a monkey swing sector at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsDeath">IsDeath()</a></td>
<td class="summary">Check if there is a death sector at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#Preview">Preview()</a></td>
<td class="summary">Preview this Probe in the Collision Stats debug page.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber)</strong>
</dt>
<dd>
Create a Probe at a specified world position in a room.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
[opt] Room number. Must be used if probing a position in an overlapping room.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, dir, dist)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position in a room in a given direction for a specified distance.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Direction in which to cast.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, rot, dist)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position in a room in the direction of a given rotation for a specified distance.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation defining the direction in which to cast.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, rot, relOffset)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position, where a given relative offset is rotated according to a given rotation.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation according to which the input relative offset is rotated.
</li>
<li><span class="parameter">relOffset</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Relative offset to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "GetPosition"></a>
<strong>GetPosition()</strong>
</dt>
<dd>
Get the world position of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</ol>
</dd>
<dt>
<a name = "GetRoom"></a>
<strong>GetRoom()</strong>
</dt>
<dd>
Get the Room object of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Room</span></span>
Room object.
</ol>
</dd>
<dt>
<a name = "GetRoomName"></a>
<strong>GetRoomName()</strong>
</dt>
<dd>
Get the room name of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Room name.
</ol>
</dd>
<dt>
<a name = "GetFloorHeight"></a>
<strong>GetFloorHeight()</strong>
</dt>
<dd>
Get the floor height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Floor height. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingHeight"></a>
<strong>GetCeilingHeight()</strong>
</dt>
<dd>
Get the ceiling height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Ceiling height. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "GetWaterSurfaceHeight"></a>
<strong>GetWaterSurfaceHeight()</strong>
</dt>
<dd>
Get the water surface height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Water surface height. <strong>nil: no water surface exists</strong>
</ol>
</dd>
<dt>
<a name = "GetFloorNormal"></a>
<strong>GetFloorNormal()</strong>
</dt>
<dd>
Get the normal of the floor at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Floor normal. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingNormal"></a>
<strong>GetCeilingNormal()</strong>
</dt>
<dd>
Get the normal of the ceiling at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Ceiling normal. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "GetFloorMaterialType"></a>
<strong>GetFloorMaterialType()</strong>
</dt>
<dd>
Get the material type of the floor at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Collision.MaterialType.html#">MaterialType</a></span>
Floor material type. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingMaterialType"></a>
<strong>GetCeilingMaterialType()</strong>
</dt>
<dd>
Get the material type of the ceiling at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Collision.MaterialType.html#">MaterialType</a></span>
Ceiling material type. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "IsSteepFloor"></a>
<strong>IsSteepFloor()</strong>
</dt>
<dd>
Check if the floor at this Probe is steep.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Steep floor status. <strong>true: is a steep floor, false: isn't a steep floor, nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "IsSteepCeiling"></a>
<strong>IsSteepCeiling()</strong>
</dt>
<dd>
Check if the ceiling at this Probe is steep.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Steep ceiling status. <strong>true: is a steep ceiling, false: isn't a steep ceiling, nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "IsWall"></a>
<strong>IsWall()</strong>
</dt>
<dd>
Check if the Probe is inside a wall. Can be used to determine if a wall and ceiling exist.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Wall status. <strong>true: is a wall, false: isn't a wall</strong>
</ol>
</dd>
<dt>
<a name = "IsInsideSolidGeometry"></a>
<strong>IsInsideSolidGeometry()</strong>
</dt>
<dd>
Check if this Probe is inside solid geometry (below a floor, above a ceiling, inside a bridge, or inside a wall).
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Inside geometry status. <strong>true: is inside, false: is outside</strong>
</ol>
</dd>
<dt>
<a name = "IsClimbableWall"></a>
<strong>IsClimbableWall(headingAngle)</strong>
</dt>
<dd>
Check if there is a climbable wall in the given heading angle at this Probe.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">headingAngle</span>
<span class="types"><span class="type">float</span></span>
Heading angle at which to check for a climbable wall.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Climbable wall status. <strong>true: is climbable wall, false: isn't climbable</strong>
</ol>
</dd>
<dt>
<a name = "IsMonkeySwing"></a>
<strong>IsMonkeySwing()</strong>
</dt>
<dd>
Check if there is a monkey swing sector at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Monkey swing sector status. <strong>true: is a monkey swing, false: isn't a monkey swing</strong>
</ol>
</dd>
<dt>
<a name = "IsDeath"></a>
<strong>IsDeath()</strong>
</dt>
<dd>
Check if there is a death sector at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Death sector status. <strong>true: is a death sector, false: isn't a death sector</strong>
</ol>
</dd>
<dt>
<a name = "Preview"></a>
<strong>Preview()</strong>
</dt>
<dd>
Preview this Probe in the Collision Stats debug page.
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <here>Flow.Level</here></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -137,27 +143,31 @@
</tr>
<tr>
<td class="name" ><a href="#layer1">layer1</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky layer</td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky cloud layer.</td>
</tr>
<tr>
<td class="name" ><a href="#layer2">layer2</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky layer</td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky cloud layer.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon1">horizon1</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) First horizon layer.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon2">horizon2</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) Second horizon layer.</td>
</tr>
<tr>
<td class="name" ><a href="#starfield">starfield</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield.</td>
<td class="summary">(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.</td>
</tr>
<tr>
<td class="name" ><a href="#lensFlare">lensFlare</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare .</td>
<td class="summary">(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.</td>
</tr>
<tr>
<td class="name" ><a href="#fog">fog</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) omni fog RGB color and distance.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon">horizon</a></td>
<td class="summary">(bool) Draw sky layer?</td>
<td class="summary">(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) Global distance fog, with specified RGB color and distance.</td>
</tr>
<tr>
<td class="name" ><a href="#storm">storm</a></td>
@ -180,20 +190,20 @@
<td class="summary">(bool) Enable occasional screen shake effect.</td>
</tr>
<tr>
<td class="name" ><a href="#farView">farView</a></td>
<td class="summary">(int) The maximum draw distance for level.</td>
</tr>
<tr>
<td class="name" ><a href="#resetHub">resetHub</a></td>
<td class="summary">(bool) Reset hub data.</td>
</tr>
<tr>
<td class="name" ><a href="#objects">objects</a></td>
<td class="summary">(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) table of inventory object overrides</td>
<td class="summary">(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) A table of inventory object layout overrides.</td>
</tr>
<tr>
<td class="name" ><a href="#secrets">secrets</a></td>
<td class="summary">(short) Set Secrets for Level</td>
</tr>
<tr>
<td class="name" ><a href="#farView">farView</a></td>
<td class="summary">(int) The maximum draw distance for level.</td>
<td class="summary">(short) Set total secret count for current level.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
@ -296,7 +306,7 @@
<strong>layer1</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky layer
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky cloud layer.
@ -311,7 +321,37 @@
<strong>layer2</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky layer
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky cloud layer.
</dd>
<dt>
<a name = "horizon1"></a>
<strong>horizon1</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) First horizon layer.
</dd>
<dt>
<a name = "horizon2"></a>
<strong>horizon2</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) Second horizon layer.
@ -326,7 +366,7 @@
<strong>starfield</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield.
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.
@ -341,7 +381,7 @@
<strong>lensFlare</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare .
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.
@ -356,24 +396,8 @@
<strong>fog</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) omni fog RGB color and distance.
As seen in TR4's Desert Railroad.
If not provided, distance fog will be black.
</dd>
<dt>
<a name = "horizon"></a>
<strong>horizon</strong>
</dt>
<dd>
(bool) Draw sky layer? (default: false)
(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) Global distance fog, with specified RGB color and distance.
If not provided, distance fog will not be visible.
@ -449,7 +473,7 @@ Invisible
<p>e.g. <code>myLevel.laraType = LaraType.Divesuit</code></p>
<p> <strong>(not yet fully implemented)</strong>
<p> <strong>Not yet fully implemented.</strong> Only types <code>Normal</code> and <code>Young</code> are guaranteed to work.
@ -474,6 +498,22 @@ Invisible
</dd>
<dt>
<a name = "farView"></a>
<strong>farView</strong>
</dt>
<dd>
(int) The maximum draw distance for level.
Given in sectors (blocks). Must be at least 4.
</dd>
<dt>
<a name = "resetHub"></a>
@ -496,7 +536,7 @@ Invisible
<strong>objects</strong>
</dt>
<dd>
(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) table of inventory object overrides
(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) A table of inventory object layout overrides.
@ -511,26 +551,7 @@ Invisible
<strong>secrets</strong>
</dt>
<dd>
(short) Set Secrets for Level
</dd>
<dt>
<a name = "farView"></a>
<strong>farView</strong>
</dt>
<dd>
(int) The maximum draw distance for level.
Given in sectors (blocks).
Must be at least 4.</p>
<p>This is equivalent to TRNG's LevelFarView variable.
(short) Set total secret count for current level.
@ -558,7 +579,7 @@ Must be at least 4.</p>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Level.html#Level">Level</a></span>
a Level object
a Level object.
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <here>Flow.Settings</here></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -1249,7 +1255,7 @@
<ul>
<li><span class="parameter">errorMode</span>
<span class="types"><a class="type" href="../4 enums/Flow.ErrorMode.html#">ErrorMode</a></span>
error mode to use. */
error mode to use.
</li>
</ul>
@ -1272,7 +1278,7 @@
<ul>
<li><span class="parameter">multithreaded</span>
<span class="types"><span class="type">bool</span></span>
determines whether to use multithreading or not. */
determines whether to use multithreading or not.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <here>Flow.Statistics</here></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -140,6 +146,10 @@
<td class="summary">Kills.</td>
</tr>
<tr>
<td class="name" ><a href="#pickups">pickups</a></td>
<td class="summary">Pickups.</td>
</tr>
<tr>
<td class="name" ><a href="#secrets">secrets</a></td>
<td class="summary">Secrets.</td>
</tr>
@ -281,6 +291,27 @@
</dd>
<dt>
<a name = "pickups"></a>
<strong>pickups</strong>
</dt>
<dd>
Pickups.
<ul>
<li><span class="parameter">pickups</span>
<span class="types"><span class="type">int</span></span>
amount of picked up items.
</li>
</ul>
</dd>
<dt>
<a name = "secrets"></a>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -117,44 +123,44 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LaraObject:SetPoison">LaraObject:SetPoison([Poison])</a></td>
<td class="name" ><a href="#LaraObject:SetPoison">LaraObject:SetPoison([poison])</a></td>
<td class="summary">Set player poison.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetPoison">LaraObject:GetPoison()</a></td>
<td class="summary">Get poison potency of Lara</td>
<td class="summary">Get poison potency of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetAir">LaraObject:SetAir(Air)</a></td>
<td class="summary">Set air value of Lara</td>
<td class="name" ><a href="#LaraObject:SetAir">LaraObject:SetAir(air)</a></td>
<td class="summary">Set air value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAir">LaraObject:GetAir()</a></td>
<td class="summary">Get air value of Lara</td>
<td class="summary">Get air value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetWet">LaraObject:SetWet(Wetness)</a></td>
<td class="summary">Set wetness value of Lara (causes dripping)</td>
<td class="name" ><a href="#LaraObject:SetWet">LaraObject:SetWet(wetness)</a></td>
<td class="summary">Set wetness value of Lara (causes dripping).</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetWet">LaraObject:GetWet()</a></td>
<td class="summary">Get wetness value of Lara</td>
<td class="summary">Get wetness value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetStamina">LaraObject:SetStamina(stamina)</a></td>
<td class="summary">Set sprint energy value of Lara</td>
<td class="summary">Set sprint energy value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetStamina">LaraObject:GetStamina()</a></td>
<td class="summary">Get stamina value of Lara</td>
<td class="summary">Get stamina value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetAirborne">Moveable:GetAirborne()</a></td>
<td class="summary">Get the moveable's airborne status</td>
<td class="summary">Get the moveable's airborne status.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetAirborne">Moveable:SetAirborne(New)</a></td>
<td class="summary">Set the moveable's airborne status</td>
<td class="name" ><a href="#Moveable:SetAirborne">Moveable:SetAirborne(airborne)</a></td>
<td class="summary">Set the moveable's airborne status.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:UndrawWeapon">LaraObject:UndrawWeapon()</a></td>
@ -166,15 +172,15 @@
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetHandStatus">LaraObject:GetHandStatus()</a></td>
<td class="summary">Get actual hand status of Lara</td>
<td class="summary">Get actual hand status of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetWeaponType">LaraObject:GetWeaponType()</a></td>
<td class="summary">Get actual weapon type of Lara</td>
<td class="summary">Get actual weapon type of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetWeaponType">LaraObject:SetWeaponType(weaponType, activate)</a></td>
<td class="summary">Set Lara weapon type</td>
<td class="summary">Set Lara weapon type.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAmmoType">LaraObject:GetAmmoType()</a></td>
@ -182,11 +188,11 @@
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAmmoCount">LaraObject:GetAmmoCount()</a></td>
<td class="summary">Get current weapon's ammo count</td>
<td class="summary">Get current weapon's ammo count.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetVehicle">LaraObject:GetVehicle()</a></td>
<td class="summary">Get current vehicle, if it exists</td>
<td class="summary">Get current vehicle, if it exists.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetTarget">LaraObject:GetTarget()</a></td>
@ -211,7 +217,7 @@
<dl class="function">
<dt>
<a name = "LaraObject:SetPoison"></a>
<strong>LaraObject:SetPoison([Poison])</strong>
<strong>LaraObject:SetPoison([poison])</strong>
</dt>
<dd>
Set player poison.
@ -220,9 +226,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Poison</span>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">int</span></span>
; maximum value is 128 (default 0)
Poison strength. Maximum value is 128 (default 0)
(<em>optional</em>)
</li>
</ul>
@ -241,7 +247,7 @@
<strong>LaraObject:GetPoison()</strong>
</dt>
<dd>
Get poison potency of Lara
Get poison potency of Lara.
@ -250,7 +256,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current poison potency
Current poison potency.
</ol>
@ -263,18 +269,18 @@
</dd>
<dt>
<a name = "LaraObject:SetAir"></a>
<strong>LaraObject:SetAir(Air)</strong>
<strong>LaraObject:SetAir(air)</strong>
</dt>
<dd>
Set air value of Lara
Set air value of Lara.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Air</span>
<li><span class="parameter">air</span>
<span class="types"><span class="type">int</span></span>
value to give Lara. Maximum value is 1800.
Air value to give Lara. Maximum value is 1800.
</li>
</ul>
@ -292,7 +298,7 @@
<strong>LaraObject:GetAir()</strong>
</dt>
<dd>
Get air value of Lara
Get air value of Lara.
@ -301,7 +307,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current air value
Current air value.
</ol>
@ -314,18 +320,18 @@
</dd>
<dt>
<a name = "LaraObject:SetWet"></a>
<strong>LaraObject:SetWet(Wetness)</strong>
<strong>LaraObject:SetWet(wetness)</strong>
</dt>
<dd>
Set wetness value of Lara (causes dripping)
Set wetness value of Lara (causes dripping).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Wetness</span>
<li><span class="parameter">wetness</span>
<span class="types"><span class="type">int</span></span>
value. Maximum 255
Wetness value. Maximum value is 255.
</li>
</ul>
@ -343,7 +349,7 @@
<strong>LaraObject:GetWet()</strong>
</dt>
<dd>
Get wetness value of Lara
Get wetness value of Lara.
@ -352,7 +358,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current wetness value
Current wetness value.
</ol>
@ -368,7 +374,7 @@
<strong>LaraObject:SetStamina(stamina)</strong>
</dt>
<dd>
Set sprint energy value of Lara
Set sprint energy value of Lara.
@ -376,7 +382,7 @@
<ul>
<li><span class="parameter">stamina</span>
<span class="types"><span class="type">int</span></span>
to give to Lara; maximum value is 120.
Stamina to give to Lara. Maximum value is 120.
</li>
</ul>
@ -394,7 +400,7 @@
<strong>LaraObject:GetStamina()</strong>
</dt>
<dd>
Get stamina value of Lara
Get stamina value of Lara.
@ -403,7 +409,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current sprint value
Current sprint value.
</ol>
@ -419,7 +425,7 @@
<strong>Moveable:GetAirborne()</strong>
</dt>
<dd>
Get the moveable's airborne status
Get the moveable's airborne status.
@ -427,8 +433,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">(bool)</span></span>
true if Lara state must react to aerial forces.
<span class="types"><span class="type">bool</span></span>
True if Lara state must react to aerial forces.
</ol>
@ -437,18 +443,18 @@
</dd>
<dt>
<a name = "Moveable:SetAirborne"></a>
<strong>Moveable:SetAirborne(New)</strong>
<strong>Moveable:SetAirborne(airborne)</strong>
</dt>
<dd>
Set the moveable's airborne status
Set the moveable's airborne status.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">(bool)</span></span>
airborn status for Lara.
<li><span class="parameter">airborne</span>
<span class="types"><span class="type">bool</span></span>
New airborne status for Lara.
</li>
</ul>
@ -500,7 +506,7 @@
<strong>LaraObject:GetHandStatus()</strong>
</dt>
<dd>
Get actual hand status of Lara
Get actual hand status of Lara.
@ -508,8 +514,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
hand status 0=HandsFree, 1=Busy(climbing,etc), 2=WeaponDraw, 3=WeaponUndraw, 4=WeaponInHand.
<span class="types"><a class="type" href="../4 enums/Objects.HandStatus.html#">HandStatus</a></span>
Current hand status.
</ol>
@ -525,7 +531,7 @@
<strong>LaraObject:GetWeaponType()</strong>
</dt>
<dd>
Get actual weapon type of Lara
Get actual weapon type of Lara.
@ -533,8 +539,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Flow.WeaponType</span></span>
current weapon type.
<span class="types"><a class="type" href="../4 enums/Objects.WeaponType.html#">WeaponType</a></span>
Current weapon type.
</ol>
@ -550,21 +556,19 @@
<strong>LaraObject:SetWeaponType(weaponType, activate)</strong>
</dt>
<dd>
Set Lara weapon type
Set Lara weapon type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">weaponType</span>
<span class="types"><span class="type">Flow.WeaponType</span></span>
<span class="types"><a class="type" href="../4 enums/Objects.WeaponType.html#">WeaponType</a></span>
New weapon type to set.
</li>
<li><span class="parameter">activate</span>
<span class="types"><span class="type">bool</span></span>
if <code>true</code>, also draw the weapons or set torch lit. If <code>false</code>, keep weapons holstered or leave torch unlit.
If <code>true</code>, also draw the weapons or set torch lit. If <code>false</code>, keep weapons holstered or leave torch unlit.
</li>
</ul>
@ -590,8 +594,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Flow.AmmoType</span></span>
player weapon ammo type
<span class="types"><a class="type" href="../4 enums/Objects.AmmoType.html#">AmmoType</a></span>
Player weapon ammo type.
</ol>
@ -607,7 +611,7 @@
<strong>LaraObject:GetAmmoCount()</strong>
</dt>
<dd>
Get current weapon's ammo count
Get current weapon's ammo count.
@ -616,7 +620,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current ammo count (-1 if infinite)
Current ammo count (-1 if infinite).
</ol>
@ -632,7 +636,7 @@
<strong>LaraObject:GetVehicle()</strong>
</dt>
<dd>
Get current vehicle, if it exists
Get current vehicle, if it exists.
@ -641,7 +645,7 @@
<ol>
<span class="types"><a class="type" href="../2 classes/Objects.Moveable.html#">Moveable</a></span>
current vehicle (nil if no vehicle present)
current vehicle (nil if no vehicle present).
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -112,8 +118,6 @@
<p>Represents a moveable object in the game world.</p>
<p> Examples include the player, traps, enemies, doors, and pickups. See also <a href="../2 classes/Objects.LaraObject.html#">Objects.LaraObject</a> for player-specific features.</p>
<p> pragma nostrip</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
@ -126,7 +130,7 @@
<td class="summary">Retrieve the object ID</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetObjectID">Moveable:SetObjectID(ID)</a></td>
<td class="name" ><a href="#Moveable:SetObjectID">Moveable:SetObjectID(objectID)</a></td>
<td class="summary">Change the object's ID.</td>
</tr>
<tr>
@ -159,7 +163,7 @@
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetPosition">Moveable:GetPosition()</a></td>
<td class="summary">Get the object's position</td>
<td class="summary">Get the moveable's position</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetPosition">Moveable:SetPosition(position[, updateRoom])</a></td>
@ -177,11 +181,19 @@
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetRotation">Moveable:GetRotation()</a></td>
<td class="summary">Get the moveable's rotation</td>
<td class="summary">Get the moveable's rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetScale">Moveable:GetScale()</a></td>
<td class="summary">Get the moveable's visual scale.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetRotation">Moveable:SetRotation(rotation)</a></td>
<td class="summary">Set the moveable's rotation</td>
<td class="summary">Set the moveable's rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetScale">Moveable:SetScale(scale)</a></td>
<td class="summary">Set the moveable's visual scale.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetHP">Moveable:GetHP()</a></td>
@ -209,7 +221,7 @@
<td class="summary">Set the effect for this moveable.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetCustomEffect">Moveable:SetCustomEffect(Color1, Color2[, timeout])</a></td>
<td class="name" ><a href="#Moveable:SetCustomEffect">Moveable:SetCustomEffect(color1, color2[, timeout])</a></td>
<td class="summary">Set custom colored burn effect to moveable</td>
</tr>
<tr>
@ -406,7 +418,7 @@
<td class="summary">Attach camera to an object.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:AnimFromObject">Moveable:AnimFromObject(ObjectID, animNumber, stateID)</a></td>
<td class="name" ><a href="#Moveable:AnimFromObject">Moveable:AnimFromObject(objectID, animNumber, stateID)</a></td>
<td class="summary">Borrow animation from an object</td>
</tr>
</table>
@ -505,8 +517,8 @@ most can just be ignored (see usage).
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
a number representing the ID of the object
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
a number representing the ID of the object.
</ol>
@ -515,7 +527,7 @@ most can just be ignored (see usage).
</dd>
<dt>
<a name = "Moveable:SetObjectID"></a>
<strong>Moveable:SetObjectID(ID)</strong>
<strong>Moveable:SetObjectID(objectID)</strong>
</dt>
<dd>
Change the object's ID. This will literally change the object.
@ -524,7 +536,7 @@ most can just be ignored (see usage).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ID</span>
<li><span class="parameter">objectID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
the new ID
</li>
@ -711,7 +723,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<strong>Moveable:GetPosition()</strong>
</dt>
<dd>
Get the object's position
Get the moveable's position
@ -783,7 +795,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
pos World position.
World position.
</ol>
@ -803,7 +815,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ul>
<li><span class="parameter">index</span>
<span class="types"><span class="type">int</span></span>
of a joint to get rotation
Index of a joint to get rotation.
</li>
</ul>
@ -823,7 +835,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<strong>Moveable:GetRotation()</strong>
</dt>
<dd>
Get the moveable's rotation
Get the moveable's rotation.
@ -832,7 +844,28 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
a copy of the moveable's rotation
A copy of the moveable's rotation.
</ol>
</dd>
<dt>
<a name = "Moveable:GetScale"></a>
<strong>Moveable:GetScale()</strong>
</dt>
<dd>
Get the moveable's visual scale.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
A copy of the moveable's visual scale.
</ol>
@ -844,7 +877,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<strong>Moveable:SetRotation(rotation)</strong>
</dt>
<dd>
Set the moveable's rotation
Set the moveable's rotation.
@ -860,6 +893,28 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
</dd>
<dt>
<a name = "Moveable:SetScale"></a>
<strong>Moveable:SetScale(scale)</strong>
</dt>
<dd>
Set the moveable's visual scale. Does not affect collision.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
New visual scale.
</li>
</ul>
</dd>
<dt>
<a name = "Moveable:GetHP"></a>
@ -998,7 +1053,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
</dd>
<dt>
<a name = "Moveable:SetCustomEffect"></a>
<strong>Moveable:SetCustomEffect(Color1, Color2[, timeout])</strong>
<strong>Moveable:SetCustomEffect(color1, color2[, timeout])</strong>
</dt>
<dd>
Set custom colored burn effect to moveable
@ -1007,17 +1062,17 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Color1</span>
<li><span class="parameter">color1</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
color the primary color of the effect (also used for lighting).
The primary color of the effect (also used for lighting).
</li>
<li><span class="parameter">Color2</span>
<li><span class="parameter">color2</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
color the secondary color of the effect.
The secondary color of the effect.
</li>
<li><span class="parameter">timeout</span>
<span class="types"><span class="type">float</span></span>
time (in seconds) after which effect turns off.
Time (in seconds) after which effect turns off.
(<em>optional</em>)
</li>
</ul>
@ -1041,7 +1096,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ol>
<span class="types"><a class="type" href="../4 enums/Effects.EffectID.html#">EffectID</a></span>
Sffect type currently assigned.
Effect type currently assigned.
</ol>
@ -1061,7 +1116,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ul>
<li><span class="parameter">index</span>
<span class="types"><span class="type">int</span></span>
of the ItemFlags, can be between 0 and 7.
Index of the ItemFlag, can be between 0 and 7.
</li>
</ul>
@ -1089,11 +1144,11 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ul>
<li><span class="parameter">value</span>
<span class="types"><span class="type">short</span></span>
to store in the moveable's ItemFlags[index]
Value to store in the moveable's ItemFlags[index].
</li>
<li><span class="parameter">index</span>
<span class="types"><span class="type">int</span></span>
of the ItemFlags where store the value.
Index of the ItemFlag where to store the value.
</li>
</ul>
@ -1136,7 +1191,7 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<ul>
<li><span class="parameter">value</span>
<span class="types"><span class="type">short</span></span>
to store.
Value to store.
</li>
</ul>
@ -1193,18 +1248,22 @@ baddy:SetOnCollidedWithRoom(LevelFuncs.roomCollided)</pre>
<strong>Moveable:GetAIBits()</strong>
</dt>
<dd>
Get AIBits of object
<p>Get AIBits of object
This will return a table with six values, each corresponding to
an active behaviour. If the object is in a certain AI mode, the table will
have a <em>1</em> in the corresponding cell. Otherwise, the cell will hold
a <em>0</em>.</p>
<p> <br />1 - guard
<br />2 - ambush
<br />3 - patrol 1
<br />4 - modify
<br />5 - follow
<br />6 - patrol 2
<pre><code>1 - Guard
2 - Ambush
3 - Patrol 1
4 - Modify
5 - Follow
6 - Patrol 2
</code></pre>
@ -1626,7 +1685,7 @@ sas:SetPosition(newPos, <span class="keyword">false</span>)</pre>
<strong>Moveable:GetStatus()</strong>
</dt>
<dd>
Get the moveable's status. ()
Get the moveable's status.
@ -1647,7 +1706,7 @@ sas:SetPosition(newPos, <span class="keyword">false</span>)</pre>
<strong>Moveable:SetStatus(status)</strong>
</dt>
<dd>
Set the moveable's status. ()
Set the moveable's status.
@ -2048,15 +2107,15 @@ sas:SetPosition(newPos, <span class="keyword">false</span>)</pre>
<ul>
<li><span class="parameter">mesh</span>
<span class="types"><span class="type">int</span></span>
of a target moveable to use as a camera target
Mesh of a target moveable to use as a camera target.
</li>
<li><span class="parameter">target</span>
<span class="types"><a class="type" href="../2 classes/Objects.Moveable.html#Moveable">Moveable</a></span>
moveable to attach camera to
Target moveable to attach camera to.
</li>
<li><span class="parameter">mesh</span>
<span class="types"><span class="type">int</span></span>
of a target moveable to use as a camera target
Mesh of a target moveable to use as a camera target.
</li>
</ul>
@ -2067,7 +2126,7 @@ sas:SetPosition(newPos, <span class="keyword">false</span>)</pre>
</dd>
<dt>
<a name = "Moveable:AnimFromObject"></a>
<strong>Moveable:AnimFromObject(ObjectID, animNumber, stateID)</strong>
<strong>Moveable:AnimFromObject(objectID, animNumber, stateID)</strong>
</dt>
<dd>
Borrow animation from an object
@ -2076,17 +2135,17 @@ sas:SetPosition(newPos, <span class="keyword">false</span>)</pre>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ObjectID</span>
<li><span class="parameter">objectID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
to take animation and stateID from,
Object ID to take animation and stateID from.
</li>
<li><span class="parameter">animNumber</span>
<span class="types"><span class="type">int</span></span>
animation from object
Animation from object.
</li>
<li><span class="parameter">stateID</span>
<span class="types"><span class="type">int</span></span>
state from object
state State from object.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -138,11 +144,11 @@
<td class="summary">Set the room's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetReverbType">Room:SetReverbType(Reverb)</a></td>
<td class="name" ><a href="#Room:SetReverbType">Room:SetReverbType(reverb)</a></td>
<td class="summary">Set the room's reverb type.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetFlag">Room:SetFlag(flagID, Boolean)</a></td>
<td class="name" ><a href="#Room:SetFlag">Room:SetFlag(flagID, value)</a></td>
<td class="summary">Set the room's specified flag.</td>
</tr>
<tr>
@ -171,7 +177,7 @@
<strong>Room:GetRoomNumber()</strong>
</dt>
<dd>
Get the room's number. ()
Get the room's number.
@ -192,7 +198,7 @@
<strong>Room:GetName()</strong>
</dt>
<dd>
Get the room's unique string identifier. ()
Get the room's unique string identifier.
@ -213,7 +219,7 @@
<strong>Room:GetColor()</strong>
</dt>
<dd>
Get the room's ambient light color. ()
Get the room's ambient light color.
@ -234,7 +240,7 @@
<strong>Room:GetReverbType()</strong>
</dt>
<dd>
Get the room's reverb type. ()
Get the room's reverb type.
@ -255,7 +261,7 @@
<strong>Room:SetName(name)</strong>
</dt>
<dd>
Set the room's unique string identifier. ()
Set the room's unique string identifier.
@ -274,18 +280,18 @@
</dd>
<dt>
<a name = "Room:SetReverbType"></a>
<strong>Room:SetReverbType(Reverb)</strong>
<strong>Room:SetReverbType(reverb)</strong>
</dt>
<dd>
Set the room's reverb type. ()
Set the room's reverb type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Reverb</span>
<li><span class="parameter">reverb</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomReverb.html#">RoomReverb</a></span>
type.
Reverb type.
</li>
</ul>
@ -296,10 +302,10 @@
</dd>
<dt>
<a name = "Room:SetFlag"></a>
<strong>Room:SetFlag(flagID, Boolean)</strong>
<strong>Room:SetFlag(flagID, value)</strong>
</dt>
<dd>
Set the room's specified flag. ()
Set the room's specified flag.
@ -309,9 +315,9 @@
<span class="types"><a class="type" href="../4 enums/Objects.RoomFlagID.html#">RoomFlagID</a></span>
Room flag ID.
</li>
<li><span class="parameter">Boolean</span>
<li><span class="parameter">value</span>
<span class="types"><span class="type">bool</span></span>
to set the flag to.
Boolean to set the flag to.
</li>
</ul>
@ -325,7 +331,7 @@
<strong>Room:GetFlag(flagID)</strong>
</dt>
<dd>
Get the room's specified flag value (true or false). ()
Get the room's specified flag value (true or false).
@ -347,7 +353,7 @@
<strong>Room:IsTagPresent(tag)</strong>
</dt>
<dd>
Check if the specified tag is set for the room. ()
Check if the specified tag is set for the room.
@ -375,7 +381,7 @@
<strong>Room:GetActive()</strong>
</dt>
<dd>
Check if the room is active. ()
Check if the room is active.

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -139,8 +145,7 @@
</tr>
<tr>
<td class="name" ><a href="#SoundSource:SetSoundID">SoundSource:SetSoundID(name)</a></td>
<td class="summary">Set the sound source's ID
<strong>TODO</strong> this and getSoundID should use enums</td>
<td class="summary">Set the sound source's ID</td>
</tr>
</table>
@ -264,7 +269,6 @@
</dt>
<dd>
Set the sound source's ID
<strong>TODO</strong> this and getSoundID should use enums

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -150,6 +156,10 @@
<td class="summary">Get this static's visibility status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:GetCollidable">Static:GetCollidable()</a></td>
<td class="summary">Get this static's collision status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:GetSolid">Static:GetSolid()</a></td>
<td class="summary">Get this static's solid collision status.</td>
</tr>
@ -186,6 +196,10 @@
<td class="summary">Set this static's solid collision status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetCollidable">Static:SetCollidable(collidable)</a></td>
<td class="summary">Set this static's collision status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:Enable">Static:Enable()</a></td>
<td class="summary">Enable this static.</td>
</tr>
@ -373,6 +387,27 @@
</dd>
<dt>
<a name = "Static:GetCollidable"></a>
<strong>Static:GetCollidable()</strong>
</dt>
<dd>
Get this static's collision status.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Collision status. <strong>true: can be collided with</strong>, <strong>false: no collision</strong>
</ol>
</dd>
<dt>
<a name = "Static:GetSolid"></a>
@ -570,6 +605,28 @@
</dd>
<dt>
<a name = "Static:SetCollidable"></a>
<strong>Static:SetCollidable(collidable)</strong>
</dt>
<dd>
Set this static's collision status.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">collidable</span>
<span class="types"><span class="type">bool</span></span>
New collision status. <strong>true: can be collided with</strong>, <strong>false: no collision</strong>
</li>
</ul>
</dd>
<dt>
<a name = "Static:Enable"></a>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -194,7 +200,7 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
of the sprite sequence object.
</li>
<li><span class="parameter">int</span>
@ -244,7 +250,7 @@
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence object ID.
</ol>
@ -362,14 +368,14 @@
<strong>DisplaySprite:SetObjectID(New)</strong>
</dt>
<dd>
Set the sprite sequence object ID used by the display sprite. (Objects.ObjID)
Set the sprite sequence object ID used by the display sprite. (Objects.ObjID.SpriteConstants)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
sprite sequence object ID.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <here>Flow.Fog</here></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -109,31 +115,29 @@
<div id="content">
<h1>Primitive Class <code>Flow.Fog</code></h1>
<p>Distance fog.</p>
<p>
</p>
<p>Represesnts distance fog.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#fog">Flow.Level.fog</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#color">color</a></td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color</td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color.</td>
</tr>
<tr>
<td class="name" ><a href="#minDistance">minDistance</a></td>
<td class="summary">(int) min distance.</td>
<td class="summary">(float) Minimum distance.</td>
</tr>
<tr>
<td class="name" ><a href="#maxDistance">maxDistance</a></td>
<td class="summary">(int) max distance.</td>
<td class="summary">(float) Maximum distance.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Fog">Fog(color, Min, Max)</a></td>
<td class="name" ><a href="#Fog">Fog(color, min, max)</a></td>
<td class="summary">
</td>
@ -152,7 +156,7 @@
<strong>color</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color
(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color.
@ -167,8 +171,8 @@
<strong>minDistance</strong>
</dt>
<dd>
(int) min distance.
This is the distance at which the fog starts.*
(float) Minimum distance.
This is the distance at which the fog starts (in sectors).
@ -183,8 +187,8 @@
<strong>maxDistance</strong>
</dt>
<dd>
(int) max distance.
This is the distance at which the fog reaches the maximum strength.
(float) Maximum distance.
This is the distance at which the fog reaches the maximum strength (in sectors).
@ -200,7 +204,7 @@
<dl class="function">
<dt>
<a name = "Fog"></a>
<strong>Fog(color, Min, Max)</strong>
<strong>Fog(color, min, max)</strong>
</dt>
<dd>
@ -215,13 +219,13 @@
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
RGB color
</li>
<li><span class="parameter">Min</span>
<li><span class="parameter">min</span>
<span class="types"><span class="type">int</span></span>
Distance fog starts (in Sectors)
Distance at which fog starts (in sectors)
</li>
<li><span class="parameter">Max</span>
<li><span class="parameter">max</span>
<span class="types"><span class="type">int</span></span>
Distance fog ends (in Sectors)
Distance at which fog reaches the maximum strength (in sectors)
</li>
</ul>

View file

@ -0,0 +1,281 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <here>Flow.Horizon</here></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Primitive Class <code>Flow.Horizon</code></h1>
<p>Represents a horizon.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#horizon1">Flow.Level.horizon1</a> and <a href="../2 classes/Flow.Level.html#horizon2">Flow.Level.horizon2</a> properties.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#enabled">enabled</a></td>
<td class="summary">(bool) Horizon enabled state.</td>
</tr>
<tr>
<td class="name" ><a href="#objectID">objectID</a></td>
<td class="summary">(<a href="../4 enums/Objects.ObjID.html#">Objects.ObjID</a>) Horizon object ID.</td>
</tr>
<tr>
<td class="name" ><a href="#position">position</a></td>
<td class="summary">(<a href="../3 primitive classes/Vec3.html#">Vec3</a>) Horizon position.</td>
</tr>
<tr>
<td class="name" ><a href="#rotation">rotation</a></td>
<td class="summary">(<a href="../3 primitive classes/Rotation.html#">Rotation</a>) Horizon rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#transparency">transparency</a></td>
<td class="summary">(float) Horizon transparency.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Horizon">Horizon(objectID)</a></td>
<td class="summary">Create a horizon object.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "enabled"></a>
<strong>enabled</strong>
</dt>
<dd>
(bool) Horizon enabled state.
If set to true, horizon will be visible.
</dd>
<dt>
<a name = "objectID"></a>
<strong>objectID</strong>
</dt>
<dd>
(<a href="../4 enums/Objects.ObjID.html#">Objects.ObjID</a>) Horizon object ID.
</dd>
<dt>
<a name = "position"></a>
<strong>position</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Vec3.html#">Vec3</a>) Horizon position.
Specifies an offset from the camera origin.
</dd>
<dt>
<a name = "rotation"></a>
<strong>rotation</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Rotation.html#">Rotation</a>) Horizon rotation.
Specifies horizon rotation.
</dd>
<dt>
<a name = "transparency"></a>
<strong>transparency</strong>
</dt>
<dd>
(float) Horizon transparency.
Specifies horizon transparency on a range from 0 to 1.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Horizon"></a>
<strong>Horizon(objectID)</strong>
</dt>
<dd>
Create a horizon object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">objectID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the horizon to use.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Flow.Horizon.html#Horizon">Horizon</a></span>
A new Horizon object.
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <here>Flow.InventoryItem</here></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -110,9 +116,7 @@
<h1>Primitive Class <code>Flow.InventoryItem</code></h1>
<p>Represents the properties of an object as it appears in the inventory.</p>
<p>
</p>
<p> To be used in <a href="../2 classes/Flow.Level.html#objects">Flow.Level.objects</a> list.</p>
<h2><a href="#Functions">Functions</a></h2>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <here>Flow.LensFlare</here></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -110,65 +116,130 @@
<h1>Primitive Class <code>Flow.LensFlare</code></h1>
<p>Represents a global lens flare (not to be confused with the lens flare object).</p>
<p>
</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#lensFlare">Flow.Level.lensFlare</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#enabled">enabled</a></td>
<td class="summary">(bool) Lens flare enabled state.</td>
</tr>
<tr>
<td class="name" ><a href="#spriteID">spriteID</a></td>
<td class="summary">(<a href="../4 enums/Objects.ObjID.html#SpriteConstants">Objects.ObjID.SpriteConstants</a>) Lens flare's sun sprite object ID.</td>
</tr>
<tr>
<td class="name" ><a href="#pitch">pitch</a></td>
<td class="summary">(float) Lens flare's pitch (vertical) angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#yaw">yaw</a></td>
<td class="summary">(float) Lens flare's yaw (horizontal) angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#color">color</a></td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) Lens flare's color.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LensFlare">LensFlare(Pitch, Yaw, Color.)</a></td>
<td class="name" ><a href="#LensFlare">LensFlare(pitch, yaw, color)</a></td>
<td class="summary">Create a LensFlare object.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetSunSpriteID">LensFlare:GetSunSpriteID()</a></td>
<td class="summary">Get this lens flare's sun sprite ID.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetPitch">LensFlare:GetPitch()</a></td>
<td class="summary">Get this lens flare's pitch angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetYaw">LensFlare:GetYaw()</a></td>
<td class="summary">Get this lens flare's yaw angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetColor">LensFlare:GetColor()</a></td>
<td class="summary">Get the lens flare's color.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetEnabled">LensFlare:GetEnabled()</a></td>
<td class="summary">Get this lens flare's enabled status.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetSunSpriteID">LensFlare:SetSunSpriteID(New)</a></td>
<td class="summary">Set this lens flare's sun sprite ID.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetPitch">LensFlare:SetPitch(New)</a></td>
<td class="summary">Set this lens flare's pitch angle.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetYaw">LensFlare:SetYaw(New)</a></td>
<td class="summary">Set this lens flare's yaw angle.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetColor">LensFlare:SetColor(New)</a></td>
<td class="summary">Set this lens flare's color.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "enabled"></a>
<strong>enabled</strong>
</dt>
<dd>
(bool) Lens flare enabled state.
If set to true, lens flare will be visible.
</dd>
<dt>
<a name = "spriteID"></a>
<strong>spriteID</strong>
</dt>
<dd>
(<a href="../4 enums/Objects.ObjID.html#SpriteConstants">Objects.ObjID.SpriteConstants</a>) Lens flare's sun sprite object ID.
</dd>
<dt>
<a name = "pitch"></a>
<strong>pitch</strong>
</dt>
<dd>
(float) Lens flare's pitch (vertical) angle in degrees.
</dd>
<dt>
<a name = "yaw"></a>
<strong>yaw</strong>
</dt>
<dd>
(float) Lens flare's yaw (horizontal) angle in degrees.
</dd>
<dt>
<a name = "color"></a>
<strong>color</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Color.html#">Color</a>) Lens flare's color.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "LensFlare"></a>
<strong>LensFlare(Pitch, Yaw, Color.)</strong>
<strong>LensFlare(pitch, yaw, color)</strong>
</dt>
<dd>
Create a LensFlare object.
@ -177,19 +248,16 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Pitch</span>
<li><span class="parameter">pitch</span>
<span class="types"><span class="type">float</span></span>
angle in degrees.
Pitch angle in degrees.
</li>
<li><span class="parameter">Yaw</span>
<li><span class="parameter">yaw</span>
<span class="types"><span class="type">float</span></span>
angle in degrees.
Yaw angle in degrees.
</li>
<li><span class="parameter">Color.</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
<li><span class="parameter">color</span>
Color of the lensflare.
</li>
</ul>
@ -203,193 +271,6 @@
</dd>
<dt>
<a name = "LensFlare:GetSunSpriteID"></a>
<strong>LensFlare:GetSunSpriteID()</strong>
</dt>
<dd>
Get this lens flare's sun sprite ID.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Sprite ID.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetPitch"></a>
<strong>LensFlare:GetPitch()</strong>
</dt>
<dd>
Get this lens flare's pitch angle in degrees.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Pitch angle in degrees.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetYaw"></a>
<strong>LensFlare:GetYaw()</strong>
</dt>
<dd>
Get this lens flare's yaw angle in degrees.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Yaw angle in degrees.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetColor"></a>
<strong>LensFlare:GetColor()</strong>
</dt>
<dd>
Get the lens flare's color.
</dd>
<dt>
<a name = "LensFlare:GetEnabled"></a>
<strong>LensFlare:GetEnabled()</strong>
</dt>
<dd>
Get this lens flare's enabled status.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Enabled status. <strong>true: enabled</strong>, <strong>false: disabled</strong>
</ol>
</dd>
<dt>
<a name = "LensFlare:SetSunSpriteID"></a>
<strong>LensFlare:SetSunSpriteID(New)</strong>
</dt>
<dd>
Set this lens flare's sun sprite ID.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
sun sprite ID.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetPitch"></a>
<strong>LensFlare:SetPitch(New)</strong>
</dt>
<dd>
Set this lens flare's pitch angle.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
pitch angle in degrees.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetYaw"></a>
<strong>LensFlare:SetYaw(New)</strong>
</dt>
<dd>
Set this lens flare's yaw angle.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
yaw angle in degrees.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetColor"></a>
<strong>LensFlare:SetColor(New)</strong>
</dt>
<dd>
Set this lens flare's color.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
color.
</li>
</ul>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <here>Flow.SkyLayer</here></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -110,7 +116,7 @@
<h1>Primitive Class <code>Flow.SkyLayer</code></h1>
<p>Describes a layer of moving clouds.</p>
<p>As seen in TR4's City of the Dead.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#layer1">Flow.Level.layer1</a> and <a href="../2 classes/Flow.Level.html#layer2">Flow.Level.layer2</a> properties.</p>
<h2><a href="#Members">Members</a></h2>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -109,12 +115,29 @@
<div id="content">
<h1>Primitive Class <code>Flow.Starfield</code></h1>
<p>Represents a starfield in the sky.</p>
<p>
</p>
<p>Represents a star field in the sky.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#starfield">Flow.Level.starfield</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#starCount">starCount</a></td>
<td class="summary">(int) Amount of visible stars.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorCount">meteorCount</a></td>
<td class="summary">(int) Amount of visible meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorSpawnDensity">meteorSpawnDensity</a></td>
<td class="summary">(int) Meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorVelocity">meteorVelocity</a></td>
<td class="summary">(int) Meteor velocity.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
@ -122,55 +145,79 @@
<td class="summary">Create a starfield object with only stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield">Starfield(starCount, meteorCount)</a></td>
<td class="name" ><a href="#Starfield">Starfield(starCount, meteorCount, meteorSpawnDensity, meteorVel)</a></td>
<td class="summary">Create a starfield object with stars and meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetStarCount">Starfield:GetStarCount()</a></td>
<td class="summary">Get this starfield's number of stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorCount">Starfield:GetMeteorCount()</a></td>
<td class="summary">Get this starfield's number of meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorSpawnDensity">Starfield:GetMeteorSpawnDensity()</a></td>
<td class="summary">Get this starfield's meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorVelocity">Starfield:GetMeteorVelocity()</a></td>
<td class="summary">Get this starfield's meteor velocity.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetStarsEnabled">Starfield:GetStarsEnabled()</a></td>
<td class="summary">Get this starfield's stars enabled status.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorsEnabled">Starfield:GetMeteorsEnabled()</a></td>
<td class="summary">Get this starfield's meteors enabled status.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetStarCount">Starfield:SetStarCount(New)</a></td>
<td class="summary">Set this starfield's number of stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorCount">Starfield:SetMeteorCount(New)</a></td>
<td class="summary">Set this starfield's number of meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorSpawnDensity">Starfield:SetMeteorSpawnDensity(New)</a></td>
<td class="summary">Set this starfield's meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorVelocity">Starfield:SetMeteorVelocity(New)</a></td>
<td class="summary">Set this starfield's meteor velocity.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "starCount"></a>
<strong>starCount</strong>
</dt>
<dd>
(int) Amount of visible stars.
</dd>
<dt>
<a name = "meteorCount"></a>
<strong>meteorCount</strong>
</dt>
<dd>
(int) Amount of visible meteors.
</dd>
<dt>
<a name = "meteorSpawnDensity"></a>
<strong>meteorSpawnDensity</strong>
</dt>
<dd>
(int) Meteor spawn density.
</dd>
<dt>
<a name = "meteorVelocity"></a>
<strong>meteorVelocity</strong>
</dt>
<dd>
(int) Meteor velocity.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
@ -204,7 +251,7 @@
</dd>
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starCount, meteorCount)</strong>
<strong>Starfield(starCount, meteorCount, meteorSpawnDensity, meteorVel)</strong>
</dt>
<dd>
Create a starfield object with stars and meteors.
@ -221,232 +268,26 @@
<span class="types"><span class="type">int</span></span>
Meteor count. <strong>Max: 100</strong>
</li>
<li><span class="parameter">meteorSpawnDensity</span>
<span class="types"><span class="type">int</span></span>
Meteor spawn density.
</li>
<li><span class="parameter">meteorVel</span>
<span class="types"><span class="type">int</span></span>
Meteor velocity.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Flow.Starfield.html#Starfield">Starfield</a></span>
<span class="types"><span class="type">StarField</span></span>
A new Starfield object.
</ol>
</dd>
<dt>
<a name = "Starfield:GetStarCount"></a>
<strong>Starfield:GetStarCount()</strong>
</dt>
<dd>
Get this starfield's number of stars.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Count.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorCount"></a>
<strong>Starfield:GetMeteorCount()</strong>
</dt>
<dd>
Get this starfield's number of meteors.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Count.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorSpawnDensity"></a>
<strong>Starfield:GetMeteorSpawnDensity()</strong>
</dt>
<dd>
Get this starfield's meteor spawn density.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Spawn density.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorVelocity"></a>
<strong>Starfield:GetMeteorVelocity()</strong>
</dt>
<dd>
Get this starfield's meteor velocity.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Velocity.
</ol>
</dd>
<dt>
<a name = "Starfield:GetStarsEnabled"></a>
<strong>Starfield:GetStarsEnabled()</strong>
</dt>
<dd>
Get this starfield's stars enabled status.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Stars enabled status. <strong>true: enabled</strong>, <strong>false: disabled</strong>
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorsEnabled"></a>
<strong>Starfield:GetMeteorsEnabled()</strong>
</dt>
<dd>
Get this starfield's meteors enabled status.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Meteors enabled status. <strong>true: enabled</strong>, <strong>false: disabled</strong>
</ol>
</dd>
<dt>
<a name = "Starfield:SetStarCount"></a>
<strong>Starfield:SetStarCount(New)</strong>
</dt>
<dd>
Set this starfield's number of stars.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
star count.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorCount"></a>
<strong>Starfield:SetMeteorCount(New)</strong>
</dt>
<dd>
Set this starfield's number of meteors.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
meteor count.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorSpawnDensity"></a>
<strong>Starfield:SetMeteorSpawnDensity(New)</strong>
</dt>
<dd>
Set this starfield's meteor spawn density.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
meteor spawn density.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorVelocity"></a>
<strong>Starfield:SetMeteorVelocity(New)</strong>
</dt>
<dd>
Set this starfield's meteor velocity.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
meteor velocity.
</li>
</ul>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -137,23 +143,19 @@
<td class="summary">Create a Vec2 object.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(This)</a></td>
<td class="summary">Metafunction.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Normalize">Vec2:Normalize()</a></td>
<td class="summary">Get a copy of this Vec2 normalized to length 1.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(dir, dist)</a></td>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(dir, dist)</a></td>
<td class="summary">Get a copy of this Vec2 translated in the input Vec2 direction by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(rot, dist)</a></td>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(rot, dist)</a></td>
<td class="summary">Get a copy of this Vec2 translated in the direction of the input rotation in degrees by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(rot, relOffset)</a></td>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(rot, relOffset)</a></td>
<td class="summary">Get a copy of this Vec2 translated by an offset, where the input relative offset Vec2 is rotated according to the input rotation in degrees.</td>
</tr>
<tr>
@ -180,6 +182,10 @@
<td class="name" ><a href="#Vec2:Length">Vec2:Length()</a></td>
<td class="summary">Get the length of this Vec2.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(This)</a></td>
<td class="summary">Metafunction.</td>
</tr>
</table>
<br/>
@ -282,34 +288,6 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(This)</strong>
</dt>
<dd>
Metafunction. Use tostring(vector).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">This</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Vec2.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string showing the X and Y components of the Vec2.
</ol>
</dd>
<dt>
<a name = "Vec2:Normalize"></a>
@ -333,8 +311,8 @@
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(dir, dist)</strong>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(dir, dist)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated in the input Vec2 direction by the input distance.
@ -365,8 +343,8 @@
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(rot, dist)</strong>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(rot, dist)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated in the direction of the input rotation in degrees by the input distance.
@ -397,8 +375,8 @@
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(rot, relOffset)</strong>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(rot, relOffset)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated by an offset, where the input relative offset Vec2 is rotated according to the input rotation in degrees.
@ -592,6 +570,34 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(This)</strong>
</dt>
<dd>
Metafunction. Use tostring(vector).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">This</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Vec2.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string showing the X and Y components of the Vec2.
</ol>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -0,0 +1,193 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <here>Collision.MaterialType</here></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Collision.MaterialType</code></h1>
<p>Constants for material types.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Collision.MaterialType">Collision.MaterialType</a></td>
<td class="summary">Table of MaterialType constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Collision.MaterialType"></a>
<strong>Collision.MaterialType</strong>
</dt>
<dd>
<p>Table of MaterialType constants. To be used with <a href="../2 classes/Collision.Probe.html#GetFloorMaterialType">Collision.Probe.GetFloorMaterialType</a> and <a href="../2 classes/Collision.Probe.html#GetCeilingMaterialType">Collision.Probe.GetCeilingMaterialType</a>.</p>
<ul>
<li><code>MUD</code></li>
<li><code>SNOW</code></li>
<li><code>SNOW</code></li>
<li><code>SAND</code></li>
<li><code>GRAVEL</code></li>
<li><code>ICE</code></li>
<li><code>WATER</code></li>
<li><code>STONE</code></li>
<li><code>WOOD</code></li>
<li><code>METAL</code></li>
<li><code>MARBLE</code></li>
<li><code>GRASS</code></li>
<li><code>CONCRETE</code></li>
<li><code>OLD_WOOD</code></li>
<li><code>OLD_METAL</code></li>
<li><code>CUSTOM_1</code></li>
<li><code>CUSTOM_2</code></li>
<li><code>CUSTOM_3</code></li>
<li><code>CUSTOM_4</code></li>
<li><code>CUSTOM_5</code></li>
<li><code>CUSTOM_6</code></li>
<li><code>CUSTOM_7</code></li>
<li><code>CUSTOM_8</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <here>Effects.BlendID</here></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <here>Effects.EffectID</here></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -0,0 +1,172 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <here>Effects.ParticleAnimationType</here></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Effects.ParticleAnimationType</code></h1>
<p>Constants for particle animation type constants.</p>
<p> To be used with <a href="../1 modules/Effects.html#EmitAdvancedParticle">Effects.EmitAdvancedParticle</a> function.</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.ParticleAnimationType">Effects.ParticleAnimationType</a></td>
<td class="summary">Table of Effects.ParticleAnimationType type constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Effects.ParticleAnimationType"></a>
<strong>Effects.ParticleAnimationType</strong>
</dt>
<dd>
<p>Table of Effects.ParticleAnimationType type constants. To be used with particles.</p>
<ul>
<li><code>LOOP</code> - Frames loop sequentially.</li>
<li><code>ONE_SHOT</code> - Frames play once and freeze on the last frame.</li>
<li><code>BACK_AND_FORTH</code> - Frames bounce back and forth.</li>
<li><code>LIFE_TIME_SPREAD</code> - Frames are distributed over the particle's lifetime</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -0,0 +1,175 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <here>Effects.StreamerFeatherMode</here></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Effects.StreamerFeatherMode</code></h1>
<p>Constants for feather modes.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.StreamerFeatherMode">Effects.StreamerFeatherMode</a></td>
<td class="summary">Table of Effects.StreamerFeatherMode constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Effects.StreamerFeatherMode"></a>
<strong>Effects.StreamerFeatherMode</strong>
</dt>
<dd>
<p>Table of Effects.StreamerFeatherMode constants.
To be used with <a href="../1 modules/Effects.html#EmitStreamer">Effects.EmitStreamer</a> function.</p>
<ul>
<li><code>NONE</code></li>
<li><code>CENTER</code></li>
<li><code>LEFT</code></li>
<li><code>RIGHT</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <here>Flow.ErrorMode</here></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <here>Flow.FreezeMode</here></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <here>Flow.GameStatus</here></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -125,6 +131,10 @@
<td class="name" ><a href="#PickupConstants">PickupConstants</a></td>
<td class="summary">Objects.ObjID pickup constants.</td>
</tr>
<tr>
<td class="name" ><a href="#SpriteConstants">SpriteConstants</a></td>
<td class="summary">Objects.ObjID sprite constants.</td>
</tr>
</table>
<br/>
@ -139,7 +149,8 @@
<strong>Members</strong>
</dt>
<dd>
Objects.ObjID constants. </p>
<p>Objects.ObjID constants. </p>
<p>The following constants are inside ObjID.</p>
@ -292,6 +303,7 @@ GLADIATOR
CYBORG
SNIPER
CHEF
KOLD
WINGED_MUMMY
CENTAUR_MUTANT
DOPPELGANGER
@ -316,14 +328,14 @@ SWORD_GUARDIAN
SWORD_GUARDIAN_STATUE
SHIVA
SHIVA_STATUE
TRIBEBOSS
WILLARD
CIVVY
MUTANT2
LIZARD
TONY_BOSS
TONY_BOSS_FLAME
PUNA_BOSS
SOPHIA_LEE_BOSS
SOPHIA_LEIGH_BOSS
LASER_BOLT
SKELETON
MUMMY
@ -355,7 +367,7 @@ ATTACK_SUB
IMP
IMP_ROCK
GUNSHIP
AUTOGUN
AUTO_GUN_VCI
ROMAN_GOD1
ROMAN_GOD2
LAGOON_WITCH
@ -364,6 +376,7 @@ BOSS_EXPLOSION_SHOCKWAVE
BOSS_EXPLOSION_RING
CLAW_MUTANT
WASP_MUTANT
TWIN_AUTO_GUN
SKATEBOARD
SKATEBOARD_KID
WINSTON
@ -499,6 +512,11 @@ DAMOCLES_SWORD
ELECTRIC_CLEANER
SLAMMING_DOORS
SWINGING_BLADE
ELECTRIC_BALL
ELECTRIC_BALL_IMPACT_POINT
THOR_HAMMER_HANDLE
THOR_HAMMER_HEAD
MOVING_LASER
PUZZLE_ITEM1
PUZZLE_ITEM2
PUZZLE_ITEM3
@ -731,7 +749,6 @@ BURNING_TORCH_ITEM
CLOCKWORK_BEETLE
CLOCKWORK_BEETLE_COMBO1
CLOCKWORK_BEETLE_COMBO2
SWITCH_TYPE1
SWITCH_TYPE2
SWITCH_TYPE3
@ -753,10 +770,10 @@ SHOOT_SWITCH2
SHOOT_SWITCH3
SHOOT_SWITCH4
AIRLOCK_SWITCH
ID_UNDERWATER_WALL_SWITCH_1
ID_UNDERWATER_WALL_SWITCH_2
ID_UNDERWATER_CEILING_SWITCH_1
ID_UNDERWATER_CEILING_SWITCH_2
UNDERWATER_WALL_SWITCH1
UNDERWATER_WALL_SWITCH2
UNDERWATER_CEILING_SWITCH1
UNDERWATER_CEILING_SWITCH2
TURN_SWITCH
COG_SWITCH
LEVER_SWITCH
@ -903,7 +920,7 @@ FLOOR_LASERS
KILL_ALL_TRIGGERS
TRIGGER_TRIGGERER
HIGH_OBJECT1
HIGH_OBJECT2
EMBER_EMITTER
SMASH_OBJECT1
SMASH_OBJECT2
SMASH_OBJECT3
@ -934,6 +951,7 @@ FISHTANK
DOPPELGANGER_ORIGIN
CORPSE
WRAITH_TRAP
WATERFALL_EMITTER
MESHSWAP1
MESHSWAP2
MESHSWAP3
@ -1091,8 +1109,6 @@ BRIDGE_TILT3
BRIDGE_TILT4
BRIDGE_CUSTOM
HORIZON
BINOCULAR_GRAPHICS
TARGET_GRAPHICS
SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
@ -1107,31 +1123,23 @@ RUBBER_BOAT_WAVE_SPRITES
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
KAYAK_WAKE_SPRTIES
BINOCULAR_GRAPHIC
LASER_SIGHT_GRAPHIC
CAUSTICS_TEXTURES
BAR_BORDER_GRAPHIC
BINOCULAR_GRAPHICS
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
SPEEDOMETER
WATERFALL
CUSTOM_BAR_GRAPHIC
CUSTOM_AMMO_GRAPHIC
WATERFALL_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
PANEL_BORDER
PANEL_MIDDLE
PANEL_CORNER
PANEL_DIAGONAL
PANEL_STRIP
PANEL_HALF_BORDER1
PANEL_HALF_BORDER2
PANEL_MIDDLE_CORNER
</code></pre>
<p>Table of constants.
@ -1146,7 +1154,8 @@ PANEL_MIDDLE_CORNER
<strong>PickupConstants</strong>
</dt>
<dd>
Objects.ObjID pickup constants. </p>
<p>Objects.ObjID pickup constants. </p>
<p>The following ObjID members refer to pickups.</p>
@ -1294,6 +1303,30 @@ PICKUP_ITEM15_COMBO1
PICKUP_ITEM15_COMBO2
PICKUP_ITEM16_COMBO1
PICKUP_ITEM16_COMBO2
EXAMINE1
EXAMINE2
EXAMINE3
EXAMINE4
EXAMINE5
EXAMINE6
EXAMINE7
EXAMINE8
EXAMINE1_COMBO1
EXAMINE1_COMBO2
EXAMINE2_COMBO1
EXAMINE2_COMBO2
EXAMINE3_COMBO1
EXAMINE3_COMBO2
EXAMINE4_COMBO1
EXAMINE4_COMBO2
EXAMINE5_COMBO1
EXAMINE5_COMBO2
EXAMINE6_COMBO1
EXAMINE6_COMBO2
EXAMINE7_COMBO1
EXAMINE7_COMBO2
EXAMINE8_COMBO1
EXAMINE8_COMBO2
HAMMER_ITEM
CROWBAR_ITEM
BURNING_TORCH_ITEM
@ -1331,10 +1364,60 @@ FLARE_INV_ITEM
COMPASS_ITEM
DIARY_ITEM
STOPWATCH_ITEM
MEMCARD_LOAD_INV_ITEM
MEMCARD_SAVE_INV_ITEM
PC_LOAD_INV_ITEM
PC_SAVE_INV_ITEM
</code></pre>
<p>Table of constants.
</dd>
<dt>
<a name = "SpriteConstants"></a>
<strong>SpriteConstants</strong>
</dt>
<dd>
<p>Objects.ObjID sprite constants. </p>
<p>The following ObjID members refer to sprites.</p>
<pre><code>SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
CUSTOM_SPRITES
FIRE_SPRITES
SMOKE_SPRITES
SPARK_SPRITE
DRIP_SPRITE
EXPLOSION_SPRITES
MOTORBOAT_FOAM_SPRITES
RUBBER_BOAT_WAVE_SPRITES
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
WATERFALL_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
</code></pre>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <here>Diary</here></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
@ -109,8 +115,7 @@
<div id="content">
<h1>Lua utility module <code>Diary</code></h1>
<p>Diaries:
The module provides functions to create and manage Diaries.</p>
<p>This module provides functions to create and manage diaries.</p>
<p>
<p> It maintains diary definitions and entries through all levels and hubs.
Each diary is accessed by the object that was used to create it. </p>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <here>EventSequence</here></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <here>Timer</here></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.2 (Developer) Lua API</title>
<title>TombEngine 1.8 Lua API</title>
<link rel="stylesheet" href="ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
@ -75,8 +77,11 @@
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
@ -98,6 +103,7 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="5 lua utility modules/Timer.html">Timer</a></li>
@ -109,25 +115,25 @@
<div id="content">
<h2>TombEngine 1.7.2 (Developer) scripting interface</h2>
<p>Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.</p>
<h2>TombEngine 1.8 scripting interface</h2>
<p>Welcome to the TombEngine scripting API.</p>
<p>At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.</p>
<h4>Module Hierarchy (boring but important)</h4>
<p>Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
<p>Note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.</p>
<h4>Module Hierarchy</h4>
<p>Other than the "special tables" (<code>GameVars</code>, <code>LevelVars</code> and <code>LevelFuncs</code>), every module described herein is held in a master table called TEN.
For convenience, these modules and classes are automatically put in the global table. For example, you can call GetMoveableByName either of these two ways:</p>
<pre><code>local door = TEN.Objects.GetMoveableByName("door_type4_14")
local door = GetMoveableByName("door_type4_14")
</code></pre>
<h4>Always check logs/TENLog.txt</h4>
<p>If you are scripting levels, TombEngine will often kick you back to the title screen, even if <code>errorMode</code> (see Flow.Settings) is set to <code>ErrorMode.WARN</code> or <code>ErrorMode.SILENT</code>.</p>
<p>If you are scripting levels, TombEngine will often kick you back to the title screen, even if <code>errorMode</code> (see <a href="2 classes/Flow.Settings.html#">Flow.Settings</a>) is set to <code>ErrorMode.WARN</code> or <code>ErrorMode.SILENT</code>.</p>
<p>This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing <code>end</code> at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.</p>
<p>This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing <code>end</code> at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless. If this happens, check <strong>logs/TENLog.txt</strong> and look for an error message with the word "unrecoverable".</p>
<p>If this happens, check <strong>logs/TENLog.txt</strong> and look for an error message with the word "unrecoverable".</p>
<p>Enjoy.</p>
<p>Happy building!</p>
<p>- <em>squidshire and the TombEngine development team.</em></p>
@ -176,6 +182,10 @@ local door = GetMoveableByName("door_type4_14")
</table>
<h2>2 Classes</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="2 classes/Collision.Probe.html">Collision.Probe</a></td>
<td class="summary">Represents a collision probe in the game world.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Level.html">Flow.Level</a></td>
<td class="summary">Stores level metadata.</td>
@ -237,7 +247,11 @@ local door = GetMoveableByName("door_type4_14")
<table class="module_list">
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Fog.html">Flow.Fog</a></td>
<td class="summary">Distance fog.</td>
<td class="summary">Represesnts distance fog.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></td>
<td class="summary">Represents a horizon.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></td>
@ -253,7 +267,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></td>
<td class="summary">Represents a starfield in the sky.</td>
<td class="summary">Represents a star field in the sky.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Color.html">Color</a></td>
@ -278,6 +292,10 @@ local door = GetMoveableByName("door_type4_14")
</table>
<h2>4 Enums</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="4 enums/Collision.MaterialType.html">Collision.MaterialType</a></td>
<td class="summary">Constants for material types.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.BlendID.html">Effects.BlendID</a></td>
<td class="summary">Constants for blend mode IDs.</td>
@ -286,6 +304,14 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="4 enums/Effects.EffectID.html">Effects.EffectID</a></td>
<td class="summary">Constants for effect IDs.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></td>
<td class="summary">Constants for feather modes.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></td>
<td class="summary">Constants for particle animation type constants.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></td>
<td class="summary">Constants for error modes.</td>
@ -361,10 +387,13 @@ local door = GetMoveableByName("door_type4_14")
</table>
<h2>5 Lua utility modules</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="5 lua utility modules/CustomBar.html">CustomBar</a></td>
<td class="summary">This module provides functions for creating and managing custom progress bars.</td>
</tr>
<tr>
<td class="name" ><a href="5 lua utility modules/Diary.html">Diary</a></td>
<td class="summary">Diaries:
The module provides functions to create and manage Diaries.</td>
<td class="summary">This module provides functions to create and manage diaries.</td>
</tr>
<tr>
<td class="name" ><a href="5 lua utility modules/EventSequence.html">EventSequence</a></td>

View file

@ -32,7 +32,9 @@ span.types:after { content:")"; }
body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
ul { margin: 10px 0 0 0px;}
p { margin: 3px 0px 0px 0px; }
strong { font-weight: bold;}
@ -63,6 +65,10 @@ blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
ul li:not(:last-child) {
margin-bottom: 0.3em;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
@ -103,11 +109,11 @@ table.index td { text-align: left; vertical-align: top; }
#main {
background-color: #f0f0f0;
border-left: 2px solid #cccccc;
display: flex
}
#navigation {
float: left;
width: 16em;
width: 18em;
vertical-align: top;
background-color: #f0f0f0;
overflow: visible;
@ -141,7 +147,6 @@ table.index td { text-align: left; vertical-align: top; }
}
#content {
margin-left: 18em;
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;

View file

@ -0,0 +1,149 @@
# PowerShell script to generate ObjectIDs.h from game_object_ids.h
$inputFile = "../TombEngine/Objects/game_object_ids.h" # Adjust path if necessary.
$tempOutputFile = "../TombEngine/Scripting/Internal/TEN/Objects/temp.h"
$outputFile = "../TombEngine/Scripting/Internal/TEN/Objects/ObjectIDs.h"
# Read the input file
if (-Not (Test-Path $inputFile))
{
Write-Host "Error: File '$inputFile' not found."
exit 1
}
# Get the last modified times for both files.
$inputFileLastModified = (Get-Item $inputFile).LastWriteTime
if (Test-Path $outputFile) {
$outputFileLastModified = (Get-Item $outputFile).LastWriteTime
} else {
$outputFileLastModified = [datetime]::MinValue # If output file doesn't exist, treat it as very old.
}
# Exit early if the output file is newer than the input file.
if ($outputFileLastModified -ge $inputFileLastModified) {
Write-Host "$outputFile is up to date. No changes made."
exit 0
}
$content = Get-Content $inputFile
# Extract enum values and categorize them.
$enumValues = @()
$pickupConstants = @()
$spriteConstants = @()
$inPickupSection = $false
$inSpriteSection = $false
foreach ($line in $content)
{
if ($line -match "^\s*ID_([A-Za-z0-9_]+)")
{
$enumName = $matches[1]
$enumValues += $enumName
if ($enumName -match "_ITEM|EXAMINE")
{
$pickupConstants += $enumName
}
elseif ($enumName -match "_SPRITE|_GRAPHIC|TEXTURE")
{
# These two object IDs are deprecated 3D objects, not sprites.
if ($enumName -in @("BINOCULAR_GRAPHICS", "TARGET_GRAPHICS"))
{
continue
}
$spriteConstants += $enumName
}
}
}
if ($enumValues.Count -gt 0) { $enumValues = $enumValues[1..($enumValues.Count - 2)] }
# Generate ObjectIDs.h content.
$header = @"
#pragma once
// This file is generated automatically, do not edit it.
// Last generated on $(Get-Date -Format "dd/MM/yyyy").
#include <unordered_map>
#include <string>
#include "Objects/game_object_ids.h"
/***
Constants for object IDs.
@enum Objects.ObjID
@pragma nostrip
*/
/*** Objects.ObjID constants.
The following constants are inside ObjID.
"@
$body = $enumValues | ForEach-Object { "`t$_" }
$footer = @"
@table Members
*/
"@
# Pickup Constants Section.
$pickupHeader = @"
/*** Objects.ObjID pickup constants.
The following ObjID members refer to pickups.
"@
$pickupBody = $pickupConstants | ForEach-Object { "`t$_" }
$pickupFooter = @"
@table PickupConstants
*/
"@
# Sprite Constants Section.
$spriteHeader = @"
/*** Objects.ObjID sprite constants.
The following ObjID members refer to sprites.
"@
$spriteBody = $spriteConstants | ForEach-Object { "`t$_" }
$spriteFooter = @"
@table SpriteConstants
*/
"@
# Map definition.
$mapHeader = "static const std::unordered_map<std::string, GAME_OBJECT_ID> GAME_OBJECT_IDS {"
$mapBody = ($enumValues | ForEach-Object { "`t" + '{ "' + "$_" + '", ID_' + "$_" + ' }' }) -join ",`r`n"
$mapFooter = "};"
# Write to output file
$header | Set-Content $tempOutputFile
$body | Add-Content $tempOutputFile
$footer | Add-Content $tempOutputFile
$pickupHeader | Add-Content $tempOutputFile
$pickupBody | Add-Content $tempOutputFile
$pickupFooter | Add-Content $tempOutputFile
$spriteHeader | Add-Content $tempOutputFile
$spriteBody | Add-Content $tempOutputFile
$spriteFooter | Add-Content $tempOutputFile
$mapHeader | Add-Content $tempOutputFile
$mapBody | ForEach-Object { Add-Content $tempOutputFile $_ }
$mapFooter | Add-Content $tempOutputFile
# Rename the temporary file to the final name.
if (Test-Path $outputFile) {
Remove-Item $outputFile -Force
}
Move-Item -Path $tempOutputFile -Destination $outputFile -Force
Write-Host "Generated $outputFile successfully."

View file

@ -32,7 +32,9 @@ span.types:after { content:")"; }
body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
ul { margin: 10px 0 0 0px;}
p { margin: 3px 0px 0px 0px; }
strong { font-weight: bold;}
@ -63,6 +65,10 @@ blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
ul li:not(:last-child) {
margin-bottom: 0.3em;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
@ -103,11 +109,11 @@ table.index td { text-align: left; vertical-align: top; }
#main {
background-color: #f0f0f0;
border-left: 2px solid #cccccc;
display: flex
}
#navigation {
float: left;
width: 16em;
width: 18em;
vertical-align: top;
background-color: #f0f0f0;
overflow: visible;
@ -141,7 +147,6 @@ table.index td { text-align: left; vertical-align: top; }
}
#content {
margin-left: 18em;
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;

View file

@ -0,0 +1,951 @@
------
-- This module provides functions for creating and managing custom progress bars. It stores bar definitions and configurations in `LevelVars.Engine.CustomBars`, enabling seamless state management.
-- Each bar is independently controlled through its associated functions.
--
-- Example usage:
--
-- local CustomBar = require("Engine.CustomBar")
--
-- -- Create a table with all the bar properties
-- local barData = {
-- barName = "water",
-- startValue = 0,
-- maxValue = 1000,
-- objectIdBg = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
-- spriteIdBg = 0,
-- colorBg = TEN.Color(255,255,255),
-- posBg = TEN.Vec2(20, 20),
-- rotBg = 0,
-- scaleBg = TEN.Vec2(19.05, 19.1),
-- alignModeBg = TEN.View.AlignMode.CENTER_LEFT,
-- scaleModeBg = TEN.View.ScaleMode.FIT,
-- blendModeBg = TEN.Effects.BlendID.ALPHABLEND,
-- objectIdBar = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
-- spriteIdBar = 1,
-- colorBar = TEN.Color(255,0,0),
-- posBar = TEN.Vec2(20.15, 20),
-- rot = 0,
-- scaleBar = TEN.Vec2(18.7, 18.48),
-- alignMode = TEN.View.AlignMode.CENTER_LEFT,
-- scaleMode = TEN.View.ScaleMode.FIT,
-- blendMode = TEN.Effects.BlendID.ALPHABLEND,
-- text = "Water Bar",
-- textPos = TEN.Vec2(20, 15),
-- textOptions = {TEN.Strings.DisplayStringOption.SHADOW,TEN.Strings.DisplayStringOption.CENTER},
-- textScale = 1,
-- textColor = TEN.Color(255,0,0),
-- hideText = false,
-- alphaBlendSpeed = 50,
-- blink = false,
-- blinkLimit = 0.25
-- }
--
-- -- This function creates the bar.
-- CustomBar.Create(barData)
--
-- -- This method gets the bar with name "water" and stores it in variable bar.
-- local bar = CustomBar.Get("water")
-- -- This method displays the bar
-- bar:SetVisibility(true)
-- -- This method sets the bar value to 1000 over 5 seconds.
-- bar:SetBarValue(1000,5)
--
-- @luautil CustomBar
local CustomBar = {}
CustomBar.__index = CustomBar
LevelFuncs.Engine.CustomBar = {}
LevelVars.Engine.CustomBars = {bars = {}, enemiesHpBar = {status = nil}}
---
-- Creates a custom progress bar with extensive configuration options.
-- @tparam table barData The table that contains all the bar data. Refer to table setup for barData.
--
-- @treturn CustomBar The custombar in its hidden state
--
CustomBar.Create = function (barData)
local dataName = barData.barName .. "_bar_data"
local self = {name = dataName}
if LevelVars.Engine.CustomBars.bars[dataName] then
print("Warning: a customBar with name " .. dataName .. " already exists; overwriting it with a new one...")
end
---
-- Table setup for creating custom bar.
-- @table barData
-- @tfield string barName Unique identifier for the bar.
-- @tfield float startValue Initial value of the bar.
-- @tfield float maxValue Maximum value of the bar.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield float rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield float rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield string text Text to display on the bar.
-- @tfield Vec2 textPos X,Y position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit % Limit below which bar starts blinking (0-1).
LevelVars.Engine.CustomBars.bars[dataName] = {}
LevelVars.Engine.CustomBars.bars[dataName].name = dataName
LevelVars.Engine.CustomBars.bars[dataName].fixedInterval = 1/30
LevelVars.Engine.CustomBars.bars[dataName].progress = barData.startValue / barData.maxValue -- Set initial progress from start value
LevelVars.Engine.CustomBars.bars[dataName].objectIdBg = barData.objectIdBg
LevelVars.Engine.CustomBars.bars[dataName].spriteIdBg = barData.spriteIdBg
LevelVars.Engine.CustomBars.bars[dataName].colorBg = barData.colorBg
LevelVars.Engine.CustomBars.bars[dataName].posBg = barData.posBg
LevelVars.Engine.CustomBars.bars[dataName].scaleBg = barData.scaleBg
LevelVars.Engine.CustomBars.bars[dataName].rotBg = barData.rotBg
LevelVars.Engine.CustomBars.bars[dataName].alignModeBg = barData.alignModeBg
LevelVars.Engine.CustomBars.bars[dataName].scaleModeBg = barData.scaleModeBg
LevelVars.Engine.CustomBars.bars[dataName].blendModeBg = barData.blendModeBg
LevelVars.Engine.CustomBars.bars[dataName].objectIdBar = barData.objectIdBar
LevelVars.Engine.CustomBars.bars[dataName].spriteIdBar = barData.spriteIdBar
LevelVars.Engine.CustomBars.bars[dataName].colorBar = barData.colorBar
LevelVars.Engine.CustomBars.bars[dataName].posBar = barData.posBar
LevelVars.Engine.CustomBars.bars[dataName].scaleBar = barData.scaleBar
LevelVars.Engine.CustomBars.bars[dataName].rot = barData.rot
LevelVars.Engine.CustomBars.bars[dataName].alignMode = barData.alignMode
LevelVars.Engine.CustomBars.bars[dataName].scaleMode = barData.scaleMode
LevelVars.Engine.CustomBars.bars[dataName].blendMode = barData.blendMode
LevelVars.Engine.CustomBars.bars[dataName].oldValue = barData.startValue -- stores the current bar value
LevelVars.Engine.CustomBars.bars[dataName].targetValue = barData.startValue -- target value to reach
LevelVars.Engine.CustomBars.bars[dataName].maxValue = barData.maxValue
LevelVars.Engine.CustomBars.bars[dataName].text = barData.text
LevelVars.Engine.CustomBars.bars[dataName].textPos = barData.textPos
LevelVars.Engine.CustomBars.bars[dataName].textOptions = barData.textOptions
LevelVars.Engine.CustomBars.bars[dataName].textScale = barData.textScale
LevelVars.Engine.CustomBars.bars[dataName].textColor = barData.textColor
LevelVars.Engine.CustomBars.bars[dataName].hideText = barData.hideText -- required to hide bar text
LevelVars.Engine.CustomBars.bars[dataName].visible = false
LevelVars.Engine.CustomBars.bars[dataName].currentAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].alphaBlendSpeed = barData.alphaBlendSpeed
LevelVars.Engine.CustomBars.bars[dataName].blink = barData.blink
LevelVars.Engine.CustomBars.bars[dataName].blinkLimit = barData.blinkLimit
LevelVars.Engine.CustomBars.bars[dataName].blinkSpeed = 8
LevelVars.Engine.CustomBars.bars[dataName].showBar = nil --required to hide bar when enemy is not targeted
LevelVars.Engine.CustomBars.bars[dataName].object = nil
LevelVars.Engine.CustomBars.bars[dataName].getActionType = nil
LevelVars.Engine.CustomBars.bars[dataName].currentTimer = 0
return setmetatable(self, CustomBar)
end
---
-- Creates a bar tied to Players's attributes (Health, Air, Stamina).
-- @tparam table playerBarData The table that contains all the player bar data. Refer to table setup for playerBarData.
-- @treturn CustomBar Player attribute bar.
CustomBar.CreatePlayerBar = function (playerBarData)
local barName = "Player" .. playerBarData.getActionType
local dataName = barName .. "_bar_data"
if playerBarData.getActionType >= 1 and playerBarData.getActionType <= 3 then
local startValue = playerBarData.getActionType == 1 and Lara:GetHP() or
(playerBarData.getActionType == 2 and Lara:GetAir() or
(playerBarData.getActionType == 3 and Lara:GetStamina()))
local maxValue = playerBarData.getActionType == 1 and 1000 or (playerBarData.getActionType == 2 and 1800 or (playerBarData.getActionType == 3 and 120))
---
-- Table setup for creating custom player attribute bar.
-- @table playerBarData
-- @tfield number getActionType Determines the bar type: 1: Health, 2: Air, 3: Stamina.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool showBar Option to always show the bar. If set to false, the bars will automatically hide when they stop updating.
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit % Limit below which bar starts blinking (0-1).
local playerBar = {
barName = barName,
startValue = startValue,
maxValue = maxValue,
objectIdBg = playerBarData.objectIdBg,
spriteIdBg = playerBarData.spriteIdBg,
colorBg = playerBarData.colorBg,
posBg = playerBarData.posBg,
rotBg = playerBarData.rotBg,
scaleBg = playerBarData.scaleBg,
alignModeBg = playerBarData.alignModeBg,
scaleModeBg = playerBarData.scaleModeBg,
blendModeBg = playerBarData.blendModeBg,
objectIdBar = playerBarData.objectIdBar,
spriteIdBar = playerBarData.spriteIdBar,
colorBar = playerBarData.colorBar,
posBar = playerBarData.posBar,
rot = playerBarData.rot,
scaleBar = playerBarData.scaleBar,
alignMode = playerBarData.alignMode,
scaleMode = playerBarData.scaleMode,
blendMode = playerBarData.blendMode,
text = "BLANK",
textPos = TEN.Vec2(0,0),
textOptions = {},
textScale = 0,
textColor = TEN.Color(0,0,0),
hideText = true,
alphaBlendSpeed = playerBarData.alphaBlendSpeed,
blink = playerBarData.blink,
blinkLimit = playerBarData.blinkLimit,
}
CustomBar.Create(playerBar)
end
LevelVars.Engine.CustomBars.bars[dataName].getActionType = playerBarData.getActionType
LevelVars.Engine.CustomBars.bars[dataName].showBar = playerBarData.showBar
LevelVars.Engine.CustomBars.bars[dataName].visible = true
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 255
end
---
-- Creates a custom health bar for a specific enemy (like a boss). Ensure this function is called before Lara aims at the enemy if using generic enemy HP bars as well.
-- Also be sure to call this function after increasing the HP of the enemy via LUA.
-- @tparam table enemyBarData The table that contains all the enemy bar data. Refer to table setup for enemyBarData.
-- @treturn CustomBar Enemy health bar.
CustomBar.CreateEnemyHpBar = function (enemyBarData)
local dataName = enemyBarData.barName .. "_bar_data"
local enemyHP = TEN.Objects.GetMoveableByName(enemyBarData.object):GetHP()
---
-- Table setup for creating a specific enemy health bar.
-- @table enemyBarData
-- @tfield string barName Unique identifier for the bar.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield string text Text to display for the enemy.
-- @tfield Vec2 textPos X,Y position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield string object Enemy name set in Editor for which to create HP for.
-- @tfield bool showBar Option to always show the bar whether the enemy is current target or not. Useful for boss health bars.
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit %Limit below which bar starts blinking (0-1).
local enemyBar = {
barName = enemyBarData.barName,
startValue = enemyHP,
maxValue = enemyHP,
objectIdBg = enemyBarData.objectIdBg,
spriteIdBg = enemyBarData.spriteIdBg,
colorBg = enemyBarData.colorBg,
posBg = enemyBarData.posBg,
rotBg = enemyBarData.rotBg,
scaleBg = enemyBarData.scaleBg,
alignModeBg = enemyBarData.alignModeBg,
scaleModeBg = enemyBarData.scaleModeBg,
blendModeBg = enemyBarData.blendModeBg,
objectIdBar = enemyBarData.objectIdBar,
spriteIdBar = enemyBarData.spriteIdBar,
colorBar = enemyBarData.colorBar,
posBar = enemyBarData.posBar,
rot = enemyBarData.rot,
scaleBar = enemyBarData.scaleBar,
alignMode = enemyBarData.alignMode,
scaleMode = enemyBarData.scaleMode,
blendMode = enemyBarData.blendMode,
text = enemyBarData.text,
textPos = enemyBarData.textPos,
textOptions = enemyBarData.textOptions,
textScale = enemyBarData.textScale,
textColor = enemyBarData.textColor,
hideText = enemyBarData.hideText,
alphaBlendSpeed = enemyBarData.alphaBlendSpeed,
blink = enemyBarData.blink,
blinkLimit = enemyBarData.blinkLimit
}
CustomBar.Create(enemyBar)
LevelVars.Engine.CustomBars.bars[dataName].showBar = enemyBarData.showBar
LevelVars.Engine.CustomBars.bars[dataName].object = enemyBarData.object
LevelVars.Engine.CustomBars.bars[dataName].getActionType = 0
LevelVars.Engine.CustomBars.bars[dataName].visible = true
LevelVars.Engine.CustomBars.bars[dataName].fixedInterval = 1/3
LevelVars.Engine.CustomBars.bars[dataName].currentAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 255
end
---
-- Creates health bars for all enemies. A new bar is generated whenever Lara targets an enemy. If the "hide text" option is disabled, the enemy's name (as set in the editor) is displayed.
-- Multiple enemies can share the same name by appending _number to the name in the editor. If adjusting an enemy's max HP, ensure this is done before Lara targets the enemy.
-- To create health bars for specific enemies, use CustomBar.CreateEnemyHpBar, ensuring the bar is created prior to targeting.
-- @tparam table enemiesBarData The table that contains all the enemies bar data. Refer to table setup for enemiesBarData.
-- @treturn CustomBar Enemy health bars.
CustomBar.SetEnemiesHpGenericBar = function (enemiesBarData)
if LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBg then
print("Warning: Overwriting enemy HP bar definitions")
end
---
-- Table setup for creating health bars for all enemies.
-- @table enemiesBarData
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield number textPos X position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the enemy name text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit %Limit below which bar starts blinking (0-1).
LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBg = enemiesBarData.objectIdBg
LevelVars.Engine.CustomBars.enemiesHpBar.spriteIdBg = enemiesBarData.spriteIdBg
LevelVars.Engine.CustomBars.enemiesHpBar.colorBg = enemiesBarData.colorBg
LevelVars.Engine.CustomBars.enemiesHpBar.posBg = enemiesBarData.posBg
LevelVars.Engine.CustomBars.enemiesHpBar.scaleBg = enemiesBarData.scaleBg
LevelVars.Engine.CustomBars.enemiesHpBar.rotBg = enemiesBarData.rotBg
LevelVars.Engine.CustomBars.enemiesHpBar.alignModeBg = enemiesBarData.alignModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.scaleModeBg = enemiesBarData.scaleModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.blendModeBg = enemiesBarData.blendModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBar = enemiesBarData.objectIdBar
LevelVars.Engine.CustomBars.enemiesHpBar.spriteIdBar = enemiesBarData.spriteIdBar
LevelVars.Engine.CustomBars.enemiesHpBar.colorBar = enemiesBarData.colorBar
LevelVars.Engine.CustomBars.enemiesHpBar.posBar = enemiesBarData.posBar
LevelVars.Engine.CustomBars.enemiesHpBar.scaleBar = enemiesBarData.scaleBar
LevelVars.Engine.CustomBars.enemiesHpBar.rot = enemiesBarData.rot
LevelVars.Engine.CustomBars.enemiesHpBar.alignMode = enemiesBarData.alignMode
LevelVars.Engine.CustomBars.enemiesHpBar.scaleMode = enemiesBarData.scaleMode
LevelVars.Engine.CustomBars.enemiesHpBar.blendMode = enemiesBarData.blendMode
LevelVars.Engine.CustomBars.enemiesHpBar.textPos = enemiesBarData.textPos
LevelVars.Engine.CustomBars.enemiesHpBar.textOptions = enemiesBarData.textOptions
LevelVars.Engine.CustomBars.enemiesHpBar.textScale = enemiesBarData.textScale
LevelVars.Engine.CustomBars.enemiesHpBar.textColor = enemiesBarData.textColor
LevelVars.Engine.CustomBars.enemiesHpBar.hideText = enemiesBarData.hideText
LevelVars.Engine.CustomBars.enemiesHpBar.alphaBlendSpeed = enemiesBarData.alphaBlendSpeed
LevelVars.Engine.CustomBars.enemiesHpBar.blink = enemiesBarData.blink
LevelVars.Engine.CustomBars.enemiesHpBar.blinkLimit = enemiesBarData.blinkLimit
LevelVars.Engine.CustomBars.enemiesHpBar.status = true
end
--- The function retrieves an existing bar instance by its unique identifier (barName). This function is useful when you need to access or manipulate a bar that has already been created.
-- @string barName The unique identifier assigned to the bar when it was created using CustomBar.New
CustomBar.Get = function(barName)
local dataName = barName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[dataName] then
local self = {name = dataName}
return setmetatable(self, CustomBar)
end
end
--- The function removes a custom bar and its associated data from the system. It ensures that the bar is no longer tracked or accessible in the LevelVars.Engine.CustomBars.bars table.
-- @string barName The name of the custom bar to be deleted.
CustomBar.Delete = function (barName)
local dataName = barName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[dataName] then
LevelVars.Engine.CustomBars.bars[dataName] = nil
end
end
--- The function sets the value of a custom bar over a specified time period.
-- @number value The new target to which the bar's current value should transition. (Must be a non-negative number; between 0 and the bar's maxValue.
-- @number time The time (in seconds) over which the bar's value should transition to the target value.
function CustomBar:SetBarValue(value, time)
if LevelVars.Engine.CustomBars.bars[self.name] then
if type(value) =="number" and value >= 0 then
local currentValue = LevelVars.Engine.CustomBars.bars[self.name].oldValue
local maxValue = LevelVars.Engine.CustomBars.bars[self.name].maxValue
local newTargetValue = math.max(0, math.min(maxValue, value))
LevelVars.Engine.CustomBars.bars[self.name].targetValue = newTargetValue
LevelVars.Engine.CustomBars.bars[self.name].fixedInterval = (newTargetValue - currentValue) / (time * 30)
end
end
end
--- The function adjusts the bar's value relative to its current or target value over a specified time span.
-- @number value The relative value to add (positive or negative) to the current bar value.
-- @number time The duration (in seconds) over which the change should occur.
function CustomBar:ChangeBarValueOverTimespan(value, time)
-- Check if bar data and timer exist
if LevelVars.Engine.CustomBars.bars[self.name] then
-- Get the current target value or old value if no target value exists
local currentValue = LevelVars.Engine.CustomBars.bars[self.name].oldValue
local maxValue = LevelVars.Engine.CustomBars.bars[self.name].maxValue
local currentTarget = LevelVars.Engine.CustomBars.bars[self.name].targetValue or currentValue
-- Calculate new target value by adding the relative 'value' and clamp between 0 and 1000
local newTargetValue = math.max(0, math.min(maxValue, currentTarget + value))
-- Set the new target value
LevelVars.Engine.CustomBars.bars[self.name].targetValue = newTargetValue
-- Calculate total frames based on time and FPS (30 FPS)
local totalFrames = time * 30
-- Calculate the fixed interval for the entire transition
LevelVars.Engine.CustomBars.bars[self.name].fixedInterval = (newTargetValue - currentValue) / totalFrames
end
end
--- The function controls the visibility of a custom bar.
-- @bool visible true: Makes the bar visible.; false: Hides the bar.
function CustomBar:SetVisibility(visible)
--the visible variable is a boolean
if LevelVars.Engine.CustomBars.bars[self.name] then
if visible and type(visible) == "boolean" then
LevelVars.Engine.CustomBars.bars[self.name].targetAlpha = 255
LevelVars.Engine.CustomBars.bars[self.name].visible = true
else
LevelVars.Engine.CustomBars.bars[self.name].targetAlpha = 0
end
end
end
--- The function checks whether a custom bar is currently visible.
-- @treturn bool true if the bar is visible and false if it is not.
function CustomBar:IsVisible()
if LevelVars.Engine.CustomBars.bars[self.name] then
if LevelVars.Engine.CustomBars.bars[self.name].visible then
return true
else
return false
end
end
end
--- The function retrieves the current value of a custom bar.
-- @treturn float returns the current value of a custom bar.
function CustomBar:GetValue()
if LevelVars.Engine.CustomBars.bars[self.name] then
return LevelVars.Engine.CustomBars.bars[self.name].oldValue
end
end
--- The function deletes all custom bars.
CustomBar.DeleteAllBars = function ()
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
--- This function prevents the creation of new health bars for enemies when set to false. However, it does not affect the health bars that have already been created.
-- @bool value Specifies whether new health bars for enemies should be created.
CustomBar.ShowEnemiesHpGenericBar = function(value)
if type(value) == "boolean" then
LevelVars.Engine.CustomBars.enemiesHpBar.status = value
end
end
--- The function deletes all the enemy health bars excluding those created by CustomBar.CreateEnemyHpBar.
CustomBar.DeleteExistingHpGenericBars = function ()
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
if customBar.getActionType == 4 then
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
end
--- Sets the custom bar background sprite position.
-- @tparam Vec2 pos X,Y position of the bar's background in screen percent (0-100).
--
function CustomBar:SetBackgroundPosition(pos)
if pos and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].posBg = pos
end
end
--- Sets the custom bar background sprite rotation.
-- @tparam number rot rotation of the bar's background. sprite (0-360).
--
function CustomBar:SetBackgroundRotation(rot)
if rot and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].rotBg = rot
end
end
-- Sets the custom bar background sprite color.
-- @tparam Color color Color of bar's background.
--
function CustomBar:SetBackgroundColor(color)
if color and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].colorBg = color
end
end
---
-- Sets the custom bar background sprite scale.
-- @tparam Vec2 scale X,Y Scaling factor for the bar's background sprite.
--
function CustomBar:SetBackgroundScale(scale)
if scale and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleBg = scale
end
end
---
-- Sets the custom bar background sprite slot and sprite ID.
-- @tparam Objects.ObjID slot Object ID for the bar's background sprite.
-- @tparam number id SpriteID from the specified object for the bar's background.
--
function CustomBar:SetBackgroundSpriteSlot(slot, id)
if slot and id and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].objectIdBg = slot
LevelVars.Engine.CustomBars.bars[self.name].spriteIdBg = id
end
end
---
-- Sets the custom bar background sprite align mode.
-- @tparam View.AlignMode alignMode Alignment for the bar's background.
--
function CustomBar:SetBackgroundAlignMode(alignMode)
if alignMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].alignModeBg = alignMode
end
end
---
-- Sets the custom bar background sprite scale mode.
-- @tparam View.ScaleMode scaleMode Scaling for the bar's background.
--
function CustomBar:SetBackgroundScaleMode(scaleMode)
if scaleMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleModeBg = scaleMode
end
end
---
-- Sets the custom bar background sprite blend mode.
-- @tparam Effects.BlendID blendMode Blending modes for the bar's background.
--
function CustomBar:SetBackgroundBlendMode(blendMode)
if blendMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].blendModeBg = blendMode
end
end
---
-- Sets the custom bar sprite position.
-- @tparam Vec2 pos X,Y position of the bar in screen percent (0-100).
--
function CustomBar:SetBarPosition(pos)
if pos and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].posBar = pos
end
end
---
-- Sets the custom bar sprite rotation.
-- @tparam number rot rotation of the bar's sprite (0-360).
--
function CustomBar:SetBarRotation(rot)
if rot and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].rot = rot
end
end
---
-- Sets the custom bar sprite color.
-- @tparam Color color Color of the bar.
--
function CustomBar:SetBarColor(color)
if color and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].colorBar = color
end
end
---
-- Sets the custom bar sprite scale.
-- @tparam Vec2 scale X,Y Scaling factor for the bar's sprite.
--
function CustomBar:SetBarScale(scale)
if scale and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleBar = scale
end
end
---
-- Sets the custom bar sprite slot and sprite ID.
-- @tparam Objects.ObjID slot Object ID for the bar sprite.
-- @tparam number id SpriteID from the specified object for the bar.
--
function CustomBar:SetBarSpriteSlot(slot, id)
if slot and id and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].objectIdBar = slot
LevelVars.Engine.CustomBars.bars[self.name].spriteIdBar = id
end
end
---
-- Sets the custom bar sprite alignment mode.
-- @tparam View.AlignMode alignMode Alignment for the bar.
--
function CustomBar:SetBarAlignMode(alignMode)
if alignMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].alignMode = alignMode
end
end
---
-- Sets the custom bar sprite scale mode.
-- @tparam View.ScaleMode scaleMode Scaling for the bar.
--
function CustomBar:SetBarScaleMode(scaleMode)
if scaleMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleMode = scaleMode
end
end
---
-- Sets the custom bar sprite blend mode.
-- @tparam Effects.BlendID blendMode Blending modes for the bar.
--
function CustomBar:SetBarBlendMode(blendMode)
if blendMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].blendMode = blendMode
end
end
LevelFuncs.Engine.CustomBar.UpdateCustomBars = function()
local playerTarget = Lara:GetTarget()
if playerTarget ~= nil and LevelVars.Engine.CustomBars.enemiesHpBar.status then
local playerTargetName = playerTarget:GetName()
local displayName = LevelFuncs.Engine.Node.SplitString(playerTargetName, "_")
local enemytable = playerTargetName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[enemytable] == nil then
local eB = LevelVars.Engine.CustomBars.enemiesHpBar
local enemyBar = {
barName = playerTargetName,
objectIdBg = eB.objectIdBg,
spriteIdBg = eB.spriteIdBg,
colorBg = eB.colorBg,
posBg = eB.posBg,
rotBg = eB.rotBg,
scaleBg = eB.scaleBg,
alignModeBg = eB.alignModeBg,
scaleModeBg = eB.scaleModeBg,
blendModeBg = eB.blendModeBg,
objectIdBar = eB.objectIdBar,
spriteIdBar = eB.spriteIdBar,
colorBar = eB.colorBar,
posBar = eB.posBar,
rot = eB.rot,
scaleBar = eB.scaleBar,
alignMode = eB.alignMode,
scaleMode = eB.scaleMode,
blendMode = eB.blendMode,
text = displayName[1],
textPos = eB.textPos,
textOptions = eB.textOptions,
textScale = eB.textScale,
textColor = eB.textColor,
hideText = eB.hideText,
alphaBlendSpeed = eB.alphaBlendSpeed,
blink = eB.blink,
blinkLimit = eB.blinkLimit,
showBar = false,
object = playerTargetName
}
CustomBar.CreateEnemyHpBar(enemyBar)
LevelVars.Engine.CustomBars.bars[enemytable].getActionType = 4
end
end
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
if customBar ~= nil then
-- Smoothly transition to target value
local currentValue = customBar.oldValue or 0
local targetValue = customBar.targetValue or 0
local delta = customBar.fixedInterval
if customBar.object ~=nil and (customBar.getActionType == 0 or customBar.getActionType == 4) then
local enemy = GetMoveableByName(customBar.object)
currentValue = enemy:GetHP()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible at full alpha
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, only show the bar if the enemy is the player's current target
if playerTarget == enemy then
customBar.targetAlpha = 255 -- Set to full alpha if this enemy is the target
customBar.visible = true
else
customBar.targetAlpha = 0 -- Set to 0 alpha if this enemy is not the target
end
end
if currentValue <= 0 then
customBar.targetAlpha = 0
end
-- When Alpha reaches 0 set visibility to false
if currentValue <= 0 and customBar.currentAlpha == 0 then
customBar.visible = false
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
if customBar.getActionType == 1 then
currentValue = Lara:GetHP()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
-- Check if `hideBar` is true, which overrides all other behaviors
if customBar.showBar == true then
customBar.targetAlpha = 255 -- Bar is always visible
customBar.visible = true
elseif currentValue ~= (customBar.oldValue or currentValue) then
customBar.targetAlpha = 255 -- Show the bar if value changes
customBar.visible = true
customBar.currentTimer = customBar.currentTimer + 1
if customBar.currentTimer >= 90 then
customBar.oldValue = currentValue
customBar.currentTimer = 0
end
elseif Lara:GetHandStatus() == 0 and currentValue >= customBar.blinkLimit*1000 then
-- Hide bar if hands are free and HP is 200 or more
customBar.targetAlpha = 0
customBar.visible = false
elseif Lara:GetHandStatus() == 2 or Lara:GetHandStatus() == 3 or Lara:GetHandStatus() == 4 then
-- Show bar if hand status is 2, 3, or 4 (weapon drawn)
customBar.targetAlpha = 255
customBar.visible = true
elseif Lara:GetHandStatus() == 0 and currentValue < customBar.blinkLimit*1000 then
-- Show bar if hands are free and HP is less than 200
customBar.targetAlpha = 255
customBar.visible = true
end
elseif customBar.getActionType == 2 then
currentValue = Lara:GetAir()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, hide the bar when currentValue is at max
if currentValue == customBar.maxValue then
customBar.targetAlpha = 0 -- Hide the bar when at max value
else
customBar.targetAlpha = 255 -- Show the bar if currentValue is not max
customBar.visible = true
end
end
elseif customBar.getActionType == 3 then
currentValue = Lara:GetStamina()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, hide the bar when currentValue is at max
if currentValue == customBar.maxValue then
customBar.targetAlpha = 0 -- Hide the bar when at max value
else
customBar.targetAlpha = 255 -- Show the bar if currentValue is not max
customBar.visible = true
end
end
end
if currentValue ~= targetValue then
-- Update current value by delta (increment or decrement)
if currentValue < targetValue then
currentValue = math.min(currentValue + delta, targetValue)
else
currentValue = math.max(currentValue + delta, targetValue)
end
-- Update the bar's progress (0-1 scale)
customBar.oldValue = currentValue
customBar.progress = currentValue / customBar.maxValue
end
-- Smoothly transition alpha
if customBar.currentAlpha ~= customBar.targetAlpha then
local alphaDelta = customBar.alphaBlendSpeed
if customBar.currentAlpha < customBar.targetAlpha then
customBar.currentAlpha = math.floor(math.min(customBar.currentAlpha + alphaDelta, customBar.targetAlpha))
else
customBar.currentAlpha = math.floor(math.max(customBar.currentAlpha - alphaDelta, customBar.targetAlpha))
end
end
-- Set parameters to draw the background
local posBg = customBar.posBg
local scaleBg = customBar.scaleBg
local rotBg = customBar.rotBg
local alignMBg = LevelFuncs.Engine.Node.GetDisplaySpriteAlignMode(customBar.alignModeBg)
local scaleMBg = LevelFuncs.Engine.Node.GetDisplaySpriteScaleMode(customBar.scaleModeBg)
local blendIdBg = LevelFuncs.Engine.Node.GetBlendMode(customBar.blendModeBg)
-- Adjust color with alpha blending
local bgColor = Color(customBar.colorBg.r,customBar.colorBg.g,customBar.colorBg.b,customBar.currentAlpha)
-- Set parameters to draw the bar
local pos = customBar.posBar
local rot = customBar.rot
local alignM = LevelFuncs.Engine.Node.GetDisplaySpriteAlignMode(customBar.alignMode)
local scaleM = LevelFuncs.Engine.Node.GetDisplaySpriteScaleMode(customBar.scaleMode)
local blendID = LevelFuncs.Engine.Node.GetBlendMode(customBar.blendMode)
local barColor = TEN.Color(customBar.colorBar.r,customBar.colorBar.g,customBar.colorBar.b,customBar.currentAlpha)
-- when Alpha reaches 0 set visibility to false
if customBar.currentAlpha > 0 then
customBar.visible = true
elseif customBar.currentAlpha == 0 then
customBar.visible = false
end
--draw bar if alpha is greater than 1 and visibility is true
if customBar.visible and customBar.currentAlpha > 0 then
-- Draw background sprite
local bgSprite = TEN.DisplaySprite(customBar.objectIdBg, customBar.spriteIdBg, posBg, rotBg, scaleBg, bgColor)
bgSprite:Draw(0, alignMBg, scaleMBg, blendIdBg)
-- Draw foreground sprite (the bar itself) proportional to Progress
local barScale = TEN.Vec2(customBar.scaleBar.x * customBar.progress, customBar.scaleBar.y)
local barSprite = TEN.DisplaySprite(customBar.objectIdBar, customBar.spriteIdBar, pos, rot, barScale, barColor)
if customBar.frameCounter == nil then
customBar.frameCounter = 0
end
-- Calculate HP percentage
local Percentage = (currentValue / customBar.maxValue)
-- Update frame counter
customBar.frameCounter = customBar.frameCounter + 1
-- Check if blink is enabled and value is below blinkLimit
if customBar.blink == true and Percentage <= customBar.blinkLimit then
-- Only draw the sprite every other frame
if customBar.frameCounter % (customBar.blinkSpeed * 2) < customBar.blinkSpeed then
barSprite:Draw(1, alignM, scaleM, blendID)
end
else
-- Draw the sprite normally if blink is off or value is above blinkLimit
barSprite:Draw(1, alignM, scaleM, blendID)
end
-- Reset the frame counter if it reaches the blinkSpeed limit to prevent overflow
if customBar.frameCounter >= customBar.blinkSpeed * 2 then
customBar.frameCounter = 0
end
if customBar.hideText == false then
-- Draw text (enemy name and health)
local barText = tostring(customBar.text) --debug text .. " (" .. currentHP .. " / " .. totalHP .. ")"
local textColor = TEN.Color(customBar.textColor.r, customBar.textColor.g, customBar.textColor.b, customBar.currentAlpha)
local posInPixel = TEN.Vec2(TEN.Util.PercentToScreen(customBar.textPos.x, customBar.textPos.y))
local IsString = TEN.Flow.IsStringPresent(barText)
local myText = TEN.Strings.DisplayString(barText, posInPixel, customBar.textScale, textColor, IsString, customBar.textOptions)
TEN.Strings.ShowString(myText, 1/30)
end
end
end
end
end
TEN.Logic.AddCallback(TEN.Logic.CallbackPoint.PRELOOP, LevelFuncs.Engine.CustomBar.UpdateCustomBars)
return CustomBar

View file

@ -1,6 +1,5 @@
-----
--- Diaries:
-- The module provides functions to create and manage Diaries. It maintains diary definitions and entries through all levels and hubs.
-- This module provides functions to create and manage diaries. It maintains diary definitions and entries through all levels and hubs.
-- Each diary is accessed by the object that was used to create it.
--
-- Example usage:

View file

@ -70,14 +70,14 @@ namespace TEN::Hud
// Draw dial.
AddDisplaySprite(
ID_SPEEDOMETER, DIAL_ELEMENT_SPRITE_ID,
ID_SPEEDOMETER_GRAPHICS, DIAL_ELEMENT_SPRITE_ID,
POS, 0, SCALE, color,
DIAL_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BlendMode::AlphaBlend,
DisplaySpritePhase::Draw);
// Draw pointer.
AddDisplaySprite(
ID_SPEEDOMETER, POINTER_ELEMENT_SPRITE_ID,
ID_SPEEDOMETER_GRAPHICS, POINTER_ELEMENT_SPRITE_ID,
POS, pointerAngle + POINTER_ANGLE_OFFSET, SCALE, color,
POINTER_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BlendMode::AlphaBlend,
DisplaySpritePhase::Draw);

View file

@ -132,7 +132,7 @@ namespace TEN::Hud
void CrosshairData::Draw() const
{
constexpr auto SPRITE_SEQUENCE_OBJECT_ID = ID_CROSSHAIR;
constexpr auto SPRITE_SEQUENCE_OBJECT_ID = ID_CROSSHAIR_GRAPHICS;
constexpr auto STATIC_ELEMENT_SPRITE_ID = 0;
constexpr auto SEGMENT_ELEMENT_SPRITE_ID = 1;
constexpr auto PRIORITY = 0; // TODO: Check later. May interfere with Lua display sprites. -- Sezz 2023.10.06

View file

@ -1,25 +1,6 @@
#include "framework.h"
#include "Game/Lara/lara.h"
#include "Game/Lara/lara_basic.h"
#include "Game/Lara/lara_cheat.h"
#include "Game/Lara/lara_climb.h"
#include "Game/Lara/lara_collide.h"
#include "Game/Lara/lara_crawl.h"
#include "Game/Lara/lara_fire.h"
#include "Game/Lara/lara_hang.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_initialise.h"
#include "Game/Lara/lara_jump.h"
#include "Game/Lara/lara_monkey.h"
#include "Game/Lara/lara_objects.h"
#include "Game/Lara/lara_one_gun.h"
#include "Game/Lara/lara_overhang.h"
#include "Game/Lara/lara_slide.h"
#include "Game/Lara/lara_surface.h"
#include "Game/Lara/lara_swim.h"
#include "Game/Lara/lara_tests.h"
#include "Game/animation.h"
#include "Game/camera.h"
#include "Game/collision/collide_item.h"
@ -32,11 +13,24 @@
#include "Game/effects/tomb4fx.h"
#include "Game/Gui.h"
#include "Game/items.h"
#include "Game/Lara/lara_basic.h"
#include "Game/Lara/lara_cheat.h"
#include "Game/Lara/lara_climb.h"
#include "Game/Lara/lara_collide.h"
#include "Game/Lara/lara_crawl.h"
#include "Game/Lara/lara_fire.h"
#include "Game/Lara/lara_hang.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_initialise.h"
#include "Game/Lara/lara_jump.h"
#include "Game/Lara/lara_monkey.h"
#include "Game/Lara/lara_objects.h"
#include "Game/Lara/lara_one_gun.h"
#include "Game/Lara/lara_overhang.h"
#include "Game/Lara/lara_slide.h"
#include "Game/Lara/lara_surface.h"
#include "Game/Lara/lara_swim.h"
#include "Game/Lara/lara_tests.h"
#include "Game/Lara/PlayerStateMachine.h"
#include "Game/misc.h"
#include "Game/savegame.h"

View file

@ -476,14 +476,14 @@ void HandlePlayerLookAround(ItemInfo& item, bool invertXAxis)
if ((IsHeld(In::Forward) || IsHeld(In::Back)) &&
(player.Control.Look.Mode == LookMode::Free || player.Control.Look.Mode == LookMode::Vertical))
{
axisCoeff.x = AxisMap[(int)InputAxis::Move].y;
axisCoeff.x = AxisMap[InputAxisID::Move].y;
}
// Determine Y axis coefficient.
if ((IsHeld(In::Left) || IsHeld(In::Right)) &&
(player.Control.Look.Mode == LookMode::Free || player.Control.Look.Mode == LookMode::Horizontal))
{
axisCoeff.y = AxisMap[(int)InputAxis::Move].x;
axisCoeff.y = AxisMap[InputAxisID::Move].x;
}
// Determine turn rate base values.
@ -583,7 +583,7 @@ void HandlePlayerLean(ItemInfo* item, CollisionInfo* coll, short baseRate, short
if (!item->Animation.Velocity.z)
return;
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
int sign = copysign(1, axisCoeff);
short maxAngleNormalized = maxAngle * axisCoeff;
@ -604,7 +604,7 @@ void HandlePlayerCrawlFlex(ItemInfo& item)
if (item.Animation.Velocity.z == 0.0f)
return;
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
int sign = copysign(1, axisCoeff);
short maxAngleNormalized = FLEX_ANGLE_MAX * axisCoeff;
@ -802,6 +802,7 @@ void HandlePlayerFlyCheat(ItemInfo& item)
item.Animation.Velocity = Vector3::Zero;
item.Animation.IsAirborne = true;
item.Pose.Position.y -= CLICK(0.5f);
item.Pose.Scale = Vector3::One;
item.HitPoints = LARA_HEALTH_MAX;
player.Control.WaterStatus = WaterStatus::FlyCheat;
@ -1230,7 +1231,7 @@ void ModulateLaraTurnRateY(ItemInfo* item, short accelRate, short minTurnRate, s
{
auto* lara = GetLaraInfo(item);
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
if (item->Animation.IsAirborne)
{
int sign = std::copysign(1, axisCoeff);

View file

@ -1339,8 +1339,8 @@ void DoExplosiveDamage(ItemInfo& emitter, ItemInfo& target, ItemInfo& projectile
SaveGame::Statistics.Level.AmmoHits++;
if (target.HitPoints <= 0)
{
SaveGame::Statistics.Level.Kills++;
SaveGame::Statistics.Game.Kills++;
SaveGame::Statistics.Level.Kills++;
CreatureDie(target.Index, true);
}
}

View file

@ -611,7 +611,7 @@ enum LaraAnim
LA_LADDER_RIGHT_CORNER_OUTER_START = 365, // Ladder around outer right corner
LA_PUSHABLE_BLOCK_PUSH_EDGE_SLIP = 366,
LA_LADDER_LEFT_CORNER_INNER_START = 367, // Ladder around inner left corner
LA_LADDER_LEFT_CORNER_INNER_END = 368, // TODO: Remove.
LA_LADDER_LEFT_CORNER_INNER_END = 368,
LA_LADDER_RIGHT_CORNER_INNER_START = 369, // Ladder around inner right corner
LA_LADDER_RIGHT_CORNER_INNER_END = 370, // TODO: Remove.
LA_JUMP_UP_TO_ROPE_START = 371, // Jump up > rope idle (1/2)
@ -688,7 +688,7 @@ enum LaraAnim
LA_PICKUP_SARCOPHAGUS = 439, // Pickup from sarcophagus
LA_DRAG_BODY = 440, // Drag dead body
LA_BINOCULARS_IDLE = 441, // Stand, looking through binoculars
LA_UNUSED_442 = 442, // Formelly, LA_BIG_SCORPION_DEATH, but that animation is now in LARA EXTRA ANIMS so this slot is unused.
LA_UNDERWATER_FLOOR_TRAPDOOR = 442, // Underwater floor trapdoor
LA_ELEVATOR_RECOVER = 443, // Recover from elevator crash
LA_MECHANICAL_BEETLE_USE = 444, // Wind mechanical beetle, place on floor
LA_FLY_CHEAT = 445, // Fly cheat
@ -828,7 +828,7 @@ enum LaraAnim
NUM_LARA_ANIMS
// TRASHED ANIMS (reuse slots before going any higher and remove entries from this list when you do):
// 368, 370,
// 370,
// 442
};

View file

@ -175,6 +175,7 @@ void InitializeGameFlags()
FlipEffect = NO_VALUE;
FlipStatus = false;
NumRPickups = 0;
Camera.underwater = false;
}
@ -210,6 +211,8 @@ void CustomObjects()
void InitializeObjects()
{
TENLog("Initializing objects...", LogLevel::Info);
AllocTR4Objects();
AllocTR5Objects();
@ -252,10 +255,6 @@ void InitializeObjects()
// User defined objects
CustomObjects();
HairEffect.Initialize();
InitializeSpecialEffects();
NumRPickups = 0;
CurrentSequence = 0;
SequenceResults[0][1][2] = 0;
SequenceResults[0][2][1] = 1;

View file

@ -93,7 +93,7 @@ void DoThumbstickCamera()
if (Camera.laraNode == -1 && Camera.target.ToVector3i() == OldCam.target)
{
const auto& axisCoeff = AxisMap[(int)InputAxis::Camera];
const auto& axisCoeff = AxisMap[InputAxisID::Camera];
if (abs(axisCoeff.x) > EPSILON && abs(Camera.targetAngle) == 0)
Camera.targetAngle = ANGLE(VERTICAL_CONSTRAINT_ANGLE * axisCoeff.x);

View file

@ -946,6 +946,10 @@ void CollideSolidStatics(ItemInfo* item, CollisionInfo* coll)
if (!(mesh.flags & StaticMeshFlags::SM_VISIBLE))
continue;
// Bypass static meshes which are marked as non-collidable.
if (!(mesh.flags & StaticMeshFlags::SM_COLLISION))
continue;
// Only process meshes which are solid, or if solid mode is set by the setup.
if (!coll->Setup.ForceSolidStatics && !(mesh.flags & StaticMeshFlags::SM_SOLID))
continue;
@ -1894,9 +1898,14 @@ void DoObjectCollision(ItemInfo* item, CollisionInfo* coll)
for (auto& staticObject : neighborRoom.mesh)
{
// Check if static is visible.
if (!(staticObject.flags & StaticMeshFlags::SM_VISIBLE))
continue;
// Check if static is collidable.
if (!(staticObject.flags & StaticMeshFlags::SM_COLLISION))
continue;
// For Lara, solid static mesh collisions are directly managed by GetCollisionInfo,
// so we bypass them here to avoid interference.
if (isPlayer && (staticObject.flags & StaticMeshFlags::SM_SOLID))

View file

@ -117,7 +117,7 @@ struct SectorFlagData
bool MinecartRight() { return MarkBeetle; }
bool MinecartStop() { return (MarkBeetle && MarkTriggerer); }
bool IsWallClimbable(ClimbDirectionFlags flag)
bool IsWallClimbable(ClimbDirectionFlags flag) const
{
switch (flag)
{

View file

@ -53,6 +53,7 @@
#include "Scripting/Include/Objects/ScriptInterfaceObjectsHandler.h"
#include "Scripting/Include/ScriptInterfaceGame.h"
#include "Scripting/Include/Strings/ScriptInterfaceStringsHandler.h"
#include "Scripting/Internal/TEN/Flow/Level/FlowLevel.h"
#include "Sound/sound.h"
#include "Specific/clock.h"
#include "Specific/Input/Input.h"
@ -220,7 +221,7 @@ GameStatus GamePhase(bool insideMenu)
UpdateFadeScreenAndCinematicBars();
// Rumble screen (like in submarine level of TRC).
if (g_GameFlow->GetLevel(CurrentLevel)->Rumble)
if (g_GameFlow->GetLevel(CurrentLevel)->GetRumbleEnabled())
RumbleScreen();
DoFlipEffect(FlipEffect, LaraItem);
@ -391,6 +392,7 @@ GameStatus DoLevel(int levelIndex, bool loadGame)
InitializeCamera();
InitializeSpotCamSequences(isTitle);
InitializeItemBoxData();
InitializeSpecialEffects();
// Initialize scripting.
InitializeScripting(levelIndex, loadGame);
@ -582,9 +584,13 @@ void InitializeScripting(int levelIndex, bool loadGame)
void DeInitializeScripting(int levelIndex, GameStatus reason)
{
// Reload gameflow script to clear level script variables.
g_GameFlow->LoadFlowScript();
g_GameScript->FreeLevelScripts();
g_GameScriptEntities->FreeEntities();
// If level index is 0, it means we are in a title level and game variables should be cleared.
if (levelIndex == 0)
g_GameScript->ResetScripts(true);
}
@ -701,6 +707,13 @@ void SetupInterpolation()
{
for (auto& item : g_Level.Items)
item.DisableInterpolation = false;
// HACK: Remove after ScriptInterfaceFlowHandler is deprecated.
auto* level = (Level*)g_GameFlow->GetLevel(CurrentLevel);
level->Horizon1.SetPosition(level->Horizon1.GetPosition(), true);
level->Horizon2.SetPosition(level->Horizon2.GetPosition(), true);
level->Horizon1.SetRotation(level->Horizon1.GetRotation(), true);
level->Horizon2.SetRotation(level->Horizon2.GetRotation(), true);
}
void HandleControls(bool isTitle)

View file

@ -705,6 +705,10 @@ std::optional<Vector3> GetStaticObjectLos(const Vector3& origin, int roomNumber,
if (!(staticObject.flags & StaticMeshFlags::SM_VISIBLE))
continue;
// Check if static is collidable.
if (!(staticObject.flags & StaticMeshFlags::SM_COLLISION))
continue;
// Check if static is solid (if applicable).
if (onlySolid && !(staticObject.flags & StaticMeshFlags::SM_SOLID))
continue;

View file

@ -73,10 +73,10 @@ namespace TEN::Effects::Streamer
}
}
Streamer::Streamer(StreamerFeatherType featherType, BlendMode blendMode)
Streamer::Streamer(StreamerFeatherMode featherMode, BlendMode blendMode)
{
_segmentSpawnTimeOffset = GlobalCounter % SEGMENT_SPAWN_INTERVAL_TIME;
_featherType = featherType;
_featherMode = featherMode;
_blendMode = blendMode;
}
@ -85,9 +85,9 @@ namespace TEN::Effects::Streamer
return _segments;
}
StreamerFeatherType Streamer::GetFeatherType() const
StreamerFeatherMode Streamer::GetFeatherMode() const
{
return _featherType;
return _featherMode;
}
BlendMode Streamer::GetBlendMode() const
@ -110,7 +110,7 @@ namespace TEN::Effects::Streamer
// Avoid creating "clipped" streamers by clamping max life according to max segment count.
int lifeMax = (int)std::min(round(life * FPS), (float)SEGMENT_COUNT_MAX);
float alpha = (float(segmentCount + SEGMENT_SPAWN_INTERVAL_TIME) / (float)lifeMax) * FADE_IN_COEFF;
float alpha = (float(segmentCount * SEGMENT_SPAWN_INTERVAL_TIME) / (float)lifeMax) * FADE_IN_COEFF;
float opacityMax = EaseInOutSine(colorEnd.w, colorStart.w, alpha);
segment.Orientation = AxisAngle(dir, orient);
@ -165,7 +165,7 @@ namespace TEN::Effects::Streamer
void StreamerGroup::AddStreamer(int tag, const Vector3& pos, const Vector3& dir, short orient, const Color& colorStart, const Color& colorEnd,
float width, float life, float vel, float expRate, short rot,
StreamerFeatherType featherType, BlendMode blendMode)
StreamerFeatherMode featherMode, BlendMode blendMode)
{
TENAssert(_pools.size() <= POOL_COUNT_MAX, "Streamer pool count overflow.");
@ -174,7 +174,7 @@ namespace TEN::Effects::Streamer
return;
// Get and extend streamer iteration.
auto& streamer = GetStreamerIteration(tag, featherType, blendMode);
auto& streamer = GetStreamerIteration(tag, featherMode, blendMode);
streamer.Extend(pos, dir, orient, colorStart, colorEnd, width, life, vel, expRate, rot, (unsigned int)streamer.GetSegments().size());
}
@ -202,7 +202,7 @@ namespace TEN::Effects::Streamer
return pool;
}
Streamer& StreamerGroup::GetStreamerIteration(int tag, StreamerFeatherType featherType, BlendMode blendMode)
Streamer& StreamerGroup::GetStreamerIteration(int tag, StreamerFeatherMode featherMode, BlendMode blendMode)
{
auto& pool = GetPool(tag);
TENAssert(pool.size() <= STREAMER_COUNT_MAX, "Streamer pool size overflow.");
@ -220,7 +220,7 @@ namespace TEN::Effects::Streamer
pool.erase(pool.begin());
// Add and return new streamer iteration.
return pool.emplace_back(Streamer(featherType, blendMode));
return pool.emplace_back(Streamer(featherMode, blendMode));
}
void StreamerGroup::ClearInactivePools()
@ -259,7 +259,7 @@ namespace TEN::Effects::Streamer
void StreamerEffectController::Spawn(int itemNumber, int tag, const Vector3& pos, const Vector3& dir, short orient, const Color& colorStart, const Color& colorEnd,
float width, float life, float vel, float expRate, short rot,
StreamerFeatherType featherType, BlendMode blendMode)
StreamerFeatherMode featherMode, BlendMode blendMode)
{
TENAssert(_groups.size() <= GROUP_COUNT_MAX, "Streamer group count overflow.");
@ -269,7 +269,7 @@ namespace TEN::Effects::Streamer
// Add new or extend existing streamer.
auto& group = GetGroup(itemNumber);
group.AddStreamer(tag, pos, dir, orient, colorStart, colorEnd, width, life, vel, expRate, rot, featherType, blendMode);
group.AddStreamer(tag, pos, dir, orient, colorStart, colorEnd, width, life, vel, expRate, rot, featherMode, blendMode);
}
void StreamerEffectController::Update()

View file

@ -9,7 +9,7 @@ struct ItemInfo;
namespace TEN::Effects::Streamer
{
enum class StreamerFeatherType
enum class StreamerFeatherMode
{
None,
Center,
@ -62,7 +62,7 @@ namespace TEN::Effects::Streamer
std::vector<StreamerSegment> _segments = {};
int _segmentSpawnTimeOffset = 0; // Time in game frames.
StreamerFeatherType _featherType = StreamerFeatherType::None;
StreamerFeatherMode _featherMode = StreamerFeatherMode::None;
BlendMode _blendMode = BlendMode::AlphaBlend;
bool _isBroken = false;
@ -70,12 +70,12 @@ namespace TEN::Effects::Streamer
public:
// Constructors
Streamer(StreamerFeatherType featherType, BlendMode blendMode);
Streamer(StreamerFeatherMode featherMode, BlendMode blendMode);
// Getters
const std::vector<StreamerSegment>& GetSegments() const;
StreamerFeatherType GetFeatherType() const;
StreamerFeatherMode GetFeatherMode() const;
BlendMode GetBlendMode() const;
// Inquirers
@ -116,14 +116,14 @@ namespace TEN::Effects::Streamer
void AddStreamer(int tag, const Vector3& pos, const Vector3& dir, short orient, const Color& colorStart, const Color& colorEnd,
float width, float life, float vel, float expRate, short rot,
StreamerFeatherType featherType, BlendMode blendMode);
StreamerFeatherMode featherMode, BlendMode blendMode);
void Update();
private:
// Helpers
std::vector<Streamer>& GetPool(int tag);
Streamer& GetStreamerIteration(int tag, StreamerFeatherType featherType, BlendMode blendMode);
Streamer& GetStreamerIteration(int tag, StreamerFeatherMode featherMode, BlendMode blendMode);
void ClearInactivePools();
void ClearInactiveStreamers(int tag);
};
@ -149,7 +149,7 @@ namespace TEN::Effects::Streamer
// TODO: Use seconds.
void Spawn(int itemNumber, int tag, const Vector3& pos, const Vector3& dir, short orient, const Color& colorStart, const Color& colorEnd,
float width, float life, float vel, float expRate, short rot,
StreamerFeatherType featherType = StreamerFeatherType::None, BlendMode blendMode = BlendMode::AlphaBlend);
StreamerFeatherMode featherMode = StreamerFeatherMode::None, BlendMode blendMode = BlendMode::AlphaBlend);
void Update();
void Clear();

View file

@ -30,6 +30,7 @@
#include "Sound/sound.h"
#include "Specific/clock.h"
#include "Specific/level.h"
#include "Specific/trutils.h"
using namespace TEN::Collision::Point;
using namespace TEN::Effects::Blood;
@ -188,6 +189,86 @@ void SetSpriteSequence(Particle& particle, GAME_OBJECT_ID objectID)
particle.SpriteID = (int)round(Lerp(0.0f, spriteCount, normalizedAge));
}
void SetAdvancedSpriteSequence(Particle& particle, GAME_OBJECT_ID objectID, ParticleAnimType animationType, float frameRate)
{
// Ensure valid lifespan
if (particle.life <= 0)
{
particle.on = false;
ParticleDynamics[particle.dynamic].On = false;
return;
}
// Calculate particle's age and normalized progress
float particleAge = particle.sLife - particle.life; // Elapsed time since spawn
float normalizedAge = particleAge / particle.sLife; // Progress as a fraction [0.0, 1.0]
// Retrieve sprite sequence information
//int firstFrame = Objects[objectID].meshIndex; // Starting sprite index
int totalFrames = -Objects[objectID].nmeshes; // Total frames (assuming nmeshes is negative)
if (totalFrames <= 0)
{
particle.SpriteSeqID = objectID;
particle.SpriteID = 0; // Default to the first frame if no valid frames exist
return;
}
particle.SpriteSeqID = objectID;
// Handle animation modes
switch (animationType)
{
case ParticleAnimType::Loop: // Frames loop sequentially
{
float frameDuration = frameRate > 0 ? 1.0f / frameRate : 1.0f / totalFrames; // Duration per frame
int currentFrame = (int)(particleAge / frameDuration) % totalFrames; // Wrap frames
particle.SpriteID = currentFrame;
break;
}
case ParticleAnimType::OneShot: // Frames play once, then freeze on the last frame
{
float totalDuration = frameRate > 0 ? totalFrames / frameRate : particle.sLife;
int currentFrame = (int)(particleAge / (totalDuration / totalFrames));
if (currentFrame >= totalFrames)
currentFrame = totalFrames - 1; // Clamp to the last frame
particle.SpriteID = currentFrame;
break;
}
case ParticleAnimType::BackAndForth: // Frames go forward and then backward
{
float frameDuration = frameRate > 0 ? 1.0f / frameRate : 1.0f / totalFrames;
int totalFrameSteps = totalFrames * 2 - 2; // Forward and backward frames (avoiding double-count of last frame)
int step = (int)(particleAge / frameDuration) % totalFrameSteps;
int currentFrame = step < totalFrames ? step : totalFrames - (step - totalFrames) - 1;
particle.SpriteID = currentFrame;
break;
}
case ParticleAnimType::LifetimeSpread: // Distribute all frames evenly over lifetime
{
int currentFrame = (int)(normalizedAge * totalFrames);
if (currentFrame >= totalFrames)
currentFrame = totalFrames - 1; // Clamp to the last frame
particle.SpriteID = currentFrame;
break;
}
case ParticleAnimType::None: // Distribute all frames evenly over lifetime
{
particle.SpriteID = 0;
break;
}
default: // Default behavior: keep the first frame
particle.SpriteID = 0;
break;
}
}
void UpdateWibble()
{
// Update oscillator seed.
@ -351,6 +432,54 @@ void UpdateSparks()
if (spark.flags & SP_EXPLOSION)
SetSpriteSequence(spark, ID_EXPLOSION_SPRITES);
if (spark.flags & SP_ANIMATED)
{
ParticleAnimType animationType = static_cast<ParticleAnimType>(spark.animationType);
GAME_OBJECT_ID spriteObject = static_cast<GAME_OBJECT_ID>(spark.SpriteSeqID);
SetAdvancedSpriteSequence(spark, spriteObject, animationType, spark.framerate);
}
if (spark.flags & SP_SOUND)
SoundEffect(spark.sound, &Pose(Vector3(spark.x, spark.y, spark.z)), SoundEnvironment::Always);
if (spark.flags & SP_LIGHT)
{
float radius = spark.lightRadius * spark.size / spark.sSize;
// Decrease flicker timer if set
if (spark.lightFlicker > 0)
{
spark.lightFlicker--;
if (spark.lightFlicker <= 0)
{
// Apply random flicker effect
int random = GetRandomControl();
int colorOffset = (random % 21) - 10; // Random change between -10 and +10
byte r = std::clamp(spark.r + colorOffset, 0, 255);
byte g = std::clamp(spark.g + colorOffset, 0, 255);
byte b = std::clamp(spark.b + colorOffset, 0, 255);
// Reset flicker timer
spark.lightFlicker = spark.lightFlickerS;
// Emit flickering light
SpawnDynamicPointLight(Vector3(spark.x, spark.y, spark.z), ScriptColor(r, g, b), radius, false, GetHash(std::string()));
}
else
{
// Normal light emission while flicker is counting down
SpawnDynamicPointLight(Vector3(spark.x, spark.y, spark.z), ScriptColor(spark.r, spark.g, spark.b), radius, false, GetHash(std::string()));
}
}
else
{
// If flicker is disabled or 0, just emit normal light
SpawnDynamicPointLight(Vector3(spark.x, spark.y, spark.z), ScriptColor(spark.r, spark.g, spark.b), radius, false, GetHash(std::string()));
}
}
if ((spark.flags & SP_FIRE && LaraItem->Effect.Type == EffectType::None) ||
(spark.flags & SP_DAMAGE) ||
(spark.flags & SP_POISON))
@ -367,10 +496,10 @@ void UpdateSparks()
ItemBurn(LaraItem);
if (spark.flags & SP_DAMAGE)
DoDamage(LaraItem, 2);
DoDamage(LaraItem, spark.damage);
if (spark.flags & SP_POISON)
Lara.Status.Poison += 5;
Lara.Status.Poison += spark.damage;
}
}
}

View file

@ -42,6 +42,18 @@ enum SpriteEnumFlag
SP_PLASMAEXP = (1 << 13),
SP_POISON = (1 << 14),
SP_COLOR = (1 << 15),
SP_ANIMATED = (1 << 16),
SP_LIGHT = (1 << 17),
SP_SOUND = (1 << 18),
};
enum ParticleAnimType
{
None,
OneShot,
Loop,
BackAndForth,
LifetimeSpread
};
// Used by Particle.nodeNumber.
@ -130,7 +142,7 @@ struct Particle
short rotAdd; // TODO: Due to legacy conventions, assigned values must be shifted >> 4.
short gravity;
unsigned short flags; // SP_enum
unsigned int flags; // SP_enum
float sSize;
float dSize;
@ -161,6 +173,16 @@ struct Particle
signed char dynamic;
unsigned char nodeNumber; // ParticleNodeOffsetIDs enum.
int damage;
float framerate;
ParticleAnimType animationType;
int lightRadius;
int lightFlicker;
int lightFlickerS;
int sound;
int PrevX;
int PrevY;
int PrevZ;
@ -245,6 +267,7 @@ void ClearInactiveEffects(std::vector<TEffect>& effects)
Particle* GetFreeParticle();
void SetSpriteSequence(Particle& particle, GAME_OBJECT_ID objectID);
void SetAdvancedSpriteSequence(Particle& particle, GAME_OBJECT_ID objectID, ParticleAnimType animationType, float frameRate);
void DetatchSpark(int num, SpriteEnumFlag type);
void UpdateSparks();

View file

@ -355,6 +355,7 @@ void ThrowPoison(const ItemInfo& item, int boneID, const Vector3& offset, const
auto& part = SetupPoisonParticle(colorStart, colorEnd);
AttachAndCreateSpark(&part, &item, boneID, offset, vel, spriteID);
part.flags = SP_POISON | SP_SCALE | SP_DEF | SP_ROTATE | SP_EXPDEF;
part.damage = 5;
}
}

View file

@ -9,7 +9,7 @@
#include "Game/effects/tomb4fx.h"
#include "Game/savegame.h"
#include "Game/Setup.h"
#include "Math.h"
#include "Math/Math.h"
#include "Objects/game_object_ids.h"
#include "Sound/sound.h"
#include "Scripting/Include/ScriptInterfaceLevel.h"
@ -232,17 +232,25 @@ namespace TEN::Effects::Environment
void EnvironmentController::UpdateStarfield(const ScriptInterfaceLevel& level)
{
if (!level.GetStarfieldStarsEnabled())
int starCount = level.GetStarfieldStarCount();
if (starCount == 0)
return;
if (ResetStarField)
{
int starCount = level.GetStarfieldStarCount();
Stars.clear();
ResetStarField = false;
}
if (starCount != Stars.size())
{
// If starCount increased, add new stars to existing list.
if (starCount > Stars.size())
{
// Reserve space for new stars if necessary.
Stars.reserve(starCount);
for (int i = 0; i < starCount; i++)
for (int i = (int)Stars.size(); i < starCount; i++)
{
auto starDir = Random::GenerateDirectionInCone(-Vector3::UnitY, 70.0f);
starDir.Normalize();
@ -270,14 +278,19 @@ namespace TEN::Effects::Environment
Stars.push_back(star);
}
}
// If starCount decreased, resize vector without reinitializing.
else
{
Stars.resize(starCount);
}
ResetStarField = false;
}
for (auto& star : Stars)
star.Blinking = Random::GenerateFloat(0.5f, 1.0f);
if (level.GetStarfieldMeteorsEnabled())
if (level.GetStarfieldMeteorCount() > 0)
{
for (auto& meteor : Meteors)
{
@ -513,7 +526,7 @@ namespace TEN::Effects::Environment
if (!IsPointInRoom(pos, roomNumber))
roomNumber = FindRoomNumber(pos, Camera.pos.RoomNumber, true);
if (roomNumber == NO_VALUE)
if (!IsPointInRoom(pos, roomNumber) || roomNumber == NO_VALUE)
continue;
// Check if water room.
@ -639,7 +652,7 @@ namespace TEN::Effects::Environment
Meteors.end());
}
if (!level.GetStarfieldMeteorsEnabled())
if (level.GetStarfieldMeteorCount() == 0)
return;
int density = level.GetStarfieldMeteorSpawnDensity();

View file

@ -1,6 +1,7 @@
#pragma once
#include "Math/Math.h"
#include "Objects/Effects/LensFlare.h"
#include "Objects/game_object_ids.h"
#include "Scripting/Include/ScriptInterfaceLevel.h"
using namespace TEN::Entities::Effects;
@ -100,6 +101,48 @@ namespace TEN::Effects::Environment
class EnvironmentController
{
private:
// Weather
std::vector<WeatherParticle> Particles = {};
// Sky
Vector4 SkyCurrentColor[2] = {};
short SkyCurrentPosition[2] = {};
// Wind
int WindX = 0;
int WindZ = 0;
int WindAngle = 0;
int WindDAngle = 0;
int WindCurrent = 0;
// Flash fader
Vector3 FlashColorBase = Vector3::Zero;
float FlashSpeed = 1.0f;
float FlashProgress = 0.0f;
// Lightning
int StormCount = 0;
int StormRand = 0;
int StormTimer = 0;
byte StormSkyColor = 1;
byte StormSkyColor2 = 1;
// Starfield
std::vector<StarParticle> Stars = {};
std::vector<MeteorParticle> Meteors = {};
bool ResetStarField = true;
// Lens flare
LensFlare GlobalLensFlare = {};
public:
EnvironmentController();
@ -117,47 +160,13 @@ namespace TEN::Effects::Environment
const std::vector<MeteorParticle>& GetMeteors() const { return Meteors; }
private:
// Weather
std::vector<WeatherParticle> Particles = {};
// Sky
Vector4 SkyCurrentColor[2] = {};
short SkyCurrentPosition[2] = {};
// Wind
int WindX = 0;
int WindZ = 0;
int WindAngle = 0;
int WindDAngle = 0;
int WindCurrent = 0;
// Flash fader
Vector3 FlashColorBase = Vector3::Zero;
float FlashSpeed = 1.0f;
float FlashProgress = 0.0f;
// Lightning
int StormCount = 0;
int StormRand = 0;
int StormTimer = 0;
byte StormSkyColor = 1;
byte StormSkyColor2 = 1;
// Starfield
std::vector<StarParticle> Stars = {};
std::vector<MeteorParticle> Meteors = {};
bool ResetStarField = true;
// Lens flare
LensFlare GlobalLensFlare = {};
void UpdateStarfield(const ScriptInterfaceLevel& level);
void UpdateWeather(const ScriptInterfaceLevel& level);
void UpdateSky(const ScriptInterfaceLevel& level);
void UpdateStorm(const ScriptInterfaceLevel& level);
void UpdateWind(const ScriptInterfaceLevel& level);
void UpdateFlash(const ScriptInterfaceLevel& level);
void UpdateWeather(const ScriptInterfaceLevel& level);
void UpdateLightning();
void UpdateStarfield(const ScriptInterfaceLevel& level);
void UpdateStorm(const ScriptInterfaceLevel& level);
void SpawnDustParticles(const ScriptInterfaceLevel& level);
void SpawnWeatherParticles(const ScriptInterfaceLevel& level);

View file

@ -23,7 +23,6 @@
#include "Scripting/Include/ScriptInterfaceLevel.h"
#include "Sound/sound.h"
#include "Specific/Input/Input.h"
#include "Specific/Input/InputAction.h"
#include "Specific/clock.h"
#include "Specific/configuration.h"
#include "Specific/level.h"
@ -124,7 +123,7 @@ namespace TEN::Gui
STRING_ACTIONS_LOAD
};
bool GuiController::GuiIsPulsed(ActionID actionID) const
bool GuiController::GuiIsPulsed(InputActionID actionID) const
{
constexpr auto DELAY = 0.1f;
constexpr auto INITIAL_DELAY = 0.4f;
@ -134,7 +133,7 @@ namespace TEN::Gui
return false;
// Pulse only directional inputs.
auto oppositeAction = std::optional<ActionID>(std::nullopt);
auto oppositeAction = std::optional<InputActionID>(std::nullopt);
switch (actionID)
{
case In::Forward:
@ -239,7 +238,7 @@ namespace TEN::Gui
{
if (mode != InvMode)
{
TimeInMenu = 0.0f;
TimeInMenu = 0;
InvMode = mode;
}
}
@ -617,12 +616,16 @@ namespace TEN::Gui
{
// Save the configuration.
auto screenResolution = g_Configuration.SupportedScreenResolutions[CurrentSettings.SelectedScreenResolution];
bool screenResolutionChanged = CurrentSettings.Configuration.ScreenWidth != screenResolution.x ||
CurrentSettings.Configuration.ScreenHeight != screenResolution.y;
CurrentSettings.Configuration.ScreenWidth = screenResolution.x;
CurrentSettings.Configuration.ScreenHeight = screenResolution.y;
// Determine whether we should update AA shaders.
bool shouldRecompileAAShaders = g_Configuration.AntialiasingMode != CurrentSettings.Configuration.AntialiasingMode &&
CurrentSettings.Configuration.AntialiasingMode != AntialiasingMode::Low;
bool shouldRecompileAAShaders = CurrentSettings.Configuration.AntialiasingMode != AntialiasingMode::Low &&
(screenResolutionChanged || g_Configuration.AntialiasingMode != CurrentSettings.Configuration.AntialiasingMode);
g_Configuration = CurrentSettings.Configuration;
SaveConfiguration();
@ -723,17 +726,17 @@ namespace TEN::Gui
}
else
{
int selectedKey = 0;
for (selectedKey = 0; selectedKey < MAX_INPUT_SLOTS; selectedKey++)
int selectedKeyID = 0;
for (selectedKeyID = 0; selectedKeyID < KEY_COUNT; selectedKeyID++)
{
if (KeyMap[selectedKey])
if (KeyMap[selectedKeyID])
break;
}
if (selectedKey == MAX_INPUT_SLOTS)
selectedKey = 0;
if (selectedKeyID == KEY_COUNT)
selectedKeyID = 0;
if (selectedKey && !g_KeyNames[selectedKey].empty())
if (selectedKeyID && !GetKeyName(selectedKeyID).empty())
{
unsigned int baseIndex = 0;
switch (MenuToDisplay)
@ -754,7 +757,7 @@ namespace TEN::Gui
break;
}
Bindings[1][baseIndex + SelectedOption] = selectedKey;
g_Bindings.SetKeyBinding(InputDeviceID::Custom, InputActionID(baseIndex + SelectedOption), selectedKeyID);
DefaultConflict();
CurrentSettings.NewKeyWaitTimer = 0.0f;
@ -855,8 +858,8 @@ namespace TEN::Gui
if (SelectedOption == (OptionCount - 1))
{
SoundEffect(SFX_TR4_MENU_SELECT, nullptr, SoundEnvironment::Always);
CurrentSettings.Configuration.Bindings = Bindings[1];
g_Configuration.Bindings = Bindings[1];
CurrentSettings.Configuration.Bindings = g_Bindings.GetBindingProfile(InputDeviceID::Custom);
g_Configuration.Bindings = g_Bindings.GetBindingProfile(InputDeviceID::Custom);
SaveConfiguration();
MenuToDisplay = fromPauseMenu ? Menu::Pause : Menu::Options;
SelectedOption = 2;
@ -867,7 +870,7 @@ namespace TEN::Gui
if (SelectedOption == OptionCount)
{
SoundEffect(SFX_TR4_MENU_SELECT, nullptr, SoundEnvironment::Always);
Bindings[1] = CurrentSettings.Configuration.Bindings;
g_Bindings.SetBindingProfile(InputDeviceID::Custom, CurrentSettings.Configuration.Bindings);
MenuToDisplay = fromPauseMenu ? Menu::Pause : Menu::Options;
SelectedOption = 2;
return;
@ -2190,7 +2193,7 @@ namespace TEN::Gui
{
// HACK.
ClearAllActions();
ActionMap[(int)In::Flare].Update(1.0f);
ActionMap[In::Flare].Update(1.0f);
HandleWeapon(item);
ClearAllActions();
@ -2234,6 +2237,7 @@ namespace TEN::Gui
item.HitPoints = LARA_HEALTH_MAX;
SoundEffect(SFX_TR4_MENU_MEDI, nullptr, SoundEnvironment::Always);
SaveGame::Statistics.Level.HealthUsed++;
SaveGame::Statistics.Game.HealthUsed++;
}
else
@ -2260,6 +2264,7 @@ namespace TEN::Gui
item.HitPoints = LARA_HEALTH_MAX;
SoundEffect(SFX_TR4_MENU_MEDI, nullptr, SoundEnvironment::Always);
SaveGame::Statistics.Level.HealthUsed++;
SaveGame::Statistics.Game.HealthUsed++;
}
else

View file

@ -120,7 +120,7 @@ namespace TEN::Gui
{
private:
// Input inquirers
bool GuiIsPulsed(ActionID actionID) const;
bool GuiIsPulsed(InputActionID actionID) const;
bool GuiIsSelected(bool onClicked = true) const;
bool GuiIsDeselected() const;
bool CanSelect() const;
@ -132,7 +132,7 @@ namespace TEN::Gui
int OptionCount;
int SelectedSaveSlot;
float TimeInMenu = -1.0f;
int TimeInMenu = NO_VALUE;
SettingsData CurrentSettings;
// Inventory variables

View file

@ -22,6 +22,7 @@
#include "Game/pickup/pickup_misc_items.h"
#include "Game/pickup/pickup_weapon.h"
#include "Game/room.h"
#include "Game/savegame.h"
#include "Game/Setup.h"
#include "Math/Math.h"
#include "Objects/Generic/Object/burning_torch.h"
@ -158,6 +159,11 @@ void PickedUpObject(GAME_OBJECT_ID objectID, std::optional<int> count)
{
// Item isn't any of the above; do nothing.
}
else
{
SaveGame::Statistics.Level.Pickups++;
SaveGame::Statistics.Game.Pickups++;
}
}
void PickedUpObject(ItemInfo& item)

View file

@ -299,6 +299,7 @@ int FindRoomNumber(const Vector3i& pos, int startRoomNumber, bool onlyNeighbors)
if (!onlyNeighbors)
{
// TODO: Optimise search to O(log n) with BVH. -- Sezz 2025.03.01
for (int roomNumber = 0; roomNumber < g_Level.Rooms.size(); roomNumber++)
{
if (IsPointInRoom(pos, roomNumber))

View file

@ -37,8 +37,9 @@ enum RoomEnvFlags
enum StaticMeshFlags : short
{
SM_VISIBLE = 1,
SM_SOLID = 2
SM_VISIBLE = (1 << 0),
SM_SOLID = (1 << 1),
SM_COLLISION = (1 << 2)
};
struct ROOM_VERTEX

View file

@ -13,6 +13,7 @@
#include "Objects/Effects/Fireflies.h"
#include "Game/effects/item_fx.h"
#include "Game/effects/effects.h"
#include "Game/effects/weather.h"
#include "Game/items.h"
#include "Game/itemdata/creature_info.h"
#include "Game/Lara/lara.h"
@ -31,6 +32,7 @@
#include "Objects/TR5/Emitter/tr5_bats_emitter.h"
#include "Objects/TR5/Emitter/tr5_spider_emitter.h"
#include "Renderer/Renderer.h"
#include "Scripting/Internal/TEN/Flow//Level/FlowLevel.h"
#include "Scripting/Include/ScriptInterfaceGame.h"
#include "Scripting/Include/ScriptInterfaceLevel.h"
#include "Scripting/Include/Objects/ScriptInterfaceObjectsHandler.h"
@ -42,8 +44,9 @@
using namespace flatbuffers;
using namespace TEN::Collision::Floordata;
using namespace TEN::Control::Volumes;
using namespace TEN::Effects::Items;
using namespace TEN::Effects::Environment;
using namespace TEN::Effects::Fireflies;
using namespace TEN::Effects::Items;
using namespace TEN::Entities::Creatures::TR3;
using namespace TEN::Entities::Generic;
using namespace TEN::Entities::Switches;
@ -273,6 +276,7 @@ const std::vector<byte> SaveGame::Build()
sgLevelStatisticsBuilder.add_medipacks_used(Statistics.Level.HealthUsed);
sgLevelStatisticsBuilder.add_damage_taken(Statistics.Level.DamageTaken);
sgLevelStatisticsBuilder.add_distance(Statistics.Level.Distance);
sgLevelStatisticsBuilder.add_pickups(Statistics.Level.Pickups);
sgLevelStatisticsBuilder.add_secrets(Statistics.Level.Secrets);
sgLevelStatisticsBuilder.add_timer(SaveGame::Statistics.Level.TimeTaken);
auto levelStatisticsOffset = sgLevelStatisticsBuilder.Finish();
@ -284,6 +288,7 @@ const std::vector<byte> SaveGame::Build()
sgGameStatisticsBuilder.add_medipacks_used(Statistics.Game.HealthUsed);
sgGameStatisticsBuilder.add_damage_taken(Statistics.Game.DamageTaken);
sgGameStatisticsBuilder.add_distance(Statistics.Game.Distance);
sgGameStatisticsBuilder.add_pickups(Statistics.Game.Pickups);
sgGameStatisticsBuilder.add_secrets(Statistics.Game.Secrets);
sgGameStatisticsBuilder.add_timer(SaveGame::Statistics.Game.TimeTaken);
auto gameStatisticsOffset = sgGameStatisticsBuilder.Finish();
@ -1004,8 +1009,8 @@ const std::vector<byte> SaveGame::Build()
// Action queue
std::vector<int> actionQueue;
for (int i = 0; i < ActionQueue.size(); i++)
actionQueue.push_back((int)ActionQueue[i]);
for (int i = 0; i < ActionQueueMap.size(); i++)
actionQueue.push_back((int)ActionQueueMap[(InputActionID)i]);
auto actionQueueOffset = fbb.CreateVector(actionQueue);
// Flipmaps
@ -1120,6 +1125,53 @@ const std::vector<byte> SaveGame::Build()
auto staticMeshesOffset = fbb.CreateVector(staticMeshes);
auto volumesOffset = fbb.CreateVector(volumes);
// Level state
auto* level = (Level*)g_GameFlow->GetLevel(CurrentLevel);
Save::LevelDataBuilder levelData { fbb };
levelData.add_level_far_view(level->LevelFarView);
levelData.add_fog_color(level->Fog.GetColor());
levelData.add_fog_min_distance(level->Fog.MinDistance);
levelData.add_fog_max_distance(level->Fog.MaxDistance);
levelData.add_sky_layer_1_enabled(level->GetSkyLayerEnabled(0));
levelData.add_sky_layer_1_color(level->GetSkyLayerColor(0));
levelData.add_sky_layer_1_speed(level->GetSkyLayerSpeed(0));
levelData.add_sky_layer_2_enabled(level->GetSkyLayerEnabled(1));
levelData.add_sky_layer_2_color(level->GetSkyLayerColor(1));
levelData.add_sky_layer_2_speed(level->GetSkyLayerSpeed(1));
levelData.add_lensflare_color(level->LensFlare.GetColor());
levelData.add_lensflare_pitch(level->LensFlare.GetPitch());
levelData.add_lensflare_yaw(level->LensFlare.GetYaw());
levelData.add_lensflare_sprite_id(level->LensFlare.GetSunSpriteID());
levelData.add_starfield_meteor_count(level->Starfield.GetMeteorCount());
levelData.add_starfield_meteor_spawn_density(level->Starfield.GetMeteorSpawnDensity());
levelData.add_starfield_meteor_velocity(level->Starfield.GetMeteorVelocity());
levelData.add_starfield_star_count(level->Starfield.GetStarCount());
levelData.add_horizon1_enabled(level->Horizon1.GetEnabled());
levelData.add_horizon1_object_id(level->Horizon1.GetObjectID());
levelData.add_horizon1_position(&FromVector3(level->GetHorizonPosition(0)));
levelData.add_horizon1_orientation(&FromEulerAngles(level->GetHorizonOrientation(0)));
levelData.add_horizon1_transparency(level->Horizon1.GetTransparency());
levelData.add_horizon2_enabled(level->Horizon2.GetEnabled());
levelData.add_horizon2_object_id(level->Horizon2.GetObjectID());
levelData.add_horizon2_position(&FromVector3(level->GetHorizonPosition(1)));
levelData.add_horizon2_orientation(&FromEulerAngles(level->GetHorizonOrientation(1)));
levelData.add_horizon2_transparency(level->Horizon2.GetTransparency());
levelData.add_storm_enabled(level->Storm);
levelData.add_rumble_enabled(level->Rumble);
levelData.add_weather_type((int)level->Weather);
levelData.add_weather_strength(level->WeatherStrength);
auto levelDataOffset = levelData.Finish();
// Global event sets
std::vector<flatbuffers::Offset<Save::EventSet>> globalEventSets{};
for (int j = 0; j < g_Level.GlobalEventSets.size(); j++)
@ -1183,11 +1235,13 @@ const std::vector<byte> SaveGame::Build()
Save::ParticleInfoBuilder particleInfo{ fbb };
particleInfo.add_animation_type(particle->animationType);
particleInfo.add_b(particle->b);
particleInfo.add_col_fade_speed(particle->colFadeSpeed);
particleInfo.add_d_b(particle->dB);
particleInfo.add_sprite_index(particle->SpriteSeqID);
particleInfo.add_sprite_id(particle->SpriteID);
particleInfo.add_damage(particle->damage);
particleInfo.add_d_g(particle->dG);
particleInfo.add_d_r(particle->dR);
particleInfo.add_d_size(particle->dSize);
@ -1195,11 +1249,15 @@ const std::vector<byte> SaveGame::Build()
particleInfo.add_extras(particle->extras);
particleInfo.add_fade_to_black(particle->fadeToBlack);
particleInfo.add_flags(particle->flags);
particleInfo.add_framerate(particle->framerate);
particleInfo.add_friction(particle->friction);
particleInfo.add_fx_obj(particle->fxObj);
particleInfo.add_g(particle->g);
particleInfo.add_gravity(particle->gravity);
particleInfo.add_life(particle->life);
particleInfo.add_light_radius(particle->lightRadius);
particleInfo.add_light_flicker(particle->lightFlicker);
particleInfo.add_light_flicker_s(particle->lightFlickerS);
particleInfo.add_max_y_vel(particle->maxYvel);
particleInfo.add_node_number(particle->nodeNumber);
particleInfo.add_on(particle->on);
@ -1214,9 +1272,10 @@ const std::vector<byte> SaveGame::Build()
particleInfo.add_s_life(particle->sLife);
particleInfo.add_s_r(particle->sR);
particleInfo.add_s_size(particle->sSize);
particleInfo.add_sound(particle->sound);
particleInfo.add_blend_mode((int)particle->blendMode);
particleInfo.add_x(particle->x);
particleInfo.add_x_vel(particle->sSize);
particleInfo.add_x_vel(particle->xVel);
particleInfo.add_y(particle->y);
particleInfo.add_y_vel(particle->yVel);
particleInfo.add_z(particle->z);
@ -1511,6 +1570,7 @@ const std::vector<byte> SaveGame::Build()
sgb.add_header(headerOffset);
sgb.add_level(levelStatisticsOffset);
sgb.add_game(gameStatisticsOffset);
sgb.add_level_data(levelDataOffset);
sgb.add_secret_bits(SaveGame::Statistics.SecretBits);
sgb.add_camera(cameraOffset);
sgb.add_lara(laraOffset);
@ -1527,6 +1587,7 @@ const std::vector<byte> SaveGame::Build()
sgb.add_postprocess_strength(g_Renderer.GetPostProcessStrength());
sgb.add_postprocess_tint(&FromVector3(g_Renderer.GetPostProcessTint()));
sgb.add_soundtracks(soundtrackOffset);
sgb.add_cd_flags(soundtrackMapOffset);
sgb.add_action_queue(actionQueueOffset);
sgb.add_flip_maps(flipMapsOffset);
@ -1746,6 +1807,7 @@ static void ParseStatistics(const Save::SaveGame* s, bool isHub)
SaveGame::Statistics.Level.HealthUsed = s->level()->medipacks_used();
SaveGame::Statistics.Level.DamageTaken = s->level()->damage_taken();
SaveGame::Statistics.Level.Kills = s->level()->kills();
SaveGame::Statistics.Level.Pickups = s->level()->pickups();
SaveGame::Statistics.Level.Secrets = s->level()->secrets();
SaveGame::Statistics.Level.TimeTaken = s->level()->timer();
@ -1759,12 +1821,56 @@ static void ParseStatistics(const Save::SaveGame* s, bool isHub)
SaveGame::Statistics.Game.HealthUsed = s->game()->medipacks_used();
SaveGame::Statistics.Game.DamageTaken = s->game()->damage_taken();
SaveGame::Statistics.Game.Kills = s->game()->kills();
SaveGame::Statistics.Game.Pickups = s->game()->pickups();
SaveGame::Statistics.Game.Secrets = s->game()->secrets();
SaveGame::Statistics.Game.TimeTaken = s->game()->timer();
}
static void ParseLua(const Save::SaveGame* s, bool hubMode)
{
// Global level data
auto* level = (Level*)g_GameFlow->GetLevel(CurrentLevel);
level->Fog.MaxDistance = s->level_data()->fog_max_distance();
level->Fog.MinDistance = s->level_data()->fog_min_distance();
level->Fog.SetColor(s->level_data()->fog_color());
level->Layer1.Enabled = s->level_data()->sky_layer_1_enabled();
level->Layer1.CloudSpeed = s->level_data()->sky_layer_1_speed();
level->Layer1.SetColor(s->level_data()->sky_layer_1_color());
level->Layer2.Enabled = s->level_data()->sky_layer_2_enabled();
level->Layer2.CloudSpeed = s->level_data()->sky_layer_2_speed();
level->Layer2.SetColor(s->level_data()->sky_layer_2_color());
level->LensFlare.SetSunSpriteID(s->level_data()->lensflare_sprite_id());
level->LensFlare.SetPitch(s->level_data()->lensflare_pitch());
level->LensFlare.SetYaw(s->level_data()->lensflare_yaw());
level->LensFlare.SetColor(s->level_data()->lensflare_color());
level->Starfield.SetStarCount(s->level_data()->starfield_star_count());
level->Starfield.SetMeteorCount(s->level_data()->starfield_meteor_count());
level->Starfield.SetMeteorSpawnDensity(s->level_data()->starfield_meteor_spawn_density());
level->Starfield.SetMeteorVelocity(s->level_data()->starfield_meteor_velocity());
level->Horizon1.SetEnabled(s->level_data()->horizon1_enabled());
level->Horizon1.SetObjectID((GAME_OBJECT_ID)s->level_data()->horizon1_object_id());
level->Horizon1.SetPosition(ToVector3(s->level_data()->horizon1_position()), true);
level->Horizon1.SetRotation(ToEulerAngles(s->level_data()->horizon1_orientation()), true);
level->Horizon1.SetTransparency(s->level_data()->horizon1_transparency());
level->Horizon2.SetEnabled(s->level_data()->horizon2_enabled());
level->Horizon2.SetObjectID((GAME_OBJECT_ID)s->level_data()->horizon2_object_id());
level->Horizon2.SetPosition(ToVector3(s->level_data()->horizon2_position()), true);
level->Horizon2.SetRotation(ToEulerAngles(s->level_data()->horizon2_orientation()), true);
level->Horizon2.SetTransparency(s->level_data()->horizon2_transparency());
level->Storm = s->level_data()->storm_enabled();
level->Rumble = s->level_data()->rumble_enabled();
level->Weather = (WeatherType)s->level_data()->weather_type();
level->WeatherStrength = s->level_data()->weather_strength();
// Event sets
if (g_Level.VolumeEventSets.size() == s->volume_event_sets()->size())
@ -1793,6 +1899,8 @@ static void ParseLua(const Save::SaveGame* s, bool hubMode)
}
}
// Variables
auto loadedVars = std::vector<SavedVar>{};
auto unionVec = s->script_vars();
@ -1878,6 +1986,8 @@ static void ParseLua(const Save::SaveGame* s, bool hubMode)
g_GameScript->SetVariables(loadedVars, hubMode);
// Callbacks
auto populateCallbackVecs = [&s](auto callbackFunc)
{
auto callbacksVec = std::vector<std::string>{};
@ -2291,6 +2401,14 @@ static void ParseEffects(const Save::SaveGame* s)
particle->roomNumber = particleInfo->room_number();
particle->nodeNumber = particleInfo->node_number();
particle->targetPos = ToVector3(particleInfo->target_pos());
particle->animationType = (ParticleAnimType)particleInfo->animation_type();
particle->damage = particleInfo->damage();
particle->framerate = particleInfo->framerate();
particle->lightRadius = particleInfo->light_radius();
particle->lightFlicker = particleInfo->light_flicker();
particle->lightFlickerS = particleInfo->light_flicker_s();
particle->sound = particleInfo->sound();
}
for (int i = 0; i < s->bats()->size(); i++)
@ -2440,8 +2558,8 @@ static void ParseLevel(const Save::SaveGame* s, bool hubMode)
// Restore action queue.
for (int i = 0; i < s->action_queue()->size(); i++)
{
TENAssert(i < ActionQueue.size(), "Action queue size was changed");
ActionQueue[i] = (QueueState)s->action_queue()->Get(i);
TENAssert(i < ActionQueueMap.size(), "Action queue size was changed.");
ActionQueueMap[(InputActionID)i] = (ActionQueueState)s->action_queue()->Get(i);
}
// Legacy soundtrack map.

View file

@ -76,6 +76,7 @@ namespace TEN::Effects::EmberEmitter
spark.scalar = 3.0f;
spark.gravity = Random::GenerateFloat(32.0f, 96.0f);
spark.flags = SP_DAMAGE | SP_ROTATE | SP_DEF | SP_SCALE | SP_EXPDEF;
spark.damage = 2;
}
else
{
@ -150,6 +151,7 @@ namespace TEN::Effects::EmberEmitter
spark.size = Random::GenerateFloat(32.0f, 48.0f);
spark.dSize = spark.size;
spark.flags = SP_DAMAGE | SP_ROTATE | SP_DEF | SP_SCALE;
spark.damage = 2;
}
}
}

View file

@ -48,8 +48,23 @@ namespace TEN::Entities::Generic
EulerAngles(ANGLE(-10.0f), ANGLE(-30.0f), ANGLE(-10.0f)),
EulerAngles(ANGLE(10.0f), ANGLE(30.0f), ANGLE(10.0f)))
};
static auto FloorTrapDoorPos = Vector3i(0, 0, -655);
static auto WaterFloorTrapDoorPos = Vector3i(0, -CLICK(1), -655);
const ObjectCollisionBounds WaterFloorTrapDoorBounds =
{
GameBoundingBox(
-BLOCK(3.0f / 8), BLOCK(3.0f / 8),
-BLOCK(0.5f), 0,
-BLOCK(3 / 4.0f), BLOCK(1 / 4.0f)
),
std::pair(
EulerAngles(ANGLE(-80.0f), ANGLE(-80.0f), ANGLE(-80.0f)),
EulerAngles(ANGLE(80.0f), ANGLE(80.0f), ANGLE(80.0f))
)
};
static std::optional<int> GetTrapDoorFloorHeight(const ItemInfo& item, const Vector3i& pos)
{
if (!item.MeshBits.TestAny() || item.ItemFlags[2] == 0)
@ -162,19 +177,26 @@ namespace TEN::Entities::Generic
auto* laraInfo = GetLaraInfo(laraItem);
auto* trapDoorItem = &g_Level.Items[itemNumber];
if ((IsHeld(In::Action) &&
laraItem->Animation.ActiveState == LS_IDLE &&
laraItem->Animation.AnimNumber == LA_STAND_IDLE &&
laraInfo->Control.HandStatus == HandStatus::Free &&
trapDoorItem->Status != ITEM_ACTIVE) ||
(laraInfo->Control.IsMoving && laraInfo->Context.InteractedItem == itemNumber))
bool isUnderwater = (laraInfo->Control.WaterStatus == WaterStatus::Underwater);
const auto& bounds = isUnderwater ? WaterFloorTrapDoorBounds : FloorTrapDoorBounds;
const auto& position = isUnderwater ? WaterFloorTrapDoorPos : FloorTrapDoorPos;
bool isActionActive = laraInfo->Control.IsMoving && laraInfo->Context.InteractedItem == itemNumber;
bool isActionReady = IsHeld(In::Action);
bool isPlayerAvailable = laraInfo->Control.HandStatus == HandStatus::Free && trapDoorItem->Status != ITEM_ACTIVE;
bool isPlayerIdle = (!isUnderwater && laraItem->Animation.ActiveState == LS_IDLE && laraItem->Animation.AnimNumber == LA_STAND_IDLE) ||
( isUnderwater && laraItem->Animation.ActiveState == LS_UNDERWATER_IDLE && laraItem->Animation.AnimNumber == LA_UNDERWATER_IDLE);
if (isActionActive || (isActionReady && isPlayerAvailable && isPlayerIdle))
{
if (TestLaraPosition(FloorTrapDoorBounds, trapDoorItem, laraItem))
if (TestLaraPosition(bounds, trapDoorItem, laraItem))
{
if (MoveLaraPosition(FloorTrapDoorPos, trapDoorItem, laraItem))
if (MoveLaraPosition(position, trapDoorItem, laraItem))
{
ResetPlayerFlex(laraItem);
laraItem->Animation.AnimNumber = LA_TRAPDOOR_FLOOR_OPEN;
laraItem->Animation.AnimNumber = isUnderwater ? LA_UNDERWATER_FLOOR_TRAPDOOR : LA_TRAPDOOR_FLOOR_OPEN;
laraItem->Animation.FrameNumber = GetAnimData(laraItem).frameBase;
laraItem->Animation.ActiveState = LS_TRAPDOOR_FLOOR_OPEN;
laraInfo->Control.IsMoving = false;

View file

@ -176,7 +176,7 @@ void StartSwitches(ObjectInfo* object)
object->shadowType = ShadowMode::All;
}
for (int objectID = ID_UNDERWATER_WALL_SWITCH_1; objectID <= ID_UNDERWATER_WALL_SWITCH_2; objectID++)
for (int objectID = ID_UNDERWATER_WALL_SWITCH1; objectID <= ID_UNDERWATER_WALL_SWITCH2; objectID++)
{
object = &Objects[objectID];
if (object->loaded)
@ -186,7 +186,7 @@ void StartSwitches(ObjectInfo* object)
}
}
for (int objectID = ID_UNDERWATER_CEILING_SWITCH_1; objectID <= ID_UNDERWATER_CEILING_SWITCH_2; objectID++)
for (int objectID = ID_UNDERWATER_CEILING_SWITCH1; objectID <= ID_UNDERWATER_CEILING_SWITCH2; objectID++)
{
object = &Objects[objectID];
if (object->loaded)

Some files were not shown because too many files have changed in this diff Show more