|
World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <Vis.h>
Граф связей класса Vis:Открытые атрибуты | |
| Vis_SelectionList | default_list |
| RenderVertexSoft | stru_200C |
| RenderVertexSoft | stru_203C |
| RenderVertexSoft | stru_206C |
| RenderVertexSoft | stru_209C |
| int | keyboard_pick_depth |
| Log * | log = nullptr |
| Vis::Vis | ( | ) |
См. определение в файле Vis.cpp строка 1202
Перекрестные ссылки RenderVertexSoft::flt_2C, keyboard_pick_depth, log, Engine_::IocContainer::ResolveLogger(), stru_200C, stru_203C, stru_206C, stru_209C, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Граф вызовов:| bool Vis::PickKeyboard | ( | Vis_SelectionList * | list, |
| Vis_SelectionFilter * | sprite_filter, | ||
| Vis_SelectionFilter * | face_filter | ||
| ) |
См. определение в файле Vis.cpp строка 1247
Перекрестные ссылки Vis_SelectionList::create_object_pointers(), default_list, keyboard_pick_depth, LEVEL_Indoor, LEVEL_Outdoor, Vis_SelectionList::object_pointers, PickBillboards_Keyboard(), PickIndoorFaces_Keyboard(), PickOutdoorFaces_Keyboard(), sort_object_pointers(), uCurrentlyLoadedLevelType, Vis_SelectionList::Unique и Vis_SelectionList::uNumPointers.
Используется в Engine::PickKeyboard().
Граф вызовов:
Граф вызова функции:| void Vis::PickBillboards_Keyboard | ( | float | pick_depth, |
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 1303
Перекрестные ссылки Vis_SelectionList::AddObject(), DoesRayIntersectBillboard(), is_part_of_selection(), RenderBillboard::object_pid, pBillboardRenderList, render, RenderBillboard::screen_space_z, RenderBillboardD3D::sParentBillboardID и VisObjectType_Sprite.
Используется в PickClosestActor() и PickKeyboard().
Граф вызовов:
Граф вызова функции:| void Vis::PickIndoorFaces_Keyboard | ( | float | pick_depth, |
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 1571
Перекрестные ссылки Vis_SelectionList::AddObject(), Vis_ObjectInfo::depth, DetermineFacetIntersection(), BspRenderer::faces, is_part_of_selection(), IndoorCameraD3D::IsCulled(), BspRenderer::num_faces, Vis_ObjectInfo::object, OBJECT_BModel, Vis_ObjectInfo::object_pid, Vis_ObjectInfo::object_type, pBspRenderer, IndoorLocation::pFaces, pIndoor, pIndoorCameraD3D, BspFace::uFaceID и IndoorLocation::uNumFaces.
Используется в PickKeyboard().
Граф вызовов:
Граф вызова функции:| void Vis::PickOutdoorFaces_Keyboard | ( | float | pick_depth, |
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 1601
Перекрестные ссылки Vis_SelectionList::AddObject(), DetermineFacetIntersection(), BLVFace::FromODM(), BSPModel::index, is_part_of_selection(), IsBModelVisible(), OBJECT_BModel, OutdoorLocation::pBModels, BSPModel::pFaces и pOutdoor.
Используется в PickKeyboard().
Граф вызовов:
Граф вызова функции:| bool Vis::PickMouse | ( | float | fDepth, |
| float | fMouseX, | ||
| float | fMouseY, | ||
| Vis_SelectionFilter * | sprite_filter, | ||
| Vis_SelectionFilter * | face_filter | ||
| ) |
См. определение в файле Vis.cpp строка 1268
Перекрестные ссылки Vis_SelectionList::All, CastPickRay(), Vis_SelectionList::create_object_pointers(), default_list, LEVEL_Indoor, LEVEL_Outdoor, log, Vis_SelectionList::object_pointers, PickBillboards_Mouse(), PickIndoorFaces_Mouse(), PickOutdoorFaces_Mouse(), sort_object_pointers(), uCurrentlyLoadedLevelType, Vis_SelectionList::uNumPointers и Log::Warning().
Используется в Engine::PickMouse().
Граф вызовов:
Граф вызова функции:| void Vis::PickBillboards_Mouse | ( | float | fPickDepth, |
| float | fX, | ||
| float | fY, | ||
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 231
Перекрестные ссылки Vis_SelectionList::AddObject(), DoesRayIntersectBillboard(), is_part_of_selection(), IsPointInsideD3DBillboard(), RenderBillboard::object_pid, pBillboardRenderList, render, RenderBillboard::screen_space_z, RenderBillboardD3D::sParentBillboardID и VisObjectType_Sprite.
Используется в PickMouse().
Граф вызовов:
Граф вызова функции:| void Vis::PickIndoorFaces_Mouse | ( | float | fDepth, |
| struct RenderVertexSoft * | pRay, | ||
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 305
Перекрестные ссылки Vis_ObjectInfo::depth, BspRenderer::faces, RenderVertexSoft::flt_2C, Intersect_Ray_Face(), is_part_of_selection(), IndoorCameraD3D::IsCulled(), BspRenderer::num_faces, Vis_ObjectInfo::object, OBJECT_BModel, Vis_ObjectInfo::object_pid, Vis_SelectionList::object_pool, Vis_ObjectInfo::object_type, pBspRenderer, IndoorLocation::pFaces, pIndoor, pIndoorCameraD3D, BspFace::uFaceID, IndoorLocation::uNumFaces, Vis_SelectionList::uNumPointers, IndoorCameraD3D::ViewTransform(), VisObjectType_Face, RenderVertexSoft::vWorldViewPosition и Vec3_float_::x.
Используется в DetermineFacetIntersection(), DoesRayIntersectBillboard() и PickMouse().
Граф вызовов:
Граф вызова функции:| void Vis::PickOutdoorFaces_Mouse | ( | float | fDepth, |
| struct RenderVertexSoft * | pRay, | ||
| Vis_SelectionList * | list, | ||
| Vis_SelectionFilter * | filter, | ||
| bool | only_reachable | ||
| ) |
См. определение в файле Vis.cpp строка 359
Перекрестные ссылки Vis_SelectionList::AddObject(), BLVFace::FromODM(), BSPModel::index, Intersect_Ray_Face(), is_part_of_selection(), IsBModelVisible(), OBJECT_BModel, OutdoorLocation::pBModels, BSPModel::pFaces, pIndoorCameraD3D, pOutdoor, BLVFace::uAttributes, IndoorCameraD3D::ViewTransform(), VisObjectType_Face, RenderVertexSoft::vWorldViewPosition и Vec3_float_::x.
Используется в DetermineFacetIntersection(), DoesRayIntersectBillboard() и PickMouse().
Граф вызовов:
Граф вызова функции:| bool Vis::is_part_of_selection | ( | void * | uD3DBillboardIdx_or_pBLVFace_or_pODMFace, |
| Vis_SelectionFilter * | filter | ||
| ) |
См. определение в файле Vis.cpp строка 1324
Перекрестные ссылки MonsterStats::BelongsToSupertype(), LEVEL_Indoor, LEVEL_Outdoor, log, MONSTER_SUPERTYPE_UNDEAD, OBJECT_Actor, OBJECT_BLVDoor, OBJECT_Decoration, pActors, pBillboardRenderList, IndoorLocation::pFaceExtras, pIndoor, pLevelDecorations, render, ODMFace::sCogTriggeredID, uCurrentlyLoadedLevelType, BLVFaceExtra::uEventID, VisObjectType_Any, VisObjectType_Face, VisObjectType_Sprite и Log::Warning().
Используется в PickBillboards_Keyboard(), PickBillboards_Mouse(), PickIndoorFaces_Keyboard(), PickIndoorFaces_Mouse(), PickOutdoorFaces_Keyboard() и PickOutdoorFaces_Mouse().
Граф вызовов:
Граф вызова функции:| bool Vis::DoesRayIntersectBillboard | ( | float | fDepth, |
| unsigned int | uD3DBillboardIdx | ||
| ) |
См. определение в файле Vis.cpp строка 1418
Перекрестные ссылки CastPickRay(), Vis_SelectionList::create_object_pointers(), Vis_ObjectInfo::depth, GetPolygonCenter(), LEVEL_Indoor, Vis_SelectionList::object_pointers, pBillboardRenderList, PickIndoorFaces_Mouse(), PickOutdoorFaces_Mouse(), pViewport, render, RenderBillboard::screen_space_z, sort_object_pointers(), uCurrentlyLoadedLevelType, Vis_SelectionList::uNumPointers, Viewport::uScreen_BR_X, Viewport::uScreen_BR_Y, Viewport::uScreen_TL_X, Viewport::uScreen_TL_Y и vis_face_filter.
Используется в Render::GetActorsInViewport(), PickBillboards_Keyboard() и PickBillboards_Mouse().
Граф вызовов:
Граф вызова функции:| Vis_ObjectInfo * Vis::DetermineFacetIntersection | ( | struct BLVFace * | face, |
| unsigned int | a3, | ||
| float | pick_depth | ||
| ) |
См. определение в файле Vis.cpp строка 36
Перекрестные ссылки CastPickRay(), Vis_SelectionList::create_object_pointers(), GetPolygonScreenSpaceCenter(), IsPolygonOccludedByBillboard(), LEVEL_Indoor, LEVEL_Outdoor, Vis_SelectionList::object_pointers, OutdoorLocation::pBModels, PickIndoorFaces_Mouse(), PickOutdoorFaces_Mouse(), pIndoor, pIndoorCameraD3D, pOutdoor, IndoorCameraD3D::Project(), IndoorLocation::pVertices, Vis_SelectionList::SelectionPointers(), sort_object_pointers(), SortVectors_x(), uCurrentlyLoadedLevelType, Vis_SelectionList::uNumPointers, IndoorCameraD3D::ViewTransform(), vis_face_filter, VisObjectType_Face, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в PickIndoorFaces_Keyboard() и PickOutdoorFaces_Keyboard().
Граф вызовов:
Граф вызова функции:| bool Vis::IsPolygonOccludedByBillboard | ( | struct RenderVertexSoft * | vertices, |
| int | num_vertices, | ||
| float | x, | ||
| float | y | ||
| ) |
См. определение в файле Vis.cpp строка 132
Перекрестные ссылки IsPointInsideD3DBillboard(), pBillboardRenderList, render, RenderBillboard::screen_space_z, RenderBillboardD3D::sParentBillboardID и RenderVertexSoft::vWorldViewProjX.
Используется в DetermineFacetIntersection().
Граф вызовов:
Граф вызова функции:| void Vis::GetPolygonCenter | ( | struct RenderVertexD3D3 * | pVertices, |
| unsigned int | uNumVertices, | ||
| float * | pCenterX, | ||
| float * | pCenterY | ||
| ) |
См. определение в файле Vis.cpp строка 185
Перекрестные ссылки RenderVertexD3D3::pos, pVertices, SortVerticesByX(), SortVerticesByY(), Vec3_float_::x и Vec3_float_::y.
Используется в DoesRayIntersectBillboard().
Граф вызовов:
Граф вызова функции:| void Vis::GetPolygonScreenSpaceCenter | ( | struct RenderVertexSoft * | vertices, |
| int | num_vertices, | ||
| float * | out_center_x, | ||
| float * | out_center_y | ||
| ) |
См. определение в файле Vis.cpp строка 204
Перекрестные ссылки SortByScreenSpaceX(), SortByScreenSpaceY(), RenderVertexSoft::vWorldViewProjX и RenderVertexSoft::vWorldViewProjY.
Используется в DetermineFacetIntersection().
Граф вызовов:
Граф вызова функции:| bool Vis::IsPointInsideD3DBillboard | ( | struct RenderBillboardD3D * | a1, |
| float | x, | ||
| float | y | ||
| ) |
См. определение в файле Vis.cpp строка 251
Перекрестные ссылки LODSprite::bitmap, LODFile_Sprites::pHardwareSprites, RenderVertexD3D3::pos, RenderBillboardD3D::pQuads, pSprites_LOD, RenderBillboardD3D::sParentBillboardID, Sprite::sprite_header, Sprite::texture, RenderBillboardD3D::texture, Sprite::uAreaHeight, Sprite::uAreaWidth, Sprite::uAreaX, Sprite::uAreaY, LODSpriteHeader::uHeight, LODFile_Sprites::uNumLoadedSprites, LODSpriteHeader::uWidth, Vec3_float_::x и Vec3_float_::y.
Используется в IsPolygonOccludedByBillboard() и PickBillboards_Mouse().
Граф вызова функции:| unsigned short Vis::PickClosestActor | ( | int | object_id, |
| unsigned int | pick_depth, | ||
| int | a4, | ||
| int | a5, | ||
| int | a6 | ||
| ) |
См. определение в файле Vis.cpp строка 403
Перекрестные ссылки Vis_SelectionFilter::at_ai_state, Vis_SelectionList::create_object_pointers(), Vis_SelectionFilter::no_at_ai_state, Vis_SelectionFilter::object_id, Vis_ObjectInfo::object_pid, Vis_SelectionList::object_pointers, Vis_SelectionFilter::object_type, PickBillboards_Keyboard(), Vis_SelectionFilter::select_flags, sort_object_pointers(), Vis_SelectionList::Unique, Vis_SelectionList::uNumPointers, Vis_static_sub_4C1944_stru_F8BDE8 и VisObjectType_Sprite.
Используется в stru319::FindClosestActor().
Граф вызовов:
Граф вызова функции:| void Vis::_4C1A02 | ( | ) |
См. определение в файле Vis.cpp строка 427
Перекрестные ссылки RenderVertexSoft::flt_2C, stru_200C, stru_206C, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в Application::Game::GameLoop() и PrepareWorld().
Граф вызова функции:| void Vis::SortVectors_x | ( | RenderVertexSoft * | pArray, |
| int | start, | ||
| int | end | ||
| ) |
См. определение в файле Vis.cpp строка 458
Перекрестные ссылки RenderVertexSoft::vWorldViewPosition и Vec3_float_::x.
Используется в DetermineFacetIntersection().
Граф вызова функции:| int Vis::get_object_zbuf_val | ( | Vis_ObjectInfo * | info | ) |
См. определение в файле Vis.cpp строка 494
Перекрестные ссылки Vis_ObjectInfo::depth, log, Vis_ObjectInfo::object_pid, Vis_ObjectInfo::object_type, VisObjectType_Face, VisObjectType_Sprite и Log::Warning().
Используется в get_picked_object_zbuf_val().
Граф вызовов:
Граф вызова функции:| int Vis::get_picked_object_zbuf_val | ( | ) |
См. определение в файле Vis.cpp строка 517
Перекрестные ссылки default_list, get_object_zbuf_val(), Vis_SelectionList::object_pointers и Vis_SelectionList::uNumPointers.
Используется в Application::Game::EventLoop(), Engine::OnGameViewportClick(), Application::Game::OnPressSpace() и Mouse::UI_OnMouseLeftClick().
Граф вызовов:
Граф вызова функции:| bool Vis::Intersect_Ray_Face | ( | struct RenderVertexSoft * | pRayStart, |
| struct RenderVertexSoft * | pRayEnd, | ||
| float * | pDepth, | ||
| RenderVertexSoft * | Intersection, | ||
| BLVFace * | pFace, | ||
| signed int | pBModelID | ||
| ) |
См. определение в файле Vis.cpp строка 524
Перекрестные ссылки CheckIntersectBModel(), Plane_float_::dist, BLVFace::Invisible(), BLVFace::pFacePlane, BLVFace::Portal(), Plane_float_::vNormal, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в PickIndoorFaces_Mouse() и PickOutdoorFaces_Mouse().
Граф вызовов:
Граф вызова функции:| bool Vis::CheckIntersectBModel | ( | BLVFace * | pFace, |
| Vec3_short_ | IntersectPoint, | ||
| signed int | sModelID | ||
| ) |
См. определение в файле Vis.cpp строка 585
Перекрестные ссылки BLV_CreateIntersectFacesVertexCoordList(), engine, fixpoint_div(), fixpoint_mul(), intersect_face_vertex_coords_list_a, intersect_face_vertex_coords_list_b, ODM_CreateIntersectFacesVertexCoordList(), BLVFace::pBounding, BLVFace::uAttributes, BLVFace::uNumVertices, BBox_short_::x1, BBox_short_::x2, BBox_short_::y1, BBox_short_::y2, BBox_short_::z1 и BBox_short_::z2.
Используется в Intersect_Ray_Face().
Граф вызовов:
Граф вызова функции:| void Vis::BLV_CreateIntersectFacesVertexCoordList | ( | int * | a, |
| int * | b, | ||
| int16_t * | intersect_face_vertex_coords_list_a, | ||
| int16_t * | intersect_face_vertex_coords_list_b, | ||
| Vec3_short_ * | IntersectPoint, | ||
| BLVFace * | pFace | ||
| ) |
См. определение в файле Vis.cpp строка 731
Перекрестные ссылки intersect_face_vertex_coords_list_a, intersect_face_vertex_coords_list_b, pIndoor, BLVFace::pVertexIDs, IndoorLocation::pVertices, BLVFace::pXInterceptDisplacements, BLVFace::pYInterceptDisplacements, BLVFace::pZInterceptDisplacements, BLVFace::uAttributes и BLVFace::uNumVertices.
Используется в CheckIntersectBModel().
Граф вызова функции:| void Vis::ODM_CreateIntersectFacesVertexCoordList | ( | int * | a, |
| int * | b, | ||
| int16_t * | intersect_face_vertex_coords_list_a, | ||
| int16_t * | intersect_face_vertex_coords_list_b, | ||
| Vec3_short_ * | IntersectPoint, | ||
| BLVFace * | pFace, | ||
| unsigned int | uModelID | ||
| ) |
См. определение в файле Vis.cpp строка 798
Перекрестные ссылки intersect_face_vertex_coords_list_a, intersect_face_vertex_coords_list_b, OutdoorLocation::pBModels, pOutdoor, BLVFace::pVertexIDs, BLVFace::pXInterceptDisplacements, BLVFace::pYInterceptDisplacements, BLVFace::pZInterceptDisplacements, BLVFace::uAttributes и BLVFace::uNumVertices.
Используется в CheckIntersectBModel().
Граф вызова функции:| void Vis::CastPickRay | ( | RenderVertexSoft * | pRay, |
| float | fMouseX, | ||
| float | fMouseY, | ||
| float | fPickDepth | ||
| ) |
См. определение в файле Vis.cpp строка 921
Перекрестные ссылки fixpoint_from_float(), pIndoorCameraD3D, IndoorCameraD3D::sRotationX, IndoorCameraD3D::sRotationY, UnprojectX(), UnprojectY(), IndoorCameraD3D::vPartyPos, RenderVertexSoft::vWorldPosition, Vec2< T >::x, Vec3_float_::x, Vec2< T >::y, Vec3_float_::y, Vec3< T >::z и Vec3_float_::z.
Используется в DetermineFacetIntersection(), DoesRayIntersectBillboard() и PickMouse().
Граф вызовов:
Граф вызова функции:| void Vis::sort_object_pointers | ( | Vis_ObjectInfo ** | pPointers, |
| int | start, | ||
| int | end | ||
| ) |
См. определение в файле Vis.cpp строка 1008
Перекрестные ссылки Vis_ObjectInfo::depth.
Используется в DetermineFacetIntersection(), DoesRayIntersectBillboard(), PickClosestActor(), PickKeyboard() и PickMouse().
Граф вызова функции:| void Vis::SortVerticesByX | ( | struct RenderVertexD3D3 * | pArray, |
| unsigned int | uStart, | ||
| unsigned int | uEnd | ||
| ) |
См. определение в файле Vis.cpp строка 1056
Перекрестные ссылки RenderVertexD3D3::pos и Vec3_float_::x.
Используется в GetPolygonCenter().
Граф вызова функции:| void Vis::SortVerticesByY | ( | struct RenderVertexD3D3 * | pArray, |
| unsigned int | uStart, | ||
| unsigned int | uEnd | ||
| ) |
См. определение в файле Vis.cpp строка 1092
Перекрестные ссылки RenderVertexD3D3::pos и Vec3_float_::y.
Используется в GetPolygonCenter().
Граф вызова функции:| void Vis::SortByScreenSpaceX | ( | struct RenderVertexSoft * | pArray, |
| int | start, | ||
| int | end | ||
| ) |
См. определение в файле Vis.cpp строка 1128
Перекрестные ссылки RenderVertexSoft::vWorldViewProjX.
Используется в GetPolygonScreenSpaceCenter().
Граф вызова функции:| void Vis::SortByScreenSpaceY | ( | struct RenderVertexSoft * | pArray, |
| int | start, | ||
| int | end | ||
| ) |
См. определение в файле Vis.cpp строка 1166
Перекрестные ссылки RenderVertexSoft::vWorldViewProjY.
Используется в GetPolygonScreenSpaceCenter().
Граф вызова функции:| Vis_SelectionList Vis::default_list |
См. определение в файле Vis.h строка 149
Используется в get_picked_object_zbuf_val(), Engine::OutlineSelection(), PickKeyboard(), Engine::PickKeyboard() и PickMouse().
| RenderVertexSoft Vis::stru_200C |
| RenderVertexSoft Vis::stru_203C |
| RenderVertexSoft Vis::stru_206C |
| RenderVertexSoft Vis::stru_209C |
| int Vis::keyboard_pick_depth |
См. определение в файле Vis.h строка 154
Используется в PickKeyboard() и Vis().
| Log* Vis::log = nullptr |
См. определение в файле Vis.h строка 156
Используется в get_object_zbuf_val(), is_part_of_selection(), PickMouse() и Vis().