Misc. script doc tidying; move some script classes to namespaces

This commit is contained in:
Sezz 2025-02-06 16:35:59 +11:00
parent be8048407e
commit 94ede801bc
103 changed files with 965 additions and 624 deletions

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -107,17 +108,16 @@
<div id="content">
<h1>Class <code>Objects.LaraObject</code></h1>
<p>Class for extra Lara-only functions.</p>
<p>Do not try to create an object of this type; use the built-in <em>Lara</em> variable instead.</p>
<p>In addition, LaraObject inherits all the functions of <a href="../2 classes/Objects.Moveable.html#">Moveable</a>.</p>
<p>Class for extra player-only functions.</p>
<p> Do not try to create an object of this type. Use the built-in <em>Lara</em> variable instead.
LaraObject inherits all the functions of <a href="../2 classes/Objects.Moveable.html#">Moveable</a>.</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LaraObject:SetPoison">LaraObject:SetPoison([Poison])</a></td>
<td class="summary">Set Lara poison</td>
<td class="summary">Set player poison.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetPoison">LaraObject:GetPoison()</a></td>
@ -213,7 +213,7 @@
<strong>LaraObject:SetPoison([Poison])</strong>
</dt>
<dd>
Set Lara poison
Set player poison.

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -107,7 +108,7 @@
<div id="content">
<h1>Class <code>Objects.Sink</code></h1>
<p>Sink</p>
<p>Represents a sink object.</p>
<p>
</p>
@ -115,31 +116,29 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Sink:GetPosition">Sink:GetPosition()</a></td>
<td class="summary">Get the sink's position</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetPosition">Sink:SetPosition(position)</a></td>
<td class="summary">Set the sink's position</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:GetName">Sink:GetName()</a></td>
<td class="summary">Get the sink's unique string identifier
e.g.</td>
<td class="summary">Get this sink's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetName">Sink:SetName(name)</a></td>
<td class="summary">Set the sink's name (its unique string identifier)</td>
<td class="name" ><a href="#Sink:GetPosition">Sink:GetPosition()</a></td>
<td class="summary">Get this sink's world position.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:GetStrength">Sink:GetStrength()</a></td>
<td class="summary">Get the sink's strength</td>
<td class="summary">Get this sink's strength.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetName">Sink:SetName(name)</a></td>
<td class="summary">Set this sink's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetPosition">Sink:SetPosition(pos)</a></td>
<td class="summary">Set this sink's world position.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetStrength">Sink:SetStrength(strength)</a></td>
<td class="summary">Set the strength of the sink
Higher numbers provide stronger currents.</td>
<td class="summary">Set this sink's strength.</td>
</tr>
</table>
@ -150,56 +149,12 @@
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Sink:GetPosition"></a>
<strong>Sink:GetPosition()</strong>
</dt>
<dd>
Get the sink's position
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
a copy of the sink's position
</ol>
</dd>
<dt>
<a name = "Sink:SetPosition"></a>
<strong>Sink:SetPosition(position)</strong>
</dt>
<dd>
Set the sink's position
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">position</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
the new position of the sink
</li>
</ul>
</dd>
<dt>
<a name = "Sink:GetName"></a>
<strong>Sink:GetName()</strong>
</dt>
<dd>
Get the sink's unique string identifier
e.g. "strong_river_current" or "propeller_death_sink"
Get this sink's unique string identifier.
@ -208,7 +163,49 @@
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
the sink's name
Name.
</ol>
</dd>
<dt>
<a name = "Sink:GetPosition"></a>
<strong>Sink:GetPosition()</strong>
</dt>
<dd>
Get this sink's world position.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</ol>
</dd>
<dt>
<a name = "Sink:GetStrength"></a>
<strong>Sink:GetStrength()</strong>
</dt>
<dd>
Get this sink's strength.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Strength.
</ol>
@ -220,7 +217,7 @@
<strong>Sink:SetName(name)</strong>
</dt>
<dd>
Set the sink's name (its unique string identifier)
Set this sink's unique string identifier.
@ -228,7 +225,7 @@
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
The sink's new name
New name.
</li>
</ul>
@ -238,21 +235,22 @@
</dd>
<dt>
<a name = "Sink:GetStrength"></a>
<strong>Sink:GetStrength()</strong>
<a name = "Sink:SetPosition"></a>
<strong>Sink:SetPosition(pos)</strong>
</dt>
<dd>
Get the sink's strength
Set this sink's world position.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
New world position.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
the sink's current strength
</ol>
@ -263,8 +261,8 @@
<strong>Sink:SetStrength(strength)</strong>
</dt>
<dd>
Set the strength of the sink
Higher numbers provide stronger currents. Will be clamped to [1, 32].
Set this sink's strength.
Higher numbers provide stronger currents. Clamped to the range [1, 32].
@ -272,7 +270,7 @@
<ul>
<li><span class="parameter">strength</span>
<span class="types"><span class="type">int</span></span>
The sink's new strength
New strength.
</li>
</ul>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -145,43 +146,43 @@
</tr>
<tr>
<td class="name" ><a href="#Static:GetActive">Static:GetActive()</a></td>
<td class="summary">Get this static's visibility state.</td>
<td class="summary">Get this static's visibility status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:GetSolid">Static:GetSolid()</a></td>
<td class="summary">Get this static's solid collision state.</td>
<td class="summary">Get this static's solid collision status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetName">Static:SetName(name)</a></td>
<td class="summary">Set this static's unique identifier string.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetSlot">Static:SetSlot(New)</a></td>
<td class="name" ><a href="#Static:SetSlot">Static:SetSlot(slotID)</a></td>
<td class="summary">Set this static's slot ID.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetPosition">Static:SetPosition(New)</a></td>
<td class="name" ><a href="#Static:SetPosition">Static:SetPosition(pos)</a></td>
<td class="summary">Set this static's world position.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetRotation">Static:SetRotation(New)</a></td>
<td class="name" ><a href="#Static:SetRotation">Static:SetRotation(rot)</a></td>
<td class="summary">Set this static's rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetScale">Static:SetScale(New)</a></td>
<td class="name" ><a href="#Static:SetScale">Static:SetScale(scale)</a></td>
<td class="summary">Set this static's world scale.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetColor">Static:SetColor(color)</a></td>
<td class="summary">Set the static's color</td>
<td class="summary">Set this static's color.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetHP">Static:SetHP(New)</a></td>
<td class="name" ><a href="#Static:SetHP">Static:SetHP(hitPoints)</a></td>
<td class="summary">Set this static's hit points.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:SetSolid">Static:SetSolid(Solid)</a></td>
<td class="summary">Set this static's solid collision state.</td>
<td class="name" ><a href="#Static:SetSolid">Static:SetSolid(status)</a></td>
<td class="summary">Set this static's solid collision status.</td>
</tr>
<tr>
<td class="name" ><a href="#Static:Enable">Static:Enable()</a></td>
@ -356,7 +357,7 @@
<strong>Static:GetActive()</strong>
</dt>
<dd>
Get this static's visibility state.
Get this static's visibility status.
@ -365,7 +366,7 @@
<ol>
<span class="types"><span class="type">bool</span></span>
Visibility state.
Status. <strong>true: visible</strong>, <strong>false: invisible</strong>
</ol>
@ -377,7 +378,7 @@
<strong>Static:GetSolid()</strong>
</dt>
<dd>
Get this static's solid collision state.
Get this static's solid collision status.
@ -386,7 +387,7 @@
<ol>
<span class="types"><span class="type">bool</span></span>
Solid collision state. <strong>True: solid</strong>, <strong>False: soft</strong>
Solid Status. <strong>true: solid</strong>, <strong>false: soft</strong>
</ol>
@ -417,7 +418,7 @@
</dd>
<dt>
<a name = "Static:SetSlot"></a>
<strong>Static:SetSlot(New)</strong>
<strong>Static:SetSlot(slotID)</strong>
</dt>
<dd>
Set this static's slot ID.
@ -426,9 +427,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<li><span class="parameter">slotID</span>
<span class="types"><span class="type">int</span></span>
slot ID.
New slot ID.
</li>
</ul>
@ -439,7 +440,7 @@
</dd>
<dt>
<a name = "Static:SetPosition"></a>
<strong>Static:SetPosition(New)</strong>
<strong>Static:SetPosition(pos)</strong>
</dt>
<dd>
Set this static's world position.
@ -448,9 +449,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
world position.
New world position.
</li>
</ul>
@ -461,7 +462,7 @@
</dd>
<dt>
<a name = "Static:SetRotation"></a>
<strong>Static:SetRotation(New)</strong>
<strong>Static:SetRotation(rot)</strong>
</dt>
<dd>
Set this static's rotation.
@ -470,9 +471,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
rotation.
New rotation.
</li>
</ul>
@ -483,7 +484,7 @@
</dd>
<dt>
<a name = "Static:SetScale"></a>
<strong>Static:SetScale(New)</strong>
<strong>Static:SetScale(scale)</strong>
</dt>
<dd>
Set this static's world scale.
@ -492,9 +493,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">Scale</span></span>
world scale.
<li><span class="parameter">scale</span>
<span class="types"><span class="type">float</span></span>
New world scale.
</li>
</ul>
@ -508,7 +509,7 @@
<strong>Static:SetColor(color)</strong>
</dt>
<dd>
Set the static's color
Set this static's color.
@ -516,7 +517,7 @@
<ul>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
the new color of the static
New color.
</li>
</ul>
@ -527,7 +528,7 @@
</dd>
<dt>
<a name = "Static:SetHP"></a>
<strong>Static:SetHP(New)</strong>
<strong>Static:SetHP(hitPoints)</strong>
</dt>
<dd>
Set this static's hit points. Used only with shatterable statics.
@ -536,9 +537,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<li><span class="parameter">hitPoints</span>
<span class="types"><span class="type">int</span></span>
hit points.
New hit points.
</li>
</ul>
@ -549,18 +550,18 @@
</dd>
<dt>
<a name = "Static:SetSolid"></a>
<strong>Static:SetSolid(Solid)</strong>
<strong>Static:SetSolid(status)</strong>
</dt>
<dd>
Set this static's solid collision state.
Set this static's solid collision status.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Solid</span>
<li><span class="parameter">status</span>
<span class="types"><span class="type">bool</span></span>
collision state. <strong>True: solid</strong>, <strong>False: soft</strong>
New status. <strong>true: solid</strong>, <strong>false: soft</strong>
</li>
</ul>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -108,7 +109,7 @@
<h1>Primitive Class <code>Color</code></h1>
<p>Represents an RGBA or RGB color.</p>
<p> Components are specified in bytes. All values are clamped to the range [0, 255].</p>
<p> Components are specified as values clamped to the range [0, 255].</p>
<h2><a href="#Members">Members</a></h2>
@ -278,7 +279,7 @@
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string representing the r, g, b, and a values of the color.
A string representing R, G, B, and A values.
</ol>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -117,7 +118,7 @@
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.BlendID">Effects.BlendID</a></td>
<td class="summary">Table of Effects.BlendID constants (for use with particles).</td>
<td class="summary">Table of Effects.BlendID constants.</td>
</tr>
</table>
@ -134,17 +135,18 @@
</dt>
<dd>
<p>Table of Effects.BlendID constants (for use with particles). </p>
<p>Table of Effects.BlendID constants. </p>
<ul>
<li><code>OPAQUE</code></li>
<li><code>ALPHATEST</code></li>
<li><code>ALPHA_TEST</code></li>
<li><code>ADDITIVE</code></li>
<li><code>NO_DEPTH_TEST</code></li>
<li><code>SUBTRACTIVE</code></li>
<li><code>EXCLUDE</code></li>
<li><code>SCREEN</code></li>
<li><code>LIGHTEN</code></li>
<li><code>ALPHABLEND</code></li>
<li><code>ALPHA_BLEND</code></li>
</ul>

