‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
animation_state_machine_mocomp.gsc
Go to the documentation of this file.
1 #insert scripts\shared\shared.gsh;
2 
3 #insert scripts\shared\ai\systems\animation_state_machine.gsh;
4 #insert scripts\shared\ai\systems\blackboard.gsh;
5 #insert scripts\shared\ai\utility.gsh;
6 
7 // Created and Implemented by Sumeet Jakatdar
8 #define NULL 0
9 #define IS_NULL(variable) (IsInt(variable) && variable == 0)
10 
11 #namespace AnimationStateNetwork;
12 
13 // ------------- AnimationMocomp Initialization ----------- //
14 function autoexec ‪InitAnimationMocomps()
15 {
16  level._AnimationMocomps = [];
17 }
18 
19 
20 // ------------- AnimationMocomp Utility ----------- //
21 function ‪RunAnimationMocomp( mocompName, mocompStatus, asmEntity, mocompAnim, mocompAnimBlendOutTime, mocompDuration )
22 {
23  Assert( ( mocompStatus >= 0 && mocompStatus <= 2 ), "ASM - Unsupported MocompStatus " + mocompStatus + " for RunAnimationMocomp." );
24 
25  Assert( IsDefined( level._AnimationMocomps[mocompName] ), "BT - RegisterAnimationMocomps with " + mocompName + " does not exists." );
26 
27  if( mocompStatus == 0 )
28  mocompStatus = ‪ASM_MOCOMP_START;
29  else if( mocompStatus == 1 )
30  mocompStatus = ‪ASM_MOCOMP_UPDATE;
31  else
32  mocompStatus = ‪ASM_MOCOMP_TERMINATE;
33 
34  animationMocompResult = asmEntity [[level._AnimationMocomps[mocompName][mocompStatus]]]( asmEntity, mocompAnim, mocompAnimBlendOutTime, "", mocompDuration );
35 
36  return animationMocompResult;
37 }
38 
39 // ------------- AnimationMocomp API ----------- //
40 function ‪RegisterAnimationMocomp( mocompName, startFuncPtr, updateFuncPtr, terminateFuncPtr )
41 {
42  mocompName = ToLower( mocompName );
43 
44  Assert( IsString( mocompName ), "ASM - mocompName for RegisterAnimationMocomps is not a string." );
45  Assert( !IsDefined(level._AnimationMocomps[mocompName]), "mocomp with name " + mocompName + " is already registered." );
46 
47  level._AnimationMocomps[mocompName] = ‪array();
48 
49  // ASM_MOCOMP_START
50  Assert( IsDefined( startFuncPtr ) && IsFunctionPtr( startFuncPtr ), "BT - RegisterAnimationMocomps must have startFunctionPtr and it must be of type functionPtr." );
51  level._AnimationMocomps[mocompName][‪ASM_MOCOMP_START] = startFuncPtr;
52 
53  // ASM_MOCOMP_UPDATE
54  if( IsDefined( updateFuncPtr ) )
55  {
56  Assert( IsFunctionPtr( updateFuncPtr ), "BT - RegisterAnimationMocomps must have updateFuncPtr and it must be of type functionPtr." );
57  level._AnimationMocomps[mocompName][‪ASM_MOCOMP_UPDATE] = updateFuncPtr;
58  }
59  else
60  {
61  level._AnimationMocomps[mocompName][‪ASM_MOCOMP_UPDATE] = &‪AnimationMocompEmptyFunc;
62  }
63 
64  // ASM_MOCOMP_UPDATE
65  if( IsDefined( terminateFuncPtr ) )
66  {
67  Assert( IsFunctionPtr( terminateFuncPtr ), "BT - RegisterAnimationMocomps must have terminateFuncPtr and it must be of type functionPtr." );
68  level._AnimationMocomps[mocompName][‪ASM_MOCOMP_TERMINATE] = terminateFuncPtr;
69  }
70  else
71  {
72  level._AnimationMocomps[mocompName][‪ASM_MOCOMP_TERMINATE] = &‪AnimationMocompEmptyFunc;
73  }
74 }
75 
76 function ‪AnimationMocompEmptyFunc( entity, mocompAnim, mocompAnimBlendOutTime, mocompAnimFlag, mocompDuration )
77 {
78 
79 }
‪ASM_MOCOMP_UPDATE
‪#define ASM_MOCOMP_UPDATE
Definition: animation_state_machine.gsh:34
‪RegisterAnimationMocomp
‪function RegisterAnimationMocomp(mocompName, startFuncPtr, updateFuncPtr, terminateFuncPtr)
Definition: animation_state_machine_mocomp.gsc:40
‪AnimationMocompEmptyFunc
‪function AnimationMocompEmptyFunc(entity, mocompAnim, mocompAnimBlendOutTime, mocompAnimFlag, mocompDuration)
Definition: animation_state_machine_mocomp.gsc:76
‪ASM_MOCOMP_START
‪#define ASM_MOCOMP_START
Definition: animation_state_machine.gsh:33
‪ASM_MOCOMP_TERMINATE
‪#define ASM_MOCOMP_TERMINATE
Definition: animation_state_machine.gsh:35
‪RunAnimationMocomp
‪function RunAnimationMocomp(mocompName, mocompStatus, asmEntity, mocompAnim, mocompAnimBlendOutTime, mocompDuration)
Definition: animation_state_machine_mocomp.gsc:21
‪array
‪function filter array
Definition: array_shared.csc:16
‪InitAnimationMocomps
‪function autoexec InitAnimationMocomps()
Definition: animation_state_machine_mocomp.gsc:14