📄 castlescene.h
字号:
{
if (PGod[caParticleSystem[1]]->InitialParticle.InitialColor.g!=0.3f)
{
PGod[caParticleSystem[1]]->InitialParticle.InitialColor.r=0.8f;
PGod[caParticleSystem[1]]->InitialParticle.InitialColor.g=0.3f;
PGod[caParticleSystem[1]]->InitialParticle.InitialColor.b=0.1f;
PGod[caParticleSystem[1]]->InitialParticle.FinalColor.r=0.9f;
PGod[caParticleSystem[1]]->InitialParticle.FinalColor.g=0.3f;
PGod[caParticleSystem[1]]->InitialParticle.FinalColor.b=0.2f;
PGod[caParticleSystem[1]]->InitialParticle.fLifetime=15000.0f;
PGod[caParticleSystem[1]]->InitialParticle.fFinalAlpha=1.0f;
}
if (TotalTime<23500.0f)
{
PGod[caParticleSystem[1]]->IndividualAcceleration=true;
PGod[caParticleSystem[1]]->AccelerateTo(caKnightMovements[caKnightMovementIndex].Position+((caKnightMovements[caKnightMovementIndex+1].Position-caKnightMovements[caKnightMovementIndex].Position)*caKnightAnimationFraction));
}
else if (TotalTime<30000.0f)
{
if (!caFlags[1])
{
caFlags[1]=true;
caKnight.LoadSkin("Data/ModelsAndSkins/KnightOfEvil/KnightEvil.jpg");
}
PGod[caParticleSystem[1]]->IndividualAcceleration=false;
}
else if (PGod[caParticleSystem[1]]->Enabled!=false)
{
PGod[caParticleSystem[1]]->Enabled=false;
}
}
else
{
Bind(Sauron);
glDisable(GL_LIGHTING);
glColor4f(1.0f,1.0f,1.0f,0.6f);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f( -8.5f, 2.5f, 10.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f( -8.5f, 6.5f, 10.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f( -8.5f, 6.5f, 2.0f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f( -8.5f, 2.5f, 2.0f);
glEnd();
glEnable(GL_LIGHTING);
}
if (TotalTime>50000.0f && TotalTime<65000.0f)
{
glEnable(GL_TEXTURE_GEN_S); // Enable Texture Coord Generation For S
glEnable(GL_TEXTURE_GEN_T); // Enable Texture Coord Generation For T
Bind(BarrierTex);
glEnable(GL_BLEND);
glColor4f(1.0f,1.0f,1.0f,0.8f);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f( -1.3f, -2.5f, 20.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.3f, 15.5f, 20.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f( -1.3f, 15.5f, -10.0f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f( -1.3f, -2.5f, -10.0f);
glDisable(GL_BLEND);
glEnd();
glDisable(GL_TEXTURE_GEN_S); // Enable Texture Coord Generation For S
glDisable(GL_TEXTURE_GEN_T); // Enable Texture Coord Generation For T
}
if (TotalTime>35000.0f && TotalTime<57000.0f)
PGod[caParticleSystem[2]]->Enabled=true;
else
PGod[caParticleSystem[2]]->Enabled=false;
if (TotalTime>93000.0f && TotalTime<113000.0f)
PGod[caParticleSystem[6]]->Enabled=true;
else
PGod[caParticleSystem[6]]->Enabled=false;
if (TotalTime>72000.0f && TotalTime<78000.0f)
PGod[caParticleSystem[3]]->Enabled=true;
else
PGod[caParticleSystem[3]]->Enabled=false;
if (TotalTime>84000.0f && TotalTime<94000.0f)
{
glEnable(GL_TEXTURE_GEN_S); // Enable Texture Coord Generation For S
glEnable(GL_TEXTURE_GEN_T); // Enable Texture Coord Generation For T
Bind(BarrierTex);
glEnable(GL_BLEND);
glColor4f(0.5f,1.0f,0.5f,0.8f);
glBegin(GL_QUADS);
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 12.5f, -2.5f, -10.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 12.5f, 15.5f, -10.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(12.5f, 15.5f, 20.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 12.5f, -2.5f, 20.0f);
glDisable(GL_BLEND);
glEnd();
glDisable(GL_TEXTURE_GEN_S); // Enable Texture Coord Generation For S
glDisable(GL_TEXTURE_GEN_T); // Enable Texture Coord Generation For T
PGod[caParticleSystem[4]]->Enabled=true;
PGod[caParticleSystem[5]]->Enabled=true;
}
else
{
PGod[caParticleSystem[4]]->Enabled=false;
PGod[caParticleSystem[5]]->Enabled=false;
}
if (TotalTime>109000.0f && TotalTime<129000.0f)
{
PGod[caParticleSystem[7]]->Enabled=true;
PGod[caParticleSystem[8]]->Enabled=true;
}
else
{
PGod[caParticleSystem[7]]->Enabled=false;
PGod[caParticleSystem[8]]->Enabled=false;
}
if (TotalTime>55000.0f && TotalTime<58000.0f)
{
if (!caFlags[SAURON_POSESSES_MONSTER])
{
PGod[caParticleSystem[2]]->Chaos.Speed=Vector3d(0.005f,0.001f,0.005f);
PGod[caParticleSystem[2]]->InitialParticle.fLifetime=3400.0f;
PGod[caParticleSystem[2]]->InitialParticle.fInitialSize=1.0f;
PGod[caParticleSystem[2]]->InitialParticle.fFinalSize=1.0f;
PGod[caParticleSystem[2]]->IndividualAcceleration=true;
caFlags[SAURON_POSESSES_MONSTER]=true;
}
PGod[caParticleSystem[2]]->AccelerateTo(caKnightMovements[caKnightMovementIndex].Position+((caKnightMovements[caKnightMovementIndex+1].Position-caKnightMovements[caKnightMovementIndex].Position)*caKnightAnimationFraction));
}
else if (caFlags[SAURON_POSESSES_MONSTER])
{
PGod[caParticleSystem[2]]->IndividualAcceleration=true;
caFlags[SAURON_POSESSES_MONSTER]=false;
}
PGod.Draw();
if (TotalTime>10000.0f && TotalTime<15000.0f)
{
glLoadIdentity();
glDisable(GL_LIGHTING);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
Standart.Display(" Forced to evil by the power of The Ring, ",1.0f,20,40,1);
Standart.Display(" Gandalf Wen't to Mordor to usurp Sauron! ",1.0f,20,20,1);
glEnable(GL_LIGHTING);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
}
if (TotalTime>68000.0f && TotalTime<90000.0f)
{
glLoadIdentity();
glDisable(GL_LIGHTING);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
Standart.Display(" * GOSTO MUITO DE MEL QUERO MUDAR ALIMENTACAO * ",1.0f,20,40,1);
glEnable(GL_LIGHTING);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
}
if (TotalTime>93000.0f && TotalTime<103000.0f)
{
glLoadIdentity();
glDisable(GL_LIGHTING);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
Standart.Display(" * ARCH BAELETH NOSTRASTOM SINFLA DOST! * ",1.0f,20,40,1);
glEnable(GL_LIGHTING);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
}
if (TotalTime>117500.0f)
{
Fade(1,1,1,(TotalTime-117500.0f)*0.001f);
}
}
void CastleSceneDeInit ()
{
caMap.Destroy();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -