DI-Guy SDK Documentation  13.7.1
diguy_author.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2022 MAK Technologies, Inc.
4  ** All rights reserved.
5  *********************************************************************/
6 
7 /*********************************************************************
8  **
9  *t DI-Guy AI, Main Header File
10  **
11  *b Link against: libdiguy
12  */
13 
14 #ifndef __diguy_author_H
15 #define __diguy_author_H
16 
17 #include <diguy_constants.h>
18 #include <diguyAuthorInterface.h>
19 
20 #include <declspec_diguy.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 
27 /*****************************************************************************/
33 /*l
34  *b Description:
35  **
36  ** This function enables DI-Guy Author. It should be called after the
37  ** main DI-Guy initialize call.
38  **
39  ** Note that DI-Guy Author will deinitialize automatically when DI-Guy
40  ** shuts down.
41  **
42  *b Arguments:
43  **
44  *a create_func - pointer to function that creates a diguyAuthorInterface
45  *a subclass object
46  **
47  ** DI-Guy Author relies on receiving input from the Host IG that is
48  ** integrating DI-Guy Author functionality. To do this, the
49  ** diguyAuthorInterface class needs to be subclassed, with the proper
50  ** virtual functions overridden.
51  **
52  ** DI-Guy uses this indirect approach to creating objects instead of just
53  ** setting the object directly to avoid potential memory model problems
54  ** on some platforms, that can result in difficult to debug problems.
55  **
56  *b Callable From:
57  **
58  *- - C++
59  **
60  *b Returns:
61  **
62  ** 0 on success, -1 on failure
63  */
64 BDI_DECLSPEC_diguy
66 
67 /*l
68  *b Description:
69  **
70  ** This function returns whether or not DI-Guy Author functionality
71  ** is enabled.
72  **
73  *b Returns:
74  **
75  ** 1 if DI-Guy Author enabled and initialized, 0 if not
76  */
77 BDI_DECLSPEC_diguy
79 
80 /*l
81  *b Description:
82  **
83  ** This function returns a pointer to a diguyAuthorInterface object.
84  ** Member functions in this object can be used to communicate input, e.g.
85  ** mouse clicks or key presses, to DI-Guy so it can create and edit DI-Guy
86  ** characters and objects in the Host IG.
87  **
88  *b Returns:
89  **
90  ** pointer of type diguyAuthorInterface
91  */
92 BDI_DECLSPEC_diguy
94 
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 #endif /* __diguy_author_H */
101 
102 
!
Definition: diguyAuthorInterface.h:57
diguyAuthorInterface * diguyAuthorInterfaceCreateFunc(void *internal_data)
Definition: diguyAuthorInterface.h:27
int diguy_author_initialize(diguyAuthorInterfaceCreateFunc *create_func)
This function enables DI-Guy Author.
int diguy_author_get_author_enabled()
This function returns whether or not DI-Guy Author functionality is enabled.
diguyAuthorInterface * diguy_author_get_author_interface()
This function returns a pointer to a diguyAuthorInterface object.