Files
firestorm/Gameleap/code/mw4/Libraries/mlr/MLRShadowLight.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

118 lines
2.3 KiB
C++

#pragma once
#define MLR_MLRSHADOWLIGHT_HPP
#include "MLR.hpp"
#include "MLRInfiniteLightWithFalloff.hpp"
namespace MidLevelRenderer {
//##########################################################################
//###################### MLRShadowLight #############################
//##########################################################################
class MLRShadowLight:
public MLRInfiniteLightWithFalloff
{
public:
static void
InitializeClass();
static void
TerminateClass();
MLRShadowLight();
MLRShadowLight(
Stuff::MemoryStream *stream,
int version
);
MLRShadowLight(Stuff::Page *page);
~MLRShadowLight();
void
Save(Stuff::MemoryStream *stream);
void
Write(Stuff::Page *page);
virtual LightType
GetLightType()
{ Check_Object(this); return ShadowLight; }
virtual void
LightVertex(const MLRVertexData&)
{ Check_Object(this); }
virtual void
LightCenter(RGBAColor&)
{ Check_Object(this); }
void
SetLightMap(MLRLightMap *light_map);
// MSL 5.02 Shadow
MLRLightMap *
GetLightMap()
{ Check_Object(this); return showShadow ? lightMap : NULL; }
const MLRTexture*
GetShadowTexture()
{ Check_Object(this); return shadowTexture; }
void
SeeDetailShadow(bool b=true);
void
SetBlobDistance(Stuff::Scalar d)
{ Check_Object(this); blobDistance = d; }
Stuff::Scalar
GetBlobDistance()
{ Check_Object(this); return blobDistance; }
// MSL 5.02 Shadow
//
// Needed a way to clip out a shadow when it is out of range.
// Out of range is when it is past the fogend setting of the current mission.
//
void
ShowShadow(bool fShow)
{ Check_Object(this); showShadow = fShow;}
bool
GetShowShadow()
{ Check_Object(this); return showShadow;}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class Data Support
//
public:
static ClassData
*DefaultData;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Testing
//
public:
void
TestInstance();
protected:
MLRLightMap
*lightMap;
MLRTexture
*shadowTexture;
unsigned
blobTextureHandle;
bool
detailShadow;
Stuff::Scalar
blobDistance;
// MSL 5.02 Shadow
bool
showShadow;
};
}