* 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>
92 lines
1.9 KiB
C++
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
|
|
}; |