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