185 Commits

Author SHA1 Message Date
FlightControl
365034ad69 Finalized the SCHEDULER and SCHEDULERDISPATCHER
- Done, time to remerge the work.
2016-12-14 11:10:00 +01:00
FlightControl
761053c95e Progress 2016-12-14 06:58:24 +01:00
FlightControl
02d4bbf3ff Getting somewhere, with the new schedulers, the TASK logic works now much better!
- Schedulers are stopped when the parent object is destroyed.
- Parent objects are garbage cleaned.
- Destructors are called.

Jippie! Results!!!
2016-12-13 13:05:21 +01:00
FlightControl
e98814e8d4 Progress
Fixed that schedulers, which are not attached to an object, after
garbage collect were removed also from the scheduler dispatcher. The
scheduler dispatcher now attaches the schedulers to 2 different tables.
- A weak table ObjectSchedulers, which contains scheduler attached to
objects. When the object is removed, the scheduler is removed also.
- A weak table with PersistentSchedulers, which contains schedulers not
attached to objects. These schedulers are persistent, even after garbage
collection.

I hope this now makes the circle round...
2016-12-13 12:29:28 +01:00
FlightControl
152c8a986d Pogress
- Still a problem, getting obscolete calls after a garbage collect where
i should not get them ...
2016-12-13 12:10:12 +01:00
FlightControl
6c6b26e33e Progress 2016-12-13 11:25:39 +01:00
FlightControl
15134d7f4e Formidastic, now when nillifying the Test1 and Test 3, the destructor of the SCHEDULER is called
The references of nillified and garbage collected SCHEDULERS are removed
from the _TIMERDISPATCHER. This results now in schedules that are still
pending to be executed, but are nillified, that these schedules will
never be executed!!!

Sven
2016-12-12 17:41:58 +01:00
FlightControl
b81b483f0b First prototype of the scheduler dispatcher is ready... It works, but the code was very difficult...
So, when the Scheduler that is passed to the AddScheduler is nillified,
the internal arrays that keep the Scheduler reference are also
nillified. And it does what i need for further utilization in MOOSE
classes. When the Scheduler is nillified, but, a schedule was planned
for that Scheduler, once the scheduler fires off, it will ignore that
call... cool.

