diff --git a/Source/Render/DX7/TextureDX7.cpp b/Source/Render/DX7/TextureDX7.cpp index 01e8e6d0..e82715b5 100644 --- a/Source/Render/DX7/TextureDX7.cpp +++ b/Source/Render/DX7/TextureDX7.cpp @@ -5,6 +5,8 @@ #include #include +#include +#include namespace { // STATIC: 0x01387270 @@ -104,6 +106,12 @@ CTextureDX7::CTextureDX7(TextureDX7Context& context, int width, int height, int this->SetImageSize(width, height); } +// OFFSET: 0x0056AF60 +// FUNCTION: fn_02306 +std::unique_ptr CreateTextureDX7(TextureDX7Context*& context) { + return std::unique_ptr(new CTextureDX7(*context)); +} + // OFFSET: 0x00543DC0 // OFFSET: 0x00543E30 // FUNCTION: fn_01809 diff --git a/Source/Render/DX7/TextureDX7.h b/Source/Render/DX7/TextureDX7.h index 87070d16..d784517e 100644 --- a/Source/Render/DX7/TextureDX7.h +++ b/Source/Render/DX7/TextureDX7.h @@ -5,6 +5,7 @@ #include "Render/DX7/TextureAllocationDX7.h" #include +#include class DeviceOwnerDX7; class CRenderSystemBase; @@ -22,7 +23,7 @@ struct TextureDX7Context { class CTextureDX7 : public CTexture { public: - explicit CTextureDX7(TextureDX7Context& context); + __declspec(noinline) explicit CTextureDX7(TextureDX7Context& context); CTextureDX7(TextureDX7Context& context, int width, int height, int format); ~CTextureDX7() override; bool Resize(int width, int height) override; @@ -51,4 +52,6 @@ protected: TextureDX7Context* m_context; }; +std::unique_ptr CreateTextureDX7(TextureDX7Context*& context); + #endif