World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
См. документацию.
112 #pragma pack(push, 1)
128 #pragma pack(push, 1)
237 unsigned int lod_sprite_id) = 0;
263 bool clampAtTextureBorders) = 0;
265 struct BLVFace *a3,
int uPackedID,
266 unsigned int uColor,
int a8) = 0;
270 unsigned int uDiffuse,
283 float dstX,
float dstY,
float a7,
float a8,
297 unsigned int uZ,
unsigned int uW) = 0;
313 int start_opacity,
int end_opacity) = 0;
318 unsigned int color_dimming_level,
323 Image *pTexture) = 0;
325 unsigned int num_vertices) = 0;
327 virtual void DrawTextAlpha(
int x,
int y,
unsigned char *font_pixels,
int a5,
328 unsigned int uFontHeight,
uint8_t *pPalette,
329 bool present_time_transparency) = 0;
331 unsigned int uCharWidth,
unsigned int uCharHeight,
335 virtual void FillRectFast(
unsigned int uX,
unsigned int uY,
336 unsigned int uWidth,
unsigned int uHeight,
337 unsigned int uColor16) = 0;
342 unsigned int uFaceID = 0) = 0;
356 void *out_data,
unsigned int data_size,
357 unsigned int *screenshot_size) = 0;
374 signed int sDiffuseBegin,
376 signed int sDiffuseEnd,
379 unsigned int num_vertices) = 0;
385 struct Point *pTargetPoint,
int a3,
390 auto new_config = renderConfigFactory.
Clone(
config);
391 new_config->is_tinting = !new_config->is_tinting;
393 this->
config = new_config;
397 auto new_config = renderConfigFactory.
Clone(
config);
398 new_config->is_using_colored_lights = !new_config->is_using_colored_lights;
400 this->
config = new_config;
404 auto new_config = renderConfigFactory.
Clone(
config);
405 new_config->is_using_specular = is_using_specular;
407 this->
config = new_config;
411 auto new_config = renderConfigFactory.
Clone(
config);
412 new_config->is_using_fog = is_using_fog;
414 this->
config = new_config;
420 std::shared_ptr<const IRenderConfig>
config;
447 extern std::shared_ptr<IRender>
render;
464 #pragma pack(push, 1)
488 int uBaseLightLevel);
490 unsigned int uBaseLightLevel,
int uSectorID,
float x,
float y,
float z);
495 unsigned int *pFaceID);
500 unsigned int sub_46DEF2(
signed int a2,
unsigned int uLayingItemID);
502 bool sub_47531C(
int a1,
int *a2,
int pos_x,
int pos_y,
int pos_z,
int dir_x,
503 int dir_y,
int dir_z,
struct BLVFace *
face,
int a10);
504 bool sub_4754BF(
int a1,
int *a2,
int X,
int Y,
int Z,
int dir_x,
int dir_y,
505 int dir_z,
struct BLVFace *
face,
int a10,
int a11);
510 int a7,
int a8,
int a9);
unsigned __int16 uint16_t
bool IsBModelVisible(BSPModel *model, int *unused)
virtual void DeleteTexture(Texture *texture)=0
GLenum GLuint GLint GLenum face
virtual void DrawBuildingsD3D()=0
virtual void DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene()=0
virtual void BeginLightmaps2()=0
RenderVertexSoft array_507D30[50]
int _46EF01_collision_chech_player(int a1)
std::shared_ptr< const IRenderConfig > config
int outdoor_no_wavy_water
virtual void PackScreenshot(unsigned int width, unsigned int height, void *out_data, unsigned int data_size, unsigned int *screenshot_size)=0
unsigned int uNumBillboards
virtual void DrawTextureGrayShade(float u, float v, Image *a4)=0
virtual void EndScene()=0
virtual void SaveScreenshot(const String &filename, unsigned int width, unsigned int height)=0
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint dstX
virtual void ScreenFade(unsigned int color, float t)=0
virtual bool DrawLightmap(struct Lightmap *pLightmap, struct Vec3_float_ *pColorMult, float z_bias)=0
unsigned int uNumBillboardsToDraw
virtual void ClearBlack()=0
virtual void RestoreBackBuffer()=0
bool sub_475F30(int *a1, struct BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9)
virtual bool Configure(std::shared_ptr< const IRenderConfig > config)
virtual void SetUIClipRect(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW)=0
static Log * ResolveLogger()
unsigned int bDoNotRenderDecorations
EGLSurface EGLint EGLint EGLint EGLint height
virtual void PresentBlackScreen()=0
virtual void SaveWinnersCertificate(const char *a1)=0
virtual void DrawMonsterPortrait(Rect rc, SpriteFrame *Portrait_Sprite, int Y_Offset)=0
unsigned int uMapGridCellX
bool sub_4759C9(struct BLVFace *face, int a2, int a3, int16_t a4)
virtual unsigned int GetRenderWidth() const =0
float screenspace_projection_factor_y
virtual void ClearZBuffer(int a2, int a3)=0
void(* pBeforePresentFunction)()
RenderVertexD3D3 d3d_vertex_buffer[50]
bool sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, struct BLVFace *a4)
virtual bool AreRenderSurfacesOk()=0
virtual void BeginDecals()=0
float screenspace_projection_factor_x
virtual void SavePCXScreenshot()=0
int GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5)
virtual void DrawSpecialEffectsQuad(const RenderVertexD3D3 *vertices, Texture *texture)=0
virtual Texture * CreateTexture_PCXFromFile(const String &name)=0
virtual void PrepareDecorationsRenderList_ODM()=0
virtual void DrawPolygon(struct Polygon *a3)=0
GLenum GLenum GLuint texture
int ODM_FarClip(unsigned int uNumVertices)
virtual void BeginScene()=0
int shading_dist_shademist
virtual void DrawBillboardList_BLV()=0
SpriteFrame * pSpriteFrame
virtual bool MoveTextureToDevice(Texture *texture)=0
bool IsUsingSpecular() const
int _46F04E_collide_against_portals()
virtual bool InitializeFullscreen()=0
DecalBuilder * decal_builder
virtual unsigned int GetActorTintColor(int DimLevel, int tint, float WorldViewX, int a5, RenderBillboard *Billboard)=0
virtual void _4A4CC9_AddSomeBillboard(struct SpellFX_Billboard *a1, int diffuse)=0
virtual void TexturePixelRotateDraw(float u, float v, Image *img, int time)=0
virtual void BlendTextures(int a2, int a3, Image *a4, Image *a5, int t, int start_opacity, int end_opacity)=0
int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID)
Vec3_float_ vWorldViewPosition
void SetUsingSpecular(bool is_using_specular)
EGLSurface EGLint EGLint y
virtual void ZBuffer_Fill_2(signed int a2, signed int a3, Image *pTexture, int a5)=0
virtual void MakeParticleBillboardAndPush(SoftwareBillboard *a2, Texture *texture, unsigned int uDiffuse, int angle)=0
int _43F55F_get_billboard_light_level(struct RenderBillboard *a1, int uBaseLightLevel)
virtual void RemoveTextureFromDevice(Texture *texture)=0
virtual void DrawMasked(float u, float v, Image *img, unsigned int color_dimming_level, uint16_t mask)=0
int _unused_camera_rotation_y_int_sine
virtual void do_draw_debug_line_d3d(const RenderVertexD3D3 *pLineBegin, signed int sDiffuseBegin, const RenderVertexD3D3 *pLineEnd, signed int sDiffuseEnd, float z_stuff)=0
virtual void DrawTextureCustomHeight(float u, float v, Image *, int height)=0
GLenum GLint GLint GLint srcY
unsigned int _unused_uNumSurfs
static Vis * ResolveVis()
static ParticleEngine * ResolveParticleEngine()
int _46E44E_collide_against_faces_and_portals(unsigned int b1)
virtual unsigned int GetRenderHeight() const =0
uint16_t Color16(uint32_t r, uint32_t g, uint32_t b)
virtual void RenderTerrainD3D()=0
virtual void EndDecals()=0
virtual void FillRectFast(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, unsigned int uColor16)=0
RenderVertexSoft array_73D150[20]
virtual void EndLightmaps2()=0
virtual void DrawTextAlpha(int x, int y, unsigned char *font_pixels, int a5, unsigned int uFontHeight, uint8_t *pPalette, bool present_time_transparency)=0
void CalcSkyFrustumVec(int a2, int a3, int a4, int a5, int a6, int a7)
LightmapBuilder * lightmap_builder
virtual void DrawIndoorSky(unsigned int uNumVertices, unsigned int uFaceID=0)=0
int ODM_NearClip(unsigned int uVertexID)
ParticleEngine * particle_engine
void SetUsingFog(bool is_using_fog)
virtual void TransformBillboardsAndSetPalettesODM()=0
void _46E889_collide_against_bmodels(unsigned int ecx0)
unsigned int uCameraFovInDegrees
virtual void DrawTextureOffset(int x, int y, int offset_x, int offset_y, Image *)=0
virtual void DrawTransparentGreenShade(float u, float v, Image *pTexture)=0
static DecalBuilder * ResolveDecalBuilder()
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, struct BLVFace *face, int a10)
EGLSurface EGLint EGLint EGLint width
virtual void DrawText(int uOutX, int uOutY, uint8_t *pFontPixels, unsigned int uCharWidth, unsigned int uCharHeight, uint8_t *pFontPalette, uint16_t uFaceColor, uint16_t uShadowColor)=0
RenderBillboardD3D pBillboardRenderListD3D[1000]
uint32_t Color32_SwapRedBlue(uint16_t color16)
int sub_475665(struct BLVFace *face, int a2, int16_t a3)
virtual void am_Blt_Chroma(struct Rect *pSrcRect, struct Point *pTargetPoint, int a3, int blend_mode)=0
void _46ED8A_collide_against_sprite_objects(unsigned int _this)
virtual Texture * CreateTexture_ColorKey(const String &name, uint16_t colorkey)=0
unsigned int GetMaxMipLevels(unsigned int uDim)
EGLSurface EGLNativeWindowType * window
virtual void DrawSpriteObjects_ODM()=0
virtual Texture * CreateTexture_Alpha(const String &name)=0
virtual HWLTexture * LoadHwlBitmap(const String &name)=0
virtual void ResetUIClipRect()=0
unsigned int uNumVertices
unsigned int _unused_uNumSpans
virtual Texture * CreateTexture_Blank(unsigned int width, unsigned int height, IMAGE_FORMAT format, const void *pixels=nullptr)=0
virtual void DrawFansTransparent(const RenderVertexD3D3 *vertices, unsigned int num_vertices)=0
uint32_t Color32(uint16_t color16)
virtual void DrawLines(const RenderVertexD3D3 *vertices, unsigned int num_vertices)=0
virtual bool Initialize(OSWindow *window)=0
virtual Texture * CreateTexture_Solid(const String &name)=0
virtual void EndLightmaps()=0
virtual Texture * CreateSprite(const String &name, unsigned int palette_id, unsigned int lod_sprite_id)=0
int _unused_camera_rotation_y_int_cosine
virtual void DrawDecal(struct Decal *pDecal, float z_bias)=0
virtual void WritePixel16(int x, int y, uint16_t color)=0
virtual void DrawTransparentRedShade(float u, float v, Image *a4)=0
virtual void DrawTextureAlphaNew(float u, float v, Image *)=0
float screenspace_projection_factor_y
unsigned short object_pid
void _46E0B2_collide_against_decorations()
SkyBillboardStruct SkyBillboard
int _unused_camera_rotation_x_int_cosine
GLsizei GLsizei GLfloat distance
int _unused_camera_rotation_x_int_sine
typedef void(SDLCALL *SDL_AudioFilter)(struct SDL_AudioCVT *cvt
int uNumDecorationsDrawnThisFrame
int _43F5C8_get_point_light_level_with_respect_to_lights(unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z)
ODMRenderParams * pODMRenderParams
virtual bool SwitchToWindow()=0
unsigned int uNumBillboardsToDraw
SpellFxRenderer * spell_fx_renderer
GLboolean GLboolean GLboolean b
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint dstY
EGLImageKHR EGLint * name
GLdouble GLdouble GLdouble r
virtual void DrawTerrainPolygon(struct Polygon *a4, bool transparent, bool clampAtTextureBorders)=0
virtual void ClearTarget(unsigned int uColor)=0
unsigned int uMapGridCellZ
virtual void DrawProjectile(float srcX, float srcY, float a3, float a4, float dstX, float dstY, float a7, float a8, Texture *texture)=0
int hd_water_current_frame
RenderVertexSoft VertexRenderList[50]
unsigned int pHDWaterBitmapIDs[7]
virtual void BltBackToFontFast(int a2, int a3, Rect *a4)=0
Vec3_float_ vWorldPosition
int uNumSpritesDrawnThisFrame
unsigned int _452442_color_cvt(uint16_t a1, uint16_t a2, int a3, int a4)
Texture * hd_water_tile_anim[7]
virtual void BeginLightmaps()=0
virtual int GetActorsInViewport(int pDepth)=0
RenderBillboard pBillboardRenderList[500]
GLboolean GLboolean GLboolean GLboolean a
bool sub_4754BF(int a1, int *a2, int X, int Y, int Z, int dir_x, int dir_y, int dir_z, struct BLVFace *face, int a10, int a11)
virtual void CreateZBuffer()=0
float screenspace_projection_factor_x
virtual Texture * CreateTexture(const String &name)=0
virtual Image * TakeScreenshot(unsigned int width, unsigned int height)=0
virtual void DrawIndoorPolygon(unsigned int uNumVertices, struct BLVFace *a3, int uPackedID, unsigned int uColor, int a8)=0
unsigned int sub_46DEF2(signed int a2, unsigned int uLayingItemID)
static SpellFxRenderer * ResolveSpellFxRenderer()
virtual void ZDrawTextureAlpha(float u, float v, Image *pTexture, int zVal)=0
virtual void Update_Texture(Texture *texture)=0
static LightmapBuilder * ResolveLightmapBuilder()
virtual void RasterLine2D(int uX, int uY, int uZ, int uW, uint16_t uColor)=0
RenderVertexD3D3 pQuads[4]
virtual Texture * CreateTexture_PCXFromIconsLOD(const String &name)=0
unsigned int uTargetPitch
virtual void RestoreFrontBuffer()=0
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
unsigned __int32 uint32_t
virtual HWLTexture * LoadHwlSprite(const String &name)=0
virtual void DrawOutdoorSkyD3D()=0
virtual void DrawTextureNew(float u, float v, Image *)=0
virtual void DrawImage(Image *, const Rect &rect)=0
unsigned int _unused_uNumEdges
virtual void BeginSceneD3D()=0
void ToggleColoredLights()
virtual void DrawBillboard_Indoor(SoftwareBillboard *pSoftBillboard, RenderBillboard *billboard)=0
unsigned short object_pid
virtual Texture * CreateTexture_PCXFromNewLOD(const String &name)=0
std::shared_ptr< IRenderConfig > Clone(std::shared_ptr< const IRenderConfig > other)
std::shared_ptr< IRender > render