View file

@ -82,6 +82,7 @@
<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>
@ -135,15 +136,15 @@
<dd>
<p>Table of Effects.EffectID constants.
To be used with <a href="../2 classes/Objects.Moveable.html#Moveable:SetEffect">Objects.Moveable.SetEffect</a> and <a href="../2 classes/Objects.Moveable.html#Moveable:GetEffect">Objects.Moveable.GetEffect</a> functions.</p>
To be used with <a href="../2 classes/Objects.Moveable.html#Moveable:SetEffect">Objects.Moveable.SetEffect</a> and <a href="../2 classes/Objects.Moveable.html#Moveable:GetEffect">Objects.Moveable.GetEffect</a> functions.</p>
<ul>
<li><code>NONE</code></li>
<li><code>FIRE</code></li>
<li><code>SPARKS</code></li>
<li><code>SMOKE</code></li>
<li><code>ELECTRICIGNITE</code></li>
<li><code>REDIGNITE</code></li>
<li><code>ELECTRIC_IGNITE</code></li>
<li><code>RED_IGNITE</code></li>
<li><code>CADAVER</code></li>
<li><code>CUSTOM</code></li>
</ul>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<li> <here>Flow.GameStatus</here></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>

View file

@ -82,6 +82,7 @@
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <here>Input.ActionID</here></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>

View file

@ -82,6 +82,7 @@
<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> <here>Objects.AmmoType</here></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>
@ -135,7 +136,7 @@
<dd>
<p>Table of Objects.AmmoType constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetAmmoType">Objects.LaraObject.GetAmmoType</a> function.</p>
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetAmmoType">Objects.LaraObject.GetAmmoType</a> function.</p>
<ul>
<li><code>NONE</code></li>

View file

@ -0,0 +1,169 @@
<!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.7.2 (Developer) 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/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.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/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.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> <here>Objects.HandStatus</here></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/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Objects.HandStatus</code></h1>
<p>Constants for player hand statuses.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Objects.HandStatus">Objects.HandStatus</a></td>
<td class="summary">Table of Objects.HandStatus constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Objects.HandStatus"></a>
<strong>Objects.HandStatus</strong>
</dt>
<dd>
<p>Table of Objects.HandStatus constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetAmmoType">Objects.LaraObject.GetAmmoType</a> function.</p>
<ul>
<li><code>FREE</code></li>
<li><code>BUSY</code></li>
<li><code>WEAPON_DRAW</code></li>
<li><code>WEAPON_READY</code></li>
<li><code>SPECIAL</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -82,6 +82,7 @@
<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> <here>Objects.MoveableStatus</here></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>

View file

@ -82,6 +82,7 @@
<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> <here>Objects.ObjID</here></li>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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> <here>Objects.WeaponType</here></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>
@ -117,7 +118,7 @@
<table class="function_list">
<tr>
<td class="name" ><a href="#Objects.WeaponType">Objects.WeaponType</a></td>
<td class="summary">Objects.WeaponType constants.</td>
<td class="summary">Table of Objects.WeaponType constants.</td>
</tr>
</table>
@ -134,10 +135,10 @@
</dt>
<dd>
<p>Objects.WeaponType constants. To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetWeaponType">Objects.LaraObject.GetWeaponType</a> and <a href="../2 classes/Objects.LaraObject.html#LaraObject:SetWeaponType">Objects.LaraObject.SetWeaponType</a> functions.</p>
<p>Table of Objects.WeaponType constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetWeaponType">Objects.LaraObject.GetWeaponType</a> and <a href="../2 classes/Objects.LaraObject.html#LaraObject:SetWeaponType">Objects.LaraObject.SetWeaponType</a> functions.</p>
<p> Note that this enumeration also contains flare and torch - these are counted as "weapon" internally by the engine, and indicate
an object that is currently in Lara's hands.</p>
<p> Note that this table also contains the flare and torch, as they are internally counted as "weapons" the engine.</p>
<ul>
<li><code>NONE</code></li>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>

View file

@ -82,6 +82,7 @@
<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>
@ -196,7 +197,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.LaraObject.html">Objects.LaraObject</a></td>
<td class="summary">Class for extra Lara-only functions.</td>
<td class="summary">Class for extra player-only functions.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Moveable.html">Objects.Moveable</a></td>
@ -208,7 +209,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Sink.html">Objects.Sink</a></td>
<td class="summary">Sink</td>
<td class="summary">Represents a sink object.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.SoundSource.html">Objects.SoundSource</a></td>
@ -304,6 +305,10 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="4 enums/Objects.AmmoType.html">Objects.AmmoType</a></td>
<td class="summary">Constants for player weapon ammo types.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Objects.HandStatus.html">Objects.HandStatus</a></td>
<td class="summary">Constants for player hand statuses.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Objects.WeaponType.html">Objects.WeaponType</a></td>
<td class="summary">Constants for weapon types.</td>

