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

#include <Indoor.h>

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

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

 BLVRenderParams ()
 
void Reset ()
 

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

int field_0_timer_
 
int _unused_uFlags
 
Vec3_int_ _unused_vPartyPos
 
int _unused_sPartyRotY
 
int _unused_sPartyRotX
 
int uPartySectorID
 
int _unused_sCosineY
 
int _unused_sSineY
 
int _unused_sCosineNegX
 
int _unused_sSineNegX
 
float _unused_fCosineY
 
float _unused_fSineY
 
float _unused_fCosineNegX
 
float _unused_fSineNegX
 
int bsp_fov_rad
 
int bsp_fov_rad_inv
 
unsigned int uTargetWidth
 
unsigned int uTargetHeight
 
unsigned int uViewportX
 
unsigned int uViewportY
 
unsigned int uViewportZ
 
unsigned int uViewportW
 
int fov
 
int * pTargetZBuffer
 
int uViewportHeight
 
int uViewportWidth
 
int uViewportCenterX
 
int uViewportCenterY
 
struct BspRenderer_PortalViewportDatafield_7C
 
unsigned int uNumFacesRenderedThisFrame
 
int field_84
 
int field_88
 
int field_8C
 
int field_90
 
int field_94
 

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

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

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

◆ BLVRenderParams()

BLVRenderParams::BLVRenderParams ( )
inline

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

666  {
667  uViewportX = 0;
668  uViewportY = 0;
669  uViewportZ = 0;
670  uViewportW = 0;
671  }

Перекрестные ссылки uViewportW, uViewportX, uViewportY и uViewportZ.

Методы

◆ Reset()

void BLVRenderParams::Reset ( )

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

163  {
165 
168  pIndoorCameraD3D->debug_flags |= BLV_RENDER_DRAW_SW_OUTLINES;
170  pIndoorCameraD3D->debug_flags |= BLV_RENDER_DRAW_D3D_OUTLINES;
171 
172  // v2 = a2;
173  // this->field_0_timer_ = a2->field_0_timer;
174  // this->uFlags = a2->uFlags;
175  // this->vPartyPos.x = a2->vPosition.x;
176  // this->vPartyPos.y = a2->vPosition.y;
177  // this->vPartyPos.z = a2->vPosition.z;
178  // v4 = this->vPartyPos.z;
179  // v5 = this->vPartyPos.y;
180  // this->sPartyRotY = a2->sRotationY;
181  // v6 = this->vPartyPos.x;
182  // this->sPartyRotX = a2->sRotationX;
186  this->uPartySectorID = v7;
187  if (!v7) {
188  __debugbreak(); // shouldnt happen, please provide savegame
189  /*v8 = this->vPartyPos.z;
190  this->vPartyPos.x = pParty->vPosition.x;
191  v9 = pParty->vPosition.y;
192  v10 = this->vPartyPos.x;
193  this->vPartyPos.y = pParty->vPosition.y;*/
194  // this->uPartySectorID = pIndoor->GetSector(
195  // pParty->vPosition.x, pParty->vPosition.y, pParty->vPosition.z);
196  }
197  // if ( render->pRenderD3D )
198  {
199  this->fov = pViewport->field_of_view;
200 
205 
206  this->uViewportWidth = uViewportZ - uViewportX + 1;
207  this->uViewportHeight = uViewportW - uViewportY + 1;
208  this->uViewportCenterX = (uViewportZ + uViewportX) / 2;
209  this->uViewportCenterY = (uViewportY + uViewportW) / 2;
210  }
211  /*else
212  {
213  __debugbreak(); // no sw
214 
215  }*/
216  // v27 = (unsigned int)(signed __int64)((double)this->uViewportWidth * 0.5
217  // / tan((double)(v2->fov_deg >>
218  // 1) * 0.01745329)
219  // + 0.5) << 16;
220  extern float _calc_fov(int viewport_width, int angle_degree);
222  this->bsp_fov_rad_inv = fixpoint_div(1 << 16, this->bsp_fov_rad);
223  this->uTargetWidth = window->GetWidth();
224  this->uTargetHeight = window->GetHeight();
225  this->pTargetZBuffer = render->pActiveZBuffer;
226  this->field_8C = 0;
227  this->field_84 = 0;
228  this->uNumFacesRenderedThisFrame = 0;
229  this->field_88 = 0;
232 }

