DI-Guy SDK Documentation
13.7
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
diguy_changes.h
Go to the documentation of this file.
1
2
/*****************************************************************************
3
**
4
*t DI-Guy Changes and Version History
5
*/
6
/****************************************************************************/
7
8
/*****************************************************************************
9
*****************************************************************************
10
**
11
*2 DI-Guy Version 12.5
12
**
13
*****************************************************************************
14
*****************************************************************************
15
**
16
17
**************************************
18
*3 DI-Guy API
19
**************************************
20
**
21
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
22
**
23
*4 Version 12.5.3
24
**
25
*- - Fixed a bug in diguyApp::set_num_rendering_passes() where it would not effect
26
*- rendering in the graphics API.
27
*- - Added support for two pass transparency rendering in the Graphics API
28
*- - Fixed appearances not instantly broadcasting a PDU when character appearance changed.
29
*- - Fixed position pop when character appearance changed.
30
*- - Fixed hard crash when preloading appearances with legacy character types.
31
*- - Fixed bug with handling of uppercase extensions on geometry data.
32
**
33
*4 Version 12.5.2
34
**
35
*- - Fixed precision issue in diguyCharacter::get_position_double().
36
*- - Fixed xref bounds issue on initial scene object load.
37
*- - Fixed dae LOD issue where lod's after 0 were not loaded.
38
*- - Added diguyCharacter::get_num_appearances_of_type() and
39
*- diguyCharacter::get_appearance_name_at_index() accessors for various appearances.
40
*- - Vehicles that aren't sending custom PDU's will still generate repulsive
41
*- bounds for crowds.
42
**
43
*4 Version 12.5.1
44
**
45
*- - Fixed bug where customer sourced dds files failed to load because we assumed
46
*- they were lz4'ed.
47
*- - Fixed bug where files with capitalized extensions eg "FLT" failed to load.
48
*- - Fixed bug where invalid xrefs caused parent bounding boxes to fail to register
49
*- as possibly valid.
50
*- - Fixed hard crash when drawing empty octtree.
51
*- - Fixed matrix state glitch when drawing octtree and scene object bounds
52
*- - Fixed path planning bug in funnel code when far above the z origin.
53
*- - Fixed bug where browsing for a new scene object file name didn't force octtree
54
*- recreation.
55
*- - Fixed logic bug in check visibility code.
56
*- - Fixed bug where changing appearances could cause single frame muzzle flashes and
57
*- loss of character skinning matrices.
58
*- - Fixed bug where flt files were unable to have their material edited by
59
*- the character viewer
60
*- - Fixed bug where changing character type caused all action beads to collapse
61
*- on a path.
62
*- - Added additional guide example showing differences between similar and dissimilar
63
*- character types.
64
*- - Fixed bug in built-in OpenGL renderer where fixed function mode didn't properly
65
*- bind textures. Fixes textureless segmented characters rendering in Motion Editor.
66
*- - Fixed joystick not properly loading in I-Guy mode.
67
*- - Fixed ray testing against scaled scene objects.
68
*- - Fixed off by one error in link combo in character viewer.
69
*- - Fixed bug in Lua debugger. "Step over" and "Step out" buttons were not working correctly
70
*- - General improvements to code that tests get_enabled() and get_dead() on a character, the
71
*- code will now also test the character's t_out compared to current time.
72
*- - Added diguyAgentParams:set_influence_box_enabled() (and get)
73
*- - Fixed bug with ground clamping on large scenarios.
74
*- - Fixed performance issue with receiving props over the network.
75
*- - Improved shadow pass rendering performance.
76
*- - Shader cleanup.
77
*- - Changed Graphics API shader samples to default point light #define to off.
78
*- - Fixed crash when executing gesture that wasn't made for a character.
79
*- - Fixed crash when loading degenerate flt file xrefs.
80
*- - Improved memory use when decompressing many dds files.
81
*- - diguyCharacter::set_orientation() now checks if the character has a vehicle
82
*- controller and if so, it now allows the caller to hard-set the vehicle's
83
*- orientation. Previously, only the vehicle controller determined this.
84
*- - diguyCharacter::find_path() now checks if the character_type contains the
85
*- substring 'vehicle' and if so, the path produced will be wide enough to allow
86
*- the character to pass, based upon character's bounding-box's width.
87
*- - Added a number of try/catch blocks to deal with running out of memory while
88
*- loading extremely large scenarios.
89
*- - Added code/UI to allow DI-Guy Scenario to unload textures when not used for
90
*- a long time. Off by default.
91
*- - Added diguyCharacter::trigger_shader_refresh(), a function that triggers
92
*- a refresh of the shader for a character.
93
*- - Added a number of experimental diguyApp memory management functions:
94
*>
95
*- - diguyApp::set_threshold_to_unload_textures()
96
*- - diguyApp::get_threshold_to_unload_textures()
97
*- - diguyApp::set_texture_unload_frequency()
98
*- - diguyApp::get_texture_unload_frequency()
99
*- - diguyApp::get_unload_unused_after_scenario_load()
100
*- - diguyApp::set_unload_unused_after_scenario_load()
101
**
102
*4 Version 12.5.0
103
**
104
*b CRITICAL api changes
105
*- - C++ callback:<br>
106
*b float AltitudeFunction( diguyScenario* scenario, float x, float y, float old_z); <br>
107
*- has been replaced with <br>
108
*b float AltitudeFunction( diguyScenario* scenario, float x, float y, float old_z, int * valid);<br>
109
*- code will need to be updated before recompiling.
110
*- - Graphics API
111
*>
112
*- - bdiGraphicsInitGraphicsAPI.use_4x3_shader_matrices must be set to 0 if you
113
*- aren't planning on upgrading shaders to use 4x3 matrices.
114
*- - As a performance optimization we are no longer transposing our internal matrix
115
*- representation in C++ before sending to OpenGL.
116
*- 4x4 matrix bind should get updated to
117
*e glUniformMatrix4fv(m_bind_location_ufrm_link_matrices, // uniform var location
118
*e num_mats, // number of matrices
119
*e !get_transposed_matrix_data(), // whether to transpose matrix
120
*e mat_data); // pointer to matrix data
121
*- where bdiGraphicsInitGraphicsAPI.transpose_shader_matrices has been properly set
122
*- see diguyOglGraphicsShaderProgram.cpp for example.
123
*<
124
**
125
*b New Features
126
*- - New adaptive guide allowing characters to fix dead reckoning errors with appropriate
127
*- step and strafe motions. Now the default in the networking system as well as featured
128
*- in the guide example.
129
*- - New texture variation system allowing for infinite variations on next-gen
130
*- characters. See diguyCharacter::set_use_texture_variations().
131
*- - Next-gen characters now have a number of multiple available head appearances.
132
*- - Motion engine should now be fully multi-threaded, thread control api is part of diguyApp.
133
*- - New C++ documentation system, utilizing doxygen.
134
*- - Fixed matrix update issues with motion lod system and skinned characters,
135
*- motion lod system can be used again with them, same issues had been happening with
136
*- segmented characters as well. We recommend using multi-threaded pipeline instead
137
*- of motion lods at this point.
138
*- - New ground clamp option 'g' - approximation based on ground clamping vehicle bounds
139
*- - Scene objects can now be collada DAEs.
140
*- - Added support for bump maps on scene objects.
141
*- - New multi-threaded asynchronous texture loader, controllable via scenario UI and
142
*- diguyCharacter::set_texture_load_behavior() and diguySceneObject::set_texture_load_behavior()
143
*-
144
*- - Collision Infrastructure Improvements:
145
*>
146
*- - Improved performance of ray tests with scenes with many props.
147
*- - Scene Object spatial partitioning system has been overhauled allowing scene objects
148
*- to be reposition without recreating the octtree.
149
*- - Octtree memory usage has been reduced by 10%.
150
*- - Octtree is now available for end users who's objects are not flt files, see
151
*- scene_object_mesh programming example.
152
*<
153
*- - New Scene Object collision control API functions:
154
*>
155
*- - diguyScenario::create_user_defined_scene_object()
156
*- - diguySceneObject::add_vertex_to_user_defined()
157
*- - diguySceneObject::add_triangle_to_user_defined()
158
*- - diguySceneObject::add_vertex_array_to_user_defined();
159
*- - diguySceneObject::add_triangle_array_to_user_defined()
160
*- - diguySceneObject::add_triangle_to_user_defined();
161
*- - diguySceneObject::build_user_defined();
162
*<
163
*- - New API functions:
164
*>
165
*- - diguyCharacter::get_facefx_node_value()
166
*- - diguyCharacter::get_max_shader_quality_level()
167
*- - diguyCharacter::get_texture_load_behavior()
168
*- - diguyCharacter::get_use_texture_variations()
169
*- - diguyCharacter::set_max_shader_quality_level()
170
*- - diguyCharacter::set_texture_load_behavior()
171
*- - diguyCharacter::set_use_texture_variations()
172
*- - diguyCharacter::set_use_texture_variations()
173
*- - diguyCharacter::set_current_hand_item_appearance(const char* hand_item_appearance)
174
*- - diguyCharacter::get_current_hand_item_appearance()
175
*- - diguyCharacter::get_num_supplementary_appearances_of_type(diguySupplementaryAppearanceTypes appearance_type)
176
*- - diguyCharacter::get_supplementary_appearance_name(diguySupplementaryAppearanceTypes appearance_type, int index)
177
*- - diguyImpact::get_impact_velocity(float* x, float* y, float* z)
178
*- - diguyImpact::get_is_from_net_detonation()
179
*- - diguyImpact::get_DIS_munition_septet_value(int septet_index)
180
*- - diguyImpact::get_DIS_site()
181
*- - diguyImpact::get_DIS_host()
182
*- - diguyImpact::get_DIS_event_number()
183
*- - diguyImpact::get_DIS_munition_number()
184
*- - diguyImpact::get_DIS_detonation_result()
185
*- - diguyImpact::get_DIS_burst_warhead_type()
186
*- - diguyImpact::get_DIS_burst_fuze()
187
*- - diguyImpact::get_DIS_burst_quantity()
188
*- - diguyImpact::get_DIS_burst_rate()
189
*- - diguyScenario::get_character_type_from_appearance();
190
*- - diguyScenario::get_num_character_types_with_appearance()
191
*- - diguyScenario::get_weapon_fire_effects_enabled()
192
*- - diguyScenario::set_default_intersection_function()
193
*- - diguyScenario::set_intersection_function()
194
*- - diguyScenario::set_particle_module_disabled()
195
*- - diguyScenario::set_weapon_fire_effects_enabled()
196
*- - diguySceneObject::get_max_shader_quality_level()
197
*- - diguySceneObject::get_texture_load_behavior()
198
*- - diguySceneObject::set_max_shader_quality_level()
199
*- - diguySceneObject::set_texture_load_behavior()
200
*- - diguy_ogl_apply_active_lights();
201
*<
202
*- - Upgraded lua/C++ binding library. Should greatly improve the readablity of error warnings
203
*- when lua improperly calls C++.
204
*- - diguyCharacter::get_ai_state_string() signature has changed to have flags for
205
*- optionally including callstack info.
206
*- - diguyCharacter::is_within_distance_n_of_member_of_group() factors in if a character
207
*- is enabled.
208
*- - Fixes to the bead constraints system (and user interface) renamed beads should
209
*- keep the script and decision constraints attached to them.
210
*- - Fixed bugs where script and decision beads attached to the end of paths and stop
211
*- signs didn't always trigger, or triggered later then might be expected. This might
212
*- introduce slight timing changes to existing scenarios.
213
*- - Characters are now sorted before drawing, and depending on the rendering pass
214
*- drawn front to back or back to front.
215
*- - Fixed bug in diguyCharacter::force_partial_path() when a target action bead is specified.
216
*- - Fixed crash in diguyScenario::preload_appearance() when a non-existant appearance is specified.
217
*- - diguyScenario::preload_appearance() should now preload textures for appearances
218
*- that are based on material swaps.
219
*- - References to aim algorithm 7 have been removed.
220
*- - Deprecated Functions Removed:
221
*>
222
*- - diguyApp::create_load_manager() replaced with diguyScenario::create_load_manager()
223
*- - diguyApp::get_load_manager() replaced with diguyScenario::get_character_load_manager()
224
*- - diguyApp::get_load_manager() replaced with diguyScenario::get_character_load_manager()->set_enabled(0)
225
*- - diguyCharacter::set_max_impact_hits() replaced with diguyCharacter::set_weapon_max_impacts()
226
*- - diguyCharacter::get_paused() replaced with diguyCharacter::get_is_network_paused()
227
*- - diguyCharacter::get_visible() replaced with diguyCharacter::get_is_drawn()
228
*- - diguyCharacter::set_aim_param_desired_locate_time()
229
*- - diguyCharacter::get_aim_param_desired_locate_time()
230
*- - diguyCharacter::set_aim_param_seek_tolerance()
231
*- - diguyCharacter::get_aim_param_seek_tolerance()
232
*- - diguyCharacter::set_aim_interpolation_flag()
233
*- - diguyCharacter::get_aim_interpolation_flag()
234
*- - diguyCharacter::set_aim_smooth_flag()
235
*- - diguyCharacter::get_aim_smooth_flag()
236
*- - diguyCharacter::set_aim_divisions()
237
*- - diguyCharacter::set_aim_param_time_constant() replaced with set_aim_param_acquire_factor()
238
*- - diguyCharacter::get_aim_param_time_constant() replaced with get_aim_param_acquire_factor()
239
*- - diguyCharacter::set_aim_param_time_constant2() replaced with set_aim_param_new_aim_duration()
240
*- - diguyCharacter::get_aim_param_time_constant2() replaced with get_aim_param_new_aim_duration()
241
*- - diguyCharacter::set_aim_param_reset_time_constant() replaced with set_aim_param_new_aim_factor()
242
*- - diguyCharacter::get_aim_param_reset_time_constant() replaced with get_aim_param_new_aim_factor()
243
*<
244
*- - Deprecated Callbacks Removed:
245
*>
246
*- - diguyCrowd::CALLBACK_ID_NEW_FOCUS_CHARACTER use diguyCharacter::CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER
247
*- - diguyCrowd::CALLBACK_ID_ATTACKER_OUT_OF_TARGETS use diguyCharacter::CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS
248
*- - diguyCrowd::CALLBACK_ID_ATTACKER_NO_VISIBLE_TARGETS use diguyCharacter::CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS
249
*- - diguyCrowd::CALLBACK_ID_PURSUED_CHARACTER_REACHED use diguyCharacter::CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED
250
*- - diguyCrowd::CALLBACK_ID_WANDER_TARGET_REACHED use diguyCharacter::CALLBACK_ID_AGENT_WANDER_TARGET_REACHED
251
*<
252
*- - Fixed bug with T-in/T-out and review data on scene object characters.
253
*- - Updated perl header file examples with lua equivalents.
254
*- - Character viewer debug shader can now be used on scene objects
255
*- - Fixed bug on blinking characters when t-in was not 0.
256
*- - Fixed Expressive Faces pop when interacting with gaze code.
257
*- - Added the ability to pause the shadow map update and lower the update frequency.
258
*- - Added controls for adjusting the shadow map frustum and shadow acne fudge factor.
259
*- - Character culling is now based on the base link, not the position link.
260
*- - New DI-Guy Author APIs:
261
*>
262
*- - diguyAuthorInterface
263
*- - diguyAuthorVisualMaterial
264
*- - diguyAuthorVisualMultiline
265
*- - diguyAuthorVisualObjectHandle
266
*- - diguyAuthorVisualObjectHandle
267
*- - diguyAuthorVisualRegionMesh
268
*- - diguyAuthorVisualRegionPaintbrush
269
*- - diguyAuthorVisualWaypoint
270
*<
271
**
272
**************************************
273
*3 DI-Guy Scenario
274
**************************************
275
**
276
*4 Version 12.5.0
277
**
278
*- - New lighting system triggered by particle effects and weapons fire.
279
*- - Improvements to 3d visuals for path editing.
280
*- - Merged some subwidgets in character page.
281
*- - Improved interactive Face Expression Editing.
282
*- - Improved determinism of fast forward, and setting current time via the VCR UI.
283
*- - Streamlined performance settings. Crowd Load Manager, Load Manager tabs have
284
*- been phased out, settings are now located in the performance page.
285
*- - Changing camera settings will now force a motion update on all characters.
286
*- - Property tree UI's now have slider widgets, easier to change values interactively.
287
*- - Labels above character's heads now autoscale and draw z-sorted.
288
*- - Right click menu now contains a shortcut to turning on the debug label.
289
*- - Right click on log window selection can now go to package selected or Character
290
*- selected.
291
*- - Shader UI includes the ability to edit character variation texture colors.
292
*- - Physx library has been rewritten to use Physx 3.2, this is upgraded from version 2.8, Physx
293
*- installer should no longer be needed.
294
*- - Fixed a number of sound looping issues.
295
*- - Hand items are no longer baked into separate character appearances, but are selectable from a
296
*- menu of multiple options associated with a single character appearance. This is similar to
297
*- how head appearances work.
298
**
299
**************************************
300
*3 DI-Guy AI
301
**************************************
302
**
303
*4 Version 12.5.0
304
**
305
*- - Improved turning motion system, now on by default.
306
*- - Variant system now treats the normal variant as an indicator to automatically
307
*- pick an appropriate variant for the character. Controlled by
308
*- diguyCharacter::agent_set_auto_variant_selection()
309
*- - System will now cycle through appropriate motions randomly.
310
*- - LuaCharacter - sleep_ignore_messages avoids resuming the coroutine.
311
*- - AI movement callbacks are now queued up and triggered at the end of the
312
*- multi-threaded update.
313
*- - New AI State Inspector - mini lua watch window, activate via right click menu.
314
*- - Added diguyCrowdProfile::create_character() short cut for using a profile to
315
*- create a character.
316
*- - Significantly improved speed of collision influence calculation for crowds.
317
*- - Crowd profiles have been updated to use new variation system.
318
*- - Performance improvement for adding/deleting/transforming scene objects.
319
*- - Performance improvement for intersection testing against scene objects and props.
320
*- - New API functions:
321
*>
322
*- - diguyAgentParams::set_turning_motions_enabled()
323
*- - diguyAgentParams::get_turning_motions_enabled()
324
*- - diguyCharacter::agent_set_auto_variant_selection()
325
*- - diguyCharacter::agent_get_auto_variant_selection()
326
*- - diguyCrowdProfile::create_character()
327
*<
328
***
329
**************************************
330
*3 Graphics API Changes
331
**
332
*4 Version 12.5.3
333
*- - Fix for automatic graphics LOD switching not working in graphics api.
334
**
335
*4 Version 12.5.2
336
*- - Fix in OpenSceneGraph implementation for leaking nodes when using
337
*- variation textures.
338
**
339
*4 Version 12.5.1
340
*- - Added functionality to support color picking intersection testing for
341
*- scene graph implementations.
342
*- - Added sample code demonstrating intersection testing with OpenSceneGraph.
343
*- - New API Functions:
344
*>
345
*- - diguyGraphicsShape::get_bind_color_array()
346
*<
347
*4 Version 12.5.0
348
*- - Modified diguyOsgGraphicsMesh::build() to load appearance textures
349
*- on demand instead of pre-loading all appearance textures.
350
*- - Added support for 4x3 skinned matrices, saves 25% of the bandwidth and
351
*- uniform constants sent per character draw call. Now the default for OpenGL.
352
*- Configurable via bdiGraphicsInitOgl.use_4x3_shader_matrices and
353
*- bdiGraphicsInitGraphicsAPI.use_4x3_shader_matrices.
354
*- diguy_graphics_get_osg_defaults() and diguy_graphics_get_dx9_defaults()
355
*- have been added to make it a bit easier to get the defaults set up.
356
*- - Added sample code demonstrating use of 4x3 matrices for transform data.
357
*- - Greatly expanded shader techniques API, diguyGraphicsShaderTechnique can
358
*- now be subclassed and end users can create new shaders on the fly with
359
*- diguyGraphicsShaderTechnique::find_or_create_shader_variation(). End users
360
*- can override existing functionality and return alternatively compiled shaders
361
*- depending on their own criteria, sample code is provided demonstrating
362
*- conditionally compiling in point light support but only using shader when
363
*- necessary.
364
*- - Fixed matrix transpose mistake in diguyOglGraphicsLink.cpp
365
*- - Cleaned up computation of local space camera.
366
*- - Removed use of display lists from diguyOglGraphicsMaterial.cpp
367
*- - Cleaned up diguyOglGraphicsShaderInstance.cpp to reflect the use of shader
368
*- techniques.
369
*- - Added sample code demonstrating updating lighting state for simple point
370
*- lights on characters.
371
*- - Added sample code demonstrating using #defines to control compilation of
372
*- various shader features.
373
*- - Added support for variation system to sample code, this is shown in diguyOglGraphicsShape
374
*- and diguyOsgGraphicsShape.
375
*- - Added diguyOglGraphicsShaderTechnique demonstrating how to modify built-in
376
*- shaders and overriding our existing shader LOD system.
377
*- - New API Functions:
378
*>
379
*- - diguyGraphicsShaderProgram::get_num_additional_feature_names()
380
*- - diguyGraphicsShaderProgram::get_additional_feature_name()
381
*- - diguyGraphicsShaderProgram::has_additional_feature()
382
*- - diguyGraphicsShaderProgram::get_vertex_shader_filename()
383
*- - diguyGraphicsShaderProgram::get_pixel_shader_filename()
384
*- - diguyGraphicsShaderProgram::get_transposed_matrix_data()
385
*- - diguyGraphicsShaderProgram::load()
386
*- - diguyGraphicsShaderProgram::get_use_4x3_shader_matrix_data()
387
*- - diguyGraphicsShaderTechnique::get_shader_by_distance()
388
*- - diguyGraphicsShaderTechnique::get_program_index_by_distance()
389
*- - diguyGraphicsShaderTechnique::get_shadow_pass_shader()
390
*- - diguyGraphicsShaderTechnique::find_or_create_shader_variation()
391
*- - diguyGraphicsShaderTechnique::pick_shader_program()
392
*- - diguyGraphicsShaderTechnique::build();
393
*- - diguyGraphicsShaderTechnique::add_additional_shader()
394
*- - diguyGraphicsShaderTechnique::get_num_additional_shaders()
395
*- - diguyGraphicsShaderTechnique::get_additional_shader_at_index()
396
*- - diguyGraphicsShape::get_variation_texture()
397
*- - diguyGraphicsShape::get_variation_texture_size()
398
*- - diguyGraphicsShape::update_variation_texture()
399
*- - Init params: bdiGraphicsInitGraphicsAPI.transpose_shader_matrices
400
*- - Init params: bdiGraphicsInitGraphicsAPI.use_4x3_shader_matrices
401
*<
402
**************************************
403
*3 DI-Guy Networking Changes
404
**************************************
405
**
406
*4 Version 12.5
407
**
408
*- - New API Functions:
409
*>
410
*- - diguyNetInterface::set_use_adaptive_guide()
411
*- - diguyNetInterface::get_use_adaptive_guide()
412
*<
413
*- - New Custom PDU's ( Note: Functionality currently limited to DIS. )
414
*>
415
*- - DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION replicates variation texture over the network
416
*- - DIGUY_CUSTOM_PDU_ID_EXECUTE_GESTURE replicates the diguyCharacter::execute_gesture()
417
*- call over the network
418
*- - DIGUY_CUSTOM_PDU_ID_CHARACTER_SCALE replicates the diguyCharacter::set_scale()
419
*- value over the network.
420
*<
421
*- - DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE Now contains a second optional
422
*- string for head appearances
423
424
*****************************************************************************
425
*****************************************************************************
426
**
427
*2 DI-Guy Version 12.0
428
**
429
*****************************************************************************
430
*****************************************************************************
431
**
432
**************************************
433
*3 DI-Guy Scenario
434
**************************************
435
**
436
*4 Version 12.0.1
437
**
438
*- - Added visualization option for gaze vectors.
439
*- - Restored missing default face expressions and chain settings
440
*- libraries to new.dss.
441
*- - Added display of more callback information to the Event Mapper User
442
*- Interface.
443
*- - Fixed bugs with water shader.
444
**
445
446
**************************************
447
*3 DI-Guy AI
448
**************************************
449
**
450
**************************************
451
*3 DI-Guy API
452
**************************************
453
**
454
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
455
**
456
*4 Version 12.0.3
457
**
458
*- - Updated network model map for vehicles and also resolved issue with vehicles
459
*- stuttering on paths.
460
*- - Made fire and detonation PDUs use matching event ids. Added velocities to Fire
461
*- PDUs. M16 velocity is used by default for all weapons but can be overridden in
462
*- munition config file.
463
*- - Fixed DI-Guy Scenario bugs in copy/paste paths, action spreadsheet.
464
*- - Fixed minor content bugs involving missing torso on insurgent.
465
**
466
*4 Version 12.0.2
467
**
468
*- - Fixed diguyApp::reload_shader_programs() to support the graphics API.
469
*- See diguyOglGraphicsShaderProgram.cpp for minor change: shaders that
470
*- are already loaded must be detached on reload.
471
*- - Added diguyCharacter::set_shader_lod() and
472
*- diguyCharacter::get_shader_lod().
473
*- - Modified diguyCharacter::set_face_expression() to support a strength
474
*- multiplier.
475
*- - Modified diguyOsgGraphicsMesh::build() to load appearance textures
476
*- on demand instead of pre-loading all appearance textures.
477
*- - Call callbacks with id CALLBACK_ID_SCENE_OBJECT_IMPACT if
478
*- diguyScenario::trigger_detonation() or
479
*- diguyCharacter::trigger_detonation_on_character() are called.
480
*- - Values in diguy_dis_constants.h now available in scripting.
481
*- - Added a number of DIS detonation data values to diguyImpact; e.g.,
482
*- diguyImpact::get_DIS_detonation_result().
483
**
484
*4 Version 12.0.1
485
**
486
*- - AI flee code now properly uses feeler callback to pick the longest
487
*- available flee route when near buildings.
488
*- - Fleshed out FaceFX api, fixed a number of after action review issues,
489
*- added the following functions:
490
*>
491
*- - diguyCharacter::stop_facefx_animations()
492
*- - diguyCharacter::get_num_facefx_nodes();
493
*- - diguyCharacter::get_facefx_node_name();
494
*- - diguyCharacter::find_facefx_node_index();
495
*- - diguyCharacter::set_facefx_node_value();
496
*<
497
*- - Updates to FaceFX sample content.
498
**
499
*- - Added the following functions to help enable advanced shader materials
500
*- in the graphics api:
501
*>
502
*- - diguyOglGraphicsShaderProgram::bind_uniform_with_location()
503
*- - diguyOglGraphicsShaderProgram::bind_uniform_with_location()
504
*- - diguyOglGraphicsShaderProgram::get_attrib_bind_location()
505
*- - diguyOglGraphicsShaderProgram::get_uniform_bind_location()
506
*<
507
*- - Streamlined shader bind and unbind calls.
508
*- - Fixed issue where even with only 1 update thread was used some of the
509
*- multi-threaded infrastructure was active.
510
*- - Added warnings to various add_callback_script functions to warn if
511
*- the same callback is repeatedly added.
512
*- - Update Middle Eastern AI's to avoid perpetual memory growth.
513
*-
514
*- - Changed multi-threading to only use the Qt threading framework when
515
*- more than one thread is allocated to DI-Guy.
516
**
517
*4 Version 12.0.0
518
**
519
*- - In API programs shadow disks are off by default. Now the
520
*- "set_draw_character_shadow_disks" setting in .dss files will be
521
*- ignored. To turn shadow disks on or off an explicit call to
522
*- diguyScenario::set_draw_character_shadow_disks() needs to be made.
523
*- - Fixed diguyCharacter::agent_set_current_params_from_profile() so
524
*- arguments are in proper order. *Note*: If you have existing calls
525
*- to agent_set_initial_params_from_profile(), verify that you are
526
*- getting proper behavior.
527
*- - Added the following functions:
528
*>
529
*- - diguyAgentParams::set_wander_max_wander_dist()
530
*- - diguyAgentParams::set_wander_sets_desired_orientation()
531
*<
532
*- - Removed the following experimental functions; should use minds
533
*- instead:
534
*>
535
*- - diguyCharacter::add_state_machine_instance()
536
*- - diguyCharacter::remove_state_machine_instance()
537
*- - diguyCharacter::remove_all_state_machine_instances()
538
*- - diguyCharacter::find_state_machine_instance()
539
*- - diguyScenario::get_num_state_machines()
540
*- - diguyScenario::create_state_machine()
541
*- - diguyScenario::destroy_state_machine()
542
*- - diguyScenario::get_state_machine_at_index()
543
*- - diguyScenario::find_state_machine()
544
*- - diguyScenario::get_num_state_machine_instances()
545
*- - diguyScenario::add_state_machine_instance()
546
*- - diguyScenario::remove_state_machine_instance()
547
*- - diguyScenario::get_this_state_machine_instance()
548
*- - diguyCrowd::all_members_add_state_machine_instance()
549
*- - diguyCrowd::all_members_remove_state_machine_instance()
550
*<
551
*- - Removed the following deprecated functions:
552
*>
553
*- - diguyApp::set_student_log_callback()
554
*- - diguyApp::student_log_print()
555
*- - diguyApp::set_user_query_yes_no_callback()
556
*- - diguyApp::user_query_yes_no()
557
*- - diguyApp::set_user_query_text_callback()
558
*- - diguyApp::set_user_query_item_callback()
559
*- - diguyApp::user_query_item()
560
*- - diguyApp::set_user_inform_callback()
561
*- - diguyApp::user_inform()
562
*<
563
**************************************
564
*4 Graphics API Changes
565
**
566
*/
567
568
/*****************************************************************************
569
*****************************************************************************
570
**
571
*2 DI-Guy Version 11
572
**
573
*****************************************************************************
574
*****************************************************************************
575
**
576
**************************************
577
*3 DI-Guy API
578
**************************************
579
**
580
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
581
**
582
*4 Version 11.6.0
583
**
584
*- - Added diguyRegionPaintbrushMode enum to diguy_constants.h.
585
*- - Fixed problem with agent_set_current_params_from_profile() use in
586
*- decision clauses.
587
*- - Made the following functions callable from decisions:
588
*>
589
*- - diguyCharacter::agent_move_on()
590
*- - diguyCharacter::agent_move_to_region()
591
*- - diguyCharacter::agent_path_follow()
592
*- - diguyCharacter::agent_resume_path_follow()
593
*- - diguyCharacter::agent_set_current_focus_character()
594
*- - diguyCharacter::agent_set_current_focus_group()
595
*<
596
*- - Added the following functions:
597
*>
598
*- - diguyApp::set_region_paintrush_mode()
599
*- - diguyApp::get_region_paintrush_mode()
600
*- - diguyApp::set_munition_type_DIS_impact_septet()
601
*- - diguyApp::set_munition_type_DIS_tracer_septet()
602
*- - diguyCharacter::trigger_detonation_on_character()
603
*- - diguyCharacter::get_vehicle_body_orientation()
604
*- - diguyScenario::trigger_decision_delayed()
605
*- - diguyScenario::trigger_script_delayed()
606
*- - diguyScenario::get_altitude_from_point()
607
*- - diguyScenario::destroy_region()
608
*- - diguyScenario::save()
609
*- - diguyScenario::save_as()
610
*- - diguyScenario::get_filename()
611
*- - diguyScenario::get_filename_without_directory()
612
*- - diguyScenario::get_unsaved()
613
*- - diguyScenario::set_unsaved(int unsaved)
614
*- - diguyRegion::get_random_factor()
615
*<
616
*- - Remove unused playback mode enum DIGUY_SCENARIO_PLAYBACK_MODE_RECORD.
617
*- - Made changes to some scenario call operations. Previously the
618
*- diguyScenario::post_draw() call had no effect; it now allows various
619
*- post draw type operations to be optionally invoked. Previously
620
*- these operations were automatically done at the end of
621
*- diguyScenario::draw_pass2().
622
*- - Added the following functions:
623
*>
624
*- - diguyScenario::set_overall_history_type()
625
*- - diguyScenario::get_overall_history_type()
626
*- - diguyScenario::manually_invoke_callbacks_now()
627
*- - diguyScenario::set_current_region()
628
*- - diguyScenario::get_current_region()
629
*<
630
**
631
**************************************
632
*4 Graphics API Changes
633
**
634
*- - Moved the following functions from diguyGraphicsShaderInstance to
635
*- diguyGraphicsShaderProgram:
636
*>
637
*- - diguyGraphicsShaderInstance::bind_link_matrices()
638
*- - diguyGraphicsShaderInstance::bind_color_array()
639
*<
640
** Your Graphics API subclasses will need to be updated.
641
** bind_link_matrices() will now potentially be called multiple times per
642
** character depending on its complexity. For example, animated faces
643
** from facefx will cause multiple matrix binds.
644
**
645
** The signature for diguyGraphicsTexture::bind_now() has changed to
646
** diguyGraphicsTexture::bind_now(diguyTextureMapType texture_type) to
647
** support multi-texturing. Your Graphics API subclasses need to be
648
** updated.
649
**
650
**************************************
651
*4 Version 11.0.x
652
**
653
*- - Added ability to hear sounds when history is enabled and time is
654
*- rewound to a point midway in the sound. Note that the function
655
*- diguyScenario::set_history_max_sound_instances() lets users set how
656
*- many sound instances to be remembered; default is 100.
657
*- - Updated where DI-Guy looks for its license file. It is looked for
658
*- in this order:
659
*>
660
*- - file specified by the environment variable DIGUY_LICENSE_FILE
661
*- - file specified by the environment variable BDILM_LICENSE_FILE
662
*- - file specified by the environment variable LM_LICENSE_FILE
663
*- - license.dat in DI-Guy installation flexlm subdir
664
*<
665
*- - Turned off character shadow disks by default when using SDK; they're
666
*- still on by default in DI-Guy Scenario.
667
**
668
*4 Version 11.0.4
669
**
670
*- - Resolved issues with wheeled vehicles on paths, force_action, and resume_path
671
*>
672
*- - Problem with vehicles not resuming their path and remaining motionless after force_action("still")
673
*- - Problem with vehicles resuming path and wheels not spinning
674
*- - Problems with position discontinuities when force_action("still") is applied to a vehicle on a path
675
*<
676
*4 Version 11.0.2
677
**
678
*- - Updated where DI-Guy looks for its license file. It is looked for
679
*- in this order:
680
*>
681
*- - file specified by the environment variable DIGUY_LICENSE_FILE
682
*- - file specified by the environment variable BDILM_LICENSE_FILE
683
*- - file specified by the environment variable LM_LICENSE_FILE
684
*- - license.dat in DI-Guy installation flexlm subdir
685
*<
686
*- - Turned off character shadow disks by default when using SDK; they're
687
*- still on by default in DI-Guy Scenario.
688
*- - Removed use of glCallList in materials for the Graphics API sample
689
*- code and the internal OpenGL renderer. Call lists are deprecated
690
*- and have more overhead then just calling material functions
691
*- directly.
692
*- - Added early out sample code for materials to graphics API; end users
693
*- should now have the tools to skip unnecessary material binds.
694
*- - Added a new geode/mesh merge as part of the bdg creation; should
695
*- cut number of meshes and draw calls in half for most of the non-
696
*- skinned characters.
697
*- - Added new draw stats profiler to improve feedback on pipeline
698
*- bottlenecks. Profiler now available in Character Viewer. (Press
699
*- Ctrl-P a few times.)
700
*- - Added linear draw pipeline init argument.
701
*- - Updated Benchmark sample program with new options and statistics.
702
*- - Fixed bug where get link positions would not take character scale
703
*- into effect.
704
*- - Added the following functions to DI-Guy Graphics API:
705
*>
706
*- - diguyGraphicsLink::get_link_transformation_matrix()
707
*- - diguyGraphicsLink::begin_character_draw()
708
*- - diguyGraphicsLink::end_character_draw()
709
*- - diguyGraphicsLink::get_use_linear_traversal_draw()
710
*- - diguyGraphicsLink::set_use_linear_traversal_draw()
711
*- - diguyGraphicsTexture::get_last_bound_texture()
712
*- - diguyGraphicsTexture::clear_last_bound_texture()
713
*<
714
*- - Added sample code to the OpenGL graphics API reference
715
*- implementation demonstrating the use of the link local
716
*- transformation matrix to simplify the number of OpenGL function
717
*- made.
718
*- - Added sample code to the OpenGL graphics API reference
719
*- implementation to demonstrate using
720
*- diguyGraphicsTexture::get_last_bound_texture() to minimize state
721
*- changes.
722
*- - Added the following functions to DI-Guy OpenGL rendering API:
723
*>
724
*- - diguy_ogl_get_num_frame_stats()
725
*- - diguy_ogl_frame_stat_name()
726
*- - diguy_ogl_get_frame_stat();
727
*- - diguy_ogl_clear_all_frame_stats()
728
*<
729
*4 Version 11.0.1
730
**
731
*- - Added the following functions to DI-Guy Graphics API:
732
*>
733
*- - diguyGraphicsMaterial::get_last_bound_material()
734
*- - diguyGraphicsMaterial::clear_last_bound_material()
735
*<
736
*- - Added sample code to the OpenGL Graphics API reference
737
*- implementation to demonstrate using
738
*- diguyGraphicsMaterial::get_last_bound_material() to minimize state
739
*- changes.
740
*- - Fixed binary geometry serialization bug on x64 machines.
741
*- - Added diguyScenario::is_valid_character_group_pointer()
742
**
743
*4 Version 11.0.0
744
**
745
*- - Removed deprecated functions:
746
*>
747
*- - diguyChainSimulation::set_connection_character()
748
*<
749
*- - New APIs:
750
*>
751
*- - diguyFormation
752
*- - diguyVehicleController
753
*- - diguyViewButtonPanel (DI-Guy Scenario only)
754
*<
755
*4 Version 10.5.1
756
**
757
*- - Removed deprecated functions:
758
*>
759
*- - diguyScenario::set_tin()
760
*- - diguyScenario::get_tin()
761
*- - diguyScenario::trigger_script_event()
762
*- - diguyScenario::add_custom_appearance()
763
*- - diguyScenario::add_custom_appearance_based_on_existing_appearance()
764
*- - diguyScenario::add_named_callback()
765
*- - diguyScenario::remove_named_callback()
766
*- - diguyScenario::call_named_callback()
767
*- - diguyScenario::set_iguy_character()
768
*<
769
**
770
*4 Version 10.1.7
771
**
772
*- - Added the following functions:
773
*>
774
*- - diguyCharacter::set_max_unprocessed_impacts()
775
*- - diguyCharacter::get_max_unprocessed_impacts()
776
*- - diguyScenario::set_max_unprocessed_impacts()
777
*- - diguyScenario::get_max_unprocessed_impacts()
778
*- - diguyCharacter::reset_shader_program_to_default()
779
*- - diguySceneObject::reset_shader_program_to_default()
780
*<
781
*4 Version 10.1.6
782
**
783
*- - Added functions to diguyViewCamera and diguyViewCameraSettings:
784
*>
785
*- - diguyViewCamera::set_speed_fov_degrees_per_wheel_click()
786
*- - diguyViewCamera::get_speed_fov_degrees_per_wheel_click()
787
*- - diguyViewCameraSettings::set_speed_fov_degrees_per_wheel_click()
788
*- - diguyViewCameraSettings::get_speed_fov_degrees_per_wheel_click()
789
*<
790
*- - Added flag to diguyScenario that explicitly enables or disables
791
*- tout ("T Out") for the scenario, instead of using the arbitrary
792
*- value of 60000 seconds to mean tout should have no effect.
793
*- - Added flag similar to above that enables or disables character tout.
794
*>
795
*- - diguyScenario::set_tout_enabled()
796
*- - diguyScenario::get_tout_enabled()
797
*- - diguyCharacter::set_tout_enabled()
798
*- - diguyCharacter::get_tout_enabled()
799
*<
800
*- - Added the following functions:
801
*>
802
*- - diguyCharacter::get_muzzle_link()
803
*- - diguyCharacter::get_muzzle_offset()
804
*- - diguyCharacter::stop_appearance_effect()
805
*- - diguyCharacter::set_weapon_tracers_enabled()
806
*- - diguyCharacter::get_weapon_tracers_enabled()
807
*- - diguyCharacter::set_weapon_shell_eject_enabled()
808
*- - diguyCharacter::get_weapon_shell_eject_enabled()
809
*- - diguyCharacter::set_weapon_smoke_enabled()
810
*- - diguyCharacter::get_weapon_smoke_enabled()
811
*<
812
*4 Version 10.1.4
813
**
814
*- - Added diguyCharacter::CALLBACK_ID_AGENT_MIND_CURRENT_STATE_CHANGED.
815
*- - Added the following functions for getting and setting mind data.
816
*>
817
*- - diguyCharacter::get_mind_current_state_name()
818
*- - diguyCharacter::set_mind_field_as_string()
819
*- - diguyCharacter::set_mind_field_as_float()
820
*- - diguyCharacter::get_mind_field_as_float()
821
*- - diguyCharacter::set_mind_field_as_int()
822
*- - diguyCharacter::get_mind_field_as_int()
823
*<
824
*- - Added the following functions for setting agent params, and other
825
*- agent behavior.
826
*>
827
*- - diguyCharacter::agent_set_initial_params_from_profile()
828
*- - diguyCrowd::set_initial_params_from_profile()
829
*- - diguyAgentParams::set_move_on_t_min()
830
*- - diguyAgentParams::get_move_on_t_min()
831
*- - diguyAgentParams::set_move_on_t_max()
832
*- - diguyAgentParams::get_move_on_t_max()
833
*- - diguyCharacter::agent_move_on()
834
*<
835
*4 Version 10.1.3
836
**
837
*- - Added the following blink functions to diguyCharacter.
838
*>
839
*- - diguyCharacter::set_automatic_blink_duration_in()
840
*- - diguyCharacter::get_automatic_blink_duration_in()
841
*- - diguyCharacter::set_automatic_blink_duration_out()
842
*- - diguyCharacter::get_automatic_blink_duration_out()
843
*- - diguyCharacter::set_automatic_blink_target_in()
844
*- - diguyCharacter::get_automatic_blink_target_in()
845
*- - diguyCharacter::set_automatic_blink_target_out()
846
*- - diguyCharacter::get_automatic_blink_target_out()
847
*- - diguyCharacter::set_automatic_blinks_enabled()
848
*- - diguyCharacter::get_automatic_blinks_enabled()
849
*<
850
*- - Added the following gesture functions to diguyCharacter.
851
*>
852
*- - diguyCharacter::execute_table_gesture()
853
*- - diguyCharacter::set_executing_table_gesture_desired_action()
854
*- - diguyCharacter::end_executing_gesture()
855
*- - diguyCharacter::abort_executing_gesture()
856
*<
857
*- - Added the following misc functions to diguyCharacter.
858
*>
859
*- - diguyCharacter::get_gaze_is_active()
860
*- - diguyCharacter::get_lpoint_is_active()
861
*<
862
*4 Version 10.1.1
863
**
864
*- - Added the following functions to diguyCharacter.
865
*>
866
*- - diguyCharacter::get_is_aiming()
867
*<
868
*4 Version 10.1.0
869
**
870
*- - Added the following functions for improved LOD handling.
871
*>
872
*- - diguyScenario::set_scale_graphics_lod_ranges_from_view_settings()
873
*- - diguyScenario::get_scale_graphics_lod_ranges_from_view_settings()
874
*- - diguyLoadManager::set_scale_zone_extents_from_view_settings()
875
*- - diguyLoadManager::get_scale_zone_extents_from_view_settings()
876
*<
877
*- - Added the following functions to diguyCharacter.
878
*>
879
*- - diguyCharacter::set_graphics_ptr()
880
*- - diguyCharacter::get_num_pose_overrides()
881
*- - diguyCharacter::get_pose_override_at_index()
882
*<
883
**
884
**************************************
885
*3 DI-Guy Scenario
886
**************************************
887
**
888
*4 Version 11.5.1
889
**
890
*- - Fixed intersection test issue with scene objects
891
*- - Fixed bogus fog changed notification
892
*- - Improved sound history recording and playback
893
**
894
*4 Version 11.0.1
895
**
896
*- - Fixed crash with using qt_invoke without lqt loaded.
897
**
898
**************************************
899
*3 DI-Guy Motion Editor
900
**************************************
901
**
902
*4 Version 11.0.1
903
**
904
*- - Fixed Motion Arc extended info handling.
905
*- - Fixed issue with the poser not being available on some skinned
906
*- character links.
907
**
908
*4 Version 11.0.0
909
**
910
*- - Initial support for handling skinned characters.
911
**
912
**************************************
913
*3 DI-Guy Character Viewer
914
**************************************
915
**
916
*4 Version 11
917
**
918
*- - Added Shadow and normal previewer.
919
*- - Added LOD picker.
920
**
921
**************************************
922
*3 DI-Guy for Vega Prime
923
**************************************
924
**
925
*4 Version 11.5.1
926
**
927
*- - Initial support for vegaPrime 5.x.
928
*- - fixed crash on exit using some modules.
929
*- - Changed setScriptPerlEnable default from true to false.
930
**
931
*4 Version 11.0.1
932
**
933
*- - Initial support for vegaPrime 4.x.
934
**
935
**************************************
936
*3 DI-Guy Networking
937
**************************************
938
**
939
*4 Version 11.0.1
940
**
941
*- - Fixed a number of bugs with transmitting gazing and aiming behavior
942
*- over network.
943
*- - Improvements to log messages.
944
**
945
*/
946
947
/*****************************************************************************
948
*****************************************************************************
949
**
950
*2 DI-Guy Applications Version 10
951
**
952
*****************************************************************************
953
*****************************************************************************
954
**
955
**************************************
956
*3 DI-Guy API 10
957
**************************************
958
**
959
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
960
**
961
*4 Version 10.0.10
962
**
963
*- - Impact processing on characters now considers mind wakeup callbacks
964
*- when deciding how the impact affects the character, in addition to
965
*- the straight callbacks that are considered now.
966
*- - Added functions:
967
*>
968
*- - diguyAgentParams::set_vehicle_base_influence_box()
969
*- - diguyAgentParams::get_vehicle_base_influence_box()
970
*<
971
*- - Added the following diguyCharacter callbacks that report when
972
*- an agent is being push around by other characters of vehicles.
973
*>
974
*- - diguyCharacter::CALLBACK_ID_AGENT_NON_ZERO_REPULSION
975
*- - diguyCharacter::CALLBACK_ID_AGENT_ZERO_REPULSION
976
*<
977
**
978
*4 Version 10.0.8
979
**
980
*- - Added merging of regions during scenario merge.
981
*- - Fixed merging of crowds to include merging of crowd behavior
982
*- regions.
983
*- - Added diguyScenario::CALLBACK_ID_PLAYBACK_MODE_CHANGED.
984
*- - Added diguy_set_diguy_base_dir_path() function.
985
*- - Added remove_on_scenario_load argument to most
986
*- add_default_*_callback() functions; allows for "permanent" callbacks
987
*- to be added that persist through scenario loads. The default is
988
*- 0, meaning remove the callback when a scenario is loaded.
989
*-
990
*4 Version 10.0.6
991
**
992
*- - Fixed visual issues of skinned appearances when the character is
993
*- scaled or is using a motion LOD greater than 1.
994
*- - Fixed issue where default scenario callbacks were not being called.
995
*- - Added functions:
996
*>
997
*- - diguyCharacter::set_graphics_api_node_ptr()
998
*- - diguyCharacter::get_graphics_api_node_ptr()
999
*- - diguyScenario::set_graphics_api_node_ptr()
1000
*- - diguyScenario::get_graphics_api_node_ptr()
1001
*<
1002
*4 Version 10.0.5
1003
**
1004
*- - Fixed hard crashes with on-screen labels outside of the ogl pipeline.
1005
*- - Fixed issues with octtree creation and visibility checks.
1006
*- - Fix for vc8 mdd examples using lua.
1007
*- - Added missing header file for DI-Guy Bench Marking example.
1008
*- - Added infrastructure for hooking up callbacks so visibility tests
1009
*- can work in the SDK. See the following functions:
1010
*>
1011
*- - diguyScenario::set_default_point_los_function()
1012
*- - diguyScenario::set_default_character_los_function()
1013
*- - diguyCharacter::set_point_los_function()
1014
*- - diguyCharacter::get_point_los_function()
1015
*- - diguyCharacter::set_character_los_function()
1016
*- - diguyCharacter::get_character_los_function()
1017
*<
1018
*4 Version 10.0.4
1019
**
1020
*- - Fixed bug where green boxes were appearing at the origin in some
1021
*- DI-Guy Graphics API examples.
1022
*- - Characters with skinned appearances specified will switch to their
1023
*- default unskinned appearance on platforms without skinning support.
1024
*- - Added diguyScenario::get_altitude_function() and
1025
*- diguyScenario::set_altitude_function() mainly needed for force local
1026
*- path via the API.
1027
*- - Added bdiGraphicsInitGraphicsAPI::characters_have_world_space_triangle_query
1028
*- and bdiGraphicsInitGraphicsAPI::scene_objects_have_world_space_triangle_query
1029
*- function allow octtree to be built from internally loaded scene objects.
1030
*- *Note*: this functionality requires that diguyGraphicsMesh::free_loader_memory()
1031
*- not be called.
1032
**
1033
*4 Version 10.0.3
1034
**
1035
*- - Changed diguyScenario::set_default_lod_ranges() to accept "all"
1036
*- for the character type. Passing "all" will set the default LOD
1037
*- ranges for all character types, not just one specific one.
1038
*- - Added the following functions to DI-Guy Graphics API for more
1039
*- flexibility in handling graphics LODs.
1040
*>
1041
*- - diguyGraphicsShape::set_graphics_lod_ranges()
1042
*- - diguyGraphicsShape::set_graphics_lod()
1043
*- - diguyGraphicsShape::get_graphics_lod()
1044
*<
1045
*4 Version 10.0.1
1046
**
1047
*- - Fixed bugs with intersecting characters added to the octtree.
1048
*- - Fixed bugs where custom directory env variable was being ignored when
1049
*- looking up lua scripts.
1050
*- - Added functions diguyCharacter::create_complete_pose_override() and
1051
*- diguyCharacter::destroy_complete_pose_override().
1052
*- - Fixed bug where OGL skinned characters were missing some polygons;
1053
*- please see graphics API samples if you are seeing this bug. Your VBO
1054
*- class may need slight changes.
1055
**
1056
*4 Version 10.0.0
1057
**
1058
*- - Added support for character "type maps". Type maps add extra data
1059
*- to characters that make it easier to decide which character type
1060
*- and appearance best match the desired role for characters to be
1061
*- added to the scenario. See the class diguyCharacterTypeMap, and
1062
*- information about the "Appearance Wizard" for DI-Guy Scenario.
1063
*- - Added the following functions to diguyCharacter API:
1064
*>
1065
*- - diguyCharacter::get_nearest_character_type_map()
1066
*<
1067
*- - The DI-Guy Graphics API example directories osg_12_examples and
1068
*- osg_22_examples have been removed. They have been replaced with
1069
*- osg_2_examples.
1070
*- - The osg_2_examples reference implementation now has support for
1071
*- skinned appearances. It uses the DI-Guy built-in geometry loader
1072
*- instead of OSG's, as DI-Guy has some specific requirements for
1073
*- loaded skinned geometry.
1074
*- - diguyScenario::add_callback() and diguyScenario::add_callback_script()
1075
*- have been modified with an addition argument that specifies whether
1076
*- the callback should remain after a new scenario has been loaded. The
1077
*- previous behavior was for the callback to not be removed, which could
1078
*- cause problems. Users will now need to explicitly request that the
1079
*- callback remain.
1080
**
1081
*4 Version 9.1.5
1082
**
1083
*- - The ability to show bar graph information has been added to the
1084
*- diguyViewLabel class. See diguyViewLabel::enable_bar_graph().
1085
*- - Added the following functions to diguyCharacter API:
1086
*>
1087
*- - diguyCharacter::set_weapon_munition_type_override()
1088
*- - diguyCharacter::get_weapon_munition_type_override()
1089
*- - diguyCharacter::get_weapon_muzzle_munition_type()
1090
*- - diguyCharacter::get_default_muzzle_munition_type()
1091
*<
1092
*- - Added the following functions to DI-Guy Graphics API:
1093
*>
1094
*- - diguyGraphicsLink::post_build()
1095
*- - diguyGraphicsLink::set_shader_instance()
1096
*- - diguyGraphicsMaterial::get_is_unlit()
1097
*<
1098
*- - Added new DI-Guy Graphics API classes: diguyGraphicsShaderProgram
1099
*- and diguyGraphicsShaderInstance.
1100
*- - Added time_to_live to network.cfg file.
1101
*- - Removed the following experimental functions:
1102
*>
1103
*- - diguyScenario::load_shader()
1104
*- - diguyScenario::reload_shader_programs()
1105
*<
1106
*- - Added new DI-Guy functions to allow SDK users to intercept fire
1107
*- requests and plug in their own intersection test; see
1108
*- diguyScenario::set_fire_weapon_intersection_function() for more info.
1109
**
1110
*4 Version 9.1.4
1111
**
1112
*- - Added the following functions to diguyCharacter API:
1113
*>
1114
*- - diguyCharacter::set_initial_path()
1115
*- - diguyCharacter::get_initial_path()
1116
*<
1117
*- - The way that weapon sounds are handled has been changed.
1118
*>
1119
*- Previously weapon sounds were largely determined by the
1120
*- character's default weapon sound setting, as set by
1121
*- set_default_weapon_sound(). Weapon sounds (and other data) are
1122
*- now set automatically based on the munition type(s) of the weapon
1123
*- the character is carrying. The default munition type sound can
1124
*- be overridden by calling set_weapon_sound_override(). Note that
1125
*- existing, deprecated calls to set_default_weapon_sound() will
1126
*- have the same effect as calling set_weapon_sound_override().
1127
**
1128
*- - The following functions have been deprecated:
1129
*>
1130
*- - diguyCharacter::set_default_weapon_sound()
1131
*- - diguyCharacter::get_default_weapon_sound()
1132
*- - diguyCharacter::set_default_weapon_sound_gain()
1133
*- - diguyCharacter::get_default_weapon_sound_gain()
1134
*<
1135
*- - The above deprecated functions are replaced by:
1136
*>
1137
*- - diguyCharacter::set_weapon_sound_override()
1138
*- - diguyCharacter::get_weapon_sound_override()
1139
*- - diguyCharacter::set_weapon_sound_gain_override()
1140
*- - diguyCharacter::get_weapon_sound_gain_override()
1141
*<
1142
*<
1143
*- - Added the following diguyCharacter callbacks to make it easier to
1144
*- tie events to editing characters in the UI.
1145
*>
1146
*- - diguyCharacter::CALLBACK_ID_UI_MOUSE_DOWN
1147
*- - diguyCharacter::CALLBACK_ID_UI_MOUSE_UP
1148
*<
1149
*- - Added diguyViewPainter class that allows the drawing of lines and
1150
** other primitives in DI-Guy Scenario 3D view windows. For access to
1151
** this object call diguyApp::get_painter().
1152
*- - Added diguyScenario::CALLBACK_ID_POST_DRAW, allowing the scripting
1153
*- engine a chance to draw in the 3D view in DI-Guy Scenario.
1154
*- Characters with minds are also given the opportunity to draw; see
1155
*- the default luaCharacter script.
1156
**
1157
*4 Version 9.1.2
1158
**
1159
*- - Added diguyImpact::get_impact_type() and diguyImpact::get_impact_type_string()
1160
*- which provide information about how the impact was generated. New
1161
*- accessors for querying normal information are also available.
1162
*- - Added new Lua Scripting module:
1163
*>
1164
*- - The Lua module has all the functionality of the current Perl
1165
*- module.
1166
*- - Lua is popular in the game development industry for it's speed
1167
*- and efficiency. Lua script execution is much less performance
1168
*- intensive than a similar Perl script.
1169
*- - Lua is the basis for the new DI-Guy AI Mind framework.
1170
*<
1171
*- - Scripts are no longer limited in length (was 32K).
1172
*- - Deprecated functions:
1173
*>
1174
*- - diguyCharacter::get_base_link() replaced with
1175
*- diguyCharacter::get_position_link()
1176
*<
1177
*- - Added the following diguyCharacter callbacks to make it easier to
1178
*- tie events to editing characters in the UI.
1179
*>
1180
*- - diguyCharacter::CALLBACK_ID_UI_PRE_TRANSLATION
1181
*- - diguyCharacter::CALLBACK_ID_UI_POST_TRANSLATION
1182
*<
1183
**
1184
*4 Version 9.1.1
1185
**
1186
*- - Added the following function to diguyCharacter API:
1187
*>
1188
*- - diguyCharacter::get_random_factor()
1189
*<
1190
*- - Added the following functions to diguyCharacter API for getting
1191
*- and setting character variables with a compact function name:
1192
*>
1193
*- - diguyCharacter::set_ivar()
1194
*- - diguyCharacter::get_ivar()
1195
*- - diguyCharacter::set_fvar()
1196
*- - diguyCharacter::get_fvar()
1197
*- - diguyCharacter::set_svar()
1198
*- - diguyCharacter::get_svar()
1199
*<
1200
*- - Sound Module Improvements:
1201
*>
1202
*- - Adding looping flag to diguyCharacter::play_3d_sound() and
1203
*- diguyCharacter::play_sound() allows sounds to repeat until
1204
*- explicitly stopped with diguyCharacter::stop_sound() or
1205
*- diguyCharacter::stop_all_sounds()
1206
*- - 3D Sounds should now Doppler shift depending on the velocity of
1207
*- the emitter and listener.
1208
*- - More a number of diguySound functions have been added to allow
1209
*- querying a sounds properties.
1210
*<
1211
*- - Fixed problem with the OpenFlight geometry loader. Light point
1212
*- records were causing the loader to fail.
1213
*- - Added two new diguyCharacter callback ids:
1214
*>
1215
*- - diguyCharacter::CALLBACK_ID_POST_CREATE_GEOMETRY
1216
*- - diguyCharacter::CALLBACK_ID_PRE_DESTROY_GEOMETRY
1217
*<
1218
*- - Added new plugin function, post_reset(). Allows plugins to do
1219
*- reset operations at the end of a scenario reset, instead of only
1220
*- at the beginning.
1221
**
1222
*4 Version 9.1.0
1223
**
1224
*- - Added the following functions to diguyCharacter API:
1225
*>
1226
*- - diguyCharacter::get_current_traveled_path_is()
1227
*- - diguyCharacter::get_current_appearance_is()
1228
*- - diguyCharacter::get_current_head_appearance_is()
1229
*- - diguyCharacter::execute_table_gesture()
1230
*<
1231
**
1232
**************************************
1233
*3 DI-Guy Scenario 10
1234
**************************************
1235
**
1236
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
1237
**
1238
*4 Version 10.0.2
1239
**
1240
*- - Fixed the appearance of state functions in the code browser.
1241
**
1242
*4 Version 10.0.0
1243
**
1244
*- - Added the "Appearance Wizard" to places where character type and
1245
*- appearance can be selected. The Appearance Wizard provides an
1246
*- interactive UI for selecting desired attributes of the character
1247
*- to be created, such as category, age, sex, race, military branch,
1248
*- carried object, etc.
1249
*- - Character types and appearances are now marked as "Recommended" and
1250
*- "Not Recommended". Many older character types and appearances have
1251
*- been nominally replaced with newer versions which should be
1252
*- preferred over the older ones. By default DI-Guy Scenario will show
1253
*- only the preferred ones, but can be changed to show all of them.
1254
*- Scenarios that currently use now not-recommended character types and
1255
*- appearances will still work as before.
1256
**
1257
*4 Version 9.1.3
1258
**
1259
*- - Improvements to autocomplete, including DIGUY_* constants as well as
1260
*- dynamic analysis of lua objects.
1261
**
1262
*4 Version 9.1.2
1263
**
1264
*- - Added new documentation viewer, accessible under the help menu.
1265
**
1266
*4 Version 9.1.1
1267
**
1268
*- - When selecting which agents' parameters are going to be edited,
1269
*- multi-select can now be used.
1270
*- - Replaced Scenario Elements, Character Elements, View Settings,
1271
*- Event Handlers, and DI-Guy AI Elements windows with a single
1272
*- revamped Scenario Elements window that has collapsible tab groups.
1273
*- - Removed experimental, incomplete "Merge Blitz" capability.
1274
**
1275
*4 Version 9.1.0
1276
**
1277
*- - Script editing now uses an editing component based on Scintilla,
1278
*- this provides syntax highlighting/coloring, line numbering, basic
1279
*- auto-complete, and code folding.
1280
*- Currently supported control keys:
1281
*>
1282
*- - Ctrl '{' or Ctrl '}' - jump to matching brace
1283
*- - Ctrl f - find dialog
1284
*- - F3 - find again
1285
*<
1286
*- - Added a number of ui improvements:
1287
*>
1288
*- - Beads now display the time they occur instead of just an index.
1289
*- - The Action Spreadsheet is available in the character elements
1290
*- page.
1291
*- - A number of element types can now be sorted in their selector
1292
*- view at the top of the page. Most widgets can be sorted by index
1293
*- and name. Some add the ability to be sorted by time, appearance,
1294
*- character type, etc.
1295
*- - The path page has a sorted list of all beads on a path.
1296
*<
1297
**
1298
**************************************
1299
*3 DI-Guy AI 10
1300
**************************************
1301
**
1302
*4 Version 10.0.4
1303
**
1304
*- - Added new AI_Populate SDK example; demonstrates populating the
1305
*- environment with lua minds based Agents via the SDK.
1306
**
1307
*4 Version 10.0.3
1308
**
1309
*- - Improved behavior of paintbrush far from origin and at different
1310
*- heights.
1311
*- - Added bright red log/package indicator on lua syntax errors.
1312
*- - Improved behavior of code browser recompile button, pops up log
1313
*- window on syntax errors.
1314
**
1315
*4 Version 10.0.2
1316
**
1317
** - Fixed hard crash in path planner when pursuing with no behavior
1318
** region set.
1319
** - Fixed a number of bugs with agents colliding with props.
1320
** - Fixed bug with crowd awareness code far from the origin.
1321
**
1322
*4 Version 9.1.4
1323
**
1324
*- - Significant improvements to A* path planning performance, 10x speed
1325
*- up in most cases.
1326
**
1327
*4 Version 9.1.3
1328
**
1329
*- - Improvements to path planning API, added the following functions to
1330
*- diguyCharacter API for navigating the world
1331
*>
1332
*- - diguyCharacter::agent_move_to_point()
1333
*- - diguyCharacter::agent_move_to_point_via_subregions()
1334
*- - diguyCharacter::agent_move_to_region()
1335
*- - diguyCharacter::agent_move_to_region_via_subregions()
1336
*<
1337
**
1338
*4 Version 9.1.2
1339
**
1340
*- - New Lua based mind framework:
1341
*>
1342
*- - New Lua Mind Editor in UI
1343
*- - The crowd/people blitzers can now create characters with minds.
1344
*<
1345
**
1346
*- - Added the following functions to diguyCharacter API:
1347
*>
1348
*- - diguyCharacter::agent_get_crowd()
1349
*- - diguyCharacter::agent_flee_crowd()
1350
*<
1351
*- - Added diguyCharacter::CALLBACK_ID_AGENT_VEHICLE_COLLISION; this
1352
*- callback is triggered on a vehicle when a vehicle hits an agent.
1353
*- - Added diguyRegion, an API wrapper for painted meshes. Retrievable
1354
*- with the function diguyScenario::find_region().
1355
*- - Vehicle bounds are now smoothed when the vehicle changes speed.
1356
*- - Added simple gazing model into agent focus behavior.
1357
*- - Added Idle Behavior, agent will stop moving and be responsive
1358
*- to focus and simple requests but won't spontaneously move.
1359
*- - Added diguyCharacter::agent_begin_behavior() allows starting a
1360
*- behavior by name. Typically some of the more elaborate functions are
1361
*- preferred, but this can be useful for idling and such.
1362
*- - Changes to None behavior. Agent will attempt to do less and clear
1363
*- out some transient state to make the behavior of the behavior more
1364
*- consistent.
1365
**
1366
*4 Version 9.1.1
1367
**
1368
*- - The following diguyCrowd callbacks are deprecated, and have been
1369
*- replaced with diguyCharacter equivalents.
1370
*>
1371
*- - diguyCrowd::CALLBACK_ID_NEW_FOCUS_CHARACTER
1372
*- - diguyCrowd::CALLBACK_ID_ATTACKER_NO_VISIBLE_TARGETS
1373
*- - diguyCrowd::CALLBACK_ID_ATTACKER_OUT_OF_TARGETS
1374
*- - diguyCrowd::CALLBACK_ID_PURSUED_CHARACTER_REACHED
1375
*- - diguyCrowd::CALLBACK_ID_WANDER_TARGET_REACHED
1376
*- - diguyCrowd::agents_flee_crowd()
1377
*<
1378
*- - Added the following diguyCharacter callbacks to make it easier to
1379
*- detect important events in agent behavior.
1380
*>
1381
*- - diguyCharacter::CALLBACK_ID_AGENT_NEW_BEHAVIOR
1382
*- - diguyCharacter::CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER
1383
*- - diguyCharacter::CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS
1384
*- - diguyCharacter::CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS
1385
*- - diguyCharacter::CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED
1386
*- - diguyCharacter::CALLBACK_ID_AGENT_PURSUE_TARGET_LOST
1387
*- - diguyCharacter::CALLBACK_ID_AGENT_MINGLE_TARGET_REACHED
1388
*- - diguyCharacter::CALLBACK_ID_AGENT_MINGLE_TARGET_LOST
1389
*- - diguyCharacter::CALLBACK_ID_AGENT_WANDER_TARGET_REACHED
1390
*- - diguyCharacter::CALLBACK_ID_AGENT_WANDER_TARGET_LOST
1391
*- - diguyCharacter::CALLBACK_ID_AGENT_FLEE_AREA_LEFT
1392
*- - diguyCharacter::CALLBACK_ID_AGENT_FLEE_AREA_ENTERED
1393
*- - diguyCharacter::CALLBACK_ID_AGENT_TRAVEL_WAYPOINT_REACHED
1394
*- - diguyCharacter::CALLBACK_ID_AGENT_TRAVEL_FORWARD_DEST_REACHED
1395
*- - diguyCharacter::CALLBACK_ID_AGENT_TRAVEL_BACKWARD_DEST_REACHED
1396
*<
1397
*- - DI-Guy AI agents can now flee from multiple characters, groups, and
1398
*- locations instead of just one.
1399
*- - Functions diguyCharacter::agent_set_current_params_from_profile()
1400
*- and diguyCrowd::set_current_params_from_profile() have a new
1401
*- argument, retain_focus_objects. Setting this to 1 allows the
1402
*- specified to be loaded without changing the agents' current focus
1403
*- character or group.
1404
**
1405
**************************************
1406
*3 DI-Guy Motion Editor
1407
**************************************
1408
**
1409
*- - Added support for filtering the action table editor, eases editing
1410
*- of large action tables.
1411
*- - Added code to reverse motions.
1412
*- - Grabbing a pose on a Linear Offset should interpolate properly.
1413
*- - Motion arc list and action table motion list are now in sync.
1414
**
1415
**************************************
1416
*3 DI-Guy Character Viewer 10
1417
**************************************
1418
**
1419
*4 Version 10.0.0
1420
**
1421
*- - Added "Appearance Wizard" button to make selecting an appropriate
1422
*- character type and appearance easier.
1423
**
1424
**************************************
1425
*3 DI-Guy for Vega Prime 10
1426
**************************************
1427
**
1428
*4 Version 10.0.4
1429
**
1430
*- - Initial release compiling with vp 3.0.
1431
**
1432
*4 Version 9.1.2
1433
**
1434
*- - Added support for turning on DI-Guy AI from vpDiguySettings UI.
1435
*- DI-Guy AI functionality is limited inside of Vega Prime
1436
*- - Added support for turning on Lua scripting module from the
1437
*- the UI.
1438
*- - Fixed long standing issue with character's having link offsets
1439
*- applied multiple times. (Also in 9.0.4)
1440
**
1441
**************************************
1442
*3 DI-Guy Networking
1443
**************************************
1444
**
1445
*4 Version 9.1.6
1446
**
1447
*- - Fire PDUs position should now be the muzzle of the gun, the entity
1448
*- type should match the munition type fired, and the velocity should
1449
*- be the normalized direction of the muzzle.
1450
*- - Fixed issue where agents on non-flat terrains were sending erroneous
1451
*- z values.
1452
**
1453
**
1454
*/
1455
1456
/*****************************************************************************
1457
*****************************************************************************
1458
**
1459
*2 DI-Guy Applications, 9.0 and Earlier
1460
**
1461
*****************************************************************************
1462
*****************************************************************************
1463
**
1464
**************************************
1465
*3 DI-Guy API
1466
**************************************
1467
**
1468
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
1469
**
1470
*4 Version 9.0.4
1471
**
1472
*- - Added new argument to diguyCharacter::force_action() that allows
1473
*- the forced action to begin partway into the action.
1474
*- - Added the following functions to diguyCharacter API:
1475
*>
1476
*- - diguyCharacter::get_most_recent_forced_action()
1477
*- - diguyCharacter::get_most_recent_forced_action_t()
1478
*- - diguyCharacter::get_most_recent_forced_action_t_offset()
1479
*<
1480
*4 Version 9.0.1
1481
**
1482
*- - Added new guide example, see $DIGUY/programming_examples/diguy_ogl/guide_example
1483
*- - Added the following functions to diguyCharacter API:
1484
*>
1485
*- - diguyCharacter::get_distance_to_impact()
1486
*- - diguyCharacter::set_is_scene_object()
1487
*- - diguyCharacter::get_is_scene_object()
1488
*- - diguyCharacter::set_apply_actor_scale_to_action_bead_xy_travel() deprecated;
1489
*- use diguyCharacter::set_apply_actor_scale_to_action_bead_travel() instead
1490
*- - diguyCharacter::get_apply_actor_scale_to_action_bead_xy_travel() deprecated;
1491
*- use diguyCharacter::get_apply_actor_scale_to_action_bead_travel() instead
1492
*<
1493
*- - Manually invoking a diguyCharacter perl script callback via
1494
*- diguyCharacter::manually_invoke_event_handler() will now have the
1495
*- $callback_object variable properly set.
1496
*- - Minor munition system improvements:
1497
*>
1498
*- - Munitions sound effects now include sound gain.
1499
*- - Added diguyScenario::trigger_detonation(), a function for
1500
*- creating a detonation at an arbitrary xyz location.
1501
*- - Fixed bug with location of munition particle effects.
1502
*<
1503
*- - Added new Munition system demonstration; see AI_Munitions_Demo.dss in
1504
*- scenarios directory.
1505
*- - Improved default 3d sound behavior; prior default 3d sound falloff
1506
*- was much too aggressive. Future DI-Guy releases will make more of
1507
*- these values tuneable.
1508
**
1509
*4 Version 9.0.0
1510
**
1511
*- - Promoted the following functions from experimental to
1512
*- official status:
1513
*>
1514
*- - diguyScenario::find_character_at_screen_coords()
1515
*- - diguyScenario::get_impact_at_screen_coords()
1516
*- - diguyScenario::get_intersection_at_screen_coords()
1517
*- - diguyScenario::force_octtree_generation()
1518
*- - diguyScenario::intersect_static_geometry()
1519
*- - diguyScenario::add_character_to_octtree()
1520
*- - diguyScenario::remove_character_from_octtree()
1521
*- - diguyCharacter::set_apply_actor_scale_to_action_bead_xy_travel()
1522
*- - diguyCharacter::get_apply_actor_scale_to_action_bead_xy_travel()
1523
*<
1524
*- - Added functions to allow user to specify custom feeler functions:
1525
*>
1526
*- - diguyScenario::set_default_agent_feeler_function()
1527
*- - diguyCharacter::agent_set_feeler_function()
1528
*- - diguyCharacter::agent_get_feeler_function()
1529
*<
1530
*- - Fixed more issues with recent changes to reduce path memory overhead.
1531
*- - Changing current appearance will now complain less if the resulting
1532
*- change doesn't require recompilation of path data.
1533
*- - diguy_dis_constants.h now includes custom PDU enumeration.
1534
*- - Changes made to aim algorithm 8 parameter functions in an effort
1535
*- to make them more descriptive. Note that only the set functions
1536
*- are listed; the corresponding get functions have changed, too.
1537
*>
1538
*- - diguyCharacter::set_aim_param_time_constant() deprecated;
1539
*- use diguyCharacter::set_aim_param_acquire_factor() instead
1540
*- - diguyCharacter::set_aim_param_reset_time_constant() deprecated;
1541
*- use diguyCharacter::set_aim_param_new_aim_factor() instead
1542
*- - diguyCharacter::set_aim_param_time_constant2() deprecated;
1543
*- use diguyCharacter::set_aim_param_new_aim_duration() instead
1544
*<
1545
*4 Version 8.6.3
1546
**
1547
*- - Fixed some issues with recent changes to reduce path memory overhead.
1548
**
1549
*4 Version 8.6.2
1550
**
1551
*- - Changes made to support multiple active formations. New arguments
1552
*- added to diguyCharacter::call_formation() and
1553
*- diguyCharacter::break_formation() to support multiple formations.
1554
*- Default behavior remains the same as before.
1555
*- - Significant memory savings when dealing with characters with
1556
*- long paths.
1557
*- - Added new argument to diguyCharacter::set_current_appearance()
1558
*- function: allow_actor_change. Previously changes to a character's
1559
*- appearance that would result in an actor (size of character) change
1560
*- were not allowed. Passing 1 (the default) for this argument now
1561
*- allows such a change.
1562
**
1563
*4 Version 8.6.1
1564
**
1565
*- - Added function diguyCharacter::get_current_traveled_path().
1566
*- - Improved logic for picking dead action.
1567
*- - Removed deprecated functions:
1568
*>
1569
*- - diguyLoadManager::set_max_update_period()
1570
*- - diguyLoadManager::set_nonvisible_update_rate()
1571
*- - diguyLoadManager::set_zone_bounds()
1572
*- - diguyLoadManager::set_zone_parameters()
1573
*<
1574
*- - Improved DIS/HLA Networking:
1575
*>
1576
*- - Added support for Flat Earth and Geocentric coordinates.
1577
*- - Coordinate system changes can now be applied while the system is
1578
*- connected to the network.
1579
*- - DI-Guy characters can now have different Munition types which are
1580
*- sent over the network as part of the detonation pdus.
1581
*<
1582
*- - Improved Munition Support:
1583
*>
1584
** Heavy rewrite/solidification of our munition and detonation code.
1585
*>
1586
*- - Characters now have a munition type, defaults to "m16".
1587
*- - Munition definitions are stored in the munition_type.cfg file.
1588
*- They have a number of required and optional fields including
1589
*- septet, radius, and special effects to create when triggered.
1590
*- - The munition name and radius is now part of diguyImpact
1591
*- structure. This allows the end user to build damage models in
1592
*- scripts that are based on the munition type of an impact, along
1593
*- with fall-off effects based on distance from impact location.
1594
*- - Characters hit by broadcast detonations will now call the
1595
*- CALLBACK_ID_IMPACT callback if they have one, this emulates what
1596
*- happens when characters are shot by other DI-Guys. If they are
1597
*- members of a crowd and the crowd has an impact callback that will
1598
*- be called, if no impact callback exists they will die.
1599
*- - Crowds should now react to remote detonations.
1600
*- - Impacting a scene object will now transmit a detonation.
1601
*<
1602
*<
1603
*4 Version 8.5.0
1604
**
1605
*- - Many new function calls available from decisions.
1606
*- - Changed default aim algorithm from 7 to 8. To change it back to 7,
1607
*- call diguyCharacter::set_aim_algorithm(), passing 7 as the
1608
*- aim_algorithm argument.
1609
*- - Improved diguyCharacter::check_character_visibility(). Character
1610
*- will now use the cervical joint as the source point, and test
1611
*- multiple positions on the target.
1612
*- - Promoted diguyCharacter version 8 aim algorithm functions from
1613
*- experimental to official.
1614
*- - Characters that are flagged as scene object are no longer baked
1615
*- into the world octtree. Editing them no longer requires an expensive
1616
*- octtree rebuild.
1617
*- - Fixed access bug in diguyScenario::find_path_shape().
1618
*- - Added functions:
1619
*>
1620
*- - diguyCharacter::get_last_impact_is_from_vehicle()
1621
*- - diguyCharacter::get_last_impact_speed_is_greater_than()
1622
*- - diguyCharacterGuide::set_position_acquired()
1623
*- - diguyCharacterGuide::set_orientation_acquired()
1624
*- - diguyImpact::get_impact_speed()
1625
*<
1626
*4 Version 8.1.0
1627
**
1628
*- - Added function diguyScenario::preload_sound()
1629
*- - Added callback id diguyScenario::CALLBACK_ID_SAVE_SCENARIO_FILE
1630
*- - Added experimental functions:
1631
*>
1632
*- - diguyCharacter::get_nearest_waypoint_index_in_path()
1633
*- - diguyCharacter::set_desired_orientation_to_current_orientation()
1634
*- - diguyCharacter::check_character_visibility()
1635
*<
1636
*4 Version 8.0.6
1637
**
1638
*- - Fixed issue where turreted vehicles broadcast angle did not match
1639
*- the DIS standard.
1640
*- - Added experimental aim functions. These functions are for the new
1641
*- DI-Guy version 8 aim algorithm.
1642
*>
1643
*- - diguyCharacter::set_aim_algorithm()
1644
*- - diguyCharacter::get_aim_algorithm()
1645
*- - diguyCharacter::set_aim_param_seek_tolerance()
1646
*- - diguyCharacter::get_aim_param_seek_tolerance()
1647
*- - diguyCharacter::set_aim_param_time_constant()
1648
*- - diguyCharacter::get_aim_param_time_constant()
1649
*- - diguyCharacter::set_aim_param_time_constant2()
1650
*- - diguyCharacter::get_aim_param_time_constant2()
1651
*- - diguyCharacter::set_aim_param_reset_time_constant()
1652
*- - diguyCharacter::get_aim_param_reset_time_constant()
1653
*- - diguyCharacter::set_aim_param_azimuth_acquired_range()
1654
*- - diguyCharacter::get_aim_param_azimuth_acquired_range()
1655
*- - diguyCharacter::set_aim_param_elevation_acquired_range()
1656
*- - diguyCharacter::get_aim_param_elevation_acquired_range()
1657
*- - diguyCharacter::set_aim_param_max_per_frame_adj_factor()
1658
*- - diguyCharacter::get_aim_param_max_per_frame_adj_factor()
1659
*- - diguyCharacter::set_aim_converge_every_frame()
1660
*- - diguyCharacter::get_aim_converge_every_frame()
1661
*- - diguyCharacter::aim_converge()
1662
*<
1663
*4 Version 8.0.5
1664
**
1665
*- - Fixed issue with TXP geometry loader. If external textures are
1666
*- marked as "Unknown" format, the actual format is now derived from
1667
*- the filename extension in the case of .rgb, .rgba, .int, and .inta
1668
*- texture files.
1669
**
1670
*4 Version 8.0.4
1671
**
1672
*- - Improved documentation for function diguyScenario::update().
1673
*- - Fixed some issues with I-Guy and its use of joystick input. I-Guy
1674
*- input for DI-Guy 8 now more closely matches that of previous
1675
*- versions.
1676
*- - Fixed some issues with muzzle flashes. In particular, muzzle
1677
*- flashes were not consistently showing up in DI-Guy Scenario, both
1678
*- during initial simulation and during review data playback.
1679
*- - DI-Guy now includes a DIGuyLicenseTool application that makes it
1680
*- easier to gather the appropriate information needed to request a
1681
*- license from Boston Dynamics. This utility program can be run
1682
*- during Applications installation, or, after installation is
1683
*- complete, from the DI-Guy folder in the Start Menu.
1684
*- - Fixed a problem with programming examples that used OpenAL
1685
*- with the VC7 static libs (Makefile.vc7_md, for example)
1686
*- would crash when an .ogg file was loaded.
1687
**
1688
*4 Version 8.0.3
1689
**
1690
*- - Fixed some issues with I-Guy:
1691
*>
1692
*- - Firing the I-Guy's weapon now correctly uses the trajectory
1693
*- to the crosshair, instead of along the weapon barrel.
1694
*- - Keyboard control of looking up and down now possible; use
1695
*- 'Page Up' and 'Page Down' keys.
1696
*<
1697
*- - Fixed problem with networked characters climbing hills.
1698
*- - Fixed problem with networked characters transitioning too quickly.
1699
*- - Added Visual Studio 7.1 solution for diguy_ogl/simple_playback
1700
*- example.
1701
*- - Fixed issue with diguyCharacter::stop_all_sounds() and
1702
*- diguyScenario::stop_all_sounds() not saving history events.
1703
**
1704
*4 Version 8.0.2
1705
**
1706
*- - Fixed problem with some textures not loading properly.
1707
*- - Fixed problem with DirectX examples not shutting down cleanly
1708
*- if there is a license problem.
1709
**
1710
*4 Version 8.0.1
1711
**
1712
*- - Fixed issues with temporary characters not always being destroyed.
1713
*- - Fixed issues with temporary characters showing up in review
1714
*- playback.
1715
*- - Fixed issues with appearance effects being recycled properly.
1716
*- - Fixed problem with eyes not participating in gazing.
1717
*- - Rework of many examples in the programming_examples directory.
1718
*- Some new examples added, some older ones removed.
1719
*- - Added README.txt files to diguy_plugin examples that better describe
1720
*- what the examples show, and how to use them in DI-Guy Scenario.
1721
**
1722
*4 Version 8.0.0
1723
**
1724
*- - Initial 8.0 release candidate.
1725
*- - Setting of tin (T In) and tout (T Out) calls for characters have
1726
*- been tightened up. For example, a character's tin can no longer
1727
*- be set to before the current scenario t. It could be before, but
1728
*- would cause potential problems. Warning messages are printed to
1729
*- the log when improper tin or tout times are attempted.
1730
**
1731
*4 Version 7.1.20
1732
**
1733
*- - Added new diguySignal and diguyScenario functions:
1734
*>
1735
*- - diguySignal::set_info_text()
1736
*- - diguySignal::get_info_text()
1737
*- - diguyScenario::signal_palette_show_all()
1738
*- - diguyScenario::signal_palette_hide_all()
1739
*<
1740
*- - The signal info_text field allows signals to be tagged in the DI-Guy
1741
*- Scenario Signal Palette with text different than the signal name.
1742
*- The new show all and hide all functions take an optional filter
1743
*- that can be used to make the operation work on a subset of the
1744
*- signals.
1745
**
1746
*4 Version 7.1.19
1747
**
1748
*- - Fixed problem with vehicle_wheels character in which first frame
1749
*- of playback had wheels in incorrect position.
1750
*- - Improved documentation for diguyCharacter Performance Functions.
1751
*- - Improved documentation for diguyCharacter functions that
1752
*- deal with enabling and disabling characters in various ways.
1753
*- - Added functions:
1754
*>
1755
*- - diguyLoadManager::set_zone_all_blends_disabled()
1756
*- - diguyLoadManager::get_zone_all_blends_disabled()
1757
*- - diguyLoadManager::set_zone_shape_switches_disabled()
1758
*- - diguyLoadManager::get_zone_shape_switches_disabled()
1759
*- - diguyLoadManager::set_zone_shape_callbacks_disabled()
1760
*- - diguyLoadManager::get_zone_shape_callbacks_disabled()
1761
*- - diguyLoadManager::set_zone_graphics_api_shape_update_disabled()
1762
*- - diguyLoadManager::get_zone_graphics_api_shape_update_disabled()
1763
*- - diguyCharacter::get_is_active()
1764
*- - diguyCharacter::set_invisible_flag()
1765
*- - diguyCharacter::get_invisible_flag()
1766
*<
1767
*- - Added function diguyCharacterGroup::get_is_network_paused(), and
1768
*- deprecated function diguyCharacterGroup::get_paused()
1769
*- - Added function diguyCharacterGroup::get_visible(), and
1770
*- deprecated function diguyCharacterGroup::get_is_drawn()
1771
*- - Made the following functions callable from decisions:
1772
*>
1773
*- - diguyCharacter::get_is_network_paused()
1774
*- - diguyCharacter::get_is_network_published()
1775
*- - diguyCharacter::get_is_network_reflected()
1776
*<
1777
*4 Version 7.1.18
1778
**
1779
*- - Added functions:
1780
*>
1781
*- - diguy_extract_translation_and_euler_angles_from_matrix()
1782
*- - diguy_create_matrix_from_translation_and_euler_angles()
1783
*- - diguyCharacter::set_appearance()
1784
*- - diguyCharacter::get_aim_is_possible()
1785
*<
1786
*- - Changed the name of several experimental functions:
1787
*>
1788
*- - diguyCharacter::start_appearance_effect() -> diguyCharacter::begin_appearance_effect()
1789
*- - diguyCharacter::stop_appearance_effect() -> diguyCharacter::end_appearance_effect()
1790
*<
1791
*- - The following experimental functions were promoted to
1792
*- official API status:
1793
*>
1794
*- - diguyScenario::create_temporary_character()
1795
*- - diguyScenario::send_character_to_recycle_bin()
1796
*- - diguyScenario::retrieve_character_from_recycle_bin()
1797
*- - diguyScenario::set_playback_mode()
1798
*- - diguyScenario::set_playback_mode_stop()
1799
*- - diguyScenario::set_playback_mode_play()
1800
*- - diguyCharacter::get_is_temporary()
1801
*- - diguyCharacter::translate_all_paths()
1802
*- - diguyCharacter::rotate_all_paths_about_point()
1803
*- - diguyCharacter::rotate_all_paths_about_current_waypoint()
1804
*- - diguyCharacter::manually_invoke_event_handler()
1805
*<
1806
*- - The ability to change the tin ("T In") time of a scenario has been
1807
*- removed. THIS CHANGE WILL AFFECT SCENARIOS THAT USED THIS
1808
*- FUNCTIONALITY. Setting the tin of a scenario to anything other than
1809
*- 0 has always had unintended side-effects for DI-Guy, which is why
1810
*- this capability has been removed. The functions
1811
*- diguyScenario::set_tin() and diguyScenario::get_tin() are now
1812
*- deprecated as a result. (Note that diguyCharacter::set_tin()
1813
*- has not been changed.)
1814
**
1815
*4 Version 7.1.16
1816
**
1817
*- - Added the following functions:
1818
*>
1819
*- - diguyCharacter::set_initial_up_vector()
1820
*- - diguyCharacter::get_initial_up_vector()
1821
*- - diguyCharacter::get_up_vector()
1822
*<
1823
*4 Version 7.1.14
1824
**
1825
*- - Fixed issues with scenario merging. Chain settings and particle
1826
*- systems in particular did not merge well.
1827
**
1828
*4 Version 7.1.13
1829
**
1830
*- - The following experimental functions were promoted to
1831
*- official API status:
1832
*>
1833
*- - diguyCharacter::set_minimum_cpl()
1834
*- - diguyCharacter::get_minimum_cpl()
1835
*- - diguyCharacter::get_maximum_possible_current_cpl()
1836
*- - diguyCharacter::maximize_current_cpl()
1837
*- - diguyCharacter::set_automatic_cpl_switching_enabled()
1838
*- - diguyCharacter::get_automatic_cpl_switching_enabled()
1839
*- - diguyCharacter::set_current_cpl()
1840
*- - diguyCharacter::get_current_cpl()
1841
*- - diguyCharacter::set_position_accumulation_disabled()
1842
*- - diguyCharacter::get_position_accumulation_disabled()
1843
*- - diguyCharacter::set_all_blends_disabled()
1844
*- - diguyCharacter::get_all_blends_disabled()
1845
*- - diguyCharacter::set_shape_switches_disabled()
1846
*- - diguyCharacter::get_shape_switches_disabled()
1847
*- - diguyCharacter::set_shape_callbacks_disabled()
1848
*- - diguyCharacter::get_shape_callbacks_disabled()
1849
*- - diguyCharacter::set_graphics_api_shape_update_disabled()
1850
*- - diguyCharacter::get_graphics_api_shape_update_disabled()
1851
*- - diguyCharacter::optimized_update()
1852
*- - diguyCharacter::get_is_recycled()
1853
*- - diguyCharacter::get_last_impact_record()
1854
*- - diguyCharacter::get_last_impact_number()
1855
*- - diguyCharacter::get_last_impact_been_processed()
1856
*- - diguyCharacter::set_last_impact_been_processed()
1857
*- - diguyCharacter::get_last_impact_link()
1858
*- - diguyCharacter::get_last_impact_link_is()
1859
*- - diguyCharacter::set_weapon_projectile_is_visible()
1860
*- - diguyCharacter::get_weapon_projectile_is_visible()
1861
*- - diguyCharacter::start_appearance_effect()
1862
*- - diguyCharacter::stop_appearance_effect()
1863
*- - diguyApp::set_precompute_quaternions_enabled()
1864
*- - diguyApp::get_precompute_quaternions_enabled()
1865
*- - diguyApp::set_num_rendering_passes()
1866
*- - diguyApp::get_num_rendering_passes()
1867
*<
1868
*- - The following deprecated functions were removed:
1869
*>
1870
*- - diguyApp::set_use_varsets_enabled()
1871
*- - diguyApp::get_use_varsets_enabled()
1872
*- - diguyCharacterGroup::set_all_members_t()
1873
*<
1874
*4 Version 7.1.12
1875
**
1876
*- - Added new functions to diguyCharacter:
1877
*>
1878
*- - diguyCharacter::set_position_to_other_character_position()
1879
*- - diguyCharacter::set_desired_position_to_current_position()
1880
*- - diguyCharacter::set_desired_position_to_waypoint()
1881
*- - diguyCharacter::set_desired_position_to_path_waypoint()
1882
*- - diguyCharacter::set_desired_position_to_path_shape_waypoint()
1883
*- - diguyCharacter::find_guide()
1884
*<
1885
*4 Version 7.1.11
1886
**
1887
*- - The following functions were added to diguySensorRegion that
1888
*- make it easier to write callback handlers for sensor regions:
1889
*>
1890
*- - get_autosense_callback_candidate_entered()
1891
*- - get_autosense_callback_candidate_left()
1892
*<
1893
*- - Characters now fire live rounds by default when
1894
*- diguyCharacter::fire_weapon() is called. THIS IS A CHANGE
1895
*- FROM PREVIOUS DEFAULT BEHAVIOR.
1896
*- The old behavior can be restored in two ways:
1897
*>
1898
*- - In DI-Guy Scenario, the Weapon Params tab on the Character
1899
*- Elements palette has a checkbox called "Weapon Fires Live
1900
*- Rounds". The checkbox can be unchecked, followed by pressing
1901
*- the "Copy to All Characters" button.
1902
*- - In a program using the DI-Guy API, the function
1903
*- diguyCharacter::set_weapon_fires_live_rounds() can be called.
1904
*<
1905
*- - Character Labels Visibility is now set to 'None' in the default
1906
*- .dss file.
1907
*- - Added function to diguyCharacterGuide:
1908
*>
1909
*- - diguyCharacterGuide::remove_all_disabled_guides()
1910
*<
1911
*- - Made the following functions available to Decision Beads and Decision
1912
*- Events:
1913
*>
1914
*- - diguyCharacter::remove_all_guides()
1915
*- - diguyCharacter::remove_all_disabled_guides()
1916
*<
1917
*- - Removed DI-Guy Graphics API programming example
1918
*- ogl_examples_high_precision/simple_playback_high_precision.
1919
*- Replaced it with streamlined example
1920
*- ogl_examples/simple_playback_far_positions.
1921
*- - Fixed problem with props/scene objects showing up at origin
1922
*- in after-action review.
1923
**
1924
*4 Version 7.1.10
1925
**
1926
*- - Fixed a problem with the DI-Guy Graphics API that prevented
1927
*- textures on some characters from being correctly bound under
1928
*- certain circumstances.
1929
**
1930
*4 Version 7.1.9
1931
**
1932
*- - The following optional functions were added to plugins:
1933
*>
1934
*- - void key_press()
1935
*- - void key_release()
1936
*<
1937
*- - Added diguyIGuyController class for C++ and script control over
1938
*- the I-Guy character.
1939
*- - Setting the dead reckoning time threshold is now done by setting the
1940
*- variable time_threshold in the network.cfg file. The variable
1941
*- tick_period has been deprecated and will no longer have any effect.
1942
*- The default value is 5 seconds.
1943
**
1944
*4 Version 7.1.8
1945
**
1946
*- - Added callback and event handling support for scenario variables:
1947
*>
1948
*- - diguyScenario::add_default_variable_callback()
1949
*- - diguyScenario::remove_default_variable_callback()
1950
*- - diguyScenario::remove_default_variable_callback_with_user_data()
1951
*- - diguyScenario::add_default_variable_callback_script()
1952
*- - diguyScenario::remove_default_variable_callback_script()
1953
*- - diguyScenario::register_variable_event_handler()
1954
*- - diguyScenario::register_variable_event_handler_from_library()
1955
*- - diguyScenario::register_variable_event_handler_script()
1956
*- - diguyScenario::has_registered_variable_event_handler()
1957
*- - diguyScenario::unregister_variable_event_handler()
1958
*- - diguyVariable::CALLBACK_ID_VALUE_CHANGED
1959
*- - diguyVariable::add_callback()
1960
*- - diguyVariable::remove_callback()
1961
*- - diguyVariable::remove_callback_with_user_data()
1962
*- - diguyVariable::add_callback_script()
1963
*- - diguyVariable::remove_callback_script()
1964
*- - diguyVariable::map_event_handler_to_callback_id()
1965
*- - diguyVariable::unmap_event_handler_from_callback_id()
1966
*<
1967
*4 Version 7.1.7
1968
**
1969
*- - Added parameters polygon_offset_factor and polygon_offset_units
1970
*- to bdiGraphicsInitOgl structure to allow for better control
1971
*- over subface rendering in OpenGL.
1972
*- - Addressed some issues with diguyGraphicsLink and far positions.
1973
**
1974
*4 Version 7.1.6
1975
**
1976
*- - Added functions to diguySensorRegion:
1977
*>
1978
*- - diguySensorRegion::contains_character_from_group()
1979
*<
1980
*- - Added experimental functions
1981
*- diguyScenario::create_temporary_character() and
1982
*- diguyCharacter::get_is_temporary(). These functions allow
1983
*- for the creation of 'temporary' characters that are not saved
1984
*- in a .dss file and are recycled on scenario reset. Temporary
1985
*- characters are useful as fired munitions, effects, etc.
1986
*- - Added functions to diguyCharacterGuide:
1987
*>
1988
*- - diguyCharacterGuide::get_position_acquired()
1989
*- - diguyCharacterGuide::get_orientation_acquired()
1990
*<
1991
*- - Added new callbacks to diguyCharacter:
1992
*>
1993
*- - diguyCharacter::CALLBACK_ID_GUIDE_POSITION_ACQUIRED
1994
*- - diguyCharacter::CALLBACK_ID_GUIDE_POSITION_UNACQUIRED
1995
*- - diguyCharacter::CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED
1996
*- - diguyCharacter::CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED
1997
*- - diguyCharacter::CALLBACK_ID_CURRENT_TOUT_REACHED
1998
*<
1999
*- - Added function diguyCharacter::set_custom_orientation_rx_and_ry().
2000
*- This function allows the roll and pitch components of a
2001
*- character to be set without taking the character off of its
2002
*- current path, if there is one. The character's up vector
2003
*- (as set by diguyCharacter::set_up_vector()) must be 'c'
2004
*- (custom) for these values to have an effect.
2005
*- - Added new distance calculation functions:
2006
*>
2007
*- - diguyCharacter::get_distance_to_character()
2008
*- - diguyCharacter::get_distance_xy_to_character()
2009
*- - diguyCharacter::get_distance_to_path()
2010
*<
2011
*- - Added new experimental functions for locating a nearby character.
2012
*- These functions have a check_visibility argument; if 1, the
2013
*- function will do a simple ray trace against scene object geometry.
2014
*>
2015
*- - diguyCharacter::get_nearest_active_character()
2016
*- - diguyCharacter::get_nearest_active_character_in_group()
2017
*<
2018
*- - Added diguySensorRegion::contains_character_by_type()
2019
*- - Added diguyCharacter::force_local_path() new function that
2020
*- can grab a preexisting path. copy and transform it into the
2021
*- local space of the character and switch to it.
2022
*- - Removed function diguy_dis_get_action_from_entity_state() from
2023
*- diguy_module_dis.h. diguyCharacter::get_action_from_entity_state()
2024
*- should be called instead to map DIS values to an action.
2025
**
2026
*4 Version 7.1.5
2027
**
2028
*- - Added experimental transformation functions for paths:
2029
*>
2030
*- - diguyCharacterPath::translate()
2031
*- - diguyCharacterPath::rotate_about_point()
2032
*- - diguyPathShape::translate()
2033
*- - diguyPathShape::rotate_about_point()
2034
*<
2035
*- - Added experimental performance tuning functions:
2036
*>
2037
*- - diguyScenario::send_character_to_recycle_bin()
2038
*- - diguyScenario::retrieve_character_from_recycle_bin()
2039
*<
2040
*- - Deprecated experimental performance tuning functions:
2041
*>
2042
*- - diguyApp::set_use_varsets_enabled()
2043
*- - diguyApp::get_use_varsets_enabled()
2044
*<
2045
*4 Version 7.1.4
2046
**
2047
*- - Added function diguyCharacterPath::get_path_shape(), that
2048
*- provides access to a path's underlying path shape.
2049
*- - Added functions diguyCharacter::get_nearest_active_character()
2050
*- and diguyCharacter::get_nearest_active_character_in_group().
2051
*- These functions will walk through either all characters or all
2052
*- characters in a group, and return the nearest character that is
2053
*- both alive and enabled. An optional argument specifies whether
2054
*- to skip characters that are invisible to the caller because a
2055
*- scene object is in the way.
2056
*- - Added convenience functions diguyCharacter::get_distance() and
2057
*- diguyCharacter::get_distance_xy() for getting the distance
2058
*- between two characters.
2059
**
2060
*4 Version 7.1.3
2061
**
2062
*- - Deprecated diguyChainSimulation::set_connection_character()
2063
*- function. Replaced with
2064
*- diguyChainSimulation::set_chain_mass_connection_character().
2065
*- - Added ability to set all chain mass positions in the
2066
*- call diguyChainSimulation::set_chain_mass_position()
2067
*- by passing -1 for the chain_mass_index.
2068
*- - Added ability to fix all chain mass positions in the
2069
*- call diguyChainSimulation::set_chain_mass_position_is_fixed()
2070
*- by passing -1 for the chain_mass_index.
2071
*- - Added aiming ability for characters with turrets.
2072
*- - Fixed problems with debug versions of programming examples
2073
*- that caused heap corruption on some Windows systems.
2074
**
2075
*4 Version 7.1.2
2076
**
2077
*- - Added new callback to diguyCharacter:
2078
*>
2079
*- - diguyCharacter::CALLBACK_ID_DESIRED_ACTION_REACHED
2080
*<
2081
*4 Version 7.1.1
2082
**
2083
*- - Added a new experimental character type called "chain_simulation"
2084
*- that can do realtime simulation of chains, ropes, and hoses.
2085
*- The appearance of the chain_simulation character determines its
2086
*- simulation settings. Chain simulation settings are created and
2087
*- on the DI-Guy Scenario Chain Sim Settings page, or via the
2088
*- diguyChainSettings class. Runtime parameters of the chain
2089
*- simulation are set by obtaining a diguyChainSimulation object
2090
*- via the diguyCharacter::get_chain_simulation() call.
2091
*- - Fixed issues with diguyCharacter::set_current_appearance().
2092
*- 0 was returned even if appearance change failed; not correctly
2093
*- returns -1 on failure.
2094
*- - Added new experimental functions to event bead classes. These
2095
*- functions make it possible to specify that event beads should
2096
*- begin and/or when a specific action bead or waypoint is reached.
2097
*- Members are:
2098
*>
2099
*- - diguyCharacterPathAimBead::get_begin_at_object_name()
2100
*- - diguyCharacterPathAimBead::set_begin_at_object_name()
2101
*- - diguyCharacterPathAimBead::get_end_at_object_name()
2102
*- - diguyCharacterPathAimBead::set_end_at_object_name()
2103
*- - diguyCharacterPathDecisionBead::get_begin_at_object_name()
2104
*- - diguyCharacterPathDecisionBead::set_begin_at_object_name()
2105
*- - diguyCharacterPathDecisionBead::get_end_at_object_name()
2106
*- - diguyCharacterPathDecisionBead::set_end_at_object_name()
2107
*- - diguyCharacterPathGazeBead::get_begin_at_object_name()
2108
*- - diguyCharacterPathGazeBead::set_begin_at_object_name()
2109
*- - diguyCharacterPathGazeBead::get_end_at_object_name()
2110
*- - diguyCharacterPathGazeBead::set_end_at_object_name()
2111
*- - diguyCharacterPathScriptBead::get_begin_at_object_name()
2112
*- - diguyCharacterPathScriptBead::set_begin_at_object_name()
2113
*- - diguyCharacterPathScriptBead::get_end_at_object_name()
2114
*- - diguyCharacterPathScriptBead::set_end_at_object_name()
2115
*<
2116
*- - Function diguyApp::load_plugin() has three new optional arguments:
2117
*- required_by_scenario, unload_on_scenario_close, and
2118
*- accepts_mouse_input.
2119
*- - Added functions to diguyImpact:
2120
*>
2121
*- - diguyImpact::get_location_in_link_coordinates()
2122
*<
2123
*- - Added functions to diguyScenario:
2124
*>
2125
*- - diguyScenario::get_impact_at_screen_coords()
2126
*<
2127
*- - Added functions to diguyCharacter:
2128
*>
2129
*- - diguyCharacter::set_label_text_shadow_color()
2130
*- - diguyCharacter::get_label_text_shadow_color()
2131
*- - diguyCharacter::set_label_text_shadow_is_visible()
2132
*- - diguyCharacter::get_label_text_shadow_is_visible()
2133
*<
2134
*- - Character label information is now saved in the scenario
2135
*- file and restored when the scenario is loaded.
2136
**
2137
*4 Version 7.1.0
2138
**
2139
*- - Added function diguy_get_app(), a cleaner function for
2140
*- retrieving the diguyApp object than diguyApp::get_app().
2141
*- - Added experimental transformation functions for paths:
2142
*>
2143
*- - diguyCharacter::translate_all_paths()
2144
*- - diguyCharacter::rotate_all_paths_about_point()
2145
*- - diguyCharacter::rotate_all_paths_about_current_waypoint()
2146
*- - diguyCharacterGroup::translate_all_paths()
2147
*- - diguyCharacterGroup::rotate_all_paths_about_point()
2148
*- - diguyCharacterGroup::rotate_all_paths_about_current_waypoint()
2149
*<
2150
*- - Added functions diguyApp::get_diguy_base_dir() and
2151
*- diguyApp::get_diguy_subdir().
2152
*- - Added diguyCharacter::get_parent() function.
2153
*- - Added diguyViewLight::set_shadowmap_size() and
2154
*- diguyViewLight::get_shadowmap_size(); allows setting shadow
2155
*- map resolution.
2156
*- Must be a power of 2.
2157
*- - Made various internal performance enhancements for scenario
2158
*- updates.
2159
*- - Fixed a problem with motion LODs updating all links every
2160
*- now and then, even if the current action hasn't changed.
2161
*- - Made the scenario be able to go past 60000 seconds. Now a
2162
*- scenario tout greater than 60000 seconds is interpreted as
2163
*- unlimited.
2164
*- - Fixed a problem with motion LODs updating too many links.
2165
*- - Made various internal performance enhancements for scenario
2166
*- updates.
2167
*- - Added performance tuning functions:
2168
*>
2169
*- - diguyCharacter::set_automatic_cpl_switching_enabled()
2170
*- - diguyCharacter::get_automatic_cpl_switching_enabled()
2171
*- - diguyCharacter::set_minimum_cpl()
2172
*- - diguyCharacter::get_minimum_cpl()
2173
*- - diguyCharacter::get_maximum_possible_current_cpl()
2174
*- - diguyCharacter::maximize_current_cpl()
2175
*- - diguyCharacter::get_current_cpl()
2176
*- - diguyCharacter::set_position_accumulation_disabled()
2177
*- - diguyCharacter::get_position_accumulation_disabled()
2178
*- - diguyCharacter::set_all_blends_disabled()
2179
*- - diguyCharacter::get_all_blends_disabled()
2180
*- - diguyCharacter::set_shape_switches_disabled()
2181
*- - diguyCharacter::get_shape_switches_disabled()
2182
*- - diguyCharacter::set_shape_callbacks_disabled()
2183
*- - diguyCharacter::get_shape_callbacks_disabled()
2184
*- - diguyCharacter::set_graphics_api_shape_update_disabled()
2185
*- - diguyCharacter::get_graphics_api_shape_update_disabled()
2186
*- - diguyCharacter::optimized_update()
2187
*- - diguyScenario::optimized_update()
2188
*- - diguyScenario::send_character_to_recycle_bin()
2189
*- - diguyScenario::retrieve_character_from_recycle_bin()
2190
*- - diguyGraphicsLink::get_data_ptr()
2191
*- - diguyGraphicsLink::get_translation_data_index()
2192
*- - diguyGraphicsLink::get_rotation_data_index()
2193
*- - diguyGraphicsLink::get_scale_data_index()
2194
*- - diguyGraphicsLink::get_quat_data_ptr()
2195
*- - diguyGraphicsLink::get_quat_data_index()
2196
*- - diguyApp::set_use_varsets_enabled()
2197
*- - diguyApp::get_use_varsets_enabled()
2198
*- - diguyApp::set_precompute_quaternions_enabled()
2199
*- - diguyApp::get_precompute_quaternions_enabled()
2200
*<
2201
*4 Version 7.0.9
2202
**
2203
*- - Rewrote portions of network mapping code, custom pdus/specialized
2204
*- motions will now work with more characters.
2205
*- This requires a new version of data, but any character that has
2206
*- been properly tagged with variants and postures should transmit
2207
*- better.
2208
*- - Rewrote speed code, networked characters should scale speed to
2209
*- try and match packets that are coming in.
2210
**
2211
*4 Version 7.0.8
2212
**
2213
*- - Trying to get the position of a invalid link will behave a bit
2214
*- better.
2215
**
2216
*4 Version 7.0.6
2217
**
2218
*- - Creating a path when a character has none will properly set
2219
*- the initial path name.
2220
**
2221
*4 Version 7.0.5
2222
**
2223
*- - Fixed a crash that sometimes happened while reading comments
2224
*- out of texture .attr files.
2225
**
2226
*4 Version 7.0.3
2227
**
2228
*- - Fixed a problem with the diguyGraphicsShape::update() function not
2229
*- always being called.
2230
*- - Fixed various bugs with VR-Link and DI-Guy time sync code.
2231
*- - Added warning if diguyCharacter::set_desired_action() is called
2232
*- with 0.0f as the speed.
2233
**
2234
*4 Version 7.0.2
2235
**
2236
*- - Fixed a problem with gazing and aiming not zeroing in on the
2237
*- correct positions when using DI-Guy for Vega.
2238
**
2239
*4 Version 7.0.1
2240
**
2241
*- - Deprecated "named_callback" functions in diguyApp. Event handler
2242
*- functions should be used instead.
2243
*- - Renamed some diguyViewCamera functions:
2244
*>
2245
*- - diguyViewCamera::get_world_offset_position() has become
2246
*- diguyViewCamera::get_segment_origin()
2247
*- - diguyViewCamera::get_local_position() has become
2248
*- diguyViewCamera::get_position_segment_offset()
2249
*- - diguyViewCamera::get_local_fix() has become
2250
*- diguyViewCamera::get_fix_segment_offset()
2251
*<
2252
*- - Added function diguyCharacterGroup::update_all_members(), and
2253
*- deprecated function diguyCharacterGroup::set_all_members_t()
2254
*- - Fixed problem with deleting one scenario and creating another
2255
*- causing a crash.
2256
*- - Fixed crash problem with function diguy_set_cfg_file().
2257
*- - Changed the default settings of automatic switching of graphics
2258
*- LODs and motion LODs, as set by
2259
*- diguyScenario::set_automatic_graphics_lod_switching() and
2260
*- diguyScenario::set_automatic_motion_lod_switching(). Previously
2261
*- automatic LOD switching was always enabled unless explicitly
2262
*- disabled by calling the above functions. Now automatic LOD
2263
*- switching will be disabled by default in DI-Guy API applications,
2264
*- but remain enabled by default in DI-Guy Scenario.
2265
*- - Added the following functions for adding and removing appearances:
2266
*>
2267
*- - diguyScenario::add_appearance()
2268
*- - diguyScenario::add_appearance_based_on_existing_appearance()
2269
*- - diguyScenario::remove_appearance()
2270
*<
2271
*- - diguyScenario::add_custom_appearance() deprecated;
2272
*- use diguyScenario::add_appearance().
2273
*- - diguyScenario::add_custom_appearance_based_on_existing_appearance()
2274
*- deprecated; use
2275
*- diguyScenario::add_appearance_based_on_existing_appearance().
2276
*- - Promoted the following functions from experimental to
2277
*- official status:
2278
*>
2279
*- - diguyCharacter::get_label_text()
2280
*- - diguyCharacter::set_label_text()
2281
*- - diguyCharacter::get_label_is_visible()
2282
*- - diguyCharacter::set_label_is_visible()
2283
*- - diguyCharacter::set_label_text_color()
2284
*- - diguyCharacter::get_label_text_color()
2285
*- - diguyCharacter::set_label_background_color()
2286
*- - diguyCharacter::get_label_background_color()
2287
*<
2288
*- - Removed diguyLoadManager camera functions (load manager camera
2289
*- now always tracks the scenario's primary view camera):
2290
*>
2291
*- - diguyLoadManager::add_camera()
2292
*- - diguyLoadManager::add_view_camera()
2293
*- - diguyLoadManager::move_camera()
2294
*- - diguyLoadManager::change_view_camera_settings()
2295
*- - diguyLoadManager::remove_camera()
2296
*- - diguyLoadManager::remove_all_cameras()
2297
*<
2298
*4 Version 7.0.0
2299
**
2300
*- - Fixed problem with diguyCharacter::set_speed(). The set speed
2301
*- was being reset to the action's default speed after a short time,
2302
*- which is not correct behavior.
2303
*- - Changed values returned by diguyCharacter::get_aim_azimuth()
2304
*- and diguyCharacter::get_aim_elevation() to be character-
2305
*- relative rather than world-relative.
2306
**
2307
*4 Version 6.1.10
2308
**
2309
*- - Fixed event propagation bug when event tout is -1 and scenario
2310
*- tout is changed.
2311
*- - Added optional actor argument to
2312
*- diguyScenario::add_custom_appearance() function. This
2313
*- fixes a problem with characters not being able to switch
2314
*- to custom appearances with
2315
*- diguyCharacter::set_current_appearance() because of actors
2316
*- being different.
2317
*- - Added simple_playback_high_precision and view_far_position that
2318
*- demonstrate off the use of high precision position values.
2319
**
2320
*4 Version 6.1.9
2321
**
2322
*- - Fixed problem with various diguyWaypoint "get" functions
2323
*- that return angles (e.g., diguyWaypoint::get_yaw_in());
2324
*- they weren't properly returning angles in degrees.
2325
*- - Fixed problem with merging scenarios: merged waypoints at
2326
*- the origin were not being rotated correctly.
2327
*- - Fixed problem with config file appearance syntax. The
2328
*- item "shapeset:shape" format caused a crash; it now works
2329
*- again.
2330
*- - Fixed problems with required plug-in list not saving or
2331
*- resetting properly.
2332
**
2333
*4 Version 6.1.8
2334
**
2335
*- - Far positions rendering are now off by default, though
2336
*- DI-Guy Scenario and DI-Guy Scenario UI V6 turn them on.
2337
*- Practically this means that while internally things are
2338
*- done at a higher precision format, the render camera being
2339
*- in local space will be a change that needs to be explicitly
2340
*- asked for.
2341
*- - Added the following functions for controlling far position
2342
*- state:
2343
*>
2344
*- - diguy_ogl_get_use_far_positions()
2345
*- - diguy_ogl_set_use_far_positions()
2346
*- - diguy_graphics_get_use_far_positions()
2347
*- - diguy_graphics_set_use_far_positions()
2348
*<
2349
*- - Added accessors for setting character and scene object culling
2350
*- on/off.
2351
*>
2352
*- - diguyScenario::set_character_culling_enabled()
2353
*- - diguyScenario::get_character_culling_enabled()
2354
*- - diguyScenario::set_scene_object_culling_enabled()
2355
*- - diguyScenario::get_scene_object_culling_enabled()
2356
*<
2357
*- - Added accessors for setting character and scene object bounding
2358
*- volume visualization on/off. (only works for OpenGL)
2359
*>
2360
*- - diguyScenario::set_character_visualize_bounds_enabled()
2361
*- - diguyScenario::get_character_visualize_bounds_enabled()
2362
*- - diguyScenario::set_scene_object_visualize_bounds_enabled()
2363
*- - diguyScenario::get_scene_object_visualize_bounds_enabled()
2364
*<
2365
*- - Fixed a bug with diguyCharacter::set_current_appearance().
2366
*- - Added warning message if a proposed appearance change is null;
2367
*- fixes crash bug.
2368
*- - diguyScenario::trigger_script_event() deprecated;
2369
*- use diguyScenario::trigger_script().
2370
*- - Added function diguyScenario::trigger_decision().
2371
**
2372
*4 Version 6.1.7
2373
**
2374
*- - Added new experimental functions. (Experimental
2375
*- functions are typically for probationary features whose final
2376
*- functionality or API has not been fully worked out.)
2377
*>
2378
*- - diguyCharacter::set_weapon_projectile_is_visible()
2379
*- - diguyCharacter::get_weapon_projectile_is_visible()
2380
*- - diguyCharacter::get_label_text()
2381
*- - diguyCharacter::set_label_text()
2382
*- - diguyCharacter::get_label_is_visible()
2383
*- - diguyCharacter::set_label_is_visible()
2384
*- - diguyCharacter::set_label_text_color()
2385
*- - diguyCharacter::get_label_text_color()
2386
*- - diguyCharacter::set_label_background_color()
2387
*- - diguyCharacter::get_label_background_color()
2388
*- - diguyScenario::find_character_at_screen_coords()
2389
*- - diguyScenario::set_playback_mode()
2390
*- - diguyScenario::set_playback_mode_stop()
2391
*- - diguyScenario::set_playback_mode_play()
2392
*<
2393
*- - Removed the function diguyLoadManager::set_enable_culling().
2394
*- - Added optional arguments initial_posture and initial_variant
2395
*- to diguyScenario::set_iguy_character().
2396
*- - Added function diguyScenario::get_time_of_day().
2397
*- - Fixed bug in diguyCharacter::is_speaking(). It was
2398
*- sometimes improperly returning FALSE.
2399
*- - Added the following functions that control whether the scenario
2400
*- will be reset (as if diguyScenario::reset() were called) when
2401
*- a merge happens:
2402
*>
2403
*- - diguyScenarioMergeSettings::set_reset_flag()
2404
*- - diguyScenarioMergeSettings::get_reset_flag()
2405
*<
2406
*- - Now incoming XC_MERGE_SCENARIO PDUs do not cause the running
2407
*- scenario to stop and reset.
2408
*- - Now incoming XC_MERGE_SCENARIO PDUs cause a
2409
*- XC_MERGE_SCENARIO_COMPLETE PDU to be sent when the merge
2410
*- operation is done.
2411
*- - Now incoming XC_LOAD_SCENARIO PDUs cause a
2412
*- XC_LOAD_SCENARIO_COMPLETE PDU to be sent when the load
2413
*- operation is complete.
2414
*- - Added the following functions:
2415
*>
2416
*- - diguyExerciseInterface::send_pdu_xc_eval_script()
2417
*- - diguyExerciseInterface::send_pdu_xc_time_now()
2418
*<
2419
*- - Now incoming XC_TIME_NOW messages cause the scenario to chase
2420
*- sync.
2421
*- - Now incoming XC_EVAL_SCRIPT messages cause the script therein
2422
*- to be evaluated.
2423
*- - diguyScenario::load() has been changed to not accept .flt
2424
*- filenames. The new function diguyScenario::create_scene_object()
2425
*- should be used instead.
2426
*- - Added the following functions:
2427
*>
2428
*- - diguyScenario::create_scene_object()
2429
*- - diguyScenario::destroy_scene_object()
2430
*<
2431
*- - Fixed problem with DX99 version of the library that prevented
2432
*- gazing from working correctly.
2433
*- - Added better detection of and error message for missing
2434
*- DI-Guy Data installation.
2435
*- - Renamed experimental "shot" class, function names, and
2436
*- callback ids to use the more generic term "impact":
2437
*>
2438
*- - diguyShot
2439
*>
2440
*- - diguyShot (class name) -> diguyImpact
2441
*- - get_shooter_name() -> get_attacker_name()
2442
*- - get_shooter() -> get_attacker()
2443
*- - get_shot_number() -> get_impact_number()
2444
*- - set_shot_number() -> set_impact_number()
2445
*- - get_shot_been_processed() -> get_impact_been_processed()
2446
*- - set_shot_been_processed() -> set_impact_been_processed()
2447
*<
2448
*- - diguyCharacter
2449
*>
2450
*- - CALLBACK_ID_GOT_SHOT -> CALLBACK_ID_IMPACT
2451
*- - CALLBACK_ID_SHOT_SUCCESS -> CALLBACK_ID_FIRE_WEAPON_SUCCESS
2452
*- - get_last_shot_record() -> get_last_impact_record()
2453
*- - get_last_shot_number() -> get_last_impact_number()
2454
*- - get_last_shot_been_processed() -> get_last_impact_been_processed()
2455
*- - set_last_shot_been_processed() -> set_last_impact_been_processed()
2456
*- - get_last_shot_link() -> get_last_impact_link()
2457
*- - get_last_shot_link_is() -> get_last_impact_link_is()
2458
*- - set_max_shot_hits() -> set_max_impact_hits()
2459
*<
2460
*- - diguyScenario
2461
*>
2462
*- - CALLBACK_ID_ENVIRONMENTAL_DETONATION -> CALLBACK_ID_SCENE_OBJECT_IMPACT
2463
*- - get_last_env_shot_info() -> get_last_env_impact_info()
2464
*<
2465
*<
2466
*- - Added function diguyExerciseInterface::send_pdu_xc_time_now().
2467
*- - Added code to properly respond to incoming XC_TIME_NOW PDUs.
2468
**
2469
*4 Version 6.1.6
2470
**
2471
*- - Added functions and diguyExerciseInterface class for
2472
*- enhanced networking support:
2473
*>
2474
*- - diguyApp::get_exercise_interface()
2475
*- - diguyExerciseInterface::send_pdu_xc_load_scenario()
2476
*- - diguyExerciseInterface::send_pdu_xc_merge_scenario()
2477
*- - diguyExerciseInterface::send_pdu_xc_trigger_script()
2478
*- - diguyExerciseInterface::send_pdu_xc_control()
2479
*- - diguyScenario::set_tin_time_of_day()
2480
*- - diguyScenario::get_tin_time_of_day()
2481
*<
2482
*- - Added new functions diguyView::get_width() and
2483
*- diguyView::get_height().
2484
*- - Experimental plugin infrastructure has been reworked a fair amount.
2485
*>
2486
*- - Function diguyScenario::add_plugin() has been changed to
2487
*- diguyApp::load_plugin().
2488
*- - Function diguyScenario::remove_plugin() has been changed to
2489
*- diguyApp::unload_plugin().
2490
*- - The following functions will be imported when a plugin
2491
*- is loaded. Note that not only diguy_version() must be
2492
*- implemented:
2493
*>
2494
*- - void diguy_version(int* version_major, int* version_minor, int* version_point)
2495
*- - void initialize_plugin(diguyApp* app)
2496
*- - void deinitialize_plugin(diguyApp* app)
2497
*- - void initialize(diguyScenario* s)
2498
*- - void deinitialize(diguyScenario* s)
2499
*- - void pre_update(diguyScenario* s)
2500
*- - void post_update(diguyScenario* s)
2501
*- - void pre_draw(diguyScenario* s)
2502
*- - void post_draw(diguyScenario* s)
2503
*- - void reset(diguyScenario* s)
2504
*- - diguyPluginMouseCursor get_mouse_cursor(diguyScenario* s)
2505
*- - void mouse_press(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
2506
*- - void mouse_drag(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
2507
*- - void mouse_release(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
2508
*- - void mouse_move(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
2509
*- - void save_review_data(diguyScenario* s, const char* filename)
2510
*- - void load_review_data(diguyScenario* s, const char* filename)
2511
*<
2512
*<
2513
*- - Added an additional argument, merge_settings, to the
2514
*- diguyScenario::merge() function.
2515
*- - Added the following functions to enable better control of
2516
*- merging scenarios:
2517
*>
2518
*- - diguyScenario::create_merge_settings()
2519
*- - diguyScenario::destroy_merge_settings()
2520
*<
2521
*- - Added the following functions:
2522
*>
2523
*- - diguyCharacter::revive_now()
2524
*<
2525
*- - Added the following functions in support of 3D positional sound:
2526
*>
2527
*- - diguyCharacter::set_default_weapon_sound()
2528
*- - diguyCharacter::get_default_weapon_sound()
2529
*- - diguyCharacter::set_default_weapon_sound_gain()
2530
*- - diguyCharacter::get_default_weapon_sound_gain()
2531
*- - diguyCharacter::play_3d_sound()
2532
*- - diguySoundInstance::set_is_3d_sound_flag()
2533
*- - diguySoundInstance::get_is_3d_sound_flag()
2534
*<
2535
*- - Added new optional argument "gain" to diguyCharacter::play_sound()
2536
*- function.
2537
*- - Made following functions available to Decision Beads and Decision
2538
*- Events:
2539
*>
2540
*- - diguyCharacter::aim_at_character()
2541
*- - diguyCharacter::end_aim()
2542
*- - diguyCharacter::end_gaze()
2543
*- - diguyCharacter::end_lpoint()
2544
*- - diguyCharacter::gaze_at_character()
2545
*- - diguyCharacter::lpoint_at_character()
2546
*- - diguyCharacter::resume_interrupted_path()
2547
*- - diguyCharacter::play_3d_sound()
2548
*<
2549
*- - Removed unused variable "working_directory" from bdiExFaceInit
2550
*- structure. Replaced with variable "placeholder", leaving the
2551
*- option open for future init variables. Calls passing NULL for
2552
*- the bdiExFaceInit structure to diguy_exface_initialize() will
2553
*- not need to change.
2554
*- - Fixed problem with Decision Bead that incorrectly put function
2555
*- variable_less_than_string() in variable query functions instead
2556
*- of character query functions.
2557
*- - Added script_type argument to diguyScenario::eval_script() and
2558
*- diguyScenario::eval_script_file() functions.
2559
**
2560
*4 Version 6.1.5
2561
**
2562
*- - Fixed problem that newly created characters were not
2563
*- appearing until the next scenario tick dt boundary was
2564
*- crossed.
2565
*- - diguyCharacter::set_t() deprecated;
2566
*- use diguyCharacter::update().
2567
*- - Added new function diguyCharacterPath::get_length().
2568
*- - Fixed potential crash from call to function
2569
*- diguyCharacterPath::update().
2570
*- - Character positions now stored in higher precision format.
2571
*>
2572
*- - Added new functions:
2573
*>
2574
*- - diguyCharacter::set_position_double()
2575
*- - diguyCharacter::get_position_double()
2576
*- - diguyCharacter::get_link_position_double()
2577
*- - diguyCharacter::get_link_position_with_offset_double()
2578
*- - diguyGraphicsLink::get_translation_double()
2579
*- - diguyViewCamera::get_position_double()
2580
*<
2581
*- - New local space camera. DI-Guy can now render in the local
2582
*- space of the camera. This allows DI-Guy to avoid putting
2583
*- large values on the rendering stack, avoiding numerical
2584
*- imprecision on objects that are far from the origin.
2585
*- - Added new local space camera functions:
2586
*>
2587
*- - diguyScenario::set_render_camera()
2588
*- - diguyViewCamera::get_local_fix()
2589
*- - diguyViewCamera::get_local_position()
2590
**
2591
** In OpenGL, use gluLookAt(local_position_x, local_position_y,
2592
** local_position_z, local_fix_x, local_fix_y, local_fix_z,
2593
** 0.0, 0.0, 1.0); to emulate the DI-Guy camera.
2594
*<
2595
*<
2596
*4 Version 6.1.4
2597
**
2598
*- - Added new function diguyGraphicsShape::get_is_hidden().
2599
*- - Added new functions to diguyCharacterGroup class:
2600
*>
2601
*- - diguyCharacterGroup::get_num_members()
2602
*- - diguyCharacterGroup::get_member_at_index()
2603
*<
2604
*- - Added new functions to diguySensorRegion class:
2605
*>
2606
*- - diguySensorRegion::add_characters_in_region_to_group()
2607
*- - diguySensorRegion::add_candidate_characters_in_region_to_group()
2608
*<
2609
*- - Removed unused functions from diguySensorRegion class:
2610
*>
2611
*- - diguySensorRegion::get_characters_in_region()
2612
*- - diguySensorRegion::update_characters_in_region()
2613
*- - diguySensorRegion::update_candidate_characters_in_region()
2614
*<
2615
*4 Version 6.1.3
2616
**
2617
*- - Added new utility function diguy_convert_euler_angle_order().
2618
*- This function should help DI-Guy API users convert the DI-Guy
2619
*- standard Euler angle order of ZXY (yaw then roll then pitch)
2620
*- into other Euler angle orders.
2621
*- - Added new argument rampup_interval to function
2622
*- diguyCharacter::add_motion_texture(). This function makes it
2623
*- possible to more smoothly enter a motion texture. Previously
2624
*- the rampup was hard-coded to 0.2 seconds. If the function
2625
*- is to end existing motion textures, it also uses the passed
2626
*- rampup interval as the rampdown interval for ending the
2627
*- existing motion textures.
2628
*- - Fixed annoying error message that was printed when motion textures
2629
*- ended.
2630
*- - Added new variants that can be added to custom motions:
2631
*>
2632
*- - DIGUY_MOTION_VARIANT_MISC0
2633
*- - DIGUY_MOTION_VARIANT_MISC1
2634
*- - DIGUY_MOTION_VARIANT_MISC2
2635
*- - DIGUY_MOTION_VARIANT_MISC3
2636
*- - DIGUY_MOTION_VARIANT_MISC4
2637
*- - DIGUY_MOTION_VARIANT_MISC5
2638
*- - DIGUY_MOTION_VARIANT_MISC6
2639
*- - DIGUY_MOTION_VARIANT_MISC7
2640
*- - DIGUY_MOTION_VARIANT_MISC8
2641
*- - DIGUY_MOTION_VARIANT_MISC9
2642
*<
2643
*4 Version 6.1.2
2644
**
2645
*- - Changed win32 programming examples so that when examples are
2646
*- compiled for different versions of LIBC (i586_md_debug as
2647
*- opposed to i586_md, for example), the object files will be
2648
*- placed in separate directories.
2649
*- - Added new function calls that will free memory allocated by
2650
*- the DI-Guy Graphics API loader once platform-specific objects
2651
*- have been created:
2652
*>
2653
*- - diguyGraphicsMaterial::free_loader_memory()
2654
*- - diguyGraphicsMesh::free_loader_memory()
2655
*- - diguyGraphicsState::free_loader_memory()
2656
*- - diguyGraphicsTexture::free_loader_memory()
2657
*<
2658
*- - Fixed a problem with gazing in which a character with orientation
2659
*- change enabled would do an extra shuffle to the left and back
2660
*- again when the character was already facing the gaze angle at
2661
*- gaze start.
2662
*- - Added new side-effects to characters that die, including those
2663
*- for which the diguyCharacter::die_now() function is called:
2664
*>
2665
*- - all aiming is ended
2666
*- - all gazing is ended
2667
*- - all pointing is ended
2668
*- - head nodding and shaking are stopped
2669
*- - all gestures are aborted
2670
*- - all sounds originated by the character are stopped
2671
*<
2672
*- - Added new function call limitations to dead characters. The
2673
*- following function calls will have no effect on dead characters:
2674
*>
2675
*- - diguyCharacter::add_motion_texture()
2676
*- - diguyCharacter::aim_at_angle()
2677
*- - diguyCharacter::aim_at_angle_local()
2678
*- - diguyCharacter::aim_at_character()
2679
*- - diguyCharacter::aim_at_point()
2680
*- - diguyCharacter::aim_at_point_local()
2681
*- - diguyCharacter::create_and_force_bridge_path()
2682
*- - diguyCharacter::execute_gesture()
2683
*- - diguyCharacter::execute_1stage_gesture()
2684
*- - diguyCharacter::execute_2stage_gesture()
2685
*- - diguyCharacter::execute_3stage_gesture()
2686
*- - diguyCharacter::fire_screen_space_bullet()
2687
*- - diguyCharacter::fire_weapon()
2688
*- - diguyCharacter::fire_weapon_n_times()
2689
*- - diguyCharacter::force_action()
2690
*- - diguyCharacter::force_action_and_path_shape()
2691
*- - diguyCharacter::force_action_with_duration()
2692
*- - diguyCharacter::force_partial_path()
2693
*- - diguyCharacter::force_path()
2694
*- - diguyCharacter::gaze_at_angle()
2695
*- - diguyCharacter::gaze_at_angle_local()
2696
*- - diguyCharacter::gaze_at_character()
2697
*- - diguyCharacter::gaze_at_point()
2698
*- - diguyCharacter::gaze_at_point_local()
2699
*- - diguyCharacter::lpoint_at_angle()
2700
*- - diguyCharacter::lpoint_at_angle_local()
2701
*- - diguyCharacter::lpoint_at_character()
2702
*- - diguyCharacter::lpoint_at_point()
2703
*- - diguyCharacter::lpoint_at_point_local()
2704
*- - diguyCharacter::nod_head()
2705
*- - diguyCharacter::play_sound()
2706
*- - diguyCharacter::push_path()
2707
*- - diguyCharacter::resume_interrupted_path()
2708
*- - diguyCharacter::set_aim()
2709
*- - diguyCharacter::set_desired_action()
2710
*- - diguyCharacter::set_nod()
2711
*- - diguyCharacter::shake_head()
2712
*<
2713
*- - Added diguyCharacterPath::get_point_at_distance() function that
2714
*- makes it possible to sample path points. The function is very
2715
*- similar to diguyPathShape::get_point_at_distance().
2716
*- - Changed diguyScenario::create_waypoint() function to take an
2717
*- additional argument. Waypoints created with the function can
2718
*- now have different initial weights for entering and leaving the
2719
*- waypoint.
2720
**
2721
*4 Version 6.1.1
2722
**
2723
*- - Added new member function:
2724
*>
2725
*- - diguyLoadManager::remove_all_cameras()
2726
*<
2727
*- - Added new member functions to diguyVariable that allow for
2728
*- setting and getting the initial value of the variable, and
2729
*- for retrieving the scenario and/or character the variable
2730
*- belongs to:
2731
*>
2732
*- - diguyVariable::get_scenario()
2733
*- - diguyVariable::get_character()
2734
*- - diguyVariable::get_initial_value_as_int()
2735
*- - diguyVariable::get_initial_value_as_float()
2736
*- - diguyVariable::get_initial_value_as_string()
2737
*- - diguyVariable::set_initial_value_as_int()
2738
*- - diguyVariable::set_initial_value_as_float()
2739
*- - diguyVariable::set_initial_value_as_string()
2740
*<
2741
*- - Added character variables to characters. Character variables
2742
*- are almost exactly like scenario variables but are local to each
2743
*- character instead of being shared across the scenario. For
2744
*- example, all characters in a scenario could be given a variable
2745
*- named "panic_level" that tracks how panicked the character is.
2746
*- Character variables use the same class as scenario variables:
2747
*- diguyVariable. The following functions are available for
2748
*- accessing character variables:
2749
*>
2750
*- - diguyCharacter::get_num_variables()
2751
*- - diguyCharacter::get_variable_at_index()
2752
*- - diguyCharacter::find_variable()
2753
*- - diguyCharacter::find_or_create_variable()
2754
*- - diguyCharacter::destroy_variable()
2755
*- - diguyCharacter::variable_equal_to_int()
2756
*- - diguyCharacter::variable_greater_than_int()
2757
*- - diguyCharacter::variable_less_than_int()
2758
*- - diguyCharacter::variable_equal_to_float()
2759
*- - diguyCharacter::variable_greater_than_float()
2760
*- - diguyCharacter::variable_less_than_float()
2761
*- - diguyCharacter::variable_equal_to_string()
2762
*- - diguyCharacter::variable_greater_than_string()
2763
*- - diguyCharacter::variable_less_than_string()
2764
*<
2765
*4 Version 6.1.0
2766
**
2767
*- - Added new functions to the DI-Guy Graphics API to make it easier
2768
*- to know which character links or shapes belong to, and to easily
2769
*- get a pointer to the character's base link:
2770
*>
2771
*- - diguyGraphicsLink::get_character()
2772
*- - diguyGraphicsShape::get_character()
2773
*- - diguyCharacter::get_position_link()
2774
*<
2775
*- - Added new function diguyGraphicsLink::get_transformation_matrix().
2776
*- This function provides access to the link transformation in matrix
2777
*- form rather than separate vectors for translation, rotation, etc.
2778
*- - Added new blend functions "StepHalfway" and "Waver". The
2779
*- "StepHalfway" blend function makes an instant step from 0 to 1
2780
*- halfway through the blend. The "Waver" blend function wavers from 0
2781
*- to 1 back to 0 and back to 1 using a three-quarter sine wave.
2782
*- - Added functions to diguyScenario API:
2783
*>
2784
*- - diguyScenario::get_character_type_num_gestures()
2785
*- - diguyScenario::get_character_type_gesture_at_index()
2786
*<
2787
*- - Added functions to diguyCharacterGesture API:
2788
*>
2789
*- - diguyCharacterGesture::force_table_action()
2790
*<
2791
*4 Version 6.0.8
2792
**
2793
*- - Changed DI-Guy Graphics API to not print a warning if a geometry
2794
*- file is not found. This allows external loaders to load their
2795
*- own version of a geometry file without warnings, and without the
2796
*- file having to be present in $DIGUY/geometry.
2797
*- - Added function diguyCharacter::is_group_member().
2798
*- - For Windows, added the DI-Guy version number as a suffix to the
2799
*- .dll that gets installed in the bin directory.
2800
**
2801
*4 Version 6.0.6
2802
**
2803
*- - Changed default for gaze parameter "orientation enabled for
2804
*- gaze". In DI-Guy 5.x this parameter defaulted to 0 for all
2805
*- characters except the sergeant. In earlier versions of 6.0 this
2806
*- was changed to "1 if character has turning actions, else 0".
2807
*- This change has, however, resulted in too much confusion and
2808
*- user astonishment. The new (and hopefully final) change
2809
*- is to default the parameter to 0 for *all* characters. This fixes
2810
*- a backwards incompatibility problem where some version 5 characters
2811
*- that were gazing would leave their path on version 6 and thus not
2812
*- complete the actions specified by their path.
2813
*- - Implemented function diguyCharacter::end_aim(). This function
2814
*- had been omitted from the DI-Guy API.
2815
*- - Fixed problem with initial value of scenario variables, where
2816
*- the integer value of each variable was initialized to zero,
2817
*- even if the intended initial value was nonzero.
2818
*- - Fixed problem when merging two scenarios with different
2819
*- values for tick dt. Decision beads, Script event beads, Aim
2820
*- beads and Gaze beads were being improperly scheduled.
2821
**
2822
*4 Version 6.0.5
2823
**
2824
*- - Fixed diguyCharacter::get_aim_azimuth() and
2825
*- diguyCharacter::get_aim_elevation(). They were returning
2826
*- zero. Now they return meaningful values if the character is
2827
*- aiming.
2828
**
2829
*4 Version 6.0.4
2830
**
2831
*- - DI-Guy can now use OpenGL's multitexturing mechanism. The
2832
*- OpenGL texture unit that DI-Guy will use can be set by
2833
*- setting the bdiGraphicsInitOgl::use_multitexture_extension
2834
*- and bdiGraphicsInitOgl::texture_unit initialization variables.
2835
**
2836
*4 Version 6.0.3
2837
**
2838
*- - Fixed a problem with DI-Guy Graphics API functions not being
2839
*- correctly declared for DLL use.
2840
*- - Fixed a problem with calling path edit functions on a path
2841
*- that is in use. The change was not being fully propagated
2842
*- to the character's motions.
2843
*- - Eliminated GoThere camera instability at low frame rates.
2844
*- - Eliminated aiming instability at low frame rates and at low
2845
*- desired locate times.
2846
**
2847
*4 Version 6.0.2
2848
**
2849
*- - No changes.
2850
**
2851
*4 Version 6.0.1
2852
**
2853
*- - Fixed problem with motion scaling where the scale factor was
2854
*- being applied twice in some cases. (PR 3029)
2855
*- - Removed deprecated diguyCharacter functions:
2856
*>
2857
*- - diguyCharacter::force_action_by_name()
2858
*- - diguyCharacter::get_desired_action_name()
2859
*- - diguyCharacter::set_desired_action_by_name()
2860
*- - diguyCharacter::force_partial_path_by_name()
2861
*- - diguyCharacter::force_path_by_name()
2862
*- - diguyCharacter::push_path_by_name()
2863
*- - diguyCharacter::set_parent_by_name()
2864
*<
2865
*- - Removed deprecated diguySensorRegion function
2866
*- diguySensorRegion::contains_character_by_name().
2867
*- - Removed deprecated diguySignal function diguySignal::play_sound().
2868
*- - Removed deprecated diguyScenario function
2869
*- diguyScenario::find_or_create_face_expression().
2870
**
2871
*4 Version 6.0.0
2872
**
2873
*- - Made aiming precise. Characters now actually aim at the
2874
*- targets specified by aim beads, rather than giving an
2875
*- approximation of proper aim.
2876
*- - Made aiming dynamic. Character aiming motion is now much more
2877
*- realistic, homing in on the specified target.
2878
*- - Added new diguyCharacter functions:
2879
*>
2880
*- - diguyCharacter::aim_at_angle()
2881
*- - diguyCharacter::aim_at_angle_local()
2882
*- - diguyCharacter::aim_at_point()
2883
*- - diguyCharacter::aim_at_point_local()
2884
*- - diguyCharacter::aim_at_character()
2885
*- - diguyCharacter::set_aim_param_desired_locate_time()
2886
*- - diguyCharacter::get_aim_param_desired_locate_time()
2887
*- - diguyCharacter::get_aim_is_acquired()
2888
*- - diguyCharacter::get_aim_is_steady()
2889
*- - diguyCharacter::set_weapon_near_range()
2890
*- - diguyCharacter::set_weapon_far_range()
2891
*<
2892
*- - Added diguyLoadManager class. Members are:
2893
*>
2894
*- - diguyLoadManager::add_camera()
2895
*- - diguyLoadManager::add_view_camera()
2896
*- - diguyLoadManager::move_camera()
2897
*- - diguyLoadManager::change_view_camera_settings()
2898
*- - diguyLoadManager::remove_camera()
2899
*- - diguyLoadManager::set_enable_culling()
2900
*- - diguyLoadManager::set_nonvisible_update_rate()
2901
*- - diguyLoadManager::set_zone_bounds()
2902
*- - diguyLoadManager::set_zone_parameters()
2903
*- - diguyLoadManager::set_max_update_period()
2904
*<
2905
*- - Added new diguyApp functions:
2906
*>
2907
*- - diguyApp::create_load_manager()
2908
*- - diguyApp::get_load_manager()
2909
*- - diguyApp::destroy_load_manager()
2910
*<
2911
*- - Added new diguyCharacter functions:
2912
*>
2913
*- - diguyCharacter::get_bounding_radius()
2914
*- - diguyCharacter::get_default_bounding_radius()
2915
*- - diguyCharacter::set_bounding_radius()
2916
*<
2917
*- - Added new diguyApp class. There is only one diguyApp object per
2918
*- application. It is available after the diguy_*_initialize() call
2919
*- by calling the static function diguyApp::get_app(). The diguyApp
2920
*- object will hold data that is application-wide, which in the past
2921
*- has been somewhat artificially placed in the diguyScenario class.
2922
*- - Removed support for character history types
2923
*- DIGUY_HISTORY_TYPE_FIRST and DIGUY_HISTORY_TYPE_LAST. Characters
2924
*- saved using these history types will have their history type
2925
*- set to DIGUY_HISTORY_TYPE_COMPLETE.
2926
*- - Moved some static functions from diguyScenario to diguyApp:
2927
*>
2928
*- - diguyScenario::add_default_callback() deprecated;
2929
*- use diguyApp::add_default_scenario_callback()
2930
*- - diguyScenario::remove_default_callback() deprecated;
2931
*- use diguyApp::remove_default_scenario_callback()
2932
*- - diguyScenario::remove_default_callback_with_user_data() deprecated;
2933
*- use diguyApp::remove_default_scenario_callback_with_user_data()
2934
*- - diguyScenario::add_default_callback_script() deprecated;
2935
*- use diguyApp::add_default_scenario_callback_script()
2936
*- - diguyScenario::remove_default_callback_script() deprecated;
2937
*- use diguyApp::remove_default_scenario_callback_script()
2938
*<
2939
*- - Deprecated two diguyCharacterPath callback ids. A decision
2940
*- bead or script bead at the appropriate place in the path
2941
*- should be used instead of the deprecated callbacks:
2942
*>
2943
*- - CALLBACK_ID_TIME_LEFT has been changed to
2944
*- CALLBACK_ID_TIME_LEFT_DEPRECATED
2945
*- - CALLBACK_ID_TIME_INTO has been changed to
2946
*- CALLBACK_ID_TIME_INTO_DEPRECATED
2947
*<
2948
*- - Fixed problem with gestures not range checking stage
2949
*- argument. If 0 was passed as the stage in some functions,
2950
*- memory overwrites could have occurred or garbage results could
2951
*- have been returned. Also updated doc of affected functions
2952
*- to specify that stages are between 1 and 3.
2953
*- - Added functions to character for manually applying path
2954
*- bead effects:
2955
*>
2956
*- - diguyCharacter::apply_aim_bead()
2957
*- - diguyCharacter::apply_decision_bead()
2958
*- - diguyCharacter::apply_gaze_bead()
2959
*- - diguyCharacter::apply_script_bead()
2960
*<
2961
*- - Added new diguyCharacterPathDecisionBead class. Members are:
2962
*>
2963
*- - diguyCharacterPathDecisionBead::get_name()
2964
*- - diguyCharacterPathDecisionBead::set_name()
2965
*- - diguyCharacterPathDecisionBead::get_distance_into_path()
2966
*- - diguyCharacterPathDecisionBead::set_distance_into_path()
2967
*- - diguyCharacterPathDecisionBead::get_length()
2968
*- - diguyCharacterPathDecisionBead::set_length()
2969
*- - diguyCharacterPathDecisionBead::get_tin()
2970
*- - diguyCharacterPathDecisionBead::set_tin()
2971
*- - diguyCharacterPathDecisionBead::get_duration()
2972
*- - diguyCharacterPathDecisionBead::set_duration()
2973
*<
2974
*- - Added new diguyCharacterPathAimBead class. Members are:
2975
*>
2976
*- - diguyCharacterPathAimBead::get_name()
2977
*- - diguyCharacterPathAimBead::set_name()
2978
*- - diguyCharacterPathAimBead::get_distance_into_path()
2979
*- - diguyCharacterPathAimBead::set_distance_into_path()
2980
*- - diguyCharacterPathAimBead::get_length()
2981
*- - diguyCharacterPathAimBead::set_length()
2982
*- - diguyCharacterPathAimBead::get_tin()
2983
*- - diguyCharacterPathAimBead::set_tin()
2984
*- - diguyCharacterPathAimBead::get_duration()
2985
*- - diguyCharacterPathAimBead::set_duration()
2986
*<
2987
*- - Added new diguyCharacterPathGazeBead class. Members are:
2988
*>
2989
*- - diguyCharacterPathGazeBead::get_name()
2990
*- - diguyCharacterPathGazeBead::set_name()
2991
*- - diguyCharacterPathGazeBead::get_distance_into_path()
2992
*- - diguyCharacterPathGazeBead::set_distance_into_path()
2993
*- - diguyCharacterPathGazeBead::get_length()
2994
*- - diguyCharacterPathGazeBead::set_length()
2995
*- - diguyCharacterPathGazeBead::get_tin()
2996
*- - diguyCharacterPathGazeBead::set_tin()
2997
*- - diguyCharacterPathGazeBead::get_duration()
2998
*- - diguyCharacterPathGazeBead::set_duration()
2999
*<
3000
*- - Added function diguyCharacter::find_waypoint(). This
3001
*- function finds a waypoint by name.
3002
*- - Added functions to access new bead types. Also added find
3003
*- functions for action beads and script beads. The following
3004
*- functions have been added to diguyCharacterPath:
3005
*>
3006
*- - diguyCharacterPath::find_waypoint()
3007
*- - diguyCharacterPath::find_action_bead()
3008
*- - diguyCharacterPath::find_script_bead()
3009
*- - diguyCharacterPath::get_num_aim_beads()
3010
*- - diguyCharacterPath::get_aim_bead_at_index()
3011
*- - diguyCharacterPath::find_aim_bead()
3012
*- - diguyCharacterPath::get_num_decision_beads()
3013
*- - diguyCharacterPath::get_decision_bead_at_index()
3014
*- - diguyCharacterPath::find_decision_bead()
3015
*- - diguyCharacterPath::get_num_gaze_beads()
3016
*- - diguyCharacterPath::get_gaze_bead_at_index()
3017
*- - diguyCharacterPath::find_gaze_bead()
3018
*<
3019
*- - Added functions to diguyCharacterGesture API:
3020
*>
3021
*- - diguyCharacterGesture::set_table_action_begin()
3022
*- - diguyCharacterGesture::get_table_action_begin()
3023
*- - diguyCharacterGesture::set_table_action_end()
3024
*- - diguyCharacterGesture::get_table_action_end()
3025
*- - diguyCharacterGesture::get_table_action_now()
3026
*- - diguyCharacterGesture::get_table_action_next()
3027
*- - diguyCharacterGesture::get_rampup_duration()
3028
*- - diguyCharacterGesture::set_rampup_duration()
3029
*- - diguyCharacterGesture::get_rampup_blend_function_name()
3030
*- - diguyCharacterGesture::set_rampup_blend_function_name()
3031
*- - diguyCharacterGesture::get_rampdown_duration()
3032
*- - diguyCharacterGesture::set_rampdown_duration()
3033
*- - diguyCharacterGesture::get_rampdown_blend_function_name()
3034
*- - diguyCharacterGesture::set_rampdown_blend_function_name()
3035
*- - diguyCharacterGesture::get_table_action_rep_duration()
3036
*- - diguyCharacterGesture::get_table_transition_duration()
3037
*- - diguyCharacterGesture::get_default_blend_duration()
3038
*- - diguyCharacterGesture::get_num_table_actions()
3039
*- - diguyCharacterGesture::get_table_action_at_index()
3040
*<
3041
*- - Added functions for setting initial motion texture parameters:
3042
*>
3043
*- - diguyCharacter::set_initial_motion_texture()
3044
*- - diguyCharacter::get_initial_motion_texture()
3045
*- - diguyCharacter::set_initial_motion_texture_gain()
3046
*- - diguyCharacter::get_initial_motion_texture_gain()
3047
*<
3048
*- - Plugins require a license.
3049
*- - Moved to flexlm 10.1 on Windows for license management.
3050
*- - Particles now work in locked scenarios.
3051
*- - Made characters with non default actors display properly in
3052
*- Vega Prime.
3053
*- - Saving review data now saves all generated data, not just up to
3054
*- the time slider.
3055
*- - Fixed a bug with history saving.
3056
**
3057
*4 Version 5.3.5
3058
**
3059
*- - Fixed problem with .flt loader not dealing well with .flt files that
3060
*- contain multiple nodes that have the same name. The .flt loader now
3061
*- more vigorously checks for name collisions.
3062
*- - Removed one unused level of Motion LODs. The unused LOD 6 was not
3063
*- mentioned in documentation nor was it used in motion generation
3064
*- code. This change requires use of DI-Guy Data 5.3.5.
3065
*- - Worked on diguyCharacterGesture API:
3066
*>
3067
*- - diguyCharacterGesture::get_num_stages() deprecated;
3068
*- use diguyCharacterGesture::get_num_progression_stages()
3069
*- - diguyCharacterGesture::set_stage_duration() deprecated;
3070
*- use diguyCharacterGesture::set_progression_stage_duration()
3071
*- - diguyCharacterGesture::get_stage_duration() deprecated;
3072
*- use diguyCharacterGesture::get_progression_stage_duration()
3073
*- - diguyCharacterGesture::get_stage_optimal_duration() deprecated;
3074
*- use diguyCharacterGesture::get_progression_stage_optimal_duration()
3075
*<
3076
*- - Worked on diguyCharacterGesture documentation. Added more
3077
*- which functions can be called for which gesture types.
3078
*- - Added type diguyCharacterGestureType and corresponding function
3079
*- diguyCharacterGesture::get_type().
3080
*- - New experimental shooting functionality:
3081
*>
3082
*- - Added callback diguyCharacter::CALLBACK_ID_GOT_SHOT.
3083
*- - Added callback diguyCharacter::CALLBACK_ID_SHOT_SUCCESS.
3084
*- - Added new find all hits functionality.
3085
*- - Added new diguyShot class accessible from scripts,
3086
*- records who got shot and where.
3087
*- - Characters can now shoot multiple targets; added
3088
*- max_shot_hits to control the maximum number of
3089
*- shots to report. By default scene objects stop bullets.
3090
*- - Weapon spread shots test against the octtree first (speed up).
3091
*<
3092
*- - Fixed some bugs with review data.
3093
*- - Experimental plugin infrastructure:
3094
*>
3095
*- - Added functions diguyScenario::add_plugin() and
3096
*- diguyScenario::remove_plugin().
3097
*- - The following functions can be exported from the dll to plug
3098
*- into DI-Guy code:
3099
*>
3100
*- - void initialize(diguyScenario* s)
3101
*- - void deinitialize(diguyScenario* s)
3102
*- - void pre_draw(diguyScenario* s)
3103
*- - void post_draw(diguyScenario* s)
3104
*- - void update(diguyScenario* s)
3105
*- - void reset(diguyScenario* s)
3106
*- - void save_review_data(const char* filename)
3107
*- - void load_review_data(const char* filename)
3108
*<
3109
*- - See Documentation for more information.
3110
*<
3111
**
3112
*4 Version 5.3.4
3113
**
3114
*- - Added new callbacks for use with the diguyCharacter::add_callback()
3115
*- function:
3116
*>
3117
*- - CALLBACK_ID_CURRENT_APPEARANCE_CHANGED
3118
*- - CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED
3119
*<
3120
*- - Added new gesture type: table gestures. Table gestures are much
3121
*- like character action tables, and allow a single gesture to employ
3122
*- many different motions.
3123
**
3124
*4 Version 5.3.3
3125
**
3126
*- - Improved SDK's initialization time. Version 5.3.3 should take about
3127
*- half the time of version 5.3.2 to initialize.
3128
*- - Changed default override stage of function
3129
*- diguyCharacter::create_pose_override() from 2 to 3.
3130
*- - Improved documentation for diguyCharacter "Pose Functions"
3131
*- section.
3132
*- - Improved documentation for
3133
*- diguyScenario::set_automatic_motion_lod_switching() function.
3134
*- - Added function diguyCharacter::end_all_gestures(), a gentler way
3135
*- than diguyCharacter::abort_all_gestures() to stop a character's
3136
*- active gestures.
3137
*- - Fixed problem with changing an existing character's type via the
3138
*- diguyCharacter::set_character_type() function. The geometry of the
3139
*- character wasn't displaying properly until the scenario was reset.
3140
*- This has been fixed.
3141
*- - Fixed documentation for the
3142
*- diguyCharacterPoseOverride::get_pose_in_radians() function; it was
3143
*- incorrectly implying that it could be used to read the current pose
3144
*- of the character, when it really only returns the most recent pose
3145
*- as set by diguyCharacterPoseOverride::set_pose_in_radians().
3146
*- - Fixed problem where specifying a non-existent default appearance
3147
*- for a character caused a crash.
3148
*- - Fixed problem where characters with no links due to config file
3149
*- syntax errors caused a crash.
3150
**
3151
*4 Version 5.3.2
3152
**
3153
*- - Added missing initial position and orientation functions to
3154
*- diguyCharacter:
3155
*>
3156
*- - diguyCharacter::set_initial_position()
3157
*- - diguyCharacter::get_initial_position()
3158
*- - diguyCharacter::set_initial_orientation()
3159
*- - diguyCharacter::get_initial_orientation()
3160
*<
3161
*- - Added set_name() functions to most DI-Guy API objects.
3162
*- - Added better access to path data such as waypoints and action
3163
*- beads. The following functions have been added to
3164
*- diguyCharacterPath:
3165
*>
3166
*- - diguyCharacterPath::update()
3167
*- - diguyCharacterPath::get_num_waypoints()
3168
*- - diguyCharacterPath::get_waypoint_at_index()
3169
*- - diguyCharacterPath::create_waypoint()
3170
*- - diguyCharacterPath::get_num_action_beads()
3171
*- - diguyCharacterPath::get_action_bead_at_index()
3172
*- - diguyCharacterPath::create_action_bead()
3173
*- - diguyCharacterPath::destroy_action_bead()
3174
*- - diguyCharacterPath::get_num_script_beads()
3175
*- - diguyCharacterPath::get_script_bead_at_index()
3176
*- - diguyCharacterPath::create_script_bead()
3177
*- - diguyCharacterPath::destroy_script_bead()
3178
*<
3179
*- - Added better access to path shape data such as waypoints. The
3180
*- following functions have been added to diguyPathShape:
3181
*>
3182
*- - diguyPathShape::update()
3183
*- - diguyPathShape::get_num_waypoints()
3184
*- - diguyPathShape::get_waypoint_at_index()
3185
*- - diguyPathShape::create_waypoint()
3186
*<
3187
*- - Added new diguyCharacterPathActionBead class. Members are:
3188
*>
3189
*- - diguyCharacterPathActionBead::get_name()
3190
*- - diguyCharacterPathActionBead::get_action()
3191
*- - diguyCharacterPathActionBead::set_action()
3192
*- - diguyCharacterPathActionBead::get_distance_into_path()
3193
*- - diguyCharacterPathActionBead::set_distance_into_path()
3194
*- - diguyCharacterPathActionBead::get_length()
3195
*- - diguyCharacterPathActionBead::set_length()
3196
*- - diguyCharacterPathActionBead::get_derive_length_flag()
3197
*- - diguyCharacterPathActionBead::set_derive_length_flag()
3198
*- - diguyCharacterPathActionBead::get_tin()
3199
*- - diguyCharacterPathActionBead::set_tin()
3200
*- - diguyCharacterPathActionBead::get_duration()
3201
*- - diguyCharacterPathActionBead::set_duration()
3202
*- - diguyCharacterPathActionBead::get_derive_duration_flag()
3203
*- - diguyCharacterPathActionBead::set_derive_duration_flag()
3204
*- - diguyCharacterPathActionBead::get_desired_duration()
3205
*- - diguyCharacterPathActionBead::set_desired_duration()
3206
*- - diguyCharacterPathActionBead::get_derive_desired_duration_flag()
3207
*- - diguyCharacterPathActionBead::set_derive_desired_duration_flag()
3208
*- - diguyCharacterPathActionBead::get_motion_reps()
3209
*- - diguyCharacterPathActionBead::set_motion_reps()
3210
*- - diguyCharacterPathActionBead::get_derive_motion_reps_flag()
3211
*- - diguyCharacterPathActionBead::set_derive_motion_reps_flag()
3212
*- - diguyCharacterPathActionBead::get_transition_before_bead_flag()
3213
*- - diguyCharacterPathActionBead::set_transition_before_bead_flag()
3214
*<
3215
*- - Added new diguyCharacterPathScriptBead class. Members are:
3216
*>
3217
*- - diguyCharacterPathScriptBead::get_name()
3218
*- - diguyCharacterPathScriptBead::set_name()
3219
*- - diguyCharacterPathScriptBead::get_script()
3220
*- - diguyCharacterPathScriptBead::set_script()
3221
*- - diguyCharacterPathScriptBead::get_distance_into_path()
3222
*- - diguyCharacterPathScriptBead::set_distance_into_path()
3223
*- - diguyCharacterPathScriptBead::get_length()
3224
*- - diguyCharacterPathScriptBead::set_length()
3225
*- - diguyCharacterPathScriptBead::get_tin()
3226
*- - diguyCharacterPathScriptBead::set_tin()
3227
*- - diguyCharacterPathScriptBead::get_duration()
3228
*- - diguyCharacterPathScriptBead::set_duration()
3229
*<
3230
*- - Changed API of diguyWaypoint object to have more intuitive function
3231
*- names. Old function names have been deprecated but will still work.
3232
*- - Improved behavior of reflected characters when the remote scenario is
3233
*- reset. After remote reset, on remote play, local reflected
3234
*- characters now immediately perform their desired actions rather than
3235
*- gradually transitioning into them.
3236
*- - Switched to using asynchronous I/O for DIS networking. This improves
3237
*- DI-Guy's robustness on networks with lots of entities.
3238
*- - Fixed problem with diguyPathShape::get_length(). The
3239
*- diguyPathShape::update() function must be called after waypoints have
3240
*- been added to the path shape for the length to be updated. After
3241
*- the update() call, get_length() will return a valid length. (PR 2852)
3242
*- - Fixed problem with diguyCharacter::get_current_path_index()
3243
*- function. The value 0 was being returned when the character was not
3244
*- on a path, and when the character was on the first path. The return
3245
*- value for "not on a path" has been changed to -1. (PR 2856)
3246
*- - Fixed problem with diguyCharacter::get_path_name_at_index() function.
3247
*- An empty string was being returned when the path at the specified
3248
*- index had a zero-length name, and when there was no path at the
3249
*- specified index. The return value for no path at index has been
3250
*- changed to NULL.
3251
*- - Fixed problem which, under DIS using DI-Guy custom information,
3252
*- caused newly created reflected characters not to receive custom action
3253
*- information for up to five seconds. Now custom action information is
3254
*- sent immediately after the first entity state PDU is sent.
3255
**
3256
*4 Version 5.3.1
3257
**
3258
*- - Added support for "live reckoning". Live reckoning provides more
3259
*- accurate display of the behavior of remote characters, using less
3260
*- networking bandwidth.
3261
*- - Added network support for multiple concurrent scenario instances.
3262
*- Characters in all scenarios are published to the network. Incoming
3263
*- entities are created in the scenario which is passed to
3264
*- diguy_dis_go_online() or diguy_hla_go_online().
3265
*- - Improved behavior of reflected entities when the local scenario is
3266
*- reset.
3267
*- - Removed some options from network.cfg. It is recommended that the
3268
*- current network.cfg be deleted and let DI-Guy recreate it.
3269
*- - Improved behavior of reflected entities when the remote scenario is
3270
*- paused. Now they can move to their correct location even when
3271
*- paused, rather than staying still in a location that is suboptimal.
3272
*- - Fixed bug preventing incoming (reflected) non-soldier characters from
3273
*- walking when DI-Guy custom action information is not available.
3274
*- - Removed Review Data dt data member from diguyScenario objects
3275
*- and from the DI-Guy Scenario UI. Any scenario review data is
3276
*- now recorded at the scenario's tick dt.
3277
*- - Added access to the DirectX 9 world stack used by DI-Guy through
3278
*- the new function diguy_dx9_get_world_stack(). This allows users
3279
*- of DI-Guy for DirectX 9 to offset the origin used by characters
3280
*- from 0,0,0. Use of the new function is demonstrated in the
3281
*- example program $DIGUY/programming_examples/diguy_dx9/offset_example.
3282
*- - Made it possible to set the tick dt of a scenario using the
3283
*- function diguyScenario::set_tick_dt(). This was previously
3284
*- possible only in the DI-Guy Scenario UI.
3285
*- - Made it possible to turn off review data generation for scenarios.
3286
*- By default, scenarios created in the DI-Guy Scenario editor will
3287
*- have review data enabled; scenarios created using the DI-Guy API
3288
*- will have review data disabled. Turning on review data can add
3289
*- significantly to memory usage. Changing review data settings can
3290
*- be done using the function diguyScenario::set_history_type().
3291
*- - Turned off review data by default for characters created using the
3292
*- DI-Guy API. The significantly reduces the memory overhead of each
3293
*- character. Review data can be re-enabled using the function
3294
*- diguyCharacter::set_history_type().
3295
*- - Added new callbacks for use with the diguyCharacter::add_callback()
3296
*- function:
3297
*>
3298
*- - CALLBACK_ID_PRE_DIE
3299
*- - CALLBACK_ID_POST_DIE
3300
*- - CALLBACK_ID_PRE_FIRE_WEAPON
3301
*- - CALLBACK_ID_POST_FIRE_WEAPON
3302
*<
3303
*- - Fixed problem with setting character's current appearance too soon
3304
*- after the character was created. This caused a crash.
3305
**
3306
*4 Version 5.2.2
3307
**
3308
*- - New function diguyCharacter::set_weapon_fires_live_rounds() sets
3309
*- whether firing causes collision search for characters to be killed.
3310
*- Default is to fire blanks. Old scenarios that used this
3311
*- functionality need to call this function to re-enable firing to kill
3312
*- other characters.
3313
*- - Fixed problem for expressive faces in Vega. If a model without
3314
*- texture or material was drawn just before the expressive face,
3315
*- the expressive face would inherit its color.
3316
*- - Fixed various memory leaks.
3317
**
3318
*4 Version 5.2.1
3319
**
3320
*- - Improved DIS/HLA Networking:
3321
*>
3322
*- - Motion behavior improved when receiving standard PDUs in DIS.
3323
*- - Motion behavior improved when not using DI-Guy Custom FOM in HLA.
3324
*<
3325
*- - Improved vpNet/DI-Guy for Vega Prime interaction:
3326
*>
3327
*- - DI-Guy for Vega Prime now shares the network connection created
3328
*- by vpNet (MaK Technologies networking add-on to
3329
*- MultiGen-Paradigm's Vega Prime product).
3330
*- - Special programming no longer required to have DI-Guy for Vega
3331
*- Prime/vpNet work together.
3332
*- - Users need to maintain two separate modelmaps, but mapping to
3333
*- NULL is now implemented for both vpNet and DI-Guy, so that
3334
*- entities being drawn by other modules in Vega will not be
3335
*- drawn a second time by DI-Guy for Vega Prime and vice-versa.
3336
*- - Programming examples have been expanded to show simple
3337
*- examples of vpNet/DI-Guy for Vega Prime interaction. Note
3338
*- that these programming examples are copied to the samples
3339
*- directory of the Vega Prime installation.
3340
*- - Added function call diguy_net_get_character_from_id()
3341
*- which returns the diguyCharacter associated with the entity id.
3342
*- Works with both DIS and HLA. (see ref. manual).
3343
*- - Added option hla_advisories to network.cfg. When using HLA,
3344
*- if the RTI uses advisories, hla_advisories should be set to 1.
3345
*- If not, set this to zero. Mismatch between the settings should
3346
*- be avoided.
3347
*<
3348
*- - Fixed problem for expressive faces in Vega. The normals
3349
*- on the head were being scaled incorrectly, causing strange
3350
*- shading artifacts.
3351
*- - Fixed problem for expressive faces in Vega. If more than one
3352
*- expressive face was in a scene, all expressive faces would
3353
*- use the texture of the first expressive face.
3354
**
3355
*4 Version 5.2.0
3356
**
3357
*- - Added dynamic (dll) versions of DI-Guy libraries for win32.
3358
*- - Discontinued support of MT and MTd versions of DI-Guy libraries for
3359
*- win32.
3360
*- - Fixed nmake-based makefiles for win32 programming examples
3361
*- so that they'll work if DI-Guy is installed in a directory with
3362
*- spaces.
3363
**
3364
*4 Version 5.1.25
3365
**
3366
*- - Initial release of version 5.1.
3367
**
3368
*4 Versions 5.1.0 - 5.1.24
3369
**
3370
*- - These versions are 5.1 pre-releases.
3371
**
3372
**
3373
**************************************
3374
*3 DI-Guy Scenario
3375
**************************************
3376
**
3377
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
3378
**
3379
*4 Version 9.1.4
3380
**
3381
*- - Scenario can now be stopped, run, and reset in I-Guy Input
3382
*- Mode by hitting Shift-Space (toggle stop and run) an Shift-Ctrl-Space
3383
*- (reset). Keyboard reset can be disabled in I-Guy mode in the I-Guy
3384
*- Page.
3385
**
3386
*4 Version 9.1.0
3387
**
3388
*- - Large rework of Object pages. There is now one Scenario Objects page
3389
*- that contains all of the pages from previous versions' Scenario
3390
*- Elements, Character Elements, View Settings, Event Handlers, and
3391
*- DI-Guy AI Elements. Pages are separated into multiple tab groups.
3392
**
3393
*4 Version 9.0.2
3394
**
3395
*- - Fixed bug where network page wouldn't remember current coordinate
3396
*- converter settings when closed and reopened.
3397
**
3398
*4 Version 9.0.0
3399
**
3400
*- - Near and far parameters of character weapon parameters are now
3401
*- always enabled, and will alway be taken into consideration.
3402
*- Before they only had an effect if the "spread" of a weapon was
3403
*- greater than 0.
3404
*- - New command line flag added: -runtime_only. If this flag is
3405
*- specified, DI-Guy Scenario will not attempt to check out the
3406
*- development license feature but instead will remain in runtime mode,
3407
*- leaving the development license available to another program.
3408
**
3409
*4 Version 8.6.3
3410
**
3411
*- - Changing a character's character type no longer deletes all action
3412
*- beads. The actions of the existing beads are changed to the nearest
3413
*- equivalent of the new character type.
3414
*- - Region/crowd painting now works on scene object grids. delayed
3415
*- loading of grids should be more responsive as well.
3416
*- - Fixed issues with feelers: changes made via UI now change all crowd
3417
*- members, 3D rep of feelers now updated immediately when changed and
3418
*- on reset.
3419
*- - Fixed set_playback_mode_play() so that it works in decisions.
3420
*- - Ctrl-a will now restore previous visibility settings if hit 2 times
3421
*- in a row.
3422
*- - Added experimental feeler callback option.
3423
*- - Minor UI preference bug fixes.
3424
**
3425
*4 Version 8.6.2
3426
**
3427
*- - Improved speed of particle system rendering.
3428
*- - Fixes to scene object grid rendering.
3429
*- - Fixed problem that character initial path could not be deleted.
3430
*- - If last character path is deleted, initial position and orientation
3431
*- controls now become enabled as they should.
3432
*- - Added preference for changing the fast-forward playback factor.
3433
*- Default is 4. Can be changed in the Preferences dialog.
3434
*- - Symbolic View: Characters merging into a crowd symbol should now work
3435
*- outside of ortho_xy view.
3436
*- - 3d UI: Added right click pop-up menu to character mode.
3437
*- - Added smoothing to ground clamp function.
3438
**
3439
*4 Version 8.6.1
3440
**
3441
*- - Added one click movie creation to DI-Guy Scenario.
3442
*- - More of the UI has up/down sorting arrows.
3443
*- - Added is_speaking as a decision bead query.
3444
*- - Fixed bug with "this_character" not properly having sub-objects
3445
*- listed in decision beads.
3446
*- - Added the ability for labels to reflect character state, accessible
3447
*- in the character label UI.
3448
*- - Fixed math issues with scene object sub-culling, feature should be
3449
*- significantly more robust with scaled and rotated scene objects.
3450
*- - Character's added to dynamic octtree and scene object characters
3451
*- should require less memory, and be more efficient.
3452
*- - Minor improvements to advanced light UI.
3453
*- - Action bead page now lists the current action's information.
3454
*- - Fixed bug where 1st person I-Guy could not be killed.
3455
*- - Better performance when populating or repopulating crowds.
3456
*-
3457
**
3458
*4 Version 8.5.0
3459
**
3460
*- - Initial DI-Guy SAF release.
3461
*- - Added new SAF Elements palette that provides access to DI-Guy SAF
3462
*- objects.
3463
*- - Added shortcut ctrl-a: turns off *all* supplemental visuals,
3464
*- providing better viewing for non-demo scenario run.
3465
*- - Added "Ortho XY" Projection Mode to Camera settings. This provides
3466
*- an alternative planview that uses an orthonormal projection rather
3467
*- that a perspective-based one.
3468
*- - Added "Symbolic View" checkbox to Camera settings. When this is
3469
*- checked characters will be represented as flat polygons rather than
3470
*- their full animated graphics. This, along with the Ortho XY
3471
*- Projection Mode, provides a good SAF-like view of a scenario.
3472
**
3473
*4 Version 8.0.3
3474
**
3475
*- - Fixed issue with I-Guy not using a joystick for input, even through
3476
*- the UI says it is enabled.
3477
*- - Fixed issue with children's bounding volumes not being factored into
3478
*- culling calculation.
3479
*- - User interface polish:
3480
*>
3481
*- - Added more context sensitive input mode buttons.
3482
*- - Labels identifying what character and path is selected have
3483
*- been replaced with combo boxes, allowing for faster editing of
3484
*- complex scenarios.
3485
*- - Fixed various other small UI issues.
3486
*<
3487
*4 Version 8.0.2
3488
**
3489
*- - Fixed issue with sound not playing properly when scenario is
3490
*- fast-forwarded.
3491
*- - Fixed issues with jittery camera in I-Guy 3rd person mode.
3492
*- - Multisync masters now send and receive characters over the network.
3493
**
3494
*4 Version 8.0.0
3495
**
3496
*- - Initial 8.0 release candidate.
3497
*- - Improved plugin interface so that existing plugin name can be
3498
*- changed instead of just being deleted and a new one created.
3499
*- - DI-Guy plugin libraries can now be browsed for in the Plugins page,
3500
*- instead of just typing in the library name.
3501
*- - Added limits to the Tick dt parameter in the Performance page.
3502
*- The Tick dt must now be >= 0.01 seconds, and <= 0.1 seconds.
3503
**
3504
*4 Version 7.1.19
3505
**
3506
*- - Made improvements to DI-Guys sound system, sounds will now pause
3507
*- along with the scenario and can now be fast forwarded and rewound
3508
*- (to a degree).
3509
*-
3510
*4 Version 7.1.16
3511
**
3512
*- - Added 'Init. Up Vector' combo box to Character page. Allows
3513
*- user to set the up vector that the character will use. Previously
3514
*- this could only be done via script of decision.
3515
**
3516
*4 Version 7.1.15
3517
**
3518
*- - Added '-safe_mode' flag to command line. Passing this flag on
3519
*- the command line will cause DI-Guy Scenario to start up using
3520
*- default preferences, which may resolve some unexpected issues.
3521
**
3522
*4 Version 7.1.14
3523
**
3524
*- - Added chain settings to Merge Settings UI.
3525
*- - Fixed issues with selecting a different path by clicking on
3526
*- one of its waypoints in Path Edit Input Mode.
3527
**
3528
*4 Version 7.1.12
3529
**
3530
*- - Review data for new scenarios is now turned off by default.
3531
*- - New characters created in DI-Guy scenario now have no review data
3532
*- by default. Characters from existing scenarios will not be
3533
*- affected. Note that this removes the ability to rewind scenarios
3534
*- unless some review data is turned back on.
3535
**
3536
*4 Version 7.1.11
3537
**
3538
*- - Sounds now stop when a scenario loops or is rewound. Added a
3539
*- 'Stop All Sounds' button to the Scenario palette Sound page,
3540
*- to make it easier to stop playing long sounds.
3541
*- - Window menu now always opens UI windows instead of toggling whether
3542
*- they are shown or hidden. If a window is already open, it is
3543
*- brought to the top of the window stack.
3544
*- - The F-key shortcuts for opening UI windows have changed behavior.
3545
*- Pressing F2 for the Time Control window, for example, will make
3546
*- the Time Control window visible by either opening it or bringing it
3547
*- to the top. Old behavior toggled whether windows were shown or
3548
*- hidden. Use Shift-F-key to use old toggle behavior (hide if
3549
*- showing, show if hidden).
3550
*- - Character Labels Visibility is now set to 'None' in the default
3551
*- .dss file.
3552
**
3553
*4 Version 7.1.8
3554
**
3555
*- - Fixed problem with restoring all event mappings when reloading
3556
*- a previously saved scenario.
3557
**
3558
*4 Version 7.1.7
3559
**
3560
*- - Switch to new installer setup. Should better detect and remove
3561
*- previous versions, and in general be more stable.
3562
*- - Added preliminary support for TerraPage .txp files in scene objects.
3563
*- - Fixed issue with OpenAL not being able to play sounds on some
3564
*- machines.
3565
**
3566
*4 Version 7.1.6
3567
**
3568
*- - Added 3rd Parameter to Decision Beads.
3569
*- - Added diguyCharacter::create_and_force_bridge_spath() and
3570
*- diguyCharacter::force_local_path to Decision Beads editor.
3571
*- - Application now asks user to confirm whether an existing
3572
*- file can be overwritten when Save As is selected.
3573
*- - Added Comment field to Decisions and Decision Beads.
3574
*- - Added new cursor to represent current input mode.
3575
*- - Added events page to character as well as signal and sensor region.
3576
*- Same basic functionality as the event mapper but more distributed
3577
*- UI design.
3578
**
3579
*4 Version 7.1.4
3580
**
3581
*- - Added functionality to the character elements page that allows
3582
*- character list to be reordered using up and down arrows next to
3583
*- the list box.
3584
*- - Character list box will now display disabled characters in gray.
3585
**
3586
*4 Version 7.1.3
3587
**
3588
*- - Added offset XYZ line edits for aiming at characters on Aim
3589
*- Bead page.
3590
**
3591
*4 Version 7.1.2
3592
**
3593
*- - Added new "Character" Input Mode. While in this mode clicks and
3594
*- drags will have the following effects:
3595
*>
3596
*a click and drag - translate character
3597
*a shift-click and drag - rotate character
3598
*<
3599
*- - Made 'Delete' key work on more object types in the 3D window,
3600
*- depending on the current Input Mode:
3601
*>
3602
*a Character or PeopleBlitzer - delete current character
3603
*a Path Edit or Path Insert - delete current waypoint
3604
*a Action Edit or Action Insert - delete current action bead
3605
*a Sensor Edit or Sensor Insert - delete current sensor region
3606
*a Group - delete current group
3607
*<
3608
**
3609
*4 Version 7.1.1
3610
**
3611
*- - Added new "Group" Input Mode. While in the mode clicks and
3612
*- drags will have the following effects:
3613
*>
3614
*a click and drag - translate all group characters
3615
*a shift-click and drag - rotate all group characters
3616
*a ctrl-click - add or remove clicked character
3617
*a to group
3618
*<
3619
*- - Added Chain Sim Settings page to the Scenario Elements palette.
3620
*- - Added edit boxes to event beads (Aim, Decision, Gaze, and Script
3621
*- beads) that allow beginning and end of beads to be tied to
3622
*- specific waypoints or action beads.
3623
*- - Added ability to set character label colors on the Character page.
3624
*- - Added optional labels for action beads in the 3D window that show
3625
*- the action name and the time at which the action begins.
3626
*- - Current selected character index is now saved in .dss file and
3627
*- restored when the scenario is loaded.
3628
*- - Revamped Plugins page. Each plugin now has these parameters:
3629
*>
3630
*a Required By Scenario - If checked, this plugin is required
3631
*a for proper execution of this scenario.
3632
*a When the scenario is loaded this plugin
3633
*a will be loaded as well if it is not
3634
*a already active. Default is unchecked.
3635
*a Unload on Scenario Close - If checked, this plugin will be
3636
*a unloaded if this scenario is closed
3637
*a or a new scenario is opened. Default
3638
*a is unchecked.
3639
*a Accepts Mouse Input - If checked, this plugin will receive
3640
*a mouse events via the mouse plugin
3641
*a functions when the input mode is
3642
*a "Plugin". Default is checked.
3643
*<
3644
*- - Added new camera frustum culling functionality that works on the
3645
*- subshapes of a scene object. The functionality can be turned on
3646
*- via a check box in the performance page, or via
3647
*- diguyScenario::set_scene_object_sub_culling_enabled() and
3648
*- diguyScenario::get_scene_object_sub_culling_enabled().
3649
*- Potentially this can lead to 100%-200% rendering speed increase
3650
*- for large well segmented terrains. Note currently scene object
3651
*- culling must be on for this to work.
3652
**
3653
*4 Version 7.1.0
3654
**
3655
*- - Revamped Cut and Paste operations to use the merge functionality
3656
*- that makes sure objects added to a scenario have unique names.
3657
**
3658
*4 Version 7.0.8
3659
**
3660
*- - Camera speed UI input was broken, should be responsive again
3661
*- - Hitting cancel in particle system texture map property widget will
3662
*- no longer delete the currently selected texture.
3663
*- - Fixed Camera Affected by Script events check box; was actually an
3664
*- SDK fix.
3665
**
3666
*4 Version 7.0.5
3667
**
3668
*- - Enhanced character path following so that waypoints that
3669
*- have a roll parameter specified will roll the character
3670
*- as it travels along the path.
3671
*- - Enhanced character path following so that characters can
3672
*- now pitch "upside-down" along paths.
3673
**
3674
*4 Version 7.0.3
3675
**
3676
*- - Look At button now works for reflected characters.
3677
**
3678
*4 Version 7.0.1
3679
**
3680
*- - Velocity Noise on particles will now get transformed with the
3681
*- parent's orientation.
3682
*- - Fixed problems with various guide algorithms not working well
3683
*- if the desired z coordinate is not at the same altitude as the
3684
*- character.
3685
*- - Re-enabled "-C cfg_file" command line flag.
3686
**
3687
*4 Version 6.1.10
3688
**
3689
*- - Fixed problem that prevented some parameters from being
3690
*- editable in the Decision editor; in particular, when param 2
3691
*- was an appearance or a string.
3692
*- - Fixed aim trajectory rendering to more consistently render
3693
*- and use the proper color.
3694
*- - Fixed problem with I-Guy characters not being able to move
3695
*- forward and back.
3696
*- - Particles are more aggressive about requesting that octtree is
3697
*- rebuilt.
3698
*- - High velocity particles, stuck particles and bouncing particles all
3699
*- interact better after colliding with scene geometry.
3700
*- - BDI_LOG_FATAL errors will behave better in DI-Scenario, giving the
3701
*- option to save before exiting.
3702
*- - Fixed decision beads pseudocode description crash.
3703
**
3704
*4 Version 6.1.9
3705
**
3706
*- - Fixed problem with OpenGL renderer that prevented objects
3707
*- with subfaces from rendering correctly.
3708
*- - Fixed problem with Draw Mode radio buttons in the Preferences
3709
*- dialog not having the correct effect on rendering.
3710
*- - Changed info popups to show up as dialog windows separate
3711
*- from the main window. This prevents the Primary 3D Window
3712
*- from un-maximizing when an info popup pops up.
3713
*- - Fixed problem that scene objects did not correctly look in
3714
*- custom directory for models.
3715
*- - Added code to check positions of DI-Guy Scenario windows;
3716
*- if windows will not be visible (are off-screen, etc.), they
3717
*- are moved to screen coordinate 0,0.
3718
*- - Updated Networking Settings page to be consistent with V6 UI.
3719
*- - Numerous fixes to Networking Settings page.
3720
*- - Added About box with version information.
3721
*- - Fixed bug that preferences weren't correctly saved if app
3722
*- was closed by clicking 'X' button in upper right corner.
3723
*- - Fixed various problems with values entered into edit boxes
3724
*- being clobbered.
3725
*- - Added plugins page to DI-Guy Scenario to match page from V6 UI.
3726
**
3727
*4 Version 6.1.8
3728
**
3729
*- - Fixed world space collisions for particles, functionality was
3730
*- temporally broken.
3731
*- - Particle UI should be now be almost entirely working in DI-Guy
3732
*- Scenario.
3733
*>
3734
*- - Added load particle descriptions button to UI.
3735
*- - Added collision plane rendering check box to UI.
3736
*- - Added check box to particle page that optionally turns off
3737
*- placeholders.
3738
*- - Added orientation flag to particles, useful for parented
3739
*- emitters.
3740
*- - Renaming particles should validate names and echo to other
3741
*- appearance menus.
3742
*- - Adding or removing particle descriptions now properly updates
3743
*- the appearance section of the character page and people blitzer.
3744
*- - Particle manager was getting updated unnecessarily causing
3745
*- particles to playback 2x as fast.
3746
*<
3747
*- - Fixed a focus out problem that yielded a hard lock up if a load
3748
*- manager error message was produced.
3749
*- - Waypoints and sensor regions visuals weren't being properly
3750
*- updated when data changed.
3751
*- - Editing a Scene object triggers the unsaved flag more often.
3752
*- - Fixed a glitch where shadows and the profiler wouldn't work
3753
*- together.
3754
*- - Added UI for setting character and scene object culling active.
3755
*- - Added UI for setting character and scene object bounding volume
3756
*- visualization active.
3757
*-
3758
*4 Version 6.1.7
3759
**
3760
*- - Added UI for setting the character's label text and controlling
3761
*- whether the label is visible to the Character page.
3762
*- - Added new visibility option for Character Labels on the
3763
*- Visibility page: Per Object.
3764
*- - Major reworking of the DI-Guy Scenario user interface in
3765
*- preparation for the DI-Guy 7 release.
3766
*- A version of the program with the old interface (henceforth
3767
*- called the V6 UI) will be available in releases for awhile
3768
*- with a different filename. As time goes on new features that
3769
*- appear in DI-Guy Scenario may not appear in the V6 UI.
3770
*- - Changed the sound module of DI-Guy Scenario to be based on
3771
*- OpenAL. This fixed a problem with sounds playing back too
3772
*- fast on certain systems, and allows for 3D position sounds.
3773
**
3774
*4 Version 6.1.6
3775
**
3776
*- - Added "+plugin <plugin_name>" command line argument. This will
3777
*- load the specified plugin as the application is starting up.
3778
*- This is essentially the same as calling diguyApp::load_plugin()
3779
*- before the initial scenario is created.
3780
*- - Added "Plugin" page. This allows a scenario designer to specify
3781
*- which plugins are required for proper execution of the scenario.
3782
*- - Fixed crash bug that occasionally occurred when the "Trigger Now"
3783
*- button was clicked on the Script and Decision pages.
3784
*- - Added UTM Coordinates to the Networking page.
3785
*- - Added "Decisions", which are similar to Script Events but
3786
*- have a UI for constructing logic similar to Decision Beads.
3787
**
3788
*4 Version 6.1.4
3789
**
3790
*- - Fixed minor problems with decision bead page. The parameters for
3791
*- the sensor region function
3792
*- contains_character_by_type_and_appearance() did not include
3793
*- quotes and were not alphabetized.
3794
*- - Added buttons "Add All" and "Remove All" to Group page.
3795
**
3796
*4 Version 6.1.1
3797
**
3798
*- - Added Load Manager page to the Scenario window. Now users can
3799
*- enable load management, and adjust load management parameters
3800
*- from within DI-Guy Scenario.
3801
*- - Particle warm up time should now work properly on reset.
3802
*- - Added particle system life time, after which it will no longer emit
3803
*- particles.
3804
*- - Added new Particle position and velocity noise options, should allow
3805
*- for better control and movement options.
3806
*- - Added character variable querying to decision beads, can now query
3807
*- variables with: variable_equal_to_(float, int, string),
3808
*- variable_less_than_(float, int, string) and
3809
*- variable_greater_than_(float, int, string).
3810
*- - Added character variable actions to decision beads, can now have
3811
*- actions that affect variables, using
3812
*- variable_set_value_as_(float, int, string) and
3813
*- variable_increment and decrement.
3814
*- string) and variable_greater_than_(float, int, string).
3815
*- - Can now use decision beads to check whether someone's been shot,
3816
*- as well as where the shot hit.
3817
*- - Changed how decision beads get pointers to objects; previously
3818
*- if an object was referenced multiple times in a decision bead
3819
*- (e.g., multiple queries were made of character "soldier-1" in
3820
*- the if clauses), the same object was searched for multiple times.
3821
*- Now a pointer to the object is just searched for once.
3822
*- - Added Variable page to Character window. This page allows for
3823
*- creation, deletion, and editing of character variables. Character
3824
*- variables are almost exactly the same as scenario variables, but
3825
*- are private to each character instead of being shared across the
3826
*- entire scenario.
3827
**
3828
*4 Version 6.1.0
3829
**
3830
*- - Ctrl-'u' now pushes a scenario undo onto the undo stack.
3831
*- - Space bar toggles between play and pause; Ctrl-space bar does a
3832
*- reset.
3833
**
3834
*4 Version 6.0.8
3835
**
3836
*- - DI-Guy Scenario now properly sets the network Force ID for
3837
*- outgoing entities based on group membership. Groups
3838
*- net_friendly, net_opposing, and net_neutral should be used to
3839
*- indicate the Force ID of outgoing entities.
3840
*- - DI-Guy Scenario now assigns incoming entities to group
3841
*- net_friendly, net_opposing, or net_neutral based on the
3842
*- incoming Force ID.
3843
*- - Incoming entities cannot now be assigned to or removed from
3844
*- groups. As well, groups to which incoming entities belong
3845
*- cannot be deleted.
3846
**
3847
*4 Version 6.0.2
3848
**
3849
*- - Fixed problem with "Deflate" compression method for movie frame
3850
*- capture.
3851
*- - Changed label of "Reset" button on Movie Settings page to "Reset
3852
*- Next Frame Number", to differentiate it from the Reset button
3853
*- on the Control palette.
3854
**
3855
*4 Version 6.0.1
3856
**
3857
*- - Added setting of Scenario Review Data on Scenario Performance
3858
*- page to .dss file. It was not being saved and restored as
3859
*- scenarios were saved and loaded.
3860
*- - Changed scenario "Loop" functionality. If no characters have
3861
*- review data, the scenario will reset and play rather than
3862
*- rewind and show review data.
3863
*- - Removed unused "Altitude" edit box from Networking property page.
3864
*- (PR 3002)
3865
*- - Changed gaze bead logic so that faster gazes are possible. The
3866
*- desired locate time for gaze beads was effectively limiting the
3867
*- maximum angular velocity. Now if a gaze bead overrides gaze
3868
*- parameters, it also turns off use of the desired locate time for
3869
*- each link. (PR 3030)
3870
**
3871
*4 Version 6.0.0
3872
**
3873
*- - Added "GoThere" camera movement. In Camera mode, if there is
3874
*- neither a Look At character nor a Look From character selected
3875
*- and the camera projection mode is "free camera", if you hold
3876
*- the Shift key and left-click on anything in the scene, the
3877
*- camera will rapidly travel to what you Shift+clicked on and
3878
*- turn around to face the location from which the camera came.
3879
*- This also works from modes other than camera mode, if you press
3880
*- and hold Alt+Shift while left-clicking.
3881
*- - Changed Aim Bead UI to match Gaze Bead UI. Note that now
3882
*- aiming is also precise, and dynamic. See DI-Guy aiming change
3883
*- above.
3884
*- - Fixed problem with current light and fog settings being overwritten
3885
*- when a .dss file was loaded. (PR 2019)
3886
*- - Fixed problem with primary view of scenario returning 0 when
3887
*- diguyScenarioView::is_showing() was called on it. The correct
3888
*- value is now returned. (PR 2954)
3889
*- - Added ability to change window title of primary view using the
3890
*- call diguyView::set_window_title(). (PR 2953)
3891
*- - Fixed problem with looking at scene objects that are translated
3892
*- away from the origin. (PR 2722)
3893
*- - Fixed problem for character paths on load. Paths that weren't
3894
*- the initial path of the character weren't being fully initialized
3895
*- until they were used by the character. Now all paths receive
3896
*- an initial update call on load.
3897
*- (PR 2791)
3898
*- - Added new command line argument: -no_info_popup_server. Adding
3899
*- this argument to the command line causes DI-Guy Scenario to not
3900
*- attempt to start the program DIGuyInfoPopupServer. If the
3901
*- server is not started, info popup windows will not appear.
3902
*- - Fixed problem that if the Initial Script Filename on the Script
3903
*- Event property page specified a script that didn't exist,
3904
*- no warning was given. Now a log message at Warn level is
3905
*- printed for a missing script file. (PR 2826)
3906
*- - Fixed problem that prevented Performance settings from taking
3907
*- effect unless the scenario was saved and reloaded.
3908
*- - Added edit box for setting character's initial motion texture
3909
*- gain. (PR 2845)
3910
*- - Added UI preference for turning off the "DI-Guy Scenario by
3911
*- Boston Dynamics" overlay.
3912
**
3913
*4 Version 5.3.5
3914
**
3915
*- - Changed edit box for setting character's initial motion texture
3916
*- into a combo box that shows which motion textures are available.
3917
**
3918
*4 Version 5.3.2
3919
**
3920
*- - Small improvement to particle system UI, fixed outstanding issues
3921
*- with texture map browser widget. Color Widgets go right to a color
3922
*- picker. Clicking on static text opens subitems.
3923
*- - Particle Systems now populate better between ticks, i.e. release
3924
*- intervals smaller then the update time now work.
3925
*- - Performance improvements to the particle systems.
3926
**
3927
*4 Version 5.3.1
3928
**
3929
*- - Removed Review Data dt data member from diguyScenario objects
3930
*- and from the DI-Guy Scenario UI. Any scenario review data is
3931
*- now recorded at the scenario's tick dt.
3932
*- - Split Visibility / Performance page into two separate
3933
*- pages named Visibility and Performance.
3934
**
3935
*4 Version 5.3.0
3936
**
3937
*- - Made it possible to turn off review data generation for scenarios.
3938
*- By default, scenarios created in the DI-Guy Scenario editor will
3939
*- have review data enabled; scenarios created using the DI-Guy API
3940
*- will have review data disabled. Turning on review data can add
3941
*- significantly to memory usage. Changing review data settings can
3942
*- be done using the function diguyScenario::set_history_type(), or
3943
*- using the Review Data Type radio buttons on the Visibility /
3944
*- Performance page of the DI-Guy Scenario editor.
3945
**
3946
*4 Version 5.2.3
3947
**
3948
*- - Added joystick gain settings to Preferences. The gains allow
3949
*- DI-Guy Scenario users to adjust how sensitive the joystick will
3950
*- be. Gains of 1.0 retain previous behaviors. Gains less than
3951
*- 1.0 make joystick control less sensitive; i.e., it will take a
3952
*- larger movement to achieve a response. Gains more than
3953
*- 1.0 make joystick control more sensitive; i.e., it will take a
3954
*- smaller movement to achieve a response.
3955
**
3956
*4 Version 5.2.1
3957
**
3958
*- - Special Effects: DI-Guy Scenario now offers a new add-on option for
3959
*- particle-based special effects. Examples of particle effects include
3960
*- smoke, fire, debris, missile trails, rotor wash, explosions, and dust
3961
*- trails. A Particles tab is now available in the Scenario palette for
3962
*- easy control of effects parameters include size, number, color,
3963
*- texture map, velocity, wind effect, and gravity.
3964
*- - Fixed crashing bug when undoing path changes.
3965
*- - Fixed minor issues with using soldier character
3966
*- backward actions and companion waypoints.
3967
*- - Fixed problem where character sounds were not consistently
3968
*- playing when a scenario looped.
3969
*- - Fixed problem where path shapes were not always being drawn
3970
*- when they should have been.
3971
*- - Fixed problem where having path shapes in a scenario caused
3972
*- the program to crash on exit.
3973
*- - Fixed crashing bug when shutting down a scenario that
3974
*- contains characters with guides.
3975
**
3976
*4 Version 5.2.0
3977
**
3978
*- - Added ability to show character names as floating
3979
*- labels next to the character in the 3D window.
3980
*- Name labels can be shown for current character only,
3981
*- all characters, or no characters. Access via the
3982
*- Scenario | Visibility / Performance property page.
3983
*- - Added "Look At" buttons for characters, waypoints,
3984
*- and path beads on respective Elements pages.
3985
*- - Added special effects such as smoke and fire.
3986
*- - Fixed perl script interpreter so that it will work
3987
*- if DI-Guy is installed in a directory with spaces.
3988
*- - Fixed problem where LOD range scale factors weren't
3989
*- taking effect for scene objects.
3990
**
3991
**
3992
**************************************
3993
*3 DI-Guy AI
3994
**************************************
3995
**
3996
*4 Version 9.0.1
3997
**
3998
*- - Fixed bug where characters were improperly going through walls.
3999
*- - Fixed a number of minor crashes with creating behavior paths.
4000
**
4001
*4 Version 9.0.0
4002
**
4003
*- - To enable DI-Guy AI in programs using the DI-Guy SDK, the header
4004
*- file "diguy_ai.h" must be included, and the functions
4005
*- diguy_ai_initialize() and diguy_ai_deinitialize() must be called
4006
*- at the appropriate times.
4007
*- - New command line flag added to DI-Guy Scenario for optionally.
4008
*- disabling DI-Guy AI. By default DI-Guy Scenario will look for the
4009
*- diguy_ai license feature and check it out if it is present. By
4010
*- putting "-module diguy_ai" on the command line, DI-Guy Scenario will
4011
*- not attempt to enable DI-Guy AI.
4012
*- - Fixed problem with DI-Guy AI agents having trouble killing animals.
4013
*- - Painting a non-continuous region will be more likely to successfully
4014
*- create a behavior path, the longest path from the start point to the
4015
*- mouse up location is used.
4016
*- - Fixed issues with feelers: changes made via UI now change all crowd
4017
*- members, 3D rep of feelers now updated immediately when changed and
4018
*- on reset.
4019
*- - Fixed problem that agent feeler collide distance could not be
4020
*- greater than turn distance.
4021
*- - It is now possible to add a feeler callback to enable DI-Guy AI agents
4022
*- to interact better with static geometry in the SDK. See the following
4023
*- functions for more details:
4024
*>
4025
*- - diguyCharacter::agent_set_feeler_function()
4026
*- - diguyCharacter::agent_get_feeler_function()
4027
*- - diguyScenario::agent_set_default_character_feeler_function()
4028
*<
4029
*- - Crowds and agents can now flee a group. Accessed via:
4030
*>
4031
*- - diguyCharacter::agent_flee_group()
4032
*- - diguyCrowd::agents_flee_group()
4033
*<
4034
**
4035
*4 Version 8.6.3
4036
**
4037
*- - Crowd UI Improvements:
4038
*>
4039
*- - Selected member will now only show postures and variants that it has
4040
*- available.
4041
*- - Selected edit mode with display better visual cues indicating which
4042
*- crowd members will be affected by changes
4043
*- - Added look at member button.
4044
*<
4045
*- - Crowd Blitzing: Blitzing a crowd into an area that is non-contiguous
4046
*- will now attempt to find the longest path from the start point to
4047
*- the end point, This should fix a frequent failure case with the
4048
*- Blitzer.
4049
**
4050
*4 Version 8.6.1
4051
**
4052
*- - DI-Guy SAF references changed to DI-Guy AI.
4053
**
4054
*4 Version 8.6.0
4055
**
4056
*- - New DI-Guy SAF functions:
4057
*>
4058
*- - diguyCharacter::agent_set_current_behavior_region_border_is_solid()
4059
*- - diguyCrowd::set_all_members_enabled()
4060
*- - diguyCrowd::set_current_behavior_region_border_is_solid()
4061
*- - diguyCrowd::is_current_behavior_and_focus_group()
4062
*- - diguyCrowd::is_current_behavior_and_focus_character()
4063
*- - diguyCrowd::is_current_behavior()
4064
*- - diguyCrowd::is_crowd_dead()
4065
*- - diguyScenario::set_create_network_crowds()
4066
*- - diguyScenario::get_create_network_crowds()
4067
*<
4068
*4 Version 8.5.0
4069
**
4070
*- - Initial DI-Guy SAF release.
4071
*- - Added/updated DI-Guy SAF classes:
4072
*>
4073
*- - diguyAgentParams
4074
*- - diguyCrowdProfile
4075
*- - diguyCrowd (extensive changes, promoted from experimental)
4076
*<
4077
*- - New DI-Guy SAF functions:
4078
*>
4079
*- - diguyScenario::destroy_crowd()
4080
*- - diguyScenario::get_num_crowds()
4081
*- - diguyScenario::find_crowd()
4082
*- - diguyScenario::get_crowd_at_index()
4083
*- - diguyScenario::create_crowd_profile()
4084
*- - diguyScenario::destroy_crowd_profile()
4085
*- - diguyScenario::get_num_crowd_profile()
4086
*- - diguyScenario::find_crowd_profile()
4087
*- - diguyScenario::get_crowd_profile_at_index()
4088
*- - diguyScenario::create_group_in_region()
4089
*- - diguyCharacter::agent_attack_group()
4090
*- - diguyCharacter::agent_flee_character()
4091
*- - diguyCharacter::agent_flee_location()
4092
*- - diguyCharacter::agent_remove_all_flee_objects()
4093
*- - diguyCharacter::agent_mingle_in_region()
4094
*- - diguyCharacter::agent_pursue_character()
4095
*- - diguyCharacter::agent_pursue_group()
4096
*- - diguyCharacter::agent_travel_behavior_path()
4097
*- - diguyCharacter::agent_travel_path_shape()
4098
*- - diguyCharacter::agent_travel_region_border()
4099
*- - diguyCharacter::agent_wander_region()
4100
*- - diguyCharacter::agent_stop_behavior()
4101
*- - diguyCharacter::agent_set_current_focus_character()
4102
*- - diguyCharacter::agent_set_current_focus_group()
4103
*- - diguyCharacter::agent_get_initial_params()
4104
*- - diguyCharacter::agent_get_current_params()
4105
*- - diguyCharacter::agent_set_current_params_from_profile()
4106
*- - diguyCharacter::agent_get_current_focus_character()
4107
*<
4108
**
4109
**************************************
4110
*3 DI-Guy Motion Editor
4111
**************************************
4112
**
4113
*4 Version 9.0.1
4114
**
4115
*- - Added sample bvh file to motions directory, should help document how
4116
*- DI-Guy expects bvh files to be structured.
4117
**
4118
*4 Version 9.0.0
4119
**
4120
*- - If motions are added to an action table, the proper default actor
4121
*- is now set automatically.
4122
*- - Improved support for editing offset poses, should be much easier, and
4123
*- not cause abrupt joint behavior.
4124
*- - Changing the actor of a motion arc now immediately applies the new
4125
*- scale to the motion, improvements to actor choosing, motion scaling,
4126
*- and importing code.
4127
*- - Fixed a number of action table editing issues: including hard crash
4128
*- with undo, "remove unused motions" causing corrupted action tables.
4129
*- - General UI improvements:
4130
*>
4131
*- - +/- keys behave more intuitively with regards to the yaw/pitch/roll
4132
*- of the poser.
4133
*- - Shift key alters magnitude of +/- change.
4134
*- - Poser editing gizmo now auto-scales based on camera distance.
4135
*- - Editing mode is now displayed in 3D window title bar.
4136
*- - Initial directories for me project, importing motions and saving
4137
*- motions are now set to expected values.
4138
*<
4139
**
4140
*4 Version 8.6.3
4141
**
4142
*- - Fixed issue with zero length animations causing div by zero.
4143
*- - Fixed minor bug with action tables not properly updating when unused
4144
*- motions were removed.
4145
**
4146
*4 Version 7.1.11
4147
**
4148
*- - Fixed problem that many error messages would appear when saving
4149
*- action tables.
4150
**
4151
*4 Version 7.1.0
4152
**
4153
*- - Fixed various problems with setting variants and angle
4154
*- extents for 2-axis motions in the Action Table Editor.
4155
*- - Added sliders for testing aim actions in the Action Table
4156
*- Editor.
4157
**
4158
*4 Version 6.1.9
4159
**
4160
*- - Fixed a number of bugs introduced with the upgrade to high
4161
*- precision positions.
4162
**
4163
*4 Version 6.1.0
4164
**
4165
*- - Added new gesture table editor, allows for the modification of
4166
*- the action tables of table gestures.
4167
*- - Null motion arcs are now editable, with blend type and duration
4168
*- as parameters.
4169
**
4170
*4 Version 6.0.6
4171
**
4172
*- - BVH file import now supports joint translations in addition to
4173
*- rotations.
4174
*- - Resultant BDM files contain only relevant variables.
4175
**
4176
*4 Version 6.0.0
4177
**
4178
*- - Initial 6.0 DI-Guy Motion Editor release.
4179
**
4180
**
4181
**************************************
4182
*3 DI-Guy Character Viewer
4183
**************************************
4184
**
4185
*4 Version 8.0.2
4186
**
4187
*- - Added view selection buttons that load new camera settings.
4188
**
4189
*4 Version 6.1.9
4190
**
4191
*- - Fixed a number of bugs introduced with the upgrade to high
4192
*- precision positions.
4193
*- - Fixed character transparency.
4194
*- - Fixed selecting the default appearance.
4195
**
4196
*4 Version 6.0.2
4197
**
4198
*- - Added default settings file that shows Character Type /
4199
*- Appearance / Action selection page.
4200
**
4201
*4 Version 6.0.1
4202
**
4203
*- - Fixed problem where appearances that used a different actor than
4204
*- the default actor for a character did not correctly display.
4205
**
4206
*4 Version 6.0.0
4207
**
4208
*- - DI-Guy Character Viewer added to DI-Guy Applications Suite.
4209
*- Allows quick review of character types, appearances, and
4210
*- actions.
4211
**
4212
**
4213
**************************************
4214
*3 DI-Guy for Vega Prime
4215
**************************************
4216
**
4217
*4 Version 9.0.3
4218
**
4219
*- - vpNet 2.2 should now be enabled.
4220
*- - Fixed issue with skyLight lighting and shaders not being properly
4221
*- applied.
4222
*- - Fixed Memory leak when characters were unrefed to zero. Note a slight
4223
*- change to the basics example.
4224
**
4225
*4 Version 9.0.1
4226
**
4227
*- - Fixed issue with new vpDiguys not having their locations properly
4228
*- set when reading out of an acf.
4229
*- - Fixed issue with vpDiguyCharacters parented to vpTransforms not
4230
*- being properly created.
4231
**
4232
*4 Version 9.0.0
4233
**
4234
*- - DI-Guy for Vega Prime now works with VP 2.2.
4235
**
4236
*4 Version 8.6.3
4237
**
4238
*- - Fixed crash on exit when a vpDiguyCharacter parent was not a
4239
*- scenario.
4240
*- - Fixed bug where characters would multiply render if they were
4241
*- parented to a vpObject
4242
*- - parented and translated characters will should start broadcasting
4243
*- over the network with proper values.
4244
**
4245
*4 Version 8.0.3
4246
**
4247
*- - Moved example_acfs to their own subdirectory instead of in
4248
** simple_playback directory.
4249
*- - Added warning about setting channel LOD scale to zero, can cause
4250
** character to not draw.
4251
*- - Fixed an issue where not having a valid license could cause vp
4252
** applications to crash.
4253
*- - Fixed licensing issue effecting vpDiguy/vpNet/HLA/stealth.
4254
*- - Basics Programming example now demonstrates ground clamping. As well
4255
*- as some other polish to programming examples.
4256
**
4257
*4 Version 8.0.2
4258
**
4259
*- - Improved reporting of version information during installation.
4260
**
4261
*4 Version 8.0.0
4262
**
4263
*- - Initial 8.0 release candidate.
4264
*- - vpDiguy using vpNet should now support all coordinate conversion
4265
*- routines that vpNet supports.
4266
*- - Memory usage and rendering performance improvements.
4267
**
4268
*4 Version 7.0.8
4269
**
4270
*- - Fixed HLA networking licensing issue. Shouldn't need explicit hla
4271
*- license with vpNet.
4272
*- - Added new autogenerated vpDiguy SDK docs.
4273
*- - Added code to basics example that demonstrates creating a character
4274
*- after configure.
4275
*- - Added documentation about vpDiguy openAL audio module's
4276
*- incompatibility with vpAudio module.
4277
*- - Added static versions of vpDiguy libraries, updated autolinking
4278
*- code in vpDiguyCpp.cpp.
4279
**
4280
*4 Version 7.0.7
4281
**
4282
*- - Fixed a number of vpNet related bugs.
4283
*- - NOTE: In order to make vpNet interaction more solid reading of
4284
*- UTM coordinates out of Scenario Objects in vpDiguy has been
4285
*- disabled. UTM coordinates should be specified explicitly in the
4286
*- Net Connection gcf panel and the DI-Guy Scenario Network Page.
4287
**
4288
*4 Version 7.0.6
4289
**
4290
*- - Fixed a number of recreation/looping related bugs.
4291
**
4292
*4 Version 7.0.3
4293
**
4294
*- - Turned on vpNet/vpDiguy networking.
4295
*- - Updated all the acfs to be vp 2.0 compliant.
4296
*- - Updated vpDiguy gcf to include new 7.0 content.
4297
*- - Fixed bug in UTM support.
4298
*- - Fixed problem if multiple diguy particles attempt to instantiate
4299
*- the same type of vpFX. Fixed memory leak as well.
4300
*- - Fixed divide by zero bug in networking code, could cause 0th
4301
*- character to never show up.
4302
*- - Fixed bug where a character with an appearance change would
4303
*- not be recreated properly if a scenario was looping.
4304
**
4305
*4 Version 7.0.0
4306
**
4307
*- - Fixed a couple of vpDiguyScenario function calls to print a warning
4308
*- if the functions are called before configure, instead of crashing.
4309
*- - diguyCharacter's position syncs with vpDiguyCharacter on creation.
4310
*- - Distributed rendering should now support mapping from DI-Guy
4311
* particles.
4312
**
4313
*4 Version 6.1.11
4314
**
4315
*- - Consolidated networking examples, moved
4316
*- vpnet_(send/receive)_(dis/hla).acf
4317
*- into simple_playback because they didn't have unique c++ code.
4318
*- - Added postLoad function to vpDiguyCharacter building code to try
4319
*- and enable sensor prime.
4320
*- - Added vpDiguyScenario::set_time_independant_of_vp_sim_time() and
4321
*- vpDiguyScenario::get_time_independant_of_vp_sim_time() Allows
4322
*- time to be disconnected from sim time.
4323
**
4324
*4 Version 6.1.10
4325
**
4326
*- - Renamed vpDiguyScenario::SetSyncCameraEnable() to
4327
*- vpDiguyScenario::setSyncCameraEnable().
4328
**
4329
*4 Version 6.1.9
4330
**
4331
*- - Added per scenario time offset code.
4332
**
4333
*4 Version 6.1.8
4334
**
4335
*- - Code now compiles against Vega 2.0 libraries:
4336
*- - Added 2.0 style copy constructor for diguyCharacters to use in
4337
*- cloning.
4338
*- - Fixed a bug where locked off joints issued warnings.
4339
*- - Fixed a bug where some dynamic matrixes weren't being properly
4340
*- updating, fixes gazing inside Vega.
4341
*- - Altered how diguyScenarios get loaded to accommodate new
4342
*- merging code.
4343
*- - Unsupported Vega sound module now uses openAL.
4344
**
4345
*4 Version 6.1.1
4346
**
4347
*- - gcfs and xsd no longer use "DI-Guy" in the naming convention;
4348
*- instead "Diguy" is now used. This avoids uncompilable code
4349
*- generated from lynxPrime's export .cpp functionality, as well
4350
*- as being more consistent with Vega conventions.
4351
**
4352
*4 Version 6.0.8
4353
**
4354
*- - Fixed serious bug affecting HLA networking in DI-Guy for Vega
4355
*- Prime. This bug was causing various problems, ranging from
4356
*- missing or extra apparent network entities, to entities
4357
*- appearing at the wrong location.
4358
**
4359
*4 Version 6.0.7
4360
**
4361
*- - Changed all Vega Prime code/acfs that specify "DI-Guy" to "Diguy".
4362
*- This should allow cpp exports to work better.
4363
*- - Renamed vpDiguy.h/cpp to vpDiguySettings to better match acf info.
4364
*- - Added Vega Prime view settings example that shows off camera sync
4365
*- code.
4366
*- - Added Vega Prime simple example that shows how to initialize and
4367
*- run with no acf or dss.
4368
**
4369
*4 Version 6.0.6
4370
**
4371
*- - Fixed problem which inadvertently disabled standard Vega Prime
4372
*- "X" key functionality (enable / disable the position strategy
4373
*- for all observers) in a vpDiguy application.
4374
**
4375
*4 Version 6.0.5
4376
**
4377
*- - Fixed problems preventing DI-Guy for Vega Prime from
4378
*- working with DIS/HLA for Vega Prime. DI-Guy for Vega
4379
*- Prime now works with Vega Prime 1.2.2 from MultiGen
4380
*- Paradigm and vpNet 1.2.2 from MAK Technologies. Prior
4381
*- versions of vpNet are not supported.
4382
**
4383
*4 Version 6.0.2
4384
**
4385
*- - Switched bdiString to bdiString* in vpDiguyCharacter.h, to remove
4386
*- a dependency on a header file that is not distributed.
4387
**
4388
*4 Version 6.0.1
4389
**
4390
*- - Fixed problem in vpDiguy DIS networking. Outgoing entities were
4391
*- being published with entity numbers which conflicted with those
4392
*- being used by Vega Prime entities. On the receiving end, this
4393
*- would cause characters to pop from place to place.
4394
**
4395
*4 Version 5.3.4
4396
**
4397
*- - Added a circle example program to programming_examples/vpdiguy.
4398
**
4399
*4 Version 5.3.3
4400
**
4401
*- - DI-Guy characters types are now listed in a Character Type combo box.
4402
*- - A character type sensitive list of appearances are now listed in an
4403
*- Appearance combo box.
4404
*- - A character type sensitive list of actions are now listed in an
4405
*- Action combo box.
4406
*- - A character type sensitive list of head appearances are now listed
4407
*- in a Head Appearance combo box.
4408
*- - Altering the xyz position, heading or scale factor of a character
4409
*- now reflects on the character immediately.
4410
*- - Adding a ground clamp to a DI-Guy Scenario node now adds the ground
4411
*- clamp to all of its children that don't currently have a ground
4412
*- clamp.
4413
*- - Added new DI-Guy Settings functionality, including turning on/off
4414
*- scripting, sound effects, facial expressions, and the mapping of
4415
*- DI-Guy particles to Vega particles.
4416
*- - Added new options to DI-Guy Scenario panel.
4417
*- - Added toggle for showing scene objects found in the scenario file.
4418
*- - Added Sync Camera option that will slave the observer/motion controls
4419
*- to the DI-Guy camera.
4420
*- - Adding a DI-Guy character directly to a scene now creates one without
4421
*- a scenario being necessary.
4422
*- - DI-Guy characters dropped into a vpNet model map are now correctly
4423
*- cloned. (Requires the latest version of vpNet.)
4424
**
4425
*4 Version 5.2.1
4426
**
4427
*- - Better integration with MaK's vpNet module (see above).
4428
*- - Installation now occurs as a separate module on the DI-Guy CD.
4429
*- - Installation now automatically copies samples, documents to the Vega
4430
*- Prime installation as well as registering the DI-Guy for Vega Prime
4431
*- module.
4432
**
4433
*/
4434
4435
/*****************************************************************************
4436
*****************************************************************************
4437
**
4438
*2 DI-Guy Data, 9.0 and Earlier
4439
**
4440
*****************************************************************************
4441
*****************************************************************************
4442
**
4443
*4 Version 9.0.1
4444
**
4445
*- - Added character soldier_sa80, a British soldier with desert and
4446
*- temperate appearances using a sa80, based on the soldier_07 character.
4447
*- Available appearances:
4448
*>
4449
*- - uk_desert_sa80
4450
*- - uk_temperate_sa80
4451
*<
4452
*- - Added character "projectile" with meters per second motions.
4453
*- Character projectile appearances:
4454
*>
4455
*- - rpg_fired
4456
*- - sa7_fired
4457
*- - stinger_fired
4458
*- - javelin_fired
4459
*- - 120mm_tank_round_fired
4460
*- - at4_fired
4461
*- - 40mm_fired
4462
*<
4463
*- - Added sound files: m203_hit.wav, fire_m203.wav, arabic_street_sounds.wav
4464
*- sa7_flight.wav, sa7_fired.wav, stinger_fired.wav, stinger_flight.wav,
4465
*- javelin_flight.wav, javelin_impact.wav, at4_fired.wav, at4_flight.wav
4466
*- at4_impact.wav, javelin_fired.wav, pk74_fired.wav, m1a1_fired.wav
4467
**
4468
*4 Version 9.0.0
4469
**
4470
*- - Some character types have been made deprecated, and made "legacy"
4471
*- character types. If these character types are used in an existing
4472
*- .dss file or are created by a diguyScenario::create_character()
4473
*- call they will be created, but by default they will not show up
4474
*- in any DI-Guy Scenario character type selection controls. The
4475
*- legacy character types are:
4476
*>
4477
*- - soldier_m249
4478
*- - soldier_m4
4479
*- - soldier_qk
4480
*- - soldier_signals
4481
*- - soldier_fire
4482
*- - soldier_pistol
4483
*- - soldier_melios
4484
*- - afghan_child_crowd
4485
*- - male_pedestrian3
4486
*- - mped_sweeper
4487
*- - mped1_misc
4488
*- - mped2_misc
4489
*- - mped3_misc
4490
*- - mped5_crowd2
4491
*- - mped5_crowd3
4492
*- - mped5_crowd4
4493
*- - mped5_crowd5
4494
*- - mped5_crowd6
4495
*- - fped2_misc
4496
*- - fped3_crowd2
4497
*- - suspect3
4498
*- - marshaller
4499
*- - esil
4500
*- - soldier_precise
4501
*- - launcher
4502
*- - suspect
4503
*- - suspect2
4504
*- - fped_mother
4505
*- - sergeant
4506
*<
4507
*4 Version 8.0.0
4508
**
4509
*- - New character types:
4510
*>
4511
*- - chain_simulation
4512
*- - civilian_cc
4513
*- - soldier_cc
4514
*- - soldier_at4
4515
*- - soldier_javelin
4516
*- - soldier_m249
4517
*- - soldier_m9
4518
*- - soldier_m4
4519
*- - train
4520
*<
4521
*- - New human appearances:
4522
*>
4523
*- - 3 Security Guards
4524
*- - Hazmat Suits level A B and C
4525
*- - Assortment of Hazmat props
4526
**
4527
*- - 10 different Close Combat civilians
4528
*- - Close Combat BDU and DCU with M9, M249, M240, M60, AT4,
4529
*- Javelin M4 with M203, M16 with M203 Stinger weapons
4530
*- - Close Combat Opfor with SA16, RPG7, AK47 and PK74 weapons
4531
**
4532
*- - 3 Iraqi Insurgents
4533
*- - 2 Iraqi Soldier
4534
*- - 2 Iraqi Police
4535
**
4536
** The following soldier appearances can have M9, M249, M240, M60,
4537
** AT4, Javelin M4 with M203 and M16 with M203 weapons:
4538
**
4539
*- - 4 BDU with IBA
4540
*- - 4 ACU with IBA
4541
*- - 4 USMC with IBA
4542
*- - 4 USMC desert with IBA
4543
*<
4544
*- - New turret vehicle and technical vehicle appearances:
4545
*>
4546
*- - gaz_truck_w_ZSU23_turret
4547
*- - gaz_truck_w_ZSU23_turret_blown
4548
*- - toyota_pickup_tech_turret
4549
*- - toyota_pickup_tech_turret_blown
4550
*- - humvee_50cal_grn_turret
4551
*- - humvee_50cal_grn_turret_blown
4552
*- - humvee_50cal_des_turret
4553
*- - humvee_50cal_des_turret_blown
4554
*- - m1a2_abrams_grn_turret
4555
*- - m1a2_abrams_grn_turret_blown
4556
*- - m1a2_abrams_des_turret
4557
*- - m1a2_abrams_des_turret_blown
4558
*- - t72_tank_grn_turret
4559
*- - t72_tank_grn_turret_blown
4560
*- - t72_tank_des_turret
4561
*- - t72_tank_des_turret_blown
4562
*- - m2a3_bradley_grn_turret
4563
*- - m2a3_bradley_grn_turret_blown
4564
*- - m2a3_bradley_des_turret
4565
*- - m2a3_bradley_des_turret_blown
4566
*- - leclerc_tank_descamo_turret
4567
*- - leclerc_tank_descamo_turret_blown
4568
*- - leclerc_tank_camo_turret
4569
*- - leclerc_tank_camo_turret_blown
4570
*<
4571
*- - Added Motions to Soldier and Soldier2 characters:
4572
*>
4573
*- - stand_ready_8th_turn_left
4574
*- - stand_ready_8th_turn_right
4575
*- - stand_ready_qtr_turn_left
4576
*- - stand_ready_qtr_turn_right
4577
*- - stand_aim_extreme
4578
*- - kneel_aim_extreme
4579
*- - walk_aim
4580
*- - walk_aim_back
4581
*<
4582
*4 Version 7.0.0
4583
**
4584
*- - New character types:
4585
*>
4586
*- - chem_bio_pedestrian
4587
*- - fdc_chock_and_chains
4588
*- - fdc_fuelman
4589
*- - fdc_grounding
4590
*- - fdc_pallet
4591
*- - fdc_pedestrian
4592
*- - firefighter
4593
*- - fireman_silver
4594
*- - vehicle_technical
4595
*- - vehicle_turret
4596
*- - vehicle_wheels
4597
*<
4598
*4 Version 6.1.2
4599
**
4600
*- - Vehicles and props now have more accurate bounding volumes.
4601
*- - Fixed problem with config file appearance syntax. The
4602
*- item "shapeset:shape" format caused a crash; it now works
4603
*- again.
4604
*- - Replaced default scene object
4605
*- (sets/default_stage/default_stage.flt) with new default
4606
*- (sets/default_stage7/flt/default_stage7.flt). The new
4607
*- default_stage7.flt scene object has a number of different
4608
*- areas in which example scenarios can be placed.
4609
**
4610
*4 Version 6.1.1
4611
**
4612
*- - Added new appearance "invisible_human"; Using this appearance
4613
*- for a human character will remove all geometry from the
4614
*- character, effectively making it invisible.
4615
**
4616
*4 Version 6.1.0
4617
**
4618
*- - Added ability to specify in config files how long a null
4619
*- transition should take, and which blend function it should use.
4620
**
4621
*4 Version 6.0.2
4622
**
4623
*- - Modified stroll motions of female_pedestrian character to move
4624
*- hands further away from body.
4625
*- - Fixed some facing issues for soldier-type characters in transition
4626
*- motions between stand_aim and kneel_aim actions.
4627
**
4628
*4 Version 6.0.1
4629
**
4630
*- - Added particle_puff.rgba to list of effects textures.
4631
*- - Fixed the standing hip height of actor greg. It had been
4632
*- mistakenly changed to match that of actor bill. This caused
4633
*- problems for motion scaling for some actor / appearance
4634
*- combinations. (PR 3029)
4635
**
4636
*4 Version 6.0.0
4637
**
4638
*- - Initial 6.0 DI-Guy Data release.
4639
**
4640
*4 Version 5.3.5
4641
**
4642
*- - Removed one unused level of Motion LODs from data loaders
4643
*- config entries. The removed LOD 6 always had 0 variables in
4644
*- it, which wasn't useful for anything.
4645
*- This change requires use of DI-Guy Applications 5.3.5.
4646
**
4647
*4 Version 5.3.2
4648
**
4649
*- - Changed format of Motion Texture (motex) entries in DI-Guy
4650
*- config files. The new format gives motion textures their
4651
*- own config entry keyword, separate from motion arcs. This
4652
*- allows DI-Guy to know exactly which motions are going to be
4653
*- used as motion textures. Custom motion textures using the
4654
*- old format need to be updated.
4655
*- - Changed format of gesture entries in DI-Guy config files.
4656
*- Custom gestures using the old format need to be updated.
4657
**
4658
*4 Version 5.3.1
4659
**
4660
*- - Fixed problem with airport_crowd character selecting wrong
4661
*- action for default moving action.
4662
*- - Added sergeant2 character, which is similar to the sergeant
4663
*- character but better deals with transitions between actions.
4664
*- - Added fped_mother2 character, which is similar to the fped_mother
4665
*- character but better deals with transitions between actions.
4666
**
4667
*4 Version 5.2.2
4668
**
4669
*- - Running motion has been improved for the following characters:
4670
*- afghan_fighter, cbd, soldier, soldier2, soldier_precise, soldier_qk.
4671
*- Scenarios from previous revisions using these motions may behave
4672
*- slightly differently.
4673
**
4674
*/
include
diguy_changes.h
Generated on Thu Mar 28 2024 22:08:25 for DI-Guy SDK Documentation by
1.8.9.1