コード例 #1
0
// close down flak stuff
void flak_level_close()
{
	// zero out the ani (bitmap manager will take care of releasing it I think)
	//WMC - Check to make sure
	if (Flak_muzzle_flash_ani != -1)
	{
		if (bm_is_valid(Flak_muzzle_flash_ani))
			bm_unload(Flak_muzzle_flash_ani);
		else
			Flak_muzzle_flash_ani = -1;
	}
}
コード例 #2
0
SingleParticleEffect* SingleParticleEffect::createInstance(int effectID, float minSize, float maxSize,
														   float lifetime) {
	Assertion(bm_is_valid(effectID), "Invalid effect id %d passed!", effectID);
	Assertion(minSize <= maxSize, "Maximum size %f is more than minimum size %f!", maxSize, minSize);
	Assertion(minSize >= 0.0f, "Minimum size may not be less than zero, got %f!", minSize);

	auto effectPtr = new SingleParticleEffect("");
	effectPtr->m_particleProperties.m_bitmap = effectID;
	effectPtr->m_particleProperties.m_radius = ::util::UniformFloatRange(minSize, maxSize);

	if (lifetime > 0.0f) {
		effectPtr->m_particleProperties.m_hasLifetime = true;
		effectPtr->m_particleProperties.m_lifetime = ::util::UniformFloatRange(lifetime);
	}

	return effectPtr;
}
コード例 #3
0
ファイル: cursor.cpp プロジェクト: Kobrar/fs2open.github.com
		Cursor* CursorManager::loadFromBitmap(int bitmapHandle)
		{
			Assertion(bm_is_valid(bitmapHandle), "%d is no valid bitmap handle!", bitmapHandle);

			int nframes;
			int fps;

			bm_get_info(bitmapHandle, nullptr, nullptr, nullptr, &nframes, &fps);

			std::unique_ptr<Cursor> cursor(new Cursor(bitmapHandle));

			for (int i = 0; i < nframes; ++i)
			{
				cursor->addFrame(bitmapToCursor(bitmapHandle + i));
			}

			mLoadedCursors.push_back(std::move(cursor));

			return mLoadedCursors.back().get();
		}