Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
143 lines
3.7 KiB
C++
143 lines
3.7 KiB
C++
// GUILight.h: interface for the GUILight class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_GUILIGHT_H__98695BE0_C61E_4358_9A6C_E01EB6FFCDE1__INCLUDED_)
|
|
#define AFX_GUILIGHT_H__98695BE0_C61E_4358_9A6C_E01EB6FFCDE1__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "EdGUIObject.h"
|
|
|
|
namespace gosFX
|
|
{
|
|
class Light;
|
|
};
|
|
|
|
class GUILight : public EdGUIObject
|
|
{
|
|
protected:
|
|
gosFX::Light *MyLight;
|
|
void Copy(GUILight &obj);
|
|
void UpdateMat();
|
|
void AddToMap();
|
|
void RemoveFromMap();
|
|
void Clear();
|
|
void SetToDefault();
|
|
public:
|
|
virtual void Build()=0;
|
|
RGBColor GetColor();
|
|
void SetColor(RGBColor &col);
|
|
Scalar GetIntensity();
|
|
void SetIntensity(Scalar);
|
|
|
|
void AssociateTo(gosFX::Light *light);
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
void Dissociate()
|
|
{ MyLight=NULL; InMap=false;}
|
|
GUILight(CString name="Light");
|
|
void UpdateVisibility(DWORD visflag) { SetHide(visflag&SHOW_LIGHTS?false:true);}
|
|
~GUILight();
|
|
|
|
};
|
|
|
|
|
|
class GUIAmbientLight : public GUILight
|
|
{
|
|
protected:
|
|
void Copy(GUIAmbientLight &obj);
|
|
public:
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
EdGUIObject *Clone();
|
|
GUIAmbientLight(CString name="Ambient_Light");
|
|
void Build();
|
|
~GUIAmbientLight();
|
|
CString GetTypeName() {return ("Ambient_Light");}
|
|
int GetUnSelIcon() {return ICON_AMBIENTLIGHT; }
|
|
int GetSelIcon() {return ICON_AMBIENTLIGHT; }
|
|
void Draw(DrawInfo &dinf) {}
|
|
void DrawTag(DrawInfo &dinf, unsigned long tag_flags) {}
|
|
};
|
|
|
|
class GUIInfiniteLight : public GUILight
|
|
{
|
|
protected:
|
|
void Copy(GUIInfiniteLight &obj);
|
|
public:
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
EdGUIObject *Clone();
|
|
GUIInfiniteLight(CString name="Infinite_Light");
|
|
void Build();
|
|
~GUIInfiniteLight();
|
|
CString GetTypeName() {return ("Infinite_Light");}
|
|
int GetUnSelIcon() {return ICON_INFINITELIGHT; }
|
|
int GetSelIcon() {return ICON_INFINITELIGHT; }
|
|
void Draw(DrawInfo &dinf) {}
|
|
void DrawTag(DrawInfo &dinf, unsigned long tag_flags) {}
|
|
};
|
|
|
|
class GUILookUpLight : public GUIInfiniteLight
|
|
{
|
|
protected:
|
|
void Copy(GUILookUpLight &obj) {return;}
|
|
public:
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
EdGUIObject *Clone() { return NULL;}
|
|
GUILookUpLight(CString name="LookUp_Light");
|
|
void Build() {return;}
|
|
~GUILookUpLight();
|
|
CString GetTypeName() {return ("LookUp_Light");}
|
|
int GetUnSelIcon() {return ICON_LOOKUPLIGHT; }
|
|
int GetSelIcon() {return ICON_LOOKUPLIGHT; }
|
|
void Draw(DrawInfo &dinf);
|
|
};
|
|
|
|
|
|
class GUIPointLight : public GUILight
|
|
{
|
|
protected:
|
|
void Copy(GUIPointLight &obj);
|
|
public:
|
|
Scalar GetInnerRad();
|
|
void SetInnerRad(Scalar);
|
|
Scalar GetOuterRad();
|
|
void SetOuterRad(Scalar);
|
|
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
void Build();
|
|
EdGUIObject *Clone();
|
|
GUIPointLight(CString name="Point_Light",Point3D pnt=Point3D(0,0,0));
|
|
~GUIPointLight();
|
|
CString GetTypeName() {return ("Point_Light");}
|
|
int GetUnSelIcon() {return ICON_POINTLIGHT; }
|
|
int GetSelIcon() {return ICON_POINTLIGHT; }
|
|
void Draw(DrawInfo &dinf);
|
|
};
|
|
|
|
class GUISpotLight : public GUIPointLight
|
|
{
|
|
protected:
|
|
void Copy(GUISpotLight &obj);
|
|
public:
|
|
Scalar GetSpreadAngle();
|
|
void SetSpreadAngle(Scalar);
|
|
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
void Build();
|
|
EdGUIObject *Clone();
|
|
GUISpotLight(CString name="Spot_Light",Point3D pnt=Point3D(0,0,0));
|
|
~GUISpotLight();
|
|
CString GetTypeName() {return ("Spot_Light");}
|
|
int GetUnSelIcon() {return ICON_SPOTLIGHT; }
|
|
int GetSelIcon() {return ICON_SPOTLIGHT; }
|
|
void Draw(DrawInfo &dinf);
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_GUILIGHT_H__98695BE0_C61E_4358_9A6C_E01EB6FFCDE1__INCLUDED_)
|