mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-04 19:36:43 +03:00
68 lines
1.4 KiB
C++
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;
|
|
};
|