PyDict *Character::CharGetInfo() { //TODO: verify that we are a char? if( !LoadContents( m_factory ) ) { codelog(ITEM__ERROR, "%s (%u): Failed to load contents for CharGetInfo", m_itemName.c_str(), m_itemID); return NULL; } PyDict *result = new PyDict; Rsp_CommonGetInfo_Entry entry; if(!Populate(entry)) return NULL; result->SetItem(new PyInt(m_itemID), new PyObject("util.KeyVal", entry.Encode())); //now encode skills... std::vector<InventoryItemRef> skills; //find all the skills contained within ourself. FindByFlag( flagSkill, skills ); FindByFlag( flagSkillInTraining, skills ); //encode an entry for each one. std::vector<InventoryItemRef>::iterator cur, end; cur = skills.begin(); end = skills.end(); for(; cur != end; cur++) { if(!(*cur)->Populate(entry)) { codelog(ITEM__ERROR, "%s (%u): Failed to load skill item %u for CharGetInfo", m_itemName.c_str(), itemID(), (*cur)->itemID()); } else { result->SetItem(new PyInt((*cur)->itemID()), new PyObject("util.KeyVal", entry.Encode())); } } return result; }
// --- STDMETHODIMP CCodeGen::ImplementationGenerate( DWORD clen, BYTE* cont, DWORD olen, BYTE* opt ) { int interfaces = 0; int selected = 0; int option_checked = 0; HRESULT hr = LoadContents( clen, cont ); if ( FAILED(hr) ) return hr; hr = LoadOptions( olen, opt ); if ( FAILED(hr) ) return hr; m_iface.GoFirst(); while( m_iface ) { interfaces++; if ( m_iface.Selected() ) selected++; if ( m_opt.some_option() ) option_checked++; m_iface.GoNext(); } m_iface = 0; return S_OK; }
bool Station::_Load() { // load contents if( !LoadContents( m_factory ) ) return false; return CelestialObject::_Load(); }
bool Character::_Load() { if( !LoadContents( m_factory ) ) return false; if( !m_factory.db().LoadSkillQueue( itemID(), m_skillQueue ) ) return false; return Owner::_Load(); }
CString AcuArchive::Reload(void) { fReloadFlag = true; // tell everybody that cached data is invalid DeleteEntries(); if (LoadContents() != 0) { return L"Reload failed."; } return ""; }
bool Character::_Load() { if( !LoadContents( m_factory ) ) return false; if( !m_factory.db().LoadSkillQueue( itemID(), m_skillQueue ) ) return false; // Calculate total SP trained and store in internal variable: _CalculateTotalSPTrained(); return Owner::_Load(); }
bool BrushPanel::SelectBrush(const Brush* whatbrush) { if(loaded) { //std::cout << loaded << std::endl; //std::cout << brushbox << std::endl; ASSERT(brushbox != nullptr); return brushbox->SelectBrush(whatbrush); } for(BrushVector::const_iterator iter = tileset->brushlist.begin(); iter != tileset->brushlist.end(); ++iter) { if(*iter == whatbrush) { LoadContents(); return brushbox->SelectBrush(whatbrush); } } return false; }
PyObject *Character::CharGetInfo() { //TODO: verify that we are a char? if( !LoadContents( m_factory ) ) { codelog(ITEM__ERROR, "%s (%u): Failed to load contents for CharGetInfo", m_itemName.c_str(), m_itemID); return NULL; } Rsp_CommonGetInfo result; Rsp_CommonGetInfo_Entry entry; //first encode self. if(!Populate(entry)) return NULL; //print already done. result.items[m_itemID] = entry.Encode(); //now encode skills... std::vector<InventoryItemRef> skills; // Check that there are not expired boosters CheckBoosters(); // find all the skills located at our character's brain( AKA locationID = characterID ) FindByFlag( flagSkill, skills ); FindByFlag( flagSkillInTraining, skills ); FindByFlag( flagImplant, skills ); FindByFlag( flagBooster, skills ); //encode an entry for each one. std::vector<InventoryItemRef>::iterator cur, end; cur = skills.begin(); end = skills.end(); for(; cur != end; cur++) { if(!(*cur)->Populate(entry)) { codelog(ITEM__ERROR, "%s (%u): Failed to load skill item %u for CharGetInfo", m_itemName.c_str(), itemID(), (*cur)->itemID()); } else { result.items[(*cur)->itemID()] = entry.Encode(); } } return(result.Encode()); }
bool Character::_Load() { if( !LoadContents( m_factory ) ) return false; if( !m_factory.db().LoadSkillQueue( itemID(), m_skillQueue ) ) return false; if( !m_factory.db().LoadCertificates( itemID(), m_certificates ) ) return false; if( !m_factory.db().LoadImplantsAndBoosters( itemID(), m_implants, m_boosters ) ) return false; // Calculate total SP trained and store in internal variable: _CalculateTotalSPTrained(); return Owner::_Load(); }
void Inventory::DeleteContents(ItemFactory &factory) { LoadContents( factory ); std::map<uint32, InventoryItemRef>::iterator cur, end; cur = mContents.begin(); end = mContents.end(); for(; cur != end; ) { // Our "cur" iterator becomes invalid once RemoveItem // for its item is called, so we need to increment it // before calling Delete(). InventoryItemRef i = cur->second; cur++; i->Delete(); } mContents.clear(); }
GenericArchive::OpenResult AcuArchive::Open(const WCHAR* filename, bool readOnly, CString* pErrMsg) { CString errMsg; //fIsReadOnly = true; // ignore "readOnly" errno = 0; fFp = _wfopen(filename, L"rb"); if (fFp == NULL) { errMsg.Format(L"Unable to open %ls: %hs.", filename, strerror(errno)); goto bail; } { CWaitCursor waitc; int result; result = LoadContents(); if (result < 0) { errMsg.Format(L"The file is not an ACU archive."); goto bail; } else if (result > 0) { errMsg.Format(L"Failed while reading data from ACU archive."); goto bail; } } SetPathName(filename); bail: *pErrMsg = errMsg; if (!errMsg.IsEmpty()) return kResultFailure; else return kResultSuccess; }
void BrushPanel::OnSwitchIn() { LoadContents(); }