DI-Guy SDK Documentation  13.6
diguy_typedefs.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 #ifndef __diguy_typedefs_H
8 #define __diguy_typedefs_H
9 
10 #include <diguy_constants.h> // for diguyCallbackReturn
11 class diguyCharacter;
13 class diguyCrowd;
14 class diguyImpact;
16 class diguyParticleManager;
17 class diguyScenario;
18 class diguySensorRegion;
19 class diguySignal;
20 class diguyVariable;
21 class diguyView;
22 class diguyViewCamera;
23 class diguyViewFog;
24 class diguyViewLight;
25 class diguyViewLabel;
26 class diguyViewPainter;
27 
30 class diguyGraphicsFile;
32 class diguyGraphicsMesh;
37 class diguyGraphicsState;
38 class diguyGraphicsLink;
39 class diguyGraphicsShape;
43 
44 /*****************************************************************************/
50 /****************************************************************************/
52  int callback_id,
53  void* callback_params,
54  void* callback_user_data);
55 
56 /****************************************************************************/
57 typedef float diguyAltitudeFunction(diguyCharacter* character,
58  float x,
59  float y,
60  float old_z,
61  int * valid);
62 
63 /****************************************************************************/
64 typedef int diguyFeelerFunction(diguyCharacter* character,
65  float origin_x,
66  float origin_y,
67  float origin_z,
68  float dir_x,
69  float dir_y,
70  float dir_z,
71  float max_distance_to_test,
72  float* intersection_x,
73  float* intersection_y,
74  float* intersection_z,
75  float* normal_x,
76  float* normal_y,
77  float* normal_z);
78 
79 
80 /****************************************************************************/
82  float origin_x,
83  float origin_y,
84  float origin_z,
85  float dir_x,
86  float dir_y,
87  float dir_z,
88  float max_distance_to_test,
89  float* intersection_x,
90  float* intersection_y,
91  float* intersection_z,
92  float* normal_x,
93  float* normal_y,
94  float* normal_z);
95 
96 /****************************************************************************/
98  float origin_x,
99  float origin_y,
100  float origin_z,
101  float radius,
102  float ground_angle,
103  float z_clear_height,
104  int check_below);
105 
106 /****************************************************************************/
107 typedef int diguyCharacterLOSFunction(diguyCharacter* character,
108  diguyCharacter* target_character,
109  int visibility_type /*unused*/);
110 
111 /****************************************************************************/
112 typedef int diguyPointLOSFunction(diguyCharacter* character,
113  float x,
114  float y,
115  float z);
116 
117 /****************************************************************************/
118 typedef int diguyGet6FloatsFunction(diguyCharacter* character,
119  float* f0,
120  float* f1,
121  float* f2,
122  float* f3,
123  float* f4,
124  float* f5);
125 
126 
127 /****************************************************************************/
133 /****************************************************************************/
135  float x,
136  float y,
137  float old_z,
138  int * valid);
140 /****************************************************************************/
142  const char* callback_name,
143  void* callback_user_data);
145 /****************************************************************************/
147  float from_x,
148  float from_y,
149  float from_z,
150  float to_x,
151  float to_y,
152  float to_z,
153  diguyScenario* s);
155 /****************************************************************************/
156 typedef int diguyExecProgramHandlerFunction(const char* command_line);
158 /****************************************************************************/
160  int callback_id,
161  void* callback_params,
162  void* callback_user_data);
163 
164 
165 /****************************************************************************/
171 /****************************************************************************/
173  int callback_id,
174  void* callback_params,
175  void* callback_user_data);
176 
177 /****************************************************************************/
179  int callback_id,
180  void* callback_params,
181  void* callback_user_data);
182 
183 
184 /****************************************************************************/
186  int callback_id,
187  void* callback_params,
188  void* callback_user_data);
189 
190 /****************************************************************************/
192  int callback_id,
193  void* callback_params,
194  void* callback_user_data);
195 
196 /****************************************************************************/
198  int callback_id,
199  void* callback_params,
200  void* callback_user_data);
201 
202 /****************************************************************************/
204  int callback_id,
205  void* callback_params,
206  void* callback_user_data);
207 
208 /****************************************************************************/
210  int callback_id,
211  void* callback_params,
212  void* callback_user_data);
213 
214 /****************************************************************************/
216  int callback_id,
217  void* callback_params,
218  void* callback_user_data);
219 
220 /****************************************************************************/
222  int callback_id,
223  void* callback_params,
224  void* callback_user_data);
225 
226 /****************************************************************************/
228  int callback_id,
229  void* callback_params,
230  void* callback_user_data);
231 
232 /****************************************************************************/
234 
235 
236 /****************************************************************************/
241 // takes no arguments, returns int
242 typedef int (*diguyModuleFunctionStandard)();
244 // takes no arguments, no return value
245 typedef void (*diguyModuleFunctionReturnsVoid)();
247 // takes C string argument, returns int
248 typedef int (*diguyModuleFunctionArgumentConstChar)(const char*);
250 // takes C string array argument, returns int
251 typedef int (*diguyModuleFunctionArgumentCharStarStar)(char**);
253 // takes two int arguments, returns int
254 typedef int (*diguyModuleFunctionArgument2Ints)(int, int);
256 // takes two double arguments, returns int
257 typedef int (*diguyModuleFunctionArgument2Doubles)(double, double);
259 // takes two double pointer arguments, returns int
260 typedef int (*diguyModuleFunctionArgument2DoublePtrs)(double*, double*);
262 // takes four three arguments, returns int
263 typedef int (*diguyModuleFunctionArgument3Floats)(float, float, float);
265 // takes four three pointer arguments, returns int
266 typedef int (*diguyModuleFunctionArgument3FloatPtrs)(float*, float*, float*);
268 // takes four float arguments, returns int
269 typedef int (*diguyModuleFunctionArgument4Floats)(float, float, float, float);
270 
271 // takes four float pointer arguments, returns int
272 typedef int (*diguyModuleFunctionArgument4FloatPtrs)(float*, float*, float*, float*);
273 
274 /*****************************************************************************/
281 typedef diguyGraphicsFile* diguyGraphicsFileCreateFunc(void* internal_data);
284 typedef diguyGraphicsLink* diguyGraphicsLinkCreateFunc(void* internal_data);
286 typedef diguyGraphicsMesh* diguyGraphicsMeshCreateFunc(void* internal_data);
290 typedef diguyGraphicsShape* diguyGraphicsShapeCreateFunc(void* internal_data);
291 typedef diguyGraphicsState* diguyGraphicsStateCreateFunc(void* internal_data);
292 typedef diguyGraphicsTexture* diguyGraphicsTextureCreateFunc(void* internal_data);
294 typedef diguyParticleSystem* diguyParticleSystemCreateFunc(const char * particle_system_name);
296 typedef diguyParticleManager* diguyParticleManagerCreateFunc(void);
297 
298 /*****************************************************************************/
304 /****************************************************************************/
305 typedef int (*diguyUserQueryYesNoFunction)(diguyVariable* result_variable,
306  int pause_scenario,
307  const char* caption,
308  const char* text,
309  const char* button0,
310  const char* button1);
311 
312 typedef const char* (*diguyUserQueryTextFunction)(diguyVariable* result_variable,
313  int pause_scenario,
314  const char* caption,
315  const char* text);
316 
317 typedef int (*diguyUserQueryItemFunction)(diguyVariable* result_variable,
318  int pause_scenario,
319  const char* caption,
320  const char* question,
321  const char* arg1,
322  const char* arg2, // need at least 2 arguments
323  const char* arg3,
324  const char* arg4,
325  const char* arg5,
326  const char* arg6,
327  const char* arg7,
328  const char* arg8,
329  const char* arg9,
330  const char* arg10);
332 typedef int (*diguyUserInformFunction)(int pause_scenario,
333  const char* caption,
334  const char* text);
335 
336 typedef int (*diguyStudentLogFunction)(int notify_level, const char* text);
337 
338 
339 #endif
340 
int diguyScenarioFindImpactOnLineFunction(diguyImpact *impact, float from_x, float from_y, float from_z, float to_x, float to_y, float to_z, diguyScenario *s)
Definition: diguy_typedefs.h:144
The diguyViewLabel allows on screen 2D and 3D labels in diguy scenario and the opengl renderer...
Definition: diguyViewLabel.h:52
An interface class that represents a particle system that has been created by diguy's appearance effe...
Definition: diguyParticleSystem.h:52
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
A class that represents an instance group. An instance group is a collection of meshes, attached to shapes, that can be drawn with a single draw call using supplemental instance data information. An instance group can contain segmented meshes or skinned mesh.
Definition: diguyGraphicsInstanceGroup.h:49
int diguyExecProgramHandlerFunction(const char *command_line)
Definition: diguy_typedefs.h:154
diguyGraphicsShape * diguyGraphicsShapeCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:285
diguyCallbackReturn diguyScenarioCallback(diguyScenario *scenario, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:157
diguyCallbackReturn diguyViewFogCallback(diguyViewFog *fog, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:217
diguyGraphicsTexture * diguyGraphicsTextureCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:287
diguyCallbackReturn diguyCharacterCallback(diguyCharacter *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:51
diguyCallbackReturn diguyViewLabelCallback(diguyViewLabel *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:223
diguyGraphicsLink * diguyGraphicsLinkCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:279
diguyGraphicsMesh * diguyGraphicsMeshCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:281
int(* diguyStudentLogFunction)(int notify_level, const char *text)
Definition: diguy_typedefs.h:331
The diguyViewPainter class acts as a helper for drawing various graphics primitives in DI-Guy Scenari...
Definition: diguyViewPainter.h:36
The diguyViewLight provides a interface around a scene light useful in diguy scenario and the opengl ...
Definition: diguyViewLight.h:62
int(* diguyModuleFunctionArgument4Floats)(float, float, float, float)
Definition: diguy_typedefs.h:264
int diguyScenarioIntersectionFunction(diguyScenario *scenario, float origin_x, float origin_y, float origin_z, float dir_x, float dir_y, float dir_z, float max_distance_to_test, float *intersection_x, float *intersection_y, float *intersection_z, float *normal_x, float *normal_y, float *normal_z)
Definition: diguy_typedefs.h:80
A class that represents a bullet impact in the world, often used by AIs to make reaction decisions...
Definition: diguyImpact.h:41
int diguyScenarioZClearanceFunction(diguyScenario *scenario, float origin_x, float origin_y, float origin_z, float radius, float ground_angle, float z_clear_height, int check_below)
Definition: diguy_typedefs.h:96
diguyGraphicsInstanceGroup * diguyGraphicsInstanceGroupCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:278
int(* diguyModuleFunctionArgument4FloatPtrs)(float *, float *, float *, float *)
Definition: diguy_typedefs.h:267
A class that represents a frame buffer, this is used by the graphics api to enable shadow maps in pro...
Definition: diguyGraphicsFrameBuffer.h:26
diguyCallbackReturn diguyCharacterGestureCallback(diguyCharacterGesture *gesture, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:175
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:44
int(* diguyModuleFunctionArgument2DoublePtrs)(double *, double *)
Definition: diguy_typedefs.h:255
float diguyScenarioAltitudeFunction(diguyScenario *scenario, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:132
A view is a graphics window wherein the scenario and its characters are animated. Note that views hav...
Definition: diguyView.h:48
int diguyGet6FloatsFunction(diguyCharacter *character, float *f0, float *f1, float *f2, float *f3, float *f4, float *f5)
Definition: diguy_typedefs.h:117
int(* diguyModuleFunctionArgumentCharStarStar)(char **)
Definition: diguy_typedefs.h:246
int(* diguyModuleFunctionStandard)()
Definition: diguy_typedefs.h:237
int(* diguyModuleFunctionArgument2Doubles)(double, double)
Definition: diguy_typedefs.h:252
diguyParticleSystemRenderer * diguyParticleRendererCreateFunc(void)
Definition: diguy_typedefs.h:290
A wrapper around a geometry file.
Definition: diguyGraphicsFile.h:33
diguyCallbackReturn diguySensorRegionCallback(diguySensorRegion *sensor_region, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:187
A class that represents a shared texture.
Definition: diguyGraphicsTexture.h:124
diguyParticleManager * diguyParticleManagerCreateFunc(void)
Definition: diguy_typedefs.h:291
A class that represents a shared material.
Definition: diguyGraphicsMaterial.h:42
diguyGraphicsFrameBuffer * diguyGraphicsFrameBufferCreateFunc(void)
Definition: diguy_typedefs.h:277
A class that represents a shared 2D texture array.
Definition: diguyGraphicsTextureArray.h:40
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:95
diguyParticleSystem * diguyParticleSystemCreateFunc(const char *particle_system_name)
Definition: diguy_typedefs.h:289
float diguyAltitudeFunction(diguyCharacter *character, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:57
int diguyCharacterLOSFunction(diguyCharacter *character, diguyCharacter *target_character, int visibility_type)
Definition: diguy_typedefs.h:106
diguyCallbackReturn diguyViewLightCallback(diguyViewLight *light, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:181
Represents the scenario currently being portrayed.
Definition: diguyScenario.h:99
diguyAuthorVisualWaypoint * diguyAuthorVisualWaypointCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:275
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:82
Definition: diguySensorRegion.h:41
int diguyPointLOSFunction(diguyCharacter *character, float x, float y, float z)
Definition: diguy_typedefs.h:111
int(* diguyModuleFunctionArgument2Ints)(int, int)
Definition: diguy_typedefs.h:249
int(* diguyUserInformFunction)(int pause_scenario, const char *caption, const char *text)
Definition: diguy_typedefs.h:327
diguyCallbackReturn diguyViewCallback(diguyView *view, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:211
int diguyScenarioNamedCallback(diguyScenario *scenario, const char *callback_name, void *callback_user_data)
Definition: diguy_typedefs.h:139
An interface class that allows diguy to trigger an immediate mode rendering of a diguy particle syste...
Definition: diguyParticleSystem.h:144
int diguyFeelerFunction(diguyCharacter *character, float origin_x, float origin_y, float origin_z, float dir_x, float dir_y, float dir_z, float max_distance_to_test, float *intersection_x, float *intersection_y, float *intersection_z, float *normal_x, float *normal_y, float *normal_z)
Definition: diguy_typedefs.h:64
The class that represents a camera in the world.
Definition: diguyViewCamera.h:260
diguyCallbackReturn diguyCrowdCallback(diguyCrowd *crowd, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:169
Definition: diguySignal.h:42
diguyCallbackReturn diguySignalCallback(diguySignal *signal, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:193
diguyGraphicsTextureArray * diguyGraphicsTextureArrayCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:288
diguyGraphicsShaderTechnique * diguyGraphicsShaderTechniqueCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:284
Describes basic fog model that is used by DI-Guy Scenario and our default ogl renderer Most users wil...
Definition: diguyViewFog.h:42
diguyCallbackReturn
DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIG...
Definition: diguy_constants.h:94
diguyGraphicsFile * diguyGraphicsFileCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:276
void(* diguyModuleFunctionReturnsVoid)()
Definition: diguy_typedefs.h:240
diguyViewPainter * diguyViewPainterCreateFunc()
Definition: diguy_typedefs.h:229
int(* diguyModuleFunctionArgument3Floats)(float, float, float)
Definition: diguy_typedefs.h:258
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:49
A class representing a overlaid performance on a character's base animation.
Definition: diguyCharacterGesture.h:43
int(* diguyModuleFunctionArgument3FloatPtrs)(float *, float *, float *)
Definition: diguy_typedefs.h:261
The diguyVariable class allows you to add per character named parameters. This can be handy for track...
Definition: diguyVariable.h:46
Link against: libdiguy
Definition: diguyAuthorVisualWaypoint.h:37
diguyGraphicsShaderProgram * diguyGraphicsShaderProgramCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:283
diguyGraphicsShaderInstance * diguyGraphicsShaderInstanceCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:282
int(* diguyModuleFunctionArgumentConstChar)(const char *)
Definition: diguy_typedefs.h:243
int(* diguyUserQueryYesNoFunction)(diguyVariable *result_variable, int pause_scenario, const char *caption, const char *text, const char *button0, const char *button1)
Definition: diguy_typedefs.h:300
This class implements shader lod system for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderTechnique.h:154
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94
The class that represents a DI-Guy Crowd, DI-Guy AI agents can be given orders at an individual level...
Definition: diguyCrowd.h:47
int(* diguyUserQueryItemFunction)(diguyVariable *result_variable, int pause_scenario, const char *caption, const char *question, const char *arg1, const char *arg2, const char *arg3, const char *arg4, const char *arg5, const char *arg6, const char *arg7, const char *arg8, const char *arg9, const char *arg10)
Definition: diguy_typedefs.h:312
diguyGraphicsState * diguyGraphicsStateCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:286
diguyCallbackReturn diguyVariableCallback(diguyVariable *variable, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:199
static diguyScenario * scenario
Definition: simple_playback_ogl.cpp:57
diguyCallbackReturn diguyViewCameraCallback(diguyViewCamera *camera, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:205
diguyGraphicsMaterial * diguyGraphicsMaterialCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:280