home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 November / CDVD1105.ISO / Util / Winamp / Skins / Anime_Shogo.wal / scripts / libraryscrpt.m < prev    next >
Text File  |  2004-08-22  |  3KB  |  118 lines

  1. #include <lib/std.mi>
  2.  
  3. Function mlresize(int h, int w);
  4. Function doortoggle(int h);
  5.  
  6. Global Group Topdoor, Bottomdoor, frameGroup, Overlay;
  7. Global Layer Toplogo, BottomLogo;
  8. Global Timer doorTimer;
  9. Global Guiobject mleditor;
  10. Global Boolean doorState, doorML;
  11.  
  12. System.onScriptLoaded() {
  13.     frameGroup = getScriptGroup();
  14.  
  15.     mleditor = framegroup.findObject("library.content");
  16.  
  17.     Topdoor = framegroup.findObject("library.topdoor");
  18.     Bottomdoor = framegroup.findObject("library.bottomdoor");
  19.  
  20.     Toplogo = framegroup.findObject("topdoor.logo");
  21.     Bottomlogo = framegroup.findObject("bottomdoor.logo");
  22.  
  23.     Overlay = frameGroup.findObject("library.overlay");
  24.  
  25.     doorState = 1;
  26.  
  27.     doorML = system.getPrivateInt(getSkinName(), "doorML", 0);
  28.  
  29.     if(doorML) {
  30.         mleditor.hide();
  31.  
  32.         mlresize(framegroup.getHeight(), framegroup.getWidth());
  33.  
  34.         doorTimer = new Timer;
  35.         doorTimer.setDelay(300);
  36.         doorTimer.start();
  37.     } else {
  38.         Topdoor.hide();
  39.         Toplogo.hide();
  40.         Bottomdoor.hide();
  41.         Bottomlogo.hide();
  42.  
  43.         Overlay.hide();
  44.  
  45.         mleditor.show();
  46.     }
  47. }
  48.  
  49. System.onScriptUnloading() {
  50.   delete doorTimer;
  51. }
  52.  
  53. mlresize(int h, int w) {
  54.         Topdoor.setXmlParam("h", integerToString((h-48)/2));
  55.         Toplogo.setXmlParam("x", integerToString((w-44)/2-47));
  56.  
  57.         Bottomdoor.setXmlParam("h", integerToString((h-48)/2));
  58.         Bottomdoor.setXmlParam("y", integerToString((h-48)/2+24));
  59.         Bottomlogo.setXmlParam("x", integerToString((w-44)/2-61));
  60. }
  61.  
  62. framegroup.onresize(int x, int y, int w, int h) {
  63.     if(doorML) mlresize(h, w);
  64. }
  65.  
  66. doorTimer.onTimer() {
  67.     doortoggle(framegroup.getHeight());
  68.     doorTimer.stop();
  69. }
  70.  
  71. doortoggle(int h) {
  72.     if(doorstate) {
  73.     int toph = Topdoor.getXmlParam("h");
  74.  
  75.     Topdoor.setTargetY(24-toph);
  76.     Topdoor.setTargetSpeed(3);
  77.     Topdoor.gotoTarget();
  78.  
  79.     Bottomdoor.setTargetY((h-48)/2+(h-48)/2+24);
  80.     Bottomdoor.setTargetSpeed(3);
  81.     Bottomdoor.gotoTarget();
  82.  
  83.     doorState = 0;
  84.     } else {
  85.     Topdoor.setTargetY(24);
  86.     Topdoor.setTargetSpeed(3);
  87.     Topdoor.gotoTarget();
  88.  
  89.     Bottomdoor.setTargetY((h-48)/2+24);
  90.     Bottomdoor.setTargetSpeed(3);
  91.     Bottomdoor.gotoTarget();
  92.  
  93.     doorState = 1;
  94.     }
  95. }
  96.  
  97. Topdoor.onTargetReached() {
  98.     if(!doorState) {
  99.         mleditor.show();
  100.  
  101.         Overlay.setTargetA(0);
  102.         Overlay.setTargetSpeed(0.5);
  103.         Overlay.gotoTarget();
  104.  
  105.         Topdoor.hide();
  106.         Bottomdoor.hide();
  107.     }
  108. }
  109.  
  110. Overlay.onTargetReached() {
  111.     if(Overlay.getAlpha()==0) Overlay.hide();
  112.     else {
  113.         Topdoor.show();
  114.         Bottomdoor.show();
  115.         mleditor.hide();
  116.         doortoggle(framegroup.getHeight());
  117.     }
  118. }