Files
MinecraftConsoles/Minecraft.Client/StitchedTexture.h
daoge b3feddfef3 feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict

* feat: TU19 (Dec 2014) Features & Content (#32)

* December 2014 files

* Working release build

* Fix compilation issues

* Add sound to Windows64Media

* Add DLC content and force Tutorial DLC

* Revert "Add DLC content and force Tutorial DLC"

This reverts commit 97a4399472.

* Disable broken light packing

* Disable breakpoint during DLC texture map load

Allows DLC loading but the DLC textures are still broken

* Fix post build not working

* ...

* fix vs2022 build

* fix cmake build

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-03-03 03:04:10 +08:00

92 lines
1.9 KiB
C++

#pragma once
using namespace std;
#include "..\Minecraft.World\Icon.h"
class Texture;
class StitchedTexture : public Icon
{
private:
const wstring name;
public:
wstring m_fileName;
protected:
Texture *source;
vector<Texture *> *frames;
private:
typedef vector<pair<int, int> > intPairVector;
intPairVector *frameOverride;
int flags;
protected:
bool rotated;
int x;
int y;
protected:
int width;
int height;
float u0;
float u1;
float v0;
float v1;
float widthTranslation;
float heightTranslation;
protected:
int frame;
int subFrame;
public:
static StitchedTexture *create(const wstring &name);
~StitchedTexture();
protected:
StitchedTexture(const wstring &name, const wstring &filename);
public:
void initUVs(float U0, float V0, float U1, float V1);
void init(Texture *source, vector<Texture *> *frames, int x, int y, int width, int height, bool rotated);
void replaceWith(StitchedTexture *texture);
int getX() const;
int getY() const;
int getWidth() const;
int getHeight() const;
float getU0(bool adjust = false) const;
float getU1(bool adjust = false) const;
float getU(double offset, bool adjust = false) const;
float getV0(bool adjust = false) const;
float getV1(bool adjust = false) const;
float getV(double offset, bool adjust = false) const;
wstring getName() const;
virtual int getSourceWidth() const;
virtual int getSourceHeight() const;
virtual void cycleFrames();
Texture *getSource();
Texture *getFrame(int i);
virtual int getFrames();
/**
* Loads animation frames from a file with the syntax, <code>
* 0,1,2,3,
* 4*10,5*10,
* 4*10,3,2,1,
* 0
* </code> or similar
*
* @param bufferedReader
*/
void loadAnimationFrames(BufferedReader *bufferedReader);
void loadAnimationFrames(const wstring &string); // 4J Added
int getFlags() const ; // 4J added
void setFlags(int flags); // 4J added
virtual void freeFrameTextures(); // 4J added
virtual bool hasOwnData(); // 4J Added
};