Files
mcpe/source/client/renderer/DynamicTexture.hpp

68 lines
1.4 KiB
C++

/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#pragma once
#include "Textures.hpp"
class Textures; // in case we are being included from Textures. We don't need a complete type
// Essentially, the way these work is by patching themselves into terrain.png with a
// call to glTexSubImage2D
class DynamicTexture
{
public:
virtual void tick() = 0;
virtual void bindTexture(Textures*);
DynamicTexture(int a2);
virtual ~DynamicTexture();
protected:
int m_textureIndex = 0;
int m_textureSize = 1;
uint8_t m_pixels[1024];
friend class Textures;
};
class WaterTexture : public DynamicTexture
{
public:
WaterTexture();
~WaterTexture();
void tick() override;
public:
int field_40C = 0;
int field_410 = 0;
float* m_data1 = nullptr;
float* m_data2 = nullptr;
float* m_data3 = nullptr;
float* m_data4 = nullptr;
};
class WaterSideTexture : public DynamicTexture
{
public:
WaterSideTexture();
~WaterSideTexture();
void tick() override;
public:
int field_40C = 0;
int field_410 = 0;
int field_414 = 0;
float* m_data1 = nullptr;
float* m_data2 = nullptr;
float* m_data3 = nullptr;
float* m_data4 = nullptr;
};