View file

@ -687,7 +687,7 @@ int GlobalItemReplace(short search, GAME_OBJECT_ID replace)
const std::string& GetObjectName(GAME_OBJECT_ID objectID)
{
for (auto it = kObjIDs.begin(); it != kObjIDs.end(); ++it)
for (auto it = GAME_OBJECT_IDS.begin(); it != GAME_OBJECT_IDS.end(); ++it)
{
if (it->second == objectID)
return it->first;

View file

@ -1,12 +1,11 @@
#pragma once
#include <string>
struct SinkInfo
{
std::string Name = {};
Vector3 Position = Vector3::Zero;
int Strength = 0;
int BoxIndex = 0;
std::string Name = {};
SinkInfo()
{

View file

@ -17,7 +17,6 @@ static constexpr char ScriptReserved_Effects[] = "Effects";
// Classes
static constexpr char ScriptReserved_Camera[] = "Camera";
static constexpr char ScriptReserved_Sink[] = "Sink";
static constexpr char ScriptReserved_SoundSource[] = "SoundSource";
static constexpr char ScriptReserved_AIObject[] = "AIObject";
static constexpr char ScriptReserved_Volume[] = "Volume";
@ -369,7 +368,8 @@ static constexpr char ScriptReserved_GetDisplayPosition[] = "GetDisplayPositio
static constexpr char ScriptReserved_GetCursorDisplayPosition[] = "GetCursorDisplayPosition"; // Deprecated
static constexpr char ScriptReserved_GetMouseDisplayPosition[] = "GetMouseDisplayPosition";
// Enums
// Tables
static constexpr char ScriptReserved_ObjID[] = "ObjID";
static constexpr char ScriptReserved_BlendID[] = "BlendID";
static constexpr char ScriptReserved_EffectID[] = "EffectID";
@ -418,6 +418,16 @@ constexpr char ScriptReserved_RoomSetFlag[] = "SetFlag";
constexpr char ScriptReserved_RoomSetName[] = "SetName";
constexpr char ScriptReserved_RoomSetReverbType[] = "SetReverbType";
// Sink
constexpr char ScriptReserved_Sink[] = "Sink";
constexpr char ScriptReserved_SinkGetName[] = "GetName";
constexpr char ScriptReserved_SinkGetPosition[] = "GetPosition";
constexpr char ScriptReserved_SinkGetStrength[] = "GetStrength";
constexpr char ScriptReserved_SinkSetName[] = "SetName";
constexpr char ScriptReserved_SinkSetPosition[] = "SetPosition";
constexpr char ScriptReserved_SinkSetStrength[] = "SetStrength";
// Static
constexpr char ScriptReserved_Static[] = "Static";
@ -433,7 +443,7 @@ constexpr char ScriptReserved_StaticGetScale[] = "GetScale";
constexpr char ScriptReserved_StaticGetSlot[] = "GetSlot";
constexpr char ScriptReserved_StaticGetSolid[] = "GetSolid";
constexpr char ScriptReserved_StaticSetColor[] = "SetColor";
constexpr char ScriptReserved_StaticSetHitPoints[] = "SetHP";
constexpr char ScriptReserved_StaticSetHitPoints[] = "SetHP";
constexpr char ScriptReserved_StaticSetName[] = "SetName";
constexpr char ScriptReserved_StaticSetPosition[] = "SetPosition";
constexpr char ScriptReserved_StaticSetRotation[] = "SetRotation";

View file

@ -1,39 +1,43 @@
#pragma once
#include <string>
#include <unordered_map>
#include "Renderer/RendererEnums.h"
/***
Constants for blend mode IDs.
@enum Effects.BlendID
@pragma nostrip
*/
/// Constants for blend mode IDs.
// @enum Effects.BlendID
// @pragma nostrip
/*** Table of Effects.BlendID constants (for use with particles).
/// Table of Effects.BlendID constants.
//
// - `OPAQUE`
// - `ALPHA_TEST`
// - `ADDITIVE`
// - `NO_DEPTH_TEST`
// - `SUBTRACTIVE`
// - `EXCLUDE`
// - `SCREEN`
// - `LIGHTEN`
// - `ALPHA_BLEND`
//
// @table Effects.BlendID
- `OPAQUE`
- `ALPHATEST`
- `ADDITIVE`
- `SUBTRACTIVE`
- `EXCLUDE`
- `SCREEN`
- `LIGHTEN`
- `ALPHABLEND`
@table Effects.BlendID
*/
static const std::unordered_map<std::string, BlendMode> BLEND_IDS
namespace TEN::Scripting::Effects
{
{ "OPAQUE", BlendMode::Opaque },
{ "ALPHATEST", BlendMode::AlphaTest },
{ "ADDITIVE", BlendMode::Additive },
{ "NOZTEST", BlendMode::NoDepthTest },
{ "SUBTRACTIVE", BlendMode::Subtractive },
{ "WIREFRAME", BlendMode::Wireframe },
{ "EXCLUDE", BlendMode::Exclude },
{ "SCREEN", BlendMode::Screen },
{ "LIGHTEN", BlendMode::Lighten },
{ "ALPHABLEND", BlendMode::AlphaBlend }
};
static const auto BLEND_IDS = std::unordered_map<std::string, BlendMode>
{
{ "OPAQUE", BlendMode::Opaque },
{ "ALPHA_TEST", BlendMode::AlphaTest },
{ "ADDITIVE", BlendMode::Additive },
{ "NO_DEPTH_TEST", BlendMode::NoDepthTest },
{ "SUBTRACTIVE", BlendMode::Subtractive },
{ "WIREFRAME", BlendMode::Wireframe },
{ "EXCLUDE", BlendMode::Exclude },
{ "SCREEN", BlendMode::Screen },
{ "LIGHTEN", BlendMode::Lighten },
{ "ALPHA_BLEND", BlendMode::AlphaBlend },
// COMPATIBILITY
{ "ALPHATEST", BlendMode::AlphaTest },
{ "NOZTEST", BlendMode::NoDepthTest },
{ "ALPHABLEND", BlendMode::AlphaBlend }
};
}

View file

@ -1,37 +1,39 @@
#pragma once
#include <string>
#include <unordered_map>
#include "Game/items.h"
/***
Constants for effect IDs.
@enum Effects.EffectID
@pragma nostrip
*/
/// Constants for effect IDs.
// @enum Effects.EffectID
// @pragma nostrip
/*** Table of Effects.EffectID constants.
To be used with @{Objects.Moveable.SetEffect} and @{Objects.Moveable.GetEffect} functions.
/// Table of Effects.EffectID constants.
// To be used with @{Objects.Moveable.SetEffect} and @{Objects.Moveable.GetEffect} functions.
//
// - `NONE`
// - `FIRE`
// - `SPARKS`
// - `SMOKE`
// - `ELECTRIC_IGNITE`
// - `RED_IGNITE`
// - `CADAVER`
// - `CUSTOM`
//
// @table Effects.EffectID
- `NONE`
- `FIRE`
- `SPARKS`
- `SMOKE`
- `ELECTRICIGNITE`
- `REDIGNITE`
- `CADAVER`
- `CUSTOM`
@table Effects.EffectID
*/
static const std::unordered_map<std::string, EffectType> EFFECT_IDS
namespace TEN::Scripting::Effects
{
{ "NONE", EffectType::None },
{ "FIRE", EffectType::Fire },
{ "SPARKS", EffectType::Sparks },
{ "SMOKE", EffectType::Smoke},
{ "ELECTRICIGNITE", EffectType::ElectricIgnite },
{ "REDIGNITE", EffectType::RedIgnite },
{ "CUSTOM", EffectType::Custom }
};
static const auto EFFECT_IDS = std::unordered_map<std::string, EffectType>
{
{ "NONE", EffectType::None },
{ "FIRE", EffectType::Fire },
{ "SPARKS", EffectType::Sparks },
{ "SMOKE", EffectType::Smoke},
{ "ELECTRIC_IGNITE", EffectType::ElectricIgnite },
{ "RED_IGNITE", EffectType::RedIgnite },
{ "CUSTOM", EffectType::Custom },
// COMPATIBILITY
{ "ELECTRICIGNITE", EffectType::ElectricIgnite },
{ "REDIGNITE", EffectType::RedIgnite }
};
}

View file

@ -38,6 +38,7 @@ using namespace TEN::Effects::Environment;
using namespace TEN::Effects::Explosion;
using namespace TEN::Effects::Spark;
using namespace TEN::Math;
using namespace TEN::Scripting::Types;
namespace TEN::Scripting::Effects
{

View file

@ -4,5 +4,5 @@ namespace sol { class state; };
namespace TEN::Scripting::Effects
{
void Register(sol::state* lua, sol::table&);
void Register(sol::state* lua, sol::table& parent);
};

View file

@ -1,6 +1,10 @@
#include "framework.h"
#include "Fog.h"
#include "Scripting/Internal/TEN/Types/Color/Color.h"
using namespace TEN::Scripting::Types;
/***
Distance fog.

View file

@ -4,6 +4,10 @@
namespace sol { class state; }
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
struct Fog
{
bool Enabled{ false };

View file

@ -2,9 +2,12 @@
#include "Scripting/Internal/TEN/Flow/LensFlare/LensFlare.h"
#include "Objects/game_object_ids.h"
#include "Scripting/Internal/TEN/Types/Color/Color.h"
#include "Scripting/Internal/TEN/Types/Rotation/Rotation.h"
#include "Specific/level.h"
using namespace TEN::Scripting::Types;
/// Represents a global lens flare (not to be confused with lensflare object).
//
// @tenprimitive Flow.LensFlare

View file

@ -1,4 +1,5 @@
#pragma once
#include "Objects/game_object_ids.h"
#include "Objects/objectslist.h"
#include "Scripting/Internal/TEN/Types/Color/Color.h"
@ -6,6 +7,10 @@
namespace sol { class state; }
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
namespace TEN::Scripting
{
class LensFlare

View file

@ -7,6 +7,7 @@
#include "Scripting/Internal/ScriptUtil.h"
using namespace TEN::Effects::Hair;
using namespace TEN::Scripting::Types;
namespace TEN::Scripting
{
@ -46,7 +47,8 @@ namespace TEN::Scripting
SystemSettings::Register(parent);
WeaponSettings::Register(parent);
parent.new_usertype<Settings>(ScriptReserved_Settings,
parent.new_usertype<Settings>(
ScriptReserved_Settings,
sol::constructors<Settings()>(),
sol::meta_function::new_index, NewIndexErrorMaker(Settings, ScriptReserved_Settings),
ScriptReserved_AnimSettings, &Settings::Animations,

View file

@ -6,6 +6,8 @@
#include "Scripting/Internal/TEN/Types/Vec3/Vec3.h"
#include "Specific/clock.h"
using namespace TEN::Scripting::Types;
namespace TEN::Scripting
{
struct AnimSettings

View file

@ -1,6 +1,12 @@
#include "framework.h"
#include "SkyLayer.h"
#include "Scripting/Internal/TEN/Types/Color/Color.h"
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
/*** Describes a layer of moving clouds.
As seen in TR4's City of the Dead.

View file

@ -2,9 +2,11 @@
#include "Scripting/Internal/TEN/Types/Color/Color.h"
namespace sol {
class state;
}
namespace sol { class state; }
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
struct SkyLayer
{

View file

@ -17,6 +17,7 @@
#include "Scripting/Internal/TEN/Types/Vec3/Vec3.h"
using namespace TEN::Effects::Electricity;
using namespace TEN::Scripting::Types;
/***
Saving data, triggering functions, and callbacks for level-specific scripts.
@ -42,7 +43,16 @@ enum class CallbackPoint
PostFreeze
};
static const std::unordered_map<std::string, CallbackPoint> CALLBACK_POINTS
enum class LevelEndReason
{
LevelComplete,
LoadGame,
ExitToTitle,
Death,
Other
};
static const auto CALLBACK_POINTS = std::unordered_map<std::string, CallbackPoint>
{
{ ScriptReserved_PreStart, CallbackPoint::PreStart },
{ ScriptReserved_PostStart, CallbackPoint::PostStart },
@ -62,7 +72,7 @@ static const std::unordered_map<std::string, CallbackPoint> CALLBACK_POINTS
{ ScriptReserved_PostFreeze, CallbackPoint::PostFreeze }
};
static const std::unordered_map<std::string, EventType> EVENT_TYPES
static const auto EVENT_TYPES = std::unordered_map<std::string, EventType>
{
{ ScriptReserved_EventOnEnter, EventType::Enter },
{ ScriptReserved_EventOnInside, EventType::Inside },
@ -76,16 +86,7 @@ static const std::unordered_map<std::string, EventType> EVENT_TYPES
{ ScriptReserved_EventOnFreeze, EventType::Freeze }
};
enum class LevelEndReason
{
LevelComplete,
LoadGame,
ExitToTitle,
Death,
Other
};
static const std::unordered_map<std::string, LevelEndReason> LEVEL_END_REASONS
static const auto LEVEL_END_REASONS = std::unordered_map<std::string, LevelEndReason>
{
{ ScriptReserved_EndReasonLevelComplete, LevelEndReason::LevelComplete },
{ ScriptReserved_EndReasonLoadGame, LevelEndReason::LoadGame },

View file

@ -1,48 +1,49 @@
#pragma once
#include "Game/Lara/lara_struct.h"
/***
Constants for player weapon ammo types.
@enum Objects.AmmoType
@pragma nostrip
*/
/// Constants for player weapon ammo types.
// @enum Objects.AmmoType
// @pragma nostrip
/*** Table of Objects.AmmoType constants.
To be used with @{Objects.LaraObject.GetAmmoType} function.
/// Table of Objects.AmmoType constants.
// To be used with @{Objects.LaraObject.GetAmmoType} function.
//
// - `NONE`
// - `PISTOLS`
// - `REVOLVER`
// - `UZI`
// - `SHOTGUN_NORMAL`
// - `SHOTGUN_WIDE`
// - `HK`
// - `CROSSBOW_BOLT_NORMAL`
// - `CROSSBOW_BOLT_POISON`
// - `CROSSBOW_BOLT_EXPLOSIVE`
// - `GRENADE_NORMAL`
// - `GRENADE_FRAG`
// - `GRENADE_FLASH`
// - `HARPOON`
// - `ROCKET`
//
// @table Objects.AmmoType
- `NONE`
- `PISTOLS`
- `REVOLVER`
- `UZI`
- `SHOTGUN_NORMAL`
- `SHOTGUN_WIDE`
- `HK`
- `CROSSBOW_BOLT_NORMAL`
- `CROSSBOW_BOLT_POISON`
- `CROSSBOW_BOLT_EXPLOSIVE`
- `GRENADE_NORMAL`
- `GRENADE_FRAG`
- `GRENADE_FLASH`
- `HARPOON`
- `ROCKET`
@table Objects.AmmoType
*/
static const std::unordered_map<std::string, PlayerAmmoType> AMMO_TYPES
namespace TEN::Scripting
{
{ "PISTOLS", PlayerAmmoType::Pistol },
{ "REVOLVER", PlayerAmmoType::Revolver },
{ "UZI", PlayerAmmoType::Uzi },
{ "SHOTGUN_NORMAL", PlayerAmmoType::ShotgunNormal },
{ "SHOTGUN_WIDE", PlayerAmmoType::ShotgunWide },
{ "HK", PlayerAmmoType::HK },
{ "BOLT_NORMAL", PlayerAmmoType::CrossbowBoltNormal },
{ "BOLT_POISON", PlayerAmmoType::CrossbowBoltPoison },
{ "BOLT_EXPLOSIVE", PlayerAmmoType::CrossbowBoltExplosive },
{ "GRENADE_NORMAL", PlayerAmmoType::GrenadeNormal },
{ "GRENADE_FRAG", PlayerAmmoType::GrenadeFrag },
{ "GRENADE_FLASH", PlayerAmmoType::GrenadeFlash },
{ "HARPOON", PlayerAmmoType::Harpoon },
{ "ROCKET", PlayerAmmoType::Rocket }
};
static const auto AMMO_TYPES = std::unordered_map<std::string, PlayerAmmoType>
{
{ "PISTOLS", PlayerAmmoType::Pistol },
{ "REVOLVER", PlayerAmmoType::Revolver },
{ "UZI", PlayerAmmoType::Uzi },
{ "SHOTGUN_NORMAL", PlayerAmmoType::ShotgunNormal },
{ "SHOTGUN_WIDE", PlayerAmmoType::ShotgunWide },
{ "HK", PlayerAmmoType::HK },
{ "BOLT_NORMAL", PlayerAmmoType::CrossbowBoltNormal },
{ "BOLT_POISON", PlayerAmmoType::CrossbowBoltPoison },
{ "BOLT_EXPLOSIVE", PlayerAmmoType::CrossbowBoltExplosive },
{ "GRENADE_NORMAL", PlayerAmmoType::GrenadeNormal },
{ "GRENADE_FRAG", PlayerAmmoType::GrenadeFrag },
{ "GRENADE_FLASH", PlayerAmmoType::GrenadeFlash },
{ "HARPOON", PlayerAmmoType::Harpoon },
{ "ROCKET", PlayerAmmoType::Rocket }
};
}

View file

@ -0,0 +1,36 @@
#pragma once
#include "Game/Lara/lara_struct.h"
/// Constants for player hand statuses.
// @enum Objects.HandStatus
// @pragma nostrip
/// Table of Objects.HandStatus constants.
// To be used with @{Objects.LaraObject.GetAmmoType} function.
//
// - `FREE`
// - `BUSY`
// - `WEAPON_DRAW`
// - `WEAPON_READY`
// - `SPECIAL`
//
// @table Objects.HandStatus
namespace TEN::Scripting
{
static const auto HAND_STATUSES = std::unordered_map<std::string, HandStatus>
{
{ "FREE", HandStatus::Free },
{ "BUSY", HandStatus::Busy },
{ "WEAPON_DRAW", HandStatus::WeaponDraw },
{ "WEAPON_UNDRAW", HandStatus::WeaponUndraw },
{ "WEAPON_READY", HandStatus::WeaponReady },
{ "SPECIAL", HandStatus::Special },
// COMPATIBILITY
{ "WEAPONDRAW", HandStatus::WeaponDraw },
{ "WEAPONUNDRAW", HandStatus::WeaponUndraw },
{ "WEAPONREADY", HandStatus::WeaponReady }
};
}

View file

@ -2,30 +2,27 @@
#include "LaraObject.h"
#include "Game/camera.h"
#include "Game/effects/item_fx.h"
#include "Game/Lara/lara.h"
#include "Game/Lara/lara_fire.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_struct.h"
#include "Objects/Generic/Object/burning_torch.h"
#include "Game/effects/item_fx.h"
#include "Specific/level.h"
#include "Scripting/Internal/ReservedScriptNames.h"
#include "Scripting/Internal/TEN/Objects/Lara/AmmoTypes.h"
#include "Specific/level.h"
/***
Class for extra Lara-only functions.
Do not try to create an object of this type; use the built-in *Lara* variable instead.
In addition, LaraObject inherits all the functions of @{Objects.Moveable|Moveable}.
@tenclass Objects.LaraObject
@pragma nostrip
*/
/// Class for extra player-only functions.
// Do not try to create an object of this type. Use the built-in *Lara* variable instead.
// LaraObject inherits all the functions of @{Objects.Moveable|Moveable}.
//
// @tenclass Objects.LaraObject
// @pragma nostrip
constexpr auto LUA_CLASS_NAME{ ScriptReserved_LaraObject };
using namespace TEN::Entities::Generic;
/// Set Lara poison
/// Set player poison.
// @function LaraObject:SetPoison
// @tparam[opt] int Poison; maximum value is 128 (default 0)
// @usage
@ -35,9 +32,13 @@ void LaraObject::SetPoison(sol::optional<int> potency)
auto* lara = GetLaraInfo(_moveable);
if (potency.has_value())
{
lara->Status.Poison = std::clamp(potency.value(), 0, (int)LARA_POISON_MAX);
}
else
{
lara->Status.Poison = 0;
}
}
/// Get poison potency of Lara

View file

@ -1,21 +1,14 @@
#pragma once
#include "Game/Lara/lara_struct.h"
#include "Scripting/Internal/TEN/Objects/Moveable/MoveableObject.h"
static const std::unordered_map<std::string, HandStatus> HandStatusMap
{
{ "FREE", HandStatus::Free },
{ "BUSY", HandStatus::Busy },
{ "WEAPONDRAW", HandStatus::WeaponDraw },
{ "WEAPONUNDRAW", HandStatus::WeaponUndraw },
{ "WEAPONREADY", HandStatus::WeaponReady },
{ "SPECIAL", HandStatus::Special }
};
// TODO: Organise.
class LaraObject : public Moveable
{
public:
static void Register(sol::table& parent);
void SetPoison(sol::optional<int> potency);
int GetPoison() const;
void SetAir(sol::optional<int> air);
@ -24,7 +17,7 @@ public:
int GetStamina() const;
void SetWet(sol::optional<int> wetness);
int GetWet() const;
[[nodiscard]] bool GetAirborne() const;
bool GetAirborne() const;
void SetAirborne(bool newAirborne);
std::unique_ptr<Moveable> GetVehicle() const;
std::unique_ptr<Moveable> GetTarget() const;
@ -37,6 +30,5 @@ public:
void UndrawWeapon();
void ThrowAwayTorch();
bool TorchIsLit() const;
static void Register(sol::table& parent);
using Moveable::Moveable;
};

View file

@ -1,5 +1,4 @@
#pragma once
#include "framework.h"
#include "Game/control/control.h"
#include "Game/Lara/lara_struct.h"
@ -8,10 +7,10 @@
// @enum Objects.WeaponType
// @pragma nostrip
/// Objects.WeaponType constants. To be used with @{Objects.LaraObject.GetWeaponType} and @{Objects.LaraObject.SetWeaponType} functions.
/// Table of Objects.WeaponType constants.
// To be used with @{Objects.LaraObject.GetWeaponType} and @{Objects.LaraObject.SetWeaponType} functions.
//
// Note that this enumeration also contains flare and torch - these are counted as "weapon" internally by the engine, and indicate
// an object that is currently in Lara's hands.
// Note that this table also contains the flare and torch, as they are internally counted as "weapons" the engine.
//
// - `NONE`
// - `PISTOLS`

View file

@ -24,6 +24,7 @@
using namespace TEN::Collision::Floordata;
using namespace TEN::Effects::Items;
using namespace TEN::Math;
using namespace TEN::Scripting::Types;
/// Represents a moveable object in the game world.
// Examples include the player, traps, enemies, doors, and pickups. See also @{Objects.LaraObject} for player-specific features.

View file

@ -11,12 +11,13 @@ enum GAME_OBJECT_ID : short;
enum ItemStatus;
enum class EffectType;
class LevelFunc;
class ScriptColor;
class Vec3;
struct ItemInfo;
namespace TEN::Scripting { class Rotation; };
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting;
using namespace TEN::Scripting::Types;
using aiBitsArray = std::array<int, 6>;
using aiBitsType = sol::as_table_t<aiBitsArray>;

View file

@ -6,32 +6,34 @@ template <typename S> using callbackSetName = std::function<bool(const std::stri
using callbackRemoveName = std::function<bool(const std::string&)>;
// Use the "curiously recurring template pattern" to allow classes to inherit static members and functions.
// T is the class that will both derive and instantiate this base class. S is the type used inside GameScriptWhateverInfo
// to actually reference the underlying TombEngine struct.
template <typename T, class S> class NamedBase
// TLuaObj: Lua object that derives and instantiates this base class.
// TEngineObj: Engine object referenced by the Lua object.
template <typename TLuaObj, class TEngineObj> class NamedBase
{
public:
static void SetNameCallbacks(callbackSetName<S> cbs, callbackRemoveName cbr)
{
_callbackSetName = cbs;
_callbackRemoveName = cbr;
}
protected:
static callbackSetName<S> _callbackSetName;
static callbackRemoveName _callbackRemoveName;
static callbackSetName<TEngineObj> _callbackSetName;
static callbackRemoveName _callbackRemoveName;
public:
static void SetNameCallbacks(callbackSetName<TEngineObj> cbSetName, callbackRemoveName cbRemoveName)
{
_callbackSetName = cbSetName;
_callbackRemoveName = cbRemoveName;
}
};
// Default callbacks.
template <typename T, typename S> callbackSetName<S> NamedBase<T, S>::_callbackSetName = [](const std::string& name, S identifier)
template <typename TLuaObj, typename TEngineObj> callbackSetName<TEngineObj>
NamedBase<TLuaObj, TEngineObj>::_callbackSetName = [](const std::string& name, TEngineObj identifier)
{
auto err = std::string("\"Set Name\" callback is not set.");
throw TENScriptException(err);
return false;
};
// This could potentially be called by the GameScriptItemInfo destructor, and thus cannot throw.
template <typename T, typename S> callbackRemoveName NamedBase<T, S>::_callbackRemoveName = [](const std::string& name)
// NOTE: Could potentially be called by GameScriptItemInfo destructor and thus cannot throw.
template <typename TLuaObj, typename TEngineObj> callbackRemoveName
NamedBase<TLuaObj, TEngineObj>::_callbackRemoveName = [](const std::string& name)
{
TENLog("\"Remove Name\" callback is not set.", LogLevel::Error);
std::terminate();

View file

@ -1196,7 +1196,8 @@ Table of constants.
@table PickupConstants
*/
static const std::unordered_map<std::string, GAME_OBJECT_ID> kObjIDs{
static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_ID>
{
{ "LARA", ID_LARA },
{ "LARA_EXTRA_ANIMS", ID_LARA_EXTRA_ANIMS },
{ "PISTOLS_ANIM", ID_PISTOLS_ANIM },

View file

@ -8,6 +8,7 @@
#include "Scripting/Internal/ReservedScriptNames.h"
#include "Scripting/Internal/TEN/Objects/Camera/CameraObject.h"
#include "Scripting/Internal/TEN/Objects/Lara/AmmoTypes.h"
#include "Scripting/Internal/TEN/Objects/Lara/HandStatuses.h"
#include "Scripting/Internal/TEN/Objects/Lara/LaraObject.h"
#include "Scripting/Internal/TEN/Objects/Lara/WeaponTypes.h"
#include "Scripting/Internal/TEN/Objects/Moveable/MoveableStatuses.h"
@ -19,6 +20,8 @@
#include "Scripting/Internal/TEN/Objects/SoundSource/SoundSourceObject.h"
#include "Scripting/Internal/TEN/Objects/Volume/VolumeObject.h"
using namespace TEN::Scripting::Objects;
/// Objects including moveables, statics, cameras, and others.
// @tentable Objects
// @pragma nostrip
@ -160,12 +163,12 @@ ObjectsHandler::ObjectsHandler(sol::state* lua, sol::table& parent) :
[this](auto && ... param) { return AddName(std::forward<decltype(param)>(param)...); },
[this](auto && ... param) { return RemoveName(std::forward<decltype(param)>(param)...); });
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_ObjID, kObjIDs);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_ObjID, GAME_OBJECT_IDS);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_RoomFlagID, ROOM_FLAG_IDS);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_RoomReverb, ROOM_REVERB_TYPES);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_WeaponType, WEAPON_TYPES);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_AmmoType, AMMO_TYPES);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_HandStatus, HandStatusMap);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_HandStatus, HAND_STATUSES);
_handler.MakeReadOnlyTable(_table_objects, ScriptReserved_MoveableStatus, MOVEABLE_STATUSES);
}

