home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD-ROM Today - The Disc! 9
/
cdrt09.iso
/
pc
/
putnam
/
pnmba
/
shared.dir
/
00771_Script_771
< prev
next >
Wrap
Text File
|
1995-01-13
|
27KB
|
793 lines
--"B" Task 8/26
--********** TASK & HINT MACROS **********
on startTask pTaskNum
global gThisTaskNum, gHintLevel, gTaskTicks, gTaskClickOns
set gThisTaskNum = pTaskNum
set gTaskTicks = the ticks -- reset starting time ticks
set gTaskClickOns = 0 -- clicks since task started
set gHintLevel = 0 -- reset hints for solving the task
set gHintsGiven = 0 -- used to delay limit
if pTaskNum = 10 then
initLetter
else if pTaskNum = 20 then
initMessUp -- local in NK/Chap2
else if pTaskNum = 30 then
initGrove
else if pTaskNum = 40 then
initHairDo -- local in Chap4
else if pTaskNum = 50 then
nothing --initTown
else if pTaskNum = 60 then
initSAChores
else if pTaskNum = 70 then
initClients --71,72,73 done locally
end if
end startTask
on checkTask
global gThisTaskNum, gTCOnLimit,gTaskClickOns, gTaskTicksLimit,gTaskTicks, gHintsGiven,gThisLoc
if gThisTaskNum >= 10 or gThisLoc = "Banners" then -- if BA is on task.
if gHintsGiven > 3 then
set clickOnLimit = gTCOnLimit * 3
set ticksLimit = gTaskTicksLimit * 3
else
set clickOnLimit = gTCOnLimit
set ticksLimit = gTaskTicksLimit
end if
if gTaskClickOns > clickOnLimit then -- check hint limit
set gTaskClickOns = 0
set gTaskTicks = the ticks
BAHint -- 3rd hint
return 1
else if (the ticks - gTaskTicks) > ticksLimit then
set gTaskClickOns = 0
set gTaskTicks = the ticks
BAHint
return 1
else
return 0 -- not timeout or clickout
end if
else
return 0 -- not on task
end if
-- end checkTask
on initLetter
global gLetterPlace,gThisTaskNum,gFoundLetters
put char 1 of gFoundLetters into letterNum
repeat while (gFoundLetters contains letterNum)
put string(random(9)) into letterNum
end repeat
if the number of chars in gFoundLetters = 8 then delete char 1 to 7 of gFoundLetters
set gFoundLetters = (gFoundLetters & letterNum)
set placeList = "NK/5.Flask,NK/12.Rabbit,NK/2.Mop,NB/4.Pillow,NB/5.Mouse,NB/9.Chest" &¼
",NS/3.Goat,NS/5.Haystack,NS/11.Cricket"
set gLetterPlace = item value(letterNum) of placeList
putMsge "initLetter / gLetterPlace" && gLetterPlace
--end initLetter
on checkLetter cName
global gLetterPlace
if cName = gLetterPlace or (the controlDown) then -- debug remove controldown
startTask 19
stopLoop
goMNameAdd cName,2
else
goMNameAdd cName,1
end if
-- end checkLetter
on initGrove
global gGroveLocNum,gGroveVersion,gIngredientsVO
global gIngredientNameList,gIngredientsToFind
if gGroveLocNum = empty then
set gGroveLocNum = ((random(2)) + 11 )
else
if gGroveLocNum = 12 then
set gGroveLocNum = 13
else
set gGroveLocNum = 12
end if
end if
set gGroveVersion = random(27)
set gIngredientsVO = "3AV" & (60 + gGroveVersion)
set gIngredientNameList = "feather,egg,broccoli,daisy,honeyComb,mushroom,stone," & ¼
"snailShell,seaShell"
set comboList = "147,157,167,148,158,168,149,159,169," &¼
"247,257,267,248,258,268,249,259,269," &¼
"347,357,367,348,358,368,349,359,369,"
set thisCombo = item gGroveVersion of comboList
set gIngredientsToFind = "x,x,x"
repeat with i = 1 to 3
put item value(char i of thisCombo) of gIngredientNameList into item i of gIngredientsToFind
end repeat
putMsge "GroveVersion/List" && gGroveVersion && gIngredientsToFind
--end initGrove
on initSAChores
global gChoreList
set gChoreList = "o"
--end initSAChores
on doneSAChore locName
global gChoreList
set gChoreList = gCHoreList & "," & locName
--end doneSAChore
on initClients
global gThisTaskNum,gClientList
set gClientList = "71,72,73"
--end initClients
on doveTaskHelp
global gThisTaskNum,gThisLoc,gChoreList,gVMatchList
if gThisTaskNum = 10 then
startAudio "1BV07","C1"
else if gThisTaskNum = 20 then
startAudio "2AV35","C2A"
else if gThisTaskNum = 30 then
if gThisLoc = "GA" or gThisLoc = "GB" then
startAudio "3CV33","C3"
else
startAudio "3CV34","C3"
end if
else if gThisTaskNum = 40 then
startAudio "4AV91","C4"
else if gThisTaskNum = 50 then
if gThisLoc = "Chap5A" then
startAudio "CWV51","L01"
else
startAudio "CWV50","L01"
end if
else if gThisTaskNum = 61 then -- on way to SA before song
startAudio "CWV65","L01"
else if gThisTaskNum = 62 then -- after song before chores
if gThisLoc = "AY" then
startAudio "CWV64","L01" -- go in
else
startAudio "CWV65","L01" -- go to SA
end if
else if gThisTaskNum = 60 then
if gChoreList contains "HR" then
if gChoreList contains "WR" then
startAudio "CWV63","L01" -- done/ go out to AY
else
startAudio "CWV61","L01" -- go to WR
end if
else
if gChoreList contains "WR" then
startAudio "CWV62","L01" -- go to HR
else
startAudio "CWV60","L01" -- go to HR or WR
end if
end if
else if gThisTaskNum = 70 then
startAudio "CWV70","L01"
else if gThisTaskNum = 71 then --HR
startAudio "7BV15","c7B"
else if gThisTaskNum = 72 then --WR
startAudio "7CV46","c7C"
else if gThisTaskNum = 73 then --VC
if item 1 of gVMatchList = 1 then
if item 2 of gVMatchList = 2 then
putMsge "already won"
else
startAudio "CWV72","L01" -- need to find dog
end if
else
if item 2 of gVMatchList = 2 then
startAudio "CWV73","L01" --need to find VC
else
startAudio "CWV74","L01" --need to find both
end if
end if
else
doveExploreHelp
end if
if audioFinish() = "mouseDown" then nothing
--end doveTaskHelp
on BATaskHint
global gThisTaskNum,gThisLoc,gChoreList,gHeadJobs,gNoseJobs,gVMatchList
putMsge "BATaskHint" && gThisTaskNum
if gThisTaskNum = 10 then hintLetter
else if gThisTaskNum = 20 then hintMessUp -- local to NK/Chap2
else if gThisTaskNum = 30 then hintGrove
else if gThisTaskNum = 31 then -- saw clients but before grove task
if gThisLoc contains "Chap3" or gThisLoc = "NS" then
BAHintAnim "3AV25","c3"
else
BAHintAnim "3AV88","c3"
end if
else if gThisTaskNum = 40 then
BAHintAnim"4AV90","c4"
else if gThisTaskNum = 50 then
if gThisLoc = "Chap5A" then
BAHintAnim "5AV36","c5"
else
BAHintAnim "CWV07h","L01"
end if
returnLoop
else if gThisTaskNum = 60 then -- clean WR & HR
if gChoreList contains "HR" then
if gChoreList contains "WR" then
BAHintAnim "6CV90","c6" -- visited both/go to AY
else
BAHintAnim "6AV15","c6" -- just HR/better visit WR
end if
else
if gChoreList contains "WR" then
BAHintAnim "6AV81","c6" -- just WR/ better visit HR
else
BAHintAnim "6AV81","c6" -- neither/ better visit HR
end if
end if
else if gThisTaskNum = 61 then -- on way to SA before song
BAHintAnim "CWV09h","L01"
else if gThisTaskNum = 62 then -- heard song
if gThisLoc = "AY" then
BAHintAnim "CWV10h","L01"
else
BAHintAnim "6CV91","c6"
end if
else if gThisTaskNum = 70 then -- before 1st client
if gThisLoc = "Chap7B" or gThisLoc = "AY" then
BAHintAnim "7AV92","c7B"
else
BAHintAnim "CWV12h","L01"
end if
else if gThisTaskNum = 71 then
if gHeadJobs = empty then -- HR no HeadJobs yet
BAHintAnim "7BV10","c7b"
else
BAHintAnim "7BV90","c7b"
end if
else if gThisTaskNum = 72 then
if gNoseJobs = empty then -- WR no nose jobs yet
BAHintAnim "7CV90","c7c"
else
BAHintAnim "7CV91","c7c"
end if
else if gThisTaskNum = 73 then
if item 1 of gVMatchList = 1 then
if item 2 of gVMatchList = 2 then
putMsge "already won"
else
BAHintAnim "7DV91","c7d" -- need to find dog
end if
else
if item 2 of gVMatchList = 2 then
BAHintAnim "7DV90","c7d" --need to find VC
else
BAHintAnim "7DV90","c7d" --need to find both
end if
end if
else
BAExploreHint
end if
--end BATaskHint
on BAHintAnim pSoundName,pSndPathChar,pAltCastName
global gBAChannel,gBAHeadChannel,gHideOffset
global gAnimPause, gReturnMarker, gTaskClickOns, gTaskTicks, gHintsGiven
startAudio pSoundName,pSndPathChar
if soundBusy(1) then
if gBAHeadChannel <> 0 then
set HeadStorage = the castNum of sprite gBAHeadChannel
puppetSprite gBAHeadChannel, 1
set the castNum of sprite gBAHeadChannel = the number of cast "BA/Head.1"
end if
set BAcastStorage = the castNum of sprite gBAChannel
if stringP(pAltCastName) then
set bodyName = pAltCastName
else
set bodyName = "BA/HINT.1"
end if
puppetSprite gBAChannel, 1 -- need to puppet in BAs betweens
set the castNum of sprite gBAChannel = the number of cast bodyName
updateStage
set gTaskClickOns = 0
set gTaskTicks = the ticks
set gHintsGiven = gHintsGiven + 1 -- to trigger delay of hints after a while
repeat while the soundBusy of 1 = TRUE -- animate face
--if the mouseDown then exit repeat
end repeat
dontpassevent
set the castNum of sprite gBAChannel = BACastStorage -- put BA Back.
puppetSprite gBAChannel, 0 -- turn it off when finished
if gBAHeadChannel <> 0 then
set the castNum of sprite gBAHeadChannel = HeadStorage
puppetSprite gBAHeadChannel, 0
end if
end if
puppetSound 0
if gReturnMarker <> empty then
returnLoop
else
continue
end if
-- end BAHintAnim
on hintLetter -- task 10
global gLetterPlace, gThisLoc, gHintLevel
set pHintType = gHintLevel + 1
put char 1 to 2 of gLetterPlace into letterBg
put char 4 to 5 of gLetterPlace into placeChars
if pHintType > 2 then
if letterBg <> gThisLoc then -- hint 3 only for right loc
set pHintType = 2
end if
end if
if pHintType = 1 then
if "NK,NB,NS" contains gThisLoc then
BAHintAnim "1CV10","C1" -- I better find that letter
else if gThisLoc = "NY" then
BAHintAnim "1EV07","C1" --local I better get back to SN
else
BAHintAnim "3BV11","C3" --offsite I better get back to SN
end if
else if pHintType = 2 then
if not ("NK,NB,NS,NY" contains gThisLoc) then
BAHintAnim "3BV11","C3" --offsite I better get back to SN
else if gThisLoc = "NY" then
BAHintAnim "1EV07","C1" --local I better get back to SN
else
if letterBg = gThisLoc then
BAHintAnim "1BV29","C1" -- Letter is in here.
else if letterBg = "NK" then
BAHintAnim "1BV32","c1" -- Its in the kitchen!
else if letterBg = "NB" then
BAHintAnim "1BV31","c1" -- Its in the bedroom!
else if letterBg = "NS" then
BAHintAnim "1BV30","c1" -- Its in the shed!
end if
end if
else if pHintType >= 3 then -- this is the highest level hint
if letterBg = "NK" then
if placeChars = "2." then
BAHintAnim "1BV16","c1" -- Broom
else if placeChars = "5." then
BAHintAnim "1BV17","c1" -- Flask
else if placeChars = "12" then
BAHintAnim "1BV18","c1" -- Rabbit
end if
else if letterBg = "NB" then
if placeChars = "9." then
BAHintAnim "1CV12","c1" -- Trunk
else if placeChars = "4." then
BAHintAnim "1CV13","c1" -- Pillow
else if placeChars = "5." then
BAHintAnim "1CV14","c1" -- Bed
end if
else if letterBg = "NS" then
if placeChars = "11" then
BAHintAnim "1EV09","c1" -- Coat/Cricket
else if placeChars = "5." then
BAHintAnim "1EV10","c1" -- Haystack
else if placeChars = "3." then
BAHintAnim "1EV12","c1" -- Goat
end if
end if
end if
set gHintLevel = pHintType
--end hintLetter
on hintGrove
global gHintLevel,gThisLoc
if gThisLoc = "GE" then
BAHintAnim "3AV89","c3"
else if gThisLoc <> "GA" and gThisLoc <> "GB" then
BAHintAnim "3AV26","c3"
else if gHintLevel < 4 then
set gHintLevel = gHintLevel + 1
hintGroveBubble
else
hintGroveReveal
end if
-- end hintGrove
--** Dove Macros **
on doveOpen pSide,simulateClick
global gThisLoc,gDovePuppetNum,gDoveVStart, gDoveHStart, gAnimPause
global gClickSnd, gDoveRestNum, gDoveFinal, gDoveBubbleChannel
if gDoveRestNum = EMPTY and (the lastClick < 90 or integerP(simulateClick))then -- if the dove is closed
pause
puppetSound gClickSnd
updateStage
if gThisLoc = "FB" then stopPaint
wandToggle 0
set gDoveRestNum = the castNum of sprite gDovePuppetNum
set gDoveVStart = the locV of sprite gDovePuppetNum
set gDoveHStart = the locH of sprite gDovePuppetNum
set the locV of sprite gDoveBubbleChannel = gDoveVStart
set the locH of sprite gDoveBubbleChannel = gDoveHStart
set the ink of sprite gDoveBubbleChannel = 36
repeat with counter = 2 to 3 -- now do the dove animation
set tempTimer = the ticks
set newCastNum = the number of cast (pside & "dove." & counter)
set the castNum of sprite gDovePuppetNum = newCastNum
-- put "newCastNum = " & the name of cast newCastNum -- debug
animPause (tempTimer + gAnimPause)
updateStage
end repeat
repeat with counter = 4 to 5 -- now do the dove animation
set tempTimer = the ticks
set newCastNum = the number of cast (pside & "dove." & counter)
set the castNum of sprite gDoveBubbleChannel = newCastNum
-- put "newCastNum = " & the name of cast newCastNum -- debug
animPause (tempTimer + gAnimPause)
updateStage
end repeat
set tempTimer = the ticks
set newCastNum = the number of cast gDoveFinal
set the castNum of sprite gDoveBubbleChannel = newCastNum
animPause (tempTimer + gAnimPause)
updateStage
else
doveAway PSide
end if
--end doveOpen
on doveButtons pSide, pBubbleType
global gDovePuppetNum, gThisLoc, gClickSnd,gDoveRestNum, gDoveBubbleChannel,gDoveFinal
putMsge "doveButtons" && pside && pBubbleType
puppetSound gClickSnd
updateStage
sound playfile 1, "@\voices\ba10.aif"
repeat while soundBusy(1)
nothing
end repeat
doveAway pSide
exit
putMsge "doveButtons" && pside
set tempH = the mouseH
set tempV = the mouseV
set cLeft = the left of sprite gDoveBubbleChannel
set cRight = the right of sprite gDoveBubbleChannel
set cTop = the top of sprite gDoveBubbleChannel
set cBottom = the bottom of sprite gDoveBubbleChannel
set btnVLoc = tempV - cTop -- works if dove moves
if pSide = "L" then -- grab the horizontal offset correctly regardless of side.
set hiLiteOffSet = 80
set btnHLoc = tempH - cLeft -- works if dove moves
else -- could add error checking here.
set hiLiteOffSet = 120
set btnHLoc = cRight - tempH -- works if dove moves
end if
if (btnHLoc > 30) and (btnHLoc < 150) then -- clicked on the button column balloon
if (btnVLoc > 20) and (btnVLoc < 135) then -- actually clicked on a button.
if btnVLoc < 45 then -- Continue Top Button
doveHiLite 1, (cLeft + hiLiteOffSet), (cTop + 32)
doveAway pSide -- put the dove away.
else --Help/Jump Ahead 2nd Button
if btnVLoc < 75 then -- Help
if pBubbleType = "JA" then
set hNum = 3
else
set hNum = 1
end if
doveHiLite hNum, (cLeft + hiLiteOffSet), (cTop + 61)
if pBubbleType = "JA" then
jumpAhead pBubbleType -- needs to be in local movie
else
doveHelp
end if
else -- ShortCuts/NK/NB/Banners/ 3rd Button
if btnVLoc < 105 then
doveHiLite 1, (cLeft + hiLiteOffSet), (cTop + 90)
if pBubbleType = "BN" then -- banners goes to banners
goChap "Begin"
else if pBubbleType = "BD" then -- Bedroom
goLoc "NB",4
else if pBubbleType = "KT" then -- Kitchen
goLoc "NK",3
else -- all the rest have shortcuts
goChap "ShortCuts"
end if
set gDoveRestNum = empty
else --EXIT / Bottom Button
if btnVLoc < 135 then -- Exit
doveHiLite 1, (cLeft + hiLiteOffSet), (cTop + 122)
doveExit pSide
else
doveAway pSide
end if -- Coming Attractions
end if -- Credits
end if -- Continue
end if
else
doveAway pSide
end if
else
doveAway pSide
end if
--end doveButtons
on doveBegin pSide
global gThisLoc, gDemoFlag,gThisTaskNum
wandToggle 0
putMsge "doveBegin"
doveAway pSide -- put the dove away.
if "CM,AM,FB,MT,RB"contains gThisLoc then
if gThisTaskNum = 2 then -- shortcuts mode
goChap "ShortCuts"
else if gThisLoc = "CM" then
goLoc "NK",3
else if gThisLoc = "RB" then
goChap "Begin"
else
goLoc "NB",4
end if
else -- need to check for quit screen
goChap "Begin"
end if
--end doveBegin
on doveAway pSide-- JCW, 5/23/93
global gDovePuppetNum, gDoveVStart, gDoveHStart, gAnimPause, gThisLoc
global gDoveRestNum, gReturnMarker, gClickSnd, gStartTicks, gDoveBubbleChannel
global gHideOffset
if gDoveRestNum <> empty then
if not stringP(pSide) then set pSide = char 1 of the name of cast gDoveRestNum
--putMsge "doveAway" && pside -- debug
puppetSprite gDovePuppetNum, 1 -- turn on the dove puppet
puppetSprite gDoveBubbleChannel, 1 -- turn on the dove bubble channel
repeat with counter = 1 to 2 -- put away the bubble
set tempTimer = the ticks
set newCastNum = the number of cast (pSide & "dove." & (6 - counter))
putMsge "doveAway " && (pSide & "dove." & (6 - counter)) -- debug
set the castNum of sprite gDoveBubbleChannel = newCastNum
animPause (tempTimer + gAnimPause + gAnimPause )
updateStage
end repeat
set tempTimer = the ticks
set the locV of sprite gDoveBubbleChannel = gHideOffset
animPause (tempTimer + gAnimPause + gAnimPause )
updateStage
repeat with counter = 1 to 3 -- put away the dove
set tempTimer = the ticks
set newCastNum = the number of cast (pSide & "dove." & (4 - counter))
--putMsge "doveAawy" && (cPreFix & "dove." & (4 - counter)) -- debug
set the castNum of sprite gDovePuppetNum = newCastNum
animPause (tempTimer + gAnimPause + gAnimPause )
updateStage
end repeat
set gDoveRestNum = EMPTY -- used in check regions to make sure dove is closed.
puppetSound 0 -- to return sound control to the score
puppetSprite gDovePuppetNum, 0
puppetSprite gDoveBubbleChannel, 0
updateStage
if gReturnMarker <> empty then
if not ("MT,RB" contains gThisLoc) then
puppetTransition 52,0,24
end if
returnLoop
else
if not ("MT,RB" contains gThisLoc) then
putMsge "doveaway with diss."
puppetTransition 52,0,24
end if
go marker(0) + 1 -- returns to frame after last marker with startAudio cmd
--updateStage
--puppetTransition 0
end if
end if
-- end doveAway
on doveAwayNoContinue pSide-- JCW, 5/23/93
global gDovePuppetNum, gDoveVStart, gDoveHStart, gAnimPause, gThisLoc
global gDoveRestNum, gReturnMarker, gClickSnd, gStartTicks
set gDoveRestNum = EMPTY -- used in check regions to make sure dove is closed.
puppetSound 0 -- to return sound control to the score
puppetSprite gDovePuppetNum, 0
-- end doveAway
on doveExit pSide -- JCW, 7/23/93
global gDemoFlag, gClickSnd, gDoveRestNum, gDoveFinal,gDoveBubbleChannel
global gThisLoc, gDovePuppetNum, gDoveVStart, gDoveHStart, gAnimPause
set newCastNum = the number of cast (pside & "Dove.X")
set the castNum of sprite gDoveBubbleChannel = newCastNum
updateStage
pause
--end doveBegin
on doveHiLite pButton, pLocH, pLocV -- JCW, 7/22/93
global gHideOffset,gDoveFinal
put "HiLite, locH = " & pLocH & " locV = " & pLocV -- debug
set hiLiteChannel = 24
set tempCast = the castNum of sprite hiLiteChannel
set tempInk = the ink of sprite hiLiteChannel
--set tempForeColor = the forecolor of sprite hiLiteChannel
--set tempbackColor = the backcolor of sprite hiLiteChannel
set tempName = "doveHiLite." & pButton
set the castNum of sprite hiLiteChannel = the number of cast tempName
set the ink of sprite hiLiteChannel = 39 -- darkest.
set the stretch of sprite hiLiteChannel = 0 -- turn off stretch just in case.
set the locH of sprite hiLiteChannel = pLocH
set the locV of sprite hiLiteChannel = pLocV
--set the foreColor of sprite hiLiteChannel = 5
set tempTime = the ticks
updateStage
animPause (tempTime + 15)
set the castNum of sprite hiLiteChannel = tempCast -- put more or less back as found.
set the ink of sprite hiLiteChannel = tempInk
set the locH of sprite hiLiteChannel = gHideOffset
--set the foreColor of sprite hiLiteChannel = tempForeColor
--set the backcolor of sprite hiLiteChannel = tempbackColor
-- doveHiLite
end doveLite
on doveHelpBedroomKitchenJumpAhead pBubbleType -- JCW, 7/25
-- note, this is only valid when called with pBubbleType, from the regular dovebuttons macro
if (pBubbleType = "BN") or (pBubbleType = "SC") then -- Help
put "DoveHelp is on the way" -- debug
doveHelp
else
if pBubbleType = "BD" then -- Bedroom
goLoc "NB",4
else
if pBubbleType = "KT" then -- Kitchen
goLoc "NK",3
else
if pBubbleType = "JA" then -- JumpAhead
-- doveJumpAhead
put "This will eventually be a jumpAhead call."
else
put "doveHelpBedroomKitchenJumpAhead called with invalid pBubbleType!"
end if -- JumpAhead
end if -- Kitchen
end if -- Bedroom
end if -- Help
-- end doveHelpBedroomKitchenJumpAhead
on doveQuitButtons pSide -- JCW, 5/22/93
global gDovePuppetNum, gThisLoc, gClickSnd, gDoveFinal,gDoveBubbleChannel,gEMediaPath,gDoveRestNum
puppetSound gClickSnd
updateStage
set tempH = the mouseH
set tempV = the mouseV
set cLeft = the left of sprite gDoveBubbleChannel
set cRight = the right of sprite gDoveBubbleChannel
set cTop = the top of sprite gDoveBubbleChannel
set cBottom = the bottom of sprite gDoveBubbleChannel
set btnVLoc = tempV - cTop -- works if dove moves
if pSide = "L" then -- grab the horizontal offset correctly regardless of side.
set btnHLoc = tempH - cLeft -- works if dove moves
set column1R = 166
set column1L = 30
set column2R = 290
set column2L = 165
set hiLiteOffSet = 0
else -- could add error checking here.
set btnHLoc = cRight - tempH -- works if dove moves
set column1R = 290
set column1L = 165
set column2R = 166
set column2L = 30
set hiLiteOffSet = 33
end if
play done
if (btnHLoc > column1L) and (btnHLoc < column1R) then -- clicked on the left button column balloon
put "leftbutton column" -- debug
if (btnVLoc > 70) and (btnVLoc < 140) then -- actually clicked on a button.
if btnVLoc < 110 then -- Continue
doveHiLite 2, (cLeft + 98 + hiLiteOffSet), (cTop + 88)
put "Continue" -- debug
doveAway pSide -- put the dove away.
else
if btnVLoc < 140 then -- Other Titles
doveHiLite 2, (cLeft + 98 + hiLiteOffSet), (cTop + 122)
--put "Other Titles" -- debug
startAudio "CWM09","L01"
go to movie (gEMediaPath & "AnnoDemo.MMM")
else -- missed the button in this column
doveAway pSide
end if -- Other Titles
end if -- Continue
else -- didn't get in valid range for this column.
doveAway pSide
end if -- actually clicked on a button.
else -- clicked on the left button column balloon
if (btnHLoc > column2L) and (btnHLoc < column2R) then -- clicked on the right button column balloon
put "rightbutton column" -- debug
if (btnVLoc > 70) and (btnVLoc < 140) then -- actually clicked on a button.
if btnVLoc < 110 then -- Credits
doveHiLite 2, (cLeft + 228 + hiLiteOffSet), (cTop + 88)
set gDoveRestNum = empty
goChap "8c"
else
if btnVLoc < 140 then -- Quit
doveHiLite 2, (cLeft + 228 + hiLiteOffSet), (cTop + 122)
--put "Quit" -- debug
--quit -- quit the whole game.
play done
else -- missed the button in this column
doveAway pSide
end if -- Other Titles
end if -- Continue
else -- didn't get in valid range for this column.
doveAway pSide
end if -- actually clicked on a button.
else -- clicked on the right button column balloon
set newCastNum = the number of cast gDoveFinal
set the castNum of sprite gDovePuppetNum = newCastNum
end if -- actually clicked on a button
end if -- end check for a button
--end doveQuitButtons
-- ******* GENERAL PURPOSE MACROS *******
on soundFinish pChannel -- JCW, 5/22/93
repeat while soundBusy (pChannel)
sharedIdle
end repeat
-- end soundFinish
on animPause end -- JCW, 5/23/93
repeat while end > the ticks
idle
end repeat
-- end animPause
Factory arrayMaker2
method mNew elementCount
instance elementTotal
set elementTotal = elementCount
set counter = 1
repeat while counter <= elementTotal
me (mPut, counter, 0)
set counter = counter + 1
end repeat
end mNew
method mDump
instance elementTotal
set counter = 1
put RETURN
repeat while counter <= elementTotal
put counter && "=" && me (mGet, counter)
set counter = counter + 1
end repeat
put RETURN
end mDump
--end arrayMaker2
on cleanUpRegionArray
global gRegionArray
if objectP(gRegionArray) then gRegionArray (mDispose)
--end cleanUpRegionArray