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 }
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); }
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); }
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; } }