mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-02-25 15:33:57 +00:00
Move RenderObject::positionSnapTo to PauseQuad
And another RenderObject member less...
This commit is contained in:
parent
046b98c725
commit
c82aab1e51
7 changed files with 15 additions and 51 deletions
|
@ -4738,29 +4738,6 @@ void Avatar::setHeadTexture(const std::string &name, float time)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avatar::chargeVisualEffect(const std::string &tex)
|
|
||||||
{
|
|
||||||
float time = 0.4f;
|
|
||||||
Quad *chargeEffect = new Quad;
|
|
||||||
chargeEffect->setBlendType(BLEND_ADD);
|
|
||||||
chargeEffect->alpha.ensureData();
|
|
||||||
chargeEffect->alpha.data->path.addPathNode(0, 0);
|
|
||||||
chargeEffect->alpha.data->path.addPathNode(0.6f, 0.1f);
|
|
||||||
chargeEffect->alpha.data->path.addPathNode(0.6f, 0.9f);
|
|
||||||
chargeEffect->alpha.data->path.addPathNode(0, 1);
|
|
||||||
chargeEffect->alpha.startPath(time);
|
|
||||||
chargeEffect->setTexture(tex);
|
|
||||||
//chargeEffect->positionSnapTo = &this->position;
|
|
||||||
chargeEffect->position = this->position;
|
|
||||||
chargeEffect->setPositionSnapTo(&position);
|
|
||||||
chargeEffect->setLife(1);
|
|
||||||
chargeEffect->setDecayRate(1.0f/time);
|
|
||||||
chargeEffect->scale = Vector(0.1f, 0.1f);
|
|
||||||
chargeEffect->scale.interpolateTo(Vector(1,1),time);
|
|
||||||
//chargeEffect->rotation.interpolateTo(Vector(0,0,360), time);
|
|
||||||
dsq->game->addRenderObject(chargeEffect, LR_PARTICLES);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Avatar::updateFormVisualEffects(float dt)
|
void Avatar::updateFormVisualEffects(float dt)
|
||||||
{
|
{
|
||||||
switch (dsq->continuity.form)
|
switch (dsq->continuity.form)
|
||||||
|
@ -5928,7 +5905,6 @@ void Avatar::onUpdate(float dt)
|
||||||
|
|
||||||
|
|
||||||
chargingEmitter->load("ChargingEnergy2");
|
chargingEmitter->load("ChargingEnergy2");
|
||||||
//chargeVisualEffect("particles/energy-charge-2");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -218,7 +218,6 @@ public:
|
||||||
float headTextureTimer;
|
float headTextureTimer;
|
||||||
void updateDamageVisualEffects();
|
void updateDamageVisualEffects();
|
||||||
int chargeLevelAttained;
|
int chargeLevelAttained;
|
||||||
void chargeVisualEffect(const std::string &tex);
|
|
||||||
void updateFormVisualEffects(float dt);
|
void updateFormVisualEffects(float dt);
|
||||||
bool isSinging();
|
bool isSinging();
|
||||||
bool isLockable();
|
bool isLockable();
|
||||||
|
|
|
@ -3992,14 +3992,11 @@ void DSQ::playVisualEffect(int vfx, Vector position, Entity *target)
|
||||||
{
|
{
|
||||||
case VFX_SHOCK:
|
case VFX_SHOCK:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
core->sound->playSfx("ShockWave");
|
core->sound->playSfx("ShockWave");
|
||||||
|
|
||||||
float t =1.0;
|
float t =1.0;
|
||||||
|
|
||||||
Quad *q = new Quad;
|
PauseQuad *q = new PauseQuad;
|
||||||
q->position = position;
|
q->position = position;
|
||||||
q->scale = Vector(0,0);
|
q->scale = Vector(0,0);
|
||||||
q->scale.interpolateTo(Vector(5,5),t);
|
q->scale.interpolateTo(Vector(5,5),t);
|
||||||
|
@ -4013,7 +4010,7 @@ void DSQ::playVisualEffect(int vfx, Vector position, Entity *target)
|
||||||
q->setBlendType(RenderObject::BLEND_ADD);
|
q->setBlendType(RenderObject::BLEND_ADD);
|
||||||
q->setTexture("particles/EnergyRing");
|
q->setTexture("particles/EnergyRing");
|
||||||
if (target)
|
if (target)
|
||||||
q->positionSnapTo = &target->position;
|
q->setPositionSnapTo(&target->position);
|
||||||
|
|
||||||
game->addRenderObject(q, LR_PARTICLES);
|
game->addRenderObject(q, LR_PARTICLES);
|
||||||
|
|
||||||
|
@ -4023,7 +4020,7 @@ void DSQ::playVisualEffect(int vfx, Vector position, Entity *target)
|
||||||
|
|
||||||
t = 0.75f;
|
t = 0.75f;
|
||||||
{
|
{
|
||||||
Quad *q = new Quad;
|
PauseQuad *q = new PauseQuad;
|
||||||
q->position = position;
|
q->position = position;
|
||||||
q->scale = Vector(0.5,0.5);
|
q->scale = Vector(0.5,0.5);
|
||||||
q->scale.interpolateTo(Vector(2,2),t);
|
q->scale.interpolateTo(Vector(2,2),t);
|
||||||
|
@ -4036,7 +4033,7 @@ void DSQ::playVisualEffect(int vfx, Vector position, Entity *target)
|
||||||
q->setBlendType(RenderObject::BLEND_ADD);
|
q->setBlendType(RenderObject::BLEND_ADD);
|
||||||
q->setTexture("particles/EnergyPart");
|
q->setTexture("particles/EnergyPart");
|
||||||
if (target)
|
if (target)
|
||||||
q->positionSnapTo = &target->position;
|
q->setPositionSnapTo(&target->position);
|
||||||
q->rotation.z = rand()%360;
|
q->rotation.z = rand()%360;
|
||||||
game->addRenderObject(q, LR_PARTICLES);
|
game->addRenderObject(q, LR_PARTICLES);
|
||||||
}
|
}
|
||||||
|
|
|
@ -622,16 +622,23 @@ void Quad::onSetTexture()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PauseQuad::PauseQuad() : Quad(), pauseLevel(0)
|
PauseQuad::PauseQuad() : Quad(), pauseLevel(0), positionSnapTo(0)
|
||||||
{
|
{
|
||||||
addType(SCO_PAUSEQUAD);
|
addType(SCO_PAUSEQUAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PauseQuad::onUpdate(float dt)
|
void PauseQuad::onUpdate(float dt)
|
||||||
{
|
{
|
||||||
|
if (positionSnapTo)
|
||||||
|
this->position = *positionSnapTo;
|
||||||
|
|
||||||
if (core->particlesPaused <= pauseLevel)
|
if (core->particlesPaused <= pauseLevel)
|
||||||
{
|
{
|
||||||
Quad::onUpdate(dt);
|
Quad::onUpdate(dt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PauseQuad::setPositionSnapTo(InterpolatedVector *positionSnapTo)
|
||||||
|
{
|
||||||
|
this->positionSnapTo = positionSnapTo;
|
||||||
|
}
|
||||||
|
|
|
@ -128,7 +128,10 @@ class PauseQuad : public Quad
|
||||||
public:
|
public:
|
||||||
PauseQuad();
|
PauseQuad();
|
||||||
int pauseLevel;
|
int pauseLevel;
|
||||||
|
|
||||||
|
void setPositionSnapTo(InterpolatedVector *positionSnapTo);
|
||||||
protected:
|
protected:
|
||||||
|
InterpolatedVector *positionSnapTo;
|
||||||
|
|
||||||
void onUpdate(float dt);
|
void onUpdate(float dt);
|
||||||
};
|
};
|
||||||
|
|
|
@ -151,9 +151,6 @@ RenderObject::RenderObject()
|
||||||
|
|
||||||
pm = PM_NONE;
|
pm = PM_NONE;
|
||||||
|
|
||||||
positionSnapTo = 0;
|
|
||||||
|
|
||||||
|
|
||||||
blendEnabled = true;
|
blendEnabled = true;
|
||||||
texture = 0;
|
texture = 0;
|
||||||
width = 0;
|
width = 0;
|
||||||
|
@ -576,12 +573,6 @@ void RenderObject::render()
|
||||||
|
|
||||||
void RenderObject::renderCall()
|
void RenderObject::renderCall()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (positionSnapTo)
|
|
||||||
this->position = *positionSnapTo;
|
|
||||||
|
|
||||||
position += offset;
|
position += offset;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1095,11 +1086,6 @@ StateData *RenderObject::getStateData()
|
||||||
return stateData;
|
return stateData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderObject::setPositionSnapTo(InterpolatedVector *positionSnapTo)
|
|
||||||
{
|
|
||||||
this->positionSnapTo = positionSnapTo;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RenderObject::setOverrideCullRadius(float ovr)
|
void RenderObject::setOverrideCullRadius(float ovr)
|
||||||
{
|
{
|
||||||
overrideCullRadiusSqr = ovr * ovr;
|
overrideCullRadiusSqr = ovr * ovr;
|
||||||
|
|
|
@ -167,8 +167,6 @@ public:
|
||||||
|
|
||||||
StateData *getStateData();
|
StateData *getStateData();
|
||||||
|
|
||||||
void setPositionSnapTo(InterpolatedVector *positionSnapTo);
|
|
||||||
|
|
||||||
// HACK: This is defined in RenderObject_inline.h because it needs
|
// HACK: This is defined in RenderObject_inline.h because it needs
|
||||||
// the class Core definition. --achurch
|
// the class Core definition. --achurch
|
||||||
inline bool isOnScreen();
|
inline bool isOnScreen();
|
||||||
|
@ -258,8 +256,6 @@ public:
|
||||||
float updateCull;
|
float updateCull;
|
||||||
int layer;
|
int layer;
|
||||||
|
|
||||||
InterpolatedVector *positionSnapTo;
|
|
||||||
|
|
||||||
|
|
||||||
typedef std::vector<RenderObject*> Children;
|
typedef std::vector<RenderObject*> Children;
|
||||||
Children children, childGarbage;
|
Children children, childGarbage;
|
||||||
|
|
Loading…
Add table
Reference in a new issue