Microsoft-3D-Movie-Maker/SRC/STUDIO/HELPBOOK.CHT

758 lines
29 KiB
Plaintext

/* Copyright (c) Microsoft Corporation.
Licensed under the MIT License. */
// -----------------------------------------------------
// CHT file that defines the interaction with the
// Help Book.
//
// Modified / Reviewed:
// 5.29.95 ***** -- made to use ::globals
// -----------------------------------------------------
// WAVE FILES for the help book
//WAVE_CHUNK("studio\sound\hmbtn.wav", kcnoHelpMainWav )
WAVE_CHUNK("studio\sound\next.wav", kcnoHelpMainWav )
WAVE_CHUNK("studio\sound\next.wav", kcnoHelpNextWav )
WAVE_CHUNK("studio\sound\back.wav", kcnoHelpBackWav )
// WAVE_CHUNK ("studio\sound\bingo.wav", wavBingo)
//------------------------------------------------------------------
// Help book parent object
//------------------------------------------------------------------
OBJECT("Help Book Parent", kgobHelpBookParent, 100, kcrsArrow)
REP_RECT(CHID1(krepDefault), "kgobHelpBookParent", 0,0, 640, 480 )
CREATE_ANIM("help book parent created")
.last = kidNil; // .last = kid of last primary button hilited
.lasthow = kidNil; // .lasthow = kid of last how to button hilited
.hsshow = 0; // flag: is how to sub section showing?
DISABLEACCEL(fFalse);
// Note: the above disable hotkeys while the book is up.
// Note that since enables have to match with disables, any way the book is killed
// *must* reenable the keys. So far, the two book deconstructors are :
// hit cancel (easy) choose a tool topic or how to.
// eat all keys while the book is up
FilterCmdsThis(cidKey, kidNil, kchidScript9);
// Create the help gizmo and the fill
CreateChildThis( kgobHelpBookGizmo, kgobHelpBookGizmo );
CreateChildThis( kgobHelpBookFillPar, kgobHelpBookFillPar );
CreateChildThis( kgobHelpBookHowSub, kgobHelpBookHowSub );
// Switch to the current section + topic
RunScriptThis(kchidScript4, ::HBSection, ::HBtpcCur[::HBSection ] );
ENDCHUNK
//------------------------------------------------------------------
// Script to switch to a particular section (first page of)
//
//------------------------------------------------------------------
CHILD_SCRIPT( "help book : switch to section", kchidScript1 )
If( _parm[0] != 1 );
tpc = ::HBtpcEnd[ _parm[0]-1 ] +1;
Else;
tpc = ktpcBook1TOC;
End;
// display!
RunScriptThis( kchidScript4, _parm[0], tpc );
ENDCHUNK
//------------------------------------------------------------------
// Script to switch to the previous page.
// -- no parameters --
//------------------------------------------------------------------
CHILD_SCRIPT("help book : prev page", kchidScript2)
// find current section # and topic
sec = ::HBSection;
top = ::HBtpcCur[sec];
If (top == ktpcBookStart); // Can't go previous at first page TOC
Exit();
End;
top--;
// Check to see if we underflow the current section
If (sec > 1);
If (top <= ::HBtpcEnd[sec - 1]);
// Did underflow. Decrement section # (topic # is ok)
sec--;
End;
End;
// Then tell the book to switch to that page
RunScriptThis(kchidScript4, sec, top);
ENDCHUNK
//------------------------------------------------------------------
// Script to switch to the next page.
// -- no parameters --
//------------------------------------------------------------------
CHILD_SCRIPT( "help book : next page", kchidScript3 )
// find current section # and topic
sec = ::HBSection;
top = ::HBtpcCur[ sec ];
If (top == ktpcBookEnd); // Can't go next at last page
Exit();
End;
top++;
If (sec < 10);
// Check to see if we overflow the current section
If (top > ::HBtpcEnd[sec]);
// Did overflow. Decrement section # (topic # is ok)
sec++;
End;
End;
// tell the book to switch to that page
RunScriptThis(kchidScript4, sec, top );
ENDCHUNK
// -------------------------------------------------------------
// Switch book display to section passed as _parm0, topic = _parm1
//
// This is the core of the help book display; all other scripts
// fall through here for update.
//
// Parameters: _parm[0] = section #
// _parm[1] = topic id
// -------------------------------------------------------------
CHILD_SCRIPT( "help book : switch to section", kchidScript4 )
sec = _parm[0];
tpc = _parm[1];
::HBSection = sec; // update global section variable
::HBtpcCur[sec] = tpc; // and MRU page in that section (for book re-open)
// deselect last main section button
If (.last != kidNil);
ChangeStateGob(.last, kst1); // - deselect the last
End;
// select new one
gob = Select(sec, kidNil,
kgobHelpBookPrimary1, kgobHelpBookPrimary2, kgobHelpBookPrimary3,
kgobHelpBookPrimary3, kgobHelpBookPrimary3, kgobHelpBookPrimary3,
kgobHelpBookPrimary3, kgobHelpBookPrimary3, kgobHelpBookPrimary4,
kgobHelpBookPrimary5);
If( gob != kidNil );
ChangeStateGob(gob, kst2);
.last = gob;
End;
// If it's a HOW TO section -- select the second piece too
If ( sec >= 3 && sec <= 8);
// set our lastsub section value
::HBLastsub = sec;
// send out how sub bar
If (.hsshow == 0);
ChangeStateGob(kgobHelpBookHowSub, kst2);
.hsshow = 1;
End;
// deselect the last "how to" subtopic
If (.lasthow != kidNil);
ChangeStateGob(.lasthow, kst1);
End;
// Select current how to
gob = Select( sec - 2, 0,
kgobHelpHowButton1, kgobHelpHowButton2,
kgobHelpHowButton3, kgobHelpHowButton4,
kgobHelpHowButton5, kgobHelpHowButton6);
// Select & keep track of the last how to subtopic selected
ChangeStateGob(gob, kst2);
.lasthow = gob;
// wasn't a how sub section, get rid of How To subsection
Else;
If (.hsshow == 1);
ChangeStateGob(kgobHelpBookHowSub, kst3);
.hsshow = 0;
End;
End;
// Check and set state of page forward button (kst2 = disabled)
ChangeStateGob( kgobHelpBookPageFwd,
((tpc) >= ktpcBookEnd ) ? kst2 : kst1 );
// Check and set state of page back button (kst2 = disabled)
ChangeStateGob( kgobHelpBookPageBack,
(tpc <= ktpcBookStart ) ? kst2 : kst1 );
// Calculate the page # ... section one is a special case
start = (sec == 1 ) ? (ktpcBookStart - 1) : (::HBtpcEnd[sec - 1]);
// Now put values into the stringtable so help can show em.
NumToStr((::HBtpcEnd[sec] - start), stidMaxPage);
NumToStr((tpc - start), stidCurrPage);
// destroy previous gobs
If (FGobExists(kgobHelpBookBkgd));
DestroyGob(kgobHelpBookBkgd);
DestroyGob(kgobHelpBookPageNum);
DestroyGob(kgobHelpBookPageLeft);
End;
// create the title for this topic
CreateHelpGob(kgobHelpTitlePar, tpcTitle1 + sec - 1);
// and then the page itself
CreateHelpGob(kgobHelpBookGizmo, tpcPageNumber);
// set the rectangle which holds the topics up
st = (sec > 2 && sec < 9) ? kst2 : kst1;
ChangeStateGob( kgobHelpBookFillPar, st );
// and create the help topic
CreateHelpGob(kgobHelpBookFillPar, tpc);
ENDCHUNK
// -------------------------------------------------------------
// script to eat and throw away key clicks
CHILD_SCRIPT( "help book : switch to section", kchidScript9 )
Return( fTrue );
ENDCHUNK
///////////////////////////////////
// Help book gizmo object
///////////////////////////////////
// -----------------------------------------------------
// Gizmo body image that masks stuff underneath it
// -----------------------------------------------------
OBJECTTY("Help Book Gizmo", kgobHelpBookGizmo, 180, kcrsArrow, kgokkRectHit )
REP_MBMP(CHID1(krepDefault), "studio\bmp\gizmo.bmp")
CREATE_ANIM("help gizmo created")
// Spot for the Help topic title
CreateChildGob( GidParThis(), kgobHelpTitlePar, kgobHelpTitlePar );
// And controls / buttons on top...
CreateChildThis(kgobHelpBookVolume, kgobHelpBookVolume);
CreateChildThis( kgobHelpBookVolumePath, kgobHelpBookVolumePath );
CreateChildThis(kgobHelpBookVoice, kgobHelpBookVoice);
CreateChildThis(kgobHelpBookPageBack, kgobHelpBookPageBack);
CreateChildThis(kgobHelpBookPageFwd, kgobHelpBookPageFwd);
CreateChildThis(kgobHelpBookCancel, kgobHelpBookCancel);
CreateChildThis(kgobHelpBookPrimary1, kgobHelpBookPrimary1);
CreateChildThis(kgobHelpBookPrimary2, kgobHelpBookPrimary2);
CreateChildThis(kgobHelpBookPrimary3, kgobHelpBookPrimary3);
CreateChildThis(kgobHelpBookPrimary4, kgobHelpBookPrimary4);
CreateChildThis(kgobHelpBookPrimary5, kgobHelpBookPrimary5);
ENDCHUNK
// -----------------------------------------------------
// The "fill" is the background page color - it changes
// for each major book section
// -----------------------------------------------------
OBJECT("Help Book Fill parent", kgobHelpBookFillPar, 200, kcrsArrow)
REP_RECT(CHID(kst1, krepDefault), "state1:normal", kLeftPageL, kTopPage, kLeftPageR, kBottomPage )
REP_RECT(CHID(kst2, krepDefault), "state2:howto", kLeftPageL2, kTopPage, kLeftPageR, kBottomPage )
// this object is the balloon itself
OBJECT("Help Book Fill", kgobHelpBookFill, 200, kcrsArrow)
REP_FILL(CHID(kst1, krepDefault), "fill", kLeftPageL, kTopPage, kLeftPageR, kBottomPage, Transparent, Transparent)
PATTERN_0
ENDCHUNK
// -----------------------------------------------------
// Help book primary button #1
// -----------------------------------------------------
OBJECT("Help Table of Contents", kgobHelpBookPrimary1, 350, kcrsHand1)
REP_MBMP(CHID1(krepDefault), "studio\bmp\prim1.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\prim1s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
// set section 1
RunScriptGob( kgobHelpBookParent, kchidScript1, 1 );
ENDCHUNK
ADOPT_WAVE( kcnoHelpMainWav, CHID1(krepClicked))
// -----------------------------------------------------
// Help book primary button #2
// -----------------------------------------------------
OBJECT("Help Basics", kgobHelpBookPrimary2, 350, kcrsHand1)
REP_MBMP(CHID1(krepDefault), "studio\bmp\prim2.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\prim2s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button2 clicked")
// set section 1
RunScriptGob( kgobHelpBookParent, kchidScript1, 2 );
ENDCHUNK
ADOPT_WAVE( kcnoHelpMainWav, CHID1(krepClicked))
// -----------------------------------------------------
// Help book primary button #3
// -----------------------------------------------------
OBJECT("Help How To", kgobHelpBookPrimary3, 350, kcrsHand1)
REP_MBMP(CHID1(krepDefault), "studio\bmp\prim3.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\prim3s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button3 clicked")
// Set book to last section within "How To" section
RunScriptGob( kgobHelpBookParent, kchidScript1, ::HBLastsub );
ENDCHUNK
ADOPT_WAVE( kcnoHelpMainWav, CHID1(krepClicked))
// -----------------------------------------------------
// Help book primary button #4
// -----------------------------------------------------
OBJECT("Help Tools", kgobHelpBookPrimary4, 350, kcrsHand1)
REP_MBMP(CHID1(krepDefault), "studio\bmp\prim4.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\prim4s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button4 clicked")
// set section 1
RunScriptGob( kgobHelpBookParent, kchidScript1, 9 );
ENDCHUNK
ADOPT_WAVE( kcnoHelpMainWav, CHID1(krepClicked))
// -----------------------------------------------------
// Help book primary button #5
// -----------------------------------------------------
OBJECT("Help Tips", kgobHelpBookPrimary5, 350, kcrsHand1)
REP_MBMP(CHID1(krepDefault), "studio\bmp\prim5.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\prim5s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button5 clicked")
// set section 1
RunScriptGob( kgobHelpBookParent, kchidScript1, 10 );
ENDCHUNK
ADOPT_WAVE( kcnoHelpMainWav, CHID1(krepClicked))
// -----------------------------------------------------
// Gizmo volume control
// -----------------------------------------------------
OBJECTTTREG("Help Book Volume", kgobHelpBookVolume, 350, kcrsHand1, ttBookVolume, 39, 168)
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\volume.bmp", 39, 168)
// --------------------------------------------------------------------------------
// The thumbnail is the graphic indicator of volume level...
// positioned within the slide path - not hittable
// --------------------------------------------------------------------------------
OBJECTTY( "HelpBook - volume slider", kgobHelpBookVolumeSlider, 60, kcrsArrow1, kgokkRectNoHit )
REP_MBMP( CHID1( krepDefault ), "studio\bmp\volthmb.bmp" )
// --------------------------------------------------------------------------------
// The slider is the rectangular path the volume slider rolls around in.
// kdypHelpBookSlider is the height of the slidable area; kdypHelpBookSliderTotal includes
// height of thumbnail to be sure it will show at the min setting
// --------------------------------------------------------------------------------
OBJECTREG( "map - volume slidepath", kgobHelpBookVolumePath, kxpHelpBookSlider, kypHelpBookSlider, 500, kcrsHand1)
REP_RECT( CHID1( krepDefault), "HelpBook rectangle", 0, 0, kdxpHelpBookSlider, kdypHelpBookSliderTotal )
CREATE_SCRIPT( "create slidepath")
CreateChildThis( kgobHelpBookVolumeSlider, kgobHelpBookVolumeSlider );
// get initial volume value, move thumbnail
y = kdypHelpBookSlider -(( GetMasterVolume() * kdypHelpBookSlider )/ (2*kvlmFull));
MoveAbsGob( kgobHelpBookVolumeSlider, 0, y );
ENDCHUNK
REP_ANIM( CHID1( krepMouseDnOn), "slider")
// repeat up to 30000 times.
.siiLoop = PlaySoundThis( kctgWave, kwavDing, 2, 0x00010000, 30000, 1, 4 );
While( 1 );
y = YMouseThis();
If( y < 0 );
y=0;
Elif( y > kdypHelpBookSlider );
y =kdypHelpBookSlider;
End;
// move thumb slider
MoveAbsGob( kgobHelpBookVolumeSlider, 0, y );
// track new volume
newvol = ( (2*kvlmFull) * (kdypHelpBookSlider-y) ) / kdypHelpBookSlider;
// set the volume
SetMasterVolume( newvol );
// Sample at 10/60ths of a second.
Cell( 0 , 0,0, 10 );
End;
ENDCHUNK
REP_ANIM( CHID1( kchidDownUpOn ), "release on" )
StopSound( .siiLoop );
ENDCHUNK
ADOPT_ANIM( LAST_ANIM, CHID1( kchidDownUpOff ))
// -----------------------------------------------------
// Gizmo voice toggle control
// -----------------------------------------------------
OBJECTTTREG("Help Book Voice Toggle", kgobHelpBookVoice, 350, kcrsHand1, ttBookVoice, kxpHelpBookVoice, kypHelpBookVoice)
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\vocon.bmp", kxpregHelpBookVoice, kypregHelpBookVoice )
ADOPT_MBMP(LAST_MBMP, CHID1(krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1(krepMouseDnOff))
ADOPT_MBMP( LAST_MBMP, CHID( kst2, krepMouseDnOn ))
REP_MBMPREG(CHID1( krepMouseDnOn ), "studio\bmp\vocoff.bmp", kxpregHelpBookVoice, kypregHelpBookVoice )
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CREATE_ANIM("MZ Voice control")
// see if voice should be on or off
fMZAudio = GetProp( kpridMcZeeAudio ) & kflgMcZeeAudio;
If ( fMZAudio ); // audio suppressed = state 2
ChangeStateThis(kst2);
End;
ENDCHUNK
CLICK_SCRIPT("voice toggle clicked")
flg = GetProp( kpridMcZeeAudio );
If (StateThis() == kst1); // audio on (suppress = FALSE)
flg |= kflgMcZeeAudio; // switch to audio off (suppress = TRUE)
SetProp( kpridMcZeeAudio, flg );
ChangeStateThis(kst2);
Else;
flg &= ~kflgMcZeeAudio; // opposite of above
SetProp( kpridMcZeeAudio, flg );
ChangeStateThis(kst1); // toggle audio on / off state
End;
ENDCHUNK
// -----------------------------------------------------
// Page forward control
// -----------------------------------------------------
GOBCHUNK("Help Book Page Forward", kgobHelpBookPageFwd, kgokkNormal)
DEFAULT_POSITION( kxpHelpBookPageFwd, kypHelpBookPageFwd, 350)
ACTION(fcustNil, fcustNil, fgrfst1, kcrsHand1, CHID(kst1, kchidClick), cidNil, ttBookPageFwd)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
CHILD_SCRIPT("page Fwd clicked", CHID(kst1, kchidClick))
RunScriptGob( kgobHelpBookParent, kchidScript3 );
ENDCHUNK
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\pgfwd.bmp" , kxpregHelpBookPageFwd, kypregHelpBookPageFwd )
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMPREG(CHID1( krepMouseDnOn), "studio\bmp\pgfwdds.bmp", kxpregHelpBookPageFwd, kypregHelpBookPageFwd )
REP_RECT( CHID(kst2, krepDefault), "hidden",0,0,0,0 )
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
ADOPT_WAVE( kcnoHelpNextWav , CHID1(krepClicked))
// -----------------------------------------------------
// Page back control
// -----------------------------------------------------
GOBCHUNK("Help Book Page Back", kgobHelpBookPageBack, kgokkNormal)
DEFAULT_POSITION( kxpHelpBookPageBack, kypHelpBookPageBack, 350)
ACTION(fcustNil, fcustNil, fgrfst1, kcrsHand1, CHID(kst1, kchidClick), cidNil, ttBookPageBack)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
CHILD_SCRIPT("page back clicked", CHID(kst1, kchidClick))
RunScriptGob( kgobHelpBookParent, kchidScript2 );
ENDCHUNK
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\pgback.bmp" , kxpregHelpBookPageBack, kypregHelpBookPageBack)
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMPREG(CHID1(krepMouseDnOn), "studio\bmp\pgbackds.bmp", kxpregHelpBookPageBack, kypregHelpBookPageBack)
REP_RECT( CHID(kst2, krepDefault), "hidden",0,0,0,0 )
ADOPT_WAVE( kcnoHelpBackWav , CHID1(krepClicked))
// -----------------------------------------------------
// Help book cancel control -- ttBookCancel
// -----------------------------------------------------
OBJECTTTREG("Help Book Cancel", kgobHelpBookCancel, 350, kcrsHand1, ttBookCancel, kxpHelpBookCancel, kypHelpBookCancel)
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\hcancel.bmp", kxpregHelpBookCancel, kypregHelpBookCancel)
ADOPT_MBMP(LAST_MBMP, CHID1(krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1(krepMouseDnOff))
REP_MBMPREG(CHID1(krepMouseDnOn), "studio\bmp\hcancelc.bmp", kxpregHelpBookCancel, kypregHelpBookCancel)
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("Cancel clicked")
ENABLEACCEL(fFalse);
DestroyGob(kgobHelpBookParent);
ENDCHUNK
ADOPT_WAVE(kcnoCancelWav, CHID1(krepClicked))
// -----------------------------------------------------
// How To Section subsection
// -----------------------------------------------------
OBJECT("Help Book How To Sub", kgobHelpBookHowSub, 250, kcrsArrow)
CREATE_ANIM("help book howsub-create")
// create all of our children and set appropriate states
CreateChildThis(kgobHelpHowButton1, kgobHelpHowButton1);
CreateChildThis(kgobHelpHowButton2, kgobHelpHowButton2);
CreateChildThis(kgobHelpHowButton3, kgobHelpHowButton3);
CreateChildThis(kgobHelpHowButton4, kgobHelpHowButton4);
CreateChildThis(kgobHelpHowButton5, kgobHelpHowButton5);
CreateChildThis(kgobHelpHowButton6, kgobHelpHowButton6);
ENDCHUNK
REP_RECT( CHID1( krepDefault ), "blank", 0, 0, 0,0 )
REP_MASK( CHID( kst2, krepDefault ), "studio\bmp\howmsk.bmp" );
REP_RECT( CHID( kst3, krepDefault ), "blank", 0, 0, 0,0 )
// -----------------------------------------------------
// First "how to" subsection button
// -----------------------------------------------------
OBJECT("Help Book How button1", kgobHelpHowButton1, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut1.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut1s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
// set book to section 3
RunScriptGob( kgobHelpBookParent, kchidScript1, 3 );
ENDCHUNK
// -----------------------------------------------------
// Second "how to" subsection button
// -----------------------------------------------------
OBJECT("Help Book How button2", kgobHelpHowButton2, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut2.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut2s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
RunScriptGob( kgobHelpBookParent, kchidScript1, 4 );
ENDCHUNK
// -----------------------------------------------------
// Third "how to" subsection button
// -----------------------------------------------------
OBJECT("help book How button3", kgobHelpHowButton3, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut3.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut3s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
RunScriptGob( kgobHelpBookParent, kchidScript1, 5 );
ENDCHUNK
// -----------------------------------------------------
// Fourth "how to" subsection button
// -----------------------------------------------------
OBJECT("Help Book How button4", kgobHelpHowButton4, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut4.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut4s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
RunScriptGob( kgobHelpBookParent, kchidScript1, 6 );
ENDCHUNK
// -----------------------------------------------------
// Fifth "how to" subsection button
// -----------------------------------------------------
OBJECT("Help Book How button5", kgobHelpHowButton5, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut5.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut5s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
RunScriptGob( kgobHelpBookParent, kchidScript1, 7 );
ENDCHUNK
// -----------------------------------------------------
// Sixth "how to" subsection button
// -----------------------------------------------------
OBJECT("Help Book How button6", kgobHelpHowButton6, 275, kcrsHand1)
REP_MBMP(CHID(kst1, krepDefault), "studio\bmp\hbut6.bmp")
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID1( krepMouseDnOff))
REP_MBMP(CHID(kst2, krepDefault), "studio\bmp\hbut6s.bmp")
ADOPT_MBMP(LAST_MBMP, CHID(kst2, krepDefault))
CLICK_SCRIPT("button1 clicked")
RunScriptGob( kgobHelpBookParent, kchidScript1, 8 );
ENDCHUNK
// -----------------------------------------------------
// Book Bkgd = rectangle to hold Title
// size=nil; help will resize this puppy
// -----------------------------------------------------
OBJECTTY("Help Book Bkgd", kgobHelpBookBkgd, 225, kcrsArrow, gokkNoHitThis )
REP_FILL(CHID(kst1, krepDefault), "title spot", 0,0,0,0, Palette(44), Transparent )
PATTERN_0
ENDCHUNK
// this space is the parent of the help title balloon -- its
// reg point is at 0,0 (size of the rect is -240,0 to +240, 80
// so the position must be 320, 80
GOBCHUNK( "Title space", kgobHelpTitlePar, gokkNoHitThis )
DEFAULT_POSITION(kxpHelpTitle, kypHelpTitle, kzpHelpTitle)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow1, chidNil, cidNil, cnoNil )
ENDCHUNK
REP_FILL(CHID(kst1, krepDefault), "title spot", kTitleLeft, kTitleTop, kTitleRight, kTitleBottom, Palette(21), Transparent )
PATTERN_0
ENDCHUNK
// -----------------------------------------------------
// Book Bkgd = rectangle to hold page # help
// -----------------------------------------------------
OBJECT("Help Book Page Number", kgobHelpBookPageNum, 350, kcrsArrow)
REP_RECT(CHID(kst1, krepDefault), "kgobHelpBookPageNum", kxpPageNumLeft, kypPageNumTop, kxpPageNumRight, kypPageNumBot )
// ----------------------------------------------------------------
// Left Book Page - holds help topics
// auto-resized to hold the help topic
// ----------------------------------------------------------------
GOBCHUNK("Help Book Page", kgobHelpBookPageLeft, kgokkNormal)
DEFAULT_POSITION( 0,0,225 )
ACTION(fcustHotText, fcustHotText, fgrfstAll, kcrsHand1, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_RECT(CHID(kst1, krepDefault), "kgobHelpBookPageLeft", 0, 0, 0, 0 )
// ----------------------------------------------------------------
// Mouse click in the tools section of the help book
// *** All tool topics have this listed as the script to run
// ----------------------------------------------------------------
HELP_SCRIPT( ktpcBookToolTopics )
// parm[0] = group # passed in. 0 indicates creation only.
If(_parm[0] != 0);
// Valid group clicked! _parm[4] is balloon to automatically
// create!
If( _parm[4] == cnoNil );
// no balloon? Error!
DEBUGCMD( AlertStr("Not linked to a topic!") );
Else;
// create the balloon and destroy the book
CreateHelpGob(kidBackground, _parm[4]);
// reenable the help book's hot keys
ENABLEACCEL(fFalse);
DestroyGob(kgobHelpBookParent);
End;
Return( fTrue ); // tell code NOT to create balloon
End;
ENDCHUNK
// -------------------------------------------------------
// choice button clicked in TOC #1 balloon
// -------------------------------------------------------
HELP_SCRIPT(ktpcBook1TOC)
// _parm[0] : 0 = initialization, 1 ==BASICS, 2 = HOWTO, 3 = TOOLS, 4 = TIPS
If(_parm[0] != 0);
// Switch to appropriate section.
If (_parm[0] < 3);
RunScriptGob(kgobHelpBookParent, kchidScript1, _parm[0]+1 );
Else;
RunScriptGob(kgobHelpBookParent, kchidScript1, _parm[0]+6 );
End;
End;
ENDCHUNK
// ----------------------------------------------------------------
// Mouse click in basics in the help book
// All how to objects have this listed as the script to run
// ----------------------------------------------------------------
HELP_SCRIPT(kidHelpBookBasics)
// parm[0] = group # passed in
If(_parm[0] != 0);
// Valid group clicked _parm[4] is id of table object to run
If( _parm[4] == cnoNil );
// no table? Error, display alert then get out
DEBUGCMD( AlertStr("Not linked to basics");)
Else;
// create the balloon and destroy the book
CreateChildGob(kidBackground, kidSequenceParent, kidSequenceParent);
CreateChildGob(kidBackground, _parm[4], _parm[4]);
// re-enable the hotkeys for the book
ENABLEACCEL(fFalse);
DestroyGob(kgobHelpBookParent);
End;
Return( fTrue ); // tell code NOT to create help sequence
End;
ENDCHUNK
// ----------------------------------------------------------------
// Mouse click in howto in the help book
// All how to objects have this listed as the script to run
// ----------------------------------------------------------------
HELP_SCRIPT(kidHelpBookHowTo)
// parm[0] = group # passed in
If(_parm[0] != 0);
// Valid group clicked _parm[4] is id of table object to run
If( _parm[4] == cnoNil );
// no table? Error, display alert then get out
DEBUGCMD( AlertStr("Not linked to a howto!"); )
Else;
// create the balloon and destroy the book
CreateChildGob(kidBackground, kidSequenceParent, kidSequenceParent);
CreateChildGob(kidBackground, _parm[4], _parm[4]);
// re-enable the hotkeys for the book
ENABLEACCEL(fFalse);
DestroyGob(kgobHelpBookParent);
End;
Return( fTrue ); // tell code NOT to create help sequence
End;
ENDCHUNK
//
// Click scripts for query help topics.
//
// -------------------------------------------------------
// Query quit
// -------------------------------------------------------
HELP_SCRIPT(ktpcQueryQuit)
// If _parm[0] != 0 then a button has been pushed.
If(_parm[0] != 0);
EnqueueCid(cidEndModal, 0, _parm[0], 0, 0, 0);
End;
ENDCHUNK
// -------------------------------------------------------
// Query document save
// -------------------------------------------------------
HELP_SCRIPT(ktpcQuerySave)
// If _parm[0] != 0 then a button has been pushed.
If(_parm[0] != 0);
EnqueueCid(cidEndModal, 0, _parm[0], 0, 0, 0);
End;
ENDCHUNK
// -------------------------------------------------------
// Query sound delete
// -------------------------------------------------------
HELP_SCRIPT(ktpcQuerySoundDelete)
// If _parm[0] != 0 then a button has been pushed.
If(_parm[0] != 0);
EnqueueCid(cidEndModal, 0, _parm[0], 0, 0, 0);
End;
ENDCHUNK
// -------------------------------------------------------
// Query overwrite existing file
// -------------------------------------------------------
HELP_SCRIPT(ktpcQueryOverwrite)
// If _parm[0] != 0 then a button has been pushed.
If(_parm[0] != 0);
EnqueueCid(cidEndModal, 0, _parm[0], 0, 0, 0);
End;
ENDCHUNK
// -------------------------------------------------------
// Query exit studio to where
// -------------------------------------------------------
HELP_SCRIPT(ktpcQueryExitStudio)
// If _parm[0] != 0 then a button has been pushed.
If(_parm[0] != 0);
EnqueueCid(cidEndModal, 0, _parm[0], 0, 0, 0);
End;
ENDCHUNK