2001-06-04 16:54:48 +02:00
|
|
|
/*=========================================================================
|
|
|
|
|
|
|
|
fma.h
|
|
|
|
|
|
|
|
Author: PKG
|
|
|
|
Created:
|
|
|
|
Project: Spongebob
|
|
|
|
Purpose:
|
|
|
|
|
|
|
|
Copyright (c) 2001 Climax Development Ltd
|
|
|
|
|
|
|
|
===========================================================================*/
|
|
|
|
|
|
|
|
#ifndef __FMA_FMA_H__
|
|
|
|
#define __FMA_FMA_H__
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Includes
|
|
|
|
-------- */
|
|
|
|
|
|
|
|
#ifndef __SYSTEM_GSTATE_H__
|
|
|
|
#include "system\gstate.h"
|
|
|
|
#endif
|
|
|
|
|
2001-06-04 18:10:06 +02:00
|
|
|
#ifndef _GLOBAL_HEADER_
|
|
|
|
#include "system\global.h"
|
|
|
|
#endif
|
|
|
|
|
2001-06-04 16:54:48 +02:00
|
|
|
|
|
|
|
/* Std Lib
|
|
|
|
------- */
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Tyepdefs && Defines
|
|
|
|
------------------- */
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Structure defintions
|
|
|
|
-------------------- */
|
|
|
|
|
2001-06-22 22:06:39 +02:00
|
|
|
class CFmaScene : public CScene
|
2001-06-04 16:54:48 +02:00
|
|
|
{
|
|
|
|
public:
|
2001-06-22 22:06:39 +02:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
FMA_SCRIPT__INTRO,
|
|
|
|
FMA_SCRIPT__CH1FINISHED,
|
|
|
|
FMA_SCRIPT__CH2FINISHED,
|
|
|
|
FMA_SCRIPT__CH3FINISHED,
|
|
|
|
FMA_SCRIPT__CH4FINISHED,
|
|
|
|
FMA_SCRIPT__CH5FINISHED,
|
2001-07-02 17:42:35 +02:00
|
|
|
FMA_SCRIPT__PLANKTON,
|
2001-07-05 23:26:39 +02:00
|
|
|
FMA_SCRIPT__PARTY,
|
2001-06-22 22:06:39 +02:00
|
|
|
NUM_FMA_SCRIPTS,
|
|
|
|
FMA_SCRIPT__NONE,
|
|
|
|
}FMA_SCRIPT_NUMBER;
|
|
|
|
|
|
|
|
|
2001-06-04 16:54:48 +02:00
|
|
|
void init();
|
|
|
|
void shutdown();
|
|
|
|
void render();
|
|
|
|
void think(int _frames);
|
|
|
|
int readyToShutdown();
|
|
|
|
char *getSceneName() {return"FMA";}
|
|
|
|
|
2001-06-22 22:06:39 +02:00
|
|
|
static void selectFma(FMA_SCRIPT_NUMBER _fma);
|
|
|
|
|
2001-06-04 18:10:06 +02:00
|
|
|
private:
|
|
|
|
void startShutdown();
|
|
|
|
|
2001-06-16 00:48:16 +02:00
|
|
|
void startNextScriptCommand();
|
|
|
|
void processCurrentScriptCommand();
|
|
|
|
|
2001-06-04 18:10:06 +02:00
|
|
|
|
|
|
|
|
2001-07-05 23:26:39 +02:00
|
|
|
class CLevel *m_level;
|
|
|
|
class CPartyScene *m_party;
|
2001-06-04 18:10:06 +02:00
|
|
|
|
|
|
|
DVECTOR m_cameraPos;
|
2001-06-16 00:48:16 +02:00
|
|
|
|
|
|
|
int m_cameraMoving;
|
|
|
|
int m_startCameraFrame;
|
|
|
|
DVECTOR m_startCameraPos;
|
|
|
|
int m_endCameraFrame;
|
|
|
|
DVECTOR m_endCameraPos;
|
|
|
|
|
2001-06-22 22:06:39 +02:00
|
|
|
int const *m_pc;
|
2001-06-16 00:48:16 +02:00
|
|
|
int m_scriptRunning;
|
|
|
|
int m_stillProcessingCommand;
|
|
|
|
int m_doOtherProcessing;
|
|
|
|
int m_timer;
|
|
|
|
int m_frameCount;
|
2001-06-04 18:10:06 +02:00
|
|
|
|
2001-07-05 23:26:39 +02:00
|
|
|
int m_tuneLoaded;
|
|
|
|
int m_musicPlaying;
|
|
|
|
|
2001-07-06 01:16:09 +02:00
|
|
|
int m_globalAnimationFlag;
|
|
|
|
|
2001-06-04 18:10:06 +02:00
|
|
|
int m_readyToShutdown;
|
2001-06-04 16:54:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Globals
|
|
|
|
------- */
|
|
|
|
|
|
|
|
extern CFmaScene FmaScene;
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Functions
|
|
|
|
--------- */
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
#endif /* __FMA_FMA_H__ */
|
|
|
|
|
|
|
|
/*===========================================================================
|
|
|
|
end */
|