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);
269 void setChocoboPen(
int s,
int pen, qint8 value);
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();
990 void fileChanged(
bool);
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");