View file

@ -13,6 +13,8 @@
#include "Specific/level.h"
#include "Specific/trutils.h"
using namespace TEN::Scripting::Types;
/// Room object.
// @tenclass Objects.Room
// @pragma nostrip

View file

@ -4,9 +4,12 @@
#include "Scripting/Internal/TEN/Objects/NamedBase.h"
namespace sol { class state; }
enum class ReverbType;
class ScriptColor;
class Vec3;
class Vec3;
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
//namespace TEN::Scripting
//{

View file

@ -1,107 +1,106 @@
#pragma once
#include "framework.h"
#include "SinkObject.h"
#include "Scripting/Internal/TEN/Objects/Sink/SinkObject.h"
#include "Scripting/Internal/ReservedScriptNames.h"
#include "Scripting/Internal/ScriptAssert.h"
#include "Scripting/Internal/ScriptUtil.h"
#include "Scripting/Internal/TEN/Types/Vec3/Vec3.h"
/***
Sink
/// Represents a sink object.
//
// @tenclass Objects.Sink
// @pragma nostrip
@tenclass Objects.Sink
@pragma nostrip
*/
static auto IndexError = IndexErrorMaker(Sink, ScriptReserved_Sink);
static auto NewIndexError = NewIndexErrorMaker(Sink, ScriptReserved_Sink);
Sink::Sink(SinkInfo& ref) : m_sink{ref}
{};
void Sink::Register(sol::table& parent)
namespace TEN::Scripting::Objects
{
parent.new_usertype<Sink>(ScriptReserved_Sink,
sol::no_constructor, // ability to spawn new ones could be added later
sol::meta_function::index, IndexError,
sol::meta_function::new_index, NewIndexError,
static auto IndexError = IndexErrorMaker(Sink, ScriptReserved_Sink);
static auto NewIndexError = NewIndexErrorMaker(Sink, ScriptReserved_Sink);
/// Get the sink's position
// @function Sink:GetPosition
// @treturn Vec3 a copy of the sink's position
ScriptReserved_GetPosition, &Sink::GetPos,
/// Set the sink's position
// @function Sink:SetPosition
// @tparam Vec3 position the new position of the sink
ScriptReserved_SetPosition, &Sink::SetPos,
/// Get the sink's unique string identifier
// e.g. "strong\_river\_current" or "propeller\_death\_sink"
// @function Sink:GetName
// @treturn string the sink's name
ScriptReserved_GetName, &Sink::GetName,
/// Set the sink's name (its unique string identifier)
// @function Sink:SetName
// @tparam string name The sink's new name
ScriptReserved_SetName, &Sink::SetName,
/// Get the sink's strength
// @function Sink:GetStrength
// @treturn int the sink's current strength
ScriptReserved_GetStrength, &Sink::GetStrength,
/// Set the strength of the sink
// Higher numbers provide stronger currents. Will be clamped to [1, 32].
// @function Sink:SetStrength
// @tparam int strength The sink's new strength
ScriptReserved_SetStrength, &Sink::SetStrength
);
}
Vec3 Sink::GetPos() const
{
return Vec3(m_sink.Position);
}
void Sink::SetPos(const Vec3& pos)
{
m_sink.Position = Vector3(pos.x, pos.y, pos.z);
}
std::string Sink::GetName() const
{
return m_sink.Name;
}
void Sink::SetName(const std::string& id)
{
if (!ScriptAssert(!id.empty(), "Name cannot be blank. Not setting name."))
Sink::Sink(SinkInfo& sink) :
_sink(sink)
{
return;
};
void Sink::Register(sol::table& parent)
{
parent.new_usertype<Sink>(
ScriptReserved_Sink,
sol::no_constructor, // TODO: Add feature to spawn sinks.
sol::meta_function::index, IndexError,
sol::meta_function::new_index, NewIndexError,
ScriptReserved_SinkGetName, &Sink::GetName,
ScriptReserved_SinkGetPosition, &Sink::GetPosition,
ScriptReserved_SinkGetStrength, &Sink::GetStrength,
ScriptReserved_SinkSetName, &Sink::SetName,
ScriptReserved_SinkSetPosition, &Sink::SetPosition,
ScriptReserved_SinkSetStrength, &Sink::SetStrength);
}
if (_callbackSetName(id, m_sink))
/// Get this sink's unique string identifier.
// @function Sink:GetName
// @treturn string Name.
std::string Sink::GetName() const
{
// remove the old name if we have one
_callbackRemoveName(m_sink.Name);
m_sink.Name = id;
return _sink.Name;
}
else
/// Get this sink's world position.
// @function Sink:GetPosition
// @treturn Vec3 World position.
Vec3 Sink::GetPosition() const
{
ScriptAssertF(false, "Could not add name {} - does an object with this name already exist?", id);
TENLog("Name will not be set", LogLevel::Warning, LogConfig::All);
return Vec3(_sink.Position);
}
/// Get this sink's strength.
// @function Sink:GetStrength
// @treturn int Strength.
int Sink::GetStrength() const
{
return _sink.Strength;
}
/// Set this sink's unique string identifier.
// @function Sink:SetName
// @tparam string name New name.
void Sink::SetName(const std::string& name)
{
if (!ScriptAssert(!name.empty(), "Name cannot be blank. Not setting name."))
return;
if (_callbackSetName(name, _sink))
{
_callbackRemoveName(_sink.Name);
_sink.Name = name;
}
else
{
ScriptAssertF(false, "Could not add name {} - object with this name may already exist.", name);
TENLog("Name will not be set.", LogLevel::Warning, LogConfig::All);
}
}
/// Set this sink's world position.
// @function Sink:SetPosition
// @tparam Vec3 pos New world position.
void Sink::SetPosition(const Vec3& pos)
{
_sink.Position = pos.ToVector3();
}
/// Set this sink's strength.
// Higher numbers provide stronger currents. Clamped to the range [1, 32].
// @function Sink:SetStrength
// @tparam int strength New strength.
void Sink::SetStrength(int strength)
{
constexpr auto STRENGTH_MAX = 32;
constexpr auto STRENGTH_MIN = 1;
_sink.Strength = std::clamp(strength, STRENGTH_MIN, STRENGTH_MAX);
}
}
int Sink::GetStrength() const
{
return m_sink.Strength;
}
void Sink::SetStrength(int strength)
{
m_sink.Strength = std::clamp(strength, 1, 32);
}

