void FloatAACPlusEncodeCodec::Destroy() { if(m_hSbr != NULL) { EnvClose((HANDLE_SBR_ENCODER)m_hSbr); m_hSbr = NULL; } if(m_hAac != NULL) { AacEncClose((struct AAC_ENCODER *)m_hAac); m_hAac = NULL; } SAFE_DELETEA(inputBuffer); SAFE_DELETEA(outputBuffer); SAFE_DELETEA(ancDataBytes); }
void cleanparticles(void) { if (particleibo) { ogl::deletebuffers(1, &particleibo); particleibo = 0; } if (particlevbo) { ogl::deletebuffers(1, &particlevbo); particlevbo = 0; } SAFE_DELETEA(glparts); }
GameState::~GameState() { for (int i = 0; i < ENTITY_LISTSIZE; i ++) { SAFE_DELETE(mPredators[i]); SAFE_DELETE(mChucklets[i]); SAFE_DELETE(mPrey[i]); SAFE_DELETE(mGrass[i]); SAFE_DELETE(mMoose[i]); } SAFE_DELETEA(mPredators); SAFE_DELETEA(mChucklets); SAFE_DELETEA(mPrey); SAFE_DELETEA(mGrass); SAFE_DELETEA(mMoose); SAFE_DELETEA(mAllTargets); SAFE_DELETE(mEnvironment); for (map<string, Image *>::iterator i = mImageDatabase.begin(); i != mImageDatabase.end(); i ++) { if (i->second) delete i->second; } SAFE_DELETE(mMinimap); SAFE_DELETE(mStatusPane); SAFE_DELETE(mDisasterPanel); SAFE_DELETE(mToolbar); delete mTileGenerator; }
static void initparticles(void) { // indices never change we set them once here const u16 twotriangles[] = {0,1,2,2,3,1}; u16 *indices = NEWAE(u16, glindexn); ogl::genbuffers(1, &particleibo); ogl::bindbuffer(ogl::ELEMENT_ARRAY_BUFFER, particleibo); loopi(MAXPARTICLES) loopj(6) indices[6*i+j]=4*i+twotriangles[j]; OGL(BufferData, GL_ELEMENT_ARRAY_BUFFER, glindexn*sizeof(u16), indices, GL_STATIC_DRAW); ogl::bindbuffer(ogl::ELEMENT_ARRAY_BUFFER, 0); // vertices will be created at each drawing call ogl::genbuffers(1, &particlevbo); ogl::bindbuffer(ogl::ARRAY_BUFFER, particlevbo); OGL(BufferData, GL_ARRAY_BUFFER, glvertexn*sizeof(glparticle), NULL, GL_DYNAMIC_DRAW); ogl::bindbuffer(ogl::ARRAY_BUFFER, 0); SAFE_DELETEA(indices); // Init the array dynamically since VS2012 crashes with a static declaration glparts = NEWAE(glparticle, glvertexn); }