Sven
2016-12-12 16:44:56 +01:00
Sven Van de Velde
24a6d37500 Progress 2016-12-11 11:01:06 +01:00
Sven Van de Velde
038c10c4d4 Progress 2016-12-10 08:40:49 +01:00
FlightControl
2582e7a90a Work in progress
- problem with UNIT tables... Unit not alive... Need to fix CLIENTs...
CLIENTs need to be copied into UNITs...
2016-12-09 14:48:49 +01:00
FlightControl
8cda04be45 Updates
- When joining a slot, you get a mission briefing.
- When task is successful, a message is displayed, and the task is
Success.
- HeadQuarters clears all menus of the involved groups back to Planned.
2016-12-09 13:35:36 +01:00
FlightControl
50e69e07fb Undone the Templating crap. It is much better now. Users will understand ... 2016-12-09 12:34:28 +01:00
Sven Van de Velde
618fdb8405 Further updating of Demonstration Missions 2016-12-08 14:19:29 +01:00
Sven Van de Velde
3b31fca7c0 Rename Missions, first batch. 2016-12-08 09:07:58 +01:00
FlightControl
d17a637515 Test missions updated with new MOOSE static loader... pre release... 2016-12-07 19:18:11 +01:00
FlightControl
a610b8b425 Patrol demo is done. It works perfectly and provides a fantastic system now! 2016-12-07 17:15:21 +01:00
FlightControl
f840b6f836 Demo missions update. 2016-12-07 17:01:37 +01:00
FlightControl
0d8936bcb0 Test Case documentation 2016-12-07 14:55:35 +01:00
FlightControl
6d640c8416 Fixes FSM parameter mixup... 2016-12-07 14:33:19 +01:00
FlightControl
2dc231eb9e AIBalancer, identified the problem now ...
- still need to fix it :-)
2016-12-07 10:56:36 +01:00
FlightControl
22f6cb8ecb Worked on Task Presentation ... 2016-12-06 21:03:30 +01:00
FlightControl
c8e8aecf34 Got PATROLZONE working with new FSM mechanism 2016-12-06 13:04:06 +01:00
FlightControl
b45f20579e Updates 2016-12-06 12:52:02 +01:00
FlightControl
3496550cb3 Got CARGO working now with new FSM mechanism 2016-12-06 12:05:02 +01:00
FlightControl
e46d7be91b FSM restructuring 2016-12-06 10:30:05 +01:00
FlightControl
dd162831fa New File Structure Updates 2016-12-06 10:17:21 +01:00
FlightControl
931464dfec Merge remote-tracking branch 'refs/remotes/origin/master' into Template-the-Statemachines
# Conflicts:
#	Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua
#	Moose Mission Setup/Moose.lua
2016-12-06 08:37:32 +01:00
Sven Van de Velde
8c85f9319d Fixed a bug in TaskFollow and TaskEscort
- In TaskFollow method, controllerId was renamed back to groupId. Did
this in all required functions in the Controllable.lua where this
mistake was made during renaming.
- In TaskFollow method, fixed the lastWptIndexFlag bug, which needs to
be set to false if lastWptIndex is not given. Did this fix also in
TaskEscort method.
- Made an additional test mission to demonstrate the TaskFollow API.
2016-12-05 12:54:57 +01:00
FlightControl
4034461488 Templates progress, not perfect yet...
issues with smoke
issues with accounting
issues with scoring
minor things, should be solvable.
2016-12-02 14:47:58 +01:00
FlightControl
9c4b147b6b First incomplete version 2016-11-30 12:00:32 +01:00
FlightControl
9ab3a2f74d STATEMACHINE_TEMPLATE is added to template statemachines...
It is working now, and NOW SWITCHING SLOTS of PLAYERS ALSO WORKS IN
TASKING!!!
Jippie!!!
The next thing is to debug the DETECTION_DISPATCHER...
And make STATEMACHINE_TEMPLATE now as a parameter to create new
STATEMACHINEs, instead of that ugly table construction.
The, I need to modify the New: Methods of each STATEMACHINE_PROCESS to
be initialized with a TEMPLATE... Maybe I can commit already and just
implement this later ...
2016-11-30 10:40:31 +01:00
FlightControl
54a861cc58 Further optimizatons 2016-11-29 10:48:38 +01:00
FlightControl
f9eb19e0f5 Failed is now working. Scoring working on Task level now ... 2016-11-29 10:40:01 +01:00
FlightControl
2d3ee93d9e Sync 2016-11-28 15:03:31 +01:00
FlightControl
28802ba276 COMMANDCENTER class added, Event handlers added, HQs working with missions
- Handling menus
- Reporting missions
- ...
2016-11-25 14:08:06 +01:00
FlightControl
c27b6efe12 Got mission dispatching working again with SEAD_Task and A2G_Task ...
Next is debugging all, and ensuring the scoring and Failed / Abort is
working.
2016-11-24 14:55:07 +01:00
FlightControl
35ac87109b Starting to harmonize the new TASK logic with the old DETECTION_DISPATCHER 2016-11-23 18:37:12 +01:00
FlightControl
4816cd2c57 Got tasking working again now, with the NEW API set!!!
This is really, really great!
Now document all, and optimize the code.
And start video making.
And re-test the test mission, all...

And PUBLISH!!!
2016-11-22 12:46:28 +01:00
FlightControl
2f4eb39156 Jippie! Finally got the Sub Statemachine declaration understandable for end-users.
Reworked the hierarchical state machine processing in terms of sub
processing.
Now, the declaration and usage of subs is completely understandable and
easy to implement.
I am excited to see how end-users will see the possibilities.
2016-11-22 08:45:38 +01:00
FlightControl
07f6760039 Got the process cleanup working now, when a task has finished.
ProcessStop is called for each process that is destructed... Actually, I
need to implement destructors upon a garbage collection event. Found the
method to do that, but need to implement it ... Next time ...
2016-11-11 15:42:08 +01:00
FlightControl
1bd61837f2 Updated Task Processing logic. 2016-11-08 18:38:30 +01:00
FlightControl
764266d552 Got SEAD tasking working now with new Process Templates... 2016-11-06 11:34:32 +01:00
FlightControl
6239b6263c Progress on tasking, processes to use templates ... 2016-11-02 10:00:21 +01:00
FlightControl
cd4d4af559 Last Updates 2016-09-12 12:29:20 +02:00
FlightControl
dac29f6356 Cargo Group is working... 2016-09-01 12:52:02 +02:00
Sven Van de Velde
0edb083d5d Progress on the new AISET_BALANCER class 2016-08-24 14:34:04 +02:00
Sven Van de Velde
167b0dd598 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.
2016-08-23 07:12:31 +02:00
Sven Van de Velde
91d0507b4d Progress AI_PATROLZONE 2016-08-21 14:22:05 +02:00
Sven Van de Velde
a800531ea0 Progress on the AI_PATROLZONE!!! Working test mission!!! 2016-08-21 10:56:56 +02:00