diff options
| author | Loki Rautio <lokirautio@gmail.com> | 2026-03-04 03:56:03 -0600 |
|---|---|---|
| committer | Loki Rautio <lokirautio@gmail.com> | 2026-03-04 03:56:03 -0600 |
| commit | 42aec6dac53dffa6afe072560a7e1d4986112538 (patch) | |
| tree | 0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.Client/ParticleEngine.h | |
| parent | c9d58eeac7c72f0b3038e084667b4d89a6249fce (diff) | |
| parent | ef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff) | |
Merge branch 'main' into pr/win64-world-saves
# Conflicts:
# Minecraft.Client/MinecraftServer.cpp
# README.md
Diffstat (limited to 'Minecraft.Client/ParticleEngine.h')
| -rw-r--r-- | Minecraft.Client/ParticleEngine.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Minecraft.Client/ParticleEngine.h b/Minecraft.Client/ParticleEngine.h index 09e3685b..2a9aa058 100644 --- a/Minecraft.Client/ParticleEngine.h +++ b/Minecraft.Client/ParticleEngine.h @@ -11,8 +11,10 @@ using namespace std; class ParticleEngine { private: + static ResourceLocation PARTICLES_LOCATION; static const int MAX_PARTICLES_PER_LAYER = 200; // 4J - reduced from 4000 static const int MAX_DRAGON_BREATH_PARTICLES = 1000; + static const int MAX_FIREWORK_SPARK_PARTICLES = 2000; public: static const int MISC_TEXTURE = 0; @@ -20,13 +22,17 @@ public: static const int ITEM_TEXTURE = 2; static const int ENTITY_PARTICLE_TEXTURE = 3; static const int DRAGON_BREATH_TEXTURE = 4; // 4J Added - static const int TEXTURE_COUNT = 5; + // Brought forward from Java 1.8 + static const int TRANSLUCENT_LIST = 0; + static const int OPAQUE_LIST = 1; + static const int LIST_COUNT = 2; + protected: Level *level; private: - deque<shared_ptr<Particle> > particles[3][TEXTURE_COUNT]; // 4J made two arrays to cope with simultaneous two dimensions + deque<shared_ptr<Particle> > particles[3][TEXTURE_COUNT][LIST_COUNT]; // 4J made three arrays to cope with simultaneous two dimensions Textures *textures; Random *random; @@ -35,10 +41,16 @@ public: ~ParticleEngine(); void add(shared_ptr<Particle> p); void tick(); - void render(shared_ptr<Entity> player, float a); - void renderLit(shared_ptr<Entity> player, float a); + void render(shared_ptr<Entity> player, float a, int list); + void renderLit(shared_ptr<Entity> player, float a, int list); void setLevel(Level *level); void destroy(int x, int y, int z, int tid, int data); void crack(int x, int y, int z, int face); - wstring countParticles(); + + // 4J - Brought forward from Java 1.8 + void markTranslucent(shared_ptr<Particle> particle); + void markOpaque(shared_ptr<Particle> particle); + void moveParticleInList(shared_ptr<Particle> particle, int source, int destination); + + wstring countParticles(); };
\ No newline at end of file |
