14 #ifndef __diguyCharacterGesture_H
15 #define __diguyCharacterGesture_H
21 #define CPLUSPLUS_ONLY
25 class bdiGestureInstance;
26 class bdiScenarioCharacter;
35 void* callback_params,
36 void* callback_user_data);
68 const char* get_name();
138 int get_has_begun_flag();
166 int get_has_completed_flag();
190 int abort_now(
float max_rampdown_interval);
212 int set_automatic_destroy_flag(
int automatic_destroy_flag);
234 int set_interpolation_flag(
int flag);
245 int get_interpolation_flag();
256 int get_num_channels();
284 int set_channel_weight(
char channel,
float channel_weight);
295 float get_channel_weight(
char channel);
340 int set_channel_weight_target(
char channel,
341 float channel_weight_target,
344 const char* blend_function_name = 0);
423 int add_channel_weight_target(
char channel,
424 float channel_weight_target,
427 const char* blend_function_name = 0);
456 int set_rampup_duration(
float duration);
467 float get_rampup_duration();
490 int set_rampup_blend_function_name(
const char* blend_function_name);
502 const char* get_rampup_blend_function_name();
524 int set_rampdown_duration(
float duration);
535 float get_rampdown_duration();
558 int set_rampdown_blend_function_name(
const char* blend_function_name);
570 const char* get_rampdown_blend_function_name();
587 float get_default_blend_duration();
622 int set_max_reps(
int max_reps,
623 int derive_duration_flag = 1);
666 int set_overall_duration(
float overall_duration,
667 int derive_max_reps_flag = 1);
682 float get_overall_duration();
694 int get_num_progression_stages();
715 int set_progression_stage_duration(
int stage,
float duration);
730 float get_progression_stage_duration(
int stage);
745 float get_progression_stage_optimal_duration(
int stage);
777 int set_table_action_desired(
const char* action_name);
798 const char* get_table_action_desired();
814 float get_time_required_to_reach_table_action_desired();
831 int get_num_table_actions();
847 const char* get_table_action_at_index(
int index);
867 float get_table_action_rep_duration(
const char* action_name);
888 float get_table_transition_duration(
const char* action_from,
889 const char* action_to);
915 int set_table_action_begin(
const char* action_name);
927 const char* get_table_action_begin();
948 int set_table_action_end(
const char* action_name);
960 const char* get_table_action_end();
972 const char* get_table_action_now();
983 const char* get_table_action_next();
1010 int force_table_action(
const char* action_name,
1011 int include_transition_arc = 1,
1012 float max_rampdown_interval = 0.5f);
1034 CALLBACK_ID_CREATE = 1,
1035 CALLBACK_ID_DESTROY,
1036 CALLBACK_ID_ATTAINED_DESIRED_ACTION
1039 #ifdef CPLUSPLUS_ONLY
1090 int add_callback(
int callback_id,
1092 void* callback_params = 0,
1093 void* callback_user_data = 0);
1115 int remove_callback(
int callback_id,
1138 int remove_callback_with_user_data(
int callback_id,
1139 void* callback_user_data);
1174 int add_callback_script(
int callback_id,
1175 const char* callback_script,
1176 const char* callback_script_type = NULL);
1210 int remove_callback_script(
int callback_id,
1211 const char* callback_script,
1212 const char* callback_script_type = NULL);
1236 #ifdef CPLUSPLUS_ONLY
1238 bdiGestureInstance* get_scripted_object() {
return m_scripted_object;}
1257 bdiGestureInstance* m_scripted_object;
1259 friend class bdiScenarioCharacter;
1260 friend class bdiGestureInstance;