Ejemplo n.º 1
0
//---------------------------------------------------------------------------
DeltaElement::DeltaElement (MemoryPtr _shape, long _x, long _y, long frame, bool rev, MemoryPtr fTable, bool noScale, bool upScale) : Element(-_y)
{
	shapeTable = _shape;
	x = _x;
	y = _y;
	frameNum = frame;
	reverse = rev;
	
	fadeTable = fTable;
	
	noScaleDraw = noScale;
	scaleUp = upScale;

	//-------------------------------------
	// Integrity Check here.
#ifdef _DEBUG
	long result = VFX_shape_count(shapeTable);
	if (result <= frameNum)
	{
		frameNum = result-1;
	}

	result = VFX_shape_bounds(shapeTable,frameNum);
	long xMax = result>>16;
	long yMax = result & 0x0000ffff;

#define MAX_X		360
#define MAX_Y		360

	if ((yMax * xMax) >= (MAX_Y * MAX_X))
	{
		return;
	}
#endif
}
Ejemplo n.º 2
0
//---------------------------------------------------------------------------
DeltaElement::DeltaElement(puint8_t _shape, int32_t _x, int32_t _y, int32_t frame, bool rev, puint8_t fTable, bool noScale, bool upScale) : Element(-_y)
{
	shapeTable = _shape;
	x = _x;
	y = _y;
	frameNum = frame;
	reverse = rev;
	fadeTable = fTable;
	noScaleDraw = noScale;
	scaleUp = upScale;
	//-------------------------------------
	// Integrity Check here.
#ifdef _DEBUG
	int32_t result = VFX_shape_count(shapeTable);
	if(result <= frameNum)
	{
		frameNum = result - 1;
	}
	result = VFX_shape_bounds(shapeTable, frameNum);
	int32_t xMax = result >> 16;
	int32_t yMax = result & 0x0000ffff;
#define MAX_X		360
#define MAX_Y		360
	if((yMax * xMax) >= (MAX_Y * MAX_X))
	{
		return;
	}
#endif
}
Ejemplo n.º 3
0
//---------------------------------------------------------------------------
long VFXShapeElement::getTextureHandle (long height)
{
	DWORD textureResult = 0;

	if (height == -1)
	{
		//-----------------------------------------------
		// We need to take the shape bounds and find the
		// smallest texture buffer that will hold it.
		// Create an empty Keyed buffer for now.
		long textureSize = VFX_shape_bounds(shapeTable[0],frameNum[0]);

		long xRes = textureSize >> 16;
		long yRes = textureSize & 0x0000ffff;

		if ((xRes < 16) && (yRes < 16))
		{
			textureResult = gos_NewEmptyTexture(gos_Texture_Keyed,"ShapeTable",16,gosHint_DisableMipmap);
		}
		else if ((xRes < 32) && (yRes < 32))
		{
			textureResult = gos_NewEmptyTexture(gos_Texture_Keyed,"ShapeTable",32,gosHint_DisableMipmap);
		}
		else if ((xRes < 64) && (yRes < 64))
		{
			textureResult = gos_NewEmptyTexture(gos_Texture_Keyed,"ShapeTable",64,gosHint_DisableMipmap);
		}
		else if ((xRes < 128) && (yRes < 128))
		{
			textureResult = gos_NewEmptyTexture(gos_Texture_Keyed,"ShapeTable",128,gosHint_DisableMipmap);
		}
		else if ((xRes < 256) && (yRes < 256))
		{
			textureResult = gos_NewEmptyTexture(gos_Texture_Keyed,"ShapeTable",256,gosHint_DisableMipmap);
		}
	}