View file

@ -1,31 +1,49 @@
#pragma once
#include "Scripting/Internal/TEN/Objects/NamedBase.h"
#include "Objects/Sink.h"
#include "Math/Math.h"
#include "Scripting/Internal/TEN/Objects/NamedBase.h"
namespace sol { class state; }
class Vec3;
class Sink : public NamedBase<Sink, SinkInfo &>
namespace TEN::Scripting::Objects
{
public:
using IdentifierType = std::reference_wrapper<SinkInfo>;
Sink(SinkInfo& ref);
~Sink() = default;
class Sink : public NamedBase<Sink, SinkInfo&>
{
public:
static void Register(sol::table& parent);
Sink& operator =(const Sink& other) = delete;
Sink(Sink const& other) = delete;
private:
// Fields
static void Register(sol::table& parent);
Vec3 GetPos() const;
void SetPos(const Vec3& pos);
SinkInfo& _sink;
int GetStrength() const;
void SetStrength(int strength);
public:
// Aliases
std::string GetName() const;
void SetName(const std::string&);
using IdentifierType = std::reference_wrapper<SinkInfo>;
private:
SinkInfo& m_sink;
};
// Constructors, destructors
Sink(SinkInfo& sink);
Sink(const Sink& sink) = delete;
~Sink() = default;
// Getters
std::string GetName() const;
Vec3 GetPosition() const;
int GetStrength() const;
// Setters
void SetName(const std::string& name);
void SetPosition(const Vec3& pos);
void SetStrength(int strength);
// Operators
Sink& operator =(const Sink& other) = delete;
};
}

