DI-Guy SDK Documentation  13.2
diguy_typedefs.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2019 VT MAK
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;
12 class diguyCrowd;
13 class diguyImpact;
15 class diguyScenario;
16 class diguySensorRegion;
17 class diguySignal;
18 class diguyVariable;
19 class diguyView;
20 class diguyViewCamera;
21 class diguyViewFog;
22 class diguyViewLight;
23 class diguyViewLabel;
24 class diguyViewPainter;
25 
27 class diguyGraphicsFile;
29 class diguyGraphicsMesh;
34 class diguyGraphicsState;
35 class diguyGraphicsLink;
36 class diguyGraphicsShape;
40 
41 /*****************************************************************************/
47 /****************************************************************************/
49  int callback_id,
50  void* callback_params,
51  void* callback_user_data);
52 
53 /****************************************************************************/
54 typedef float diguyAltitudeFunction(diguyCharacter* character,
55  float x,
56  float y,
57  float old_z,
58  int * valid);
59 
60 /****************************************************************************/
61 typedef int diguyFeelerFunction(diguyCharacter* character,
62  float origin_x,
63  float origin_y,
64  float origin_z,
65  float dir_x,
66  float dir_y,
67  float dir_z,
68  float max_distance_to_test,
69  float* intersection_x,
70  float* intersection_y,
71  float* intersection_z,
72  float* normal_x,
73  float* normal_y,
74  float* normal_z);
75 
76 
77 /****************************************************************************/
79  float origin_x,
80  float origin_y,
81  float origin_z,
82  float dir_x,
83  float dir_y,
84  float dir_z,
85  float max_distance_to_test,
86  float* intersection_x,
87  float* intersection_y,
88  float* intersection_z,
89  float* normal_x,
90  float* normal_y,
91  float* normal_z);
92 
93 /****************************************************************************/
95  float origin_x,
96  float origin_y,
97  float origin_z,
98  float radius,
99  float ground_angle,
100  float z_clear_height,
101  int check_below);
102 
103 /****************************************************************************/
104 typedef int diguyCharacterLOSFunction(diguyCharacter* character,
105  diguyCharacter* target_character,
106  int visibility_type /*unused*/);
107 
108 /****************************************************************************/
109 typedef int diguyPointLOSFunction(diguyCharacter* character,
110  float x,
111  float y,
112  float z);
113 
114 /****************************************************************************/
115 typedef int diguyGet6FloatsFunction(diguyCharacter* character,
116  float* f0,
117  float* f1,
118  float* f2,
119  float* f3,
120  float* f4,
121  float* f5);
122 
123 
124 /****************************************************************************/
130 /****************************************************************************/
132  float x,
133  float y,
134  float old_z,
135  int * valid);
137 /****************************************************************************/
139  const char* callback_name,
140  void* callback_user_data);
142 /****************************************************************************/
144  float from_x,
145  float from_y,
146  float from_z,
147  float to_x,
148  float to_y,
149  float to_z,
150  diguyScenario* s);
152 /****************************************************************************/
153 typedef int diguyExecProgramHandlerFunction(const char* command_line);
155 /****************************************************************************/
157  int callback_id,
158  void* callback_params,
159  void* callback_user_data);
160 
161 
162 /****************************************************************************/
168 /****************************************************************************/
170  int callback_id,
171  void* callback_params,
172  void* callback_user_data);
173 
174 /****************************************************************************/
176  int callback_id,
177  void* callback_params,
178  void* callback_user_data);
179 
180 /****************************************************************************/
182  int callback_id,
183  void* callback_params,
184  void* callback_user_data);
185 
186 /****************************************************************************/
188  int callback_id,
189  void* callback_params,
190  void* callback_user_data);
191 
192 /****************************************************************************/
194  int callback_id,
195  void* callback_params,
196  void* callback_user_data);
197 
198 /****************************************************************************/
200  int callback_id,
201  void* callback_params,
202  void* callback_user_data);
203 
204 /****************************************************************************/
206  int callback_id,
207  void* callback_params,
208  void* callback_user_data);
209 
210 /****************************************************************************/
212  int callback_id,
213  void* callback_params,
214  void* callback_user_data);
215 
216 /****************************************************************************/
218  int callback_id,
219  void* callback_params,
220  void* callback_user_data);
221 
222 /****************************************************************************/
224 
225 
226 /****************************************************************************/
231 // takes no arguments, returns int
232 typedef int (*diguyModuleFunctionStandard)();
233 
234 // takes no arguments, no return value
235 typedef void (*diguyModuleFunctionReturnsVoid)();
236 
237 // takes C string argument, returns int
238 typedef int (*diguyModuleFunctionArgumentConstChar)(const char*);
239 
240 // takes C string array argument, returns int
241 typedef int (*diguyModuleFunctionArgumentCharStarStar)(char**);
242 
243 // takes two int arguments, returns int
244 typedef int (*diguyModuleFunctionArgument2Ints)(int, int);
245 
246 // takes two double arguments, returns int
247 typedef int (*diguyModuleFunctionArgument2Doubles)(double, double);
248 
249 // takes two double pointer arguments, returns int
250 typedef int (*diguyModuleFunctionArgument2DoublePtrs)(double*, double*);
251 
252 // takes four three arguments, returns int
253 typedef int (*diguyModuleFunctionArgument3Floats)(float, float, float);
254 
255 // takes four three pointer arguments, returns int
256 typedef int (*diguyModuleFunctionArgument3FloatPtrs)(float*, float*, float*);
257 
258 // takes four float arguments, returns int
259 typedef int (*diguyModuleFunctionArgument4Floats)(float, float, float, float);
260 
261 // takes four float pointer arguments, returns int
262 typedef int (*diguyModuleFunctionArgument4FloatPtrs)(float*, float*, float*, float*);
263 
264 /*****************************************************************************/
271 typedef diguyGraphicsFile* diguyGraphicsFileCreateFunc(void* internal_data);
274 typedef diguyGraphicsLink* diguyGraphicsLinkCreateFunc(void* internal_data);
276 typedef diguyGraphicsMesh* diguyGraphicsMeshCreateFunc(void* internal_data);
280 typedef diguyGraphicsShape* diguyGraphicsShapeCreateFunc(void* internal_data);
281 typedef diguyGraphicsState* diguyGraphicsStateCreateFunc(void* internal_data);
282 typedef diguyGraphicsTexture* diguyGraphicsTextureCreateFunc(void* internal_data);
283 typedef diguyParticleSystem* diguyParticleSystemCreateFunc(void* internal_data, const char * particle_system_name);
285 
286 
287 /*****************************************************************************/
293 /****************************************************************************/
294 typedef int (*diguyUserQueryYesNoFunction)(diguyVariable* result_variable,
295  int pause_scenario,
296  const char* caption,
297  const char* text,
298  const char* button0,
299  const char* button1);
300 
301 typedef const char* (*diguyUserQueryTextFunction)(diguyVariable* result_variable,
302  int pause_scenario,
303  const char* caption,
304  const char* text);
305 
306 typedef int (*diguyUserQueryItemFunction)(diguyVariable* result_variable,
307  int pause_scenario,
308  const char* caption,
309  const char* question,
310  const char* arg1,
311  const char* arg2, // need at least 2 arguments
312  const char* arg3,
313  const char* arg4,
314  const char* arg5,
315  const char* arg6,
316  const char* arg7,
317  const char* arg8,
318  const char* arg9,
319  const char* arg10);
321 typedef int (*diguyUserInformFunction)(int pause_scenario,
322  const char* caption,
323  const char* text);
324 
325 typedef int (*diguyStudentLogFunction)(int notify_level, const char* text);
326 
327 
328 #endif
329 
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:141
Definition: diguyViewLabel.h:44
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:48
int diguyExecProgramHandlerFunction(const char *command_line)
Definition: diguy_typedefs.h:151
diguyGraphicsShape * diguyGraphicsShapeCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:276
diguyCallbackReturn diguyScenarioCallback(diguyScenario *scenario, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:154
diguyCallbackReturn diguyViewFogCallback(diguyViewFog *fog, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:208
diguyGraphicsTexture * diguyGraphicsTextureCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:278
diguyCallbackReturn diguyCharacterCallback(diguyCharacter *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:48
diguyCallbackReturn diguyViewLabelCallback(diguyViewLabel *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:214
diguyGraphicsLink * diguyGraphicsLinkCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:270
diguyGraphicsMesh * diguyGraphicsMeshCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:272
int(* diguyStudentLogFunction)(int notify_level, const char *text)
Definition: diguy_typedefs.h:320
Definition: diguyViewPainter.h:38
Definition: diguyViewLight.h:55
int(* diguyModuleFunctionArgument4Floats)(float, float, float, float)
Definition: diguy_typedefs.h:255
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:77
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:93
diguyGraphicsInstanceGroup * diguyGraphicsInstanceGroupCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:269
int(* diguyModuleFunctionArgument4FloatPtrs)(float *, float *, float *, float *)
Definition: diguy_typedefs.h:258
Definition: diguyGraphicsFrameBuffer.h:10
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:44
int(* diguyModuleFunctionArgument2DoublePtrs)(double *, double *)
Definition: diguy_typedefs.h:246
float diguyScenarioAltitudeFunction(diguyScenario *scenario, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:129
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:114
int(* diguyModuleFunctionArgumentCharStarStar)(char **)
Definition: diguy_typedefs.h:237
int(* diguyModuleFunctionStandard)()
Definition: diguy_typedefs.h:228
int(* diguyModuleFunctionArgument2Doubles)(double, double)
Definition: diguy_typedefs.h:243
diguyParticleSystemRenderer * diguyParticleRendererCreateFunc(void)
Definition: diguy_typedefs.h:280
Definition: diguyGraphicsFile.h:35
diguyCallbackReturn diguySensorRegionCallback(diguySensorRegion *sensor_region, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:178
A class that represents a shared texture.
Definition: diguyGraphicsTexture.h:122
A class that represents a shared material.
Definition: diguyGraphicsMaterial.h:42
diguyGraphicsFrameBuffer * diguyGraphicsFrameBufferCreateFunc(void)
Definition: diguy_typedefs.h:268
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:80
float diguyAltitudeFunction(diguyCharacter *character, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:54
int diguyCharacterLOSFunction(diguyCharacter *character, diguyCharacter *target_character, int visibility_type)
Definition: diguy_typedefs.h:103
diguyCallbackReturn diguyViewLightCallback(diguyViewLight *light, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:172
Represents the scenario currently being portrayed.
Definition: diguyScenario.h:94
diguyAuthorVisualWaypoint * diguyAuthorVisualWaypointCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:266
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:80
Definition: diguySensorRegion.h:38
int diguyPointLOSFunction(diguyCharacter *character, float x, float y, float z)
Definition: diguy_typedefs.h:108
int(* diguyModuleFunctionArgument2Ints)(int, int)
Definition: diguy_typedefs.h:240
int(* diguyUserInformFunction)(int pause_scenario, const char *caption, const char *text)
Definition: diguy_typedefs.h:316
diguyCallbackReturn diguyViewCallback(diguyView *view, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:202
int diguyScenarioNamedCallback(diguyScenario *scenario, const char *callback_name, void *callback_user_data)
Definition: diguy_typedefs.h:136
An interface class that allows diguy to trigger an immediate mode rendering of a diguy particle syste...
Definition: diguyParticleSystem.h:147
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:61
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:166
Definition: diguySignal.h:36
diguyCallbackReturn diguySignalCallback(diguySignal *signal, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:184
diguyGraphicsShaderTechnique * diguyGraphicsShaderTechniqueCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:275
Definition: diguyViewFog.h:35
diguyCallbackReturn
DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIG...
Definition: diguy_constants.h:96
diguyGraphicsFile * diguyGraphicsFileCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:267
void(* diguyModuleFunctionReturnsVoid)()
Definition: diguy_typedefs.h:231
diguyViewPainter * diguyViewPainterCreateFunc()
Definition: diguy_typedefs.h:220
int(* diguyModuleFunctionArgument3Floats)(float, float, float)
Definition: diguy_typedefs.h:249
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:51
int(* diguyModuleFunctionArgument3FloatPtrs)(float *, float *, float *)
Definition: diguy_typedefs.h:252
Definition: diguyVariable.h:38
Link against: libdiguy
Definition: diguyAuthorVisualWaypoint.h:37
diguyGraphicsShaderProgram * diguyGraphicsShaderProgramCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:274
diguyGraphicsShaderInstance * diguyGraphicsShaderInstanceCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:273
int(* diguyModuleFunctionArgumentConstChar)(const char *)
Definition: diguy_typedefs.h:234
int(* diguyUserQueryYesNoFunction)(diguyVariable *result_variable, int pause_scenario, const char *caption, const char *text, const char *button0, const char *button1)
Definition: diguy_typedefs.h:289
diguyParticleSystem * diguyParticleSystemCreateFunc(void *internal_data, const char *particle_system_name)
Definition: diguy_typedefs.h:279
This class implements shader lod system for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderTechnique.h:152
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:96
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:301
diguyGraphicsState * diguyGraphicsStateCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:277
diguyCallbackReturn diguyVariableCallback(diguyVariable *variable, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:190
static diguyScenario * scenario
Definition: simple_playback_ogl.cpp:56
diguyCallbackReturn diguyViewCameraCallback(diguyViewCamera *camera, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:196
diguyGraphicsMaterial * diguyGraphicsMaterialCreateFunc(void *internal_data)
Definition: diguy_typedefs.h:271