29 #ifndef __diguyAuthorInterface_H
30 #define __diguyAuthorInterface_H
35 #define CPLUSPLUS_ONLY
47 class bdiScenarioEditorInput;
56 #define AUTHOR_UI_MAIN_WINDOW_NAME "main_window"
57 #define AUTHOR_UI_INPUT_MODE_WINDOW_NAME "input_mode"
58 #define AUTHOR_UI_TIME_CONTROL_WINDOW_NAME "time_control"
59 #define AUTHOR_UI_LOG_WINDOW_NAME "log"
60 #define AUTHOR_UI_VISIBILITY_WINDOW_NAME "visibility"
61 #define AUTHOR_UI_ELEMENTS_WINDOW_NAME "elements"
62 #define AUTHOR_UI_CHARACTER_WINDOW_NAME "character"
63 #define AUTHOR_UI_CROWD_WINDOW_NAME "crowd"
64 #define AUTHOR_UI_MIND_EDITOR_WINDOW_NAME "mind_editor"
65 #define AUTHOR_UI_AI_INSPECTOR_WINOW_NAME "ai_inspector"
125 void set_mouse_screen_coordinates(
int x,
int y);
147 void set_mouse_world_coordinates(
diguyVec3f world_coords);
164 void set_mouse_button_l(
int button_state);
171 void set_mouse_button_r(
int button_state);
178 void set_mouse_button_m(
int button_state);
196 void set_mouse_wheel_change(
float mouse_wheel_change);
205 void apply_mouse_inputs();
239 void set_keyboard_shift(
int key_state);
246 void set_keyboard_ctrl(
int key_state);
253 void set_keyboard_alt(
int key_state);
269 void set_key_pressed(
int key,
int key_state);
319 int set_selected_diguy_uid(
long uid);
326 int set_selected_diguy_uid_from_string(
const char* uid_string);
348 int get_uid_base_type(
long uid);
355 int get_uid_base_type_from_string(
const char* uid_string);
448 virtual int convert_screen_to_world(
const diguyVec3f& screen_xyz,
467 virtual int convert_world_to_screen(
const diguyVec3f& world_xyz,
470 virtual float get_altitude(
float x,
float y,
float old_z,
471 float from_height = 10.0f,
472 int* valid_result = NULL) = 0;
478 virtual int update_selected_objects(
const diguyVec3f& screen_xyz) = 0;
480 virtual int check_z_clearance(
const diguyVec3f& pos,
482 const float ground_angle,
483 float z_clear_height,
484 int check_below = 1)
const = 0;
517 int set_author_ui_window_visible(
const char* window_name,
int visible);
528 int get_author_ui_window_visible(
const char* window_name);
545 int set_author_ui_panel_visible(
const char* panel_name);
558 int set_author_ui_select_crowd_character(
diguyCharacter* character);
571 int set_author_ui_select_code_browser_script(
diguyCharacter* character);
588 #ifdef CPLUSPLUS_ONLY
596 virtual void author_ui_window_visibility_changed(
const char* window_name,
634 #ifdef CPLUSPLUS_ONLY
675 static int generate_sphere_vertices(
float radius,
684 int indices_for_wireframe,
686 unsigned int** indices);
699 static int generate_cone_vertices(
float radius,
709 int indices_for_wireframe,
711 unsigned int** indices);
724 static int generate_cylinder_vertices(
float radius,
734 int indices_for_wireframe,
736 unsigned int** indices);
755 int indices_for_wireframe,
757 unsigned int** indices);
765 static void delete_generated_vertices(
diguyVec3f* vertices,
768 unsigned int* indices);
779 #ifdef CPLUSPLUS_ONLY
781 bdiScenarioEditorInput* get_scripted_object() {
return m_scripted_object;}
792 friend class bdiScenarioApp;
793 friend class bdiScenarioEditorInput;
794 bdiScenarioEditorInput* m_scripted_object;