758 lines
29 KiB
Plaintext
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
|
|
|