1 #ifdef EYE_CANDY 2 3 #ifndef __EYE_CANDY_WINDOW_H__ 4 #define __EYE_CANDY_WINDOW_H__ 5 6 #ifdef __cplusplus 7 #include <vector> 8 9 #include "../eye_candy/eye_candy.h" 10 #include "../eye_candy_wrapper.h" 11 12 class EffectDefinition 13 { 14 public: EffectDefinition()15 EffectDefinition() 16 : effect(0), hue(0), saturation(0), scale(0), density(0), base_height(0), angle(0) 17 { 18 position = ec::Vec3(-1.0, -1.0, 0.0); 19 reference = NULL; 20 }; 21 ~EffectDefinition()22 ~EffectDefinition() 23 { 24 // if (reference) 25 // ec_recall_effect(reference); 26 }; 27 28 int effect; 29 float hue; 30 float saturation; 31 float scale; 32 float density; 33 float base_height; 34 ec::Vec3 position; 35 float angle; 36 ec::SmoothPolygonBoundingRange bounds; 37 ec_reference reference; 38 }; 39 40 extern EffectDefinition current_effect; 41 extern std::vector<EffectDefinition> effects; 42 extern EffectDefinition current_effect; 43 44 extern "C" 45 { 46 #endif //__cplusplus 47 48 extern int view_eye_candy_window; 49 extern int last_ec_index; 50 extern int eye_candy_window; 51 extern int eye_candy_confirmed; 52 extern int eye_candy_initialized; 53 extern int eye_candy_ready_to_add; 54 55 void draw_eye_candy_obj_info(); 56 void create_eye_candy_window(); 57 void change_eye_candy_effect(); 58 void confirm_eye_candy_effect(); 59 void remove_current_eye_candy_effect(); 60 int display_eye_candy_window_handler(); 61 int check_eye_candy_window_interface(); 62 void update_eye_candy_position(float x, float y); 63 void add_eye_candy_point(); 64 void delete_eye_candy_point(); 65 void eye_candy_add_effect(); 66 void eye_candy_done_adding_effect(); 67 void eye_candy_adjust_z(float offset); 68 int eye_candy_get_effect(); 69 void draw_bounds_on_minimap(); 70 void draw_eye_candy_selectors(); 71 void select_eye_candy_effect(int i); 72 void kill_eye_candy_effect(); 73 int get_eye_candy_count(); 74 void deserialize_eye_candy_effect(particles_io* data); 75 void serialize_eye_candy_effect(int index, particles_io* data); 76 void destroy_all_eye_candy(); 77 78 #ifdef __cplusplus 79 } 80 void draw_bound(EffectDefinition& eff, bool selected); 81 void draw_eye_candy_selector(const EffectDefinition*const effect, const int i); 82 bool find_bounds_index(float x, float y); 83 ec::SmoothPolygonElement angle_to(float start_x, float start_y, float end_x, float end_y); 84 85 #endif //__cplusplus 86 87 #endif //__EYE_CANDY_WINDOW_H__ 88 89 #endif // EYE_CANDY 90