Перекрестные ссылки __debugbreak(), _calc_fov(), bsp_fov_rad, bsp_fov_rad_inv, IndoorCameraD3D::debug_flags, ViewingParams::draw_d3d_outlines, ViewingParams::draw_sw_outlines, field_0_timer_, field_84, field_88, field_8C, field_90, field_94, Viewport::field_of_view, fixpoint_div(), fixpoint_from_int(), fov, IndoorLocation::GetSector(), pBLVRenderParams, pEventTimer, pIndoor, pIndoorCameraD3D, pTargetZBuffer, pViewport, render, uNumFacesRenderedThisFrame, uPartySectorID, Viewport::uScreen_BR_X, Viewport::uScreen_BR_Y, Viewport::uScreen_TL_X, Viewport::uScreen_TL_Y, uTargetHeight, uTargetWidth, Timer::uTotalGameTimeElapsed, uViewportCenterX, uViewportCenterY, uViewportHeight, uViewportW, uViewportWidth, uViewportX, uViewportY, uViewportZ, viewparams, IndoorCameraD3D::vPartyPos, Vec2< T >::x, Vec2< T >::y и Vec3< T >::z.

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

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

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

◆ field_0_timer_

int BLVRenderParams::field_0_timer_

◆ _unused_uFlags

int BLVRenderParams::_unused_uFlags

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

◆ _unused_vPartyPos

Vec3_int_ BLVRenderParams::_unused_vPartyPos

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

◆ _unused_sPartyRotY

int BLVRenderParams::_unused_sPartyRotY

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

◆ _unused_sPartyRotX

int BLVRenderParams::_unused_sPartyRotX

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

◆ uPartySectorID

int BLVRenderParams::uPartySectorID

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

Используется в IndoorLocation::Draw(), PrepareBspRenderList_BLV(), PrepareDrawLists_BLV() и Reset().

◆ _unused_sCosineY

int BLVRenderParams::_unused_sCosineY

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

◆ _unused_sSineY

int BLVRenderParams::_unused_sSineY

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

◆ _unused_sCosineNegX

int BLVRenderParams::_unused_sCosineNegX

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

◆ _unused_sSineNegX

int BLVRenderParams::_unused_sSineNegX

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

◆ _unused_fCosineY

float BLVRenderParams::_unused_fCosineY

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

◆ _unused_fSineY

float BLVRenderParams::_unused_fSineY

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

◆ _unused_fCosineNegX

float BLVRenderParams::_unused_fCosineNegX

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

◆ _unused_fSineNegX

float BLVRenderParams::_unused_fSineNegX

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

◆ bsp_fov_rad

int BLVRenderParams::bsp_fov_rad

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

Используется в Render::DrawIndoorSky(), GetPortalScreenCoord() и Reset().

◆ bsp_fov_rad_inv

int BLVRenderParams::bsp_fov_rad_inv

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

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

◆ uTargetWidth

unsigned int BLVRenderParams::uTargetWidth

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

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

◆ uTargetHeight

unsigned int BLVRenderParams::uTargetHeight

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

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

◆ uViewportX

unsigned int BLVRenderParams::uViewportX

◆ uViewportY

unsigned int BLVRenderParams::uViewportY

◆ uViewportZ

unsigned int BLVRenderParams::uViewportZ

◆ uViewportW

unsigned int BLVRenderParams::uViewportW

◆ fov

int BLVRenderParams::fov

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

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

◆ pTargetZBuffer

int* BLVRenderParams::pTargetZBuffer

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

Используется в RenderOpenGL::DrawBillboardList_BLV(), Render::DrawBillboardList_BLV() и Reset().

◆ uViewportHeight

int BLVRenderParams::uViewportHeight

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

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

◆ uViewportWidth

int BLVRenderParams::uViewportWidth

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

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

◆ uViewportCenterX

int BLVRenderParams::uViewportCenterX

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

Используется в Render::DrawIndoorSky(), GetPortalScreenCoord() и Reset().

◆ uViewportCenterY

int BLVRenderParams::uViewportCenterY

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

Используется в Render::DrawIndoorSky(), GetPortalScreenCoord() и Reset().

◆ field_7C

struct BspRenderer_PortalViewportData* BLVRenderParams::field_7C

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

◆ uNumFacesRenderedThisFrame

unsigned int BLVRenderParams::uNumFacesRenderedThisFrame

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

Используется в IndoorLocation::ExecDraw_d3d() и Reset().

◆ field_84

int BLVRenderParams::field_84

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

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

◆ field_88

int BLVRenderParams::field_88

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

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

◆ field_8C

int BLVRenderParams::field_8C

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

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

◆ field_90

int BLVRenderParams::field_90

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

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

◆ field_94

int BLVRenderParams::field_94

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

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


