Exemple #1
0
static void bucketWait()
{
	setEntityAnimation(self, getAnimationTypeAtIndex(self->head));

	if (self->head->flags & NO_DRAW)
	{
		self->flags |= NO_DRAW;
	}

	else
	{
		self->flags &= ~NO_DRAW;
	}

	self->x = self->head->x + self->offsetX;
	self->y = self->head->y + self->offsetY;
}
Exemple #2
0
void addDuplicateImage(Entity *e)
{
	char shadowAnim[MAX_VALUE_LENGTH];
	Entity *duplicate;

	duplicate = getFreeEntity();

	if (duplicate == NULL)
	{
		return;
	}

	loadProperties(e->name, duplicate);

	duplicate->x = e->x;
	duplicate->y = e->y;

	duplicate->thinkTime = 15;

	duplicate->draw = &drawLoopingAnimationToMap;

	duplicate->action = &duplicateWait;

	duplicate->creditsAction = &duplicateWait;

	snprintf(shadowAnim, MAX_VALUE_LENGTH, "%s_SHADOW", getAnimationTypeAtIndex(e));

	setEntityAnimation(duplicate, shadowAnim);

	duplicate->currentFrame = e->currentFrame;

	duplicate->frameSpeed = 0;

	duplicate->face = e->face;

	duplicate->layer = BACKGROUND_LAYER;

	duplicate->flags |= DO_NOT_PERSIST;

	duplicate->head = e;
}
Exemple #3
0
static void scytheWait()
{
	self->face = self->head->face;

	setEntityAnimation(self, getAnimationTypeAtIndex(self->head));

	if (self->face == LEFT)
	{
		self->x = self->head->x + self->head->w - self->w - self->offsetX;
	}

	else
	{
		self->x = self->head->x + self->offsetX;
	}

	self->y = self->head->y + self->offsetY;

	self->alpha = self->head->alpha;

	if (self->head->flags & NO_DRAW)
	{
		self->flags |= NO_DRAW;
	}

	else
	{
		self->flags &= ~NO_DRAW;
	}

	if (self->head->flags & FLASH)
	{
		self->flags |= FLASH;
	}

	else
	{
		self->flags &= ~FLASH;
	}
}
Exemple #4
0
static void scytheCreditsMove()
{
	self->face = self->head->face;

	setEntityAnimation(self, getAnimationTypeAtIndex(self->head));

	if (self->face == LEFT)
	{
		self->x = self->head->x + self->head->w - self->w - self->offsetX;
	}

	else
	{
		self->x = self->head->x + self->offsetX;
	}

	self->y = self->head->y + self->offsetY;

	if (self->head->inUse == FALSE)
	{
		self->inUse = FALSE;
	}
}