std::vector<pokemon_obj*> *getpcvectorp(bw2savblock_obj * block, const bool encrypted) { std::vector<pokemon_obj*> *vpkm = new std::vector<pokemon_obj*>; for(int box = 0; box < 24; box++) { for(int slot = 0; slot < 30; slot++) { if(encrypted) { decryptpkm(&(block->boxes[box].pokemon[slot])); } //if(block->boxes[box].pokemon[slot].blocka.species != 0) if(int(block->boxes[box].pokemon[slot].species) != 0) { vpkm->push_back(&(block->boxes[box].pokemon[slot])); } if(encrypted) { encryptpkm(&(block->boxes[box].pokemon[slot])); } } } return vpkm; }
void frmBoxes::on_actionLoad_SAV_triggered() { SaveFileName = QFileDialog::getOpenFileName(this,tr("Load a save file"),tr(""),tr("Save Files (*.sav *.dsv)")); if(SaveFileName != "") { boxViewer = this; SavDecrypted = false; read(SaveFileName.toStdString().c_str(),sav); cursavblock = &(sav->cur); baksavblock = &(sav->bak); this->setWindowTitle(wTitle + QString::fromStdString(" - ") + QString::fromStdWString(getsavtrainername(cursavblock))); // QString::fromStdWString(getwstring(cursavblock->trainername))); QGraphicsScene * partyscene = new QGraphicsScene(); for(int i = 0; i < 6; i++) { pix = QPixmap(); partyscene = new QGraphicsScene(); partyscene->addPixmap(pix); partygraphics[i]->setScene(partyscene); } for(uint32 pslot = 0; pslot < cursavblock->party.size; pslot++) { decryptpkm(&(cursavblock->party.pokemon[pslot])); pix = getpkmicon(cursavblock->party.pokemon[pslot].pkm_data); partyscene = new QGraphicsScene(); partyscene->addPixmap(pix); partygraphics[pslot]->setScene(partyscene); partygraphics[pslot]->installEventFilter(mouseEventEater); } if(ui->cbBoxes->count() == 0) { for(int i = 0; i < 24; i++) { ui->cbBoxes->addItem(""); } } for(int boxnum = 0; boxnum < 24; boxnum++) { ui->cbBoxes->setItemText(boxnum,QString::fromStdWString(getwstring(cursavblock->boxnames[boxnum]))); for(int boxslot = 0; boxslot < 30; boxslot++) { decryptpkm(&(cursavblock->boxes[boxnum].pokemon[boxslot])); // decryptpkm(&(baksavblock->boxes[boxnum].pokemon[boxslot])); } } SavDecrypted = true; ui->sbBoxIncrem->setEnabled(true); ui->sbBoxIncrem->setVisible(true); ui->saBoxes->setEnabled(true); ui->saBoxes->setVisible(true); ui->cbBoxes->setEnabled(true); ui->sbBoxIncrem->setValue(cursavblock->curbox); frmParty = &(cursavblock->party); for(int ic = 0; ic < 24; ic++) { boxpreviewgraphics[ic]->installEventFilter(mouseEventEater); boxpreviewgraphics[ic]->viewport()->setMouseTracking(true); boxpreviewgraphics[ic]->viewport()->setProperty("Index",ic); boxpreviewgraphics[ic]->viewport()->installEventFilter(mouseEventEater); } refreshboxgrids(); changebox(cursavblock->curbox); } }