Added color to lens flare;

Added LUA api for starfield and lens flare;
This commit is contained in:
MontyTRC89 2024-04-28 06:31:59 +02:00
parent c241af1c70
commit 1d30d43aac
74 changed files with 1246 additions and 156 deletions

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <here>Flow.Animations</here></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <here>Flow.Fog</here></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <here>Flow.InventoryItem</here></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -0,0 +1,223 @@
<!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.4 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>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/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <here>Flow.LensFlare</here></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<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/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/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</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.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/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/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.LensFlare</code></h1>
<p>LensFlare</p>
<p>
</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#lensFlareColor">lensFlareColor</a></td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) RGB lens flare color</td>
</tr>
<tr>
<td class="name" ><a href="#lensFlarePosition">lensFlarePosition</a></td>
<td class="summary">(<a href="../3 primitive classes/Vec2.html#">Vec2</a>) Lens flare orientation.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LensFlare">LensFlare(yawPitchInDegrees, color)</a></td>
<td class="summary">
</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "lensFlareColor"></a>
<strong>lensFlareColor</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Color.html#">Color</a>) RGB lens flare color
</dd>
<dt>
<a name = "lensFlarePosition"></a>
<strong>lensFlarePosition</strong>
</dt>
<dd>
<p>(<a href="../3 primitive classes/Vec2.html#">Vec2</a>) Lens flare orientation. </p>
<pre><code> This is the position of the lens flare in the sky. The X value is the horizontal position, and the Y value is the vertical position. Angles must be specified in degrees.
</code></pre>
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "LensFlare"></a>
<strong>LensFlare(yawPitchInDegrees, color)</strong>
</dt>
<dd>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">yawPitchInDegrees</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Position of the lens flare (yaw and pitch) in degrees
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
RGB color
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.LensFlare.html#LensFlare">LensFlare</a></span>
A lens flare 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

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <here>Flow.Level</here></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>
@ -135,6 +137,14 @@
<td class="summary">(<a href="../2 classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky layer</td>
</tr>
<tr>
<td class="name" ><a href="#starfield">starfield</a></td>
<td class="summary">(<a href="../2 classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield</td>
</tr>
<tr>
<td class="name" ><a href="#lensFlare">lensFlare</a></td>
<td class="summary">(<a href="../2 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="../2 classes/Flow.Fog.html#">Flow.Fog</a>) omni fog RGB color and distance.</td>
</tr>
@ -307,6 +317,36 @@
</dd>
<dt>
<a name = "starfield"></a>
<strong>starfield</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield
</dd>
<dt>
<a name = "lensFlare"></a>
<strong>lensFlare</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare
</dd>
<dt>
<a name = "fog"></a>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <here>Flow.Mirror</here></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <here>Flow.Settings</here></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <here>Flow.SkyLayer</here></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>
@ -154,13 +156,14 @@
<dd>
(int) cloud speed. </p>
<p>Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.</p>
<p>Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
<pre><code> Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.
Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
</code></pre>
<p>

View file

@ -0,0 +1,303 @@
<!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.4 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>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/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <here>Flow.Starfield</here></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>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<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/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/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</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.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/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/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.Starfield</code></h1>
<p>Starfield</p>
<p>
</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#starsCount">starsCount</a></td>
<td class="summary">(int) Stars count.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorsCount">meteorsCount</a></td>
<td class="summary">(int) Meteors count.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorsSpawnDensity">meteorsSpawnDensity</a></td>
<td class="summary">(int) Meteors spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorsSpeed">meteorsSpeed</a></td>
<td class="summary">(float) Meteors speed.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Starfield">Starfield(starsCount)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield">Starfield(starsCount, meteorsCount)</a></td>
<td class="summary">
</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "starsCount"></a>
<strong>starsCount</strong>
</dt>
<dd>
<p>(int) Stars count. </p>
<pre><code> Values can be between [0, 6000], 0 resulting in no stars being rendered, and 6000 resulting in the maximum number of stars being rendered.
</code></pre>
</dd>
<dt>
<a name = "meteorsCount"></a>
<strong>meteorsCount</strong>
</dt>
<dd>
<p>(int) Meteors count. </p>
<pre><code> Values can be between [0, 100], 0 resulting in no meteors being rendered, and 100 resulting in the maximum number of meteors being rendered.
</code></pre>
</dd>
<dt>
<a name = "meteorsSpawnDensity"></a>
<strong>meteorsSpawnDensity</strong>
</dt>
<dd>
(int) Meteors spawn density.
</dd>
<dt>
<a name = "meteorsSpeed"></a>
<strong>meteorsSpeed</strong>
</dt>
<dd>
(float) Meteors speed.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starsCount)</strong>
</dt>
<dd>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">starsCount</span>
<span class="types"><span class="type">int</span></span>
Stars count
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Starfield.html#Starfield">Starfield</a></span>
A starfield object with only stars enabled.
</ol>
</dd>
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starsCount, meteorsCount)</strong>
</dt>
<dd>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">starsCount</span>
<span class="types"><span class="type">int</span></span>
Stars count
</li>
<li><span class="parameter">meteorsCount</span>
<span class="types"><span class="type">int</span></span>
Stars count
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Starfield.html#Starfield">Starfield</a></span>
A starfield object with boths stars and meteors enabled.
</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

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <here>Objects.AIObject</here></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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <here>Objects.Camera</here></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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> <here>Objects.LaraObject</here></li>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Starfield.html">Flow.Starfield</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>

View file

@ -49,10 +49,12 @@
<li> <a href="2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="2 classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="2 classes/Flow.Starfield.html">Flow.Starfield</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>
@ -183,6 +185,10 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></td>
<td class="summary">Represents the properties of an object as it appears in the inventory.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.LensFlare.html">Flow.LensFlare</a></td>
<td class="summary">LensFlare</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Level.html">Flow.Level</a></td>
<td class="summary">Stores level metadata.</td>
@ -199,6 +205,10 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></td>
<td class="summary">Describes a layer of moving clouds.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Starfield.html">Flow.Starfield</a></td>
<td class="summary">Starfield</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.AIObject.html">Objects.AIObject</a></td>
<td class="summary">AI object</td>

View file

@ -243,8 +243,16 @@ GameStatus ControlPhase(int numFrames)
UpdateBeetleSwarm();
UpdateLocusts();
UpdateUnderwaterBloodParticles();
SetupGlobalLensFlare(180.0f, 30.0f);
if (g_GameFlow->GetLevel(CurrentLevel)->GetLensFlareEnabled())
{
SetupGlobalLensFlare(
g_GameFlow->GetLevel(CurrentLevel)->GetLensFlarePosition(),
g_GameFlow->GetLevel(CurrentLevel)->GetLensFlareColor(),
g_GameFlow->GetLevel(CurrentLevel)->GetLensFlareSpriteID()
);
}
// Update HUD.
g_Hud.Update(*LaraItem);
UpdateFadeScreenAndCinematicBars();

View file

@ -18,33 +18,6 @@ using namespace TEN::Math::Random;
namespace TEN::Effects::Environment
{
constexpr auto WEATHER_PARTICLES_SPAWN_DENSITY = 32;
constexpr auto WEATHER_PARTICLES_MAX_COUNT = 2048;
constexpr auto WEATHER_PARTICLES_MAX_COLL_CHECK_DELAY = 5.0f;
constexpr auto MAX_DUST_SIZE = 25.0f;
constexpr auto MAX_SNOW_SIZE = 32.0f;
constexpr auto MAX_RAIN_SIZE = 128.0f;
constexpr auto WEATHER_PARTICLE_HORIZONTAL_SPEED = 8.0f;
constexpr auto MAX_SNOW_SPEED = 128.0f;
constexpr auto MAX_RAIN_SPEED = 256.0f;
constexpr auto MAX_DUST_SPEED = 1.0f;
constexpr auto WEATHER_PARTICLES_TRANSPARENCY = 0.8f;
constexpr auto WEATHER_PARTICLES_NEAR_DEATH_LIFE_VALUE = 20.0f;
constexpr auto WEATHER_PARTICLES_NEAR_DEATH_MELT_FACTOR = 1.0f - (1.0f / (WEATHER_PARTICLES_NEAR_DEATH_LIFE_VALUE * 2));
constexpr auto DUST_SPAWN_DENSITY = 300;
constexpr auto DUST_LIFE = 40;
constexpr auto DUST_SPAWN_RADIUS = (10 * 1024);
constexpr auto METEOR_PARTICLES_MAX_COUNT = 10;
constexpr auto METEOR_PARTICLES_MAX_LIFE = 150;
constexpr auto METEOR_PARTICLES_SPEED = 32.0f;
constexpr auto METEOR_PARTICLES_SPAWN_DENSITY = 4;
constexpr auto METEOR_PARTICLES_FADE_TIME = 30;
EnvironmentController Weather;
float WeatherParticle::Transparency() const
@ -236,12 +209,17 @@ namespace TEN::Effects::Environment
void EnvironmentController::UpdateStarfield(ScriptInterfaceLevel* level)
{
if (!level->GetStarfieldEnabled())
return;
if (ResetStarField)
{
Stars.clear();
Stars.reserve(StarsCount);
int starsCount = level->GetStarfieldStarsCount();
for (int i = 0; i < StarsCount; i++)
Stars.clear();
Stars.reserve(starsCount);
for (int i = 0; i < starsCount; i++)
{
Vector3 starDirection = Random::GenerateDirectionInCone(-Vector3::UnitY, 70.0f);
starDirection.Normalize();
@ -279,29 +257,30 @@ namespace TEN::Effects::Environment
s.Blinking = Random::GenerateFloat(0.5f, 1.0f);
}
for (auto& m : Meteors)
if (level->GetStarfieldMeteorsEnabled())
{
//p.StoreInterpolationData();
m.Life--;
if (m.Life <= 0)
for (auto& m : Meteors)
{
m.Active = false;
continue;
m.Life--;
if (m.Life <= 0)
{
m.Active = false;
continue;
}
m.StoreInterpolationData();
if (m.Life <= METEOR_PARTICLES_FADE_TIME)
m.Fade = m.Life / (float)METEOR_PARTICLES_FADE_TIME;
else if (m.Life >= METEOR_PARTICLES_MAX_LIFE - METEOR_PARTICLES_FADE_TIME)
m.Fade = (METEOR_PARTICLES_MAX_LIFE - m.Life) / (float)METEOR_PARTICLES_FADE_TIME;
else
m.Fade = 1.0f;
m.Position += m.Direction * level->GetStarfieldMeteorsSpeed();
}
m.StoreInterpolationData();
if (m.Life <= METEOR_PARTICLES_FADE_TIME)
m.Fade = m.Life / (float)METEOR_PARTICLES_FADE_TIME;
else if (m.Life >= METEOR_PARTICLES_MAX_LIFE - METEOR_PARTICLES_FADE_TIME)
m.Fade = (METEOR_PARTICLES_MAX_LIFE - m.Life) / (float)METEOR_PARTICLES_FADE_TIME;
else
m.Fade = 1.0f;
m.Position += m.Direction * METEOR_PARTICLES_SPEED;
}
}
}
void EnvironmentController::UpdateWeather(ScriptInterfaceLevel* level)
@ -609,15 +588,16 @@ namespace TEN::Effects::Environment
if (Meteors.size() > 0)
Meteors.erase(std::remove_if(Meteors.begin(), Meteors.end(), [](const MeteorParticle& part) { return !part.Active; }), Meteors.end());
//if (level->GetWeatherType() == WeatherType::None || level->GetWeatherStrength() == 0.0f)
// return;
if (!level->GetStarfieldMeteorsEnabled())
return;
int newParticlesCount = 0;
int density = METEOR_PARTICLES_SPAWN_DENSITY;
int density = level->GetStarfieldMeteorsSpawnDensity();
int meteorsCount = level->GetStarfieldMeteorsCount();
if (density > 0.0f /* && level->GetWeatherType() != WeatherType::None */)
{
while (Meteors.size() < METEOR_PARTICLES_MAX_COUNT)
if (density > 0)
{
while (Meteors.size() < meteorsCount)
{
if (newParticlesCount > density)
break;

View file

@ -8,6 +8,33 @@ using namespace TEN::Entities::Effects;
namespace TEN::Effects::Environment
{
constexpr auto WEATHER_PARTICLES_SPAWN_DENSITY = 32;
constexpr auto WEATHER_PARTICLES_MAX_COUNT = 2048;
constexpr auto WEATHER_PARTICLES_MAX_COLL_CHECK_DELAY = 5.0f;
constexpr auto MAX_DUST_SIZE = 25.0f;
constexpr auto MAX_SNOW_SIZE = 32.0f;
constexpr auto MAX_RAIN_SIZE = 128.0f;
constexpr auto WEATHER_PARTICLE_HORIZONTAL_SPEED = 8.0f;
constexpr auto MAX_SNOW_SPEED = 128.0f;
constexpr auto MAX_RAIN_SPEED = 256.0f;
constexpr auto MAX_DUST_SPEED = 1.0f;
constexpr auto WEATHER_PARTICLES_TRANSPARENCY = 0.8f;
constexpr auto WEATHER_PARTICLES_NEAR_DEATH_LIFE_VALUE = 20.0f;
constexpr auto WEATHER_PARTICLES_NEAR_DEATH_MELT_FACTOR = 1.0f - (1.0f / (WEATHER_PARTICLES_NEAR_DEATH_LIFE_VALUE * 2));
constexpr auto DUST_SPAWN_DENSITY = 300;
constexpr auto DUST_LIFE = 40;
constexpr auto DUST_SPAWN_RADIUS = (10 * 1024);
constexpr auto METEOR_PARTICLES_MAX_COUNT = 10;
constexpr auto METEOR_PARTICLES_MAX_LIFE = 150;
constexpr auto METEOR_PARTICLES_SPEED = 32.0f;
constexpr auto METEOR_PARTICLES_SPAWN_DENSITY = 4;
constexpr auto METEOR_PARTICLES_FADE_TIME = 30;
struct StarParticle
{
Vector3 Position = Vector3::Zero;
@ -116,7 +143,6 @@ namespace TEN::Effects::Environment
byte StormSkyColor2 = 1;
// Starfield
int StarsCount = 3000;
std::vector<StarParticle> Stars;
std::vector<MeteorParticle> Meteors;
bool ResetStarField = true;

View file

@ -14,7 +14,12 @@ namespace TEN::Entities::Effects
if (TriggerActive(item))
{
SetupLensFlare(item->Pose.Position.ToVector3(), item->RoomNumber, false);
SetupLensFlare(
item->Pose.Position.ToVector3(),
Vector3::One,
item->RoomNumber,
false,
SPR_LENSFLARE3);
}
}
@ -23,19 +28,23 @@ namespace TEN::Entities::Effects
LensFlares.clear();
}
void SetupGlobalLensFlare(float yaw, float pitch)
void SetupGlobalLensFlare(Vector2 yawAndPitchInDegrees, Vector3 color, int spriteIndex)
{
Vector3 position = Camera.pos.ToVector3();
Matrix rotation = Matrix::CreateFromYawPitchRoll(DEG_TO_RAD(yaw), DEG_TO_RAD(pitch), 0);
Matrix rotation = Matrix::CreateFromYawPitchRoll(
DEG_TO_RAD(yawAndPitchInDegrees.x),
DEG_TO_RAD(yawAndPitchInDegrees.y),
0
);
position += Vector3::Transform(Vector3(0, 0, BLOCK(256)), rotation);
SetupLensFlare(position, NO_VALUE, true);
SetupLensFlare(position, color, NO_VALUE, true, spriteIndex);
}
void SetupLensFlare(Vector3 position, short roomNumber, bool sun)
void SetupLensFlare(Vector3 position, Vector3 color, short roomNumber, bool global, int spriteIndex)
{
Vector3 lensFlarePosition;
if (sun)
if (global)
{
if (g_Level.Rooms[Camera.pos.RoomNumber].flags & ENV_FLAG_NO_LENSFLARE)
{
@ -80,7 +89,7 @@ namespace TEN::Entities::Effects
if (roomNumber != NO_VALUE)
{
if (g_Level.Rooms[roomNumber].flags & ENV_FLAG_NOT_NEAR_OUTSIDE || !sun)
if (g_Level.Rooms[roomNumber].flags & ENV_FLAG_NOT_NEAR_OUTSIDE || !global)
{
GameVector source = { Camera.pos.x, Camera.pos.y, Camera.pos.z, Camera.pos.RoomNumber };
GameVector destination = { (int)lensFlarePosition.x, (int)lensFlarePosition.y, (int)lensFlarePosition.z, roomNumber };
@ -88,15 +97,19 @@ namespace TEN::Entities::Effects
}
}
if (!flareVisible && !sun)
if (!flareVisible && !global)
{
return;
}
LensFlare lensFlare;
lensFlare.Position = position;
lensFlare.RoomNumber = roomNumber;
lensFlare.Sun = sun;
lensFlare.Global = global;
lensFlare.Color = color;
lensFlare.SpriteIndex = spriteIndex;
LensFlares.push_back(lensFlare);
}
}

View file

@ -10,14 +10,16 @@ namespace TEN::Entities::Effects
struct LensFlare
{
Vector3 Position;
Vector3 Color;
short RoomNumber;
bool Sun;
bool Global;
int SpriteIndex;
};
extern std::vector<LensFlare> LensFlares;
void LensFlareControl(short itemNumber);
void ClearLensFlares();
void SetupLensFlare(Vector3 position, short roomNumber, bool global);
void SetupGlobalLensFlare(float yaw, float pitch);
void SetupLensFlare(Vector3 position, Vector3 color, short roomNumber, bool global, int spriteIndex);
void SetupGlobalLensFlare(Vector2 yawAndPitchInDegrees, Vector3 color, int spriteIndex);
}

View file

@ -8,7 +8,10 @@ namespace TEN::Renderer::ConstantBuffers
struct alignas(16) ShaderLensFlare
{
Vector3 Position;
float Padding;
float Padding1;
//--
Vector3 Color;
float Padding2;
};
struct alignas(16) CPostProcessBuffer

View file

@ -2821,8 +2821,7 @@ namespace TEN::Renderer
_context->ClearDepthStencilView(depthTarget, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1, 0);
int starsCount = (int)Weather.GetStars().size();
if (starsCount > 0)
if (Weather.GetStars().size() > 0)
{
SetDepthState(DepthState::Read);
SetBlendMode(BlendMode::Additive);
@ -2841,6 +2840,8 @@ namespace TEN::Renderer
BindTexture(TextureRegister::ColorMap, _sprites[Objects[ID_DEFAULT_SPRITES].meshIndex + SPR_LENSFLARE3].Texture, SamplerStateRegister::LinearClamp);
int drawnStars = 0;
int starsCount = (int)Weather.GetStars().size();
while (drawnStars < starsCount)
{
int starsToDraw = (starsCount - drawnStars) > 100 ? 100 : (starsCount - drawnStars);
@ -2851,7 +2852,7 @@ namespace TEN::Renderer
auto& s = Weather.GetStars()[drawnStars + i];
RendererSpriteToDraw rDrawSprite;
rDrawSprite.Sprite = &_sprites[Objects[ID_DEFAULT_SPRITES].meshIndex + SPR_LENSFLARE3];
rDrawSprite.Sprite = &_sprites[Objects[ID_DEFAULT_SPRITES].meshIndex + SPR_LENSFLARE3];
constexpr auto STAR_SIZE = 2;
@ -2890,7 +2891,7 @@ namespace TEN::Renderer
drawnStars += starsToDraw;
}
// Draw meteor
// Draw meteors
if (Weather.GetMeteors().size() > 0)
{
RendererSpriteToDraw rDrawSprite;
@ -2907,8 +2908,8 @@ namespace TEN::Renderer
continue;
rDrawSprite.Type = SpriteType::CustomBillboard;
rDrawSprite.pos =
renderView.Camera.WorldPosition +
rDrawSprite.pos =
renderView.Camera.WorldPosition +
Vector3::Lerp(meteor.OldPosition, meteor.Position, _interpolationFactor);
rDrawSprite.Rotation = 0;
rDrawSprite.Scale = 1;
@ -2995,7 +2996,7 @@ namespace TEN::Renderer
}
// Eventually draw the sun sprite
if (renderView.LensFlaresToDraw.size() > 0 && renderView.LensFlaresToDraw[0].Sun)
if (renderView.LensFlaresToDraw.size() > 0 && renderView.LensFlaresToDraw[0].Global)
{
SetDepthState(DepthState::Read);
SetBlendMode(BlendMode::Additive);
@ -3012,7 +3013,7 @@ namespace TEN::Renderer
_context->IASetVertexBuffers(0, 1, _quadVertexBuffer.Buffer.GetAddressOf(), &stride, &offset);
RendererSpriteToDraw rDrawSprite;
rDrawSprite.Sprite = &_sprites[Objects[ID_DEFAULT_SPRITES].meshIndex + SPR_LENSFLARE3];
rDrawSprite.Sprite = &_sprites[Objects[ID_DEFAULT_SPRITES].meshIndex + renderView.LensFlaresToDraw[0].SpriteIndex];
constexpr auto SUN_SIZE = 64;

View file

@ -110,7 +110,7 @@ namespace TEN::Renderer
{
Vector3 lensFlareToCamera = lensFlare.Position - renderView.Camera.WorldPosition;
float distance = 0.0f;
if (!lensFlare.Sun)
if (!lensFlare.Global)
{
distance = lensFlareToCamera.Length();
}
@ -122,10 +122,14 @@ namespace TEN::Renderer
if (lensFlareToCamera.Dot(cameraDirection) >= 0.0f)
{
RendererLensFlare lensFlareToDraw;
lensFlareToDraw.Position = lensFlare.Position;
lensFlareToDraw.Distance = distance;
lensFlareToDraw.Color = lensFlare.Color;
lensFlareToDraw.SpriteIndex = lensFlare.SpriteIndex;
lensFlareToDraw.Direction = lensFlareToCamera;
lensFlareToDraw.Sun = lensFlare.Sun;
lensFlareToDraw.Global = lensFlare.Global;
tempLensFlares.push_back(lensFlareToDraw);
}
}
@ -135,9 +139,9 @@ namespace TEN::Renderer
tempLensFlares.end(),
[](const RendererLensFlare& lensFlare0, const RendererLensFlare& lensFlare1)
{
if (lensFlare0.Sun && !lensFlare1.Sun)
if (lensFlare0.Global && !lensFlare1.Global)
return true;
else if (!lensFlare0.Sun && lensFlare1.Sun)
else if (!lensFlare0.Global && lensFlare1.Global)
return false;
else
return lensFlare0.Distance < lensFlare1.Distance;

View file

@ -87,6 +87,7 @@ namespace TEN::Renderer
for (int i = 0; i < view.LensFlaresToDraw.size(); i++)
{
_stPostProcessBuffer.LensFlares[i].Position = view.LensFlaresToDraw[i].Position;
_stPostProcessBuffer.LensFlares[i].Color = view.LensFlaresToDraw[i].Color;
}
_stPostProcessBuffer.NumLensFlares = (int)view.LensFlaresToDraw.size();
_cbPostProcessBuffer.UpdateData(_stPostProcessBuffer, _context.Get());

View file

@ -9,8 +9,10 @@ namespace TEN::Renderer::Structures
struct RendererLensFlare
{
Vector3 Position;
Vector3 Color;
Vector3 Direction;
float Distance;
bool Sun;
bool Global;
int SpriteIndex;
};
}

View file

@ -48,4 +48,14 @@ public:
virtual int GetSecrets() const = 0;
virtual std::string GetAmbientTrack() const = 0;
virtual bool GetResetHubEnabled() const = 0;
virtual bool GetLensFlareEnabled() const = 0;
virtual Vector2 GetLensFlarePosition() const = 0;
virtual RGBAColor8Byte GetLensFlareColor() const = 0;
virtual int GetLensFlareSpriteID() const = 0;
virtual bool GetStarfieldEnabled() const = 0;
virtual bool GetStarfieldMeteorsEnabled() const = 0;
virtual int GetStarfieldStarsCount() const = 0;
virtual int GetStarfieldMeteorsCount() const = 0;
virtual int GetStarfieldMeteorsSpawnDensity() const = 0;
virtual float GetStarfieldMeteorsSpeed() const = 0;
};

View file

@ -264,7 +264,9 @@ Specify which translations in the strings table correspond to which languages.
Animations::Register(tableFlow);
Settings::Register(tableFlow);
Fog::Register(tableFlow);
LensFlare::Register(tableFlow);
Starfield::Register(tableFlow);
m_handler.MakeReadOnlyTable(tableFlow, ScriptReserved_WeatherType, WEATHER_TYPES);
m_handler.MakeReadOnlyTable(tableFlow, ScriptReserved_LaraType, PLAYER_TYPES);
m_handler.MakeReadOnlyTable(tableFlow, ScriptReserved_RotationAxis, ROTATION_AXES);

View file

@ -0,0 +1,85 @@
#include "framework.h"
#include "LensFlare.h"
#include <Specific\level.h>
/***
LensFlare
@tenclass Flow.LensFlare
@pragma nostrip
*/
void LensFlare::Register(sol::table& parent)
{
using ctors = sol::constructors<LensFlare(Vec2 const&, ScriptColor const&)>;
parent.new_usertype<LensFlare>("LensFlare",
ctors(),
sol::call_constructor, ctors(),
/// (@{Color}) RGB lens flare color
//@mem lensFlareColor
"color", sol::property(&LensFlare::GetColor, &LensFlare::SetColor),
/*** (@{Vec2}) Lens flare orientation.
This is the position of the lens flare in the sky. The X value is the horizontal position, and the Y value is the vertical position. Angles must be specified in degrees.
@mem lensFlarePosition*/
"position", sol::property(&LensFlare::GetPosition, &LensFlare::SetPosition)
);
}
/***
@tparam Vec2 yawPitchInDegrees Position of the lens flare (yaw and pitch) in degrees
@tparam Color color RGB color
@treturn LensFlare A lens flare object.
@function LensFlare
*/
LensFlare::LensFlare(Vec2 const& yawPitchInDegrees, ScriptColor const& col)
{
SetColor(col);
SetPosition(yawPitchInDegrees);
Enabled = true;
}
void LensFlare::SetColor(ScriptColor const& col)
{
R = col.GetR();
G = col.GetG();
B = col.GetB();
}
ScriptColor LensFlare::GetColor() const
{
return ScriptColor{ R, G, B };
}
void LensFlare::SetPosition(Vec2 const& yawPitchInDegrees)
{
Yaw = yawPitchInDegrees.x;
Pitch = yawPitchInDegrees.y;
}
Vec2 LensFlare::GetPosition() const
{
return Vec2{ Yaw, Pitch };
}
bool LensFlare::GetEnabled() const
{
return Enabled;
}
void LensFlare::SetSunSpriteID(int const& spriteIndex)
{
assertion(spriteIndex >= 0 && spriteIndex < g_Level.Sprites.size(), "Sprite Index must be in a valid range");
SunSpriteID = spriteIndex;
}
int LensFlare::GetSunSpriteID() const
{
return SunSpriteID;
}

View file

@ -0,0 +1,34 @@
#pragma once
#include "Scripting/Internal/TEN/Color/Color.h"
#include "Scripting/Internal/TEN/Vec2/Vec2.h"
#include "Objects/objectslist.h"
namespace sol { class state; }
struct LensFlare
{
bool Enabled;
int SunSpriteID = SPR_LENSFLARE3; // Index into sprites
byte R;
byte G;
byte B;
float Yaw;
float Pitch;
LensFlare() = default;
LensFlare(Vec2 const& yawPitchInDegrees, ScriptColor const& col);
void SetColor(ScriptColor const& color);
ScriptColor GetColor() const;
void SetPosition(Vec2 const& yawPitchInDegrees);
Vec2 GetPosition() const;
void SetSunSpriteID(int const& spriteIndex);
int GetSunSpriteID() const;
bool GetEnabled() const;
static void Register(sol::table&);
};

View file

@ -52,6 +52,14 @@ void Level::Register(sol::table& parent)
//@mem layer2
"layer2", &Level::Layer2,
/// (@{Flow.Starfield}) Starfield
//@mem starfield
"starfield", & Level::Starfield,
/// (@{Flow.LensFlare}) Global lens flare
//@mem lensFlare
"lensFlare", & Level::LensFlare,
/// (@{Flow.Fog}) omni fog RGB color and distance.
// As seen in TR4's Desert Railroad.
// If not provided, distance fog will be black.
@ -277,3 +285,53 @@ std::string Level::GetAmbientTrack() const
{
return AmbientTrack;
}
bool Level::GetLensFlareEnabled() const
{
return LensFlare.GetEnabled();
}
Vector2 Level::GetLensFlarePosition() const
{
return LensFlare.GetPosition();
}
RGBAColor8Byte Level::GetLensFlareColor() const
{
return LensFlare.GetColor();
}
int Level::GetLensFlareSpriteID() const
{
return LensFlare.GetSunSpriteID();
}
bool Level::GetStarfieldEnabled() const
{
return Starfield.GetEnabled();
}
bool Level::GetStarfieldMeteorsEnabled() const
{
return Starfield.GetMeteorsEnabled();
}
int Level::GetStarfieldStarsCount() const
{
return Starfield.GetStarsCount();
}
int Level::GetStarfieldMeteorsCount() const
{
return Starfield.GetMeteorsCount();
}
int Level::GetStarfieldMeteorsSpawnDensity() const
{
return Starfield.GetMeteorsSpawnDensity();
}
float Level::GetStarfieldMeteorsSpeed() const
{
return Starfield.GetMeteorsSpeed();
}

View file

@ -1,6 +1,8 @@
#pragma once
#include <string>
#include "Scripting/Internal/TEN/Flow/SkyLayer/SkyLayer.h"
#include "Scripting/Internal/TEN/Flow/LensFlare/LensFlare.h"
#include "Scripting/Internal/TEN/Flow/Starfield/Starfield.h"
#include "Scripting/Internal/TEN/Flow/Mirror/Mirror.h"
#include "Scripting/Internal/TEN/Flow/Fog/Fog.h"
#include "Scripting/Include/ScriptInterfaceLevel.h"
@ -31,7 +33,10 @@ struct Level : public ScriptInterfaceLevel
Mirror Mirror = {};
int LevelFarView = 0;
std::string AmbientTrack = {};
LensFlare LensFlare = {};
Starfield Starfield = {};
WeatherType Weather = WeatherType::None;
float WeatherStrength = 1.0f;
bool Storm = false;
@ -62,4 +67,14 @@ struct Level : public ScriptInterfaceLevel
int GetSecrets() const override;
std::string GetAmbientTrack() const override;
bool GetResetHubEnabled() const override;
bool GetLensFlareEnabled() const override;
Vector2 GetLensFlarePosition() const override;
RGBAColor8Byte GetLensFlareColor() const override;
int GetLensFlareSpriteID() const override;
bool GetStarfieldEnabled() const override;
bool GetStarfieldMeteorsEnabled() const override;
int GetStarfieldStarsCount() const override;
int GetStarfieldMeteorsCount() const override;
int GetStarfieldMeteorsSpawnDensity() const override;
float GetStarfieldMeteorsSpeed() const override;
};

View file

@ -1,58 +1,58 @@
#include "framework.h"
#include "SkyLayer.h"
/*** Describes a layer of moving clouds.
As seen in TR4's City of the Dead.
@tenclass Flow.SkyLayer
@pragma nostrip
*/
void SkyLayer::Register(sol::table & parent)
{
using ctors = sol::constructors<SkyLayer(ScriptColor const&, short)>;
parent.new_usertype<SkyLayer>("SkyLayer",
ctors(),
sol::call_constructor, ctors(),
/// (@{Color}) RGB sky color
//@mem color
"color", sol::property(&SkyLayer::GetColor, &SkyLayer::SetColor),
/*** (int) cloud speed.
Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.
Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
@mem speed*/
"speed", &SkyLayer::CloudSpeed
);
}
/***
@tparam Color color RGB color
@tparam int speed cloud speed
@treturn SkyLayer A SkyLayer object.
@function SkyLayer
*/
SkyLayer::SkyLayer(ScriptColor const& col, short speed)
{
SetColor(col);
CloudSpeed = speed;
Enabled = true;
}
void SkyLayer::SetColor(ScriptColor const & col)
{
R = col.GetR();
G = col.GetG();
B = col.GetB();
}
ScriptColor SkyLayer::GetColor() const {
return ScriptColor{ R, G, B };
}
#include "framework.h"
#include "SkyLayer.h"
/*** Describes a layer of moving clouds.
As seen in TR4's City of the Dead.
@tenclass Flow.SkyLayer
@pragma nostrip
*/
void SkyLayer::Register(sol::table & parent)
{
using ctors = sol::constructors<SkyLayer(ScriptColor const&, short)>;
parent.new_usertype<SkyLayer>("SkyLayer",
ctors(),
sol::call_constructor, ctors(),
/// (@{Color}) RGB sky color
//@mem color
"color", sol::property(&SkyLayer::GetColor, &SkyLayer::SetColor),
/*** (int) cloud speed.
Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.
Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
@mem speed*/
"speed", &SkyLayer::CloudSpeed
);
}
/***
@tparam Color color RGB color
@tparam int speed cloud speed
@treturn SkyLayer A SkyLayer object.
@function SkyLayer
*/
SkyLayer::SkyLayer(ScriptColor const& col, short speed)
{
SetColor(col);
CloudSpeed = speed;
Enabled = true;
}
void SkyLayer::SetColor(ScriptColor const & col)
{
R = col.GetR();
G = col.GetG();
B = col.GetB();
}
ScriptColor SkyLayer::GetColor() const {
return ScriptColor{ R, G, B };
}

View file

@ -0,0 +1,127 @@
#include "framework.h"
#include "Starfield.h"
#include "Specific/level.h"
#include "Game/effects/weather.h"
using namespace TEN::Effects::Environment;
/***
Starfield
@tenclass Flow.Starfield
@pragma nostrip
*/
void Starfield::Register(sol::table& parent)
{
using ctors = sol::constructors<Starfield(int, int, int, int), Starfield(int)>;
parent.new_usertype<Starfield>("Starfield",
ctors(),
sol::call_constructor, ctors(),
/*** (int) Stars count.
Values can be between [0, 6000], 0 resulting in no stars being rendered, and 6000 resulting in the maximum number of stars being rendered.
@mem starsCount*/
"starsCount", sol::property(&Starfield::GetStarsCount, &Starfield::SetStarsCount),
/*** (int) Meteors count.
Values can be between [0, 100], 0 resulting in no meteors being rendered, and 100 resulting in the maximum number of meteors being rendered.
@mem meteorsCount*/
"meteorsCount", sol::property(&Starfield::GetMeteorsCount, &Starfield::SetMeteorsCount),
/*** (int) Meteors spawn density.
@mem meteorsSpawnDensity*/
"meteorsSpawnDensity", sol::property(&Starfield::GetMeteorsSpawnDensity, &Starfield::SetMeteorsSpawnDensity),
/*** (float) Meteors speed.
@mem meteorsSpeed*/
"meteorsSpeed", sol::property(&Starfield::GetMeteorsSpeed, &Starfield::SetMeteorsSpeed)
);
}
/***
@tparam int starsCount Stars count
@treturn Starfield A starfield object with only stars enabled.
@function Starfield
*/
Starfield::Starfield(int starsCount)
{
SetStarsCount(starsCount);
SetMeteorsCount(0);
}
/***
@tparam int starsCount Stars count
@tparam int meteorsCount Stars count
@treturn Starfield A starfield object with boths stars and meteors enabled.
@function Starfield
*/
Starfield::Starfield(int starsCount, int meteorsCount, int meteorsSpawnDensity, int meteorsSpawnSpeed)
{
SetStarsCount(starsCount);
SetMeteorsCount(meteorsCount);
SetMeteorsSpawnDensity(meteorsSpawnDensity);
SetMeteorsSpeed(meteorsSpawnSpeed);
}
void Starfield::SetStarsCount(int const& starsCount)
{
assertion(starsCount >= 0 && starsCount <= 6000, "Stars count must be in the range 0 ... 6000");
StarsCount = starsCount;
}
int Starfield::GetStarsCount() const
{
return StarsCount;
}
void Starfield::SetMeteorsCount(int const& meteorsCount)
{
assertion(meteorsCount >= 0 && meteorsCount <= 100, "Stars count must be in the range 0 ... 100");
MeteorsCount = meteorsCount;
}
int Starfield::GetMeteorsCount() const
{
return MeteorsCount;
}
void Starfield::SetMeteorsSpawnDensity(int const& meteorsSpawnDensity)
{
MeteorsSpawnDensity = meteorsSpawnDensity;
}
int Starfield::GetMeteorsSpawnDensity() const
{
return MeteorsSpawnDensity;
}
void Starfield::SetMeteorsSpeed(float const& meteorsSpeed)
{
MeteorsSpeed = meteorsSpeed;
}
float Starfield::GetMeteorsSpeed() const
{
return MeteorsSpeed;
}
bool Starfield::GetEnabled() const
{
return (StarsCount > 0);
}
bool Starfield::GetMeteorsEnabled() const
{
return (MeteorsCount > 0);
}

View file

@ -0,0 +1,36 @@
#pragma once
#include "Scripting/Internal/TEN/Color/Color.h"
#include "Scripting/Internal/TEN/Vec2/Vec2.h"
namespace sol { class state; }
struct Starfield
{
int StarsCount = 0; // No need for StarryNight flag, if stars count = 0, shader is bypassed
int MeteorsCount = 0; // No need for EnableMeteors flag, if meteors count = 0, shader is bypassed
int MeteorsSpawnDensity = 0;
int MeteorsSpeed = 0;
Starfield() = default;
Starfield(int starsCount);
Starfield(int starsCount, int meteorsCount, int meteorsSpawnDensity, int meteorsSpeed);
void SetStarsCount(int const& starsCount);
int GetStarsCount() const;
void SetMeteorsCount(int const& meteorsCount);
int GetMeteorsCount() const;
void SetMeteorsSpawnDensity(int const& spawnDensity);
int GetMeteorsSpawnDensity() const;
void SetMeteorsSpeed(float const& meteorsSpeed);
float GetMeteorsSpeed() const;
bool GetEnabled() const;
bool GetMeteorsEnabled() const;
static void Register(sol::table&);
};

View file

@ -3,7 +3,10 @@
struct ShaderLensFlare
{
float3 Position;
float Padding;
float Padding1;
//--
float3 Color;
float Padding2;
};
cbuffer CBPostProcess : register(b7)

View file

@ -102,9 +102,9 @@ float3 LensFlare(float2 uv, float2 pos)
float f1 = max(0.01f - pow(length(uv + 1.2f * pos), 1.9f), 0.0f) * 7.0f;
float f2 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.8f * pos), 2.0f)), 0.0f) * 00.1f;
float f22 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.85f * pos), 2.0f)), 0.0f) * 00.08f;
float f23 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.9f * pos), 2.0f)), 0.0f) * 00.06f;
float f2 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.8f * pos), 2.0f)), 0.0f) * 0.1f;
float f22 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.85f * pos), 2.0f)), 0.0f) * 0.08f;
float f23 = max(1.0f / (1.0f + 32.0f * pow(length(uvd + 0.9f * pos), 2.0f)), 0.0f) * 0.06f;
float2 uvx = lerp(uv, uvd, -0.5f);
@ -154,7 +154,10 @@ float4 PSLensFlare(PixelShaderInput input) : SV_Target
lensFlarePosition = mul(mul(lensFlarePosition, View), Projection);
lensFlarePosition.xyz /= lensFlarePosition.w;
float3 lensFlareColor = max(float3(0.0f, 0.0f, 0.0f), float3(4.5f, 3.6f, 3.6f) * LensFlare(position.xy, lensFlarePosition.xy));
float3 lensFlareColor = max(float3(0.0f, 0.0f, 0.0f),
LensFlares[i].Color *
float3(4.5f, 3.6f, 3.6f) *
LensFlare(position.xy, lensFlarePosition.xy));
lensFlareColor = LensFlareColorCorrection(lensFlareColor, 0.5f, 0.1f);
totalLensFlareColor += lensFlareColor;
}

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@ -777,10 +777,12 @@ xcopy /Y "$(SolutionDir)Libs\zlib\x64\*.dll" "$(TargetDir)"</Command>
<ClInclude Include="Scripting\Internal\TEN\Flow\Fog\Fog.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\GameStatuses.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\InventoryItem\InventoryItem.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\LensFlare\LensFlare.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\Level\FlowLevel.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\Mirror\Mirror.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\Settings\Settings.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\SkyLayer\SkyLayer.h" />
<ClInclude Include="Scripting\Internal\TEN\Flow\Starfield\Starfield.h" />
<ClInclude Include="Scripting\Internal\TEN\Input\ActionIDs.h" />
<ClInclude Include="Scripting\Internal\TEN\Input\InputHandler.h" />
<ClInclude Include="Scripting\Internal\TEN\Inventory\InventoryHandler.h" />
@ -1208,10 +1210,12 @@ xcopy /Y "$(SolutionDir)Libs\zlib\x64\*.dll" "$(TargetDir)"</Command>
<ClCompile Include="Scripting\Internal\TEN\Flow\FlowHandler.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\Fog\Fog.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\InventoryItem\InventoryItem.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\LensFlare\LensFlare.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\Level\FlowLevel.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\Mirror\Mirror.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\Settings\Settings.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\SkyLayer\SkyLayer.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Flow\Starfield\Starfield.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Input\InputHandler.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Inventory\InventoryHandler.cpp" />
<ClCompile Include="Scripting\Internal\TEN\Logic\LogicHandler.cpp" />