World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
Определения типов | |
using | EngineIoc = Engine_::IocContainer |
Функции | |
void | ErrHR (HRESULT hr, const char *pAPI, const char *pFunction, const char *pFile, int line) |
unsigned int | BlendColors (unsigned int a1, unsigned int a2) |
void | Present32 (uint32_t *src, unsigned int src_pitch, uint32_t *dst, unsigned int dst_pitch) |
void | Present_NoColorKey () |
uint32_t | Color32_SwapRedBlue (uint16_t color16) |
int | ODM_NearClip (unsigned int num_vertices) |
int | ODM_FarClip (unsigned int uNumVertices) |
unsigned int | _452442_color_cvt (unsigned __int16 a1, unsigned __int16 a2, int a3, int a4) |
int | GetActorTintColor (int max_dimm, int min_dimm, float distance, int a4, RenderBillboard *a5) |
int | _43F55F_get_billboard_light_level (RenderBillboard *a1, int uBaseLightLevel) |
int | _43F5C8_get_point_light_level_with_respect_to_lights (unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z) |
int | _46E44E_collide_against_faces_and_portals (unsigned int b1) |
void | _46E889_collide_against_bmodels (unsigned int ecx0) |
int | collide_against_floor (int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID) |
void | _46ED8A_collide_against_sprite_objects (unsigned int _this) |
int | _46EF01_collision_chech_player (int a1) |
void | _46E0B2_collide_against_decorations () |
int | _46F04E_collide_against_portals () |
unsigned int | sub_46DEF2 (signed int a2, unsigned int uLayingItemID) |
void | UpdateObjects () |
bool | sub_47531C (int a1, int *a2, int pos_x, int pos_y, int pos_z, int dir_x, int dir_y, int dir_z, BLVFace *face, int a10) |
bool | sub_4754BF (int a1, int *a2, int X, int Y, int Z, int dir_x, int dir_y, int dir_z, BLVFace *face, int a10, int a11) |
int | sub_475665 (BLVFace *face, int a2, __int16 a3) |
bool | sub_4759C9 (BLVFace *face, int a2, int a3, __int16 a4) |
bool | sub_475D85 (Vec3_int_ *a1, Vec3_int_ *a2, int *a3, BLVFace *a4) |
bool | sub_475F30 (int *a1, BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) |
bool | IsBModelVisible (BSPModel *model, int *reachable) |
void | sr_485F53 (Vec2_int_ *v) |
Переменные | |
struct IDirectDrawClipper * | pDDrawClipper |
struct RenderVertexD3D3 | pVertices [50] |
RenderVertexSoft | VertexRenderList [50] |
RenderVertexSoft | array_73D150 [20] |
RenderVertexD3D3 | d3d_vertex_buffer [50] |
DDPIXELFORMAT | ddpfPrimarySuface |
using EngineIoc = Engine_::IocContainer |
См. определение в файле Render.cpp строка 47
void ErrHR | ( | HRESULT | hr, |
const char * | pAPI, | ||
const char * | pFunction, | ||
const char * | pFile, | ||
int | line | ||
) |
См. определение в файле Render.cpp строка 59
unsigned int BlendColors | ( | unsigned int | a1, |
unsigned int | a2 | ||
) |
См. определение в файле RenderBase.cpp строка 265
Используется в Render::DrawBillboard_Indoor().
См. определение в файле Render.cpp строка 1212
Перекрестные ссылки game_viewport_width, pViewport, Viewport::uViewportTL_X и Viewport::uViewportTL_Y.
Используется в Present_NoColorKey().
void Present_NoColorKey | ( | ) |
См. определение в файле Render.cpp строка 1245
Перекрестные ссылки Present32() и render.
int ODM_NearClip | ( | unsigned int | num_vertices | ) |
См. определение в файле Render.cpp строка 3296
Перекрестные ссылки RenderVertexSoft::_rhw, array_507D30, IndoorCameraD3D::GetNearClip(), pIndoorCameraD3D, RenderVertexSoft::u, RenderVertexSoft::v, VertexRenderList, RenderVertexSoft::vWorldViewPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в Render::DrawBuildingsD3D().
int ODM_FarClip | ( | unsigned int | uNumVertices | ) |
См. определение в файле Render.cpp строка 3394
Перекрестные ссылки RenderVertexSoft::_rhw, array_507D30, IndoorCameraD3D::GetFarClip(), pIndoorCameraD3D, RenderVertexSoft::u, Polygon::uNumVertices, RenderVertexSoft::v, VertexRenderList, RenderVertexSoft::vWorldViewPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в Render::DrawBuildingsD3D().
unsigned int _452442_color_cvt | ( | unsigned __int16 | a1, |
unsigned __int16 | a2, | ||
int | a3, | ||
int | a4 | ||
) |
См. определение в файле Render.cpp строка 4081
Перекрестные ссылки __debugbreak() и __PAIR__().
int GetActorTintColor | ( | int | max_dimm, |
int | min_dimm, | ||
float | distance, | ||
int | a4, | ||
RenderBillboard * | a5 | ||
) |
См. определение в файле Render.cpp строка 4114
Перекрестные ссылки _43F55F_get_billboard_light_level(), Party::armageddon_timer, Weather::bNight, engine, OutdoorLocation::fFogDensity, LEVEL_Indoor, OutdoorLocation::max_terrain_dimming_level, PARTY_BUFF_TORCHLIGHT, pODMRenderParams, pOutdoor, pParty, Party::pPartyBuffs, pWeather, ODMRenderParams::shading_dist_shade и uCurrentlyLoadedLevelType.
Используется в Render::GetActorTintColor().
int _43F55F_get_billboard_light_level | ( | RenderBillboard * | a1, |
int | uBaseLightLevel | ||
) |
См. определение в файле Render.cpp строка 4211
Перекрестные ссылки _43F5C8_get_point_light_level_with_respect_to_lights(), RenderBillboard::dimming_level, LEVEL_Indoor, pIndoor, IndoorLocation::pSectors, uCurrentlyLoadedLevelType, RenderBillboard::uIndoorSectorID, BLVSector::uMinAmbientLightLevel, RenderBillboard::world_x, RenderBillboard::world_y и RenderBillboard::world_z.
Используется в FindBillboardsLightLevels_BLV() и GetActorTintColor().
int _43F5C8_get_point_light_level_with_respect_to_lights | ( | unsigned int | uBaseLightLevel, |
int | uSectorID, | ||
float | x, | ||
float | y, | ||
float | z | ||
) |
См. определение в файле Render.cpp строка 4229
Перекрестные ссылки int_get_vector_length(), LEVEL_Indoor, pIndoor, LightsStack_StationaryLight_::pLights, LightsStack_MobileLight_::pLights, BLVSector::pLights, IndoorLocation::pLights, pMobileLightsStack, IndoorLocation::pSectors, pStationaryLightsStack, BLVLightMM7::uAtributes, uCurrentlyLoadedLevelType, BLVSector::uNumLights, LightsStack_StationaryLight_::uNumLightsActive, LightsStack_MobileLight_::uNumLightsActive, StationaryLight::uRadius, BLVLightMM7::uRadius, StationaryLight::vPosition и BLVLightMM7::vPosition.
Используется в _43F55F_get_billboard_light_level() и DecalBuilder::ApplyDecals().
int _46E44E_collide_against_faces_and_portals | ( | unsigned int | b1 | ) |
См. определение в файле Render.cpp строка 4350
Перекрестные ссылки stru141_actor_collision_object::direction, Plane_int_::dist, stru141_actor_collision_object::field_0, stru141_actor_collision_object::field_4C, stru141_actor_collision_object::field_50, stru141_actor_collision_object::field_54, stru141_actor_collision_object::field_6C, stru141_actor_collision_object::field_7C, stru141_actor_collision_object::field_84, stru141_actor_collision_object::field_8_radius, stru141_actor_collision_object::normal, stru141_actor_collision_object::normal2, BLVFace::pBounding, BLVFace::pFacePlane_old, IndoorLocation::pFaces, BLVSector::pFloors, stru141_actor_collision_object::pid, pIndoor, BLVFace::Portal(), stru141_actor_collision_object::position, BLVSector::pPortals, stru141_actor_collision_object::prolly_normal_d, IndoorLocation::pSectors, stru141_actor_collision_object::sMaxX, stru141_actor_collision_object::sMaxY, stru141_actor_collision_object::sMaxZ, stru141_actor_collision_object::sMinX, stru141_actor_collision_object::sMinY, stru141_actor_collision_object::sMinZ, stru_721530, sub_47531C(), sub_475D85(), BLVFace::uBackSectorID, BLVSector::uNumCeilings, BLVSector::uNumFloors, BLVSector::uNumPortals, BLVSector::uNumWalls, stru141_actor_collision_object::uSectorID, BLVFace::uSectorID, Plane_int_::vNormal, BBox_short_::x1, BBox_short_::x2, BBox_short_::y1, BBox_short_::y2, BBox_short_::z1 и BBox_short_::z2.
Используется в BLV_ProcessPartyActions(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
void _46E889_collide_against_bmodels | ( | unsigned int | ecx0 | ) |
См. определение в файле Render.cpp строка 4516
Перекрестные ссылки stru141_actor_collision_object::direction, Plane_int_::dist, stru141_actor_collision_object::field_0, stru141_actor_collision_object::field_4C, stru141_actor_collision_object::field_50, stru141_actor_collision_object::field_54, stru141_actor_collision_object::field_6C, stru141_actor_collision_object::field_7C, stru141_actor_collision_object::field_8_radius, ODMFace::index, BSPModel::index, stru141_actor_collision_object::normal, stru141_actor_collision_object::normal2, OBJECT_BModel, OutdoorLocation::pBModels, ODMFace::pBoundingBox, ODMFace::pFacePlane, BSPModel::pFaces, stru141_actor_collision_object::pid, stru141_actor_collision_object::position, pOutdoor, stru141_actor_collision_object::prolly_normal_d, ODMFace::pVertexIDs, ODMFace::pXInterceptDisplacements, ODMFace::pYInterceptDisplacements, ODMFace::pZInterceptDisplacements, ODMFace::resource, stru141_actor_collision_object::sMaxX, BSPModel::sMaxX, stru141_actor_collision_object::sMaxY, BSPModel::sMaxY, BSPModel::sMaxZ, stru141_actor_collision_object::sMaxZ, BSPModel::sMinX, stru141_actor_collision_object::sMinX, BSPModel::sMinY, stru141_actor_collision_object::sMinY, BSPModel::sMinZ, stru141_actor_collision_object::sMinZ, stru_721530, sub_4754BF(), sub_475F30(), ODMFace::uAttributes, ODMFace::uNumVertices, ODMFace::uPolygonType, Plane_int_::vNormal, BBox_short_::x1, BBox_short_::x2, BBox_short_::y1, BBox_short_::y2, BBox_short_::z1, BBox_short_::z2, ODMFace::zCalc1, ODMFace::zCalc2 и ODMFace::zCalc3.
Используется в ODM_ProcessPartyActions(), UpdateActors_ODM() и SpriteObject::UpdateObject_fn0_ODM().
int collide_against_floor | ( | int | x, |
int | y, | ||
int | z, | ||
unsigned int * | pSectorID, | ||
unsigned int * | pFaceID | ||
) |
См. определение в файле Render.cpp строка 4711
Перекрестные ссылки BLV_GetFloorLevel(), IndoorLocation::GetSector() и pIndoor.
Используется в BLV_ProcessPartyActions(), collide_against_floor_approximate() и UpdateActors_BLV().
void _46ED8A_collide_against_sprite_objects | ( | unsigned int | _this | ) |
См. определение в файле Render.cpp строка 4732
Перекрестные ссылки stru141_actor_collision_object::direction, stru141_actor_collision_object::field_7C, stru141_actor_collision_object::normal, OBJECT_DESC_NO_COLLISION, pObjectList, ObjectList::pObjects, stru141_actor_collision_object::prolly_normal_d, pSpriteObjects, stru141_actor_collision_object::sMaxX, stru141_actor_collision_object::sMaxY, stru141_actor_collision_object::sMaxZ, stru141_actor_collision_object::sMinX, stru141_actor_collision_object::sMinY, stru141_actor_collision_object::sMinZ, stru_721530, sub_46DEF2() и uNumSpriteObjects.
Используется в ODM_ProcessPartyActions(), UpdateActors_BLV() и UpdateActors_ODM().
int _46EF01_collision_chech_player | ( | int | a1 | ) |
См. определение в файле Render.cpp строка 4790
Перекрестные ссылки stru141_actor_collision_object::direction, Party::field_14_radius, stru141_actor_collision_object::field_7C, fixpoint_mul(), integer_sqrt(), stru141_actor_collision_object::normal, stru141_actor_collision_object::pid, pParty, stru141_actor_collision_object::prolly_normal_d, stru141_actor_collision_object::sMaxX, stru141_actor_collision_object::sMaxY, stru141_actor_collision_object::sMaxZ, stru141_actor_collision_object::sMinX, stru141_actor_collision_object::sMinY, stru141_actor_collision_object::sMinZ, stru_721530, Party::uPartyHeight и Party::vPosition.
Используется в UpdateActors_BLV(), UpdateActors_ODM(), SpriteObject::UpdateObject_fn0_BLV() и SpriteObject::UpdateObject_fn0_ODM().
void _46E0B2_collide_against_decorations | ( | ) |
См. определение в файле Render.cpp строка 4855
Перекрестные ссылки DecorationDesc_mm6::CanMoveThrough(), stru141_actor_collision_object::direction, stru141_actor_collision_object::field_7C, fixpoint_mul(), DecorationList::GetDecoration(), integer_sqrt(), LEVEL_DECORATION_INVISIBLE, stru141_actor_collision_object::normal, OBJECT_Decoration, BLVSector::pDecorationIDs, pDecorationList, stru141_actor_collision_object::pid, pIndoor, pLevelDecorations, stru141_actor_collision_object::prolly_normal_d, IndoorLocation::pSectors, stru141_actor_collision_object::sMaxX, stru141_actor_collision_object::sMaxY, stru141_actor_collision_object::sMaxZ, stru141_actor_collision_object::sMinX, stru141_actor_collision_object::sMinY, stru141_actor_collision_object::sMinZ, stru_721530, LevelDecoration::uDecorationDescID, DecorationDesc_mm6::uDecorationHeight, LevelDecoration::uFlags, BLVSector::uNumDecorations, DecorationDesc_mm6::uRadius, stru141_actor_collision_object::uSectorID и LevelDecoration::vPosition.
Используется в BLV_ProcessPartyActions(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
int _46F04E_collide_against_portals | ( | ) |
См. определение в файле Render.cpp строка 4895
Перекрестные ссылки stru141_actor_collision_object::direction, stru141_actor_collision_object::field_6C, stru141_actor_collision_object::field_7C, stru141_actor_collision_object::field_80, stru141_actor_collision_object::normal, stru141_actor_collision_object::normal2, IndoorLocation::pFaces, pIndoor, BLVSector::pPortals, stru141_actor_collision_object::prolly_normal_d, IndoorLocation::pSectors, stru141_actor_collision_object::sMaxX, stru141_actor_collision_object::sMaxY, stru141_actor_collision_object::sMaxZ, stru141_actor_collision_object::sMinX, stru141_actor_collision_object::sMinY, stru141_actor_collision_object::sMinZ, stru_721530, sub_475D85(), BLVFace::uBackSectorID, BLVSector::uNumPortals, stru141_actor_collision_object::uSectorID и BLVFace::uSectorID.
Используется в BLV_ProcessPartyActions(), UpdateActors_BLV() и SpriteObject::UpdateObject_fn0_BLV().
unsigned int sub_46DEF2 | ( | signed int | a2, |
unsigned int | uLayingItemID | ||
) |
См. определение в файле Render.cpp строка 4947
Перекрестные ссылки _46BFFA_update_spell_fx(), pObjectList, ObjectList::pObjects, pSpriteObjects и ObjectDesc::uFlags.
Используется в _46ED8A_collide_against_sprite_objects().
void UpdateObjects | ( | ) |
См. определение в файле Render.cpp строка 4955
Перекрестные ссылки _46BFFA_update_spell_fx(), Party::bTurnBasedModeOn, int_get_vector_length(), ITEM_BROKEN, LEVEL_Indoor, OBJECT_40, OBJECT_DESC_INTERACTABLE, OBJECT_DESC_TEMPORARY, OBJECT_Item, SpriteObject::OnInteraction(), pActors, pEventTimer, pObjectList, ObjectList::pObjects, pParty, pSpriteObjects, uCurrentlyLoadedLevelType, uNumSpriteObjects, SpriteObject::UpdateObject_fn0_BLV(), SpriteObject::UpdateObject_fn0_ODM(), Timer::uTimeElapsed и Party::vPosition.
Используется в BLV_UpdateUserInputAndOther() и ODM_UpdateUserInputAndOther().
bool sub_47531C | ( | int | a1, |
int * | a2, | ||
int | pos_x, | ||
int | pos_y, | ||
int | pos_z, | ||
int | dir_x, | ||
int | dir_y, | ||
int | dir_z, | ||
BLVFace * | face, | ||
int | a10 | ||
) |
См. определение в файле Render.cpp строка 5027
Перекрестные ссылки fixpoint_mul() и sub_475665().
Используется в _46E44E_collide_against_faces_and_portals().
bool sub_4754BF | ( | int | a1, |
int * | a2, | ||
int | X, | ||
int | Y, | ||
int | Z, | ||
int | dir_x, | ||
int | dir_y, | ||
int | dir_z, | ||
BLVFace * | face, | ||
int | a10, | ||
int | a11 | ||
) |
См. определение в файле Render.cpp строка 5082
Перекрестные ссылки fixpoint_mul() и sub_4759C9().
Используется в _46E889_collide_against_bmodels().
int sub_475665 | ( | BLVFace * | face, |
int | a2, | ||
__int16 | a3 | ||
) |
См. определение в файле Render.cpp строка 5135
Перекрестные ссылки pIndoor, IndoorLocation::pVertices, word_720B40_intercepts_zs и word_720C10_intercepts_xs.
Используется в sub_47531C() и sub_475D85().
bool sub_4759C9 | ( | BLVFace * | face, |
int | a2, | ||
int | a3, | ||
__int16 | a4 | ||
) |
См. определение в файле Render.cpp строка 5256
Перекрестные ссылки OutdoorLocation::pBModels, pOutdoor, word_7209A0_intercepts_ys_plus_ys и word_720A70_intercepts_xs_plus_xs.
Используется в sub_4754BF() и sub_475F30().
bool sub_475D85 | ( | Vec3_int_ * | a1, |
Vec3_int_ * | a2, | ||
int * | a3, | ||
BLVFace * | a4 | ||
) |
См. определение в файле Render.cpp строка 5403
Перекрестные ссылки Plane_int_::dist, fixpoint_mul(), BLVFace::pFacePlane_old, BLVFace::Portal(), sub_475665(), BLVFace::uAttributes и Plane_int_::vNormal.
Используется в _46E44E_collide_against_faces_and_portals() и _46F04E_collide_against_portals().
bool sub_475F30 | ( | int * | a1, |
BLVFace * | a2, | ||
int | a3, | ||
int | a4, | ||
int | a5, | ||
int | a6, | ||
int | a7, | ||
int | a8, | ||
int | a9 | ||
) |
См. определение в файле Render.cpp строка 5467
Перекрестные ссылки Plane_int_::dist, BLVFace::Ethereal(), fixpoint_mul(), BLVFace::pFacePlane_old, BLVFace::Portal(), sub_4759C9() и Plane_int_::vNormal.
Используется в _46E889_collide_against_bmodels().
bool IsBModelVisible | ( | BSPModel * | model, |
int * | reachable | ||
) |
См. определение в файле Render.cpp строка 5516
Перекрестные ссылки stru193_math::Cos(), fixpoint_mul(), int_get_vector_length(), pIndoorCameraD3D, pODMRenderParams, BSPModel::sBoundingRadius, stru193_math::Sin(), IndoorCameraD3D::sRotationX, IndoorCameraD3D::sRotationY, stru_5C6E00, ODMRenderParams::uCameraFovInDegrees, BSPModel::vBoundingCenter, IndoorCameraD3D::vPartyPos, Vec2< T >::x и Vec2< T >::y.
Используется в RenderOpenGL::DrawBuildingsD3D(), Render::DrawBuildingsD3D(), Vis::PickOutdoorFaces_Keyboard() и Vis::PickOutdoorFaces_Mouse().
void sr_485F53 | ( | Vec2_int_ * | v | ) |
См. определение в файле Render.cpp строка 5593
struct IDirectDrawClipper* pDDrawClipper |
См. определение в файле Render.cpp строка 49
Используется в Render::CreateClipper().
struct RenderVertexD3D3 pVertices[50] |
См. определение в файле Render.cpp строка 50
Используется в IndoorCameraD3D::_4371C3(), stru9::_498377(), stru10::_49C5DA(), stru10::_49CE9E(), _49CE9E_sub0_x(), _49CE9E_sub0_y(), _49CE9E_sub0_z(), IndoorCameraD3D::CalcPortalShape(), IndoorCameraD3D::do_draw_debug_line_sw(), Render::DrawOutdoorSkyPolygon(), stru154::GetFacePlane(), Vis::GetPolygonCenter(), IndoorCameraD3D::GetPolygonMinZ(), IndoorCameraD3D::Project() и IndoorCameraD3D::ViewTransfrom_OffsetUV().
RenderVertexSoft VertexRenderList[50] |
См. определение в файле Render.cpp строка 52
Используется в RenderOpenGL::DrawBuildingsD3D(), Render::DrawBuildingsD3D(), Render::DrawIndoorSky(), RenderOpenGL::DrawOutdoorSkyD3D(), Render::DrawOutdoorSkyD3D(), RenderOpenGL::DrawOutdoorSkyPolygon(), Render::DrawOutdoorSkyPolygon(), RenderOpenGL::DrawPolygon(), Render::DrawPolygon(), Render::DrawTerrainPolygon(), ODM_FarClip(), ODM_NearClip(), ODM_Project() и Render::RenderTerrainD3D().
RenderVertexSoft array_73D150[20] |
См. определение в файле Render.cpp строка 53
Используется в RenderOpenGL::DrawBuildingsD3D(), Render::DrawBuildingsD3D() и Render::RenderTerrainD3D().
RenderVertexD3D3 d3d_vertex_buffer[50] |
См. определение в файле Render.cpp строка 55
Используется в RenderOpenGL::DrawIndoorPolygon(), Render::DrawIndoorPolygon(), Render::DrawIndoorSkyPolygon(), RenderOpenGL::DrawPolygon(), Render::DrawPolygon() и Render::DrawTerrainPolygon().
DDPIXELFORMAT ddpfPrimarySuface |
См. определение в файле Render.cpp строка 57
Используется в Render::InitializeFullscreen(), Render::ParseTargetPixelFormat() и Render::SwitchToWindow().