8 #include <ff7tkdata_export.h> 
   10 #include <FF7Save_Types> 
   52 class FF7TKDATA_EXPORT 
FF7Save: 
public QObject
 
   57     enum WORLDVEHICLE {WVEHCILE_BUGGY = 0, WVEHCILE_TBRONCO = 2, WVEHCILE_HIGHWIND = 4};
 
   58     enum WORLDCHOCOBO {WCHOCO_WILD = 0, WCHOCO_YELLOW = 2, WCHOCO_GREEN = 3, WCHOCO_BLUE = 4, WCHOCO_BLACK = 5, WCHOCO_GOLD = 6};
 
   59     enum LOVER {LOVE_BARRET, LOVE_TIFA, LOVE_AERIS, LOVE_YUFFIE};
 
   60     enum MATERIACAVE {CAVE_MIME, CAVE_HPMP, CAVE_QUADMAGIC, CAVE_KOTR};
 
   64     enum ATBMODE {ATB_ACTIVE, ATB_RECOMMENED, ATB_WAIT};
 
   66     enum MAGICORDER {MAGIC_RAI, MAGIC_RIA, MAGIC_AIR, MAGIC_ARI, MAGIC_IRA, MAGIC_IAR};
 
   70     enum MENUITEMS {MENUITEM, MENUMAGIC, MENUMATERIA, MENUEQUIPMENT, MENUSTATUS, MENUFORM, MENULIMIT, MENUCONFIG, MENUPHS, MENUSAVE};
 
   75         ACTION_CAMERA, ACTION_TARGET, ACTION_PAGEUP, ACTION_PAGEDOWN,
 
   76         ACTION_MENU, ACTION_OK, ACTION_CANCEL, ACTION_SWITCH,
 
   77         ACTION_HELP, ACTION_UNKNOWN1, ACTION_UNKNOWN2,
 
   78         ACTION_PAUSE, ACTION_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT 
 
   85         BTN_L2, BTN_R2, BTN_L1, BTN_R1,
 
   86         BTN_TRIANGLE, BTN_CIRCLE, BTN_X, BTN_SQUARE,
 
   87         BTN_SELECT, BTN_UNKNOWN1, BTN_UNKNOWN2, BTN_START,
 
   88         BTN_UP, BTN_RIGHT, BTN_DOWN, BTN_LEFT 
 
   94         COTTONDRESS, SATINDRESS, SILKDRESS, WIG, DYEDWIG, BLONDEWIG, GLASSTIARA, RUBYTIATA, DIAMONDTIARA, COLOGNE, FLOWERCOLOGNE, SEXYCOLOGNE, MEMBERSCARD,
 
   95         LINGERIE, MYSTERYPANTIES, BIKINIBRIEFS, PHARMACYCOUPON, DISINFECTANT, DEODORANT, DIGESTIVE, HUGEMATERIA_CONDOR, HUGEMATERIA_COREL, HUGEMATERIA_UNDERWATER,
 
   96         HUGEMATERIA_ROCKET, KEYTOANCIENTS, LETTERTOADAUGHTER, LETTERTOAWIFE, LUNARHARP, BASEMENTKEY, KEYTOSECTOR5, KEYCARD60, KEYCARD62, KEYCARD65, KEYCARD66,
 
   97         KEYCARD68, MIDGARPARTS1, MIDGARPARTS2, MIDGARPARTS3, MIDGARPARTS4, MIDGARPARTS5, PHS, GOLDTICKET, KEYSTONE, LEIATHANSCALES, GLACIERMAP, COUPON_A, COUPON_B,
 
   98         COUPON_C, BLACKMATERIA, MYTHRIL, SNOWBOARD 
 
  115     bool loadFile(
const QString &fileName);
 
  122     bool saveFile(
const QString &fileName, 
int s = 0);
 
  141     bool importSlot(
int s = 0, QString fileName = 
"", 
int fileSlot = 0);
 
  146     void clearSlot(
int s);
 
  151     void copySlot(
int s);
 
  156     void pasteSlot(
int s);
 
  163     void newGame(
int s, 
const QString ®ion = QStringLiteral(
"NTSC-U"), 
const QString &fileName = QString()); 
 
  172     void newGamePlus(
int s, QString CharFileName, QString fileName = 
""); 
 
  180     bool exportCharacter(
int s, 
int char_num, QString fileName); 
 
  187     void importCharacter(
int s, 
int char_num, QByteArray new_char); 
 
  199     bool fixMetaData(QString fileName = 
"", QString UserID = 
"");
 
  207     QByteArray generatePsSaveSignature(QByteArray data, QByteArray keySeed);
 
  209     QByteArray fileHeader(
void);
 
  215     bool setFileHeader(QByteArray data);
 
  217     QByteArray slotHeader(
int s); 
 
  224     bool setSlotHeader(
int s, QByteArray data);
 
  226     QByteArray slotFooter(
int s);
 
  233     bool setSlotFooter(
int s, QByteArray data);
 
  235     QByteArray slotPsxRawData(
int s);
 
  244     bool setSlotPsxRawData(
int s, QByteArray data);
 
  246     QByteArray slotFF7Data(
int s); 
 
  253     bool setSlotFF7Data(
int s, QByteArray data);
 
  254     bool setSlotFF7Data(
int s, 
const FF7SLOT &data);
 
  256     QList<QByteArray> slotIcon(
int s); 
 
  262     QList<qint8> chocoboPens(
int s);
 
  275     quint8 condorWins(
int s);
 
  281     void setCondorWins(
int s, quint8 wins);
 
  287     quint8 condorLosses(
int s);
 
  293     void setCondorLosses(
int s, quint8 losses);
 
  298     quint16 condorFunds(
int s);
 
  304     void setCondorFunds(
int s, quint16 value);
 
  311     quint16 locationId(
int s);
 
  317     void setLocationId(
int s, quint16 locationID);
 
  323     quint16 mapId(
int s);
 
  329     void setMapId(
int s, quint16 mapID);
 
  335     qint16 locationX(
int s);
 
  341     void setLocationX(
int s, qint16 x);
 
  347     qint16 locationY(
int s);
 
  353     void setLocationY(
int s, qint16 y);
 
  359     quint16 locationT(
int s);
 
  365     void setLocationT(
int s, quint16 t);
 
  371     quint8 locationD(
int s);
 
  377     void setLocationD(
int s, quint8 d);
 
  383     quint16 craterSavePointMapID(
int s);
 
  389     qint16 craterSavePointX(
int s);
 
  395     qint16 craterSavePointY(
int s);
 
  401     qint16 craterSavePointZ(
int s);
 
  407     void setCraterSavePointMapID(
int s, 
int value);
 
  413     void setCraterSavePointX(
int s, 
int value);
 
  419     void setCraterSavePointY(
int s, 
int value);
 
  425     void setCraterSavePointZ(
int s, 
int value);
 
  434     QByteArray controllerMapping(
int s);
 
  442     void setControllerMapping(
int s, QByteArray map);
 
  451     quint8 controllerMapping(
int s, 
int action);
 
  460     void setControllerMapping(
int s, 
int action, 
int button);
 
  466     quint16 options(
int s);
 
  472     void setOptions(
int s, 
int opt);
 
  478     bool soundMode(
int s);
 
  484     void setSoundMode(
int s, 
int mode);
 
  486     void setSoundMode(
int s, 
bool mode);
 
  487     bool controlMode(
int s);
 
  488     void setControlMode(
int s, 
int mode);
 
  489     void setControlMode(
int s, 
bool mode);
 
  490     bool cursorMode(
int s);
 
  491     void setCursorMode(
int s, 
int mode);
 
  492     void setCursorMode(
int s, 
bool mode);
 
  494     void setAtbMode(
int s, 
int mode);
 
  495     bool cameraMode(
int s);
 
  496     void setCameraMode(
int s, 
int mode);
 
  497     void setCameraMode(
int s, 
bool mode);
 
  498     int magicOrder(
int s);
 
  499     void setMagicOrder(
int s, 
int order);
 
  500     bool battleHelp(
int s);
 
  501     void setBattleHelp(
int s, 
bool shown);
 
  502     int battleSpeed(
int s);
 
  503     void setBattleSpeed(
int s, 
int speed);
 
  504     int battleMessageSpeed(
int s);
 
  505     void setBattleMessageSpeed(
int s, 
int speed);
 
  506     int messageSpeed(
int s);
 
  507     void setMessageSpeed(
int s, 
int speed);
 
  508     bool fieldHelp(
int s);
 
  509     void setFieldHelp(
int s, 
bool shown);
 
  510     bool battleTargets(
int s);
 
  511     void setBattleTargets(
int s, 
bool shown);
 
  513     quint8 specialBattleWins(
int s);
 
  514     void setSpecialBattleWins(
int s, 
int wins);
 
  517     bool phsVisible(
int s, 
int who);
 
  518     void setPhsVisible(
int s, 
int who, 
bool checked);
 
  519     quint16 phsVisible(
int s);
 
  520     void setPhsVisible(
int s, quint16 phs_visible);
 
  521     bool phsAllowed(
int s, 
int who);
 
  522     quint16 phsAllowed(
int s);
 
  523     void setPhsAllowed(
int s, 
int who, 
bool checked);
 
  524     void setPhsAllowed(
int s, quint16 phs_visible);
 
  525     bool menuVisible(
int s, 
int index);
 
  526     void setMenuVisible(
int s, 
int index, 
bool checked);
 
  527     quint16 menuVisible(
int s);
 
  528     void setMenuVisible(
int s, quint16 menu_visible);
 
  529     bool menuLocked(
int s, 
int index);
 
  530     void setMenuLocked(
int s, 
int index, 
bool checked);
 
  531     quint16 menuLocked(
int s);
 
  532     void setMenuLocked(
int s, quint16 menu_visible);
 
  534     quint16 item(
int s, 
int item_num); 
 
  535     QList<quint16> items(
int s);
 
  536     void setItems(
int s, QList<quint16> items);
 
  537     void setItem(
int s, 
int item_num, quint16 rawitem);
 
  538     void setItem(
int s, 
int item_num, quint16 new_id, quint8 new_qty);
 
  541     void setMateriaCave(
int s, 
MATERIACAVE cave, 
bool isEmpty);
 
  542     quint8 partyMateriaId(
int s, 
int mat_num);
 
  543     qint32 partyMateriaAp(
int s, 
int mat_num);
 
  544     quint8 stolenMateriaId(
int s, 
int mat_num);
 
  545     qint32 stolenMateriaAp(
int s, 
int mat_num);
 
  546     void setPartyMateria(
int s, 
int mat_num, quint8 
id, qint32 ap);
 
  547     void setStolenMateria(
int s, 
int mat_num, quint8 
id, qint32 ap);
 
  549     quint32 descTime(
int s);
 
  550     void setDescTime(
int s, quint32 new_time);
 
  551     QString descName(
int s);
 
  552     void setDescName(
int s, QString new_name); 
 
  553     QString descLocation(
int s);
 
  554     void setDescLocation(
int s, QString new_desc_location);
 
  555     quint8 descLevel(
int s);
 
  556     void setDescLevel(
int s, 
int new_level);
 
  557     quint8 descParty(
int s, 
int char_num);
 
  558     void setDescParty(
int s, 
int char_num, quint8 new_id);
 
  559     quint16 descCurHP(
int s);
 
  560     void setDescCurHP(
int s, quint16 new_curHP);
 
  561     quint16 descMaxHP(
int s);
 
  562     void setDescMaxHP(
int s, quint16 new_maxHP);
 
  563     quint16 descCurMP(
int s);
 
  564     void setDescCurMP(
int s, quint16 new_curMP);
 
  565     quint16 descMaxMP(
int s);
 
  566     void setDescMaxMP(
int s, quint16 new_maxMP);
 
  567     quint32 descGil(
int s);
 
  568     void setDescGil(
int s, quint32 new_gil);
 
  570     QColor dialogColorUL(
int s);
 
  571     QColor dialogColorUR(
int s);
 
  572     QColor dialogColorLL(
int s);
 
  573     QColor dialogColorLR(
int s);
 
  574     void setDialogColorUL(
int s, QColor color);
 
  575     void setDialogColorUR(
int s, QColor color);
 
  576     void setDialogColorLL(
int s, QColor color);
 
  577     void setDialogColorLR(
int s, QColor color);
 
  579     QString chocoName(
int s, 
int choco_num); 
 
  580     void setChocoName(
int s, 
int choco_num, QString new_name); 
 
  581     QString location(
int s);
 
  582     void setLocation(
int s, QString new_location);
 
  584     void setGil(
int s, quint32 gil);
 
  586     void setGp(
int s, 
int gp);
 
  587     quint16 battles(
int s);
 
  588     void setBattles(
int s, 
int battles);
 
  590     void setRuns(
int s, 
int runs);
 
  591     quint8 party(
int s, 
int pos);
 
  598     void setParty(
int s, 
int pos, 
int new_id);
 
  599     qint8 chocoboPen(
int s, 
int pos);
 
  600     void setChocoboPen(
int s, 
int pos, 
int type);
 
  601     bool seenPandorasBox(
int s);
 
  602     void setSeenPandorasBox(
int s, 
bool seen);
 
  604     quint8 love(
int s, 
bool battle, 
LOVER who);
 
  605     void setLove(
int s, 
bool battle, 
LOVER who, quint8 love);
 
  606     quint16 speedScore(
int s, 
int rank);
 
  607     void setSpeedScore(
int s, 
int rank, quint16 score);
 
  608     quint16 bikeHighScore(
int s);
 
  609     void setBikeHighScore(
int s, quint16 score);
 
  610     QString snowboardTime(
int s, 
int course);
 
  611     void setSnowboardTime(
int s, 
int course, QString time);
 
  612     quint8 snowboardScore(
int s, 
int course);
 
  613     void setSnowboardScore(
int s, 
int course, quint8 score);
 
  614     quint32 countdownTimer(
int s);
 
  615     void setCountdownTimer(
int s, quint32 time);
 
  617     FF7CHAR character(
int s, 
int char_num); 
 
  618     quint8 charID(
int s, 
int char_num); 
 
  619     quint8 charLevel(
int s, 
int char_num); 
 
  620     quint8 charStr(
int s, 
int char_num);
 
  621     quint8 charVit(
int s, 
int char_num);
 
  622     quint8 charMag(
int s, 
int char_num);
 
  623     quint8 charSpi(
int s, 
int char_num);
 
  624     quint8 charDex(
int s, 
int char_num);
 
  625     quint8 charLck(
int s, 
int char_num);
 
  626     quint8 charStrBonus(
int s, 
int char_num);
 
  627     quint8 charVitBonus(
int s, 
int char_num);
 
  628     quint8 charMagBonus(
int s, 
int char_num);
 
  629     quint8 charSpiBonus(
int s, 
int char_num);
 
  630     quint8 charDexBonus(
int s, 
int char_num);
 
  631     quint8 charLckBonus(
int s, 
int char_num);
 
  632     qint8 charLimitLevel(
int s, 
int char_num);
 
  633     quint8 charLimitBar(
int s, 
int char_num);
 
  634     QString charName(
int s, 
int char_num); 
 
  635     quint8 charWeapon(
int s, 
int char_num);
 
  636     quint8 charArmor(
int s, 
int char_num);
 
  637     quint8 charAccessory(
int s, 
int char_num);
 
  638     quint8 charFlag(
int s, 
int char_num, 
int flag_num);
 
  639     quint16 charLimits(
int s, 
int char_num); 
 
  640     quint16 charKills(
int s, 
int char_num); 
 
  641     quint16 charTimesLimitUsed(
int s, 
int char_num, 
int level);
 
  642     quint16 charCurrentHp(
int s, 
int char_num);
 
  643     quint16 charBaseHp(
int s, 
int char_num);
 
  644     quint16 charCurrentMp(
int s, 
int char_num);
 
  645     quint16 charBaseMp(
int s, 
int char_num);
 
  646     quint8 charUnknown(
int s, 
int char_num, 
int unknown_num);
 
  647     quint16 charMaxHp(
int s, 
int char_num);
 
  648     quint16 charMaxMp(
int s, 
int char_num);
 
  649     quint32 charCurrentExp(
int s, 
int char_num);
 
  650     quint32 charNextExp(
int s, 
int char_num);
 
  651     quint8 charMateriaId(
int s, 
int who, 
int mat_num);
 
  652     qint32 charMateriaAp(
int s, 
int who, 
int mat_num);
 
  653     void setCharacter(
int s, 
int char_num, 
const FF7CHAR &new_char);
 
  654     void setCharID(
int s, 
int char_num, qint8 new_id);
 
  655     void setCharLevel(
int s, 
int char_num, qint8 new_level);
 
  656     void setCharStr(
int s, 
int char_num, quint8 str);
 
  657     void setCharVit(
int s, 
int char_num, quint8 vit);
 
  658     void setCharMag(
int s, 
int char_num, quint8 mag);
 
  659     void setCharSpi(
int s, 
int char_num, quint8 spi);
 
  660     void setCharDex(
int s, 
int char_num, quint8 dex);
 
  661     void setCharLck(
int s, 
int char_num, quint8 lck);
 
  662     void setCharStrBonus(
int s, 
int char_num, quint8 strbonus);
 
  663     void setCharVitBonus(
int s, 
int char_num, quint8 vitbonus);
 
  664     void setCharMagBonus(
int s, 
int char_num, quint8 magbonus);
 
  665     void setCharSpiBonus(
int s, 
int char_num, quint8 spibonus);
 
  666     void setCharDexBonus(
int s, 
int char_num, quint8 dexbonus);
 
  667     void setCharLckBonus(
int s, 
int char_num, quint8 lckbonus);
 
  668     void setCharLimitLevel(
int s, 
int char_num, qint8 limitlevel);
 
  669     void setCharLimitBar(
int s, 
int char_num, quint8 limitbar);
 
  670     void setCharName(
int s, 
int char_num, QString new_name); 
 
  671     void setCharWeapon(
int s, 
int char_num, quint8 weapon);
 
  672     void setCharArmor(
int s, 
int char_num, quint8 armor);
 
  673     void setCharAccessory(
int s, 
int char_num, quint8 accessory);
 
  674     void setCharFlag(
int s, 
int char_num, 
int flag_num, quint8 flag_value);
 
  675     void setCharLimits(
int s, 
int char_num, quint16 new_limits);
 
  676     void setCharKills(
int s, 
int char_num, quint16 kills);
 
  677     void setCharTimeLimitUsed(
int s, 
int char_num, 
int level, quint16 timesused);
 
  678     void setCharCurrentHp(
int s, 
int char_num, quint16 curHp);
 
  679     void setCharBaseHp(
int s, 
int char_num, quint16 baseHp);
 
  680     void setCharCurrentMp(
int s, 
int char_num, quint16 curMp);
 
  681     void setCharBaseMp(
int s, 
int char_num, quint16 baseMp);
 
  682     void setCharUnknown(
int s, 
int char_num, 
int unknown_num, quint8 value);
 
  683     void setCharMaxHp(
int s, 
int char_num, quint16 maxHp);
 
  684     void setCharMaxMp(
int s, 
int char_num, quint16 maxMp);
 
  685     void setCharCurrentExp(
int s, 
int char_num, quint32 exp);
 
  686     void setCharNextExp(
int s, 
int char_num, quint32 next);
 
  687     void setCharMateria(
int s, 
int who, 
int mat_num, quint8 
id, qint32 ap);
 
  688     void setCharMateria(
int s, 
int who, 
int mat_num, 
materia mat);
 
  690     QList<FF7CHOCOBO> chocobos(
int s);
 
  691     QList<quint16> chocobosStaminas(
int s);
 
  692     QList<QString> chocobosNames(
int s);
 
  693     QList<bool> chocoboCantMates(
int s);
 
  694     qint8 stablesOwned(
int s);
 
  695     qint8 stablesOccupied(
int s);
 
  696     qint8 stableMask(
int s);
 
  697     void setStablesOwned(
int s, qint8 value);
 
  698     void setStablesOccupied(
int s, qint8 value);
 
  699     void setStableMask(
int s, qint8 value);
 
  701     quint16 chocoStamina(
int s, 
int chocoSlot);
 
  702     quint16 chocoSpeed(
int s, 
int chocoSlot);
 
  703     quint16 chocoMaxSpeed(
int s, 
int chocoSlot);
 
  704     quint16 chocoSprintSpeed(
int s, 
int chocoSlot);
 
  705     quint16 chocoMaxSprintSpeed(
int s, 
int chocoSlot);
 
  706     quint8 chocoSex(
int s, 
int chocoSlot);
 
  707     quint8 chocoType(
int s, 
int chocoSlot);
 
  708     quint8 chocoCoop(
int s, 
int chocoSlot);
 
  709     quint8 chocoAccel(
int s, 
int chocoSlot);
 
  710     quint8 chocoIntelligence(
int s, 
int chocoSlot);
 
  711     quint8 chocoRaceswon(
int s, 
int chocoSlot);
 
  712     quint8 chocoPCount(
int s, 
int chocoSlot);
 
  713     quint8 chocoPersonality(
int s, 
int chocoSlot);
 
  714     bool chocoCantMate(
int s, 
int chocoSlot);
 
  715     void setChocoStamina(
int s, 
int chocoSlot, quint16 stamina);
 
  716     void setChocoSpeed(
int s, 
int chocoSlot, quint16 speed);
 
  717     void setChocoMaxSpeed(
int s, 
int chocoSlot, quint16 maxspeed);
 
  718     void setChocoSprintSpeed(
int s, 
int chocoSlot, quint16 sprintSpeed);
 
  719     void setChocoMaxSprintSpeed(
int s, 
int chocoSlot, quint16 maxsprintSpeed);
 
  720     void setChocoSex(
int s, 
int chocoSlot, quint8 value);
 
  721     void setChocoType(
int s, 
int chocoSlot, quint8 value);
 
  722     void setChocoCoop(
int s, 
int chocoSlot, quint8 value);
 
  723     void setChocoAccel(
int s, 
int chocoSlot, quint8 value);
 
  724     void setChocoIntelligence(
int s, 
int chocoSlot, quint8 value);
 
  725     void setChocoRaceswon(
int s, 
int chocoSlot, quint8 value);
 
  726     void setChocoPCount(
int s, 
int chocoSlot, quint8 value);
 
  727     void setChocoPersonality(
int s, 
int chocoSlot, quint8 value);
 
  728     void setChocoCantMate(
int s, 
int chocoSlot, 
bool cantMate);
 
  731     int lenFileHeader(
void);
 
  732     int lenCoreSave(
void);
 
  733     int lenSlotHeader(
void);
 
  734     int lenSlotFooter(
void);
 
  736     int numberOfSlots(
void);
 
  737     QString fileName(
void);
 
  738     void setFileModified(
bool, 
int s); 
 
  739     void setRegion(
int s, 
const QString ®ion);
 
  740     bool isFileModified(
void);
 
  741     bool isSlotModified(
int s);
 
  742     bool isSlotEmpty(
int s);
 
  747     QString region(
int s);
 
  750     char psx_block_type(
int s);
 
  751     void setPsx_block_type(
int s, 
char block_type);
 
  752     quint8 psx_block_next(
int s);
 
  753     void setPsx_block_next(
int s, 
int next);
 
  754     quint8 psx_block_size(
int s);
 
  755     void setPsx_block_size(
int s, 
int blockSize);
 
  756     void fix_pc_bytemask(
int s);
 
  758     QByteArray unknown(
int s, 
int z);
 
  759     bool setUnknown(
int s, 
int z, QByteArray data);
 
  760     quint16 steps(
int s);
 
  761     void setSteps(
int s, 
int steps);
 
  762     quint8 churchProgress(
int s);
 
  763     void setChurchProgress(
int s, 
int progress);
 
  764     quint8 donProgress(
int s);
 
  765     void setDonProgress(
int s, 
int progress);
 
  766     quint16 battlePoints(
int s);
 
  767     void setBattlePoints(
int s, quint16);
 
  769     void setTime(
int s, quint32 new_time);
 
  770     void setDisc(
int s, 
int disc);
 
  772     quint16 mainProgress(
int s);
 
  773     void setMainProgress(
int s, 
int mProgress);
 
  774     QByteArray keyItems(
int s);
 
  775     bool setKeyItems(
int s, QByteArray data);
 
  776     bool keyItem(
int s, 
int keyItem);
 
  777     void setKeyItem(
int s, 
int keyItem, 
bool pickedUp);
 
  778     bool itemMask1(
int s, 
int bit);
 
  779     void setItemMask1(
int s, 
int bit, 
bool pickedUp);
 
  780     bool bmProgress1(
int s, 
int bit);
 
  781     void setBmProgress1(
int s, 
int bit, 
bool isTrue);
 
  782     void setBmProgress1(
int s, 
int value);
 
  783     bool bmProgress2(
int s, 
int bit);
 
  784     void setBmProgress2(
int s, 
int bit, 
bool isTrue);
 
  785     void setBmProgress2(
int s, 
int value);
 
  786     bool bmProgress3(
int s, 
int bit);
 
  787     void setBmProgress3(
int s, 
int bit, 
bool isTrue);
 
  788     void setBmProgress3(
int s, 
int value);
 
  789     bool midgarTrainFlags(
int s, 
int bit);
 
  790     void setMidgarTrainFlags(
int s, 
int bit, 
bool isTrue);
 
  791     void setMidgarTrainFlags(
int s, 
int value);
 
  792     bool turtleParadiseFlyerSeen(
int s, 
int flyer);
 
  793     quint8 turtleParadiseFlyersSeen(
int s);
 
  794     void setTurtleParadiseFlyerSeen(
int s, 
int flyer, 
bool seen);
 
  795     void setTurtleParadiseFlyersSeen(
int s, quint8 flyersSeen);
 
  796     bool startBombingMission(
int s);
 
  797     void setStartBombingMission(
int s, 
bool isTrue);
 
  798     quint32 uWeaponHp(
int s);
 
  799     void setUWeaponHp(
int s, 
int hp);
 
  800     bool killedEmeraldWeapon(
int s);
 
  801     void setKilledEmeraldWeapon(
int s, 
bool isTrue);
 
  802     bool killedRubyWeapon(
int s);
 
  803     void setKilledRubyWeapon(
int s, 
bool isTrue);
 
  804     quint8 tutSave(
int s);
 
  805     void setTutSave(
int s, 
int value);
 
  806     bool canFightNinjaInForest(
int s);
 
  807     void setCanFightNinjaInForest(
int s, 
bool isTrue);
 
  808     quint8 tutSub(
int s);
 
  809     bool tutSub(
int s, 
int bit);
 
  810     void setTutSub(
int s, 
int bit, 
bool isTrue);
 
  811     void setTutSub(
int s, 
int value);
 
  817     bool yuffieUnlocked(
int s);
 
  823     void setYuffieUnlocked(
int s, 
bool isUnlocked);
 
  829     bool vincentUnlocked(
int s);
 
  835     void setVincentUnlocked(
int s, 
bool isUnlocked);
 
  837     bool worldChocobo(
int s, 
int bit);
 
  838     void setWorldChocobo(
int s, 
int bit, 
bool isTrue);
 
  839     bool worldVehicle(
int s, 
int bit);
 
  840     void setWorldVehicle(
int s, 
int bit, 
bool isTrue);
 
  842     quint32 worldCoordsLeader(
int s, 
bool firstChunk);
 
  843     int worldCoordsLeaderX(
int s);
 
  844     int worldCoordsLeaderID(
int s);
 
  845     int worldCoordsLeaderAngle(
int s);
 
  846     int worldCoordsLeaderY(
int s);
 
  847     int worldCoordsLeaderZ(
int s);
 
  848     void setWorldCoordsLeader(
int s, 
bool firstChunk, 
int value);
 
  849     void setWorldCoordsLeaderX(
int s, 
int value);
 
  850     void setWorldCoordsLeaderID(
int s, 
int value);
 
  851     void setWorldCoordsLeaderAngle(
int s, 
int value);
 
  852     void setWorldCoordsLeaderY(
int s, 
int value);
 
  853     void setWorldCoordsLeaderZ(
int s, 
int value);
 
  854     quint32 worldCoordsTc(
int s, 
bool firstChunk);
 
  855     int worldCoordsTcX(
int s);
 
  856     int worldCoordsTcID(
int s);
 
  857     int worldCoordsTcAngle(
int s);
 
  858     int worldCoordsTcY(
int s);
 
  859     int worldCoordsTcZ(
int s);
 
  860     void setWorldCoordsTc(
int s, 
bool firstChunk, 
int value);
 
  861     void setWorldCoordsTcX(
int s, 
int value);
 
  862     void setWorldCoordsTcID(
int s, 
int value);
 
  863     void setWorldCoordsTcAngle(
int s, 
int value);
 
  864     void setWorldCoordsTcY(
int s, 
int value);
 
  865     void setWorldCoordsTcZ(
int s, 
int value);
 
  866     quint32 worldCoordsBh(
int s, 
bool firstChunk);
 
  867     int worldCoordsBhX(
int s);
 
  868     int worldCoordsBhID(
int s);
 
  869     int worldCoordsBhAngle(
int s);
 
  870     int worldCoordsBhY(
int s);
 
  871     int worldCoordsBhZ(
int s);
 
  872     void setWorldCoordsBh(
int s, 
bool firstChunk, 
int value);
 
  873     void setWorldCoordsBhX(
int s, 
int value);
 
  874     void setWorldCoordsBhID(
int s, 
int value);
 
  875     void setWorldCoordsBhAngle(
int s, 
int value);
 
  876     void setWorldCoordsBhY(
int s, 
int value);
 
  877     void setWorldCoordsBhZ(
int s, 
int value);
 
  878     quint32 worldCoordsSub(
int s, 
bool firstChunk);
 
  879     int worldCoordsSubX(
int s);
 
  880     int worldCoordsSubID(
int s);
 
  881     int worldCoordsSubAngle(
int s);
 
  882     int worldCoordsSubY(
int s);
 
  883     int worldCoordsSubZ(
int s);
 
  884     void setWorldCoordsSub(
int s, 
bool firstChunk, 
int value);
 
  885     void setWorldCoordsSubX(
int s, 
int value);
 
  886     void setWorldCoordsSubID(
int s, 
int value);
 
  887     void setWorldCoordsSubAngle(
int s, 
int value);
 
  888     void setWorldCoordsSubY(
int s, 
int value);
 
  889     void setWorldCoordsSubZ(
int s, 
int value);
 
  890     quint32 worldCoordsWchoco(
int s, 
bool firstChunk);
 
  891     int worldCoordsWchocoX(
int s);
 
  892     int worldCoordsWchocoID(
int s);
 
  893     int worldCoordsWchocoAngle(
int s);
 
  894     int worldCoordsWchocoY(
int s);
 
  895     int worldCoordsWchocoZ(
int s);
 
  896     void setWorldCoordsWchoco(
int s, 
bool firstChunk, 
int value);
 
  897     void setWorldCoordsWchocoX(
int s, 
int value);
 
  898     void setWorldCoordsWchocoID(
int s, 
int value);
 
  899     void setWorldCoordsWchocoAngle(
int s, 
int value);
 
  900     void setWorldCoordsWchocoY(
int s, 
int value);
 
  901     void setWorldCoordsWchocoZ(
int s, 
int value);
 
  902     quint32 worldCoordsDurw(
int s, 
bool firstChunk);
 
  903     int worldCoordsDurwX(
int s);
 
  904     int worldCoordsDurwID(
int s);
 
  905     int worldCoordsDurwAngle(
int s);
 
  906     int worldCoordsDurwY(
int s);
 
  907     int worldCoordsDurwZ(
int s);
 
  908     void setWorldCoordsDurw(
int s, 
bool firstChunk, 
int value);
 
  909     void setWorldCoordsDurwX(
int s, 
int value);
 
  910     void setWorldCoordsDurwID(
int s, 
int value);
 
  911     void setWorldCoordsDurwAngle(
int s, 
int value);
 
  912     void setWorldCoordsDurwY(
int s, 
int value);
 
  913     void setWorldCoordsDurwZ(
int s, 
int value);
 
  914     void setSaveNumber(
int s, 
int saveNum);
 
  916     bool subMiniGameVictory(
int s);
 
  917     void setSubMiniGameVictory(
int s, 
bool won);
 
  924     bool playedPianoOnFlashback(
int s);
 
  931     void setPlayedPianoOnFlashback(
int s, 
bool played);
 
  939     quint8 chocoboRating(
int s, 
int stable);
 
  948     void setChocoboRating(
int s, 
int stable, 
int rating);
 
  949     QList<quint8> chocoboRatings(
int s);
 
  956     QString psxDesc(
int s);
 
  965     void setPsxDesc(QString newDesc, 
int s);
 
  988     bool isBufferSlotPopulated();
 
 1021     QString md5sum(QString fileName, QString UserID);
 
 1023     QString fileblock(
const QString &fileName);
 
 1024     QString filetimestamp(QString fileName);
 
 1025     void checksumSlots();
 
 1026     [[ deprecated (
"FF7Save::ff7Checksum Removed, Use FF7SLOT.updateChecksum() and / or FF7SLOT.isEmpty()") ]]quint16 ff7Checksum(
int s);
 
 1027     void fix_psv_header(
int s, 
int blocks = 1);
 
 1028     void fix_pge_header(
int s);
 
 1029     void fix_pda_header(
int s);
 
 1030     void fix_psx_header(
int s);
 
 1031     void fix_vmp_header(
void);
 
 1032     void fix_vmc_header(
void);
 
 1033     void vmcRegionEval(
int s);
 
 1039     QByteArray _bufferFileHeader;
 
 1040     QByteArray _fileHeader;
 
 1041     bool slotChanged[15];
 
 1042     bool fileHasChanged;
 
 1043     QString buffer_region; 
 
 1044     QList<QString> SG_Region_String;
 
 1046     QVector< SubContainer > parseXML(
const QString &fileName, 
const QString &metadataPath, 
const QString &UserID);
 
 1047     QVector< SubContainer > createMetadata(
const QString &fileName, 
const QString &UserID);
 
 1049     inline static const auto allDigetRegEx = QRegularExpression(QStringLiteral(
"^\\d+$"));
 
 1050     inline static const QString invalidRegion = QStringLiteral(
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000");
 
FORMAT
Supported Data Types.
Definition: FF7SaveInfo.h:27
edit saves from Final Fantasy 7
Definition: FF7Save.h:53
SOUNDMODE
Definition: FF7Save.h:61
MENUITEMS
Menu items for ff7.
Definition: FF7Save.h:70
CONTROLACTION
Possible Actions the user can input.
Definition: FF7Save.h:74
KEYITEMS
ID's for each keyitem.
Definition: FF7Save.h:93
CURSORMODE
Definition: FF7Save.h:63
PSXBUTTON
Final Fantasy 7 Buttons for when on PSX.
Definition: FF7Save.h:84
WORLDVEHICLE
Definition: FF7Save.h:57
LOVER
Definition: FF7Save.h:59
int unknown_zmax()
the number of unknown z vars.
Definition: FF7Save.h:971
WORLDCHOCOBO
Definition: FF7Save.h:58
void setChocoboPen(int s, int pen, qint8 value)
return the chocobos in the pen outside of the chocobo farm
MAGICORDER
Definition: FF7Save.h:66
QVector< QString > SubContainer
used to hold more xml style string in metadata signing
Definition: FF7Save.h:192
ATBMODE
Definition: FF7Save.h:64
CONTROLMODE
Definition: FF7Save.h:62
MATERIACAVE
Definition: FF7Save.h:60
CAMERAMODE
Definition: FF7Save.h:65
void fileChanged(bool)
emits when internal data changes
Character Info in the save game.
Main FF7 Save Data Structure.
materia format saved in materia list or on a character