World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура LightsStack_MobileLight_

#include <Lights.h>

+ Граф связей класса LightsStack_MobileLight_:

Открытые члены

 LightsStack_MobileLight_ ()
 
virtual ~LightsStack_MobileLight_ ()
 
bool AddLight (int16_t x, int16_t y, int16_t z, int16_t uSectorID, int uRadius, uint8_t r, uint8_t g, uint8_t b, char a10)
 

Открытые атрибуты

MobileLight pLights [400]
 
unsigned int uNumLightsActive
 
Loglog
 

Подробное описание

См. определение в файле Lights.h строка 73

Конструктор(ы)

◆ LightsStack_MobileLight_()

LightsStack_MobileLight_::LightsStack_MobileLight_ ( )
inline

См. определение в файле Lights.h строка 75

75  {
76  this->log = EngineIoc::ResolveLogger();
77  this->uNumLightsActive = 0;
78  }

Перекрестные ссылки log, Engine_::IocContainer::ResolveLogger() и uNumLightsActive.

+ Граф вызовов:

◆ ~LightsStack_MobileLight_()

virtual LightsStack_MobileLight_::~LightsStack_MobileLight_ ( )
inlinevirtual

См. определение в файле Lights.h строка 80

80 { this->uNumLightsActive = 0; }

Перекрестные ссылки uNumLightsActive.

Методы

◆ AddLight()

bool LightsStack_MobileLight_::AddLight ( int16_t  x,
int16_t  y,
int16_t  z,
int16_t  uSectorID,
int  uRadius,
uint8_t  r,
uint8_t  g,
uint8_t  b,
char  a10 
)

См. определение в файле LightsStack.cpp строка 6

9  {
10  if (uNumLightsActive >= 400) {
11  log->Warning(L"Too many mobile lights!");
12  return false;
13  }
14 
18  pLights[uNumLightsActive].uRadius = uRadius;
19  pLights[uNumLightsActive].field_C = (((uRadius < 0) - 1) & 0x3E) - 31;
20  pLights[uNumLightsActive].uSectorID = uSectorID;
21  pLights[uNumLightsActive].field_10 = uRadius * uRadius >> 5;
25  pLights[uNumLightsActive++].uLightType = uLightType;
26 
27  return true;
28 }

Перекрестные ссылки MobileLight::field_10, MobileLight::field_C, log, pLights, MobileLight::uLightColorB, MobileLight::uLightColorG, MobileLight::uLightColorR, MobileLight::uLightType, uNumLightsActive, MobileLight::uRadius, MobileLight::uSectorID, MobileLight::vPosition и Log::Warning().

Используется в SpellFxRenderer::AddMobileLight(), RenderBase::DrawSpriteObjects_ODM(), IndoorLocation::PrepareActorRenderList_BLV(), OutdoorLocation::PrepareActorsDrawList(), PrepareDrawLists_BLV() и IndoorLocation::PrepareItemsRenderList_BLV().

+ Граф вызовов:
+ Граф вызова функции:

Данные класса

◆ pLights

◆ uNumLightsActive

◆ log

Log* LightsStack_MobileLight_::log

См. определение в файле Lights.h строка 89

Используется в AddLight() и LightsStack_MobileLight_().


Объявления и описания членов структур находятся в файлах:
MobileLight::vPosition
Vec3_short_ vPosition
Definition: Lights.h:22
MobileLight::field_10
int16_t field_10
Definition: Lights.h:30
MobileLight::uLightColorR
uint8_t uLightColorR
Definition: Lights.h:24
z
GLdouble GLdouble z
Definition: SDL_opengl_glext.h:407
Engine_::IocContainer::ResolveLogger
static Log * ResolveLogger()
Definition: IocContainer.cpp:51
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
LightsStack_MobileLight_::log
Log * log
Definition: Lights.h:89
Log::Warning
void Warning(const wchar_t *pFormat,...)
Definition: Log.cpp:28
LightsStack_MobileLight_::pLights
MobileLight pLights[400]
Definition: Lights.h:87
MobileLight::uSectorID
int16_t uSectorID
Definition: Lights.h:29
MobileLight::uLightColorG
uint8_t uLightColorG
Definition: Lights.h:25
MobileLight::uLightColorB
uint8_t uLightColorB
Definition: Lights.h:26
LightsStack_MobileLight_::uNumLightsActive
unsigned int uNumLightsActive
Definition: Lights.h:88
b
GLboolean GLboolean GLboolean b
Definition: SDL_opengl_glext.h:1112
r
GLdouble GLdouble GLdouble r
Definition: SDL_opengl.h:2079
MobileLight::uLightType
char uLightType
Definition: Lights.h:27
MobileLight::field_C
int16_t field_C
Definition: Lights.h:28
g
GLboolean GLboolean g
Definition: SDL_opengl_glext.h:1112
MobileLight::uRadius
int16_t uRadius
Definition: Lights.h:23