Branch release for first test with community members

Gents, please have a look at this development:
2016-08-21

- Made a new STATEMACHINE_CONTROLLABLE object, which models a base state
machine class to be inherited by AI controllable classes.
-- Created the class as such that intherited AI classes become "finite
state machines".
-- Each STATEMACHINE_CONTROLLABLE class contains a Controllable object,
which is one Unit, Client or Group object.
-- Added state transition functions that are called before and after the
state transition.
-- Event functions are automatically added to the class, based on the
FSMT.
-- Added immediate and delayed event processing as part of the
STATEMACHINE_CONTROLLABLE class.
--- Events that start with __Event are processed with a delay. The delay
is given in seconds as a parameter.

- Created a new AI_PATROLZONE class, which inherites
STATEMACHINE_CONTROLLABLE.
-- This class implements a complete new revamped patrol zone AI pattern.
-- Created a new test directory: Moose_Test_AI_PATROLZONE with test
missions.

2016-08-15

- Removed the old classes and moved into an "Old" folder in the
Moose/Development folder.
-- Cleaned Moose.lua + Documented class types
-- Cleaned Create_Moose.bat + Documented class types

- Extend the ZONE_BASE class with a probability randomization factor,
that can be used for zone randomization purposes.

- Documented the Zone module classes.

- Changed and removed the POINT_VEC3 SmokeColor and FlareColor
structure. Replaced with SMOKECOLOR and FLARECOLOR types.
-- Replaced also code in test missions with SMOKECOLOR and FLARECOLOR
references.

- Added change logs of API changes in MOOSE documentation.

- Added ZONE_BASE:GetName() method.

- Added ZONE_BASE:GetZoneProbability() method.

- Added ZONE_BASE:SetZoneProbability() method.

- Added ZONE_BASE:GetZoneMaybe() method.

- Added SPAWN:InitRandomizeZones() method.

- Renamed SPAWN:CleanUp() method to SPAWN:InitCleanUp() method.

- Reviewed documentation of the PatrolZone module and PATROLZONE class.

2016-08-14

- Changed Spawn APIs to express Group position and Unit position
randomization.

- Changed the API protocol of SpawnInZone() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Changed the API protocol of SpawnFromUnit() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Added InitRandomizeUnits() method, taking 3 parameters:
-- RandomizeUnits given the value true, will randomize the units upon
spawning, false (default) will not randomize the untis.
-- OuterRadius is the outer radius of the band where the units will be
spawned, if RandomizeUnits is true.
-- InnerRadius is the inner radius of the band where the units will not
be spawned, if RandomizeUnits is true.

- Removed SpawnFunction() method.

- Added OnSpawnGroup() method as the new official CallBack function
method to catch when a new function will be called.
-- Documented OnSpawnGroup() method.

- Renamed Limit() method to InitLimit() method.

- Renamed Array() method to InitArray() method.

- Renamed RandomizeRoute() method to InitRandomizeRoute() method.

- Renamed RandomizeTemplate() method to InitRandomizeTemplate() method.

- Renamed UnControlled() method to InitUnControlled method.

- Reviewed all test missions for the changes executed and made adaptions
where necessary + re-tests.

2016-08-12

- Temporary release of the new cargo handling.
-- Released available functionality to handle one CARGO_UNIT loading,
boarding, unloading.
-- Created CARGO_UNIT test missions.

- Added Translate() method in POINT_VEC3, translating a 3D point over
the horizontal plane with a Distance and Angle coordinate.
This commit is contained in:
Sven Van de Velde
2016-08-23 07:12:31 +02:00
parent 91d0507b4d
commit 167b0dd598
62 changed files with 55896 additions and 184 deletions

View File

@@ -107,6 +107,12 @@ It is a fantastic development, this module.</p>
<td class="name" nowrap="nowrap"><a href="#STATEMACHINE">STATEMACHINE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STATEMACHINE_CONTROLLABLE">STATEMACHINE_CONTROLLABLE</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -212,6 +218,46 @@ It is a fantastic development, this module.</p>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE).todot">STATEMACHINE:todot(filename)</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(STATEMACHINE_CONTROLLABLE)">Type <code>STATEMACHINE_CONTROLLABLE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE).ClassName">STATEMACHINE_CONTROLLABLE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE).Controllable">STATEMACHINE_CONTROLLABLE.Controllable</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE).GetControllable">STATEMACHINE_CONTROLLABLE:GetControllable()</a></td>
<td class="summary">
<p>Gets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE).New">STATEMACHINE_CONTROLLABLE:New(FSMT, Controllable)</a></td>
<td class="summary">
<p>Creates a new STATEMACHINE_CONTROLLABLE object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE).SetControllable">STATEMACHINE_CONTROLLABLE:SetControllable(Controllable, FSMControllable)</a></td>
<td class="summary">
<p>Sets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATEMACHINE_CONTROLLABLE)._call_handler">STATEMACHINE_CONTROLLABLE:_call_handler(handler, params)</a></td>
<td class="summary">
</td>
</tr>
</table>
@@ -285,6 +331,20 @@ It is a fantastic development, this module.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(STATEMACHINE_CONTROLLABLE)">#STATEMACHINE_CONTROLLABLE</a></em>
<a id="STATEMACHINE_CONTROLLABLE" >
<strong>STATEMACHINE_CONTROLLABLE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -664,6 +724,148 @@ It is a fantastic development, this module.</p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(STATEMACHINE_CONTROLLABLE)" >Type <code>STATEMACHINE_CONTROLLABLE</code></a></h2>
<p>STATEMACHINE_CONTROLLABLE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(STATEMACHINE_CONTROLLABLE).ClassName" >
<strong>STATEMACHINE_CONTROLLABLE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a></em>
<a id="#(STATEMACHINE_CONTROLLABLE).Controllable" >
<strong>STATEMACHINE_CONTROLLABLE.Controllable</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STATEMACHINE_CONTROLLABLE).GetControllable" >
<strong>STATEMACHINE_CONTROLLABLE:GetControllable()</strong>
</a>
</dt>
<dd>
<p>Gets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.</p>
<h3>Return value</h3>
<p><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STATEMACHINE_CONTROLLABLE).New" >
<strong>STATEMACHINE_CONTROLLABLE:New(FSMT, Controllable)</strong>
</a>
</dt>
<dd>
<p>Creates a new STATEMACHINE_CONTROLLABLE object.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#table FSMT </em></code>:
Finite State Machine Table</p>
</li>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> Controllable </em></code>:
(optional) The CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(STATEMACHINE_CONTROLLABLE)">#STATEMACHINE_CONTROLLABLE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STATEMACHINE_CONTROLLABLE).SetControllable" >
<strong>STATEMACHINE_CONTROLLABLE:SetControllable(Controllable, FSMControllable)</strong>
</a>
</dt>
<dd>
<p>Sets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> Controllable </em></code>: </p>
</li>
<li>
<p><code><em> FSMControllable </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(STATEMACHINE_CONTROLLABLE)">#STATEMACHINE_CONTROLLABLE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STATEMACHINE_CONTROLLABLE)._call_handler" >
<strong>STATEMACHINE_CONTROLLABLE:_call_handler(handler, params)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> handler </em></code>: </p>
</li>
<li>
<p><code><em> params </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(STATEMACHINE_PROCESS)" >Type <code>STATEMACHINE_PROCESS</code></a></h2>