Processes all pages needed by the given level
| 751 | |
| 752 | // Processes all pages needed by the given level |
| 753 | bool PageDataList::ProcessPagesForLevel(char *level_filename, int process_type) { |
| 754 | CWaitCursor wc; |
| 755 | |
| 756 | if (level_filename == NULL) |
| 757 | return FALSE; |
| 758 | |
| 759 | m_StatusText->Format("Loading level - %s...", level_filename); |
| 760 | m_Dlg->UpdateData(FALSE); |
| 761 | DeferMessages(); |
| 762 | wc.Restore(); |
| 763 | |
| 764 | // Load the given level |
| 765 | if (!LoadLevel(level_filename)) { |
| 766 | m_Dlg->MessageBox("Error loading level", "Level Load Error"); |
| 767 | return FALSE; |
| 768 | } |
| 769 | |
| 770 | m_StatusText->Format("Processing level - %s...", level_filename); |
| 771 | m_NumPagesText->Format("%d", m_size); |
| 772 | m_Dlg->UpdateData(FALSE); |
| 773 | DeferMessages(); |
| 774 | wc.Restore(); |
| 775 | |
| 776 | // Process level, adding pages that it requires |
| 777 | DetermineRequiredPages(process_type); |
| 778 | |
| 779 | // Add Level's gamefile pages |
| 780 | char filename[_MAX_FNAME + 1]; |
| 781 | char pagename[_MAX_PATH + 1]; |
| 782 | |
| 783 | _splitpath(level_filename, NULL, NULL, filename, NULL); |
| 784 | for (int j = 0; gamefile_level_ext[j] != NULL; j++) { |
| 785 | sprintf(pagename, "%s%s", filename, gamefile_level_ext[j]); |
| 786 | ProcessPage(pagename, PAGETYPE_GAMEFILE, process_type); |
| 787 | } |
| 788 | |
| 789 | wc.Restore(); |
| 790 | |
| 791 | m_StatusText->Format("Processing Complete", level_filename); |
| 792 | m_Dlg->UpdateData(FALSE); |
| 793 | DeferMessages(); |
| 794 | wc.Restore(); |
| 795 | |
| 796 | return TRUE; |
| 797 | } |
| 798 | |
| 799 | // Either adds the given level page to the list, or removes it |
| 800 | bool PageDataList::ProcessPage(char *page_name, uint8_t page_type, int process_type, int flags) { |
nothing calls this directly
no test coverage detected