T_void FormCleanUp(T_void) { T_word16 i; T_formObjectStruct *p_object; E_Boolean UScrewedUpSomewhere = FALSE; DebugRoutine("FormCleanUp"); /* update the graphics */ GraphicUpdateAllGraphics(); /* loop through all objects, deleting structures if available */ for (i = 0; i < MAX_FORM_OBJECTS; i++) { if (G_formObjectArray[i] != NULL ) { p_object = (T_formObjectStruct *)G_formObjectArray[i]; /* first delete the object (button, textfield, ect) */ DebugCheck(p_object != NULL); switch (p_object->objtype) { case FORM_OBJECT_BUTTON: ButtonDelete((T_buttonID)p_object->objID); break; case FORM_OBJECT_TEXT: TextDelete((T_textID)p_object->objID); break; case FORM_OBJECT_GRAPHIC: GraphicDelete((T_graphicID)p_object->objID); break; case FORM_OBJECT_TEXTFIELD: TxtfldDelete((T_TxtfldID)p_object->objID); break; case FORM_OBJECT_TEXTBOX: TxtboxDelete((T_TxtboxID)p_object->objID); break; case FORM_OBJECT_SLIDER: SliderDelete((T_sliderID)p_object->objID); break; default: /* something is wrong! */ DebugCheck(UScrewedUpSomewhere==TRUE); break; } /* now delete the object structure */ MemFree(G_formObjectArray[i]); MemCheck(101); G_formObjectArray[i] = NULL; } } G_formHasTextBoxes = FALSE; G_formHasButtons = FALSE; DebugEnd(); }
T_void InnUIEnd(T_void) { T_word16 i; DebugRoutine("InnUIEnd"); /* destroy ui objects */ GraphicDelete(G_backgroundPic); for (i = 0; i < 4; i++) { ButtonDelete(G_rentButtons[i]); TxtboxDelete(G_financeDisplays[i]); TxtboxDelete(G_rentCostDisplays[i]); } DebugEnd(); }
T_void StoreUIEnd (T_void) { T_word16 i; DebugRoutine ("StoreUIEnd"); /* destroy ui objects */ GraphicDelete (G_backgroundPic); for (i=0;i<4;i++) { TxtboxDelete(G_financeDisplays[i]); } /* close store inventory */ StoreCloseInventory(); DebugEnd(); }
T_void SliderCleanUp (T_void) { T_word16 i; T_sliderStruct *p_slider; DebugRoutine ("SliderCleanUp"); for (i=0;i<MAX_SLIDERS;i++) if (G_sliderArray[i]!=NULL) { p_slider = (T_sliderStruct *)G_sliderArray[i]; GraphicDelete (p_slider->knobgraphic); MemFree (G_sliderArray[i]); MemCheck (601); G_sliderArray[i]=NULL; } DebugEnd(); }
T_void BankUIEnd (T_void) { T_word16 i; DebugRoutine ("BankUIEnd"); /* destroy ui objects */ GraphicDelete (G_backgroundPic); for (i=0;i<4;i++) { ButtonDelete(G_depositButtons[i]); ButtonDelete(G_withdrawButtons[i]); TxtboxDelete(G_financeDisplays[i]); TxtboxDelete(G_financeDisplays[i+3]); } /* close store inventory */ StoreCloseInventory(); DebugEnd(); }
T_void SliderDelete (T_sliderID sliderID) { T_word16 i; T_sliderStruct *p_slider; DebugRoutine ("SliderDelete"); if (sliderID!=NULL) { for (i=0;i<MAX_SLIDERS;i++) { if (G_sliderArray[i]==sliderID) //found it, now kill it { p_slider=(T_sliderStruct *)sliderID; GraphicDelete (p_slider->knobgraphic); MemFree (G_sliderArray[i]); MemCheck (600); G_sliderArray[i]=NULL; break; } } } DebugEnd(); }
T_void GuildUIEnd (T_void) { T_word16 i; T_mapDescriptionStruct *p_map; T_doubleLinkListElement element,nextElement; DebugRoutine ("GuildUIEnd"); /* destroy ui objects */ GraphicDelete (G_backgroundPic); G_backgroundPic=NULL; for (i=0;i<4;i++) { ButtonDelete(G_upButtons[i]); G_upButtons[i]=NULL; ButtonDelete(G_dnButtons[i]); G_dnButtons[i]=NULL; TxtboxDelete (G_displayBoxes[i]); GraphicDelete (G_scrollBars[i]); G_scrollBars[i]=NULL; } ButtonDelete (G_joinButton); ButtonDelete (G_createButton); G_joinButton=NULL; G_createButton=NULL; /* free up maps data */ element=DoubleLinkListGetFirst(G_mapList); while (element != DOUBLE_LINK_LIST_ELEMENT_BAD) { nextElement=DoubleLinkListElementGetNext(element); p_map=(T_mapDescriptionStruct *)DoubleLinkListElementGetData(element); MemFree (p_map->name); MemFree (p_map->description); MemFree (p_map); element=nextElement; } DoubleLinkListDestroy (G_mapList); G_mapList=DOUBLE_LINK_LIST_BAD; /* free up game list data */ DoubleLinkListFreeAndDestroy(&G_gameList) ; #if 0 element=DoubleLinkListGetFirst(G_gameList); while (element != DOUBLE_LINK_LIST_ELEMENT_BAD) { nextElement=DoubleLinkListElementGetNext(element); p_game=(T_gameDescriptionStruct *)DoubleLinkListElementGetData(element); MemFree(p_game); element=nextElement; } DoubleLinkListDestroy (G_gameList); G_gameList=DOUBLE_LINK_LIST_BAD; #endif /* free up player list data */ // GuildUIClearPlayers(); DoubleLinkListFreeAndDestroy (&G_playerList); // G_playerList=DOUBLE_LINK_LIST_BAD; DebugEnd(); }