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
|
||
|
|
||
|
|