Microsoft-3D-Movie-Maker/SRC/STUDIO/SECTOOLS.CHT
2022-05-03 16:31:19 -07:00

1083 lines
42 KiB
Text

/* Copyright (c) Microsoft Corporation.
Licensed under the MIT License. */
/*****************************************************************************\
*
* sectools.cht
*
* All secondary tools that appear in the studio (i.e. behind the doors).
*
* Author: Sean Selitrennikoff
*
* Status: REVIEWED
*
\*****************************************************************************/
//
//
// The secondary tools bar doors.
//
//
GOBCHUNK("Secondary tools - Closed", kidDoors, kgokkNormal)
DEFAULT_POSITION(kxpDoors, kypDoors, 20)
ACTION(fcustNil, fcustNil, fgrfstSceneDoorsOpen, kcrsHand, CHID(kstSceneDoorsOpen, kchidClick), cidNil, cnoNil)
ACTION(fcustNil, fcustNil, fgrfstActorDoorsOpen, kcrsHand, CHID(kstActorDoorsOpen, kchidClick), cidNil, cnoNil)
ACTION(fcustNil, fcustNil, fgrfstSoundDoorsOpen, kcrsHand, CHID(kstSoundDoorsOpen, kchidClick), cidNil, cnoNil)
ACTION(fcustNil, fcustNil, fgrfstTextDoorsOpen, kcrsHand, CHID(kstTextDoorsOpen, kchidClick), cidNil, cnoNil)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\door0.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstSceneDoorsAllOpen, krepDefault), "studio\bmp\door1.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstActorDoorsAllOpen, krepDefault), "studio\bmp\door2.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstSoundDoorsAllOpen, krepDefault), "studio\bmp\door3.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstTextDoorsAllOpen, krepDefault), "studio\bmp\door4.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstSceneDoorsOpen, krepDefault), "studio\bmp\door5.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstActorDoorsOpen, krepDefault), "studio\bmp\door6.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstSoundDoorsOpen, krepDefault), "studio\bmp\door7.bmp",
kxpregDoors, kypregDoors)
REP_MBMPREG(CHID(kstTextDoorsOpen, krepDefault), "studio\bmp\door8.bmp",
kxpregDoors, kypregDoors)
CREATE_ANIMST("Scene doors created", kstSceneDoorsOpen)
If(kidBackground->fAllSceneDoors);
ChangeStateThis(kstSceneDoorsAllOpen);
End;
ENDCHUNK
CHILD_SCRIPT("Scene doors clicked", CHID(kstSceneDoorsOpen, kchidClick))
kidBackground->fAllSceneDoors = fTrue;
ChangeStateThis(kstSceneDoorsAllOpen);
ENDCHUNK
CREATE_ANIMST("Actor doors created", kstActorDoorsOpen)
If(kidBackground->fAllActorDoors);
ChangeStateThis(kstActorDoorsAllOpen);
End;
ENDCHUNK
CHILD_SCRIPT("Actor doors clicked", CHID(kstActorDoorsOpen, kchidClick))
kidBackground->fAllActorDoors = fTrue;
ChangeStateThis(kstActorDoorsAllOpen);
ENDCHUNK
CREATE_ANIMST("Sound doors created", kstSoundDoorsOpen)
If(kidBackground->fAllSoundDoors);
ChangeStateThis(kstSoundDoorsAllOpen);
End;
ENDCHUNK
CHILD_SCRIPT("Sound doors clicked", CHID(kstSoundDoorsOpen, kchidClick))
kidBackground->fAllSoundDoors = fTrue;
ChangeStateThis(kstSoundDoorsAllOpen);
ENDCHUNK
CREATE_ANIMST("Text doors created", kstTextDoorsOpen)
If(kidBackground->fAllTextDoors);
ChangeStateThis(kstTextDoorsAllOpen);
End;
ENDCHUNK
CHILD_SCRIPT("Text doors clicked", CHID(kstTextDoorsOpen, kchidClick))
kidBackground->fAllTextDoors = fTrue;
ChangeStateThis(kstTextDoorsAllOpen);
ENDCHUNK
//
//
// Settings' secondary tools.
//
//
GOBCHUNK("Secondary tools - Settings", kidSettingsBackground, kgokkRectHit)
DEFAULT_POSITION(kxpSettingsBackground, kypSettingsBackground, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_MBMPREG(CHID(kst1, krepDefault), "studio\bmp\1par.bmp",
kxpregSettingsBackground, kypregSettingsBackground)
CREATE_SCRIPT("Secondary tools, Settings -- create")
CreateChildThis(kidSettingsCameras, kidSettingsCameras);
CreateChildThis(kidSceneSorter, kidSceneSorter);
CreateChildThis(kidCCPSceneChopFwd, kidCCPSceneChopFwd);
CreateChildThis(kidCCPSceneChopBack, kidCCPSceneChopBack);
//
// Initialize state variables and UI
//
If (kidBackground->idscnDown == kidCutCopyPaste);
ChangeStateGob(kidCutCopyPaste, kstDefault);
End;
kidBackground->idscnDown = kidStudio;
ENDCHUNK
CHILD_SCRIPT("Reset tools", CHID1(kchidResetTools))
If (kidBackground->idscnDown != kidStudio);
ChangeStateGob(kidBackground->idscnDown, kstDefault);
kidBackground->idscnDown = kidStudio;
End;
ENDCHUNK
//
// Camera views button. Starts up the browser.
//
GOBCHUNK("Secondary tools - Cameras", kidSettingsCameras, kgokkRectHit)
DEFAULT_POSITION(kxpSettingsCameras, kypSettingsCameras, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSettingsCameras)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\1view.bmp",
kxpregSettingsCameras, kypregSettingsCameras)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\1views.bmp",
kxpregSettingsCameras, kypregSettingsCameras)
CHILD_SCRIPT("Secondary tools - Cameras", CHID(kstDefault, kchidClick))
EnqueueCid(cidBrowserReady, khidStudio, kidBrwsCamera, kidBrowserFrame, kidBrowserPageFwd,
(kdxpCameraFrameBorder << 16) | kdypCameraFrameBorder);
ENDCHUNK
//
// Scene sorter. Starts up the easel.
//
GOBCHUNK("SceneSorter", kidSceneSorter, kgokkRectHit)
DEFAULT_POSITION(kxpSceneSorter, kypSceneSorter, 0)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSceneSorter)
ENDCHUNK
REP_MBMPREG(CHID1(krepDefault), "studio\bmp\1scen.bmp",
kxpregSceneSorter, kypregSceneSorter)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\1scens.bmp",
kxpregSceneSorter, kypregSceneSorter)
CHILD_SCRIPT("Scene Sorter", CHID(kstDefault, kchidClick))
EnqueueCid(cidBrowserReady, khidStudio, kidSSorterBackground, 0, 0,
(kdxpSSorterFrameBorder << 16) | kdypSSorterFrameBorder);
ENDCHUNK
//
// Chop Forward
//
GOBCHUNK("Scene chop fwd", kidCCPSceneChopFwd, kgokkRectHit)
DEFAULT_POSITION(kxpCCPSceneChopFwd, kypCCPSceneChopFwd, 100)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttCCPSceneChopFwd)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\p3rmfw.bmp",
kxpregCCPSceneChopFwd, kypregCCPSceneChopFwd)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\p3rmfwc.bmp",
kxpregCCPSceneChopFwd, kypregCCPSceneChopFwd)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault));
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepClicked))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstSelected, krepClicked))
CHILD_SCRIPT("Chop Fwd - Mouse", CHID(kstDefault, kchidClick))
If (kidBackground->idscnDown != GidThis());
ChangeStateGob(kidBackground->idscnDown, kstDefault);
kidBackground->idscnDown = GidThis();
End;
ChangeStateThis(kstSelected);
EnqueueCid(cidSetTool, khidStudio, chttSceneChopFwd, 0, 0, 0);
ENDCHUNK
//
// Chop backwards
//
GOBCHUNK("Scene chop back", kidCCPSceneChopBack, kgokkRectHit)
DEFAULT_POSITION(kxpCCPSceneChopBack, kypCCPSceneChopBack, 100)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttCCPSceneChopBack)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\p3rmbk.bmp",
kxpregCCPSceneChopBack, kypregCCPSceneChopBack)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\p3rmbkc.bmp",
kxpregCCPSceneChopBack, kypregCCPSceneChopBack)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault));
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepClicked))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstSelected, krepClicked))
CHILD_SCRIPT("Chop back - Mouse", CHID(kstDefault, kchidClick))
If (kidBackground->idscnDown != GidThis());
ChangeStateGob(kidBackground->idscnDown, kstDefault);
kidBackground->idscnDown = GidThis();
End;
ChangeStateThis(kstSelected);
EnqueueCid(cidSetTool, khidStudio, chttSceneChopBack, 0, 0, 0);
ENDCHUNK
//
//
// Actors' secondary tools
//
//
//
// Background for all actor tools. kidBackground->idDown is used to
// to create a radio group within the tools. See studio.cht for how
// radio groups are done.
//
// kidBackground->fXYAxis holds state of XY vs XZ axis.
//
// kidBackground->fRGround holds state of Respect ground or not.
//
GOBCHUNK("Secondary tools - Actors", kidActorsBackground, kgokkRectHit)
DEFAULT_POSITION(kxpActorsBackground, kypActorsBackground, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_MBMPREG(CHID(kst1, krepDefault), "studio\bmp\2par.bmp",
kxpregActorsBackground, kypregActorsBackground)
CREATE_SCRIPT("Secondary tools, Actors -- create")
CreateChildThis(kidActorsCompose, kidActorsCompose);
CreateChildThis(kidActorsCostume, kidActorsCostume);
CreateChildThis(kidActorsActionBrowser, kidActorsActionBrowser);
CreateChildThis(kidActorsContinue, kidActorsContinue);
CreateChildThis(kidActorsRotate, kidActorsRotate);
CreateChildThis(kidActorsSooner, kidActorsSooner);
CreateChildThis(kidActorsTransform, kidActorsTransform);
CreateChildThis(kidActorsXY, kidActorsXY);
CreateChildThis(kidActorsGround, kidActorsGround);
If( fBIO_FOUNDALL());
// create the bio page button if all bio's found.
CreateChildThis(kidActorsBiography, kidActorsBiography);
End;
//
// Initialize state variables and UI
//
If (kidBackground->idactDown == kidCutCopyPaste);
ChangeStateGob(kidCutCopyPaste, kstDefault);
End;
kidBackground->idactDown = kidStudio;
kidBackground->chttActor = chttNone;
ChangeStateGob(kidActorsCompose, kstSelected);
ENDCHUNK
//
// Biography button
//
GOBCHUNK("Secondary tools - Actor, Biography", kidActorsBiography, kgokkRectHit)
DEFAULT_POSITION(kxpActorsBiography, kypActorsBiography, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsBiography)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2bio.bmp",
kxpregActorsBiography, kypregActorsBiography)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2bios.bmp",
kxpregActorsBiography, kypregActorsBiography)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoTBkOpenWav, CHID(kstDefault, krepClicked))
CHILD_SCRIPT("clicked bio page tool", CHID(kstDefault, kchidClick))
BIO_CREATEBOOK( BIO_GETPAGE(), fTrue, kidBackground );
ENDCHUNK
//
// Compose tool
//
GOBCHUNK("Secondary tools - Actor, Compose", kidActorsCompose, kgokkRectHit)
DEFAULT_POSITION(kxpActorsCompose, kypActorsCompose, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsCompose)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2comp.bmp",
kxpregActorsCompose, kypregActorsCompose)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2comps.bmp",
kxpregActorsCompose, kypregActorsCompose)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Compose", CHID(kstDefault, kchidClick))
If(kidBackground->idactDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
CREATE_ANIMST("Compose", kstSelected)
If(kidBackground->idactDown != GidThis());
EnqueueCid(cidSetTool, khidStudio, chttCompose, 0, 0, 0);
ChangeStateGob(kidBackground->idactDown, kstDefault);
kidBackground->idactDown = GidThis();
kidBackground->chttActor = chttCompose;
End;
ENDCHUNK
//
// Costume easel button. Loads kcrsor only.
//
GOBCHUNK("Secondary tools - Actor, Costume", kidActorsCostume, kgokkRectHit)
DEFAULT_POSITION(kxpActorsCostume, kypActorsCostume, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsCostume)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2cost.bmp",
kxpregActorsCostume, kypregActorsCostume)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2costc.bmp",
kxpregActorsCostume, kypregActorsCostume)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Secondary tools - Actor, Costume", CHID(kstDefault, kchidClick))
If(kidBackground->idactDown != GidThis());
EnqueueCid(cidSetTool, khidStudio, chttActorEasel, 0, 0, 0);
ChangeStateGob(kidBackground->idactDown, kstDefault);
ChangeStateThis(kstSelected);
kidBackground->idactDown = GidThis();
kidBackground->chttActor = chttActorEasel;
End;
ENDCHUNK
//
// Button to load action tool.
//
GOBCHUNK("Secondary tools - Actor, Action", kidActorsActionBrowser, kgokkRectHit)
DEFAULT_POSITION(kxpActorsActionBrowser, kypActorsActionBrowser, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsActionBrowser)
ENDCHUNK
REP_MBMPREG(kcell1, "studio\bmp\2act01.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
ADOPT_MBMP(LAST_MBMP, CHID(kstFreeze, krepDefault))
REP_MBMPREG(kcell2, "studio\bmp\2act02.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
REP_MBMPREG(kcell3, "studio\bmp\2act03.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
REP_MBMPREG(kcell4, "studio\bmp\2act04.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
REP_MBMPREG(kcell5, "studio\bmp\2act05.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
REP_MBMPREG(kcell6, "studio\bmp\2act06.bmp", kxpregActorsActionBrowser, kypregActorsActionBrowser)
REP_ANIM(CHID(kstDefault, krepDefault), "Actors, Action browser - Unselected state")
cell = 0;
While();
Cell(kcell1 + cell, 0, 0, 10 );
cell++;
cell = cell % 6;
End;
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2acts.bmp",
kxpregActorsActionBrowser, kypregActorsActionBrowser)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CREATE_SCRIPTST("Action tool", kstSelected)
If(kidBackground->idactDown != GidThis());
ChangeStateGob(kidBackground->idactDown, kstDefault);
kidBackground->idactDown = GidThis();
End;
ENDCHUNK
CHILD_SCRIPT("Secondary tools - Action tool", CHID(kstDefault, kchidClick))
kidBackground->chttActor = chttAction;
EnqueueCid(cidSetTool, khidStudio, chttAction,
kidBrowserFrame, kidBrowserPageFwd, (kdxpActionFrameBorder << 16) | kdypActionFrameBorder);
If(kidBackground->idactDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
//
// Action record same action button.
//
GOBCHUNK("Secondary tools - Actor, Continue", kidActorsContinue, kgokkRectHit)
DEFAULT_POSITION(kxpActorsContinue, kypActorsContinue, 10)
ACTION(fcustNil, fcustNil, fgrfstDefault, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsContinue)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, chidNil, cidNil, kttActorsContinue)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2cont.bmp",
kxpregActorsContinue, kypregActorsContinue)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2conts.bmp",
kxpregActorsContinue, kypregActorsContinue)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CREATE_SCRIPTST("Continue, Selected", kstSelected)
If(kidBackground->idactDown != GidThis());
ChangeStateGob(kidBackground->idactDown, kstDefault);
kidBackground->idactDown = GidThis();
End;
ENDCHUNK
CHILD_SCRIPT("Continue", CHID(kstDefault, kchidClick))
If(kidBackground->idactDown != GidThis());
kidBackground->chttActor = chttRecordSameAction;
EnqueueCid(cidSetTool, khidStudio, chttRecordSameAction, 0, 0, 0);
ChangeStateThis(kstSelected);
End;
ENDCHUNK
//
// Sooner/later button
//
GOBCHUNK("Secondary tools - Actor, Sooner", kidActorsSooner, kgokkRectHit)
DEFAULT_POSITION(kxpActorsSooner, kypActorsSooner, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsSooner)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2soon.bmp",
kxpregActorsSooner, kypregActorsSooner)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2soons.bmp",
kxpregActorsSooner, kypregActorsSooner)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Sooner/Later", CHID(kstDefault, kchidClick))
If(kidBackground->idactDown != GidThis());
EnqueueCid(cidSetTool, khidStudio, chttSooner, 0, 0, 0);
ChangeStateGob(kidBackground->idactDown, kstDefault);
ChangeStateThis(kstSelected);
kidBackground->idactDown = GidThis();
kidBackground->chttActor = chttSooner;
End;
ENDCHUNK
//
// Rotate button. Starts popup.
//
GOBCHUNK("Rotate", kidActorsRotate, kgokkRectHit)
DEFAULT_POSITION(kxpActorsRotate, kypActorsRotate, 0)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsRotate)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2rot.bmp",
kxpregActorsRotate, kypregActorsRotate)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2rots.bmp",
kxpregActorsRotate, kypregActorsRotate)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CHILD_SCRIPT("Rotate", CHID(kstDefault, kchidClick))
ChangeStateThis(kstSelected);
ChangeStateGob(kidRotateBackground, kstOpen);
ENDCHUNK
CREATE_ANIMST("Rotate - deselecting", kstDefault)
ChangeStateGob(kidActorsRotateX, kstDefault);
ChangeStateGob(kidActorsRotateY, kstDefault);
ChangeStateGob(kidActorsRotateZ, kstDefault);
ChangeStateGob(kidActorsRotateNorm, kstDefault);
ENDCHUNK
CREATE_ANIMST("Rotate - selecting", kstSelected)
If (kidBackground->chttActor == chttRotateX);
ChangeStateGob(kidActorsRotateX, kstSelected);
Elif (kidBackground->chttActor == chttRotateY);
ChangeStateGob(kidActorsRotateY, kstSelected);
Elif (kidBackground->chttActor == chttRotateZ);
ChangeStateGob(kidActorsRotateZ, kstSelected);
Elif (kidBackground->chttActor == chttRotateNorm);
ChangeStateGob(kidActorsRotateNorm, kstSelected);
End;
ENDCHUNK
//
// Transform (squash/stretch). Starts popup.
//
GOBCHUNK("Transform", kidActorsTransform, kgokkRectHit)
DEFAULT_POSITION(kxpActorsTransform, kypActorsTransform, 0)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttActorsTransform)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\2tran.bmp",
kxpregActorsTransform, kypregActorsTransform)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\2trans.bmp",
kxpregActorsTransform, kypregActorsTransform)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CHILD_SCRIPT("Transform", CHID(kstDefault, kchidClick))
ChangeStateThis(kstSelected);
If (StateGob(kidTransformBackground) != kstOpen);
ChangeStateGob(kidTransformBackground, kstOpen);
End;
ENDCHUNK
CREATE_ANIMST("Transform - deselecting", kstDefault)
ChangeStateGob(kidActorsSquash, kstDefault);
ChangeStateGob(kidActorsShrink, kstDefault);
ChangeStateGob(kidActorsTransformNorm, kstDefault);
ENDCHUNK
CREATE_ANIMST("Rotate - selecting", kstSelected)
If (kidBackground->chttActor == chttSquash);
ChangeStateGob(kidActorsSquash, kstSelected);
Elif (kidBackground->chttActor == chttShrink);
ChangeStateGob(kidActorsShrink, kstSelected);
Elif (kidBackground->chttActor == chttTransformNorm);
ChangeStateGob(kidActorsTransformNorm, kstSelected);
End;
ENDCHUNK
//
// XY/XZ toggle button
//
GOBCHUNK("Secondary tools - Actor, XY", kidActorsXY, kgokkRectHit)
DEFAULT_POSITION(kxpActorsXY, kypActorsXY, 10)
ACTION(fcustNil, fcustNil, fgrfstClosed, kcrsHand, CHID(kstClosed, kchidClick), cidNil, kttActorsXY)
ACTION(fcustNil, fcustNil, fgrfstOpen, kcrsHand, CHID(kstOpen, kchidClick), cidNil, kttActorsXY)
ENDCHUNK
REP_RECT(CHID(kstDefault, krepDefault ), "hidden", 0, 0, 0, 0)
REP_MBMPREG(CHID(kstClosed, krepDefault), "studio\bmp\2xy.bmp",
kxpregActorsXY, kypregActorsXY)
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseDnOff))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOn))
REP_MBMPREG(CHID(kstClosed, krepMouseDnOn), "studio\bmp\2xys.bmp",
kxpregActorsXY, kypregActorsXY)
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepDefault))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOff))
CREATE_SCRIPT("XY -- Create")
If(kidBackground->fXYAxis);
ChangeStateThis(kstOpen);
Else;
ChangeStateThis(kstClosed);
End;
ENDCHUNK
CREATE_ANIMST("XZ", kstClosed)
EnqueueCid(cidXZAxis, khidStudio, 0, 0, 0, 0);
kidBackground->fXYAxis = fFalse;
ENDCHUNK
CHILD_SCRIPT("XZ", CHID(kstClosed, kchidClick))
ChangeStateThis(kstOpen);
PlaySoundThis(kctgWave, kcnoStateOnWav, 0, 0x10000, 1, 0, 1);
ENDCHUNK
CREATE_ANIMST("XY", kstOpen)
EnqueueCid(cidXYAxis, khidStudio, 0, 0, 0, 0);
kidBackground->fXYAxis = fTrue;
ENDCHUNK
CHILD_SCRIPT("XY", CHID(kstOpen, kchidClick))
ChangeStateThis(kstClosed);
PlaySoundThis(kctgWave, kcnoStateOffWav, 0, 0x10000, 1, 0, 1);
ENDCHUNK
//
// Respect ground toggle button.
//
GOBCHUNK("Secondary tools - Actor, Ground", kidActorsGround, kgokkRectHit)
DEFAULT_POSITION(kxpActorsGround, kypActorsGround, 10)
ACTION(fcustNil, fcustNil, fgrfstClosed, kcrsHand, CHID(kstClosed, kchidClick), cidNil, kttActorsGround)
ACTION(fcustNil, fcustNil, fgrfstOpen, kcrsHand, CHID(kstOpen, kchidClick), cidNil, kttActorsGround)
ENDCHUNK
REP_RECT(CHID(kstDefault, krepDefault ), "hidden", 0, 0, 0, 0)
REP_MBMPREG(CHID(kstClosed, krepDefault), "studio\bmp\2zero.bmp",
kxpregActorsGround, kypregActorsGround)
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseDnOff))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOn))
REP_MBMPREG(CHID(kstClosed, krepMouseDnOn), "studio\bmp\2zeros.bmp",
kxpregActorsGround, kypregActorsGround)
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepDefault))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOff))
ADOPT_WAVE(kcnoStateOnWav, CHID(kstClosed, krepClicked))
ADOPT_WAVE(kcnoStateOffWav, CHID(kstOpen, krepClicked))
CREATE_SCRIPT("Ground -- Create")
If(kidBackground->fRGround);
ChangeStateThis(kstClosed);
Else;
ChangeStateThis(kstOpen);
End;
ENDCHUNK
CREATE_ANIMST("Ground", kstClosed)
EnqueueCid(cidRespectGround, khidStudio, fTrue, 0, 0, 0);
kidBackground->fRGround = fTrue;
ENDCHUNK
CHILD_SCRIPT("Ground", CHID(kstClosed, kchidClick))
ChangeStateThis(kstOpen);
ENDCHUNK
CREATE_ANIMST("Ground", kstOpen)
EnqueueCid(cidRespectGround, khidStudio, fFalse, 0, 0, 0);
kidBackground->fRGround = fFalse;
ENDCHUNK
CHILD_SCRIPT("Ground", CHID(kstOpen, kchidClick))
ChangeStateThis(kstClosed);
ENDCHUNK
//
// Sooner/later buttons. These get created after the sooner/later
// tool has been applied to an actor.
//
#define klwSLDelayMax 24
#define klwSLDelayMin 12
#define kdlwSLDelay 3
//
// Sooner button.
//
GOBCHUNK("Secondary tools - Sooner/Later", kidActorsSoonerButton, kgokkRectHit)
DEFAULT_POSITION(kxpActorsSoonerButton, kypActorsSoonerButton, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstOpen, krepMouseDnOn), cidNil, kttActorsSoonerButton)
ENDCHUNK
REP_RECT(CHID(kstDefault, krepDefault), "hidden", 0, 0, 0, 0)
REP_RECT(CHID(kstClosed, krepDefault), "hidden", 0, 0, 0, 0)
REP_MBMPREG(CHID(kstOpen, krepDefault), "studio\bmp\2sbtn.bmp",
kxpregActorsSoonerButton, kypregActorsSoonerButton)
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOff))
REP_MBMPREG(CHID(kstOpen, krepMouseDnOn), "studio\bmp\2sbtns.bmp",
kxpregActorsSoonerButton, kypregActorsSoonerButton)
REP_ANIM(CHID(kstOpen, krepMouseDnOn), "Pressed")
//
// While pressed, keep soonering the actor -- speeds up longer it is held
//
lwDelay = klwSLDelayMax;
While();
PlaySoundThis(kctgWave, kcnoSyStepFWav, 0, 0x10000, 1, 0, 1);
EnqueueCid(cidSooner, 0, 0, 0, 0, 0);
Cell(CHID(kstOpen, krepMouseDnOn), 0, 0, lwDelay);
If(lwDelay > lwSLDelayMin);
lwDelay -= kdlwSLDelay;
End;
End;
ENDCHUNK
CREATE_ANIMST("Secondary tools - Actors, Sooner button", kstOpen)
FilterCmdsThis(cidMouseDown, hidNil, kchidClick);
ENDCHUNK
CREATE_ANIMST("Secondary tools - Actors, Sooner button", kstClosed)
FilterCmdsThis(cidMouseDown, hidNil, chidNil);
ENDCHUNK
CHILD_SCRIPT("Secondary tools - Actors, Sooner button, track mouse", kchidClick)
kid = _parm[0];
//
// We cannot filter on ourselves, so don't check that one.
//
If(kid != kidActorsLaterButton);
//
// Change to the select tool -- this must be the same sequence as
// above in the select tool's click script. Note: we eat this
// mouse down and insert our own so that the setTool happens before
// the mouse down.
//
ChangeStateGob(kidActorsSooner, kstDefault);
ChangeStateGob(kidActorsCompose, kstSelected);
kidBackground->idactDown = kidActorsCompose;
kidBackground->chttActor = chttCompose;
EnqueueCid(cidSetTool, khidStudio, chttCompose, 0, 0, 0);
EnqueueCid(cidMouseDown, kid, _parm[2], _parm[3], _parm[4], _parm[5]);
Return(fTrue);
End;
ENDCHUNK
//
// Later button
//
GOBCHUNK("Secondary tools - Sooner/Later", kidActorsLaterButton, kgokkRectHit)
DEFAULT_POSITION(kxpActorsLaterButton, kypActorsLaterButton, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstOpen, kchidClick), cidNil, kttActorsLaterButton)
ENDCHUNK
REP_RECT(CHID(kstDefault, krepDefault), "hidden", 0, 0, 0, 0)
REP_RECT(CHID(kstClosed, krepDefault), "hidden", 0, 0, 0, 0)
REP_MBMPREG(CHID(kstOpen, krepDefault), "studio\bmp\2lbtn.bmp",
kxpregActorsLaterButton, kypregActorsLaterButton)
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOff))
REP_MBMPREG(CHID(kstOpen, krepMouseDnOn), "studio\bmp\2lbtns.bmp",
kxpregActorsLaterButton, kypregActorsLaterButton)
REP_ANIM(CHID(kstOpen, krepMouseDnOn), "Pressed")
//
// While pressed, later the actor
//
lwDelay = klwSLDelayMax;
While();
PlaySoundThis(kctgWave, kcnoSyStepFWav, 0, 0x10000, 1, 0, 1);
EnqueueCid(cidLater, 0, 0, 0, 0, 0);
Cell(CHID(kstOpen, krepMouseDnOn), 0, 0, lwDelay);
If(lwDelay > lwSLDelayMin);
lwDelay -= kdlwSLDelay;
End;
End;
ENDCHUNK
//
//
// Sounds' secondary tools
//
//
//
// Background
//
GOBCHUNK("Secondary tools - Sounds", kidSoundsBackground, kgokkRectHit)
DEFAULT_POSITION(kxpSoundsBackground, kypSoundsBackground, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_MBMPREG(CHID(kst1, krepDefault), "studio\bmp\3par.bmp",
kxpregSoundsBackground, kypregSoundsBackground)
CREATE_SCRIPT("Secondary tools, Sounds -- create")
CreateChildThis(kidSoundsPlayOnce, kidSoundsPlayOnce);
CreateChildThis(kidSoundsListen, kidSoundsListen);
CreateChildThis(kidSoundsRecord, kidSoundsRecord);
CreateChildThis(kidSoundsLooping, kidSoundsLooping);
CreateChildThis(kidSoundsAttachToCell, kidSoundsAttachToCell);
CreateChildThis(kidPausesSound, kidPausesSound);
//
// Initialize state variables, current sound tool and UI
//
If (kidBackground->idsndDown == kidCutCopyPaste);
ChangeStateGob(kidCutCopyPaste, kstDefault);
End;
kidBackground->idsndDown = kidSoundsListen;
EnqueueCid(cidSetTool, khidStudio, chttListener, 0, 0, 0);
ChangeStateGob(kidSoundsListen, kstSelected);
ENDCHUNK
//
// Play once button
//
GOBCHUNK("Secondary tools - Sound, PlayOnce", kidSoundsPlayOnce, kgokkRectHit)
DEFAULT_POSITION(kxpSoundsPlayOnce, kypSoundsPlayOnce, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSoundsPlayOnce)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\3sing.bmp",
kxpregSoundsPlayOnce, kypregSoundsPlayOnce)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\3sings.bmp",
kxpregSoundsPlayOnce, kypregSoundsPlayOnce)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Sound, PlayOnce clicked", CHID(kstDefault, kchidClick))
If(kidBackground->idsndDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
CREATE_ANIMST("Sound, PlayOnce selected", kstSelected)
If(kidBackground->idsndDown != GidThis());
ChangeStateGob(kidBackground->idsndDown, kstDefault);
kidBackground->idsndDown = GidThis();
EnqueueCid(cidSetTool, khidStudio, chttSounder, 0, 0, 0);
End;
ENDCHUNK
//
// Listen button
//
GOBCHUNK("Secondary tools - Sound, Listen", kidSoundsListen, kgokkRectHit)
DEFAULT_POSITION(kxpSoundsListen, kypSoundsListen, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSoundsListen)
ENDCHUNK
REP_MBMPREG(CHID(kst1, krepDefault), "studio\bmp\3ear.bmp",
kxpregSoundsListen, kypregSoundsListen)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\3ears.bmp",
kxpregSoundsListen, kypregSoundsListen)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Sounds Listener - click", CHID(kstDefault, kchidClick))
If(kidBackground->idsndDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
CREATE_ANIMST("Sounds Listener - selected", kstSelected)
If(kidBackground->idsndDown != GidThis());
ChangeStateGob(kidBackground->idsndDown, kstDefault);
kidBackground->idsndDown = GidThis();
EnqueueCid(cidSetTool, khidStudio, chttListener, 0, 0, 0);
End;
ENDCHUNK
//
// Looping button
//
GOBCHUNK("Secondary tools - Sound, Looping", kidSoundsLooping, kgokkRectHit)
DEFAULT_POSITION(kxpSoundsLooping, kypSoundsLooping, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSoundsLooping)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\3loop.bmp",
kxpregSoundsLooping, kypregSoundsLooping)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\3loops.bmp",
kxpregSoundsLooping, kypregSoundsLooping)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Sound, Looping clicked", CHID(kstDefault, kchidClick))
If(kidBackground->idsndDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
CREATE_ANIMST("Sound, Looping selected", kstSelected)
If(kidBackground->idsndDown != GidThis());
ChangeStateGob(kidBackground->idsndDown, kstDefault);
kidBackground->idsndDown = GidThis();
EnqueueCid(cidSetTool, khidStudio, chttLooper, 0, 0, 0);
End;
ENDCHUNK
//
// Attach a sound to a specific cell button
//
GOBCHUNK("Secondary tools - Sound, AttachToCell", kidSoundsAttachToCell, kgokkRectHit)
DEFAULT_POSITION(kxpSoundsAttachToCell, kypSoundsAttachToCell, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttSoundsAttachToCell)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\3rpt.bmp",
kxpregSoundsAttachToCell, kypregSoundsAttachToCell)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\3rpts.bmp",
kxpregSoundsAttachToCell, kypregSoundsAttachToCell)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CHILD_SCRIPT("Sound, AttachToCell clicked", CHID(kstDefault, kchidClick))
If(kidBackground->idsndDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
CREATE_ANIMST("Sound, AttachToCell selected", kstSelected)
If(kidBackground->idsndDown != GidThis());
ChangeStateGob(kidBackground->idsndDown, kstDefault);
kidBackground->idsndDown = GidThis();
EnqueueCid(cidSetTool, khidStudio, chttMatcher, 0, 0, 0);
End;
ENDCHUNK
//
// Pause until sounds end button
//
GOBCHUNK("Pauses - Sound", kidPausesSound, kgokkRectHit)
DEFAULT_POSITION(kxpPausesSound, kypPausesSound, 100)
ACTION(fcustNil, fcustNil, fgrfstClosed, kcrsHand, CHID(kstClosed, kchidClick), cidNil, kttPausesSound)
ACTION(fcustNil, fcustNil, fgrfstOpen, kcrsHand, CHID(kstOpen, kchidClick), cidNil, kttPausesSound)
ENDCHUNK
REP_RECT(CHID(kstDefault, krepDefault ), "hidden", 0, 0, 0, 0)
REP_MBMPREG(CHID(kstClosed, krepDefault), "studio\bmp\1note.bmp",
kxpregPausesSound, kypregPausesSound)
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstClosed, krepMouseDnOff))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOn))
REP_MBMPREG(CHID(kstClosed, krepMouseDnOn), "studio\bmp\1notes.bmp",
kxpregPausesSound, kypregPausesSound)
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepDefault))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstOpen, krepMouseDnOff))
ADOPT_WAVE(kcnoRSwitchWav, CHID(kstClosed, krepClicked))
ADOPT_WAVE(kcnoRSwitchWav, CHID(kstOpen, krepClicked))
CREATE_ANIMST("Pause, sound", kstDefault)
If(kidBackground->fpseDown);
ChangeStateThis(kstOpen);
Else;
ChangeStateThis(kstClosed);
End;
ENDCHUNK
CHILD_SCRIPT("Pauses - Sound", CHID(kstClosed, kchidClick))
EnqueueCid(cidPauseForSound, khidStudio, 0, 0, 0, 0);
ChangeStateThis(kstOpen);
ENDCHUNK
CREATE_ANIMST("Pause, sound", kstClosed)
kidBackground->fpseDown = fFalse;
ENDCHUNK
CHILD_SCRIPT("Pauses - Sound", CHID(kstOpen, kchidClick))
EnqueueCid(cidClearPause, khidStudio, 0, 0, 0, 0);
ChangeStateThis(kstClosed);
ENDCHUNK
CREATE_ANIMST("Pause, sound", kstOpen)
kidBackground->fpseDown = fTrue;
ENDCHUNK
//
//
// Texts' secondary tools
//
//
//
// Background. kidTextsBackground->tbxt stores the type of text box
// that is currently selected.
//
GOBCHUNK("Secondary tools - Texts", kidTextsBackground, kgokkRectHit)
DEFAULT_POSITION(kxpTextsBackground, kypTextsBackground, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsArrow, chidNil, cidNil, cnoNil)
ENDCHUNK
REP_MBMPREG(CHID(kst1, krepDefault), "studio\bmp\4par.bmp",
kxpregTextsBackground, kypregTextsBackground)
CREATE_SCRIPT("Secondary tools, Texts -- create")
CreateChildThis(kidTextsBkgdColor, kidTextsBkgdColor);
CreateChildThis(kidTextsFontShape, kidTextsFontShape);
CreateChildThis(kidTextsFontColor, kidTextsFontColor);
CreateChildThis(kidTextsFont, kidTextsFont);
CreateChildThis(kidTextsSelect, kidTextsSelect);
CreateChildThis(kidTextsFontSize, kidTextsFontSize);
CreateChildThis(kidTextsScrollType, kidTextsScrollType);
.tbxt = ktbxtStory;
ChangeStateGob(kidTextsSelect, kstSelected);
ENDCHUNK
//
// Background color popup. Starts the popup.
//
GOBCHUNK("Secondary tools - Text, Bkgd Color", kidTextsBkgdColor, kgokkRectHit)
DEFAULT_POSITION(kxpTextsBkgdColor, kypTextsBkgdColor, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsBkgdColor)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4back.bmp",
kxpregTextsBkgdColor, kypregTextsBkgdColor)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4backs.bmp",
kxpregTextsBkgdColor, kypregTextsBkgdColor)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CLICK_SCRIPT("Background color clicked")
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
EnqueueCid(cidTextBkgdColor, 0, 0, kidTextBkgdColorFrame,
kidTextBkgdColorPageDown, (kdxpTextBkgdColorFrameBorder << 16) |
kdypTextBkgdColorFrameBorder);
ENDCHUNK
//
// Font shaper popup. Starts the popup.
//
GOBCHUNK("Secondary tools - Text, Font shape", kidTextsFontShape, kgokkRectHit)
DEFAULT_POSITION(kxpTextsFontShape, kypTextsFontShape, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsFontShape)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4bold.bmp",
kxpregTextsFontShape, kypregTextsFontShape)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4bolds.bmp",
kxpregTextsFontShape, kypregTextsFontShape)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CLICK_SCRIPT("Font shape clicked")
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
EnqueueCid(cidTextStyle, 0, 0, kidTextStyleFrame, kidTextStylePageDown,
(kdxpTextStyleFrameBorder << 16) | kdypTextStyleFrameBorder);
ENDCHUNK
//
// Font color popup. Starts the popup.
//
GOBCHUNK("Secondary tools - Text, Font Color", kidTextsFontColor, kgokkRectHit)
DEFAULT_POSITION(kxpTextsFontColor, kypTextsFontColor, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsFontColor)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4colr.bmp",
kxpregTextsFontColor, kypregTextsFontColor)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4colrs.bmp",
kxpregTextsFontColor, kypregTextsFontColor)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CLICK_SCRIPT("Font color clicked")
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
EnqueueCid(cidTextColor, 0, 0, kidTextColorFrame, kidTextColorPageDown,
(kdxpTextColorFrameBorder << 16) | kdypTextColorFrameBorder);
ENDCHUNK
//
// Font popup. Starts the popup.
//
GOBCHUNK("Secondary tools - Text, Font", kidTextsFont, kgokkRectHit)
DEFAULT_POSITION(kxpTextsFont, kypTextsFont, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsFont)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4font.bmp",
kxpregTextsFont, kypregTextsFont)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4fonts.bmp",
kxpregTextsFont, kypregTextsFont)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CLICK_SCRIPT("Font clicked")
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
EnqueueCid(cidTextFont, 0, 0, kidTextFontFrame, kidTextFontPageDown,
(kdxpTextFontFrameBorder << 16) | kdypTextFontFrameBorder);
ENDCHUNK
//
// Font size popup. Starts the popup.
//
GOBCHUNK("Secondary tools - Text, FontSize", kidTextsFontSize, kgokkRectHit)
DEFAULT_POSITION(kxpTextsFontSize, kypTextsFontSize, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsFontSize)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4size.bmp",
kxpregTextsFontSize, kypregTextsFontSize)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4sizes.bmp",
kxpregTextsFontSize, kypregTextsFontSize)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CLICK_SCRIPT("Size clicked")
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
EnqueueCid(cidTextSize, 0, 0, kidTextSizeFrame, kidTextSizePageDown,
(kdxpTextSizeFrameBorder << 16) | kdypTextSizeFrameBorder);
ENDCHUNK
//
// Select/Edit tool.
//
GOBCHUNK("Secondary tools - Text, Select", kidTextsSelect, kgokkRectHit)
DEFAULT_POSITION(kxpTextsSelect, kypTextsSelect, 10)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsSelect)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4ins.bmp",
kxpregTextsSelect, kypregTextsSelect)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4inss.bmp",
kxpregTextsSelect, kypregTextsSelect)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
ADOPT_WAVE(kcnoSecToolWav, CHID(kstDefault, krepMouseDnOn))
CREATE_ANIMST("Select Textbox, Selected", kstSelected)
If(kidBackground->idtbxDown != GidThis());
ChangeStateGob(kidBackground->idtbxDown, kstDefault);
kidBackground->chttTbox = chttTboxSelect;
kidBackground->idtbxDown = GidThis();
EnqueueCid(cidSetTool, khidStudio, chttTboxSelect, 0, 0, 0);
End;
ENDCHUNK
CHILD_SCRIPT("Select Textbox", CHID(kstDefault, kchidClick))
If(kidBackground->idtbxDown != GidThis());
ChangeStateThis(kstSelected);
End;
ENDCHUNK
//
// Text box type popup. Starts the popup.
//
GOBCHUNK("Scroll Type", kidTextsScrollType, kgokkRectHit)
DEFAULT_POSITION(kxpTextsScrollType, kypTextsScrollType, 0)
ACTION(fcustNil, fcustNil, fgrfstAll, kcrsHand, CHID(kstDefault, kchidClick), cidNil, kttTextsScrollType)
ENDCHUNK
REP_MBMPREG(CHID(kstDefault, krepDefault), "studio\bmp\4scrl.bmp",
kxpregTextsScrollType, kypregTextsScrollType)
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseUpOn))
ADOPT_MBMP(LAST_MBMP, CHID(kstDefault, krepMouseDnOff))
REP_MBMPREG(CHID(kstDefault, krepMouseDnOn), "studio\bmp\4scrls.bmp",
kxpregTextsScrollType, kypregTextsScrollType)
ADOPT_MBMP(LAST_MBMP, CHID(kstSelected, krepDefault))
CHILD_SCRIPT("Scroll Type", CHID(kstDefault, kchidClick))
ChangeStateGob(kidScrollBackground, kstOpen);
ENDCHUNK
CREATE_ANIMST("Scroll Type - deselecting", kstDefault)
If (kidBackground->chttTbox == chttTboxScroll);
ChangeStateGob(kidTextsScroll, kstDefault);
Elif (kidBackground->chttTbox == chttTboxStory);
ChangeStateGob(kidTextsStory, kstDefault);
End;
ENDCHUNK
CREATE_ANIMST("Scroll type - selecting", kstSelected)
If (kidBackground->chttTbox == chttTboxScroll);
ChangeStateGob(kidTextsScroll, kstSelected);
Elif (kidBackground->chttTbox == chttTboxStory);
ChangeStateGob(kidTextsStory, kstSelected);
End;
ENDCHUNK