Yes the dreadful Tier 2. Actually it's not that bad.
However I found the issue and it's not me! YAY! Or at least I don't think it's me.
I found that with Particles you can't use the same Image ID that you use for any Sprite or at least it doesn't work correctly with using the same Image ID. It has to be a completely different Image ID. Although in some strange cases it works. It's very odd.
Take for example this code. It does not work.
I've Created a Sprite with that Image. Try and Create a Particle with that same Image ID. Nope does not work.
I probably need to report this as a bug unless anyone else has some insight on this.
//Yes these are globals
int testColorRed = 10;
//int testColorRed2 = 11;
void app::Begin ( void )
{
agk::SetDisplayAspect(320.0f/480.0f);
agk::SetCurrentDir("Media");
agk::LoadImage(testColorRed,"testimagered.png");
//agk::LoadImage(testColorRed2,"testimagered.png");
agk::CreateSprite(20,testColorRed);
agk::SetSpriteSize(20,5.00f,-1.0f);
agk::SetSpritePositionByOffset(20,50.0f,50.0f);
agk::CreateParticles(450,50.0f,50.0f);
agk::SetParticlesDepth(450,8);
agk::SetParticlesDirection(450, 0.0f, 24.0f);
agk::SetParticlesAngle(450, 360.0f);
agk::SetParticlesStartZone(450, 0.0f, 0.0f, 0.0f, 0.0f);
agk::SetParticlesSize(450, 5.0f);
agk::SetParticlesFrequency(450, 64.0f);
agk::SetParticlesLife(450, 1.0f);
agk::SetParticlesMax(450, 8);
agk::SetParticlesVelocityRange(450, 4.0f, 4.0f);
agk::SetParticlesImage(450,testColorRed);
agk::SetParticlesActive(450,0);
}
void app::Loop(void)
{
if(agk::GetRawKeyPressed(32))
{
agk::SetParticlesActive(450,1);
if(agk::GetParticlesMaxReached(450))
{
agk::ResetParticleCount(450);
}
}
agk::Sync();
}
void app::End(void)
{
}