home *** CD-ROM | disk | FTP | other *** search
/ SeeIn AO / ALICE-CD.BIN / Šj”­ƒlƒbƒg�•‚»‚Ì‘¼ / nv_mini / source / nvsmenu.adv < prev    next >
Text File  |  1998-08-31  |  10KB  |  374 lines

  1. ;===============================================================================
  2. ; NVSYSTEM-mini âVâXâeâÇâüâjâàü[                        programmed by ALICE SOFT
  3. ;===============================================================================
  4.  
  5. **SystemMenu:
  6.     US a01,30:
  7. *SystemMenuLp0:
  8.     ~SetSystemMenu:~~a01:
  9. *SystemMenuLp1:
  10.     ~Select 1,a01,TRUE:~~a02:
  11.     { a02=0:~SaveLoad:@SystemMenuLp0:}
  12.     { a02=1:~SystemMenuClearStr:@SystemMenuOut:}
  13.     { a02=2:~Config:@SystemMenuLp0:}
  14.     { a02=3:~RemoveNvSystem:ZZ 0,0:}
  15.     { a02=4:~StackCheck:@SystemMenuLp0:}
  16.     { a02=5:~StrArrayCheck:@SystemMenuLp0:}
  17. *SystemMenuOut:
  18.     ~SetGrpToDib:
  19.     CC XSize,0,XSize,YSize,0,YSize:
  20.     ~SetStrToDib:
  21.     CC 0,YSize,XSize,YSize,0,0:
  22.     UG a01,30:
  23.     ~0,0:
  24.  
  25. ;===============================================================================
  26. **SetSystemMenu:
  27.     US a01,30:
  28.     MS SysStrBuffTop,ü^:    ;; end-code
  29.     #SystemMenuStrTbl,1:
  30.     !a02:0!
  31.     < a01,SysStrBuffTop+1,0xffff,1,1:
  32.         F1,a01,0:
  33.         ML RND,a01:{ RND>a02:!a02:RND!}
  34.         MC SysStrBuffTop,a01:{ RND=TRUE:@SetSystemMenu1:}
  35.         >
  36. *SetSystemMenu1:
  37.     !a03:a01-(SysStrBuffTop+1)!                ; a03=âGâôâhâRü[âhé≡è▄é▄é╚éóüAò╢ÄÜù±é╠Éö
  38.     { Debug\TRUE:!a03:a03-2!}                ; 
  39.     !a04:24!                                ; a04=âtâHâôâgâTâCâY
  40.     !a05:(XSize-a02*a04)/2!                    ; a05=SystemMenu X-Crd
  41.     !a06:(YSize-a03*(a04+StrYSpace))/2!        ; a06=SystemMenu Y-Crd
  42.     !a07:a02*a04!
  43.     !a08:a03*(a04+StrYSpace)!
  44.     !a09:a05!
  45.     !a10:a06!
  46.  
  47. *SetSystemMenu2:
  48.     CF XSize,    0,XSize,YSize,0:
  49.     CF XSize,YSize,XSize,YSize,0:
  50.     ~SetSystemGrp XSize,0:
  51.     CC XSize,0,XSize,YSize,XSize,YSize:
  52.     ~SetFSize a04:
  53.  
  54. *SetSystemMenu3:
  55.     < a11,0,a03-1,1,1:
  56.         ~SetFColor StrFontColor:
  57.         T a09+XSize,a10:
  58.         X a11+SysStrBuffTop+1:
  59.         ~SetFColor SelStrColor:
  60.         T a09+XSize,a10+YSize:
  61.         X a11+SysStrBuffTop+1:
  62.         ML a12,a11+SysStrBuffTop+1:
  63.         !eX[a11] :a09!
  64.         !eY[a11] :a10!
  65.         !eLx[a11]:a12*a04+2!
  66.         !eLy[a11]:a04+StrYSpace!
  67.         !eSx[a11]:a09+XSize!
  68.         !eSy[a11]:a10!
  69.         !eUx[a11]:a09+XSize!
  70.         !eUy[a11]:a10+YSize!
  71.         !a10:a10+a04+StrYSpace!
  72.         >
  73.     !Res:a03!
  74.     CC XSize,YSize,XSize,YSize,0,0:
  75.     UG a01,30:
  76.     ~0,Res:
  77. ;===============================================================================
  78. **Config:
  79.     US a01,30:
  80. *ConfigLp:
  81.     ~SetConfigMenu:~~a01:
  82.     ~Select 1,a01,TRUE:~~a02:
  83.     { a02=0:!FastReadFlag:FastReadFlag^1!@ConfigLp:}
  84.     { a02=1:!GrpBrightMode:GrpBrightMode^1!@ConfigLp:}
  85.     { a02=2:
  86.         MS SysStrBuffTop,û╛ôxé≡ÄwÆΦé╡é─é¡é╛é│éó:
  87.         ~SetGrpBright SysStrBuffTop:
  88.         @ConfigLp:}
  89.     UG a01,30:
  90.     ~0,0:
  91.  
  92. **SetConfigMenu:
  93.     US a01,30:
  94.     { FastReadFlag=TRUE:MS SysStrBuffTop,î⌐é╜ò╢Å═é═æ¼é¡ümü@éÅéÄü@ü@ün:}
  95.     { FastReadFlag\TRUE:MS SysStrBuffTop,î⌐é╜ò╢Å═é═æ¼é¡ümü@éÅéåéåü@ün:}
  96.     { GrpBrightMode=TRUE:
  97.         MS SysStrBuffTop+1,ébéfû╛ôxÉ▌ÆΦü@ümû╛ôxùÄé╞é╡ün:
  98.         MS SysStrBuffTop+2,ébéfû╛ôxùªÄwÆΦümü@:
  99.         MH SysStrBuffTop+3,3,GrpBright:
  100.         MS SysStrBuffTop+4,üôün:
  101.         MA SysStrBuffTop+2,SysStrBuffTop+3:
  102.         MA SysStrBuffTop+2,SysStrBuffTop+4:
  103.         !a03:3!}
  104.     { GrpBrightMode\TRUE:
  105.         MS SysStrBuffTop+1,ébéfû╛ôxÉ▌ÆΦü@ümü@Æ╩Åφü@ü@ün:
  106.         !a03:2!}
  107.     !a02:14!
  108.     !a04:24!                                ; a04=âtâHâôâgâTâCâY
  109.     !a05:(XSize-a02*a04)/2!                    ; a05=SystemMenu X-Crd
  110.     !a06:(YSize-a03*(a04+StrYSpace))/2!        ; a06=SystemMenu Y-Crd
  111.     !a07:a02*a04!
  112.     !a08:a03*(a04+StrYSpace)!
  113.     !a09:a05!
  114.     !a10:a06!
  115.  
  116. *SetConfigMenu2:
  117.     CF XSize,    0,XSize,YSize,0:
  118.     CF XSize,YSize,XSize,YSize,0:
  119.     ~SetSystemGrp XSize,0:
  120.     CC XSize,0,XSize,YSize,XSize,YSize:
  121.     ~SetFSize a04:
  122.  
  123. *SetConfigMenu3:
  124.     < a11,0,a03-1,1,1:
  125.         ~SetFColor StrFontColor:
  126.         T a09+XSize,a10:
  127.         X a11+SysStrBuffTop:
  128.         ~SetFColor SelStrColor:
  129.         T a09+XSize,a10+YSize:
  130.         X a11+SysStrBuffTop:
  131.         ML a12,a11+SysStrBuffTop:
  132.         !eX[a11] :a09!
  133.         !eY[a11] :a10!
  134.         !eLx[a11]:a12*a04+2!
  135.         !eLy[a11]:a04+StrYSpace!
  136.         !eSx[a11]:a09+XSize!
  137.         !eSy[a11]:a10!
  138.         !eUx[a11]:a09+XSize!
  139.         !eUy[a11]:a10+YSize!
  140.         !a10:a10+a04+StrYSpace!
  141.         >
  142.     !Res:a03!
  143.     CC XSize,YSize,XSize,YSize,0,0:
  144.     UG a01,30:
  145.     ~0,Res:
  146.  
  147. ;===============================================================================
  148. **SetGrpBright f01:
  149.     US a01,30:
  150.     !a01:f01!
  151.     !a02:GrpBright!
  152.     \InitSetGrpBright:
  153.     @SGBlp0:
  154.  
  155. *SGBlpTop:
  156.     !Mkd:0xffff!<@Mkd\0:~GetKey:>
  157. *SGBlp:;--------------------------------------------;
  158.     \PutGrpBrightDialog:
  159. *SGBlp0:
  160.     \SetGrpBrightMainLoop:
  161.     { a30 = 1:!a02:a02-10!\ClipGrpBright:@SGBlpTop:}
  162.     { a30 = 2:!a02:a02- 1!\ClipGrpBright:@SGBlp:}
  163.     { a30 = 3:!a02:a02+ 1!\ClipGrpBright:@SGBlp:}
  164.     { a30 = 4:!a02:a02+10!\ClipGrpBright:@SGBlpTop:}
  165.     { a30 = 5:!GrpBright:a02!!Res:TRUE!  @SGBOut:}
  166.     { a30 = 6:!Res:FALSE!                @SGBOut:}
  167.     @SGBlp0:
  168. *SGBOut:
  169.     CC XSize,YSize,a06,a07,a04,a05:
  170.     UG a01,30:
  171.     ~0,Res:
  172.  
  173. ;--------------------------------------------------------------------------------
  174. *SetGrpBrightMainLoop:
  175.  
  176.     !a22:0xffff!
  177.     !a23:a02!
  178. *SGBMlp:
  179.     ~GetKey:
  180.     {(RND&0b00001111)\0:\SGBKeyBoard:@SGBMlp0:}
  181.     \SGBMainLoopSub:
  182.     < a21,1,6,1,1:
  183.         {(eX[a21]<Msx)*(eY[a21]<Msy)*(Msx<(eX[a21]+eLx[a21]))*(Msy<(eY[a21]+eLy[a21])):
  184.             @SGBMlp0:
  185.             }
  186.         >
  187.     !a21:0xffff!
  188. *SGBMlp0:
  189.     { a22\a21:
  190.         { a22\0xffff:
  191.             CC eUx[a22],eUy[a22],eLx[a22],eLy[a22],eX[a22],eY[a22]:
  192.             }
  193.         { a21\0xffff:
  194.             CC eSx[a21],eSy[a21],eLx[a21],eLy[a21],eX[a21],eY[a21]:
  195.             }
  196.         !a22:a21!
  197.         }
  198. *SGBMlp1:
  199.     {(Mkd&32)\0:!a30:6!@SGBMlpOut:}
  200.     {(Mkd&16)\0:
  201.         { a21\0xffff:!a30:a21!@SGBMlpOut:}
  202.         }
  203.     @SGBMlp:
  204. *SGBMlpOut:
  205.     { a21\0xffff:CC eUx[a21],eUy[a21],eLx[a21],eLy[a21],eX[a21],eY[a21]:}
  206. ;;    <@ Mkd\0:~GetKey:>
  207.     \0:
  208.  
  209. *SGBMainLoopSub:
  210.     ~GetKey:
  211.     {(eX[0]<Msx)*(eY[0]<Msy)*(Msx<(eX[0]+eLx[0]+1))*(Msy<(eY[0]+eLy[0]+1)):
  212.         {(Mkd&16)\0:
  213.             !a02:(Msx-eX[0])*100/eLx[0]!
  214.             { a02\a23:
  215.                 \PutGrpBrightDialog:
  216.                 !a23:a02!
  217.                 @SGBMainLoopSub:
  218.                 }
  219.             }
  220.         }
  221.     \0:
  222.  
  223. *SGBKeyBoard:
  224.     !a21:a22!
  225.     { a22=0xffff:     !a21:0!}
  226.     {(RND&0b00000101):!a21:a21-1!}
  227.     {(RND&0b00001010):!a21:a21+1!}
  228.     { a21<1:!a21:6!}
  229.     { a21>6:!a21:1!}
  230.     IZ eX[a21]+2,eY[a21]+2:
  231.     \0:
  232.  
  233. ;--------------------------------------------------------------------------------
  234.  
  235. *ClipGrpBright:
  236.     { a02>100:!a02:100!}
  237.     \0:
  238.  
  239. *InitSetGrpBright:
  240.     ~GetKey:
  241.     !a03:24!    ;  a03      = âtâHâôâgâTâCâY
  242.     !a04:Msx!    ; (a04,a05) = â_âCâAâìâOò\Īì└òW
  243.     !a05:Msy!
  244.  
  245.     ML a06,a01:{ a06<16:!a06:16!}
  246.     !a06:(a06*a03)+16!                ; a06 = éwò¥ì┼æσ
  247.     !a07:3*(a03+StrYSpace)+16!        ; a07 = éxò¥ì┼æσ
  248.  
  249.     !a04:a04-a06/2!
  250.     !a05:a05-a07/2!
  251.  
  252.     {(a04+a06+16)>XSize:!a04:XSize-a04-16!}
  253.     {(a05+a07+16)>YSize:!a05:YSize-a07-16!}
  254.     {(a04+a06+16)>XSize:
  255.         MS DebugMsgStr,â_âCâAâìâOé╠ò╢ÄÜâTâCâYé¬ê┘Åφé┼é╖üB:
  256.         ~DebugMsgPut DebugMsgStr:
  257.         MS a01,âfâtâHâïâg:
  258.         @InitSetGrpBright:
  259.         }
  260.     CC a04,a05,a06,a07,XSize,YSize+a07*0:                ;æ▐ö≡ùp
  261.     CC a04,a05,a06,a07,XSize,YSize+a07*1:                ;ì\ɼùp
  262.     CK 1,XSize,YSize+a07*1,a06,a07,SelStrColor,224,0,0:    ;
  263.     CB XSize+1,YSize+a07+1,a06-1,a07-1,SelStrColor:
  264.     CB XSize  ,YSize+a07  ,a06-1,a07-1,StrFontColor:
  265.  
  266.     ML a11,a01:
  267.     !a12:(a06-a11*a03)/2+XSize+8!
  268.     !a13:YSize+a07+8!
  269.     ~SetFSize a03:
  270.     ~SetFColor StrFontColor:
  271.     T a12,a13:
  272.     X a01:
  273.  
  274.     !eX[0] :a04+8+2!
  275.     !eY[0] :a05+8+a03+StrYSpace+2!
  276.     !eLx[0]:a03*10-4!
  277.     !eLy[0]:a03+StrYSpace-4!
  278.     !eSx[0]:XSize+8+2!
  279.     !eSy[0]:YSize+8+a07+a03+StrYSpace+2!
  280.     !eUx[0]:eSx[0]+eLx[0]+2+a03!
  281.     !eUy[0]:eSy[0]-2!
  282.  
  283.     CB eSx[0]-2+1,eSy[0]-2+1,eLx[0]+4-1,eLy[0]+4-1,SelStrColor:
  284.     CB eSx[0]-2  ,eSy[0]-2  ,eLx[0]+4-1,eLy[0]+4-1,StrFontColor:
  285.     MS a01,ümü@ü@ü@üôün:
  286.     T XSize+8+a03*10,YSize+8+(a03+StrYSpace)*1+a07:
  287.     X a01:
  288.     CC XSize,YSize+a07*1,a06,a07,XSize,YSize+a07*2:        ;æIæ≡ùp
  289.     CC XSize,YSize+a07*1,a06,a07,XSize,YSize+a07*3:        ;ö±æIæ≡ùp
  290.  
  291.     !a14:XSize                        +8!
  292.     !a15:YSize+a07*2+(a03+StrYSpace)*2+8!
  293.     !a16:XSize                        +8!
  294.     !a17:YSize+a07*3+(a03+StrYSpace)*2+8!
  295.  
  296.     MS a01,üßü@üâü@üäü@üΓü@é═éóü@éóéóéª:
  297.     T a14,a15:~SetFColor StrFontColor:X a01:
  298.     T a16,a17:~SetFColor SelStrColor: X a01:
  299.     T XSize+8,YSize+8+(a03+StrYSpace)*2+a07:
  300.     X a01:
  301.  
  302.     < a11,0,5,1,1:
  303.         !a12:a04                          +8!
  304.         !a13:a05        +(a03+StrYSpace)*2+8!
  305.         !a14:XSize                        +8!
  306.         !a15:YSize+a07*2+(a03+StrYSpace)*2+8!
  307.         !a16:XSize                        +8!
  308.         !a17:YSize+a07*3+(a03+StrYSpace)*2+8!
  309.  
  310.         { a11 = 0:                                                !a18:a03  !}
  311.         { a11 = 1:!a12:a12+a03* 2!!a14:a14+a03* 2!!a16:a16+a03* 2!!a18:a03  !}
  312.         { a11 = 2:!a12:a12+a03* 4!!a14:a14+a03* 4!!a16:a16+a03* 4!!a18:a03  !}
  313.         { a11 = 3:!a12:a12+a03* 6!!a14:a14+a03* 6!!a16:a16+a03* 6!!a18:a03  !}
  314.         { a11 = 4:!a12:a12+a03* 8!!a14:a14+a03* 8!!a16:a16+a03* 8!!a18:a03*2!}
  315.         { a11 = 5:!a12:a12+a03*11!!a14:a14+a03*11!!a16:a16+a03*11!!a18:a03*3!}
  316.  
  317.         !eX[a11+1] :a12!
  318.         !eY[a11+1] :a13!
  319.         !eLx[a11+1]:a18!
  320.         !eLy[a11+1]:a03+StrYSpace!
  321.         !eSx[a11+1]:a14!
  322.         !eSy[a11+1]:a15!
  323.         !eUx[a11+1]:a16!
  324.         !eUy[a11+1]:a17!
  325.         >
  326.     WZ 0,0:
  327.     CC XSize,YSize+a07,a06,a07,a04,a05:
  328.     \PutGrpBrightDialog:
  329.     WZ 0,1:
  330.     \0:
  331.  
  332. ;ü@éPéQéRéSéTéUéVéWéXéOéPéQéRéSéTéU
  333. ;ü@ü|ü|ü|ü|ü|ü|ü|ü|ü|ü|üméPéOéOüôün
  334. ;ü@üßü@üâü@üäü@üΓü@é═éóü@éóéóéª
  335.  
  336. *PutGrpBrightDialog:
  337.  
  338.     CC XSize,YSize+a07*2,a06,a07,XSize,YSize+a07*1:
  339.     CK 1,eSx[0],eSy[0],eLx[0]*a02/100,eLy[0],StrFontColor,128,0,0:
  340.     MH a01,3,a02:
  341.     T eUx[0],eUy[0]:
  342.     ~SetFColor StrFontColor:
  343.     X a01:
  344.     CC XSize,YSize+a07+8+(a03+StrYSpace),a06,a03+StrYSpace,a04,a05+8+a03+StrYSpace:
  345.     \0:
  346.  
  347. ;===============================================================================
  348. **SystemMenuClearStr:
  349.     US a01,30:
  350.     US GrpBrightMode,1:
  351.     !GrpBrightMode:FALSE!
  352.     ~SetGrpToDib:
  353.     CC XSize,0,XSize,YSize,0,0:
  354.     ~StopKey:
  355.     UG GrpBrightMode,1:
  356.     UG a01,30:
  357.     ~0,0:
  358.  
  359. ;===============================================================================
  360. *SystemMenuStrTbl:
  361.     _SystemMenuStr1:
  362.  
  363. *SystemMenuStr1:
  364.     "âZü[âuâìü[âh"
  365.     "ò╢ÄÜé≡Å┴é╖"
  366.     "âRâôâtâBâO"
  367.     "âQü[âÇé≡ÅIù╣é╖éΘ"
  368.     "âXâ^âbâNâ`âFâbâN"
  369.     "ò╢ÄÜæ«É½â`âFâbâN"
  370.     "ü^"
  371. ;===============================================================================
  372.  
  373.  
  374.