mirror of
https://github.com/microsoft/Microsoft-3D-Movie-Maker.git
synced 2024-11-22 02:12:33 +01:00
72 lines
1.9 KiB
C++
72 lines
1.9 KiB
C++
/* Copyright (c) Microsoft Corporation.
|
|
Licensed under the MIT License. */
|
|
|
|
/* Copyright (c) Microsoft Corporation.
|
|
Licensed under the MIT License. */
|
|
|
|
/***************************************************************************
|
|
Author: ShonK
|
|
Project: Kauai
|
|
Reviewed:
|
|
Copyright (c) Microsoft Corporation
|
|
|
|
Script interpreter for the gob based scripts.
|
|
|
|
***************************************************************************/
|
|
#ifndef SCREXEG_H
|
|
#define SCREXEG_H
|
|
|
|
|
|
/****************************************
|
|
Gob based script interpreter
|
|
****************************************/
|
|
typedef class SCEG *PSCEG;
|
|
#define SCEG_PAR SCEB
|
|
#define kclsSCEG 'SCEG'
|
|
class SCEG : public SCEG_PAR
|
|
{
|
|
RTCLASS_DEC
|
|
ASSERT
|
|
|
|
protected:
|
|
//CAUTION: _pgob may be nil (even if the gob still exists)! Always access
|
|
//thru _PgobThis. When something is done that may cause the gob to be
|
|
//freed (such as calling another script), set this to nil.
|
|
PGOB _pgob;
|
|
long _hid; // the handler id of the initialization gob
|
|
long _grid; // the unique gob run-time id of the initialization gob
|
|
PWOKS _pwoks; // the kidspace world this script belongs to
|
|
|
|
virtual PGOB _PgobThis(void);
|
|
virtual PGOB _PgobFromHid(long hid);
|
|
|
|
virtual bool _FExecOp(long op);
|
|
virtual PGL *_PpglrtvmThis(void);
|
|
virtual PGL *_PpglrtvmGlobal(void);
|
|
virtual PGL *_PpglrtvmRemote(long lw);
|
|
|
|
virtual short _SwCur(void);
|
|
virtual short _SwMin(void);
|
|
|
|
void _DoAlert(long op);
|
|
void _SetColorTable(CHID chid);
|
|
void _DoEditControl(long hid, long stid, bool fGet);
|
|
PGL _PglclrGet(CNO cno);
|
|
bool _FLaunch(long stid);
|
|
|
|
public:
|
|
SCEG(PWOKS pwoks, PRCA prca, PGOB pgob);
|
|
|
|
void GobMayDie(void)
|
|
{ _pgob = pvNil; }
|
|
virtual bool FResume(long *plwReturn = pvNil, bool *pfPaused = pvNil);
|
|
};
|
|
|
|
//a Chunky resource reader for a color table
|
|
bool FReadColorTable(PCRF pcrf, CTG ctg, CNO cno, PBLCK pblck,
|
|
PBACO *ppbaco, long *pcb);
|
|
|
|
#endif //!SCREXEG_H
|
|
|
|
|