mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-05-11 19:53:52 +00:00
Initial commit
This commit is contained in:
parent
def8cb4153
commit
b691c43c44
19437 changed files with 4363922 additions and 0 deletions
60
Minecraft.Client/GuiParticle.cpp
Normal file
60
Minecraft.Client/GuiParticle.cpp
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
#include "stdafx.h"
|
||||
#include "GuiParticle.h"
|
||||
#include "..\Minecraft.World\Random.h"
|
||||
|
||||
Random *GuiParticle::random = new Random();
|
||||
|
||||
GuiParticle::GuiParticle(double x, double y, double xa, double ya)
|
||||
{
|
||||
// 4J - added initialisation block
|
||||
removed = false;
|
||||
life = 0;
|
||||
a = 1;
|
||||
oR = oG = oB = oA = 0;
|
||||
|
||||
this->xo = this->x = x;
|
||||
this->yo = this->y = y;
|
||||
this->xa = xa;
|
||||
this->ya = ya;
|
||||
|
||||
int col = Color::HSBtoRGB(random->nextFloat(), 0.5f, 1);
|
||||
r = ((col >> 16) & 0xff) / 255.0;
|
||||
g = ((col >> 8) & 0xff) / 255.0;
|
||||
b = ((col) & 0xff) / 255.0;
|
||||
|
||||
friction = 1.0 / (random->nextDouble() * 0.05 + 1.01);
|
||||
|
||||
lifeTime = (int) (10.0 / (random->nextDouble() * 2 + 0.1));
|
||||
}
|
||||
|
||||
void GuiParticle::tick(GuiParticles *guiParticles)
|
||||
{
|
||||
x += xa;
|
||||
y += ya;
|
||||
|
||||
xa *= friction;
|
||||
ya *= friction;
|
||||
|
||||
ya += 0.1;
|
||||
if (++life > lifeTime) remove();
|
||||
a = 2 - (life / (double) lifeTime) * 2;
|
||||
if (a > 1) a = 1;
|
||||
a = a * a;
|
||||
a *= 0.5;
|
||||
}
|
||||
|
||||
void GuiParticle::preTick()
|
||||
{
|
||||
oR = r;
|
||||
oG = g;
|
||||
oB = b;
|
||||
oA = a;
|
||||
|
||||
xo = x;
|
||||
yo = y;
|
||||
}
|
||||
|
||||
void GuiParticle::remove()
|
||||
{
|
||||
removed = true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue