home *** CD-ROM | disk | FTP | other *** search
/ Ultra Gameplayers 109 / Ultra Gameplayers 109.iso / pc / media / new_ugp.dxr / 00053_Online Menu Init.ls < prev    next >
Encoding:
Text File  |  1998-02-10  |  3.2 KB  |  74 lines

  1. on exitFrame
  2.   set newMenu to CreateMenu([#statusMessage: "Select an online service for more info."])
  3.   set launchSprite to 45
  4.   set cableHotspotList to [24, 25, 26, 27, 28, 29, 30]
  5.   set cableLabelList to [16, 17, 18, 19, 20, 21, 22]
  6.   set cableSpriteList to [8, 9, 10, 11, 12, 13, 14]
  7.   set txtDspParams to [#spritenum: 2, #memberNum: "service text", #windowBottom: 277, #initText: " "]
  8.   SetStatusMember(newMenu, [#statusMember: "online status"])
  9.   mmButton(newMenu, [#downMember: "ugpE_61"])
  10.   quitButton(newMenu, [#downMember: "ugpE_71"])
  11.   ShowVolumeControl()
  12.   NewObject(newMenu, "Background Audio Class", [#audioMember: "ugpE-background"])
  13.   set button to BasicButton(newMenu, [#hotSprites: [launchSprite]])
  14.   set demoButton to NewDemoButton(newMenu, [#launchButton: launchSprite])
  15.   AddDown(button, demoButton)
  16.   NewTextDisplay(newMenu, txtDspParams)
  17.   NewSlideBtns(newMenu, 35, 34, 33, 32)
  18.   if the platform contains "windows" then
  19.     set category to "PC"
  20.   else
  21.     set category to "Macintosh"
  22.   end if
  23.   set serviceList to getrecords(titleDatabase, category, "online")
  24.   if not listp(serviceList) then
  25.     put "No software in that category."
  26.   else
  27.     set listMax to min(count(cableHotspotList), count(serviceList))
  28.     put "There are" && listMax && "online services."
  29.     repeat with index = 1 to listMax
  30.       set service to getAt(serviceList, index)
  31.       if not objectp(service) then
  32.         put "Bad service:" && service
  33.         next repeat
  34.       end if
  35.       set hotSprite to getAt(cableHotspotList, index)
  36.       set button to BasicButton(newMenu, [#hotSprites: [hotSprite], #clickSound: "ugpE-pipe", #statusMessage: "Click for info about" && the name of service & "."])
  37.       AddDown(button, NewObject(newMenu, "Game Actions Class", [#gameRec: service]))
  38.       AddPipeHilite(newMenu, button, index, cableSpriteList)
  39.     end repeat
  40.   end if
  41.   clear(the textDisplay of newMenu)
  42.   clear(demoButton)
  43.   set the visible of sprite 46 to 0
  44.   repeat with sNum in cableSpriteList
  45.     set the visible of sprite sNum to 0
  46.   end repeat
  47.   set marqueeMsg to "Visit IGN and Ultra Game Players for the latest gaming news!"
  48.   CreateMarquee(newMenu, [#interval: 8, #text: marqueeMsg, #displayMember: "online marquee", #charWidth: 21])
  49.   cursor(-1)
  50. end
  51.  
  52. on AddPipeHilite newMenu, button, index, cableSpriteList
  53.   set onList to []
  54.   set offList to []
  55.   repeat with sIndex = 1 to count(cableSpriteList)
  56.     set currSprite to getAt(cableSpriteList, sIndex)
  57.     if sIndex = index then
  58.       append(onList, currSprite)
  59.       next repeat
  60.     end if
  61.     append(offList, currSprite)
  62.   end repeat
  63.   AddDown(button, NewObject(newMenu, "Visibility Hilite Class", [#showSpriteList: onList, #hideSpriteList: offList]))
  64. end
  65.  
  66. on NewSlideBtns newMenu, upSprite, downSprite, upHilite, downHilite
  67.   set button to BasicButton(newMenu, [#hotSprites: [upSprite]])
  68.   AddRoll(button, NewObject(newMenu, "Visibility Hilite Class", [#showSpriteList: [upHilite]]))
  69.   AddDown(button, NewObject(newMenu, "Text Slide Button Class", [#scrollDirection: #up]))
  70.   set button to BasicButton(newMenu, [#hotSprites: [downSprite]])
  71.   AddRoll(button, NewObject(newMenu, "Visibility Hilite Class", [#showSpriteList: [downHilite]]))
  72.   AddDown(button, NewObject(newMenu, "Text Slide Button Class", [#scrollDirection: #down]))
  73. end
  74.