2001-02-09 22:17:01 +01:00
|
|
|
/*******************/
|
|
|
|
/*** Layer Shade ***/
|
|
|
|
/*******************/
|
|
|
|
|
|
|
|
#ifndef __LAYER_SHADE_HEADER__
|
|
|
|
#define __LAYER_SHADE_HEADER__
|
|
|
|
|
|
|
|
#include "Layer.h"
|
|
|
|
#include "MapEdit.h"
|
2001-03-13 22:00:34 +01:00
|
|
|
#include "GUILayerShade.h"
|
2001-02-09 22:17:01 +01:00
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
class CCore;
|
|
|
|
class CLayerShade : public CLayer
|
|
|
|
{
|
|
|
|
|
|
|
|
public:
|
2001-02-16 19:23:01 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
LAYER_SHADE_RGB_MAX=4,
|
2001-04-07 23:05:33 +02:00
|
|
|
|
|
|
|
SpinFlag=1<<0,
|
|
|
|
ScaleFlag=1<<1,
|
|
|
|
MoveFlag=1<<2,
|
|
|
|
ColorFlag=1<<3,
|
2001-02-16 19:23:01 +01:00
|
|
|
};
|
2001-04-07 23:05:33 +02:00
|
|
|
|
2001-03-26 23:29:09 +02:00
|
|
|
CLayerShade(sLayerDef &Def);
|
|
|
|
CLayerShade(CFile *File,int Version) {Load(File,Version);}
|
2001-02-09 22:17:01 +01:00
|
|
|
~CLayerShade();
|
|
|
|
|
2001-03-26 23:29:09 +02:00
|
|
|
void InitLayer(sLayerDef &Def);
|
|
|
|
|
2001-03-01 18:28:20 +01:00
|
|
|
void Render(CCore *Core,Vector3 &CamPos,bool Is3d);
|
|
|
|
void RenderGrid(CCore *Core,Vector3 &CamPos,bool Active){};
|
2001-02-09 22:17:01 +01:00
|
|
|
void RenderSelection(CCore *Core,Vector3 &ThisCam){};
|
|
|
|
|
2001-03-01 18:28:20 +01:00
|
|
|
void RenderCursor(CCore *Core,Vector3 &CamPos,bool Is3d){};
|
2001-02-09 22:17:01 +01:00
|
|
|
|
|
|
|
void GUIInit(CCore *Core);
|
|
|
|
void GUIKill(CCore *Core);
|
|
|
|
void GUIUpdate(CCore *Core);
|
|
|
|
void GUIChanged(CCore *Core);
|
|
|
|
|
2001-03-26 23:29:09 +02:00
|
|
|
bool Resize(int Width,int Height);
|
2001-02-09 22:17:01 +01:00
|
|
|
|
|
|
|
void Load(CFile *File,int Version);
|
|
|
|
void Save(CFile *File);
|
|
|
|
|
|
|
|
void Export(CCore *Core,CExport &Exp);
|
|
|
|
|
|
|
|
// Functions
|
|
|
|
|
|
|
|
protected:
|
2001-03-01 18:28:20 +01:00
|
|
|
void Render(CCore *Core,Vector3 &CamPos,CMap &ThisMap,bool Render3d,float Alpha=1.0f,Vector3 *Ofs=0);
|
2001-04-07 23:05:33 +02:00
|
|
|
void InitGfxList();
|
2001-02-09 22:17:01 +01:00
|
|
|
|
2001-03-13 22:00:34 +01:00
|
|
|
CGUILayerShade GUI;
|
2001-04-07 23:05:33 +02:00
|
|
|
CIni Script;
|
|
|
|
CList<GString> BackGfx;
|
|
|
|
int Back0,Back1;
|
|
|
|
int TransMode0,TransMode1;
|
|
|
|
int Flags0,Flags1;
|
2001-02-09 22:17:01 +01:00
|
|
|
|
2001-02-20 16:57:03 +01:00
|
|
|
int Count;
|
|
|
|
int Pos[LAYER_SHADE_RGB_MAX];
|
2001-02-16 19:23:01 +01:00
|
|
|
RGBQUAD RGB[LAYER_SHADE_RGB_MAX];
|
2001-04-07 23:05:33 +02:00
|
|
|
|
2001-02-09 22:17:01 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
#endif
|