Exemplo n.º 1
0
void FreePause(void)
{
	
	FreeSprite(PauseText);
	FreeSprite(SFXSliderGuide);
	FreeSprite(BGMSliderGuide);
	FreeSprite(SFXSliderBack);
	FreeSprite(BGMSliderBack);
	FreeSprite(PauseBackground);

	FreeSprite(EnableCheats);
	FreeSprite(CheckMark);
	FreeButton(CheatsButton);
	FreeSprite(EnableLookAt);
	FreeSprite(LookAtCheckMark);
	FreeButton(LookAtButton);

	FreeButton(SFXSlider);
	FreeButton(BGMSlider);

	FreeButton(ResumeButton);
	FreeButton(MainMenuButton);

	if(GetCurrentState() != GS_MapLevel)
		FreeButton(RestartButton);

	FreeText(SFXText);
	FreeText(BGMText);
	FreeText(SFXLabel);
	FreeText(BGMLabel);

	FreeMyAlloc(volumestring);
	ReleaseSound(BackgroundSnd.Sound); //Keep this here otherwise sound exists foreverrrrrrrr
}
Exemplo n.º 2
0
int Clone_Room(ITEM *i, ITEM *j)
{
	ROOM *r,*s;
	if(MakeRoom(i)==-1)
		return(-1);
	r=(ROOM *)FindSub(i,KEY_ROOM);
	s=(ROOM *)FindSub(j,KEY_ROOM);
	if((!r)||(!s))
		Error("CloneRoom: Not Room!");
	FreeText(r->rm_Short);
	FreeText(r->rm_Long);
	r->rm_Flags=s->rm_Flags;
	r->rm_Short=AllocText(TextOf(s->rm_Short));
	r->rm_Long=AllocText(TextOf(s->rm_Long));
	return(0);
}
Exemplo n.º 3
0
int Clone_Object(ITEM *i, ITEM *j)
{
	short x=0;
	OBJECT *r,*s;
	if(MakeObject(i)==-1)
		return(-1);
	r=(OBJECT *)FindSub(i,KEY_OBJECT);
	s=(OBJECT *)FindSub(j,KEY_OBJECT);
	if((!r)||(!s))
		Error("CloneObject: Not Object!");
	FreeText(r->ob_Text[0]);
	FreeText(r->ob_Text[1]);
	FreeText(r->ob_Text[2]);
	FreeText(r->ob_Text[3]);
	r->ob_Flags=s->ob_Flags;
	r->ob_Size=s->ob_Size;
	r->ob_Weight=s->ob_Weight;
	while(x<4)
	{
		r->ob_Text[x]=AllocText(TextOf(s->ob_Text[x]));
		x++;
	}
	return(0);
}
Exemplo n.º 4
0
void ChangeTextString(TextGlyphs* FirstLetter, char* newString)
{
	TextGlyphs* nextLetter = FirstLetter;
	TextGlyphs* prevLetter = FirstLetter;
	int i = 0;
	while(*newString)
	{
		if(nextLetter && nextLetter->Glyph)
		{
			nextLetter->letter = *newString;
			if(*newString >= 'A' && *newString <= 'Z')
				nextLetter->Glyph->CurrentFrame = (int)*newString - 65;
			else if(*newString >= '0' && *newString <= '9')
				nextLetter->Glyph->CurrentFrame = (int)*newString - 22;
			else if(*newString >= 'a' && *newString <= 'z')
				nextLetter->Glyph->CurrentFrame = (int)*newString - 97;
			else
			{
				switch(*newString)
				{
					case '-':
						nextLetter->Glyph->CurrentFrame = 36;
						break;
					case '+':
						nextLetter->Glyph->CurrentFrame = 37;
						break;
					case '!':
						nextLetter->Glyph->CurrentFrame = 38;
						break;
					case '.':
						nextLetter->Glyph->CurrentFrame = 39;
						break;
					case ',':
						nextLetter->Glyph->CurrentFrame = 40;
						break;
					case '%':
						nextLetter->Glyph->CurrentFrame = 41;
						break;
					case '(':
						nextLetter->Glyph->CurrentFrame = 42;
						break;
					case ')':
						nextLetter->Glyph->CurrentFrame = 43;
						break;
					default:
						FreeSprite(nextLetter->Glyph);
						nextLetter->Glyph = NULL;
						break;
				}
			}
		}
		else if(nextLetter)
		{
			nextLetter->letter = *newString;
			nextLetter->Glyph = ConvertToGlyph(*newString, (int)(FirstLetter->Glyph->Height), FirstLetter->Glyph->Position.x + (i * FirstLetter->Glyph->Height * 0.4f), FirstLetter->Glyph->Position.y, FirstLetter->textTexture);
		}
		else
		{
			nextLetter = (TextGlyphs *) CallocMyAlloc(1, sizeof(TextGlyphs));
			
			prevLetter->NextLetter = nextLetter;
			nextLetter->letter = *newString;
			nextLetter->Glyph = ConvertToGlyph(*newString, (int)(FirstLetter->Glyph->Height), FirstLetter->Glyph->Position.x + (i * FirstLetter->Glyph->Height * 0.4f), FirstLetter->Glyph->Position.y, FirstLetter->textTexture);
			nextLetter->NextLetter = NULL;
			if(nextLetter->Glyph)
				nextLetter->Glyph->ZIndex = FirstLetter->Glyph->ZIndex;
		}
		if(nextLetter->Glyph)
		{
			nextLetter->Glyph->Position.x = FirstLetter->Glyph->Position.x + (i * nextLetter->Glyph->Height * 0.4f);
			nextLetter->Glyph->Tint = FirstLetter->Glyph->Tint;
			nextLetter->Glyph->Visible = FirstLetter->Glyph->Visible;
			nextLetter->Glyph->AnimationActive = FALSE;
		}
		i++;
		prevLetter = nextLetter;
		nextLetter = nextLetter->NextLetter;
		*(newString++);
	}
	if(nextLetter)
	{
		FreeText(nextLetter);
		prevLetter->NextLetter = NULL;
	}
}