DI-Guy SDK Documentation  13.2
diguy_release_notes.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3  **
4  *t DI-Guy Release Notes
5  */
6 
16 /*****************************************************************************
17  *****************************************************************************
18  **
19  *2 DI-Guy Version 9 Release Notes
20  **
21  *****************************************************************************
22  **
23  **************************************
24  *3 DI-Guy SDK
25  **************************************
26  **
27  **************************************
28  *4 Version 10.0.0
29  **************************************
30  **
31  *- - Release notes pending.
32  **
33  **************************************
34  *4 Version 9.0.0
35  **************************************
36  **
37  *- - Added support for the Visual Studio 8 compiler (aka VC++ 2005).
38  *- - Added support for Vega Prime 2.2.
39  **
40  **************************************
41  *3 DI-Guy Scenario
42  **************************************
43  **
44  **************************************
45  *4 Version 10.0.0
46  **************************************
47  **
48  *- - Release notes pending.
49  **
50  **************************************
51  *4 Version 9.0.0
52  **************************************
53  **
54  *- - Scenarios with long paths will use considerably less memory.
55  *- - DI-Guy now supports multiple active formations.
56  *- - Better support for changing character type and appearance without
57  *- losing authored content.
58  *- - Added new movie maker; DI-Guy Scenario can now directly output AVIs.
59  *- (Tiff output is still available; see preferences window.)
60  *- - New munition system. It is now possible to specify different
61  *- munition types, with an associated DIS identifier. Munition
62  *- detonations can have radius effects, and will report impact
63  *- callbacks.
64  *- - Added ability to cull characters that are far away from the camera.
65  *- - Scene culling in worlds with xrefs and rotated objects is handled
66  *- more efficiently.
67  **
68  **************************************
69  *3 DI-Guy AI
70  **************************************
71  **
72  **************************************
73  *4 Version 9.0.0
74  **************************************
75  **
76  *- - Improved user interface, stability, added a number of query functions
77  *- for developing more elaborate responses with decision beads.
78  *- - Improvements to scene object grid framework to allow region painting
79  *- and better collision detection.
80  *- - DI-Guy SAF has been renamed to DI-Guy AI.
81  **
82  **************************************
83  *3 DI-Guy Networking
84  **************************************
85  **
86  **************************************
87  *4 Version 9.0.0
88  **************************************
89  **
90  *- - Added support for Flat Earth and Geocentric coordinates.
91  *- - Munition system improvements, see above.
92  *- - Added diguy_module_net.h, replaces the deprecated diguy_module_hla.h,
93  *- and diguy_module_dis.h header files.
94  **
95  **/
96 
97 /*****************************************************************************
98  *****************************************************************************
99  **
100  *2 DI-Guy Version 8 Release Notes
101  **
102  *****************************************************************************
103  **
104  **************************************
105  *4 Version 8.5.0
106  **************************************
107  **
108  *- - Initial DI-Guy SAF release.
109  **
110  *- - IMPORTANT CHANGES FROM EARLIER VERSIONS:
111  *- It is intended that DI-Guy is always fully backwards compatible.
112  *- However, the following two items are areas where backwards
113  *- compatibility has been sacrificed for improved DI-Guy functionality:
114  *>
115  *- - The default aim algorithm for aiming characters is now
116  *- algorithm 8 instead of algorithm 7. In almost all cases
117  *- version 8 exhibits better behavior, but if it breaks some
118  *- aspect of your scenario you can set the aim algorithm back to
119  *- version 7 by calling diguyCharacter::set_aim_algorithm().
120  *<
121  **
122  **************************************
123  *4 Version 8.0.2
124  **************************************
125  **
126  *- - Initial DI-Guy 8.0 release. See DI-Guy 8.0 New Features document.
127  **
128  *- - IMPORTANT CHANGES FROM EARLIER VERSIONS:
129  *- It is intended that DI-Guy is always fully backwards compatible.
130  *- However, the following two items are areas where backwards
131  *- compatibility has been sacrificed for improved DI-Guy functionality:
132  *>
133  *- - DI-Guy characters now fire live rounds by default when
134  *- functions such as diguyCharacter::fire_weapon() are called.
135  *- The old behavior can be restore in two ways:
136  *>
137  *- - In DI-Guy Scenario, the Weapon Params tab on the Character
138  *- Elements palette has a checkbox called "Weapon Fires Live
139  *- Rounds". The checkbox can be unchecked, followed by pressing
140  *- the "Copy to All Characters" button.
141  *- - In a program using the DI-Guy API, the function
142  *- diguyCharacter::set_weapon_fires_live_rounds() can be called.
143  *<
144  *- - The concept of a non-zero Tin ("T In") value for scenarios is no
145  *- longer supported. There is no work-around for this, except to
146  *- subtract out the old Tin value from the scenario Tout value.
147  *- Scenarios that have used a non-zero Tin value will have to be
148  *- changed.
149  *- - Removed function diguy_dis_get_action_from_entity_state() from
150  *- diguy_module_dis.h. diguyCharacter::get_action_from_entity_state()
151  *- should be called instead to map DIS values to an action.
152  *<
153  *- - DI-Guy 8 for Vega Prime is intended to be compatible with
154  *- Vega Prime 2.1 and vpNet 2.1.1.
155  *- - We have experienced issues with 7900 GTX graphics cards when running
156  *- DI-Guy Scenario. These include GL_SELECT being performed in software
157  *- instead of hardware, and issues with DI-Guy Scenario being recognized
158  *- as a graphics program. These issues were resolved by rolling back
159  *- drivers from the latest update from the chipset manufacturer to the
160  *- driver version provided by the computer manufacturer. If you
161  *- encounter unusual performance problems with DI-Guy when migrating to
162  *- such a machine, please let us know so that we can improve our support
163  *- and understanding of this issue.
164  **/
165 
166 /*****************************************************************************
167  *****************************************************************************
168  **
169  *2 DI-Guy Version 7 Release Notes
170  **
171  *****************************************************************************
172  *****************************************************************************
173  **
174  **************************************
175  *4 Version 7.0.11
176  **************************************
177  **
178  *- - Enabled DI-Guy for Vega Prime to interoperate successfully with all
179  *- the different earth models provided in vpNet, including Flat Earth.
180  **
181  **************************************
182  *4 Version 7.0.10
183  **************************************
184  **
185  *- - Upgraded VR-Link version to 3.9.6. This also means that DI-Guy for
186  *- Vega Prime customers should use vpNet 2.1 with Vega Prime 2.0.
187  **
188  **************************************
189  *4 Version 7.0.9
190  **************************************
191  **
192  *- - Enabled DI-Guy Scenario to broadcast in 1278.1 format by setting
193  *- "protocol_version" in the network.cfg file to "5".
194  *- - Improved behavior of DI-Guy characters when networking and
195  *- varying character speed.
196  *- - Enhanced DI-Guy characters' abilities to find the best action when
197  *- driven from the network using standard PDUs.
198  *- - Fixed problem with hands on some flight deck characters; increased
199  *- available appearances for flight deck characters.
200  **
201  **************************************
202  *4 Version 7.0.8
203  **************************************
204  **
205  *- - Fixed "ignore script events" checkbox in Camera Control of
206  *- DI-Guy Scenario. Improved handling of bogus numeric input.
207  *- - Removed VR-Link license dependency from DI-Guy for Vega Prime.
208  *- - Added documentation for the vpDiguy classes.
209  *- - Added static libraries to distribution for DI-Guy for Vega Prime.
210  *- - Added example for creating a vpDiguyCharacter at runtime.
211  *- - Fixed glitches when creating and deleting particle descriptions.
212  *- - Fixed minor bug with opening textures in DI-Guy Scenario.
213  *- - Improved network settings page responsiveness in DI-Guy Scenario.
214  **
215  **************************************
216  *4 Version 7.0.7
217  **************************************
218  **
219  *- - Formalized support for just-released vpNet 2.0 in DI-Guy for
220  *- Vega Prime.
221  *- NOTE: In order to increase reliability of vpNet interaction, the
222  *- reading of UTM coordinates out of scenario objects (terrains) has
223  *- been disabled in vpDiguy. It is recommended that the UTM coordinates
224  *- for a simulation be explicitly defined in the vpNet Connection gcf
225  *- panel.
226  **
227  **************************************
228  *4 Version 7.0.6
229  **************************************
230  **
231  *- - Fixed problem where character's initial path has incorrect name.
232  *- - Added fixes for destruction and reference counting in
233  *- DI-Guy for Vega Prime.
234  **
235  **************************************
236  *4 Version 7.0.5
237  **************************************
238  **
239  *- - Fixed a crash that sometimes happened while reading comments
240  *- out of texture .attr files.
241  **
242  **************************************
243  *4 Version 7.0.3
244  **************************************
245  **
246  *- - Fixed a problem with the diguyGraphicsShape::update() function not
247  *- always being called.
248  *- - Fixed various bugs with VR-Link and DI-Guy time sync code.
249  *- - Added warning if diguyCharacter::set_desired_action() is called
250  *- with 0.0f as the speed.
251  **
252  **************************************
253  *4 Version 7.0.2
254  **************************************
255  **
256  *- - Fixed a problem with gazing and aiming not zeroing in on the
257  *- correct positions when using DI-Guy for Vega Prime.
258  **
259  **************************************
260  *4 Version 7.0.1
261  **************************************
262  **
263  *- - Deprecated "named_callback" functions in diguyApp. Event handler
264  *- functions should be used instead.
265  *- - Renamed some diguyViewCamera functions:
266  *>
267  *- - diguyViewCamera::get_world_offset_position() has become
268  *- diguyViewCamera::get_segment_origin
269  *- - diguyViewCamera::get_local_position() has become
270  *- diguyViewCamera::get_position_segment_offset()
271  *- - diguyViewCamera::get_local_fix() has become
272  *- diguyViewCamera::get_fix_segment_offset()
273  *<
274  *- - Added function diguyCharacterGroup::update_all_members(), and
275  *- deprecated function diguyCharacterGroup::set_all_members_t()
276  *- - Fixed problem with deleting one scenario and creating another
277  *- causing a crash.
278  *- - Fixed crash problem with function diguy_set_cfg_file().
279  *- - Changed the default settings of automatic switching of graphics
280  *- LODs and motion LODs, as set by
281  *- diguyScenario::set_automatic_graphics_lod_switching() and
282  *- diguyScenario::set_automatic_motion_lod_switching(). Previously
283  *- automatic LOD switching was always enabled unless explicitly
284  *- disabled by calling the above functions. Now automatic LOD
285  *- switching will be disabled by default in DI-Guy API applications,
286  *- but remain enabled by default in DI-Guy Scenario.
287  *- - Added the following functions for adding and removing appearances:
288  *>
289  *- - diguyScenario::add_appearance()
290  *- - diguyScenario::add_appearance_based_on_existing_appearance()
291  *- - diguyScenario::remove_appearance()
292  *<
293  *- - diguyScenario::add_custom_appearance() deprecated;
294  *- use diguyScenario::add_appearance().
295  *- - diguyScenario::add_custom_appearance_based_on_existing_appearance()
296  *- deprecated; use
297  *- diguyScenario::add_appearance_based_on_existing_appearance().
298  *- - Promoted the following functions from experimental to
299  *- official status:
300  *>
301  *- - diguyCharacter::get_label_text()
302  *- - diguyCharacter::set_label_text()
303  *- - diguyCharacter::get_label_is_visible()
304  *- - diguyCharacter::set_label_is_visible()
305  *- - diguyCharacter::set_label_text_color()
306  *- - diguyCharacter::get_label_text_color()
307  *- - diguyCharacter::set_label_background_color()
308  *- - diguyCharacter::get_label_background_color()
309  *<
310  *- - Removed diguyLoadManager camera functions (load manager camera
311  *- now always tracks the scenario's primary view camera):
312  *>
313  *- - diguyLoadManager::add_camera()
314  *- - diguyLoadManager::add_view_camera()
315  *- - diguyLoadManager::move_camera()
316  *- - diguyLoadManager::change_view_camera_settings()
317  *- - diguyLoadManager::remove_camera()
318  *- - diguyLoadManager::remove_all_cameras()
319  **
320  **************************************
321  *4 Version 7.0.0
322  **************************************
323  **
324  *- - Fixed problem with diguyCharacter::set_speed(). The set speed
325  *- was being reset to the action's default speed after a short time,
326  *- which is not correct behavior.
327  *- - Changed values returned by diguyCharacter::get_aim_azimuth()
328  *- and diguyCharacter::get_aim_elevation() to be character-
329  *- relative rather than world-relative.
330  *- - New character types:
331  *>
332  *- - chem_bio_pedestrian
333  *- - fdc_chock_and_chains
334  *- - fdc_fuelman
335  *- - fdc_grounding
336  *- - fdc_pallet
337  *- - fdc_pedestrian
338  *- - firefighter
339  *- - fireman_silver
340  *- - vehicle_wheels
341  *<
342  */
343 
344 /*****************************************************************************
345  *****************************************************************************
346  **
347  *2 DI-Guy Version 6 Applications Notes
348  **
349  *****************************************************************************
350  *****************************************************************************
351  **
352  **************************************
353  *3 DI-Guy API
354  **************************************
355  **
356  *b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
357  **
358  *4 Version 6.1.6
359  **
360  *- - Removed unused variable "working_directory" from bdiExFaceInit
361  *- structure. Replaced with variable "placeholder", leaving the
362  *- option open for future init variables. Calls passing NULL for
363  *- the bdiExFaceInit structure to diguy_exface_initialize() will
364  *- not need to change.
365  **
366  *4 Version 6.1.4
367  **
368  *- - Removed unused functions from diguySensorRegion class:
369  *>
370  *- - diguySensorRegion::get_characters_in_region()
371  *- - diguySensorRegion::update_characters_in_region()
372  *- - diguySensorRegion::update_candidate_characters_in_region()
373  *<
374  *4 Version 6.0.8
375  **
376  ** - For Win32, DI-Guy DLLs now include version information in their
377  ** filenames, to make it easier for multiple versions of DI-Guy to
378  ** exist side-by-side.
379  **
380  *4 Version 6.0.6
381  **
382  *- - Made all characters default to not using stepping gaze. This fixes
383  *- a backwards incompatibility problem where some version 5 characters
384  *- that were gazing would leave their path on version 6 and thus not
385  *- complete the actions specified by their path.
386  **
387  *4 Version 6.0.1
388  **
389  *- - Removed deprecated diguyCharacter functions:
390  *>
391  *- - diguyCharacter::force_action_by_name()
392  *- - diguyCharacter::get_desired_action_name()
393  *- - diguyCharacter::set_desired_action_by_name()
394  *- - diguyCharacter::force_partial_path_by_name()
395  *- - diguyCharacter::force_path_by_name()
396  *- - diguyCharacter::push_path_by_name()
397  *- - diguyCharacter::set_parent_by_name()
398  *<
399  *- - Removed deprecated diguySensorRegion function
400  *- diguySensorRegion::contains_character_by_name().
401  *- - Removed deprecated diguySignal function diguySignal::play_sound().
402  *- - Removed deprecated diguyScenario function
403  *- diguyScenario::find_or_create_face_expression().
404  **
405  *4 Version 6.0.0
406  **
407  *- - Users who are upgrading their earlier versions of DI-Guy should
408  *- uninstall their existing DI-Guy Applications, DI-Guy Data, (and DI-Guy
409  *- for Vega Prime for Vega Prime users), and then install the 6.0
410  *- versions.
411  *- - Uninstalling will not delete your existing customizations located in
412  *- the "custom" folder. You can copy that folder to the new
413  *- installation.
414  *- - Users with FLOATING LICENSES *must* upgrade to the latest version of
415  *- the license manager. The necessary files and documentation are in the
416  *- folder $DIGUY/3rdparty/flexlm/diguy_flexlm_10.1_win32. Existing
417  *- DI-Guy 5 license files *will* work with the new license manager. To
418  *- upgrade your license server:
419  *>
420  *- - Shutdown the old license server:
421  *>
422  *- - Start the OLD lmtools.
423  *- - On the Server/License file tab, select the OLD DI-Guy license
424  *- server
425  *- - On the Start/Stop/Reread tab, click "Stop Server"
426  *- - On the Config Services tab, click "Remove Service"
427  *- - Exit lmtools
428  *<
429  *- - To be really certain the old server is gone, you can check the
430  *- services control panel applet and verify the DI-Guy license
431  *- server is no longer there. To be compulsively certain, reboot
432  *- the server and make sure DI-Guy license server doesn't come back.
433  *- - Remove the old license server files: lmtools.exe, lmgrd.exe,
434  *- bdilm.exe. DO NOT Delete the license file.
435  *- - Copy $DIGUY/3rdparty/flexlm/diguy_flexlm_10.1_win32 to the license
436  *- server computer
437  *- - Copy the license file to the new folder.
438  *- - Start the NEW license service with the new license manager daemon
439  *- and the copied license file. Follow the instructions in
440  *- $DIGUY/3rdparty/flexlm/diguy_flexlm_10.1_win32/diguy-win32-server.txt.
441  *- - Test by running a DI-Guy app on a client.
442  *<
443  *- - Removed support for character history types
444  *- DIGUY_HISTORY_TYPE_FIRST and DIGUY_HISTORY_TYPE_LAST. Characters
445  *- saved using these history types will have their history type
446  *- set to DIGUY_HISTORY_TYPE_COMPLETE.
447  **
448  **************************************
449  *3 DI-Guy Scenario
450  **************************************
451  **
452  *b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
453  **
454  *4 Version 6.0.8
455  **
456  *- - In DI-Guy Scenario, incoming networked characters will now
457  *- automatically be assigned to groups "net_opposing", "net_friendly",
458  *- or "net_neutral" based on their network force id. Outgoing
459  *- networked characters will check if a character belongs to such a
460  *- group when setting its network force id.
461  **
462  *4 Version 6.0.0
463  **
464  *- - DI-Guy Scenario may play sounds too fast on some PCs equipped with
465  *- hardware sound accelerators. (This may also be true for DI-Guy SDK
466  *- programs using diguy_module_sound_gap). We are working on the
467  *- problem. A work-around is to reduce the level of hardware
468  *- acceleration for audio playback. To change the acceleration:
469  *>
470  *- - Open Control Panel.
471  *- - Open Sounds and Multimedia.
472  *- - Open the "Audio" tab.
473  *- - Under "Sound Playback" click "Advanced".
474  *- - Open the "Performance" tab.
475  *- - Move the "Hardware acceleration" slider to the left.
476  *- - Click Okay to close "Advanced Audio Properties".
477  *- - Click Okay to close "Sounds and Multimedia Properties".
478  *- - Test to see if sounds play correctly.
479  *<
480  **
481  **************************************
482  *3 DI-Guy Motion Editor
483  **************************************
484  **
485  *4 Version 6.0.6
486  **
487  *- - Fixed DI-Guy Motion Editor bug where some repeated actions caused
488  *- performance degradation.
489  *- - Enhanced DI-Guy Motion Editor importing to support non-base 6-DOF
490  *- joints.
491  *- - Made all characters default to not using stepping gaze. This fixes
492  *- a backwards incompatibility problem where some version 5 characters
493  *- that were gazing would leave their path on version 6 and thus not
494  *- complete their performance.
495  **
496  **
497  **************************************
498  *3 DI-Guy for Vega Prime
499  **************************************
500  **
501  *4 Version 6.0.8
502  **
503  *- - Fixed problems to improve interaction with HLA - update recommended
504  *- for HLA Vega Prime users.
505  **
506  *4 Version 6.0.7
507  **
508  *- - Fixed problems with dumping .cpp from LynxPrime using DI-Guy for
509  *- Vega Prime.
510  *- - Fixed bug where isectors did not work on some DI-Guy characters in
511  *- Vega Prime.
512  *- - Fixed bug where including DI-Guy in a Vega Prime application would
513  *- block keystrokes being sent through the display window.
514  *- - Two new examples, "view_settings" and "simple" have been added
515  *- to coding examples for DI-Guy for Vega Prime.
516  **
517  *b BACKWARDS INCOMPATIBILITY NOTICE FOR DI-GUY FOR VEGA PRIME:
518  **
519  ** ACF files made using early versions of DI-Guy 6 will require users to
520  ** find all strings in the file that use "DI-Guy" and replace them
521  ** with "Diguy". The vpDiguy.h and vpDiguy classes have been replaced
522  ** with vpDiguySettings.h and the vpDiguySettings class.
523  **
524  *4 Version 6.0.5
525  **
526  ** DI-Guy for Vega Prime now works with DIS/HLA for Vega Prime. As of
527  ** version 6.0.5, DI-Guy for Vega Prime works with Vega Prime 1.2.2 from
528  ** MultiGen Paradigm and vpNet 1.2.2 from MAK Technologies.
529  **
530  */
531 
532 
533 /*****************************************************************************
534  *****************************************************************************
535  **
536  *2 DI-Guy Version 6 Data Notes
537  **
538  *****************************************************************************
539  *****************************************************************************
540  **
541  *4 Version 6.1.2
542  **
543  *- - Fixed problem with config file appearance syntax. The
544  *- item "shapeset:shape" format caused a crash; it now works
545  *- again.
546  *- - Replaced default scene object
547  *- (sets/default_stage/default_stage.flt) with new default
548  *- (sets/default_stage7/flt/default_stage7.flt). The new
549  *- default_stage7.flt scene object has a number of different
550  *- areas in which example scenarios can be placed.
551  **
552  *4 Version 6.1.1
553  **
554  *- - Added new appearance "invisible_human"; Using this appearance
555  *- for a human character will remove all geometry from the
556  *- character, effectively making it invisible.
557  **
558  */