#define IMAGE_BLINK_ADD(_name) \ group { \ name: _name; \ parts { \ part { \ name: "blink"; \ mouse_events: 0; \ type: RECT; \ description { \ state: "default" 0.0; \ visible: 0; \ } \ description { \ state: "blinking" 0.0; \ inherit: "default" 0.0; \ } \ } \ part { \ name: #_name; \ mouse_events: 0; \ type: IMAGE; \ description { \ state: "default" 0.0; \ image.image: #_name##".png" COMP; \ image.normal: #_name##".png"; \ color: 255 255 255 255; \ } \ description { \ state: "hidden" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 0; \ } \ } \ } \ programs { \ program { \ name: "blink"; \ signal: "blink"; \ source: "game"; \ filter: "blink" "default"; \ action: STATE_SET "blinking" 0.0; \ target: "blink"; \ after: "blink,0"; \ } \ program { \ name: "blink,0"; \ action: STATE_SET "hidden" 0.0; \ transition: LINEAR 0.3; \ target: #_name; \ after: "blink,1"; \ } \ program { \ name: "blink,1"; \ action: STATE_SET "default" 0.0; \ transition: LINEAR 0.3; \ in: 0.2 0; \ target: #_name; \ after: "blink,2"; \ } \ program { \ name: "blink,2"; \ action: STATE_SET "hidden" 0.0; \ transition: LINEAR 0.2; \ target: #_name; \ after: "blink,3"; \ } \ program { \ name: "blink,3"; \ action: STATE_SET "default" 0.0; \ transition: LINEAR 0.1; \ in: 0.1 0; \ target: #_name; \ after: "blink,4"; \ } \ program { \ name: "blink,4"; \ action: STATE_SET "hidden" 0.0; \ transition: LINEAR 0.1; \ target: #_name; \ after: "blink,5"; \ } \ program { \ name: "blink,5"; \ action: STATE_SET "default" 0.0; \ transition: LINEAR 0.05; \ target: #_name; \ after: "blink,6"; \ } \ program { \ name: "blink,6"; \ action: STATE_SET "hidden" 0.0; \ transition: LINEAR 0.03; \ target: #_name; \ after: "blink,7"; \ } \ program { \ name: "blink,7"; \ action: SIGNAL_EMIT "end" "object"; \ } \ } \ } IMAGE_BLINK_ADD(flag) IMAGE_BLINK_ADD(sailback) IMAGE_BLINK_ADD(sailfront) IMAGE_BLINK_ADD(prisonbar_80) IMAGE_BLINK_ADD(prisonbar_100) IMAGE_BLINK_ADD(prisonbar_120) #undef IMAGE_BLINK_ADD