TombEngine/Documentation/doc/2 classes/Flow.Level.html
Lwmte 7c2f6f96e4
Lua API documentation revisions (#1636)
* First iteration

* Revise Moveable class documentation

* Revise remaining documentation

* Extend laraType description

* Enum documentation revisions

* Edit version

* Corrections and updates

* Corrections
2025-04-20 22:39:30 +03:00

587 lines
15 KiB
HTML

<!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.2 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> <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>
<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>Flow.Level</code></h1>
<p>Stores level metadata.</p>
<p>These are things things which aren't present in the compiled level file itself.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#nameKey">nameKey</a></td>
<td class="summary">(string) String key for the level's name.</td>
</tr>
<tr>
<td class="name" ><a href="#scriptFile">scriptFile</a></td>
<td class="summary">(string) Level-specific Lua script file.</td>
</tr>
<tr>
<td class="name" ><a href="#levelFile">levelFile</a></td>
<td class="summary">(string) Compiled file path.</td>
</tr>
<tr>
<td class="name" ><a href="#loadScreenFile">loadScreenFile</a></td>
<td class="summary">(string) Load screen image.</td>
</tr>
<tr>
<td class="name" ><a href="#ambientTrack">ambientTrack</a></td>
<td class="summary">(string) Initial ambient sound track to play.</td>
</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 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 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>) Primary horizon object.</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>) Secondary horizon object.</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 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>
</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>) Global distance fog, with specified RGB color and distance.</td>
</tr>
<tr>
<td class="name" ><a href="#storm">storm</a></td>
<td class="summary">(bool) Enable flickering lightning in the sky.</td>
</tr>
<tr>
<td class="name" ><a href="#weather">weather</a></td>
<td class="summary">(WeatherType) Choose weather effect.</td>
</tr>
<tr>
<td class="name" ><a href="#weatherStrength">weatherStrength</a></td>
<td class="summary">(float) Choose weather strength.</td>
</tr>
<tr>
<td class="name" ><a href="#laraType">laraType</a></td>
<td class="summary">(LaraType) Appearance of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#rumble">rumble</a></td>
<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) A table of inventory object layout overrides.</td>
</tr>
<tr>
<td class="name" ><a href="#secrets">secrets</a></td>
<td class="summary">(short) Set total secret count for current level.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Level">Level()</a></td>
<td class="summary">Make a new Level object.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "nameKey"></a>
<strong>nameKey</strong>
</dt>
<dd>
(string) String key for the level's name. Corresponds to an entry in strings.lua.
</dd>
<dt>
<a name = "scriptFile"></a>
<strong>scriptFile</strong>
</dt>
<dd>
(string) Level-specific Lua script file.
Path of the Lua file holding the level's logic script, relative to the location of the Tomb Engine executable.
</dd>
<dt>
<a name = "levelFile"></a>
<strong>levelFile</strong>
</dt>
<dd>
(string) Compiled file path.
This path is relative to the location of the TombEngine executable.
</dd>
<dt>
<a name = "loadScreenFile"></a>
<strong>loadScreenFile</strong>
</dt>
<dd>
(string) Load screen image.
Path of the level's load screen file (.png or .jpg), relative to the location of the Tomb Engine executable.
</dd>
<dt>
<a name = "ambientTrack"></a>
<strong>ambientTrack</strong>
</dt>
<dd>
(string) Initial ambient sound track to play.
This is the filename of the track <strong>without</strong> the .wav extension.
</dd>
<dt>
<a name = "layer1"></a>
<strong>layer1</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky cloud layer.
</dd>
<dt>
<a name = "layer2"></a>
<strong>layer2</strong>
</dt>
<dd>
(<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>) Primary horizon object.
</dd>
<dt>
<a name = "horizon2"></a>
<strong>horizon2</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) Secondary horizon object.
</dd>
<dt>
<a name = "starfield"></a>
<strong>starfield</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.
</dd>
<dt>
<a name = "lensFlare"></a>
<strong>lensFlare</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.
</dd>
<dt>
<a name = "fog"></a>
<strong>fog</strong>
</dt>
<dd>
(<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.
</dd>
<dt>
<a name = "storm"></a>
<strong>storm</strong>
</dt>
<dd>
(bool) Enable flickering lightning in the sky.
Equivalent to classic TRLE's lightning setting, as in the TRC Ireland levels or TR4 Cairo levels.
</dd>
<dt>
<a name = "weather"></a>
<strong>weather</strong>
</dt>
<dd>
(WeatherType) Choose weather effect.
Must be one of the values <code>WeatherType.None</code>, <code>WeatherType.Rain</code>, or <code>WeatherType.Snow</code>.
</dd>
<dt>
<a name = "weatherStrength"></a>
<strong>weatherStrength</strong>
</dt>
<dd>
(float) Choose weather strength.
Must be value between <code>0.1</code> and <code>1.0</code>.
</dd>
<dt>
<a name = "laraType"></a>
<strong>laraType</strong>
</dt>
<dd>
(LaraType) Appearance of Lara. Must be either <code>LaraType.Normal</code> or <code>LaraType.Young</code>.
E.g. <code>myLevel.laraType = LaraType.Young</code> will make Lara appear as young (with two ponytails rendered).
This setting does not affect ability to use weapons or flares.
</dd>
<dt>
<a name = "rumble"></a>
<strong>rumble</strong>
</dt>
<dd>
(bool) Enable occasional screen shake effect.
As seen in TRC's Sinking Submarine.
</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>
<strong>resetHub</strong>
</dt>
<dd>
(bool) Reset hub data.
Resets the state for all previous levels, including items, flipmaps and statistics.
</dd>
<dt>
<a name = "objects"></a>
<strong>objects</strong>
</dt>
<dd>
(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) A table of inventory object layout overrides.
</dd>
<dt>
<a name = "secrets"></a>
<strong>secrets</strong>
</dt>
<dd>
(short) Set total secret count for current level.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Level"></a>
<strong>Level()</strong>
</dt>
<dd>
Make a new Level object.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Level.html#Level">Level</a></span>
a Level 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>