/* PnamesEntryPanel::loadEntry * Loads an entry into the PNAMES entry panel *******************************************************************/ bool PnamesEntryPanel::loadEntry(ArchiveEntry* entry) { // Do nothing if entry is already open if (this->entry == entry) return true; // Empty previous list names.clear(); // Read PNAMES entry uint32_t n_pnames = 0; entry->seek(0, SEEK_SET); if (!entry->read(&n_pnames, 4)) { wxLogMessage("Error: PNAMES entry is corrupt"); return false; } // Read pnames content for (uint32_t a = 0; a < n_pnames; a++) { char pname[9] = ""; pname[8] = 0; // Try to read pname if (!entry->read(&pname, 8)) { wxLogMessage("Error: PNAMES entry is corrupt"); return false; } // Add pname names.push_back(wxString(pname).Upper()); } // Update variables this->entry = entry; setModified(false); // Refresh controls populateEntryList(); Layout(); return true; }
/* SwitchesEntryPanel::loadEntry * Loads an entry into the SWITCHES entry panel *******************************************************************/ bool SwitchesEntryPanel::loadEntry(ArchiveEntry* entry) { // Do nothing if entry is already open if (this->entry == entry && !isModified()) return true; // Read SWITCHES entry into list switches.clear(); switches.readSWITCHESData(entry); // Update variables this->entry = entry; setModified(false); // Refresh controls populateEntryList(); Layout(); Refresh(); return true; }
/* AnimatedEntryPanel::loadEntry * Loads an entry into the ANIMATED entry panel *******************************************************************/ bool AnimatedEntryPanel::loadEntry(ArchiveEntry* entry) { // Do nothing if entry is already open if (this->entry == entry && !isModified()) return true; // Read ANIMATED entry into texturexlist animated.clear(); animated.readANIMATEDData(entry); // Update variables this->entry = entry; setModified(false); // Refresh controls populateEntryList(); Layout(); Refresh(); return true; }