Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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);
    }
}