World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <Indoor.h>
Открытые члены | |
BLVFace () | |
void | _get_normals (Vec3_int_ *a2, Vec3_int_ *a3) |
void | FromODM (struct ODMFace *face) |
void | SetTexture (const String &filename) |
Texture * | GetTexture () |
bool | Deserialize (struct BLVFace_MM7 *) |
bool | Invisible () const |
bool | Visible () const |
bool | Portal () const |
bool | Fluid () const |
bool | Indoor_sky () const |
bool | Clickable () const |
bool | Pressure_Plate () const |
bool | Ethereal () const |
bool | IsTextureFrameTable () const |
void | ToggleIsTextureFrameTable () |
Открытые атрибуты | |
struct Plane_float_ | pFacePlane |
struct Plane_int_ | pFacePlane_old |
int | zCalc1 |
int | zCalc2 |
int | zCalc3 |
unsigned int | uAttributes |
uint16_t * | pVertexIDs |
int16_t * | pXInterceptDisplacements |
int16_t * | pYInterceptDisplacements |
int16_t * | pZInterceptDisplacements |
int16_t * | pVertexUIDs |
int16_t * | pVertexVIDs |
uint16_t | uFaceExtraID |
void * | resource |
uint16_t | uSectorID |
int16_t | uBackSectorID |
struct BBox_short_ | pBounding |
PolygonType | uPolygonType |
uint8_t | uNumVertices |
char | field_5E |
char | field_5F |
|
inline |
См. определение в файле Indoor.h строка 426
Перекрестные ссылки pVertexIDs, pXInterceptDisplacements, pYInterceptDisplacements, pZInterceptDisplacements, uAttributes, uFaceExtraID и uNumVertices.
void BLVFace::_get_normals | ( | Vec3_int_ * | a2, |
Vec3_int_ * | a3 | ||
) |
См. определение в файле Indoor.cpp строка 1422
Перекрестные ссылки Vec3_float_::Normalize(), pFacePlane_old, POLYGON_Ceiling, POLYGON_Floor, POLYGON_InBetweenCeilingAndWall, POLYGON_InBetweenFloorAndWall, POLYGON_VerticalWall, uAttributes, uPolygonType, Plane_int_::vNormal, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
См. определение в файле Indoor.cpp строка 372
Перекрестные ссылки Plane_int_::dist, Plane_float_::dist, pBounding, ODMFace::pBoundingBox, ODMFace::pFacePlane, pFacePlane, pFacePlane_old, ODMFace::pXInterceptDisplacements, pXInterceptDisplacements, ODMFace::pYInterceptDisplacements, pYInterceptDisplacements, ODMFace::pZInterceptDisplacements, pZInterceptDisplacements, ODMFace::uAttributes, uAttributes, ODMFace::uPolygonType, uPolygonType, Plane_int_::vNormal, Plane_float_::vNormal, Vec3_float_::x, BBox_short_::x1, BBox_short_::x2, Vec3_float_::y, BBox_short_::y1, BBox_short_::y2, Vec3_float_::z, BBox_short_::z1, BBox_short_::z2, ODMFace::zCalc1, zCalc1, ODMFace::zCalc2, zCalc2, ODMFace::zCalc3 и zCalc3.
Используется в Vis::PickOutdoorFaces_Keyboard() и Vis::PickOutdoorFaces_Mouse().
См. определение в файле Indoor.cpp строка 746
Перекрестные ссылки assets, TextureFrameTable::FindTextureByName(), AssetsManager::GetBitmap(), IsTextureFrameTable(), pTextureFrameTable, resource и ToggleIsTextureFrameTable().
Используется в IndoorLocation::Load() и sub_44861E_set_texture_indoor().
Texture * BLVFace::GetTexture | ( | ) |
См. определение в файле Indoor.cpp строка 738
Перекрестные ссылки BLVRenderParams::field_0_timer_, TextureFrameTable::GetFrameTexture(), IsTextureFrameTable(), pTextureFrameTable и resource.
Используется в RenderOpenGL::DrawIndoorPolygon(), Render::DrawIndoorPolygon(), Render::DrawIndoorSky() и IndoorLocation::ExecDraw_d3d().
bool BLVFace::Deserialize | ( | struct BLVFace_MM7 * | data | ) |
См. определение в файле Indoor.cpp строка 74
Перекрестные ссылки BLVFace_MM7::pBounding, pBounding, BLVFace_MM7::pFacePlane, pFacePlane, BLVFace_MM7::pFacePlane_old, pFacePlane_old, BLVFace_MM7::pVertexIDs, pVertexIDs, BLVFace_MM7::pVertexUIDs, pVertexUIDs, BLVFace_MM7::pVertexVIDs, pVertexVIDs, BLVFace_MM7::pXInterceptDisplacements, pXInterceptDisplacements, BLVFace_MM7::pYInterceptDisplacements, pYInterceptDisplacements, BLVFace_MM7::pZInterceptDisplacements, pZInterceptDisplacements, BLVFace_MM7::uAttributes, uAttributes, BLVFace_MM7::uBackSectorID, uBackSectorID, BLVFace_MM7::uFaceExtraID, uFaceExtraID, BLVFace_MM7::uPolygonType, uPolygonType, BLVFace_MM7::uSectorID, uSectorID, BLVFace_MM7::zCalc1, zCalc1, BLVFace_MM7::zCalc2, zCalc2, BLVFace_MM7::zCalc3 и zCalc3.
Используется в IndoorLocation::Load().
|
inline |
См. определение в файле Indoor.h строка 444
Перекрестные ссылки uAttributes.
Используется в IndoorLocation::ExecDraw_d3d(), Vis::Intersect_Ray_Face() и Visible().
|
inline |
См. определение в файле Indoor.h строка 447
Перекрестные ссылки Invisible().
Используется в DrawBook_Map_sub() и GameUI_DrawMinimap().
|
inline |
См. определение в файле Indoor.h строка 448
Перекрестные ссылки uAttributes.
Используется в _46E44E_collide_against_faces_and_portals(), BspRenderer::AddFaceToRenderList_d3d(), GetPortalScreenCoord(), Vis::Intersect_Ray_Face(), IndoorCameraD3D::is_face_faced_to_camera(), sub_4406BC(), sub_475D85() и sub_475F30().
|
inline |
См. определение в файле Indoor.h строка 449
Перекрестные ссылки uAttributes.
Используется в DecalBuilder::ApplyBloodsplatDecals_IndoorFace(), BLV_ProcessPartyActions() и IndoorLocation::ExecDraw_d3d().
|
inline |
См. определение в файле Indoor.h строка 450
Перекрестные ссылки uAttributes.
Используется в DecalBuilder::ApplyBloodsplatDecals_IndoorFace() и IndoorLocation::ExecDraw_d3d().
|
inline |
См. определение в файле Indoor.h строка 453
Перекрестные ссылки uAttributes.
Используется в Application::Game::EventLoop() и GameUI_DrawMinimap().
|
inline |
См. определение в файле Indoor.h строка 456
Перекрестные ссылки uAttributes.
Используется в BLV_ProcessPartyActions().
|
inline |
См. определение в файле Indoor.h строка 459
Перекрестные ссылки uAttributes.
Используется в BLV_GetFloorLevel() и sub_475F30().
|
inline |
См. определение в файле Indoor.h строка 461
Перекрестные ссылки uAttributes.
Используется в IndoorLocation::ExecDraw_d3d(), GetTexture() и SetTexture().
|
inline |
См. определение в файле Indoor.h строка 464
Перекрестные ссылки uAttributes.
Используется в SetTexture().
struct Plane_float_ BLVFace::pFacePlane |
См. определение в файле Indoor.h строка 470
Используется в DecalBuilder::ApplyBloodsplatDecals_IndoorFace(), LightmapBuilder::ApplyLight_BLV(), stru10::CalcFaceBounding(), Deserialize(), IndoorLocation::ExecDraw_d3d(), FromODM() и Vis::Intersect_Ray_Face().
struct Plane_int_ BLVFace::pFacePlane_old |
См. определение в файле Indoor.h строка 471
Используется в _46E44E_collide_against_faces_and_portals(), _get_normals(), BspRenderer::AddFaceToRenderList_d3d(), BLV_ProcessPartyActions(), Deserialize(), FromODM(), GetPortalScreenCoord(), IndoorCameraD3D::is_face_faced_to_camera(), sub_4070EF_prolly_detect_player(), sub_4406BC(), sub_475D85(), sub_475F30(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
int BLVFace::zCalc1 |
См. определение в файле Indoor.h строка 472
Используется в BLV_GetFloorLevel(), Deserialize() и FromODM().
int BLVFace::zCalc2 |
См. определение в файле Indoor.h строка 473
Используется в BLV_GetFloorLevel(), Deserialize() и FromODM().
int BLVFace::zCalc3 |
См. определение в файле Indoor.h строка 474
Используется в BLV_GetFloorLevel(), Deserialize(), FromODM() и IndoorLocation::GetSector().
unsigned int BLVFace::uAttributes |
См. определение в файле Indoor.h строка 475
Используется в Engine::_44ED0A_saturate_face_blv(), stru10::_49CE9E(), _get_normals(), Engine::AlterGamma_BLV(), Vis::BLV_CreateIntersectFacesVertexCoordList(), BLV_ProcessPartyActions(), BLVFace(), stru10::CalcFaceBounding(), stru10::CalcPolygonLimits(), Vis::CheckIntersectBModel(), Clickable(), Deserialize(), DoInteractionWithTopmostZObject(), DrawBook_Map_sub(), RenderOpenGL::DrawIndoorPolygon(), Render::DrawIndoorPolygon(), Ethereal(), IndoorLocation::ExecDraw_d3d(), FaceFlowTextureOffset(), Fluid(), FromODM(), GameUI_DrawMinimap(), GameUI_WritePointedObjectStatusString(), Indoor_sky(), Invisible(), IsTextureFrameTable(), IndoorLocation::Load(), Vis::ODM_CreateIntersectFacesVertexCoordList(), Vis::PickOutdoorFaces_Mouse(), Portal(), Pressure_Plate(), SaveGame(), sub_44892E_set_faces_bit(), sub_475D85(), ToggleIsTextureFrameTable(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
uint16_t* BLVFace::pVertexIDs |
См. определение в файле Indoor.h строка 476
Используется в BspRenderer::AddFaceToRenderList_d3d(), Vis::BLV_CreateIntersectFacesVertexCoordList(), BLV_GetFloorLevel(), BLV_ProcessPartyActions(), BLVFace(), stru10::CalcPolygonLimits(), IndoorCameraD3D::DebugDrawPortal(), Deserialize(), RenderOpenGL::DrawIndoorPolygon(), IndoorLocation::ExecDraw_d3d(), GetPortalScreenCoord(), IndoorLocation::GetSector(), IndoorCameraD3D::IsCulled(), IndoorLocation::Load(), Vis::ODM_CreateIntersectFacesVertexCoordList(), IndoorCameraD3D::PrepareAndDrawDebugOutline(), sub_4070EF_prolly_detect_player(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
int16_t* BLVFace::pXInterceptDisplacements |
См. определение в файле Indoor.h строка 477
Используется в Vis::BLV_CreateIntersectFacesVertexCoordList(), BLV_GetFloorLevel(), BLVFace(), stru10::CalcPolygonLimits(), Deserialize(), FromODM(), IndoorLocation::Load() и Vis::ODM_CreateIntersectFacesVertexCoordList().
int16_t* BLVFace::pYInterceptDisplacements |
См. определение в файле Indoor.h строка 478
Используется в Vis::BLV_CreateIntersectFacesVertexCoordList(), BLV_GetFloorLevel(), BLVFace(), stru10::CalcPolygonLimits(), Deserialize(), FromODM(), IndoorLocation::Load() и Vis::ODM_CreateIntersectFacesVertexCoordList().
int16_t* BLVFace::pZInterceptDisplacements |
См. определение в файле Indoor.h строка 479
Используется в Vis::BLV_CreateIntersectFacesVertexCoordList(), BLVFace(), stru10::CalcPolygonLimits(), Deserialize(), FromODM(), IndoorLocation::Load() и Vis::ODM_CreateIntersectFacesVertexCoordList().
int16_t* BLVFace::pVertexUIDs |
См. определение в файле Indoor.h строка 480
Используется в Deserialize(), RenderOpenGL::DrawIndoorPolygon(), IndoorLocation::ExecDraw_d3d(), IndoorLocation::Load() и IndoorCameraD3D::PrepareAndDrawDebugOutline().
int16_t* BLVFace::pVertexVIDs |
См. определение в файле Indoor.h строка 481
Используется в Deserialize(), RenderOpenGL::DrawIndoorPolygon(), IndoorLocation::ExecDraw_d3d(), IndoorLocation::Load() и IndoorCameraD3D::PrepareAndDrawDebugOutline().
uint16_t BLVFace::uFaceExtraID |
См. определение в файле Indoor.h строка 482
Используется в CastSpellInfoHelpers::_427E01_cast_spell(), BLV_ProcessPartyActions(), BLVFace(), Deserialize(), DoInteractionWithTopmostZObject(), Application::Game::EventLoop(), FaceFlowTextureOffset(), GameUI_DrawMinimap(), GameUI_WritePointedObjectStatusString(), IndoorLocation::Load(), Engine::OnGameViewportClick() и SpriteObject::UpdateObject_fn0_BLV().
void* BLVFace::resource |
См. определение в файле Indoor.h строка 483
Используется в IndoorLocation::ExecDraw_d3d(), FaceFlowTextureOffset(), GetTexture() и SetTexture().
uint16_t BLVFace::uSectorID |
См. определение в файле Indoor.h строка 484
Используется в _46E44E_collide_against_faces_and_portals(), _46F04E_collide_against_portals(), BspRenderer::AddFaceToRenderList_d3d(), LightmapBuilder::ApplyLights_IndoorFace(), Deserialize(), IndoorLocation::ExecDraw_d3d(), IndoorLocation::GetSector(), sub_4070EF_prolly_detect_player() и sub_4406BC().
int16_t BLVFace::uBackSectorID |
См. определение в файле Indoor.h строка 485
Используется в _46E44E_collide_against_faces_and_portals(), _46F04E_collide_against_portals(), BspRenderer::AddFaceToRenderList_d3d(), Deserialize() и sub_4070EF_prolly_detect_player().
struct BBox_short_ BLVFace::pBounding |
См. определение в файле Indoor.h строка 486
Используется в _46E44E_collide_against_faces_and_portals(), BspRenderer::AddFaceToRenderList_d3d(), DecalBuilder::ApplyBloodsplatDecals_IndoorFace(), LightmapBuilder::ApplyLight_BLV(), BLV_GetFloorLevel(), Vis::CheckIntersectBModel(), Deserialize(), FromODM(), Actor::GetDirectionInfo(), Chest::Open() и sub_4070EF_prolly_detect_player().
PolygonType BLVFace::uPolygonType |
См. определение в файле Indoor.h строка 487
Используется в _get_normals(), BLV_GetFloorLevel(), BLV_ProcessPartyActions(), stru10::CalcFaceBounding(), Deserialize(), Render::DrawIndoorSky(), IndoorLocation::ExecDraw_d3d(), FromODM(), IndoorLocation::GetSector(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
uint8_t BLVFace::uNumVertices |
См. определение в файле Indoor.h строка 488
Используется в BspRenderer::AddFaceToRenderList_d3d(), Vis::BLV_CreateIntersectFacesVertexCoordList(), BLV_GetFloorLevel(), BLVFace(), stru10::CalcPolygonLimits(), Vis::CheckIntersectBModel(), IndoorCameraD3D::DebugDrawPortal(), IndoorLocation::ExecDraw_d3d(), GetPortalScreenCoord(), IndoorLocation::GetSector(), IndoorLocation::Load(), Vis::ODM_CreateIntersectFacesVertexCoordList() и IndoorCameraD3D::PrepareAndDrawDebugOutline().