From f592ac17e59e2dd1f5dcf80d2c268d900cb7bd05 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 13:26:26 +0000 Subject: [PATCH] Decompile fn_02306 (CreateTextureDX7) Batch #8003 by pedrao: 0 byte-identical, 1 confirmed by peer review. - fn_02306 CreateTextureDX7: logic confirmed by peer review Peer-reviewed-by: eAthena, secret Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Render/DX7/TextureDX7.cpp | 8 ++++++++ Source/Render/DX7/TextureDX7.h | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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