1 /* ----------------------------------------------------------------------------*/
2 /* embryo script for logger and rotation */
3 /* ----------------------------------------------------------------------------*/
7 public logger_enable = 0;
10 public set_logging(on) {
11 set_int(logger_enable, on);
14 public log_msg(Msg_Type:type, ...) {
15 if (get_int(logger_enable) == 1) {
16 if (type == MSG_STRING) {
22 new no = get_int(logno);
23 snprintf(logno_str, 10, "[%i] ", no);
24 strprep(msg, logno_str);
27 get_text(PART:"logger", str, 1024);
30 set_text(PART:"logger", str);
36 #endif /* end of USE_LOGGER */
38 public prev_window_ang = 0;
39 public curr_window_ang = 0;
41 public set_curr_window_ang(ang) {
42 set_int(curr_window_ang, ang);
45 public window_rotation(do_effect) {
52 prev_ang = get_int(prev_window_ang);
53 curr_ang = get_int(curr_window_ang);
55 get_geometry(PART:"shower", x, y, w, h);
59 snprintf(str, 200, "window_rotation() %i,%i %ix%i %i->%i", x, y, w, h, prev_ang, curr_ang);
60 log_msg(MSG_STRING, str);
61 #endif /* end of USE_LOGGER */
63 diff_ang = prev_ang - curr_ang;
65 if (diff_ang == 180 || diff_ang == -180) {
69 else if (diff_ang == 0) {
78 custom_state(PART:"shower", "default", 0.0);
79 set_state_val(PART:"shower", STATE_MIN, rect_w, rect_h);
80 set_state_val(PART:"shower", STATE_MAX, rect_w, rect_h);
81 set_state_val(PART:"shower", STATE_MAP_ROT_Z, curr_ang*1.0);
82 set_state(PART:"shower", "custom", 0.0);
84 custom_state(PART:"e.swallow.content", "default", 0.0);
86 set_state_val(PART:"e.swallow.content", STATE_MAP_ROT_Z, prev_ang*1.0);
89 set_state_val(PART:"e.swallow.content", STATE_MAP_ROT_Z, curr_ang*1.0);
91 set_state(PART:"e.swallow.content", "custom", 0.0);
93 set_int(prev_window_ang, curr_ang);