View file

@ -9,6 +9,8 @@
#include "Scripting/Internal/TEN/Types/Rotation/Rotation.h"
#include "Scripting/Internal/TEN/Types/Vec3/Vec3.h"
using namespace TEN::Scripting::Types;
/// Represents a static object in the game world.
//
// @tenclass Objects.Static

View file

@ -5,8 +5,10 @@
namespace sol { class state; }
class ScriptColor;
class Vec3;
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
namespace TEN::Scripting
{

View file

@ -5,8 +5,11 @@
#include "Scripting/Internal/ScriptAssert.h"
#include "Scripting/Internal/ScriptUtil.h"
#include "Scripting/Internal/TEN/Strings/DisplayString/DisplayString.h"
#include "Scripting/Internal/TEN/Types/Color/Color.h"
#include "Scripting/Internal/TEN/Types/Vec2/Vec2.h"
using namespace TEN::Scripting::Types;
/*** A string appearing on the screen.
Can be used for subtitles and "2001, somewhere in Egypt"-style messages.

View file

@ -4,6 +4,10 @@
#include "Scripting/Internal/TEN/Types/Color/Color.h"
#include "Scripting/Internal/TEN/Types/Vec2/Vec2.h"
namespace TEN::Scripting::Types { class ScriptColor; }
using namespace TEN::Scripting::Types;
/***
Constants for Display String Options.
@enum Strings.DisplayStringOption

View file

@ -1,6 +1,4 @@
#pragma once
#include <optional>
#include <unordered_map>
#include "Scripting/Internal/LuaHandler.h"
#include "Scripting/Internal/TEN/Strings/DisplayString/DisplayString.h"
@ -8,9 +6,7 @@
using DisplayStringMap = std::unordered_map<DisplayStringID, UserDisplayString>;
class StringsHandler :
public LuaHandler,
public ScriptInterfaceStringsHandler
class StringsHandler : public LuaHandler, public ScriptInterfaceStringsHandler
{
private:
DisplayStringMap m_userDisplayStrings{};

View file

@ -2,146 +2,149 @@
#include "Scripting/Internal/TEN/Types/Color/Color.h"
/// Represents an RGBA or RGB color.
// Components are specified in bytes. All values are clamped to the range [0, 255].
// Components are specified as values clamped to the range [0, 255].
//
// @tenprimitive Color
// @pragma nostrip
void ScriptColor::Register(sol::table& parent)
namespace TEN::Scripting::Types
{
using ctors = sol::constructors<ScriptColor(byte, byte, byte), ScriptColor(byte, byte, byte, byte)>;
void ScriptColor::Register(sol::table& parent)
{
using ctors = sol::constructors<ScriptColor(byte, byte, byte), ScriptColor(byte, byte, byte, byte)>;
// Register type.
parent.new_usertype<ScriptColor>(
"Color",
ctors(),
sol::call_constructor, ctors(),
sol::meta_function::to_string, &ScriptColor::ToString,
// Register type.
parent.new_usertype<ScriptColor>(
"Color",
ctors(),
sol::call_constructor, ctors(),
sol::meta_function::to_string, &ScriptColor::ToString,
/// (int) Red component.
// @mem r
"r", sol::property(&ScriptColor::GetR, &ScriptColor::SetR),
/// (int) Red component.
// @mem r
"r", sol::property(&ScriptColor::GetR, &ScriptColor::SetR),
/// (int) Green component.
// @mem g
"g", sol::property(&ScriptColor::GetG, &ScriptColor::SetG),
/// (int) Green component.
// @mem g
"g", sol::property(&ScriptColor::GetG, &ScriptColor::SetG),
/// (int) Blue component.
// @mem b
"b", sol::property(&ScriptColor::GetB, &ScriptColor::SetB),
/// (int) Blue component.
// @mem b
"b", sol::property(&ScriptColor::GetB, &ScriptColor::SetB),
/// (int) Alpha component (0 = invisible, 255 = opaque).
// @mem a
"a", sol::property(&ScriptColor::GetA, &ScriptColor::SetA));
}
/// @int R red component
// @int G green component
// @int B blue component
// @treturn Color A new Color object.
// @function Color
ScriptColor::ScriptColor(byte r, byte g, byte b) :
_color(r, g, b)
{
}
// @function Color()
// @int R Red component.
// @int G Green component.
// @int B Blue component.
// @int A Alpha component (0 = invisible, 255 = opaque).
// @treturn Color A new Color object.
ScriptColor::ScriptColor(byte r, byte g, byte b, byte a) :
ScriptColor(r, g, b)
{
SetA(a);
}
ScriptColor::ScriptColor(const Vector3& color) :
_color(color)
{
}
ScriptColor::ScriptColor(const Vector4& color) :
_color(color)
{
}
ScriptColor::ScriptColor(D3DCOLOR color) :
_color(color)
{
}
byte ScriptColor::GetR() const
{
return _color.GetR();
}
byte ScriptColor::GetG() const
{
return _color.GetG();
}
byte ScriptColor::GetB() const
{
return _color.GetB();
}
byte ScriptColor::GetA() const
{
return _color.GetA();
}
void ScriptColor::SetR(byte value)
{
_color.SetR(value);
}
void ScriptColor::SetG(byte value)
{
_color.SetG(value);
}
void ScriptColor::SetB(byte value)
{
_color.SetB(value);
}
void ScriptColor::SetA(byte value)
{
_color.SetA(value);
}
/// @tparam Color color This color.
// @treturn string A string representing the r, g, b, and a values of the color.
// @function __tostring
std::string ScriptColor::ToString() const
{
return "{ " + std::to_string(GetR()) + ", " + std::to_string(GetG()) + ", " + std::to_string(GetB()) + ", " + std::to_string(GetA()) + " }";
}
ScriptColor::operator Color() const
{
return _color;
}
ScriptColor::operator Vector3() const
{
return _color;
}
ScriptColor::operator Vector4() const
{
return _color;
}
// NOTE: D3DCOLOR is 32 bits and is laid out as ARGB.
ScriptColor::operator D3DCOLOR() const
{
return _color;
}
ScriptColor::operator RGBAColor8Byte() const
{
return _color;
/// (int) Alpha component (0 = invisible, 255 = opaque).
// @mem a
"a", sol::property(&ScriptColor::GetA, &ScriptColor::SetA));
}
/// @int R red component
// @int G green component
// @int B blue component
// @treturn Color A new Color object.
// @function Color
ScriptColor::ScriptColor(byte r, byte g, byte b) :
_color(r, g, b)
{
}
// @function Color()
// @int R Red component.
// @int G Green component.
// @int B Blue component.
// @int A Alpha component (0 = invisible, 255 = opaque).
// @treturn Color A new Color object.
ScriptColor::ScriptColor(byte r, byte g, byte b, byte a) :
ScriptColor(r, g, b)
{
SetA(a);
}
ScriptColor::ScriptColor(const Vector3& color) :
_color(color)
{
}
ScriptColor::ScriptColor(const Vector4& color) :
_color(color)
{
}
ScriptColor::ScriptColor(D3DCOLOR color) :
_color(color)
{
}
byte ScriptColor::GetR() const
{
return _color.GetR();
}
byte ScriptColor::GetG() const
{
return _color.GetG();
}
byte ScriptColor::GetB() const
{
return _color.GetB();
}
byte ScriptColor::GetA() const
{
return _color.GetA();
}
void ScriptColor::SetR(byte value)
{
_color.SetR(value);
}
void ScriptColor::SetG(byte value)
{
_color.SetG(value);
}
void ScriptColor::SetB(byte value)
{
_color.SetB(value);
}
void ScriptColor::SetA(byte value)
{
_color.SetA(value);
}
/// @tparam Color color This color.
// @treturn string A string representing R, G, B, and A values.
// @function __tostring
std::string ScriptColor::ToString() const
{
return "{" + std::to_string(GetR()) + ", " + std::to_string(GetG()) + ", " + std::to_string(GetB()) + ", " + std::to_string(GetA()) + "}";
}
ScriptColor::operator Color() const
{
return _color;
}
ScriptColor::operator Vector3() const
{
return _color;
}
ScriptColor::operator Vector4() const
{
return _color;
}
// NOTE: D3DCOLOR is 32 bits and is laid out as ARGB.
ScriptColor::operator D3DCOLOR() const
{
return _color;
}
ScriptColor::operator RGBAColor8Byte() const
{
return _color;
}
}

View file

@ -1,55 +1,56 @@
#pragma once
#include "Specific/RGBAColor8Byte.h"
typedef DWORD D3DCOLOR;
namespace sol
namespace sol { class state; }
namespace sol { template <typename T> struct as_table_t; }
namespace TEN::Scripting::Types
{
class state;
template <typename T> struct as_table_t;
class ScriptColor
{
private:
// Fields
RGBAColor8Byte _color;
public:
static void Register(sol::table& parent);
// Constructors
ScriptColor(byte r, byte g, byte b);
ScriptColor(byte r, byte g, byte b, byte a);
ScriptColor(const Vector3& color);
ScriptColor(const Vector4& color);
ScriptColor(D3DCOLOR);
// Getters
byte GetR() const;
byte GetG() const;
byte GetB() const;
byte GetA() const;
// Setters
void SetR(byte value);
void SetG(byte value);
void SetB(byte value);
void SetA(byte value);
// Converters
std::string ToString() const;
// Operators
operator Color() const;
operator Vector3() const;
operator Vector4() const;
operator D3DCOLOR() const;
operator RGBAColor8Byte() const;
};
}
class ScriptColor
{
private:
// Fields
RGBAColor8Byte _color;
public:
static void Register(sol::table& parent);
// Constructors
ScriptColor(byte r, byte g, byte b);
ScriptColor(byte r, byte g, byte b, byte a);
ScriptColor(const Vector3& color);
ScriptColor(const Vector4& color);
ScriptColor(D3DCOLOR);
// Getters
byte GetR() const;
byte GetG() const;
byte GetB() const;
byte GetA() const;
// Setters
void SetR(byte value);
void SetG(byte value);
void SetB(byte value);
void SetA(byte value);
// Converters
std::string ToString() const;
// Operators
operator Color() const;
operator Vector3() const;
operator Vector4() const;
operator D3DCOLOR() const;
operator RGBAColor8Byte() const;
};

View file

@ -82,7 +82,7 @@ namespace TEN::Scripting
// @treturn string A string showing the X, Y, and Z angle components of this Rotation.
std::string Rotation::ToString() const
{
return ("{ " + std::to_string(x) + ", " + std::to_string(y) + ", " + std::to_string(z) + " }");
return ("{" + std::to_string(x) + ", " + std::to_string(y) + ", " + std::to_string(z) + "}");
}
EulerAngles Rotation::ToEulerAngles() const

View file

@ -90,7 +90,7 @@ Vec2::Vec2(const Vector2& vector)
// @function __tostring
std::string Vec2::ToString() const
{
return "{ " + std::to_string(x) + ", " + std::to_string(y) + " }";
return "{" + std::to_string(x) + ", " + std::to_string(y) + "}";
}
/// Get a copy of this Vec2 normalized to length 1.

View file

@ -211,7 +211,7 @@ float Vec3::Length() const
// @function __tostring
std::string Vec3::ToString() const
{
return "{ " + std::to_string(x) + ", " + std::to_string(y) + ", " + std::to_string(z) + " }";
return "{" + std::to_string(x) + ", " + std::to_string(y) + ", " + std::to_string(z) + "}";
}
Vec3 Vec3::Add(const Vec3& vector0, const Vec3& vector1)

View file

@ -1,26 +1,21 @@
#pragma once
#include <string>
#include <unordered_map>
#include "Game/Debug/Debug.h"
#include "Scripting/Internal/ReservedScriptNames.h"
/***
Constants for LogLevel IDs.
@enum Util.LogLevel
@pragma nostrip
*/
/// Constants for LogLevel IDs.
// @enum Util.LogLevel
// @pragma nostrip
/*** Table of Util.LogLevel constants. To be used with @{Util.PrintLog} function.
/// Table of Util.LogLevel constants. To be used with @{Util.PrintLog} function.
//
// - `INFO`
// - `WARNING`
// - `ERROR`
//
// @table Util.LogLevel
- `INFO`
- `WARNING`
- `ERROR`
@table Util.LogLevel
*/
static const std::unordered_map<std::string, LogLevel> LOG_LEVEL
static const auto LOG_LEVEL_IDS = std::unordered_map<std::string, LogLevel>
{
{ ScriptReserved_LogLevelInfo, LogLevel::Info },
{ ScriptReserved_LogLevelWarning, LogLevel::Warning },

View file

@ -36,7 +36,7 @@ namespace TEN::Scripting::Util
// @usage
// local flamePlinthPos = flamePlinth:GetPosition() + Vec3(0, flamePlinthHeight, 0);
// print(Misc.HasLineOfSight(enemyHead:GetRoomNumber(), enemyHead:GetPosition(), flamePlinthPos))
[[nodiscard]] static bool HasLineOfSight(int roomID, const Vec3& posA, const Vec3& posB)
static bool HasLineOfSight(int roomID, const Vec3& posA, const Vec3& posB)
{
auto vector0 = posA.ToGameVector();
auto vector1 = posB.ToGameVector();
@ -208,6 +208,6 @@ namespace TEN::Scripting::Util
tableUtil.set_function(ScriptReserved_PrintLog, &PrintLog);
auto handler = LuaHandler(state);
handler.MakeReadOnlyTable(tableUtil, ScriptReserved_LogLevel, LOG_LEVEL);
handler.MakeReadOnlyTable(tableUtil, ScriptReserved_LogLevel, LOG_LEVEL_IDS);
}
}

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