From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/PreStitchedTextureMap.h | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Minecraft.Client/PreStitchedTextureMap.h (limited to 'Minecraft.Client/PreStitchedTextureMap.h') diff --git a/Minecraft.Client/PreStitchedTextureMap.h b/Minecraft.Client/PreStitchedTextureMap.h new file mode 100644 index 00000000..40a755f8 --- /dev/null +++ b/Minecraft.Client/PreStitchedTextureMap.h @@ -0,0 +1,51 @@ +#pragma once +using namespace std; + +#include "..\Minecraft.World\IconRegister.h" + +class Icon; +class StitchedTexture; +class Texture; +class BufferedImage; + +// 4J Added this class to stop having to do texture stitching at runtime +class PreStitchedTextureMap : public IconRegister +{ +public: + static const wstring NAME_MISSING_TEXTURE; + +private: + const int iconType; + + const wstring name; + const wstring path; + const wstring extension; + + bool m_mipMap; + + typedef unordered_map stringIconMap; + stringIconMap texturesByName; // = new HashMap(); + BufferedImage *missingTexture; // = new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB); + StitchedTexture *missingPosition; + Texture *stitchResult; + vector animatedTextures; // = new ArrayList(); + + vector > texturesToAnimate; + + void loadUVs(); +public: + PreStitchedTextureMap(int type, const wstring &name, const wstring &path, BufferedImage *missingTexture, bool mipMap = false); + + void stitch(); + StitchedTexture *getTexture(const wstring &name); + void cycleAnimationFrames(); + Texture *getStitchedTexture(); + + // 4J Stu - register is a reserved keyword in C++ + Icon *registerIcon(const wstring &name); + + int getIconType(); + Icon *getMissingIcon(); + + int getFlags() const; +}; \ No newline at end of file -- cgit v1.2.3