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

#include <LOD.h>

+ Граф наследования:LODSprite:
+ Граф связей класса LODSprite:

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

 LODSprite ()
 
 ~LODSprite ()
 
void Release ()
 
int _4AD2D1_overlays (struct SoftwareBillboard *a2, int a3)
 
- Открытые члены унаследованные от LODSpriteHeader
 LODSpriteHeader ()
 

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

uint8_tbitmap
 
- Открытые атрибуты унаследованные от LODSpriteHeader
char pName [12]
 
uint32_t uSpriteSize
 
uint16_t uWidth
 
uint16_t uHeight
 
uint16_t uPaletteId
 
uint16_t word_16
 
uint16_t uTexturePitch
 
uint16_t word_1A
 
uint32_t uDecompressedSize
 

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

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

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

◆ LODSprite()

LODSprite::LODSprite ( )
inline

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

198  {
199  bitmap = nullptr;
200  }

◆ ~LODSprite()

LODSprite::~LODSprite ( )

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

395  {
396  if (!(this->word_1A & 0x400)) {
397  delete[] bitmap;
398  }
399  bitmap = nullptr;
400 }

Методы

◆ Release()

void LODSprite::Release ( )

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

316  {
317  if (!(this->word_1A & 0x400)) {
318  delete[] bitmap;
319  }
320 
321  this->word_1A = 0;
322  this->bitmap = nullptr;
323  this->pName[0] = 0;
324  this->word_16 = 0;
325  this->uPaletteId = 0;
326  this->uTexturePitch = 0;
327  this->uHeight = 0;
328  this->uWidth = 0;
329  this->uSpriteSize = 0;
330 }

◆ _4AD2D1_overlays()

int LODSprite::_4AD2D1_overlays ( struct SoftwareBillboard a2,
int  a3 
)

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

206  {
207  int result = (int)a2;
208  unsigned int v4 = a2->uTargetPitch;
209 
210  uint16_t *pTarget = (uint16_t*)a2->pTarget;
211  uint16_t *pPalette = a2->pPalette;
212  for (int y = 0; y < uHeight; y++) {
213  for (int x = 0; x < uWidth; x++) {
214  uint8_t color = bitmap[y * uWidth + x];
215  if (color != 0) {
216  pTarget[((a2->screen_space_y + y) * a2->uTargetPitch) + a2->screen_space_x + x] = pPalette[color];
217  }
218  }
219  }
220  return result;
221 }

Перекрестные ссылки SoftwareBillboard::pPalette, SoftwareBillboard::pTarget, SoftwareBillboard::screen_space_x, SoftwareBillboard::screen_space_y, LODSpriteHeader::uHeight, SoftwareBillboard::uTargetPitch и LODSpriteHeader::uWidth.

Используется в _441A4E_overlay_on_portrait().

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

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

◆ bitmap

uint8_t* LODSprite::bitmap

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

Используется в Vis::IsPointInsideD3DBillboard() и LODFile_Sprites::LoadSpriteFromFile().


Объявления и описания членов структур находятся в файлах:
uint16_t
unsigned __int16 uint16_t
Definition: SDL_config.h:37
SoftwareBillboard::pPalette
uint16_t * pPalette
Definition: IRender.h:179
SoftwareBillboard::pTarget
void * pTarget
Definition: IRender.h:171
LODSpriteHeader::word_1A
uint16_t word_1A
Definition: LOD.h:191
LODSpriteHeader::uSpriteSize
uint32_t uSpriteSize
Definition: LOD.h:185
LODSpriteHeader::uWidth
uint16_t uWidth
Definition: LOD.h:186
LODSpriteHeader::uPaletteId
uint16_t uPaletteId
Definition: LOD.h:188
result
GLuint64EXT * result
Definition: SDL_opengl_glext.h:9435
LODSpriteHeader::word_16
uint16_t word_16
Definition: LOD.h:189
LODSpriteHeader::uTexturePitch
uint16_t uTexturePitch
Definition: LOD.h:190
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
color
GLuint color
Definition: SDL_opengl_glext.h:1151
LODSpriteHeader::uHeight
uint16_t uHeight
Definition: LOD.h:187
SoftwareBillboard::screen_space_x
int screen_space_x
Definition: IRender.h:173
bitmap
GLsizei GLfixed GLfixed GLfixed GLfixed const GLubyte * bitmap
Definition: SDL_opengl_glext.h:4537
LODSprite::bitmap
uint8_t * bitmap
Definition: LOD.h:206
SoftwareBillboard::screen_space_y
int screen_space_y
Definition: IRender.h:174
uint8_t
unsigned __int8 uint8_t
Definition: SDL_config.h:35
LODSpriteHeader::pName
char pName[12]
Definition: LOD.h:184
SoftwareBillboard::uTargetPitch
unsigned int uTargetPitch
Definition: IRender.h:182