DI-Guy SDK Documentation
13.8
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
diguy_changes_older_dox.h
Go to the documentation of this file.
1
/*****************************************************************************/
517
/*****************************************************************************
518
*****************************************************************************
519
**
520
** \section v9apps DI-Guy 9.0 and Earlier
521
**
522
*****************************************************************************
523
*****************************************************************************
524
**
525
**************************************
526
** \subsection v9diguyapi DI-Guy API
527
**************************************
528
**
529
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
530
**
531
** \subsubsection v904api Version 9.0.4
532
**
533
*- - Added new argument to diguyCharacter::force_action() that allows
534
*- the forced action to begin partway into the action.
535
*- - Added the following functions to diguyCharacter API:
536
*>
537
*- - diguyCharacter::get_most_recent_forced_action()
538
*- - diguyCharacter::get_most_recent_forced_action_t()
539
*- - diguyCharacter::get_most_recent_forced_action_t_offset()
540
*<
541
** \subsubsection v901api Version 9.0.1
542
**
543
*- - Added new guide example, see $DIGUY/programming_examples/diguy_ogl/guide_example
544
*- - Added the following functions to diguyCharacter API:
545
*>
546
*- - diguyCharacter::get_distance_to_impact()
547
*- - diguyCharacter::set_is_scene_object()
548
*- - diguyCharacter::get_is_scene_object()
549
*- - diguyCharacter::set_apply_actor_scale_to_action_bead_xy_travel() deprecated;
550
*- use diguyCharacter::set_apply_actor_scale_to_action_bead_travel() instead
551
*- - diguyCharacter::get_apply_actor_scale_to_action_bead_xy_travel() deprecated;
552
*- use diguyCharacter::get_apply_actor_scale_to_action_bead_travel() instead
553
*<
554
*- - Manually invoking a diguyCharacter perl script callback via
555
*- diguyCharacter::manually_invoke_event_handler() will now have the
556
*- $callback_object variable properly set.
557
*- - Minor munition system improvements:
558
*>
559
*- - Munitions sound effects now include sound gain.
560
*- - Added diguyScenario::trigger_detonation(), a function for
561
*- creating a detonation at an arbitrary xyz location.
562
*- - Fixed bug with location of munition particle effects.
563
*<
564
*- - Added new Munition system demonstration; see AI_Munitions_Demo.dss in
565
*- scenarios directory.
566
*- - Improved default 3d sound behavior; prior default 3d sound falloff
567
*- was much too aggressive. Future DI-Guy releases will make more of
568
*- these values tuneable.
569
**
570
** \subsubsection v900api Version 9.0.0
571
**
572
*- - Promoted the following functions from experimental to
573
*- official status:
574
*>
575
*- - diguyScenario::find_character_at_screen_coords()
576
*- - diguyScenario::get_impact_at_screen_coords()
577
*- - diguyScenario::get_intersection_at_screen_coords()
578
*- - diguyScenario::force_octtree_generation()
579
*- - diguyScenario::intersect_static_geometry()
580
*- - diguyScenario::add_character_to_octtree()
581
*- - diguyScenario::remove_character_from_octtree()
582
*- - diguyCharacter::set_apply_actor_scale_to_action_bead_xy_travel()
583
*- - diguyCharacter::get_apply_actor_scale_to_action_bead_xy_travel()
584
*<
585
*- - Added functions to allow user to specify custom feeler functions:
586
*>
587
*- - diguyScenario::set_default_agent_feeler_function()
588
*- - diguyCharacter::agent_set_feeler_function()
589
*- - diguyCharacter::agent_get_feeler_function()
590
*<
591
*- - Fixed more issues with recent changes to reduce path memory overhead.
592
*- - Changing current appearance will now complain less if the resulting
593
*- change doesn't require recompilation of path data.
594
*- - diguy_dis_constants.h now includes custom PDU enumeration.
595
*- - Changes made to aim algorithm 8 parameter functions in an effort
596
*- to make them more descriptive. Note that only the set functions
597
*- are listed; the corresponding get functions have changed, too.
598
*>
599
*- - diguyCharacter::set_aim_param_time_constant() deprecated;
600
*- use diguyCharacter::set_aim_param_acquire_factor() instead
601
*- - diguyCharacter::set_aim_param_reset_time_constant() deprecated;
602
*- use diguyCharacter::set_aim_param_new_aim_factor() instead
603
*- - diguyCharacter::set_aim_param_time_constant2() deprecated;
604
*- use diguyCharacter::set_aim_param_new_aim_duration() instead
605
*<
606
** \subsubsection v863api Version 8.6.3
607
**
608
*- - Fixed some issues with recent changes to reduce path memory overhead.
609
**
610
** \subsubsection v862api Version 8.6.2
611
**
612
*- - Changes made to support multiple active formations. New arguments
613
*- added to diguyCharacter::call_formation() and
614
*- diguyCharacter::break_formation() to support multiple formations.
615
*- Default behavior remains the same as before.
616
*- - Significant memory savings when dealing with characters with
617
*- long paths.
618
*- - Added new argument to diguyCharacter::set_current_appearance()
619
*- function: allow_actor_change. Previously changes to a character's
620
*- appearance that would result in an actor (size of character) change
621
*- were not allowed. Passing 1 (the default) for this argument now
622
*- allows such a change.
623
**
624
** \subsubsection v861api Version 8.6.1
625
**
626
*- - Added function diguyCharacter::get_current_traveled_path().
627
*- - Improved logic for picking dead action.
628
*- - Removed deprecated functions:
629
*>
630
*- - diguyLoadManager::set_max_update_period()
631
*- - diguyLoadManager::set_nonvisible_update_rate()
632
*- - diguyLoadManager::set_zone_bounds()
633
*- - diguyLoadManager::set_zone_parameters()
634
*<
635
*- - Improved DIS/HLA Networking:
636
*>
637
*- - Added support for Flat Earth and Geocentric coordinates.
638
*- - Coordinate system changes can now be applied while the system is
639
*- connected to the network.
640
*- - DI-Guy characters can now have different Munition types which are
641
*- sent over the network as part of the detonation pdus.
642
*<
643
*- - Improved Munition Support:
644
*>
645
** Heavy rewrite/solidification of our munition and detonation code.
646
*>
647
*- - Characters now have a munition type, defaults to "m16".
648
*- - Munition definitions are stored in the munition_type.cfg file.
649
*- They have a number of required and optional fields including
650
*- septet, radius, and special effects to create when triggered.
651
*- - The munition name and radius is now part of diguyImpact
652
*- structure. This allows the end user to build damage models in
653
*- scripts that are based on the munition type of an impact, along
654
*- with fall-off effects based on distance from impact location.
655
*- - Characters hit by broadcast detonations will now call the
656
*- CALLBACK_ID_IMPACT callback if they have one, this emulates what
657
*- happens when characters are shot by other DI-Guys. If they are
658
*- members of a crowd and the crowd has an impact callback that will
659
*- be called, if no impact callback exists they will die.
660
*- - Crowds should now react to remote detonations.
661
*- - Impacting a scene object will now transmit a detonation.
662
*<
663
*<
664
** \subsubsection v850api Version 8.5.0
665
**
666
*- - Many new function calls available from decisions.
667
*- - Changed default aim algorithm from 7 to 8. To change it back to 7,
668
*- call diguyCharacter::set_aim_algorithm(), passing 7 as the
669
*- aim_algorithm argument.
670
*- - Improved diguyCharacter::check_character_visibility(). Character
671
*- will now use the cervical joint as the source point, and test
672
*- multiple positions on the target.
673
*- - Promoted diguyCharacter version 8 aim algorithm functions from
674
*- experimental to official.
675
*- - Characters that are flagged as scene object are no longer baked
676
*- into the world octtree. Editing them no longer requires an expensive
677
*- octtree rebuild.
678
*- - Fixed access bug in diguyScenario::find_path_shape().
679
*- - Added functions:
680
*>
681
*- - diguyCharacter::get_last_impact_is_from_vehicle()
682
*- - diguyCharacter::get_last_impact_speed_is_greater_than()
683
*- - diguyCharacterGuide::set_position_acquired()
684
*- - diguyCharacterGuide::set_orientation_acquired()
685
*- - diguyImpact::get_impact_speed()
686
*<
687
** \subsubsection v810api Version 8.1.0
688
**
689
*- - Added function diguyScenario::preload_sound()
690
*- - Added callback id diguyScenario::CALLBACK_ID_SAVE_SCENARIO_FILE
691
*- - Added experimental functions:
692
*>
693
*- - diguyCharacter::get_nearest_waypoint_index_in_path()
694
*- - diguyCharacter::set_desired_orientation_to_current_orientation()
695
*- - diguyCharacter::check_character_visibility()
696
*<
697
** \subsubsection v806api Version 8.0.6
698
**
699
*- - Fixed issue where turreted vehicles broadcast angle did not match
700
*- the DIS standard.
701
*- - Added experimental aim functions. These functions are for the new
702
*- DI-Guy version 8 aim algorithm.
703
*>
704
*- - diguyCharacter::set_aim_algorithm()
705
*- - diguyCharacter::get_aim_algorithm()
706
*- - diguyCharacter::set_aim_param_seek_tolerance()
707
*- - diguyCharacter::get_aim_param_seek_tolerance()
708
*- - diguyCharacter::set_aim_param_time_constant()
709
*- - diguyCharacter::get_aim_param_time_constant()
710
*- - diguyCharacter::set_aim_param_time_constant2()
711
*- - diguyCharacter::get_aim_param_time_constant2()
712
*- - diguyCharacter::set_aim_param_reset_time_constant()
713
*- - diguyCharacter::get_aim_param_reset_time_constant()
714
*- - diguyCharacter::set_aim_param_azimuth_acquired_range()
715
*- - diguyCharacter::get_aim_param_azimuth_acquired_range()
716
*- - diguyCharacter::set_aim_param_elevation_acquired_range()
717
*- - diguyCharacter::get_aim_param_elevation_acquired_range()
718
*- - diguyCharacter::set_aim_param_max_per_frame_adj_factor()
719
*- - diguyCharacter::get_aim_param_max_per_frame_adj_factor()
720
*- - diguyCharacter::set_aim_converge_every_frame()
721
*- - diguyCharacter::get_aim_converge_every_frame()
722
*- - diguyCharacter::aim_converge()
723
*<
724
** \subsubsection v805api Version 8.0.5
725
**
726
*- - Fixed issue with TXP geometry loader. If external textures are
727
*- marked as "Unknown" format, the actual format is now derived from
728
*- the filename extension in the case of .rgb, .rgba, .int, and .inta
729
*- texture files.
730
**
731
** \subsubsection v804api Version 8.0.4
732
**
733
*- - Improved documentation for function diguyScenario::update().
734
*- - Fixed some issues with I-Guy and its use of joystick input. I-Guy
735
*- input for DI-Guy 8 now more closely matches that of previous
736
*- versions.
737
*- - Fixed some issues with muzzle flashes. In particular, muzzle
738
*- flashes were not consistently showing up in DI-Guy Scenario, both
739
*- during initial simulation and during review data playback.
740
*- - DI-Guy now includes a DIGuyLicenseTool application that makes it
741
*- easier to gather the appropriate information needed to request a
742
*- license from Boston Dynamics. This utility program can be run
743
*- during Applications installation, or, after installation is
744
*- complete, from the DI-Guy folder in the Start Menu.
745
*- - Fixed a problem with programming examples that used OpenAL
746
*- with the VC7 static libs (Makefile.vc7_md, for example)
747
*- would crash when an .ogg file was loaded.
748
**
749
** \subsubsection v803api Version 8.0.3
750
**
751
*- - Fixed some issues with I-Guy:
752
*>
753
*- - Firing the I-Guy's weapon now correctly uses the trajectory
754
*- to the crosshair, instead of along the weapon barrel.
755
*- - Keyboard control of looking up and down now possible; use
756
*- 'Page Up' and 'Page Down' keys.
757
*<
758
*- - Fixed problem with networked characters climbing hills.
759
*- - Fixed problem with networked characters transitioning too quickly.
760
*- - Added Visual Studio 7.1 solution for diguy_ogl/simple_playback
761
*- example.
762
*- - Fixed issue with diguyCharacter::stop_all_sounds() and
763
*- diguyScenario::stop_all_sounds() not saving history events.
764
**
765
** \subsubsection v802api Version 8.0.2
766
**
767
*- - Fixed problem with some textures not loading properly.
768
*- - Fixed problem with DirectX examples not shutting down cleanly
769
*- if there is a license problem.
770
**
771
** \subsubsection v801api Version 8.0.1
772
**
773
*- - Fixed issues with temporary characters not always being destroyed.
774
*- - Fixed issues with temporary characters showing up in review
775
*- playback.
776
*- - Fixed issues with appearance effects being recycled properly.
777
*- - Fixed problem with eyes not participating in gazing.
778
*- - Rework of many examples in the programming_examples directory.
779
*- Some new examples added, some older ones removed.
780
*- - Added README.txt files to diguy_plugin examples that better describe
781
*- what the examples show, and how to use them in DI-Guy Scenario.
782
**
783
** \subsubsection v800api Version 8.0.0
784
**
785
*- - Initial 8.0 release candidate.
786
*- - Setting of tin (T In) and tout (T Out) calls for characters have
787
*- been tightened up. For example, a character's tin can no longer
788
*- be set to before the current scenario t. It could be before, but
789
*- would cause potential problems. Warning messages are printed to
790
*- the log when improper tin or tout times are attempted.
791
**
792
** \subsubsection v7120api Version 7.1.20
793
**
794
*- - Added new diguySignal and diguyScenario functions:
795
*>
796
*- - diguySignal::set_info_text()
797
*- - diguySignal::get_info_text()
798
*- - diguyScenario::signal_palette_show_all()
799
*- - diguyScenario::signal_palette_hide_all()
800
*<
801
*- - The signal info_text field allows signals to be tagged in the DI-Guy
802
*- Scenario Signal Palette with text different than the signal name.
803
*- The new show all and hide all functions take an optional filter
804
*- that can be used to make the operation work on a subset of the
805
*- signals.
806
**
807
** \subsubsection v7119api Version 7.1.19
808
**
809
*- - Fixed problem with vehicle_wheels character in which first frame
810
*- of playback had wheels in incorrect position.
811
*- - Improved documentation for diguyCharacter Performance Functions.
812
*- - Improved documentation for diguyCharacter functions that
813
*- deal with enabling and disabling characters in various ways.
814
*- - Added functions:
815
*>
816
*- - diguyLoadManager::set_zone_all_blends_disabled()
817
*- - diguyLoadManager::get_zone_all_blends_disabled()
818
*- - diguyLoadManager::set_zone_shape_switches_disabled()
819
*- - diguyLoadManager::get_zone_shape_switches_disabled()
820
*- - diguyLoadManager::set_zone_shape_callbacks_disabled()
821
*- - diguyLoadManager::get_zone_shape_callbacks_disabled()
822
*- - diguyLoadManager::set_zone_graphics_api_shape_update_disabled()
823
*- - diguyLoadManager::get_zone_graphics_api_shape_update_disabled()
824
*- - diguyCharacter::get_is_active()
825
*- - diguyCharacter::set_invisible_flag()
826
*- - diguyCharacter::get_invisible_flag()
827
*<
828
*- - Added function diguyCharacterGroup::get_is_network_paused(), and
829
*- deprecated function diguyCharacterGroup::get_paused()
830
*- - Added function diguyCharacterGroup::get_visible(), and
831
*- deprecated function diguyCharacterGroup::get_is_drawn()
832
*- - Made the following functions callable from decisions:
833
*>
834
*- - diguyCharacter::get_is_network_paused()
835
*- - diguyCharacter::get_is_network_published()
836
*- - diguyCharacter::get_is_network_reflected()
837
*<
838
** \subsubsection v718api Version 7.1.18
839
**
840
*- - Added functions:
841
*>
842
*- - diguy_extract_translation_and_euler_angles_from_matrix()
843
*- - diguy_create_matrix_from_translation_and_euler_angles()
844
*- - diguyCharacter::set_appearance()
845
*- - diguyCharacter::get_aim_is_possible()
846
*<
847
*- - Changed the name of several experimental functions:
848
*>
849
*- - diguyCharacter::start_appearance_effect() -> diguyCharacter::begin_appearance_effect()
850
*- - diguyCharacter::stop_appearance_effect() -> diguyCharacter::end_appearance_effect()
851
*<
852
*- - The following experimental functions were promoted to
853
*- official API status:
854
*>
855
*- - diguyScenario::create_temporary_character()
856
*- - diguyScenario::send_character_to_recycle_bin()
857
*- - diguyScenario::retrieve_character_from_recycle_bin()
858
*- - diguyScenario::set_playback_mode()
859
*- - diguyScenario::set_playback_mode_stop()
860
*- - diguyScenario::set_playback_mode_play()
861
*- - diguyCharacter::get_is_temporary()
862
*- - diguyCharacter::translate_all_paths()
863
*- - diguyCharacter::rotate_all_paths_about_point()
864
*- - diguyCharacter::rotate_all_paths_about_current_waypoint()
865
*- - diguyCharacter::manually_invoke_event_handler()
866
*<
867
*- - The ability to change the tin ("T In") time of a scenario has been
868
*- removed. THIS CHANGE WILL AFFECT SCENARIOS THAT USED THIS
869
*- FUNCTIONALITY. Setting the tin of a scenario to anything other than
870
*- 0 has always had unintended side-effects for DI-Guy, which is why
871
*- this capability has been removed. The functions
872
*- diguyScenario::set_tin() and diguyScenario::get_tin() are now
873
*- deprecated as a result. (Note that diguyCharacter::set_tin()
874
*- has not been changed.)
875
**
876
** \subsubsection v7116api Version 7.1.16
877
**
878
*- - Added the following functions:
879
*>
880
*- - diguyCharacter::set_initial_up_vector()
881
*- - diguyCharacter::get_initial_up_vector()
882
*- - diguyCharacter::get_up_vector()
883
*<
884
** \subsubsection v7114api Version 7.1.14
885
**
886
*- - Fixed issues with scenario merging. Chain settings and particle
887
*- systems in particular did not merge well.
888
**
889
** \subsubsection v7113api Version 7.1.13
890
**
891
*- - The following experimental functions were promoted to
892
*- official API status:
893
*>
894
*- - diguyCharacter::set_minimum_cpl()
895
*- - diguyCharacter::get_minimum_cpl()
896
*- - diguyCharacter::get_maximum_possible_current_cpl()
897
*- - diguyCharacter::maximize_current_cpl()
898
*- - diguyCharacter::set_automatic_cpl_switching_enabled()
899
*- - diguyCharacter::get_automatic_cpl_switching_enabled()
900
*- - diguyCharacter::set_current_cpl()
901
*- - diguyCharacter::get_current_cpl()
902
*- - diguyCharacter::set_position_accumulation_disabled()
903
*- - diguyCharacter::get_position_accumulation_disabled()
904
*- - diguyCharacter::set_all_blends_disabled()
905
*- - diguyCharacter::get_all_blends_disabled()
906
*- - diguyCharacter::set_shape_switches_disabled()
907
*- - diguyCharacter::get_shape_switches_disabled()
908
*- - diguyCharacter::set_shape_callbacks_disabled()
909
*- - diguyCharacter::get_shape_callbacks_disabled()
910
*- - diguyCharacter::set_graphics_api_shape_update_disabled()
911
*- - diguyCharacter::get_graphics_api_shape_update_disabled()
912
*- - diguyCharacter::optimized_update()
913
*- - diguyCharacter::get_is_recycled()
914
*- - diguyCharacter::get_last_impact_record()
915
*- - diguyCharacter::get_last_impact_number()
916
*- - diguyCharacter::get_last_impact_been_processed()
917
*- - diguyCharacter::set_last_impact_been_processed()
918
*- - diguyCharacter::get_last_impact_link()
919
*- - diguyCharacter::get_last_impact_link_is()
920
*- - diguyCharacter::set_weapon_projectile_is_visible()
921
*- - diguyCharacter::get_weapon_projectile_is_visible()
922
*- - diguyCharacter::start_appearance_effect()
923
*- - diguyCharacter::stop_appearance_effect()
924
*- - diguyApp::set_precompute_quaternions_enabled()
925
*- - diguyApp::get_precompute_quaternions_enabled()
926
*- - diguyApp::set_num_rendering_passes()
927
*- - diguyApp::get_num_rendering_passes()
928
*<
929
*- - The following deprecated functions were removed:
930
*>
931
*- - diguyApp::set_use_varsets_enabled()
932
*- - diguyApp::get_use_varsets_enabled()
933
*- - diguyCharacterGroup::set_all_members_t()
934
*<
935
** \subsubsection v712api Version 7.1.12
936
**
937
*- - Added new functions to diguyCharacter:
938
*>
939
*- - diguyCharacter::set_position_to_other_character_position()
940
*- - diguyCharacter::set_desired_position_to_current_position()
941
*- - diguyCharacter::set_desired_position_to_waypoint()
942
*- - diguyCharacter::set_desired_position_to_path_waypoint()
943
*- - diguyCharacter::set_desired_position_to_path_shape_waypoint()
944
*- - diguyCharacter::find_guide()
945
*<
946
** \subsubsection v711api Version 7.1.11
947
**
948
*- - The following functions were added to diguySensorRegion that
949
*- make it easier to write callback handlers for sensor regions:
950
*>
951
*- - get_autosense_callback_candidate_entered()
952
*- - get_autosense_callback_candidate_left()
953
*<
954
*- - Characters now fire live rounds by default when
955
*- diguyCharacter::fire_weapon() is called. THIS IS A CHANGE
956
*- FROM PREVIOUS DEFAULT BEHAVIOR.
957
*- The old behavior can be restored in two ways:
958
*>
959
*- - In DI-Guy Scenario, the Weapon Params tab on the Character
960
*- Elements palette has a checkbox called "Weapon Fires Live
961
*- Rounds". The checkbox can be unchecked, followed by pressing
962
*- the "Copy to All Characters" button.
963
*- - In a program using the DI-Guy API, the function
964
*- diguyCharacter::set_weapon_fires_live_rounds() can be called.
965
*<
966
*- - Character Labels Visibility is now set to 'None' in the default
967
*- .dss file.
968
*- - Added function to diguyCharacterGuide:
969
*>
970
*- - diguyCharacterGuide::remove_all_disabled_guides()
971
*<
972
*- - Made the following functions available to Decision Beads and Decision
973
*- Events:
974
*>
975
*- - diguyCharacter::remove_all_guides()
976
*- - diguyCharacter::remove_all_disabled_guides()
977
*<
978
*- - Removed DI-Guy Graphics API programming example
979
*- ogl_examples_high_precision/simple_playback_high_precision.
980
*- Replaced it with streamlined example
981
*- ogl_examples/simple_playback_far_positions.
982
*- - Fixed problem with props/scene objects showing up at origin
983
*- in after-action review.
984
**
985
** \subsubsection v7110api Version 7.1.10
986
**
987
*- - Fixed a problem with the DI-Guy Graphics API that prevented
988
*- textures on some characters from being correctly bound under
989
*- certain circumstances.
990
**
991
** \subsubsection v719api Version 7.1.9
992
**
993
*- - The following optional functions were added to plugins:
994
*>
995
*- - void key_press()
996
*- - void key_release()
997
*<
998
*- - Added diguyIGuyController class for C++ and script control over
999
*- the I-Guy character.
1000
*- - Setting the dead reckoning time threshold is now done by setting the
1001
*- variable time_threshold in the network.cfg file. The variable
1002
*- tick_period has been deprecated and will no longer have any effect.
1003
*- The default value is 5 seconds.
1004
**
1005
** \subsubsection v718api Version 7.1.8
1006
**
1007
*- - Added callback and event handling support for scenario variables:
1008
*>
1009
*- - diguyScenario::add_default_variable_callback()
1010
*- - diguyScenario::remove_default_variable_callback()
1011
*- - diguyScenario::remove_default_variable_callback_with_user_data()
1012
*- - diguyScenario::add_default_variable_callback_script()
1013
*- - diguyScenario::remove_default_variable_callback_script()
1014
*- - diguyScenario::register_variable_event_handler()
1015
*- - diguyScenario::register_variable_event_handler_from_library()
1016
*- - diguyScenario::register_variable_event_handler_script()
1017
*- - diguyScenario::has_registered_variable_event_handler()
1018
*- - diguyScenario::unregister_variable_event_handler()
1019
*- - diguyVariable::CALLBACK_ID_VALUE_CHANGED
1020
*- - diguyVariable::add_callback()
1021
*- - diguyVariable::remove_callback()
1022
*- - diguyVariable::remove_callback_with_user_data()
1023
*- - diguyVariable::add_callback_script()
1024
*- - diguyVariable::remove_callback_script()
1025
*- - diguyVariable::map_event_handler_to_callback_id()
1026
*- - diguyVariable::unmap_event_handler_from_callback_id()
1027
*<
1028
** \subsubsection v717api Version 7.1.7
1029
**
1030
*- - Added parameters polygon_offset_factor and polygon_offset_units
1031
*- to bdiGraphicsInitOgl structure to allow for better control
1032
*- over subface rendering in OpenGL.
1033
*- - Addressed some issues with diguyGraphicsLink and far positions.
1034
**
1035
** \subsubsection v716api Version 7.1.6
1036
**
1037
*- - Added functions to diguySensorRegion:
1038
*>
1039
*- - diguySensorRegion::contains_character_from_group()
1040
*<
1041
*- - Added experimental functions
1042
*- diguyScenario::create_temporary_character() and
1043
*- diguyCharacter::get_is_temporary(). These functions allow
1044
*- for the creation of 'temporary' characters that are not saved
1045
*- in a .dss file and are recycled on scenario reset. Temporary
1046
*- characters are useful as fired munitions, effects, etc.
1047
*- - Added functions to diguyCharacterGuide:
1048
*>
1049
*- - diguyCharacterGuide::get_position_acquired()
1050
*- - diguyCharacterGuide::get_orientation_acquired()
1051
*<
1052
*- - Added new callbacks to diguyCharacter:
1053
*>
1054
*- - diguyCharacter::CALLBACK_ID_GUIDE_POSITION_ACQUIRED
1055
*- - diguyCharacter::CALLBACK_ID_GUIDE_POSITION_UNACQUIRED
1056
*- - diguyCharacter::CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED
1057
*- - diguyCharacter::CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED
1058
*- - diguyCharacter::CALLBACK_ID_CURRENT_TOUT_REACHED
1059
*<
1060
*- - Added function diguyCharacter::set_custom_orientation_rx_and_ry().
1061
*- This function allows the roll and pitch components of a
1062
*- character to be set without taking the character off of its
1063
*- current path, if there is one. The character's up vector
1064
*- (as set by diguyCharacter::set_up_vector()) must be 'c'
1065
*- (custom) for these values to have an effect.
1066
*- - Added new distance calculation functions:
1067
*>
1068
*- - diguyCharacter::get_distance_to_character()
1069
*- - diguyCharacter::get_distance_xy_to_character()
1070
*- - diguyCharacter::get_distance_to_path()
1071
*<
1072
*- - Added new experimental functions for locating a nearby character.
1073
*- These functions have a check_visibility argument; if 1, the
1074
*- function will do a simple ray trace against scene object geometry.
1075
*>
1076
*- - diguyCharacter::get_nearest_active_character()
1077
*- - diguyCharacter::get_nearest_active_character_in_group()
1078
*<
1079
*- - Added diguySensorRegion::contains_character_by_type()
1080
*- - Added diguyCharacter::force_local_path() new function that
1081
*- can grab a preexisting path. copy and transform it into the
1082
*- local space of the character and switch to it.
1083
*- - Removed function diguy_dis_get_action_from_entity_state() from
1084
*- diguy_module_dis.h. diguyCharacter::get_action_from_entity_state()
1085
*- should be called instead to map DIS values to an action.
1086
**
1087
** \subsubsection v715api Version 7.1.5
1088
**
1089
*- - Added experimental transformation functions for paths:
1090
*>
1091
*- - diguyCharacterPath::translate()
1092
*- - diguyCharacterPath::rotate_about_point()
1093
*- - diguyPathShape::translate()
1094
*- - diguyPathShape::rotate_about_point()
1095
*<
1096
*- - Added experimental performance tuning functions:
1097
*>
1098
*- - diguyScenario::send_character_to_recycle_bin()
1099
*- - diguyScenario::retrieve_character_from_recycle_bin()
1100
*<
1101
*- - Deprecated experimental performance tuning functions:
1102
*>
1103
*- - diguyApp::set_use_varsets_enabled()
1104
*- - diguyApp::get_use_varsets_enabled()
1105
*<
1106
** \subsubsection v714api Version 7.1.4
1107
**
1108
*- - Added function diguyCharacterPath::get_path_shape(), that
1109
*- provides access to a path's underlying path shape.
1110
*- - Added functions diguyCharacter::get_nearest_active_character()
1111
*- and diguyCharacter::get_nearest_active_character_in_group().
1112
*- These functions will walk through either all characters or all
1113
*- characters in a group, and return the nearest character that is
1114
*- both alive and enabled. An optional argument specifies whether
1115
*- to skip characters that are invisible to the caller because a
1116
*- scene object is in the way.
1117
*- - Added convenience functions diguyCharacter::get_distance() and
1118
*- diguyCharacter::get_distance_xy() for getting the distance
1119
*- between two characters.
1120
**
1121
** \subsubsection v713api Version 7.1.3
1122
**
1123
*- - Deprecated diguyChainSimulation::set_connection_character()
1124
*- function. Replaced with
1125
*- diguyChainSimulation::set_chain_mass_connection_character().
1126
*- - Added ability to set all chain mass positions in the
1127
*- call diguyChainSimulation::set_chain_mass_position()
1128
*- by passing -1 for the chain_mass_index.
1129
*- - Added ability to fix all chain mass positions in the
1130
*- call diguyChainSimulation::set_chain_mass_position_is_fixed()
1131
*- by passing -1 for the chain_mass_index.
1132
*- - Added aiming ability for characters with turrets.
1133
*- - Fixed problems with debug versions of programming examples
1134
*- that caused heap corruption on some Windows systems.
1135
**
1136
** \subsubsection v712api Version 7.1.2
1137
**
1138
*- - Added new callback to diguyCharacter:
1139
*>
1140
*- - diguyCharacter::CALLBACK_ID_DESIRED_ACTION_REACHED
1141
*<
1142
** \subsubsection v711api Version 7.1.1
1143
**
1144
*- - Added a new experimental character type called "chain_simulation"
1145
*- that can do realtime simulation of chains, ropes, and hoses.
1146
*- The appearance of the chain_simulation character determines its
1147
*- simulation settings. Chain simulation settings are created and
1148
*- on the DI-Guy Scenario Chain Sim Settings page, or via the
1149
*- diguyChainSettings class. Runtime parameters of the chain
1150
*- simulation are set by obtaining a diguyChainSimulation object
1151
*- via the diguyCharacter::get_chain_simulation() call.
1152
*- - Fixed issues with diguyCharacter::set_current_appearance().
1153
*- 0 was returned even if appearance change failed; not correctly
1154
*- returns -1 on failure.
1155
*- - Added new experimental functions to event bead classes. These
1156
*- functions make it possible to specify that event beads should
1157
*- begin and/or when a specific action bead or waypoint is reached.
1158
*- Members are:
1159
*>
1160
*- - diguyCharacterPathAimBead::get_begin_at_object_name()
1161
*- - diguyCharacterPathAimBead::set_begin_at_object_name()
1162
*- - diguyCharacterPathAimBead::get_end_at_object_name()
1163
*- - diguyCharacterPathAimBead::set_end_at_object_name()
1164
*- - diguyCharacterPathDecisionBead::get_begin_at_object_name()
1165
*- - diguyCharacterPathDecisionBead::set_begin_at_object_name()
1166
*- - diguyCharacterPathDecisionBead::get_end_at_object_name()
1167
*- - diguyCharacterPathDecisionBead::set_end_at_object_name()
1168
*- - diguyCharacterPathGazeBead::get_begin_at_object_name()
1169
*- - diguyCharacterPathGazeBead::set_begin_at_object_name()
1170
*- - diguyCharacterPathGazeBead::get_end_at_object_name()
1171
*- - diguyCharacterPathGazeBead::set_end_at_object_name()
1172
*- - diguyCharacterPathScriptBead::get_begin_at_object_name()
1173
*- - diguyCharacterPathScriptBead::set_begin_at_object_name()
1174
*- - diguyCharacterPathScriptBead::get_end_at_object_name()
1175
*- - diguyCharacterPathScriptBead::set_end_at_object_name()
1176
*<
1177
*- - Function diguyApp::load_plugin() has three new optional arguments:
1178
*- required_by_scenario, unload_on_scenario_close, and
1179
*- accepts_mouse_input.
1180
*- - Added functions to diguyImpact:
1181
*>
1182
*- - diguyImpact::get_location_in_link_coordinates()
1183
*<
1184
*- - Added functions to diguyScenario:
1185
*>
1186
*- - diguyScenario::get_impact_at_screen_coords()
1187
*<
1188
*- - Added functions to diguyCharacter:
1189
*>
1190
*- - diguyCharacter::set_label_text_shadow_color()
1191
*- - diguyCharacter::get_label_text_shadow_color()
1192
*- - diguyCharacter::set_label_text_shadow_is_visible()
1193
*- - diguyCharacter::get_label_text_shadow_is_visible()
1194
*<
1195
*- - Character label information is now saved in the scenario
1196
*- file and restored when the scenario is loaded.
1197
**
1198
** \subsubsection v710api Version 7.1.0
1199
**
1200
*- - Added function diguy_get_app(), a cleaner function for
1201
*- retrieving the diguyApp object than diguyApp::get_app().
1202
*- - Added experimental transformation functions for paths:
1203
*>
1204
*- - diguyCharacter::translate_all_paths()
1205
*- - diguyCharacter::rotate_all_paths_about_point()
1206
*- - diguyCharacter::rotate_all_paths_about_current_waypoint()
1207
*- - diguyCharacterGroup::translate_all_paths()
1208
*- - diguyCharacterGroup::rotate_all_paths_about_point()
1209
*- - diguyCharacterGroup::rotate_all_paths_about_current_waypoint()
1210
*<
1211
*- - Added functions diguyApp::get_diguy_base_dir() and
1212
*- diguyApp::get_diguy_subdir().
1213
*- - Added diguyCharacter::get_parent() function.
1214
*- - Added diguyViewLight::set_shadowmap_size() and
1215
*- diguyViewLight::get_shadowmap_size(); allows setting shadow
1216
*- map resolution.
1217
*- Must be a power of 2.
1218
*- - Made various internal performance enhancements for scenario
1219
*- updates.
1220
*- - Fixed a problem with motion LODs updating all links every
1221
*- now and then, even if the current action hasn't changed.
1222
*- - Made the scenario be able to go past 60000 seconds. Now a
1223
*- scenario tout greater than 60000 seconds is interpreted as
1224
*- unlimited.
1225
*- - Fixed a problem with motion LODs updating too many links.
1226
*- - Made various internal performance enhancements for scenario
1227
*- updates.
1228
*- - Added performance tuning functions:
1229
*>
1230
*- - diguyCharacter::set_automatic_cpl_switching_enabled()
1231
*- - diguyCharacter::get_automatic_cpl_switching_enabled()
1232
*- - diguyCharacter::set_minimum_cpl()
1233
*- - diguyCharacter::get_minimum_cpl()
1234
*- - diguyCharacter::get_maximum_possible_current_cpl()
1235
*- - diguyCharacter::maximize_current_cpl()
1236
*- - diguyCharacter::get_current_cpl()
1237
*- - diguyCharacter::set_position_accumulation_disabled()
1238
*- - diguyCharacter::get_position_accumulation_disabled()
1239
*- - diguyCharacter::set_all_blends_disabled()
1240
*- - diguyCharacter::get_all_blends_disabled()
1241
*- - diguyCharacter::set_shape_switches_disabled()
1242
*- - diguyCharacter::get_shape_switches_disabled()
1243
*- - diguyCharacter::set_shape_callbacks_disabled()
1244
*- - diguyCharacter::get_shape_callbacks_disabled()
1245
*- - diguyCharacter::set_graphics_api_shape_update_disabled()
1246
*- - diguyCharacter::get_graphics_api_shape_update_disabled()
1247
*- - diguyCharacter::optimized_update()
1248
*- - diguyScenario::optimized_update()
1249
*- - diguyScenario::send_character_to_recycle_bin()
1250
*- - diguyScenario::retrieve_character_from_recycle_bin()
1251
*- - diguyGraphicsLink::get_data_ptr()
1252
*- - diguyGraphicsLink::get_translation_data_index()
1253
*- - diguyGraphicsLink::get_rotation_data_index()
1254
*- - diguyGraphicsLink::get_scale_data_index()
1255
*- - diguyGraphicsLink::get_quat_data_ptr()
1256
*- - diguyGraphicsLink::get_quat_data_index()
1257
*- - diguyApp::set_use_varsets_enabled()
1258
*- - diguyApp::get_use_varsets_enabled()
1259
*- - diguyApp::set_precompute_quaternions_enabled()
1260
*- - diguyApp::get_precompute_quaternions_enabled()
1261
*<
1262
** \subsubsection v709api Version 7.0.9
1263
**
1264
*- - Rewrote portions of network mapping code, custom pdus/specialized
1265
*- motions will now work with more characters.
1266
*- This requires a new version of data, but any character that has
1267
*- been properly tagged with variants and postures should transmit
1268
*- better.
1269
*- - Rewrote speed code, networked characters should scale speed to
1270
*- try and match packets that are coming in.
1271
**
1272
** \subsubsection v708api Version 7.0.8
1273
**
1274
*- - Trying to get the position of a invalid link will behave a bit
1275
*- better.
1276
**
1277
** \subsubsection v706api Version 7.0.6
1278
**
1279
*- - Creating a path when a character has none will properly set
1280
*- the initial path name.
1281
**
1282
** \subsubsection v705api Version 7.0.5
1283
**
1284
*- - Fixed a crash that sometimes happened while reading comments
1285
*- out of texture .attr files.
1286
**
1287
** \subsubsection v703api Version 7.0.3
1288
**
1289
*- - Fixed a problem with the diguyGraphicsShape::update() function not
1290
*- always being called.
1291
*- - Fixed various bugs with VR-Link and DI-Guy time sync code.
1292
*- - Added warning if diguyCharacter::set_desired_action() is called
1293
*- with 0.0f as the speed.
1294
**
1295
** \subsubsection v702 Version 7.0.2
1296
**
1297
*- - Fixed a problem with gazing and aiming not zeroing in on the
1298
*- correct positions when using DI-Guy for Vega.
1299
**
1300
** \subsubsection v701 Version 7.0.1
1301
**
1302
*- - Deprecated "named_callback" functions in diguyApp. Event handler
1303
*- functions should be used instead.
1304
*- - Renamed some diguyViewCamera functions:
1305
*>
1306
*- - diguyViewCamera::get_world_offset_position() has become
1307
*- diguyViewCamera::get_segment_origin()
1308
*- - diguyViewCamera::get_local_position() has become
1309
*- diguyViewCamera::get_position_segment_offset()
1310
*- - diguyViewCamera::get_local_fix() has become
1311
*- diguyViewCamera::get_fix_segment_offset()
1312
*<
1313
*- - Added function diguyCharacterGroup::update_all_members(), and
1314
*- deprecated function diguyCharacterGroup::set_all_members_t()
1315
*- - Fixed problem with deleting one scenario and creating another
1316
*- causing a crash.
1317
*- - Fixed crash problem with function diguy_set_cfg_file().
1318
*- - Changed the default settings of automatic switching of graphics
1319
*- LODs and motion LODs, as set by
1320
*- diguyScenario::set_automatic_graphics_lod_switching() and
1321
*- diguyScenario::set_automatic_motion_lod_switching(). Previously
1322
*- automatic LOD switching was always enabled unless explicitly
1323
*- disabled by calling the above functions. Now automatic LOD
1324
*- switching will be disabled by default in DI-Guy API applications,
1325
*- but remain enabled by default in DI-Guy Scenario.
1326
*- - Added the following functions for adding and removing appearances:
1327
*>
1328
*- - diguyScenario::add_appearance()
1329
*- - diguyScenario::add_appearance_based_on_existing_appearance()
1330
*- - diguyScenario::remove_appearance()
1331
*<
1332
*- - diguyScenario::add_custom_appearance() deprecated;
1333
*- use diguyScenario::add_appearance().
1334
*- - diguyScenario::add_custom_appearance_based_on_existing_appearance()
1335
*- deprecated; use
1336
*- diguyScenario::add_appearance_based_on_existing_appearance().
1337
*- - Promoted the following functions from experimental to
1338
*- official status:
1339
*>
1340
*- - diguyCharacter::get_label_text()
1341
*- - diguyCharacter::set_label_text()
1342
*- - diguyCharacter::get_label_is_visible()
1343
*- - diguyCharacter::set_label_is_visible()
1344
*- - diguyCharacter::set_label_text_color()
1345
*- - diguyCharacter::get_label_text_color()
1346
*- - diguyCharacter::set_label_background_color()
1347
*- - diguyCharacter::get_label_background_color()
1348
*<
1349
*- - Removed diguyLoadManager camera functions (load manager camera
1350
*- now always tracks the scenario's primary view camera):
1351
*>
1352
*- - diguyLoadManager::add_camera()
1353
*- - diguyLoadManager::add_view_camera()
1354
*- - diguyLoadManager::move_camera()
1355
*- - diguyLoadManager::change_view_camera_settings()
1356
*- - diguyLoadManager::remove_camera()
1357
*- - diguyLoadManager::remove_all_cameras()
1358
*<
1359
** \subsubsection v700 Version 7.0.0
1360
**
1361
*- - Fixed problem with diguyCharacter::set_speed(). The set speed
1362
*- was being reset to the action's default speed after a short time,
1363
*- which is not correct behavior.
1364
*- - Changed values returned by diguyCharacter::get_aim_azimuth()
1365
*- and diguyCharacter::get_aim_elevation() to be character-
1366
*- relative rather than world-relative.
1367
**
1368
** \subsubsection v6110 Version 6.1.10
1369
**
1370
*- - Fixed event propagation bug when event tout is -1 and scenario
1371
*- tout is changed.
1372
*- - Added optional actor argument to
1373
*- diguyScenario::add_custom_appearance() function. This
1374
*- fixes a problem with characters not being able to switch
1375
*- to custom appearances with
1376
*- diguyCharacter::set_current_appearance() because of actors
1377
*- being different.
1378
*- - Added simple_playback_high_precision and view_far_position that
1379
*- demonstrate off the use of high precision position values.
1380
**
1381
** \subsubsection v619 Version 6.1.9
1382
**
1383
*- - Fixed problem with various diguyWaypoint "get" functions
1384
*- that return angles (e.g., diguyWaypoint::get_yaw_in());
1385
*- they weren't properly returning angles in degrees.
1386
*- - Fixed problem with merging scenarios: merged waypoints at
1387
*- the origin were not being rotated correctly.
1388
*- - Fixed problem with config file appearance syntax. The
1389
*- item "shapeset:shape" format caused a crash; it now works
1390
*- again.
1391
*- - Fixed problems with required plug-in list not saving or
1392
*- resetting properly.
1393
**
1394
** \subsubsection v618 Version 6.1.8
1395
**
1396
*- - Far positions rendering are now off by default, though
1397
*- DI-Guy Scenario and DI-Guy Scenario UI V6 turn them on.
1398
*- Practically this means that while internally things are
1399
*- done at a higher precision format, the render camera being
1400
*- in local space will be a change that needs to be explicitly
1401
*- asked for.
1402
*- - Added the following functions for controlling far position
1403
*- state:
1404
*>
1405
*- - diguy_ogl_get_use_far_positions()
1406
*- - diguy_ogl_set_use_far_positions()
1407
*- - diguy_graphics_get_use_far_positions()
1408
*- - diguy_graphics_set_use_far_positions()
1409
*<
1410
*- - Added accessors for setting character and scene object culling
1411
*- on/off.
1412
*>
1413
*- - diguyScenario::set_character_culling_enabled()
1414
*- - diguyScenario::get_character_culling_enabled()
1415
*- - diguyScenario::set_scene_object_culling_enabled()
1416
*- - diguyScenario::get_scene_object_culling_enabled()
1417
*<
1418
*- - Added accessors for setting character and scene object bounding
1419
*- volume visualization on/off. (only works for OpenGL)
1420
*>
1421
*- - diguyScenario::set_character_visualize_bounds_enabled()
1422
*- - diguyScenario::get_character_visualize_bounds_enabled()
1423
*- - diguyScenario::set_scene_object_visualize_bounds_enabled()
1424
*- - diguyScenario::get_scene_object_visualize_bounds_enabled()
1425
*<
1426
*- - Fixed a bug with diguyCharacter::set_current_appearance().
1427
*- - Added warning message if a proposed appearance change is null;
1428
*- fixes crash bug.
1429
*- - diguyScenario::trigger_script_event() deprecated;
1430
*- use diguyScenario::trigger_script().
1431
*- - Added function diguyScenario::trigger_decision().
1432
**
1433
** \subsubsection v617 Version 6.1.7
1434
**
1435
*- - Added new experimental functions. (Experimental
1436
*- functions are typically for probationary features whose final
1437
*- functionality or API has not been fully worked out.)
1438
*>
1439
*- - diguyCharacter::set_weapon_projectile_is_visible()
1440
*- - diguyCharacter::get_weapon_projectile_is_visible()
1441
*- - diguyCharacter::get_label_text()
1442
*- - diguyCharacter::set_label_text()
1443
*- - diguyCharacter::get_label_is_visible()
1444
*- - diguyCharacter::set_label_is_visible()
1445
*- - diguyCharacter::set_label_text_color()
1446
*- - diguyCharacter::get_label_text_color()
1447
*- - diguyCharacter::set_label_background_color()
1448
*- - diguyCharacter::get_label_background_color()
1449
*- - diguyScenario::find_character_at_screen_coords()
1450
*- - diguyScenario::set_playback_mode()
1451
*- - diguyScenario::set_playback_mode_stop()
1452
*- - diguyScenario::set_playback_mode_play()
1453
*<
1454
*- - Removed the function diguyLoadManager::set_enable_culling().
1455
*- - Added optional arguments initial_posture and initial_variant
1456
*- to diguyScenario::set_iguy_character().
1457
*- - Added function diguyScenario::get_time_of_day().
1458
*- - Fixed bug in diguyCharacter::is_speaking(). It was
1459
*- sometimes improperly returning FALSE.
1460
*- - Added the following functions that control whether the scenario
1461
*- will be reset (as if diguyScenario::reset() were called) when
1462
*- a merge happens:
1463
*>
1464
*- - diguyScenarioMergeSettings::set_reset_flag()
1465
*- - diguyScenarioMergeSettings::get_reset_flag()
1466
*<
1467
*- - Now incoming XC_MERGE_SCENARIO PDUs do not cause the running
1468
*- scenario to stop and reset.
1469
*- - Now incoming XC_MERGE_SCENARIO PDUs cause a
1470
*- XC_MERGE_SCENARIO_COMPLETE PDU to be sent when the merge
1471
*- operation is done.
1472
*- - Now incoming XC_LOAD_SCENARIO PDUs cause a
1473
*- XC_LOAD_SCENARIO_COMPLETE PDU to be sent when the load
1474
*- operation is complete.
1475
*- - Added the following functions:
1476
*>
1477
*- - diguyExerciseInterface::send_pdu_xc_eval_script()
1478
*- - diguyExerciseInterface::send_pdu_xc_time_now()
1479
*<
1480
*- - Now incoming XC_TIME_NOW messages cause the scenario to chase
1481
*- sync.
1482
*- - Now incoming XC_EVAL_SCRIPT messages cause the script therein
1483
*- to be evaluated.
1484
*- - diguyScenario::load() has been changed to not accept .flt
1485
*- filenames. The new function diguyScenario::create_scene_object()
1486
*- should be used instead.
1487
*- - Added the following functions:
1488
*>
1489
*- - diguyScenario::create_scene_object()
1490
*- - diguyScenario::destroy_scene_object()
1491
*<
1492
*- - Fixed problem with DX99 version of the library that prevented
1493
*- gazing from working correctly.
1494
*- - Added better detection of and error message for missing
1495
*- DI-Guy Data installation.
1496
*- - Renamed experimental "shot" class, function names, and
1497
*- callback ids to use the more generic term "impact":
1498
*>
1499
*- - diguyShot
1500
*>
1501
*- - diguyShot (class name) -> diguyImpact
1502
*- - get_shooter_name() -> get_attacker_name()
1503
*- - get_shooter() -> get_attacker()
1504
*- - get_shot_number() -> get_impact_number()
1505
*- - set_shot_number() -> set_impact_number()
1506
*- - get_shot_been_processed() -> get_impact_been_processed()
1507
*- - set_shot_been_processed() -> set_impact_been_processed()
1508
*<
1509
*- - diguyCharacter
1510
*>
1511
*- - CALLBACK_ID_GOT_SHOT -> CALLBACK_ID_IMPACT
1512
*- - CALLBACK_ID_SHOT_SUCCESS -> CALLBACK_ID_FIRE_WEAPON_SUCCESS
1513
*- - get_last_shot_record() -> get_last_impact_record()
1514
*- - get_last_shot_number() -> get_last_impact_number()
1515
*- - get_last_shot_been_processed() -> get_last_impact_been_processed()
1516
*- - set_last_shot_been_processed() -> set_last_impact_been_processed()
1517
*- - get_last_shot_link() -> get_last_impact_link()
1518
*- - get_last_shot_link_is() -> get_last_impact_link_is()
1519
*- - set_max_shot_hits() -> set_max_impact_hits()
1520
*<
1521
*- - diguyScenario
1522
*>
1523
*- - CALLBACK_ID_ENVIRONMENTAL_DETONATION -> CALLBACK_ID_SCENE_OBJECT_IMPACT
1524
*- - get_last_env_shot_info() -> get_last_env_impact_info()
1525
*<
1526
*<
1527
*- - Added function diguyExerciseInterface::send_pdu_xc_time_now().
1528
*- - Added code to properly respond to incoming XC_TIME_NOW PDUs.
1529
**
1530
** \subsubsection v616 Version 6.1.6
1531
**
1532
*- - Added functions and diguyExerciseInterface class for
1533
*- enhanced networking support:
1534
*>
1535
*- - diguyApp::get_exercise_interface()
1536
*- - diguyExerciseInterface::send_pdu_xc_load_scenario()
1537
*- - diguyExerciseInterface::send_pdu_xc_merge_scenario()
1538
*- - diguyExerciseInterface::send_pdu_xc_trigger_script()
1539
*- - diguyExerciseInterface::send_pdu_xc_control()
1540
*- - diguyScenario::set_tin_time_of_day()
1541
*- - diguyScenario::get_tin_time_of_day()
1542
*<
1543
*- - Added new functions diguyView::get_width() and
1544
*- diguyView::get_height().
1545
*- - Experimental plugin infrastructure has been reworked a fair amount.
1546
*>
1547
*- - Function diguyScenario::add_plugin() has been changed to
1548
*- diguyApp::load_plugin().
1549
*- - Function diguyScenario::remove_plugin() has been changed to
1550
*- diguyApp::unload_plugin().
1551
*- - The following functions will be imported when a plugin
1552
*- is loaded. Note that not only diguy_version() must be
1553
*- implemented:
1554
*>
1555
*- - void diguy_version(int* version_major, int* version_minor, int* version_point)
1556
*- - void initialize_plugin(diguyApp* app)
1557
*- - void deinitialize_plugin(diguyApp* app)
1558
*- - void initialize(diguyScenario* s)
1559
*- - void deinitialize(diguyScenario* s)
1560
*- - void pre_update(diguyScenario* s)
1561
*- - void post_update(diguyScenario* s)
1562
*- - void pre_draw(diguyScenario* s)
1563
*- - void post_draw(diguyScenario* s)
1564
*- - void reset(diguyScenario* s)
1565
*- - diguyPluginMouseCursor get_mouse_cursor(diguyScenario* s)
1566
*- - void mouse_press(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
1567
*- - void mouse_drag(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
1568
*- - void mouse_release(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
1569
*- - void mouse_move(diguyScenario* s, diguyPluginMouseEvent* mouse_event)
1570
*- - void save_review_data(diguyScenario* s, const char* filename)
1571
*- - void load_review_data(diguyScenario* s, const char* filename)
1572
*<
1573
*<
1574
*- - Added an additional argument, merge_settings, to the
1575
*- diguyScenario::merge() function.
1576
*- - Added the following functions to enable better control of
1577
*- merging scenarios:
1578
*>
1579
*- - diguyScenario::create_merge_settings()
1580
*- - diguyScenario::destroy_merge_settings()
1581
*<
1582
*- - Added the following functions:
1583
*>
1584
*- - diguyCharacter::revive_now()
1585
*<
1586
*- - Added the following functions in support of 3D positional sound:
1587
*>
1588
*- - diguyCharacter::set_default_weapon_sound()
1589
*- - diguyCharacter::get_default_weapon_sound()
1590
*- - diguyCharacter::set_default_weapon_sound_gain()
1591
*- - diguyCharacter::get_default_weapon_sound_gain()
1592
*- - diguyCharacter::play_3d_sound()
1593
*- - diguySoundInstance::set_is_3d_sound_flag()
1594
*- - diguySoundInstance::get_is_3d_sound_flag()
1595
*<
1596
*- - Added new optional argument "gain" to diguyCharacter::play_sound()
1597
*- function.
1598
*- - Made following functions available to Decision Beads and Decision
1599
*- Events:
1600
*>
1601
*- - diguyCharacter::aim_at_character()
1602
*- - diguyCharacter::end_aim()
1603
*- - diguyCharacter::end_gaze()
1604
*- - diguyCharacter::end_lpoint()
1605
*- - diguyCharacter::gaze_at_character()
1606
*- - diguyCharacter::lpoint_at_character()
1607
*- - diguyCharacter::resume_interrupted_path()
1608
*- - diguyCharacter::play_3d_sound()
1609
*<
1610
*- - Removed unused variable "working_directory" from bdiExFaceInit
1611
*- structure. Replaced with variable "placeholder", leaving the
1612
*- option open for future init variables. Calls passing NULL for
1613
*- the bdiExFaceInit structure to diguy_exface_initialize() will
1614
*- not need to change.
1615
*- - Fixed problem with Decision Bead that incorrectly put function
1616
*- variable_less_than_string() in variable query functions instead
1617
*- of character query functions.
1618
*- - Added script_type argument to diguyScenario::eval_script() and
1619
*- diguyScenario::eval_script_file() functions.
1620
**
1621
** \subsubsection v615 Version 6.1.5
1622
**
1623
*- - Fixed problem that newly created characters were not
1624
*- appearing until the next scenario tick dt boundary was
1625
*- crossed.
1626
*- - diguyCharacter::set_t() deprecated;
1627
*- use diguyCharacter::update().
1628
*- - Added new function diguyCharacterPath::get_length().
1629
*- - Fixed potential crash from call to function
1630
*- diguyCharacterPath::update().
1631
*- - Character positions now stored in higher precision format.
1632
*>
1633
*- - Added new functions:
1634
*>
1635
*- - diguyCharacter::set_position_double()
1636
*- - diguyCharacter::get_position_double()
1637
*- - diguyCharacter::get_link_position_double()
1638
*- - diguyCharacter::get_link_position_with_offset_double()
1639
*- - diguyGraphicsLink::get_translation_double()
1640
*- - diguyViewCamera::get_position_double()
1641
*<
1642
*- - New local space camera. DI-Guy can now render in the local
1643
*- space of the camera. This allows DI-Guy to avoid putting
1644
*- large values on the rendering stack, avoiding numerical
1645
*- imprecision on objects that are far from the origin.
1646
*- - Added new local space camera functions:
1647
*>
1648
*- - diguyScenario::set_render_camera()
1649
*- - diguyViewCamera::get_local_fix()
1650
*- - diguyViewCamera::get_local_position()
1651
**
1652
** In OpenGL, use gluLookAt(local_position_x, local_position_y,
1653
** local_position_z, local_fix_x, local_fix_y, local_fix_z,
1654
** 0.0, 0.0, 1.0); to emulate the DI-Guy camera.
1655
*<
1656
*<
1657
** \subsubsection v614 Version 6.1.4
1658
**
1659
*- - Added new function diguyGraphicsShape::get_is_hidden().
1660
*- - Added new functions to diguyCharacterGroup class:
1661
*>
1662
*- - diguyCharacterGroup::get_num_members()
1663
*- - diguyCharacterGroup::get_member_at_index()
1664
*<
1665
*- - Added new functions to diguySensorRegion class:
1666
*>
1667
*- - diguySensorRegion::add_characters_in_region_to_group()
1668
*- - diguySensorRegion::add_candidate_characters_in_region_to_group()
1669
*<
1670
*- - Removed unused functions from diguySensorRegion class:
1671
*>
1672
*- - diguySensorRegion::get_characters_in_region()
1673
*- - diguySensorRegion::update_characters_in_region()
1674
*- - diguySensorRegion::update_candidate_characters_in_region()
1675
*<
1676
** \subsubsection v613 Version 6.1.3
1677
**
1678
*- - Added new utility function diguy_convert_euler_angle_order().
1679
*- This function should help DI-Guy API users convert the DI-Guy
1680
*- standard Euler angle order of ZXY (yaw then roll then pitch)
1681
*- into other Euler angle orders.
1682
*- - Added new argument rampup_interval to function
1683
*- diguyCharacter::add_motion_texture(). This function makes it
1684
*- possible to more smoothly enter a motion texture. Previously
1685
*- the rampup was hard-coded to 0.2 seconds. If the function
1686
*- is to end existing motion textures, it also uses the passed
1687
*- rampup interval as the rampdown interval for ending the
1688
*- existing motion textures.
1689
*- - Fixed annoying error message that was printed when motion textures
1690
*- ended.
1691
*- - Added new variants that can be added to custom motions:
1692
*>
1693
*- - DIGUY_MOTION_VARIANT_MISC0
1694
*- - DIGUY_MOTION_VARIANT_MISC1
1695
*- - DIGUY_MOTION_VARIANT_MISC2
1696
*- - DIGUY_MOTION_VARIANT_MISC3
1697
*- - DIGUY_MOTION_VARIANT_MISC4
1698
*- - DIGUY_MOTION_VARIANT_MISC5
1699
*- - DIGUY_MOTION_VARIANT_MISC6
1700
*- - DIGUY_MOTION_VARIANT_MISC7
1701
*- - DIGUY_MOTION_VARIANT_MISC8
1702
*- - DIGUY_MOTION_VARIANT_MISC9
1703
*<
1704
** \subsubsection v612 Version 6.1.2
1705
**
1706
*- - Changed win32 programming examples so that when examples are
1707
*- compiled for different versions of LIBC (i586_md_debug as
1708
*- opposed to i586_md, for example), the object files will be
1709
*- placed in separate directories.
1710
*- - Added new function calls that will free memory allocated by
1711
*- the DI-Guy Graphics API loader once platform-specific objects
1712
*- have been created:
1713
*>
1714
*- - diguyGraphicsMaterial::free_loader_memory()
1715
*- - diguyGraphicsMesh::free_loader_memory()
1716
*- - diguyGraphicsState::free_loader_memory()
1717
*- - diguyGraphicsTexture::free_loader_memory()
1718
*<
1719
*- - Fixed a problem with gazing in which a character with orientation
1720
*- change enabled would do an extra shuffle to the left and back
1721
*- again when the character was already facing the gaze angle at
1722
*- gaze start.
1723
*- - Added new side-effects to characters that die, including those
1724
*- for which the diguyCharacter::die_now() function is called:
1725
*>
1726
*- - all aiming is ended
1727
*- - all gazing is ended
1728
*- - all pointing is ended
1729
*- - head nodding and shaking are stopped
1730
*- - all gestures are aborted
1731
*- - all sounds originated by the character are stopped
1732
*<
1733
*- - Added new function call limitations to dead characters. The
1734
*- following function calls will have no effect on dead characters:
1735
*>
1736
*- - diguyCharacter::add_motion_texture()
1737
*- - diguyCharacter::aim_at_angle()
1738
*- - diguyCharacter::aim_at_angle_local()
1739
*- - diguyCharacter::aim_at_character()
1740
*- - diguyCharacter::aim_at_point()
1741
*- - diguyCharacter::aim_at_point_local()
1742
*- - diguyCharacter::create_and_force_bridge_path()
1743
*- - diguyCharacter::execute_gesture()
1744
*- - diguyCharacter::execute_1stage_gesture()
1745
*- - diguyCharacter::execute_2stage_gesture()
1746
*- - diguyCharacter::execute_3stage_gesture()
1747
*- - diguyCharacter::fire_screen_space_bullet()
1748
*- - diguyCharacter::fire_weapon()
1749
*- - diguyCharacter::fire_weapon_n_times()
1750
*- - diguyCharacter::force_action()
1751
*- - diguyCharacter::force_action_and_path_shape()
1752
*- - diguyCharacter::force_action_with_duration()
1753
*- - diguyCharacter::force_partial_path()
1754
*- - diguyCharacter::force_path()
1755
*- - diguyCharacter::gaze_at_angle()
1756
*- - diguyCharacter::gaze_at_angle_local()
1757
*- - diguyCharacter::gaze_at_character()
1758
*- - diguyCharacter::gaze_at_point()
1759
*- - diguyCharacter::gaze_at_point_local()
1760
*- - diguyCharacter::lpoint_at_angle()
1761
*- - diguyCharacter::lpoint_at_angle_local()
1762
*- - diguyCharacter::lpoint_at_character()
1763
*- - diguyCharacter::lpoint_at_point()
1764
*- - diguyCharacter::lpoint_at_point_local()
1765
*- - diguyCharacter::nod_head()
1766
*- - diguyCharacter::play_sound()
1767
*- - diguyCharacter::push_path()
1768
*- - diguyCharacter::resume_interrupted_path()
1769
*- - diguyCharacter::set_aim()
1770
*- - diguyCharacter::set_desired_action()
1771
*- - diguyCharacter::set_nod()
1772
*- - diguyCharacter::shake_head()
1773
*<
1774
*- - Added diguyCharacterPath::get_point_at_distance() function that
1775
*- makes it possible to sample path points. The function is very
1776
*- similar to diguyPathShape::get_point_at_distance().
1777
*- - Changed diguyScenario::create_waypoint() function to take an
1778
*- additional argument. Waypoints created with the function can
1779
*- now have different initial weights for entering and leaving the
1780
*- waypoint.
1781
**
1782
** \subsubsection v611 Version 6.1.1
1783
**
1784
*- - Added new member function:
1785
*>
1786
*- - diguyLoadManager::remove_all_cameras()
1787
*<
1788
*- - Added new member functions to diguyVariable that allow for
1789
*- setting and getting the initial value of the variable, and
1790
*- for retrieving the scenario and/or character the variable
1791
*- belongs to:
1792
*>
1793
*- - diguyVariable::get_scenario()
1794
*- - diguyVariable::get_character()
1795
*- - diguyVariable::get_initial_value_as_int()
1796
*- - diguyVariable::get_initial_value_as_float()
1797
*- - diguyVariable::get_initial_value_as_string()
1798
*- - diguyVariable::set_initial_value_as_int()
1799
*- - diguyVariable::set_initial_value_as_float()
1800
*- - diguyVariable::set_initial_value_as_string()
1801
*<
1802
*- - Added character variables to characters. Character variables
1803
*- are almost exactly like scenario variables but are local to each
1804
*- character instead of being shared across the scenario. For
1805
*- example, all characters in a scenario could be given a variable
1806
*- named "panic_level" that tracks how panicked the character is.
1807
*- Character variables use the same class as scenario variables:
1808
*- diguyVariable. The following functions are available for
1809
*- accessing character variables:
1810
*>
1811
*- - diguyCharacter::get_num_variables()
1812
*- - diguyCharacter::get_variable_at_index()
1813
*- - diguyCharacter::find_variable()
1814
*- - diguyCharacter::find_or_create_variable()
1815
*- - diguyCharacter::destroy_variable()
1816
*- - diguyCharacter::variable_equal_to_int()
1817
*- - diguyCharacter::variable_greater_than_int()
1818
*- - diguyCharacter::variable_less_than_int()
1819
*- - diguyCharacter::variable_equal_to_float()
1820
*- - diguyCharacter::variable_greater_than_float()
1821
*- - diguyCharacter::variable_less_than_float()
1822
*- - diguyCharacter::variable_equal_to_string()
1823
*- - diguyCharacter::variable_greater_than_string()
1824
*- - diguyCharacter::variable_less_than_string()
1825
*<
1826
** \subsubsection v610 Version 6.1.0
1827
**
1828
*- - Added new functions to the DI-Guy Graphics API to make it easier
1829
*- to know which character links or shapes belong to, and to easily
1830
*- get a pointer to the character's base link:
1831
*>
1832
*- - diguyGraphicsLink::get_character()
1833
*- - diguyGraphicsShape::get_character()
1834
*- - diguyCharacter::get_position_link()
1835
*<
1836
*- - Added new function diguyGraphicsLink::get_transformation_matrix().
1837
*- This function provides access to the link transformation in matrix
1838
*- form rather than separate vectors for translation, rotation, etc.
1839
*- - Added new blend functions "StepHalfway" and "Waver". The
1840
*- "StepHalfway" blend function makes an instant step from 0 to 1
1841
*- halfway through the blend. The "Waver" blend function wavers from 0
1842
*- to 1 back to 0 and back to 1 using a three-quarter sine wave.
1843
*- - Added functions to diguyScenario API:
1844
*>
1845
*- - diguyScenario::get_character_type_num_gestures()
1846
*- - diguyScenario::get_character_type_gesture_at_index()
1847
*<
1848
*- - Added functions to diguyCharacterGesture API:
1849
*>
1850
*- - diguyCharacterGesture::force_table_action()
1851
*<
1852
** \subsubsection v608 Version 6.0.8
1853
**
1854
*- - Changed DI-Guy Graphics API to not print a warning if a geometry
1855
*- file is not found. This allows external loaders to load their
1856
*- own version of a geometry file without warnings, and without the
1857
*- file having to be present in $DIGUY/geometry.
1858
*- - Added function diguyCharacter::is_group_member().
1859
*- - For Windows, added the DI-Guy version number as a suffix to the
1860
*- .dll that gets installed in the bin directory.
1861
**
1862
** \subsubsection v606 Version 6.0.6
1863
**
1864
*- - Changed default for gaze parameter "orientation enabled for
1865
*- gaze". In DI-Guy 5.x this parameter defaulted to 0 for all
1866
*- characters except the sergeant. In earlier versions of 6.0 this
1867
*- was changed to "1 if character has turning actions, else 0".
1868
*- This change has, however, resulted in too much confusion and
1869
*- user astonishment. The new (and hopefully final) change
1870
*- is to default the parameter to 0 for *all* characters. This fixes
1871
*- a backwards incompatibility problem where some version 5 characters
1872
*- that were gazing would leave their path on version 6 and thus not
1873
*- complete the actions specified by their path.
1874
*- - Implemented function diguyCharacter::end_aim(). This function
1875
*- had been omitted from the DI-Guy API.
1876
*- - Fixed problem with initial value of scenario variables, where
1877
*- the integer value of each variable was initialized to zero,
1878
*- even if the intended initial value was nonzero.
1879
*- - Fixed problem when merging two scenarios with different
1880
*- values for tick dt. Decision beads, Script event beads, Aim
1881
*- beads and Gaze beads were being improperly scheduled.
1882
**
1883
** \subsubsection v605 Version 6.0.5
1884
**
1885
*- - Fixed diguyCharacter::get_aim_azimuth() and
1886
*- diguyCharacter::get_aim_elevation(). They were returning
1887
*- zero. Now they return meaningful values if the character is
1888
*- aiming.
1889
**
1890
** \subsubsection v604 Version 6.0.4
1891
**
1892
*- - DI-Guy can now use OpenGL's multitexturing mechanism. The
1893
*- OpenGL texture unit that DI-Guy will use can be set by
1894
*- setting the bdiGraphicsInitOgl::use_multitexture_extension
1895
*- and bdiGraphicsInitOgl::texture_unit initialization variables.
1896
**
1897
** \subsubsection v603 Version 6.0.3
1898
**
1899
*- - Fixed a problem with DI-Guy Graphics API functions not being
1900
*- correctly declared for DLL use.
1901
*- - Fixed a problem with calling path edit functions on a path
1902
*- that is in use. The change was not being fully propagated
1903
*- to the character's motions.
1904
*- - Eliminated GoThere camera instability at low frame rates.
1905
*- - Eliminated aiming instability at low frame rates and at low
1906
*- desired locate times.
1907
**
1908
** \subsubsection v602 Version 6.0.2
1909
**
1910
*- - No changes.
1911
**
1912
** \subsubsection v601 Version 6.0.1
1913
**
1914
*- - Fixed problem with motion scaling where the scale factor was
1915
*- being applied twice in some cases. (PR 3029)
1916
*- - Removed deprecated diguyCharacter functions:
1917
*>
1918
*- - diguyCharacter::force_action_by_name()
1919
*- - diguyCharacter::get_desired_action_name()
1920
*- - diguyCharacter::set_desired_action_by_name()
1921
*- - diguyCharacter::force_partial_path_by_name()
1922
*- - diguyCharacter::force_path_by_name()
1923
*- - diguyCharacter::push_path_by_name()
1924
*- - diguyCharacter::set_parent_by_name()
1925
*<
1926
*- - Removed deprecated diguySensorRegion function
1927
*- diguySensorRegion::contains_character_by_name().
1928
*- - Removed deprecated diguySignal function diguySignal::play_sound().
1929
*- - Removed deprecated diguyScenario function
1930
*- diguyScenario::find_or_create_face_expression().
1931
**
1932
** \subsubsection v600 Version 6.0.0
1933
**
1934
*- - Made aiming precise. Characters now actually aim at the
1935
*- targets specified by aim beads, rather than giving an
1936
*- approximation of proper aim.
1937
*- - Made aiming dynamic. Character aiming motion is now much more
1938
*- realistic, homing in on the specified target.
1939
*- - Added new diguyCharacter functions:
1940
*>
1941
*- - diguyCharacter::aim_at_angle()
1942
*- - diguyCharacter::aim_at_angle_local()
1943
*- - diguyCharacter::aim_at_point()
1944
*- - diguyCharacter::aim_at_point_local()
1945
*- - diguyCharacter::aim_at_character()
1946
*- - diguyCharacter::set_aim_param_desired_locate_time()
1947
*- - diguyCharacter::get_aim_param_desired_locate_time()
1948
*- - diguyCharacter::get_aim_is_acquired()
1949
*- - diguyCharacter::get_aim_is_steady()
1950
*- - diguyCharacter::set_weapon_near_range()
1951
*- - diguyCharacter::set_weapon_far_range()
1952
*<
1953
*- - Added diguyLoadManager class. Members are:
1954
*>
1955
*- - diguyLoadManager::add_camera()
1956
*- - diguyLoadManager::add_view_camera()
1957
*- - diguyLoadManager::move_camera()
1958
*- - diguyLoadManager::change_view_camera_settings()
1959
*- - diguyLoadManager::remove_camera()
1960
*- - diguyLoadManager::set_enable_culling()
1961
*- - diguyLoadManager::set_nonvisible_update_rate()
1962
*- - diguyLoadManager::set_zone_bounds()
1963
*- - diguyLoadManager::set_zone_parameters()
1964
*- - diguyLoadManager::set_max_update_period()
1965
*<
1966
*- - Added new diguyApp functions:
1967
*>
1968
*- - diguyApp::create_load_manager()
1969
*- - diguyApp::get_load_manager()
1970
*- - diguyApp::destroy_load_manager()
1971
*<
1972
*- - Added new diguyCharacter functions:
1973
*>
1974
*- - diguyCharacter::get_bounding_radius()
1975
*- - diguyCharacter::get_default_bounding_radius()
1976
*- - diguyCharacter::set_bounding_radius()
1977
*<
1978
*- - Added new diguyApp class. There is only one diguyApp object per
1979
*- application. It is available after the diguy_*_initialize() call
1980
*- by calling the static function diguyApp::get_app(). The diguyApp
1981
*- object will hold data that is application-wide, which in the past
1982
*- has been somewhat artificially placed in the diguyScenario class.
1983
*- - Removed support for character history types
1984
*- DIGUY_HISTORY_TYPE_FIRST and DIGUY_HISTORY_TYPE_LAST. Characters
1985
*- saved using these history types will have their history type
1986
*- set to DIGUY_HISTORY_TYPE_COMPLETE.
1987
*- - Moved some static functions from diguyScenario to diguyApp:
1988
*>
1989
*- - diguyScenario::add_default_callback() deprecated;
1990
*- use diguyApp::add_default_scenario_callback()
1991
*- - diguyScenario::remove_default_callback() deprecated;
1992
*- use diguyApp::remove_default_scenario_callback()
1993
*- - diguyScenario::remove_default_callback_with_user_data() deprecated;
1994
*- use diguyApp::remove_default_scenario_callback_with_user_data()
1995
*- - diguyScenario::add_default_callback_script() deprecated;
1996
*- use diguyApp::add_default_scenario_callback_script()
1997
*- - diguyScenario::remove_default_callback_script() deprecated;
1998
*- use diguyApp::remove_default_scenario_callback_script()
1999
*<
2000
*- - Deprecated two diguyCharacterPath callback ids. A decision
2001
*- bead or script bead at the appropriate place in the path
2002
*- should be used instead of the deprecated callbacks:
2003
*>
2004
*- - CALLBACK_ID_TIME_LEFT has been changed to
2005
*- CALLBACK_ID_TIME_LEFT_DEPRECATED
2006
*- - CALLBACK_ID_TIME_INTO has been changed to
2007
*- CALLBACK_ID_TIME_INTO_DEPRECATED
2008
*<
2009
*- - Fixed problem with gestures not range checking stage
2010
*- argument. If 0 was passed as the stage in some functions,
2011
*- memory overwrites could have occurred or garbage results could
2012
*- have been returned. Also updated doc of affected functions
2013
*- to specify that stages are between 1 and 3.
2014
*- - Added functions to character for manually applying path
2015
*- bead effects:
2016
*>
2017
*- - diguyCharacter::apply_aim_bead()
2018
*- - diguyCharacter::apply_decision_bead()
2019
*- - diguyCharacter::apply_gaze_bead()
2020
*- - diguyCharacter::apply_script_bead()
2021
*<
2022
*- - Added new diguyCharacterPathDecisionBead class. Members are:
2023
*>
2024
*- - diguyCharacterPathDecisionBead::get_name()
2025
*- - diguyCharacterPathDecisionBead::set_name()
2026
*- - diguyCharacterPathDecisionBead::get_distance_into_path()
2027
*- - diguyCharacterPathDecisionBead::set_distance_into_path()
2028
*- - diguyCharacterPathDecisionBead::get_length()
2029
*- - diguyCharacterPathDecisionBead::set_length()
2030
*- - diguyCharacterPathDecisionBead::get_tin()
2031
*- - diguyCharacterPathDecisionBead::set_tin()
2032
*- - diguyCharacterPathDecisionBead::get_duration()
2033
*- - diguyCharacterPathDecisionBead::set_duration()
2034
*<
2035
*- - Added new diguyCharacterPathAimBead class. Members are:
2036
*>
2037
*- - diguyCharacterPathAimBead::get_name()
2038
*- - diguyCharacterPathAimBead::set_name()
2039
*- - diguyCharacterPathAimBead::get_distance_into_path()
2040
*- - diguyCharacterPathAimBead::set_distance_into_path()
2041
*- - diguyCharacterPathAimBead::get_length()
2042
*- - diguyCharacterPathAimBead::set_length()
2043
*- - diguyCharacterPathAimBead::get_tin()
2044
*- - diguyCharacterPathAimBead::set_tin()
2045
*- - diguyCharacterPathAimBead::get_duration()
2046
*- - diguyCharacterPathAimBead::set_duration()
2047
*<
2048
*- - Added new diguyCharacterPathGazeBead class. Members are:
2049
*>
2050
*- - diguyCharacterPathGazeBead::get_name()
2051
*- - diguyCharacterPathGazeBead::set_name()
2052
*- - diguyCharacterPathGazeBead::get_distance_into_path()
2053
*- - diguyCharacterPathGazeBead::set_distance_into_path()
2054
*- - diguyCharacterPathGazeBead::get_length()
2055
*- - diguyCharacterPathGazeBead::set_length()
2056
*- - diguyCharacterPathGazeBead::get_tin()
2057
*- - diguyCharacterPathGazeBead::set_tin()
2058
*- - diguyCharacterPathGazeBead::get_duration()
2059
*- - diguyCharacterPathGazeBead::set_duration()
2060
*<
2061
*- - Added function diguyCharacter::find_waypoint(). This
2062
*- function finds a waypoint by name.
2063
*- - Added functions to access new bead types. Also added find
2064
*- functions for action beads and script beads. The following
2065
*- functions have been added to diguyCharacterPath:
2066
*>
2067
*- - diguyCharacterPath::find_waypoint()
2068
*- - diguyCharacterPath::find_action_bead()
2069
*- - diguyCharacterPath::find_script_bead()
2070
*- - diguyCharacterPath::get_num_aim_beads()
2071
*- - diguyCharacterPath::get_aim_bead_at_index()
2072
*- - diguyCharacterPath::find_aim_bead()
2073
*- - diguyCharacterPath::get_num_decision_beads()
2074
*- - diguyCharacterPath::get_decision_bead_at_index()
2075
*- - diguyCharacterPath::find_decision_bead()
2076
*- - diguyCharacterPath::get_num_gaze_beads()
2077
*- - diguyCharacterPath::get_gaze_bead_at_index()
2078
*- - diguyCharacterPath::find_gaze_bead()
2079
*<
2080
*- - Added functions to diguyCharacterGesture API:
2081
*>
2082
*- - diguyCharacterGesture::set_table_action_begin()
2083
*- - diguyCharacterGesture::get_table_action_begin()
2084
*- - diguyCharacterGesture::set_table_action_end()
2085
*- - diguyCharacterGesture::get_table_action_end()
2086
*- - diguyCharacterGesture::get_table_action_now()
2087
*- - diguyCharacterGesture::get_table_action_next()
2088
*- - diguyCharacterGesture::get_rampup_duration()
2089
*- - diguyCharacterGesture::set_rampup_duration()
2090
*- - diguyCharacterGesture::get_rampup_blend_function_name()
2091
*- - diguyCharacterGesture::set_rampup_blend_function_name()
2092
*- - diguyCharacterGesture::get_rampdown_duration()
2093
*- - diguyCharacterGesture::set_rampdown_duration()
2094
*- - diguyCharacterGesture::get_rampdown_blend_function_name()
2095
*- - diguyCharacterGesture::set_rampdown_blend_function_name()
2096
*- - diguyCharacterGesture::get_table_action_rep_duration()
2097
*- - diguyCharacterGesture::get_table_transition_duration()
2098
*- - diguyCharacterGesture::get_default_blend_duration()
2099
*- - diguyCharacterGesture::get_num_table_actions()
2100
*- - diguyCharacterGesture::get_table_action_at_index()
2101
*<
2102
*- - Added functions for setting initial motion texture parameters:
2103
*>
2104
*- - diguyCharacter::set_initial_motion_texture()
2105
*- - diguyCharacter::get_initial_motion_texture()
2106
*- - diguyCharacter::set_initial_motion_texture_gain()
2107
*- - diguyCharacter::get_initial_motion_texture_gain()
2108
*<
2109
*- - Plugins require a license.
2110
*- - Moved to flexlm 10.1 on Windows for license management.
2111
*- - Particles now work in locked scenarios.
2112
*- - Made characters with non default actors display properly in
2113
*- Vega Prime.
2114
*- - Saving review data now saves all generated data, not just up to
2115
*- the time slider.
2116
*- - Fixed a bug with history saving.
2117
**
2118
** \subsubsection v535 Version 5.3.5
2119
**
2120
*- - Fixed problem with .flt loader not dealing well with .flt files that
2121
*- contain multiple nodes that have the same name. The .flt loader now
2122
*- more vigorously checks for name collisions.
2123
*- - Removed one unused level of Motion LODs. The unused LOD 6 was not
2124
*- mentioned in documentation nor was it used in motion generation
2125
*- code. This change requires use of DI-Guy Data 5.3.5.
2126
*- - Worked on diguyCharacterGesture API:
2127
*>
2128
*- - diguyCharacterGesture::get_num_stages() deprecated;
2129
*- use diguyCharacterGesture::get_num_progression_stages()
2130
*- - diguyCharacterGesture::set_stage_duration() deprecated
2131
*- use diguyCharacterGesture::set_progression_stage_duration()
2132
*- - diguyCharacterGesture::get_stage_duration() deprecated
2133
*- use diguyCharacterGesture::get_progression_stage_duration()
2134
*- - diguyCharacterGesture::get_stage_optimal_duration() deprecated
2135
*- use diguyCharacterGesture::get_progression_stage_optimal_duration()
2136
*<
2137
*- - Worked on diguyCharacterGesture documentation. Added more
2138
*- which functions can be called for which gesture types.
2139
*- - Added type diguyCharacterGestureType and corresponding function
2140
*- diguyCharacterGesture::get_type().
2141
*- - New experimental shooting functionality:
2142
*>
2143
*- - Added callback diguyCharacter::CALLBACK_ID_GOT_SHOT.
2144
*- - Added callback diguyCharacter::CALLBACK_ID_SHOT_SUCCESS.
2145
*- - Added new find all hits functionality.
2146
*- - Added new diguyShot class accessible from scripts,
2147
*- records who got shot and where.
2148
*- - Characters can now shoot multiple targets; added
2149
*- max_shot_hits to control the maximum number of
2150
*- shots to report. By default scene objects stop bullets.
2151
*- - Weapon spread shots test against the octtree first (speed up).
2152
*<
2153
*- - Fixed some bugs with review data.
2154
*- - Experimental plugin infrastructure:
2155
*>
2156
*- - Added functions diguyScenario::add_plugin() and
2157
*- diguyScenario::remove_plugin().
2158
*- - The following functions can be exported from the dll to plug
2159
*- into DI-Guy code:
2160
*>
2161
*- - void initialize(diguyScenario* s)
2162
*- - void deinitialize(diguyScenario* s)
2163
*- - void pre_draw(diguyScenario* s)
2164
*- - void post_draw(diguyScenario* s)
2165
*- - void update(diguyScenario* s)
2166
*- - void reset(diguyScenario* s)
2167
*- - void save_review_data(const char* filename)
2168
*- - void load_review_data(const char* filename)
2169
*<
2170
*- - See Documentation for more information.
2171
*<
2172
**
2173
** \subsubsection v534 Version 5.3.4
2174
**
2175
*- - Added new callbacks for use with the diguyCharacter::add_callback()
2176
*- function:
2177
*>
2178
*- - CALLBACK_ID_CURRENT_APPEARANCE_CHANGED
2179
*- - CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED
2180
*<
2181
*- - Added new gesture type: table gestures. Table gestures are much
2182
*- like character action tables, and allow a single gesture to employ
2183
*- many different motions.
2184
**
2185
** \subsubsection v533 Version 5.3.3
2186
**
2187
*- - Improved SDK's initialization time. Version 5.3.3 should take about
2188
*- half the time of version 5.3.2 to initialize.
2189
*- - Changed default override stage of function
2190
*- diguyCharacter::create_pose_override() from 2 to 3.
2191
*- - Improved documentation for diguyCharacter "Pose Functions"
2192
*- section.
2193
*- - Improved documentation for
2194
*- diguyScenario::set_automatic_motion_lod_switching() function.
2195
*- - Added function diguyCharacter::end_all_gestures(), a gentler way
2196
*- than diguyCharacter::abort_all_gestures() to stop a character's
2197
*- active gestures.
2198
*- - Fixed problem with changing an existing character's type via the
2199
*- diguyCharacter::set_character_type() function. The geometry of the
2200
*- character wasn't displaying properly until the scenario was reset.
2201
*- This has been fixed.
2202
*- - Fixed documentation for the
2203
*- diguyCharacterPoseOverride::get_pose_in_radians() function; it was
2204
*- incorrectly implying that it could be used to read the current pose
2205
*- of the character, when it really only returns the most recent pose
2206
*- as set by diguyCharacterPoseOverride::set_pose_in_radians().
2207
*- - Fixed problem where specifying a non-existent default appearance
2208
*- for a character caused a crash.
2209
*- - Fixed problem where characters with no links due to config file
2210
*- syntax errors caused a crash.
2211
**
2212
** \subsubsection v532 Version 5.3.2
2213
**
2214
*- - Added missing initial position and orientation functions to
2215
*- diguyCharacter:
2216
*>
2217
*- - diguyCharacter::set_initial_position()
2218
*- - diguyCharacter::get_initial_position()
2219
*- - diguyCharacter::set_initial_orientation()
2220
*- - diguyCharacter::get_initial_orientation()
2221
*<
2222
*- - Added set_name() functions to most DI-Guy API objects.
2223
*- - Added better access to path data such as waypoints and action
2224
*- beads. The following functions have been added to
2225
*- diguyCharacterPath:
2226
*>
2227
*- - diguyCharacterPath::update()
2228
*- - diguyCharacterPath::get_num_waypoints()
2229
*- - diguyCharacterPath::get_waypoint_at_index()
2230
*- - diguyCharacterPath::create_waypoint()
2231
*- - diguyCharacterPath::get_num_action_beads()
2232
*- - diguyCharacterPath::get_action_bead_at_index()
2233
*- - diguyCharacterPath::create_action_bead()
2234
*- - diguyCharacterPath::destroy_action_bead()
2235
*- - diguyCharacterPath::get_num_script_beads()
2236
*- - diguyCharacterPath::get_script_bead_at_index()
2237
*- - diguyCharacterPath::create_script_bead()
2238
*- - diguyCharacterPath::destroy_script_bead()
2239
*<
2240
*- - Added better access to path shape data such as waypoints. The
2241
*- following functions have been added to diguyPathShape:
2242
*>
2243
*- - diguyPathShape::update()
2244
*- - diguyPathShape::get_num_waypoints()
2245
*- - diguyPathShape::get_waypoint_at_index()
2246
*- - diguyPathShape::create_waypoint()
2247
*<
2248
*- - Added new diguyCharacterPathActionBead class. Members are:
2249
*>
2250
*- - diguyCharacterPathActionBead::get_name()
2251
*- - diguyCharacterPathActionBead::get_action()
2252
*- - diguyCharacterPathActionBead::set_action()
2253
*- - diguyCharacterPathActionBead::get_distance_into_path()
2254
*- - diguyCharacterPathActionBead::set_distance_into_path()
2255
*- - diguyCharacterPathActionBead::get_length()
2256
*- - diguyCharacterPathActionBead::set_length()
2257
*- - diguyCharacterPathActionBead::get_derive_length_flag()
2258
*- - diguyCharacterPathActionBead::set_derive_length_flag()
2259
*- - diguyCharacterPathActionBead::get_tin()
2260
*- - diguyCharacterPathActionBead::set_tin()
2261
*- - diguyCharacterPathActionBead::get_duration()
2262
*- - diguyCharacterPathActionBead::set_duration()
2263
*- - diguyCharacterPathActionBead::get_derive_duration_flag()
2264
*- - diguyCharacterPathActionBead::set_derive_duration_flag()
2265
*- - diguyCharacterPathActionBead::get_desired_duration()
2266
*- - diguyCharacterPathActionBead::set_desired_duration()
2267
*- - diguyCharacterPathActionBead::get_derive_desired_duration_flag()
2268
*- - diguyCharacterPathActionBead::set_derive_desired_duration_flag()
2269
*- - diguyCharacterPathActionBead::get_motion_reps()
2270
*- - diguyCharacterPathActionBead::set_motion_reps()
2271
*- - diguyCharacterPathActionBead::get_derive_motion_reps_flag()
2272
*- - diguyCharacterPathActionBead::set_derive_motion_reps_flag()
2273
*- - diguyCharacterPathActionBead::get_transition_before_bead_flag()
2274
*- - diguyCharacterPathActionBead::set_transition_before_bead_flag()
2275
*<
2276
*- - Added new diguyCharacterPathScriptBead class. Members are:
2277
*>
2278
*- - diguyCharacterPathScriptBead::get_name()
2279
*- - diguyCharacterPathScriptBead::set_name()
2280
*- - diguyCharacterPathScriptBead::get_script()
2281
*- - diguyCharacterPathScriptBead::set_script()
2282
*- - diguyCharacterPathScriptBead::get_distance_into_path()
2283
*- - diguyCharacterPathScriptBead::set_distance_into_path()
2284
*- - diguyCharacterPathScriptBead::get_length()
2285
*- - diguyCharacterPathScriptBead::set_length()
2286
*- - diguyCharacterPathScriptBead::get_tin()
2287
*- - diguyCharacterPathScriptBead::set_tin()
2288
*- - diguyCharacterPathScriptBead::get_duration()
2289
*- - diguyCharacterPathScriptBead::set_duration()
2290
*<
2291
*- - Changed API of diguyWaypoint object to have more intuitive function
2292
*- names. Old function names have been deprecated but will still work.
2293
*- - Improved behavior of reflected characters when the remote scenario is
2294
*- reset. After remote reset, on remote play, local reflected
2295
*- characters now immediately perform their desired actions rather than
2296
*- gradually transitioning into them.
2297
*- - Switched to using asynchronous I/O for DIS networking. This improves
2298
*- DI-Guy's robustness on networks with lots of entities.
2299
*- - Fixed problem with diguyPathShape::get_length(). The
2300
*- diguyPathShape::update() function must be called after waypoints have
2301
*- been added to the path shape for the length to be updated. After
2302
*- the update() call, get_length() will return a valid length. (PR 2852)
2303
*- - Fixed problem with diguyCharacter::get_current_path_index()
2304
*- function. The value 0 was being returned when the character was not
2305
*- on a path, and when the character was on the first path. The return
2306
*- value for "not on a path" has been changed to -1. (PR 2856)
2307
*- - Fixed problem with diguyCharacter::get_path_name_at_index() function.
2308
*- An empty string was being returned when the path at the specified
2309
*- index had a zero-length name, and when there was no path at the
2310
*- specified index. The return value for no path at index has been
2311
*- changed to NULL.
2312
*- - Fixed problem which, under DIS using DI-Guy custom information,
2313
*- caused newly created reflected characters not to receive custom action
2314
*- information for up to five seconds. Now custom action information is
2315
*- sent immediately after the first entity state PDU is sent.
2316
**
2317
** \subsubsection v531 Version 5.3.1
2318
**
2319
*- - Added support for "live reckoning". Live reckoning provides more
2320
*- accurate display of the behavior of remote characters, using less
2321
*- networking bandwidth.
2322
*- - Added network support for multiple concurrent scenario instances.
2323
*- Characters in all scenarios are published to the network. Incoming
2324
*- entities are created in the scenario which is passed to
2325
*- diguy_dis_go_online() or diguy_hla_go_online().
2326
*- - Improved behavior of reflected entities when the local scenario is
2327
*- reset.
2328
*- - Removed some options from network.cfg. It is recommended that the
2329
*- current network.cfg be deleted and let DI-Guy recreate it.
2330
*- - Improved behavior of reflected entities when the remote scenario is
2331
*- paused. Now they can move to their correct location even when
2332
*- paused, rather than staying still in a location that is suboptimal.
2333
*- - Fixed bug preventing incoming (reflected) non-soldier characters from
2334
*- walking when DI-Guy custom action information is not available.
2335
*- - Removed Review Data dt data member from diguyScenario objects
2336
*- and from the DI-Guy Scenario UI. Any scenario review data is
2337
*- now recorded at the scenario's tick dt.
2338
*- - Added access to the DirectX 9 world stack used by DI-Guy through
2339
*- the new function diguy_dx9_get_world_stack(). This allows users
2340
*- of DI-Guy for DirectX 9 to offset the origin used by characters
2341
*- from 0,0,0. Use of the new function is demonstrated in the
2342
*- example program $DIGUY/programming_examples/diguy_dx9/offset_example.
2343
*- - Made it possible to set the tick dt of a scenario using the
2344
*- function diguyScenario::set_tick_dt(). This was previously
2345
*- possible only in the DI-Guy Scenario UI.
2346
*- - Made it possible to turn off review data generation for scenarios.
2347
*- By default, scenarios created in the DI-Guy Scenario editor will
2348
*- have review data enabled; scenarios created using the DI-Guy API
2349
*- will have review data disabled. Turning on review data can add
2350
*- significantly to memory usage. Changing review data settings can
2351
*- be done using the function diguyScenario::set_history_type().
2352
*- - Turned off review data by default for characters created using the
2353
*- DI-Guy API. The significantly reduces the memory overhead of each
2354
*- character. Review data can be re-enabled using the function
2355
*- diguyCharacter::set_history_type().
2356
*- - Added new callbacks for use with the diguyCharacter::add_callback()
2357
*- function:
2358
*>
2359
*- - CALLBACK_ID_PRE_DIE
2360
*- - CALLBACK_ID_POST_DIE
2361
*- - CALLBACK_ID_PRE_FIRE_WEAPON
2362
*- - CALLBACK_ID_POST_FIRE_WEAPON
2363
*<
2364
*- - Fixed problem with setting character's current appearance too soon
2365
*- after the character was created. This caused a crash.
2366
**
2367
** \subsubsection v522 Version 5.2.2
2368
**
2369
*- - New function diguyCharacter::set_weapon_fires_live_rounds() sets
2370
*- whether firing causes collision search for characters to be killed.
2371
*- Default is to fire blanks. Old scenarios that used this
2372
*- functionality need to call this function to re-enable firing to kill
2373
*- other characters.
2374
*- - Fixed problem for expressive faces in Vega. If a model without
2375
*- texture or material was drawn just before the expressive face,
2376
*- the expressive face would inherit its color.
2377
*- - Fixed various memory leaks.
2378
**
2379
** \subsubsection v521 Version 5.2.1
2380
**
2381
*- - Improved DIS/HLA Networking:
2382
*>
2383
*- - Motion behavior improved when receiving standard PDUs in DIS.
2384
*- - Motion behavior improved when not using DI-Guy Custom FOM in HLA.
2385
*<
2386
*- - Improved vpNet/DI-Guy for Vega Prime interaction:
2387
*>
2388
*- - DI-Guy for Vega Prime now shares the network connection created
2389
*- by vpNet (MaK Technologies networking add-on to
2390
*- MultiGen-Paradigm's Vega Prime product).
2391
*- - Special programming no longer required to have DI-Guy for Vega
2392
*- Prime/vpNet work together.
2393
*- - Users need to maintain two separate modelmaps, but mapping to
2394
*- NULL is now implemented for both vpNet and DI-Guy, so that
2395
*- entities being drawn by other modules in Vega will not be
2396
*- drawn a second time by DI-Guy for Vega Prime and vice-versa.
2397
*- - Programming examples have been expanded to show simple
2398
*- examples of vpNet/DI-Guy for Vega Prime interaction. Note
2399
*- that these programming examples are copied to the samples
2400
*- directory of the Vega Prime installation.
2401
*- - Added function call diguy_net_get_character_from_id()
2402
*- which returns the diguyCharacter associated with the entity id.
2403
*- Works with both DIS and HLA. (see ref. manual).
2404
*- - Added option hla_advisories to network.cfg. When using HLA,
2405
*- if the RTI uses advisories, hla_advisories should be set to 1.
2406
*- If not, set this to zero. Mismatch between the settings should
2407
*- be avoided.
2408
*<
2409
*- - Fixed problem for expressive faces in Vega. The normals
2410
*- on the head were being scaled incorrectly, causing strange
2411
*- shading artifacts.
2412
*- - Fixed problem for expressive faces in Vega. If more than one
2413
*- expressive face was in a scene, all expressive faces would
2414
*- use the texture of the first expressive face.
2415
**
2416
** \subsubsection v520 Version 5.2.0
2417
**
2418
*- - Added dynamic (dll) versions of DI-Guy libraries for win32.
2419
*- - Discontinued support of MT and MTd versions of DI-Guy libraries for
2420
*- win32.
2421
*- - Fixed nmake-based makefiles for win32 programming examples
2422
*- so that they'll work if DI-Guy is installed in a directory with
2423
*- spaces.
2424
**
2425
** \subsubsection v5125 Version 5.1.25
2426
**
2427
*- - Initial release of version 5.1.
2428
**
2429
** \subsubsection v5124 Versions 5.1.0 - 5.1.24
2430
**
2431
*- - These versions are 5.1 pre-releases.
2432
**
2433
**
2434
**************************************
2435
** \section v9digs DI-Guy Scenario Version 9 and earlier
2436
**************************************
2437
**
2438
*b Note that most changes to the DI-Guy API also apply to DI-Guy Scenario.
2439
**
2440
** \subsection v90digs Version 9.0
2441
**
2442
** \subsubsection v914digs Version 9.1.4
2443
**
2444
*- - Scenario can now be stopped, run, and reset in I-Guy Input
2445
*- Mode by hitting Shift-Space (toggle stop and run) an Shift-Ctrl-Space
2446
*- (reset). Keyboard reset can be disabled in I-Guy mode in the I-Guy
2447
*- Page.
2448
**
2449
** \subsubsection v910digs Version 9.1.0
2450
**
2451
*- - Large rework of Object pages. There is now one Scenario Objects page
2452
*- that contains all of the pages from previous versions' Scenario
2453
*- Elements, Character Elements, View Settings, Event Handlers, and
2454
*- DI-Guy AI Elements. Pages are separated into multiple tab groups.
2455
**
2456
** \subsubsection v902digs Version 9.0.2
2457
**
2458
*- - Fixed bug where network page wouldn't remember current coordinate
2459
*- converter settings when closed and reopened.
2460
**
2461
** \subsubsection v900digs Version 9.0.0
2462
**
2463
*- - Near and far parameters of character weapon parameters are now
2464
*- always enabled, and will alway be taken into consideration.
2465
*- Before they only had an effect if the "spread" of a weapon was
2466
*- greater than 0.
2467
*- - New command line flag added: -runtime_only. If this flag is
2468
*- specified, DI-Guy Scenario will not attempt to check out the
2469
*- development license feature but instead will remain in runtime mode,
2470
*- leaving the development license available to another program.
2471
**
2472
**
2473
** \subsection v80digs Version 8.0
2474
**
2475
** \subsubsection v863digs Version 8.6.3
2476
**
2477
*- - Changing a character's character type no longer deletes all action
2478
*- beads. The actions of the existing beads are changed to the nearest
2479
*- equivalent of the new character type.
2480
*- - Region/crowd painting now works on scene object grids. delayed
2481
*- loading of grids should be more responsive as well.
2482
*- - Fixed issues with feelers: changes made via UI now change all crowd
2483
*- members, 3D rep of feelers now updated immediately when changed and
2484
*- on reset.
2485
*- - Fixed set_playback_mode_play() so that it works in decisions.
2486
*- - Ctrl-a will now restore previous visibility settings if hit 2 times
2487
*- in a row.
2488
*- - Added experimental feeler callback option.
2489
*- - Minor UI preference bug fixes.
2490
**
2491
** \subsubsection v862digs Version 8.6.2
2492
**
2493
*- - Improved speed of particle system rendering.
2494
*- - Fixes to scene object grid rendering.
2495
*- - Fixed problem that character initial path could not be deleted.
2496
*- - If last character path is deleted, initial position and orientation
2497
*- controls now become enabled as they should.
2498
*- - Added preference for changing the fast-forward playback factor.
2499
*- Default is 4. Can be changed in the Preferences dialog.
2500
*- - Symbolic View: Characters merging into a crowd symbol should now work
2501
*- outside of ortho_xy view.
2502
*- - 3d UI: Added right click pop-up menu to character mode.
2503
*- - Added smoothing to ground clamp function.
2504
**
2505
** \subsubsection v861digs Version 8.6.1
2506
**
2507
*- - Added one click movie creation to DI-Guy Scenario.
2508
*- - More of the UI has up/down sorting arrows.
2509
*- - Added is_speaking as a decision bead query.
2510
*- - Fixed bug with "this_character" not properly having sub-objects
2511
*- listed in decision beads.
2512
*- - Added the ability for labels to reflect character state, accessible
2513
*- in the character label UI.
2514
*- - Fixed math issues with scene object sub-culling, feature should be
2515
*- significantly more robust with scaled and rotated scene objects.
2516
*- - Character's added to dynamic octtree and scene object characters
2517
*- should require less memory, and be more efficient.
2518
*- - Minor improvements to advanced light UI.
2519
*- - Action bead page now lists the current action's information.
2520
*- - Fixed bug where 1st person I-Guy could not be killed.
2521
*- - Better performance when populating or repopulating crowds.
2522
*-
2523
**
2524
** \subsubsection v850digs Version 8.5.0
2525
**
2526
*- - Initial DI-Guy SAF release.
2527
*- - Added new SAF Elements palette that provides access to DI-Guy SAF
2528
*- objects.
2529
*- - Added shortcut ctrl-a: turns off *all* supplemental visuals,
2530
*- providing better viewing for non-demo scenario run.
2531
*- - Added "Ortho XY" Projection Mode to Camera settings. This provides
2532
*- an alternative planview that uses an orthonormal projection rather
2533
*- that a perspective-based one.
2534
*- - Added "Symbolic View" checkbox to Camera settings. When this is
2535
*- checked characters will be represented as flat polygons rather than
2536
*- their full animated graphics. This, along with the Ortho XY
2537
*- Projection Mode, provides a good SAF-like view of a scenario.
2538
**
2539
** \subsubsection v803digs Version 8.0.3
2540
**
2541
*- - Fixed issue with I-Guy not using a joystick for input, even through
2542
*- the UI says it is enabled.
2543
*- - Fixed issue with children's bounding volumes not being factored into
2544
*- culling calculation.
2545
*- - User interface polish:
2546
*>
2547
*- - Added more context sensitive input mode buttons.
2548
*- - Labels identifying what character and path is selected have
2549
*- been replaced with combo boxes, allowing for faster editing of
2550
*- complex scenarios.
2551
*- - Fixed various other small UI issues.
2552
*<
2553
** \subsubsection v802digs Version 8.0.2
2554
**
2555
*- - Fixed issue with sound not playing properly when scenario is
2556
*- fast-forwarded.
2557
*- - Fixed issues with jittery camera in I-Guy 3rd person mode.
2558
*- - Multisync masters now send and receive characters over the network.
2559
**
2560
** \subsubsection v800digs Version 8.0.0
2561
**
2562
*- - Initial 8.0 release candidate.
2563
*- - Improved plugin interface so that existing plugin name can be
2564
*- changed instead of just being deleted and a new one created.
2565
*- - DI-Guy plugin libraries can now be browsed for in the Plugins page,
2566
*- instead of just typing in the library name.
2567
*- - Added limits to the Tick dt parameter in the Performance page.
2568
*- The Tick dt must now be >= 0.01 seconds, and <= 0.1 seconds.
2569
**
2570
**
2571
** \subsection v70digs Version 7.0
2572
**
2573
** \subsubsection v7119digs Version 7.1.19
2574
**
2575
*- - Made improvements to DI-Guys sound system, sounds will now pause
2576
*- along with the scenario and can now be fast forwarded and rewound
2577
*- (to a degree).
2578
*-
2579
** \subsubsection v7116digs Version 7.1.16
2580
**
2581
*- - Added 'Init. Up Vector' combo box to Character page. Allows
2582
*- user to set the up vector that the character will use. Previously
2583
*- this could only be done via script of decision.
2584
**
2585
** \subsubsection v7115digs Version 7.1.15
2586
**
2587
*- - Added '-safe_mode' flag to command line. Passing this flag on
2588
*- the command line will cause DI-Guy Scenario to start up using
2589
*- default preferences, which may resolve some unexpected issues.
2590
**
2591
** \subsubsection v7114digs Version 7.1.14
2592
**
2593
*- - Added chain settings to Merge Settings UI.
2594
*- - Fixed issues with selecting a different path by clicking on
2595
*- one of its waypoints in Path Edit Input Mode.
2596
**
2597
** \subsubsection v7112digs Version 7.1.12
2598
**
2599
*- - Review data for new scenarios is now turned off by default.
2600
*- - New characters created in DI-Guy scenario now have no review data
2601
*- by default. Characters from existing scenarios will not be
2602
*- affected. Note that this removes the ability to rewind scenarios
2603
*- unless some review data is turned back on.
2604
**
2605
** \subsubsection v7111digs Version 7.1.11
2606
**
2607
*- - Sounds now stop when a scenario loops or is rewound. Added a
2608
*- 'Stop All Sounds' button to the Scenario palette Sound page,
2609
*- to make it easier to stop playing long sounds.
2610
*- - Window menu now always opens UI windows instead of toggling whether
2611
*- they are shown or hidden. If a window is already open, it is
2612
*- brought to the top of the window stack.
2613
*- - The F-key shortcuts for opening UI windows have changed behavior.
2614
*- Pressing F2 for the Time Control window, for example, will make
2615
*- the Time Control window visible by either opening it or bringing it
2616
*- to the top. Old behavior toggled whether windows were shown or
2617
*- hidden. Use Shift-F-key to use old toggle behavior (hide if
2618
*- showing, show if hidden).
2619
*- - Character Labels Visibility is now set to 'None' in the default
2620
*- .dss file.
2621
**
2622
** \subsubsection v718digs Version 7.1.8
2623
**
2624
*- - Fixed problem with restoring all event mappings when reloading
2625
*- a previously saved scenario.
2626
**
2627
** \subsubsection v717digs Version 7.1.7
2628
**
2629
*- - Switch to new installer setup. Should better detect and remove
2630
*- previous versions, and in general be more stable.
2631
*- - Added preliminary support for TerraPage .txp files in scene objects.
2632
*- - Fixed issue with OpenAL not being able to play sounds on some
2633
*- machines.
2634
**
2635
** \subsubsection v716digs Version 7.1.6
2636
**
2637
*- - Added 3rd Parameter to Decision Beads.
2638
*- - Added diguyCharacter::create_and_force_bridge_spath() and
2639
*- diguyCharacter::force_local_path to Decision Beads editor.
2640
*- - Application now asks user to confirm whether an existing
2641
*- file can be overwritten when Save As is selected.
2642
*- - Added Comment field to Decisions and Decision Beads.
2643
*- - Added new cursor to represent current input mode.
2644
*- - Added events page to character as well as signal and sensor region.
2645
*- Same basic functionality as the event mapper but more distributed
2646
*- UI design.
2647
**
2648
** \subsubsection v714digs Version 7.1.4
2649
**
2650
*- - Added functionality to the character elements page that allows
2651
*- character list to be reordered using up and down arrows next to
2652
*- the list box.
2653
*- - Character list box will now display disabled characters in gray.
2654
**
2655
** \subsubsection v713digs Version 7.1.3
2656
**
2657
*- - Added offset XYZ line edits for aiming at characters on Aim
2658
*- Bead page.
2659
**
2660
** \subsubsection v712digs Version 7.1.2
2661
**
2662
*- - Added new "Character" Input Mode. While in this mode clicks and
2663
*- drags will have the following effects:
2664
*>
2665
*a click and drag - translate character
2666
*a shift-click and drag - rotate character
2667
*<
2668
*- - Made 'Delete' key work on more object types in the 3D window,
2669
*- depending on the current Input Mode:
2670
*>
2671
*a Character or PeopleBlitzer - delete current character
2672
*a Path Edit or Path Insert - delete current waypoint
2673
*a Action Edit or Action Insert - delete current action bead
2674
*a Sensor Edit or Sensor Insert - delete current sensor region
2675
*a Group - delete current group
2676
*<
2677
**
2678
** \subsubsection v711digs Version 7.1.1
2679
**
2680
*- - Added new "Group" Input Mode. While in the mode clicks and
2681
*- drags will have the following effects:
2682
*>
2683
*a click and drag - translate all group characters
2684
*a shift-click and drag - rotate all group characters
2685
*a ctrl-click - add or remove clicked character
2686
*a to group
2687
*<
2688
*- - Added Chain Sim Settings page to the Scenario Elements palette.
2689
*- - Added edit boxes to event beads (Aim, Decision, Gaze, and Script
2690
*- beads) that allow beginning and end of beads to be tied to
2691
*- specific waypoints or action beads.
2692
*- - Added ability to set character label colors on the Character page.
2693
*- - Added optional labels for action beads in the 3D window that show
2694
*- the action name and the time at which the action begins.
2695
*- - Current selected character index is now saved in .dss file and
2696
*- restored when the scenario is loaded.
2697
*- - Revamped Plugins page. Each plugin now has these parameters:
2698
*>
2699
*a Required By Scenario - If checked, this plugin is required
2700
*a for proper execution of this scenario.
2701
*a When the scenario is loaded this plugin
2702
*a will be loaded as well if it is not
2703
*a already active. Default is unchecked.
2704
*a Unload on Scenario Close - If checked, this plugin will be
2705
*a unloaded if this scenario is closed
2706
*a or a new scenario is opened. Default
2707
*a is unchecked.
2708
*a Accepts Mouse Input - If checked, this plugin will receive
2709
*a mouse events via the mouse plugin
2710
*a functions when the input mode is
2711
*a "Plugin". Default is checked.
2712
*<
2713
*- - Added new camera frustum culling functionality that works on the
2714
*- subshapes of a scene object. The functionality can be turned on
2715
*- via a check box in the performance page, or via
2716
*- diguyScenario::set_scene_object_sub_culling_enabled() and
2717
*- diguyScenario::get_scene_object_sub_culling_enabled().
2718
*- Potentially this can lead to 100%-200% rendering speed increase
2719
*- for large well segmented terrains. Note currently scene object
2720
*- culling must be on for this to work.
2721
**
2722
** \subsubsection v710digs Version 7.1.0
2723
**
2724
*- - Revamped Cut and Paste operations to use the merge functionality
2725
*- that makes sure objects added to a scenario have unique names.
2726
**
2727
** \subsubsection v708digs Version 7.0.8
2728
**
2729
*- - Camera speed UI input was broken, should be responsive again
2730
*- - Hitting cancel in particle system texture map property widget will
2731
*- no longer delete the currently selected texture.
2732
*- - Fixed Camera Affected by Script events check box; was actually an
2733
*- SDK fix.
2734
**
2735
** \subsubsection v705digs Version 7.0.5
2736
**
2737
*- - Enhanced character path following so that waypoints that
2738
*- have a roll parameter specified will roll the character
2739
*- as it travels along the path.
2740
*- - Enhanced character path following so that characters can
2741
*- now pitch "upside-down" along paths.
2742
**
2743
** \subsubsection v703digs Version 7.0.3
2744
**
2745
*- - Look At button now works for reflected characters.
2746
**
2747
** \subsubsection v701digs Version 7.0.1
2748
**
2749
*- - Velocity Noise on particles will now get transformed with the
2750
*- parent's orientation.
2751
*- - Fixed problems with various guide algorithms not working well
2752
*- if the desired z coordinate is not at the same altitude as the
2753
*- character.
2754
*- - Re-enabled "-C cfg_file" command line flag.
2755
**
2756
**
2757
** \subsection v60 Version 6.0
2758
**
2759
** \subsubsection v6110digs Version 6.1.10
2760
**
2761
*- - Fixed problem that prevented some parameters from being
2762
*- editable in the Decision editor; in particular, when param 2
2763
*- was an appearance or a string.
2764
*- - Fixed aim trajectory rendering to more consistently render
2765
*- and use the proper color.
2766
*- - Fixed problem with I-Guy characters not being able to move
2767
*- forward and back.
2768
*- - Particles are more aggressive about requesting that octtree is
2769
*- rebuilt.
2770
*- - High velocity particles, stuck particles and bouncing particles all
2771
*- interact better after colliding with scene geometry.
2772
*- - BDI_LOG_FATAL errors will behave better in DI-Scenario, giving the
2773
*- option to save before exiting.
2774
*- - Fixed decision beads pseudocode description crash.
2775
**
2776
** \subsubsection v619digs Version 6.1.9
2777
**
2778
*- - Fixed problem with OpenGL renderer that prevented objects
2779
*- with subfaces from rendering correctly.
2780
*- - Fixed problem with Draw Mode radio buttons in the Preferences
2781
*- dialog not having the correct effect on rendering.
2782
*- - Changed info popups to show up as dialog windows separate
2783
*- from the main window. This prevents the Primary 3D Window
2784
*- from un-maximizing when an info popup pops up.
2785
*- - Fixed problem that scene objects did not correctly look in
2786
*- custom directory for models.
2787
*- - Added code to check positions of DI-Guy Scenario windows;
2788
*- if windows will not be visible (are off-screen, etc.), they
2789
*- are moved to screen coordinate 0,0.
2790
*- - Updated Networking Settings page to be consistent with V6 UI.
2791
*- - Numerous fixes to Networking Settings page.
2792
*- - Added About box with version information.
2793
*- - Fixed bug that preferences weren't correctly saved if app
2794
*- was closed by clicking 'X' button in upper right corner.
2795
*- - Fixed various problems with values entered into edit boxes
2796
*- being clobbered.
2797
*- - Added plugins page to DI-Guy Scenario to match page from V6 UI.
2798
**
2799
** \subsubsection v618digs Version 6.1.8
2800
**
2801
*- - Fixed world space collisions for particles, functionality was
2802
*- temporally broken.
2803
*- - Particle UI should be now be almost entirely working in DI-Guy
2804
*- Scenario.
2805
*>
2806
*- - Added load particle descriptions button to UI.
2807
*- - Added collision plane rendering check box to UI.
2808
*- - Added check box to particle page that optionally turns off
2809
*- placeholders.
2810
*- - Added orientation flag to particles, useful for parented
2811
*- emitters.
2812
*- - Renaming particles should validate names and echo to other
2813
*- appearance menus.
2814
*- - Adding or removing particle descriptions now properly updates
2815
*- the appearance section of the character page and people blitzer.
2816
*- - Particle manager was getting updated unnecessarily causing
2817
*- particles to playback 2x as fast.
2818
*<
2819
*- - Fixed a focus out problem that yielded a hard lock up if a load
2820
*- manager error message was produced.
2821
*- - Waypoints and sensor regions visuals weren't being properly
2822
*- updated when data changed.
2823
*- - Editing a Scene object triggers the unsaved flag more often.
2824
*- - Fixed a glitch where shadows and the profiler wouldn't work
2825
*- together.
2826
*- - Added UI for setting character and scene object culling active.
2827
*- - Added UI for setting character and scene object bounding volume
2828
*- visualization active.
2829
*-
2830
** \subsubsection v617digs Version 6.1.7
2831
**
2832
*- - Added UI for setting the character's label text and controlling
2833
*- whether the label is visible to the Character page.
2834
*- - Added new visibility option for Character Labels on the
2835
*- Visibility page: Per Object.
2836
*- - Major reworking of the DI-Guy Scenario user interface in
2837
*- preparation for the DI-Guy 7 release.
2838
*- A version of the program with the old interface (henceforth
2839
*- called the V6 UI) will be available in releases for awhile
2840
*- with a different filename. As time goes on new features that
2841
*- appear in DI-Guy Scenario may not appear in the V6 UI.
2842
*- - Changed the sound module of DI-Guy Scenario to be based on
2843
*- OpenAL. This fixed a problem with sounds playing back too
2844
*- fast on certain systems, and allows for 3D position sounds.
2845
**
2846
** \subsubsection v616digs Version 6.1.6
2847
**
2848
*- - Added "+plugin <plugin_name>" command line argument. This will
2849
*- load the specified plugin as the application is starting up.
2850
*- This is essentially the same as calling diguyApp::load_plugin()
2851
*- before the initial scenario is created.
2852
*- - Added "Plugin" page. This allows a scenario designer to specify
2853
*- which plugins are required for proper execution of the scenario.
2854
*- - Fixed crash bug that occasionally occurred when the "Trigger Now"
2855
*- button was clicked on the Script and Decision pages.
2856
*- - Added UTM Coordinates to the Networking page.
2857
*- - Added "Decisions", which are similar to Script Events but
2858
*- have a UI for constructing logic similar to Decision Beads.
2859
**
2860
** \subsubsection v614digs Version 6.1.4
2861
**
2862
*- - Fixed minor problems with decision bead page. The parameters for
2863
*- the sensor region function
2864
*- contains_character_by_type_and_appearance() did not include
2865
*- quotes and were not alphabetized.
2866
*- - Added buttons "Add All" and "Remove All" to Group page.
2867
**
2868
** \subsubsection v611digs Version 6.1.1
2869
**
2870
*- - Added Load Manager page to the Scenario window. Now users can
2871
*- enable load management, and adjust load management parameters
2872
*- from within DI-Guy Scenario.
2873
*- - Particle warm up time should now work properly on reset.
2874
*- - Added particle system life time, after which it will no longer emit
2875
*- particles.
2876
*- - Added new Particle position and velocity noise options, should allow
2877
*- for better control and movement options.
2878
*- - Added character variable querying to decision beads, can now query
2879
*- variables with: variable_equal_to_(float, int, string),
2880
*- variable_less_than_(float, int, string) and
2881
*- variable_greater_than_(float, int, string).
2882
*- - Added character variable actions to decision beads, can now have
2883
*- actions that affect variables, using
2884
*- variable_set_value_as_(float, int, string) and
2885
*- variable_increment and decrement.
2886
*- string) and variable_greater_than_(float, int, string).
2887
*- - Can now use decision beads to check whether someone's been shot,
2888
*- as well as where the shot hit.
2889
*- - Changed how decision beads get pointers to objects; previously
2890
*- if an object was referenced multiple times in a decision bead
2891
*- (e.g., multiple queries were made of character "soldier-1" in
2892
*- the if clauses), the same object was searched for multiple times.
2893
*- Now a pointer to the object is just searched for once.
2894
*- - Added Variable page to Character window. This page allows for
2895
*- creation, deletion, and editing of character variables. Character
2896
*- variables are almost exactly the same as scenario variables, but
2897
*- are private to each character instead of being shared across the
2898
*- entire scenario.
2899
**
2900
** \subsubsection v610digs Version 6.1.0
2901
**
2902
*- - Ctrl-'u' now pushes a scenario undo onto the undo stack.
2903
*- - Space bar toggles between play and pause; Ctrl-space bar does a
2904
*- reset.
2905
**
2906
** \subsubsection v608digs Version 6.0.8
2907
**
2908
*- - DI-Guy Scenario now properly sets the network Force ID for
2909
*- outgoing entities based on group membership. Groups
2910
*- net_friendly, net_opposing, and net_neutral should be used to
2911
*- indicate the Force ID of outgoing entities.
2912
*- - DI-Guy Scenario now assigns incoming entities to group
2913
*- net_friendly, net_opposing, or net_neutral based on the
2914
*- incoming Force ID.
2915
*- - Incoming entities cannot now be assigned to or removed from
2916
*- groups. As well, groups to which incoming entities belong
2917
*- cannot be deleted.
2918
**
2919
** \subsubsection v602digs Version 6.0.2
2920
**
2921
*- - Fixed problem with "Deflate" compression method for movie frame
2922
*- capture.
2923
*- - Changed label of "Reset" button on Movie Settings page to "Reset
2924
*- Next Frame Number", to differentiate it from the Reset button
2925
*- on the Control palette.
2926
**
2927
** \subsubsection v601digs Version 6.0.1
2928
**
2929
*- - Added setting of Scenario Review Data on Scenario Performance
2930
*- page to .dss file. It was not being saved and restored as
2931
*- scenarios were saved and loaded.
2932
*- - Changed scenario "Loop" functionality. If no characters have
2933
*- review data, the scenario will reset and play rather than
2934
*- rewind and show review data.
2935
*- - Removed unused "Altitude" edit box from Networking property page.
2936
*- (PR 3002)
2937
*- - Changed gaze bead logic so that faster gazes are possible. The
2938
*- desired locate time for gaze beads was effectively limiting the
2939
*- maximum angular velocity. Now if a gaze bead overrides gaze
2940
*- parameters, it also turns off use of the desired locate time for
2941
*- each link. (PR 3030)
2942
**
2943
** \subsubsection v600digs Version 6.0.0
2944
**
2945
*- - Added "GoThere" camera movement. In Camera mode, if there is
2946
*- neither a Look At character nor a Look From character selected
2947
*- and the camera projection mode is "free camera", if you hold
2948
*- the Shift key and left-click on anything in the scene, the
2949
*- camera will rapidly travel to what you Shift+clicked on and
2950
*- turn around to face the location from which the camera came.
2951
*- This also works from modes other than camera mode, if you press
2952
*- and hold Alt+Shift while left-clicking.
2953
*- - Changed Aim Bead UI to match Gaze Bead UI. Note that now
2954
*- aiming is also precise, and dynamic. See DI-Guy aiming change
2955
*- above.
2956
*- - Fixed problem with current light and fog settings being overwritten
2957
*- when a .dss file was loaded. (PR 2019)
2958
*- - Fixed problem with primary view of scenario returning 0 when
2959
*- diguyScenarioView::is_showing() was called on it. The correct
2960
*- value is now returned. (PR 2954)
2961
*- - Added ability to change window title of primary view using the
2962
*- call diguyView::set_window_title(). (PR 2953)
2963
*- - Fixed problem with looking at scene objects that are translated
2964
*- away from the origin. (PR 2722)
2965
*- - Fixed problem for character paths on load. Paths that weren't
2966
*- the initial path of the character weren't being fully initialized
2967
*- until they were used by the character. Now all paths receive
2968
*- an initial update call on load.
2969
*- (PR 2791)
2970
*- - Added new command line argument: -no_info_popup_server. Adding
2971
*- this argument to the command line causes DI-Guy Scenario to not
2972
*- attempt to start the program DIGuyInfoPopupServer. If the
2973
*- server is not started, info popup windows will not appear.
2974
*- - Fixed problem that if the Initial Script Filename on the Script
2975
*- Event property page specified a script that didn't exist,
2976
*- no warning was given. Now a log message at Warn level is
2977
*- printed for a missing script file. (PR 2826)
2978
*- - Fixed problem that prevented Performance settings from taking
2979
*- effect unless the scenario was saved and reloaded.
2980
*- - Added edit box for setting character's initial motion texture
2981
*- gain. (PR 2845)
2982
*- - Added UI preference for turning off the "DI-Guy Scenario by
2983
*- Boston Dynamics" overlay.
2984
**
2985
**
2986
** \subsection v50digs Version 5.0
2987
**
2988
** \subsubsection v535digs Version 5.3.5
2989
**
2990
*- - Changed edit box for setting character's initial motion texture
2991
*- into a combo box that shows which motion textures are available.
2992
**
2993
** \subsubsection v532digs Version 5.3.2
2994
**
2995
*- - Small improvement to particle system UI, fixed outstanding issues
2996
*- with texture map browser widget. Color Widgets go right to a color
2997
*- picker. Clicking on static text opens subitems.
2998
*- - Particle Systems now populate better between ticks, i.e. release
2999
*- intervals smaller then the update time now work.
3000
*- - Performance improvements to the particle systems.
3001
**
3002
** \subsubsection v531digs Version 5.3.1
3003
**
3004
*- - Removed Review Data dt data member from diguyScenario objects
3005
*- and from the DI-Guy Scenario UI. Any scenario review data is
3006
*- now recorded at the scenario's tick dt.
3007
*- - Split Visibility / Performance page into two separate
3008
*- pages named Visibility and Performance.
3009
**
3010
** \subsubsection v530digs Version 5.3.0
3011
**
3012
*- - Made it possible to turn off review data generation for scenarios.
3013
*- By default, scenarios created in the DI-Guy Scenario editor will
3014
*- have review data enabled; scenarios created using the DI-Guy API
3015
*- will have review data disabled. Turning on review data can add
3016
*- significantly to memory usage. Changing review data settings can
3017
*- be done using the function diguyScenario::set_history_type(), or
3018
*- using the Review Data Type radio buttons on the Visibility /
3019
*- Performance page of the DI-Guy Scenario editor.
3020
**
3021
** \subsubsection v523digs Version 5.2.3
3022
**
3023
*- - Added joystick gain settings to Preferences. The gains allow
3024
*- DI-Guy Scenario users to adjust how sensitive the joystick will
3025
*- be. Gains of 1.0 retain previous behaviors. Gains less than
3026
*- 1.0 make joystick control less sensitive; i.e., it will take a
3027
*- larger movement to achieve a response. Gains more than
3028
*- 1.0 make joystick control more sensitive; i.e., it will take a
3029
*- smaller movement to achieve a response.
3030
**
3031
** \subsubsection v521digs Version 5.2.1
3032
**
3033
*- - Special Effects: DI-Guy Scenario now offers a new add-on option for
3034
*- particle-based special effects. Examples of particle effects include
3035
*- smoke, fire, debris, missile trails, rotor wash, explosions, and dust
3036
*- trails. A Particles tab is now available in the Scenario palette for
3037
*- easy control of effects parameters include size, number, color,
3038
*- texture map, velocity, wind effect, and gravity.
3039
*- - Fixed crashing bug when undoing path changes.
3040
*- - Fixed minor issues with using soldier character
3041
*- backward actions and companion waypoints.
3042
*- - Fixed problem where character sounds were not consistently
3043
*- playing when a scenario looped.
3044
*- - Fixed problem where path shapes were not always being drawn
3045
*- when they should have been.
3046
*- - Fixed problem where having path shapes in a scenario caused
3047
*- the program to crash on exit.
3048
*- - Fixed crashing bug when shutting down a scenario that
3049
*- contains characters with guides.
3050
**
3051
** \subsubsection v520digs Version 5.2.0
3052
**
3053
*- - Added ability to show character names as floating
3054
*- labels next to the character in the 3D window.
3055
*- Name labels can be shown for current character only,
3056
*- all characters, or no characters. Access via the
3057
*- Scenario | Visibility / Performance property page.
3058
*- - Added "Look At" buttons for characters, waypoints,
3059
*- and path beads on respective Elements pages.
3060
*- - Added special effects such as smoke and fire.
3061
*- - Fixed perl script interpreter so that it will work
3062
*- if DI-Guy is installed in a directory with spaces.
3063
*- - Fixed problem where LOD range scale factors weren't
3064
*- taking effect for scene objects.
3065
**
3066
**
3067
**************************************
3068
** \section v9diguyAI DI-Guy AI 9.0 and earlier
3069
**************************************
3070
**
3071
** \subsection v90AI Version 9.0.x
3072
**
3073
** \subsubsection v901AI Version 9.0.1
3074
**
3075
*- - Fixed bug where characters were improperly going through walls.
3076
*- - Fixed a number of minor crashes with creating behavior paths.
3077
**
3078
** \subsubsection v900AI Version 9.0.0
3079
**
3080
*- - To enable DI-Guy AI in programs using the DI-Guy SDK, the header
3081
*- file "diguy_ai.h" must be included, and the functions
3082
*- diguy_ai_initialize() and diguy_ai_deinitialize() must be called
3083
*- at the appropriate times.
3084
*- - New command line flag added to DI-Guy Scenario for optionally.
3085
*- disabling DI-Guy AI. By default DI-Guy Scenario will look for the
3086
*- diguy_ai license feature and check it out if it is present. By
3087
*- putting "-module diguy_ai" on the command line, DI-Guy Scenario will
3088
*- not attempt to enable DI-Guy AI.
3089
*- - Fixed problem with DI-Guy AI agents having trouble killing animals.
3090
*- - Painting a non-continuous region will be more likely to successfully
3091
*- create a behavior path, the longest path from the start point to the
3092
*- mouse up location is used.
3093
*- - Fixed issues with feelers: changes made via UI now change all crowd
3094
*- members, 3D rep of feelers now updated immediately when changed and
3095
*- on reset.
3096
*- - Fixed problem that agent feeler collide distance could not be
3097
*- greater than turn distance.
3098
*- - It is now possible to add a feeler callback to enable DI-Guy AI agents
3099
*- to interact better with static geometry in the SDK. See the following
3100
*- functions for more details:
3101
*>
3102
*- - diguyCharacter::agent_set_feeler_function()
3103
*- - diguyCharacter::agent_get_feeler_function()
3104
*- - diguyScenario::agent_set_default_character_feeler_function()
3105
*<
3106
*- - Crowds and agents can now flee a group. Accessed via:
3107
*>
3108
*- - diguyCharacter::agent_flee_group()
3109
*- - diguyCrowd::agents_flee_group()
3110
*<
3111
**
3112
** \subsubsection v863AI Version 8.6.3
3113
**
3114
*- - Crowd UI Improvements:
3115
*>
3116
*- - Selected member will now only show postures and variants that it has
3117
*- available.
3118
*- - Selected edit mode with display better visual cues indicating which
3119
*- crowd members will be affected by changes
3120
*- - Added look at member button.
3121
*<
3122
*- - Crowd Blitzing: Blitzing a crowd into an area that is non-contiguous
3123
*- will now attempt to find the longest path from the start point to
3124
*- the end point, This should fix a frequent failure case with the
3125
*- Blitzer.
3126
**
3127
** \subsubsection v861AI Version 8.6.1
3128
**
3129
*- - DI-Guy SAF references changed to DI-Guy AI.
3130
**
3131
** \subsubsection v860AI Version 8.6.0
3132
**
3133
*- - New DI-Guy SAF functions:
3134
*>
3135
*- - diguyCharacter::agent_set_current_behavior_region_border_is_solid()
3136
*- - diguyCrowd::set_all_members_enabled()
3137
*- - diguyCrowd::set_current_behavior_region_border_is_solid()
3138
*- - diguyCrowd::is_current_behavior_and_focus_group()
3139
*- - diguyCrowd::is_current_behavior_and_focus_character()
3140
*- - diguyCrowd::is_current_behavior()
3141
*- - diguyCrowd::is_crowd_dead()
3142
*- - diguyScenario::set_create_network_crowds()
3143
*- - diguyScenario::get_create_network_crowds()
3144
*<
3145
** \subsubsection v850AI Version 8.5.0
3146
**
3147
*- - Initial DI-Guy SAF release.
3148
*- - Added/updated DI-Guy SAF classes:
3149
*>
3150
*- - diguyAgentParams
3151
*- - diguyCrowdProfile
3152
*- - diguyCrowd (extensive changes, promoted from experimental)
3153
*<
3154
*- - New DI-Guy SAF functions:
3155
*>
3156
*- - diguyScenario::destroy_crowd()
3157
*- - diguyScenario::get_num_crowds()
3158
*- - diguyScenario::find_crowd()
3159
*- - diguyScenario::get_crowd_at_index()
3160
*- - diguyScenario::create_crowd_profile()
3161
*- - diguyScenario::destroy_crowd_profile()
3162
*- - diguyScenario::get_num_crowd_profile()
3163
*- - diguyScenario::find_crowd_profile()
3164
*- - diguyScenario::get_crowd_profile_at_index()
3165
*- - diguyScenario::create_group_in_region()
3166
*- - diguyCharacter::agent_attack_group()
3167
*- - diguyCharacter::agent_flee_character()
3168
*- - diguyCharacter::agent_flee_location()
3169
*- - diguyCharacter::agent_remove_all_flee_objects()
3170
*- - diguyCharacter::agent_mingle_in_region()
3171
*- - diguyCharacter::agent_pursue_character()
3172
*- - diguyCharacter::agent_pursue_group()
3173
*- - diguyCharacter::agent_travel_behavior_path()
3174
*- - diguyCharacter::agent_travel_path_shape()
3175
*- - diguyCharacter::agent_travel_region_border()
3176
*- - diguyCharacter::agent_wander_region()
3177
*- - diguyCharacter::agent_stop_behavior()
3178
*- - diguyCharacter::agent_set_current_focus_character()
3179
*- - diguyCharacter::agent_set_current_focus_group()
3180
*- - diguyCharacter::agent_get_initial_params()
3181
*- - diguyCharacter::agent_get_current_params()
3182
*- - diguyCharacter::agent_set_current_params_from_profile()
3183
*- - diguyCharacter::agent_get_current_focus_character()
3184
*<
3185
**
3186
**************************************
3187
** \section v9ME DI-Guy Motion Editor 9.0 and earlier
3188
**************************************
3189
**
3190
** \subsection v90ME Version 9.0.x
3191
**
3192
** \subsubsection v901ME Version 9.0.1
3193
**
3194
*- - Added sample bvh file to motions directory, should help document how
3195
*- DI-Guy expects bvh files to be structured.
3196
**
3197
** \subsubsection v900ME Version 9.0.0
3198
**
3199
*- - If motions are added to an action table, the proper default actor
3200
*- is now set automatically.
3201
*- - Improved support for editing offset poses, should be much easier, and
3202
*- not cause abrupt joint behavior.
3203
*- - Changing the actor of a motion arc now immediately applies the new
3204
*- scale to the motion, improvements to actor choosing, motion scaling,
3205
*- and importing code.
3206
*- - Fixed a number of action table editing issues: including hard crash
3207
*- with undo, "remove unused motions" causing corrupted action tables.
3208
*- - General UI improvements:
3209
*>
3210
*- - +/- keys behave more intuitively with regards to the yaw/pitch/roll
3211
*- of the poser.
3212
*- - Shift key alters magnitude of +/- change.
3213
*- - Poser editing gizmo now auto-scales based on camera distance.
3214
*- - Editing mode is now displayed in 3D window title bar.
3215
*- - Initial directories for me project, importing motions and saving
3216
*- motions are now set to expected values.
3217
*<
3218
**
3219
** \subsubsection v863ME Version 8.6.3
3220
**
3221
*- - Fixed issue with zero length animations causing div by zero.
3222
*- - Fixed minor bug with action tables not properly updating when unused
3223
*- motions were removed.
3224
**
3225
** \subsubsection v7111ME Version 7.1.11
3226
**
3227
*- - Fixed problem that many error messages would appear when saving
3228
*- action tables.
3229
**
3230
** \subsubsection v7110ME Version 7.1.0
3231
**
3232
*- - Fixed various problems with setting variants and angle
3233
*- extents for 2-axis motions in the Action Table Editor.
3234
*- - Added sliders for testing aim actions in the Action Table
3235
*- Editor.
3236
**
3237
** \subsubsection v619ME Version 6.1.9
3238
**
3239
*- - Fixed a number of bugs introduced with the upgrade to high
3240
*- precision positions.
3241
**
3242
** \subsubsection Version 6.1.0
3243
**
3244
*- - Added new gesture table editor, allows for the modification of
3245
*- the action tables of table gestures.
3246
*- - Null motion arcs are now editable, with blend type and duration
3247
*- as parameters.
3248
**
3249
** \subsubsection v606ME Version 6.0.6
3250
**
3251
*- - BVH file import now supports joint translations in addition to
3252
*- rotations.
3253
*- - Resultant BDM files contain only relevant variables.
3254
**
3255
** \subsubsection v600ME Version 6.0.0
3256
**
3257
*- - Initial 6.0 DI-Guy Motion Editor release.
3258
**
3259
**
3260
**************************************
3261
** \section v8digcv DI-Guy Character Viewer 9.0 and earlier
3262
**************************************
3263
**
3264
** \subsection v80cv Version 8.0.x
3265
**
3266
** \subsubsection v802CV Version 8.0.2
3267
**
3268
*- - Added view selection buttons that load new camera settings.
3269
**
3270
** \subsubsection v619CV Version 6.1.9
3271
**
3272
*- - Fixed a number of bugs introduced with the upgrade to high
3273
*- precision positions.
3274
*- - Fixed character transparency.
3275
*- - Fixed selecting the default appearance.
3276
**
3277
** \subsection v60cv Version 6.0.x
3278
**
3279
** \subsubsection v602CV Version 6.0.2
3280
**
3281
*- - Added default settings file that shows Character Type /
3282
*- Appearance / Action selection page.
3283
**
3284
** \subsubsection v601CV Version 6.0.1
3285
**
3286
*- - Fixed problem where appearances that used a different actor than
3287
*- the default actor for a character did not correctly display.
3288
**
3289
** \subsubsection v600CV Version 6.0.0
3290
**
3291
*- - DI-Guy Character Viewer added to DI-Guy Applications Suite.
3292
*- Allows quick review of character types, appearances, and
3293
*- actions.
3294
**
3295
**
3296
**************************************
3297
** \section v9vpdiguy DI-Guy for Vega Prime Version 5.2 - 9.0
3298
**************************************
3299
**
3300
** \subsection v90VP Version 9.0
3301
**
3302
** \subsubsection v903VP Version 9.0.3
3303
**
3304
*- - vpNet 2.2 should now be enabled.
3305
*- - Fixed issue with skyLight lighting and shaders not being properly
3306
*- applied.
3307
*- - Fixed Memory leak when characters were unrefed to zero. Note a slight
3308
*- change to the basics example.
3309
**
3310
** \subsubsection v901VP Version 9.0.1
3311
**
3312
*- - Fixed issue with new vpDiguys not having their locations properly
3313
*- set when reading out of an acf.
3314
*- - Fixed issue with vpDiguyCharacters parented to vpTransforms not
3315
*- being properly created.
3316
**
3317
** \subsubsection v900VP Version 9.0.0
3318
**
3319
*- - DI-Guy for Vega Prime now works with VP 2.2.
3320
**
3321
** \subsection v80VP Version 8.0
3322
**
3323
** \subsubsection v863VP Version 8.6.3
3324
**
3325
*- - Fixed crash on exit when a vpDiguyCharacter parent was not a
3326
*- scenario.
3327
*- - Fixed bug where characters would multiply render if they were
3328
*- parented to a vpObject
3329
*- - parented and translated characters will should start broadcasting
3330
*- over the network with proper values.
3331
**
3332
** \subsubsection v803VP Version 8.0.3
3333
**
3334
*- - Moved example_acfs to their own subdirectory instead of in
3335
** simple_playback directory.
3336
*- - Added warning about setting channel LOD scale to zero, can cause
3337
** character to not draw.
3338
*- - Fixed an issue where not having a valid license could cause vp
3339
** applications to crash.
3340
*- - Fixed licensing issue effecting vpDiguy/vpNet/HLA/stealth.
3341
*- - Basics Programming example now demonstrates ground clamping. As well
3342
*- as some other polish to programming examples.
3343
**
3344
** \subsubsection v802VP Version 8.0.2
3345
**
3346
*- - Improved reporting of version information during installation.
3347
**
3348
** \subsubsection v800VP Version 8.0.0
3349
**
3350
*- - Initial 8.0 release candidate.
3351
*- - vpDiguy using vpNet should now support all coordinate conversion
3352
*- routines that vpNet supports.
3353
*- - Memory usage and rendering performance improvements.
3354
**
3355
** \subsection v70VP Version 7.0
3356
**
3357
** \subsubsection v708VP Version 7.0.8
3358
**
3359
*- - Fixed HLA networking licensing issue. Shouldn't need explicit hla
3360
*- license with vpNet.
3361
*- - Added new autogenerated vpDiguy SDK docs.
3362
*- - Added code to basics example that demonstrates creating a character
3363
*- after configure.
3364
*- - Added documentation about vpDiguy openAL audio module's
3365
*- incompatibility with vpAudio module.
3366
*- - Added static versions of vpDiguy libraries, updated autolinking
3367
*- code in vpDiguyCpp.cpp.
3368
**
3369
** \subsubsection v707VP Version 7.0.7
3370
**
3371
*- - Fixed a number of vpNet related bugs.
3372
*- - NOTE: In order to make vpNet interaction more solid reading of
3373
*- UTM coordinates out of Scenario Objects in vpDiguy has been
3374
*- disabled. UTM coordinates should be specified explicitly in the
3375
*- Net Connection gcf panel and the DI-Guy Scenario Network Page.
3376
**
3377
** \subsubsection v706VP Version 7.0.6
3378
**
3379
*- - Fixed a number of recreation/looping related bugs.
3380
**
3381
** \subsubsection v703VP Version 7.0.3
3382
**
3383
*- - Turned on vpNet/vpDiguy networking.
3384
*- - Updated all the acfs to be vp 2.0 compliant.
3385
*- - Updated vpDiguy gcf to include new 7.0 content.
3386
*- - Fixed bug in UTM support.
3387
*- - Fixed problem if multiple diguy particles attempt to instantiate
3388
*- the same type of vpFX. Fixed memory leak as well.
3389
*- - Fixed divide by zero bug in networking code, could cause 0th
3390
*- character to never show up.
3391
*- - Fixed bug where a character with an appearance change would
3392
*- not be recreated properly if a scenario was looping.
3393
**
3394
** \subsubsection v700VP Version 7.0.0
3395
**
3396
*- - Fixed a couple of vpDiguyScenario function calls to print a warning
3397
*- if the functions are called before configure, instead of crashing.
3398
*- - diguyCharacter's position syncs with vpDiguyCharacter on creation.
3399
*- - Distributed rendering should now support mapping from DI-Guy
3400
* particles.
3401
**
3402
**
3403
** \subsection v60VP Version 6.0
3404
**
3405
** \subsubsection v6111VP Version 6.1.11
3406
**
3407
*- - Consolidated networking examples, moved
3408
*- vpnet_(send/receive)_(dis/hla).acf
3409
*- into simple_playback because they didn't have unique c++ code.
3410
*- - Added postLoad function to vpDiguyCharacter building code to try
3411
*- and enable sensor prime.
3412
*- - Added vpDiguyScenario::set_time_independent_of_vp_sim_time() and
3413
*- vpDiguyScenario::get_time_independent_of_vp_sim_time() Allows
3414
*- time to be disconnected from sim time.
3415
**
3416
** \subsubsection v6110VP Version 6.1.10
3417
**
3418
*- - Renamed vpDiguyScenario::SetSyncCameraEnable() to
3419
*- vpDiguyScenario::setSyncCameraEnable().
3420
**
3421
** \subsubsection v619VP Version 6.1.9
3422
**
3423
*- - Added per scenario time offset code.
3424
**
3425
** \subsubsection v618VP Version 6.1.8
3426
**
3427
*- - Code now compiles against Vega 2.0 libraries:
3428
*- - Added 2.0 style copy constructor for diguyCharacters to use in
3429
*- cloning.
3430
*- - Fixed a bug where locked off joints issued warnings.
3431
*- - Fixed a bug where some dynamic matrices weren't being properly
3432
*- updating, fixes gazing inside Vega.
3433
*- - Altered how diguyScenarios get loaded to accommodate new
3434
*- merging code.
3435
*- - Unsupported Vega sound module now uses openAL.
3436
**
3437
** \subsubsection v611VP Version 6.1.1
3438
**
3439
*- - gcfs and xsd no longer use "DI-Guy" in the naming convention;
3440
*- instead "Diguy" is now used. This avoids uncompilable code
3441
*- generated from lynxPrime's export .cpp functionality, as well
3442
*- as being more consistent with Vega conventions.
3443
**
3444
** \subsubsection v608VP Version 6.0.8
3445
**
3446
*- - Fixed serious bug affecting HLA networking in DI-Guy for Vega
3447
*- Prime. This bug was causing various problems, ranging from
3448
*- missing or extra apparent network entities, to entities
3449
*- appearing at the wrong location.
3450
**
3451
** \subsubsection v607VP Version 6.0.7
3452
**
3453
*- - Changed all Vega Prime code/acfs that specify "DI-Guy" to "Diguy".
3454
*- This should allow cpp exports to work better.
3455
*- - Renamed vpDiguy.h/cpp to vpDiguySettings to better match acf info.
3456
*- - Added Vega Prime view settings example that shows off camera sync
3457
*- code.
3458
*- - Added Vega Prime simple example that shows how to initialize and
3459
*- run with no acf or dss.
3460
**
3461
** \subsubsection v606VP Version 6.0.6
3462
**
3463
*- - Fixed problem which inadvertently disabled standard Vega Prime
3464
*- "X" key functionality (enable / disable the position strategy
3465
*- for all observers) in a vpDiguy application.
3466
**
3467
** \subsubsection v605VP Version 6.0.5
3468
**
3469
*- - Fixed problems preventing DI-Guy for Vega Prime from
3470
*- working with DIS/HLA for Vega Prime. DI-Guy for Vega
3471
*- Prime now works with Vega Prime 1.2.2 from MultiGen
3472
*- Paradigm and vpNet 1.2.2 from MAK Technologies. Prior
3473
*- versions of vpNet are not supported.
3474
**
3475
** \subsubsection v602VP Version 6.0.2
3476
**
3477
*- - Switched bdiString to bdiString* in vpDiguyCharacter.h, to remove
3478
*- a dependency on a header file that is not distributed.
3479
**
3480
** \subsubsection v601VP Version 6.0.1
3481
**
3482
*- - Fixed problem in vpDiguy DIS networking. Outgoing entities were
3483
*- being published with entity numbers which conflicted with those
3484
*- being used by Vega Prime entities. On the receiving end, this
3485
*- would cause characters to pop from place to place.
3486
**
3487
**
3488
** \subsection v50VP Version 5.0
3489
**
3490
** \subsubsection v534VP Version 5.3.4
3491
**
3492
*- - Added a circle example program to programming_examples/vpdiguy.
3493
**
3494
** \subsubsection v533VP Version 5.3.3
3495
**
3496
*- - DI-Guy characters types are now listed in a Character Type combo box.
3497
*- - A character type sensitive list of appearances are now listed in an
3498
*- Appearance combo box.
3499
*- - A character type sensitive list of actions are now listed in an
3500
*- Action combo box.
3501
*- - A character type sensitive list of head appearances are now listed
3502
*- in a Head Appearance combo box.
3503
*- - Altering the xyz position, heading or scale factor of a character
3504
*- now reflects on the character immediately.
3505
*- - Adding a ground clamp to a DI-Guy Scenario node now adds the ground
3506
*- clamp to all of its children that don't currently have a ground
3507
*- clamp.
3508
*- - Added new DI-Guy Settings functionality, including turning on/off
3509
*- scripting, sound effects, facial expressions, and the mapping of
3510
*- DI-Guy particles to Vega particles.
3511
*- - Added new options to DI-Guy Scenario panel.
3512
*- - Added toggle for showing scene objects found in the scenario file.
3513
*- - Added Sync Camera option that will slave the observer/motion controls
3514
*- to the DI-Guy camera.
3515
*- - Adding a DI-Guy character directly to a scene now creates one without
3516
*- a scenario being necessary.
3517
*- - DI-Guy characters dropped into a vpNet model map are now correctly
3518
*- cloned. (Requires the latest version of vpNet.)
3519
**
3520
** \subsubsection v531VP Version 5.2.1
3521
**
3522
*- - Better integration with MaK's vpNet module (see above).
3523
*- - Installation now occurs as a separate module on the DI-Guy CD.
3524
*- - Installation now automatically copies samples, documents to the Vega
3525
*- Prime installation as well as registering the DI-Guy for Vega Prime
3526
*- module.
3527
**
3528
*
3529
3530
*****************************************************************************
3531
*****************************************************************************
3532
**
3533
** \section diguydata DI-Guy Data, 9.0 and Earlier
3534
**
3535
*****************************************************************************
3536
*****************************************************************************
3537
**
3538
** \subsection v90data Version 9.0
3539
**
3540
**
3541
** \subsubsection v901data Version 9.0.1
3542
**
3543
*- - Added character soldier_sa80, a British soldier with desert and
3544
*- temperate appearances using a sa80, based on the soldier_07 character.
3545
*- Available appearances:
3546
*>
3547
*- - uk_desert_sa80
3548
*- - uk_temperate_sa80
3549
*<
3550
*- - Added character "projectile" with meters per second motions.
3551
*- Character projectile appearances:
3552
*>
3553
*- - rpg_fired
3554
*- - sa7_fired
3555
*- - stinger_fired
3556
*- - javelin_fired
3557
*- - 120mm_tank_round_fired
3558
*- - at4_fired
3559
*- - 40mm_fired
3560
*<
3561
*- - Added sound files: m203_hit.wav, fire_m203.wav, arabic_street_sounds.wav
3562
*- sa7_flight.wav, sa7_fired.wav, stinger_fired.wav, stinger_flight.wav,
3563
*- javelin_flight.wav, javelin_impact.wav, at4_fired.wav, at4_flight.wav
3564
*- at4_impact.wav, javelin_fired.wav, pk74_fired.wav, m1a1_fired.wav
3565
**
3566
** \subsubsection v901data Version 9.0.0
3567
**
3568
*- - Some character types have been made deprecated, and made "legacy"
3569
*- character types. If these character types are used in an existing
3570
*- .dss file or are created by a diguyScenario::create_character()
3571
*- call they will be created, but by default they will not show up
3572
*- in any DI-Guy Scenario character type selection controls. The
3573
*- legacy character types are:
3574
*>
3575
*- - soldier_m249
3576
*- - soldier_m4
3577
*- - soldier_qk
3578
*- - soldier_signals
3579
*- - soldier_fire
3580
*- - soldier_pistol
3581
*- - soldier_melios
3582
*- - afghan_child_crowd
3583
*- - male_pedestrian3
3584
*- - mped_sweeper
3585
*- - mped1_misc
3586
*- - mped2_misc
3587
*- - mped3_misc
3588
*- - mped5_crowd2
3589
*- - mped5_crowd3
3590
*- - mped5_crowd4
3591
*- - mped5_crowd5
3592
*- - mped5_crowd6
3593
*- - fped2_misc
3594
*- - fped3_crowd2
3595
*- - suspect3
3596
*- - marshaller
3597
*- - esil
3598
*- - soldier_precise
3599
*- - launcher
3600
*- - suspect
3601
*- - suspect2
3602
*- - fped_mother
3603
*- - sergeant
3604
*<
3605
**
3606
** \subsection v80data Version 8.0
3607
**
3608
** \subsubsection v800data Version 8.0.0
3609
**
3610
*- - New character types:
3611
*>
3612
*- - chain_simulation
3613
*- - civilian_cc
3614
*- - soldier_cc
3615
*- - soldier_at4
3616
*- - soldier_javelin
3617
*- - soldier_m249
3618
*- - soldier_m9
3619
*- - soldier_m4
3620
*- - train
3621
*<
3622
*- - New human appearances:
3623
*>
3624
*- - 3 Security Guards
3625
*- - Hazmat Suits level A B and C
3626
*- - Assortment of Hazmat props
3627
**
3628
*- - 10 different Close Combat civilians
3629
*- - Close Combat BDU and DCU with M9, M249, M240, M60, AT4,
3630
*- Javelin M4 with M203, M16 with M203 Stinger weapons
3631
*- - Close Combat Opfor with SA16, RPG7, AK47 and PK74 weapons
3632
**
3633
*- - 3 Iraqi Insurgents
3634
*- - 2 Iraqi Soldier
3635
*- - 2 Iraqi Police
3636
**
3637
** The following soldier appearances can have M9, M249, M240, M60,
3638
** AT4, Javelin M4 with M203 and M16 with M203 weapons:
3639
**
3640
*- - 4 BDU with IBA
3641
*- - 4 ACU with IBA
3642
*- - 4 USMC with IBA
3643
*- - 4 USMC desert with IBA
3644
*<
3645
*- - New turret vehicle and technical vehicle appearances:
3646
*>
3647
*- - gaz_truck_w_ZSU23_turret
3648
*- - gaz_truck_w_ZSU23_turret_blown
3649
*- - toyota_pickup_tech_turret
3650
*- - toyota_pickup_tech_turret_blown
3651
*- - humvee_50cal_grn_turret
3652
*- - humvee_50cal_grn_turret_blown
3653
*- - humvee_50cal_des_turret
3654
*- - humvee_50cal_des_turret_blown
3655
*- - m1a2_abrams_grn_turret
3656
*- - m1a2_abrams_grn_turret_blown
3657
*- - m1a2_abrams_des_turret
3658
*- - m1a2_abrams_des_turret_blown
3659
*- - t72_tank_grn_turret
3660
*- - t72_tank_grn_turret_blown
3661
*- - t72_tank_des_turret
3662
*- - t72_tank_des_turret_blown
3663
*- - m2a3_bradley_grn_turret
3664
*- - m2a3_bradley_grn_turret_blown
3665
*- - m2a3_bradley_des_turret
3666
*- - m2a3_bradley_des_turret_blown
3667
*- - leclerc_tank_descamo_turret
3668
*- - leclerc_tank_descamo_turret_blown
3669
*- - leclerc_tank_camo_turret
3670
*- - leclerc_tank_camo_turret_blown
3671
*<
3672
*- - Added Motions to Soldier and Soldier2 characters:
3673
*>
3674
*- - stand_ready_8th_turn_left
3675
*- - stand_ready_8th_turn_right
3676
*- - stand_ready_qtr_turn_left
3677
*- - stand_ready_qtr_turn_right
3678
*- - stand_aim_extreme
3679
*- - kneel_aim_extreme
3680
*- - walk_aim
3681
*- - walk_aim_back
3682
*<
3683
**
3684
** \subsection v70data Version 7.0
3685
**
3686
** \subsubsection v700data Version 7.0.0
3687
**
3688
*- - New character types:
3689
*>
3690
*- - chem_bio_pedestrian
3691
*- - fdc_chock_and_chains
3692
*- - fdc_fuelman
3693
*- - fdc_grounding
3694
*- - fdc_pallet
3695
*- - fdc_pedestrian
3696
*- - firefighter
3697
*- - fireman_silver
3698
*- - vehicle_technical
3699
*- - vehicle_turret
3700
*- - vehicle_wheels
3701
*<
3702
**
3703
** \subsection v60data Version 6.0
3704
**
3705
** \subsubsection v612data Version 6.1.2
3706
**
3707
*- - Vehicles and props now have more accurate bounding volumes.
3708
*- - Fixed problem with config file appearance syntax. The
3709
*- item "shapeset:shape" format caused a crash; it now works
3710
*- again.
3711
*- - Replaced default scene object
3712
*- (sets/default_stage/default_stage.flt) with new default
3713
*- (sets/default_stage7/flt/default_stage7.flt). The new
3714
*- default_stage7.flt scene object has a number of different
3715
*- areas in which example scenarios can be placed.
3716
**
3717
** \subsubsection v611data Version 6.1.1
3718
**
3719
*- - Added new appearance "invisible_human"; Using this appearance
3720
*- for a human character will remove all geometry from the
3721
*- character, effectively making it invisible.
3722
**
3723
** \subsubsection v610data Version 6.1.0
3724
**
3725
*- - Added ability to specify in config files how long a null
3726
*- transition should take, and which blend function it should use.
3727
**
3728
** \subsubsection v602data Version 6.0.2
3729
**
3730
*- - Modified stroll motions of female_pedestrian character to move
3731
*- hands further away from body.
3732
*- - Fixed some facing issues for soldier-type characters in transition
3733
*- motions between stand_aim and kneel_aim actions.
3734
**
3735
** \subsubsection v601data Version 6.0.1
3736
**
3737
*- - Added particle_puff.rgba to list of effects textures.
3738
*- - Fixed the standing hip height of actor greg. It had been
3739
*- mistakenly changed to match that of actor bill. This caused
3740
*- problems for motion scaling for some actor / appearance
3741
*- combinations. (PR 3029)
3742
**
3743
** \subsubsection v600data Version 6.0.0
3744
**
3745
*- - Initial 6.0 DI-Guy Data release.
3746
**
3747
**
3748
** \subsection v50data Version 5.0
3749
**
3750
** \subsubsection v535data Version 5.3.5
3751
**
3752
*- - Removed one unused level of Motion LODs from data loaders
3753
*- config entries. The removed LOD 6 always had 0 variables in
3754
*- it, which wasn't useful for anything.
3755
*- This change requires use of DI-Guy Applications 5.3.5.
3756
**
3757
** \subsubsection v532data Version 5.3.2
3758
**
3759
*- - Changed format of Motion Texture (motex) entries in DI-Guy
3760
*- config files. The new format gives motion textures their
3761
*- own config entry keyword, separate from motion arcs. This
3762
*- allows DI-Guy to know exactly which motions are going to be
3763
*- used as motion textures. Custom motion textures using the
3764
*- old format need to be updated.
3765
*- - Changed format of gesture entries in DI-Guy config files.
3766
*- Custom gestures using the old format need to be updated.
3767
**
3768
** \subsubsection v531data Version 5.3.1
3769
**
3770
*- - Fixed problem with airport_crowd character selecting wrong
3771
*- action for default moving action.
3772
*- - Added sergeant2 character, which is similar to the sergeant
3773
*- character but better deals with transitions between actions.
3774
*- - Added fped_mother2 character, which is similar to the fped_mother
3775
*- character but better deals with transitions between actions.
3776
**
3777
** \subsubsection v522data Version 5.2.2
3778
**
3779
*- - Running motion has been improved for the following characters:
3780
*- afghan_fighter, cbd, soldier, soldier2, soldier_precise, soldier_qk.
3781
*- Scenarios from previous revisions using these motions may behave
3782
*- slightly differently.
3783
**
3784
*/
diguy_changes_older_dox.h
Generated on Wed Oct 22 2025 20:29:42 for DI-Guy SDK Documentation by
1.8.9.1