Объявления и описания членов структур находятся в файлах:
Vec2::x
T x
Definition: VectorTypes.h:12
BLVRenderParams::field_84
int field_84
Definition: Indoor.h:708
BLVRenderParams::field_0_timer_
int field_0_timer_
Definition: Indoor.h:675
pBLVRenderParams
BLVRenderParams * pBLVRenderParams
Definition: Indoor.cpp:50
fixpoint_div
__int64 fixpoint_div(int a1, int a2)
Definition: OurMath.cpp:147
ViewingParams::draw_d3d_outlines
int draw_d3d_outlines
Definition: Viewport.h:78
BLVRenderParams::field_8C
int field_8C
Definition: Indoor.h:710
Viewport::uScreen_TL_X
int uScreen_TL_X
Definition: Viewport.h:18
fixpoint_from_int
int fixpoint_from_int(int lhv, int rhv)
Definition: OurMath.cpp:161
BLVRenderParams::bsp_fov_rad
int bsp_fov_rad
Definition: Indoor.h:692
pIndoor
IndoorLocation * pIndoor
Definition: Indoor.cpp:49
BLVRenderParams::uViewportZ
unsigned int uViewportZ
Definition: Indoor.h:698
Viewport::uScreen_TL_Y
int uScreen_TL_Y
Definition: Viewport.h:19
Viewport::uScreen_BR_Y
int uScreen_BR_Y
Definition: Viewport.h:21
IndoorCameraD3D::vPartyPos
Vec3< int > vPartyPos
Definition: IndoorCameraD3D.h:253
Vec2::y
T y
Definition: VectorTypes.h:13
BLVRenderParams::uViewportW
unsigned int uViewportW
Definition: Indoor.h:699
viewparams
struct ViewingParams * viewparams
Definition: mm7_data.cpp:22
Viewport::uScreen_BR_X
int uScreen_BR_X
Definition: Viewport.h:20
BLVRenderParams::field_90
int field_90
Definition: Indoor.h:711
BLVRenderParams::uViewportCenterY
int uViewportCenterY
Definition: Indoor.h:705
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
BLVRenderParams::uViewportX
unsigned int uViewportX
Definition: Indoor.h:696
BLVRenderParams::pTargetZBuffer
int * pTargetZBuffer
Definition: Indoor.h:701
BLVRenderParams::uNumFacesRenderedThisFrame
unsigned int uNumFacesRenderedThisFrame
Definition: Indoor.h:707
BLVRenderParams::bsp_fov_rad_inv
int bsp_fov_rad_inv
Definition: Indoor.h:693
Viewport::field_of_view
int field_of_view
Definition: Viewport.h:30
pViewport
struct Viewport * pViewport
Definition: mm7_data.cpp:21
BLVRenderParams::uPartySectorID
int uPartySectorID
Definition: Indoor.h:681
BLVRenderParams::uViewportWidth
int uViewportWidth
Definition: Indoor.h:703
BLVRenderParams::uTargetWidth
unsigned int uTargetWidth
Definition: Indoor.h:694
BLVRenderParams::field_94
int field_94
Definition: Indoor.h:712
BLVRenderParams::uTargetHeight
unsigned int uTargetHeight
Definition: Indoor.h:695
__debugbreak
void __cdecl __debugbreak(void)
IndoorCameraD3D::debug_flags
int debug_flags
Definition: IndoorCameraD3D.h:255
BLVRenderParams::uViewportCenterX
int uViewportCenterX
Definition: Indoor.h:704
BLVRenderParams::field_88
int field_88
Definition: Indoor.h:709
BLVRenderParams::fov
int fov
Definition: Indoor.h:700
IndoorLocation::GetSector
int GetSector(int sX, int sY, int sZ)
Definition: Indoor.cpp:1279
ViewingParams::draw_sw_outlines
int draw_sw_outlines
Definition: Viewport.h:77
_calc_fov
float _calc_fov(int viewport_width, int angle_degree)
Definition: IndoorCameraD3D.cpp:17
BLVRenderParams::uViewportHeight
int uViewportHeight
Definition: Indoor.h:702
pIndoorCameraD3D
IndoorCameraD3D * pIndoorCameraD3D
Definition: IndoorCameraD3D.cpp:21
BLVRenderParams::uViewportY
unsigned int uViewportY
Definition: Indoor.h:697
Timer::uTotalGameTimeElapsed
unsigned int uTotalGameTimeElapsed
Definition: Time.h:135
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
Vec3::z
T z
Definition: VectorTypes.h:27
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52