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);
140 void importSlot(
int s = 0, QString fileName =
"",
int fileSlot = 0);
145 void clearSlot(
int s);
150 void copySlot(
int s);
155 void pasteSlot(
int s);
162 void newGame(
int s,
const QString ®ion = QStringLiteral(
"NTSC-U"),
const QString &fileName = QString());
171 void newGamePlus(
int s, QString CharFileName, QString fileName =
"");
179 bool exportCharacter(
int s,
int char_num, QString fileName);
186 void importCharacter(
int s,
int char_num, QByteArray new_char);
198 bool fixMetaData(QString fileName =
"", QString UserID =
"");
206 QByteArray generatePsSaveSignature(QByteArray data, QByteArray keySeed);
208 QByteArray fileHeader(
void);
214 bool setFileHeader(QByteArray data);
216 QByteArray slotHeader(
int s);
223 bool setSlotHeader(
int s, QByteArray data);
225 QByteArray slotFooter(
int s);
232 bool setSlotFooter(
int s, QByteArray data);
234 QByteArray slotPsxRawData(
int s);
243 bool setSlotPsxRawData(
int s, QByteArray data);
245 QByteArray slotFF7Data(
int s);
252 bool setSlotFF7Data(
int s, QByteArray data);
253 bool setSlotFF7Data(
int s,
const FF7SLOT &data);
255 QList<QByteArray> slotIcon(
int s);
261 QList<qint8> chocoboPens(
int s);
268 void setChocoboPen(
int s,
int pen, qint8 value);
274 quint8 condorWins(
int s);
280 void setCondorWins(
int s, quint8 wins);
286 quint8 condorLosses(
int s);
292 void setCondorLosses(
int s, quint8 losses);
297 quint16 condorFunds(
int s);
303 void setCondorFunds(
int s, quint16 value);
310 quint16 locationId(
int s);
316 void setLocationId(
int s, quint16 locationID);
322 quint16 mapId(
int s);
328 void setMapId(
int s, quint16 mapID);
334 qint16 locationX(
int s);
340 void setLocationX(
int s, qint16 x);
346 qint16 locationY(
int s);
352 void setLocationY(
int s, qint16 y);
358 quint16 locationT(
int s);
364 void setLocationT(
int s, quint16 t);
370 quint8 locationD(
int s);
376 void setLocationD(
int s, quint8 d);
382 quint16 craterSavePointMapID(
int s);
388 qint16 craterSavePointX(
int s);
394 qint16 craterSavePointY(
int s);
400 qint16 craterSavePointZ(
int s);
406 void setCraterSavePointMapID(
int s,
int value);
412 void setCraterSavePointX(
int s,
int value);
418 void setCraterSavePointY(
int s,
int value);
424 void setCraterSavePointZ(
int s,
int value);
433 QByteArray controllerMapping(
int s);
441 void setControllerMapping(
int s, QByteArray map);
450 quint8 controllerMapping(
int s,
int action);
459 void setControllerMapping(
int s,
int action,
int button);
465 quint16 options(
int s);
471 void setOptions(
int s,
int opt);
477 bool soundMode(
int s);
483 void setSoundMode(
int s,
int mode);
485 void setSoundMode(
int s,
bool mode);
486 bool controlMode(
int s);
487 void setControlMode(
int s,
int mode);
488 void setControlMode(
int s,
bool mode);
489 bool cursorMode(
int s);
490 void setCursorMode(
int s,
int mode);
491 void setCursorMode(
int s,
bool mode);
493 void setAtbMode(
int s,
int mode);
494 bool cameraMode(
int s);
495 void setCameraMode(
int s,
int mode);
496 void setCameraMode(
int s,
bool mode);
497 int magicOrder(
int s);
498 void setMagicOrder(
int s,
int order);
499 bool battleHelp(
int s);
500 void setBattleHelp(
int s,
bool shown);
501 int battleSpeed(
int s);
502 void setBattleSpeed(
int s,
int speed);
503 int battleMessageSpeed(
int s);
504 void setBattleMessageSpeed(
int s,
int speed);
505 int messageSpeed(
int s);
506 void setMessageSpeed(
int s,
int speed);
507 bool fieldHelp(
int s);
508 void setFieldHelp(
int s,
bool shown);
509 bool battleTargets(
int s);
510 void setBattleTargets(
int s,
bool shown);
512 quint8 specialBattleWins(
int s);
513 void setSpecialBattleWins(
int s,
int wins);
516 bool phsVisible(
int s,
int who);
517 void setPhsVisible(
int s,
int who,
bool checked);
518 quint16 phsVisible(
int s);
519 void setPhsVisible(
int s, quint16 phs_visible);
520 bool phsAllowed(
int s,
int who);
521 quint16 phsAllowed(
int s);
522 void setPhsAllowed(
int s,
int who,
bool checked);
523 void setPhsAllowed(
int s, quint16 phs_visible);
524 bool menuVisible(
int s,
int index);
525 void setMenuVisible(
int s,
int index,
bool checked);
526 quint16 menuVisible(
int s);
527 void setMenuVisible(
int s, quint16 menu_visible);
528 bool menuLocked(
int s,
int index);
529 void setMenuLocked(
int s,
int index,
bool checked);
530 quint16 menuLocked(
int s);
531 void setMenuLocked(
int s, quint16 menu_visible);
533 quint16 item(
int s,
int item_num);
534 QList<quint16> items(
int s);
535 void setItems(
int s, QList<quint16> items);
536 void setItem(
int s,
int item_num, quint16 rawitem);
537 void setItem(
int s,
int item_num, quint16 new_id, quint8 new_qty);
540 void setMateriaCave(
int s,
MATERIACAVE cave,
bool isEmpty);
541 quint8 partyMateriaId(
int s,
int mat_num);
542 qint32 partyMateriaAp(
int s,
int mat_num);
543 quint8 stolenMateriaId(
int s,
int mat_num);
544 qint32 stolenMateriaAp(
int s,
int mat_num);
545 void setPartyMateria(
int s,
int mat_num, quint8
id, qint32 ap);
546 void setStolenMateria(
int s,
int mat_num, quint8
id, qint32 ap);
548 quint32 descTime(
int s);
549 void setDescTime(
int s, quint32 new_time);
550 QString descName(
int s);
551 void setDescName(
int s, QString new_name);
552 QString descLocation(
int s);
553 void setDescLocation(
int s, QString new_desc_location);
554 quint8 descLevel(
int s);
555 void setDescLevel(
int s,
int new_level);
556 quint8 descParty(
int s,
int char_num);
557 void setDescParty(
int s,
int char_num, quint8 new_id);
558 quint16 descCurHP(
int s);
559 void setDescCurHP(
int s, quint16 new_curHP);
560 quint16 descMaxHP(
int s);
561 void setDescMaxHP(
int s, quint16 new_maxHP);
562 quint16 descCurMP(
int s);
563 void setDescCurMP(
int s, quint16 new_curMP);
564 quint16 descMaxMP(
int s);
565 void setDescMaxMP(
int s, quint16 new_maxMP);
566 quint32 descGil(
int s);
567 void setDescGil(
int s, quint32 new_gil);
569 QColor dialogColorUL(
int s);
570 QColor dialogColorUR(
int s);
571 QColor dialogColorLL(
int s);
572 QColor dialogColorLR(
int s);
573 void setDialogColorUL(
int s, QColor color);
574 void setDialogColorUR(
int s, QColor color);
575 void setDialogColorLL(
int s, QColor color);
576 void setDialogColorLR(
int s, QColor color);
578 QString chocoName(
int s,
int choco_num);
579 void setChocoName(
int s,
int choco_num, QString new_name);
580 QString location(
int s);
581 void setLocation(
int s, QString new_location);
583 void setGil(
int s, quint32 gil);
585 void setGp(
int s,
int gp);
586 quint16 battles(
int s);
587 void setBattles(
int s,
int battles);
589 void setRuns(
int s,
int runs);
590 quint8 party(
int s,
int pos);
597 void setParty(
int s,
int pos,
int new_id);
598 qint8 chocoboPen(
int s,
int pos);
599 void setChocoboPen(
int s,
int pos,
int type);
600 bool seenPandorasBox(
int s);
601 void setSeenPandorasBox(
int s,
bool seen);
603 quint8 love(
int s,
bool battle,
LOVER who);
604 void setLove(
int s,
bool battle,
LOVER who, quint8 love);
605 quint16 speedScore(
int s,
int rank);
606 void setSpeedScore(
int s,
int rank, quint16 score);
607 quint16 bikeHighScore(
int s);
608 void setBikeHighScore(
int s, quint16 score);
609 QString snowboardTime(
int s,
int course);
610 void setSnowboardTime(
int s,
int course, QString time);
611 quint8 snowboardScore(
int s,
int course);
612 void setSnowboardScore(
int s,
int course, quint8 score);
613 quint32 countdownTimer(
int s);
614 void setCountdownTimer(
int s, quint32 time);
616 FF7CHAR character(
int s,
int char_num);
617 quint8 charID(
int s,
int char_num);
618 quint8 charLevel(
int s,
int char_num);
619 quint8 charStr(
int s,
int char_num);
620 quint8 charVit(
int s,
int char_num);
621 quint8 charMag(
int s,
int char_num);
622 quint8 charSpi(
int s,
int char_num);
623 quint8 charDex(
int s,
int char_num);
624 quint8 charLck(
int s,
int char_num);
625 quint8 charStrBonus(
int s,
int char_num);
626 quint8 charVitBonus(
int s,
int char_num);
627 quint8 charMagBonus(
int s,
int char_num);
628 quint8 charSpiBonus(
int s,
int char_num);
629 quint8 charDexBonus(
int s,
int char_num);
630 quint8 charLckBonus(
int s,
int char_num);
631 qint8 charLimitLevel(
int s,
int char_num);
632 quint8 charLimitBar(
int s,
int char_num);
633 QString charName(
int s,
int char_num);
634 quint8 charWeapon(
int s,
int char_num);
635 quint8 charArmor(
int s,
int char_num);
636 quint8 charAccessory(
int s,
int char_num);
637 quint8 charFlag(
int s,
int char_num,
int flag_num);
638 quint16 charLimits(
int s,
int char_num);
639 quint16 charKills(
int s,
int char_num);
640 quint16 charTimesLimitUsed(
int s,
int char_num,
int level);
641 quint16 charCurrentHp(
int s,
int char_num);
642 quint16 charBaseHp(
int s,
int char_num);
643 quint16 charCurrentMp(
int s,
int char_num);
644 quint16 charBaseMp(
int s,
int char_num);
645 quint8 charUnknown(
int s,
int char_num,
int unknown_num);
646 quint16 charMaxHp(
int s,
int char_num);
647 quint16 charMaxMp(
int s,
int char_num);
648 quint32 charCurrentExp(
int s,
int char_num);
649 quint32 charNextExp(
int s,
int char_num);
650 quint8 charMateriaId(
int s,
int who,
int mat_num);
651 qint32 charMateriaAp(
int s,
int who,
int mat_num);
652 void setCharacter(
int s,
int char_num,
const FF7CHAR &new_char);
653 void setCharID(
int s,
int char_num, qint8 new_id);
654 void setCharLevel(
int s,
int char_num, qint8 new_level);
655 void setCharStr(
int s,
int char_num, quint8 str);
656 void setCharVit(
int s,
int char_num, quint8 vit);
657 void setCharMag(
int s,
int char_num, quint8 mag);
658 void setCharSpi(
int s,
int char_num, quint8 spi);
659 void setCharDex(
int s,
int char_num, quint8 dex);
660 void setCharLck(
int s,
int char_num, quint8 lck);
661 void setCharStrBonus(
int s,
int char_num, quint8 strbonus);
662 void setCharVitBonus(
int s,
int char_num, quint8 vitbonus);
663 void setCharMagBonus(
int s,
int char_num, quint8 magbonus);
664 void setCharSpiBonus(
int s,
int char_num, quint8 spibonus);
665 void setCharDexBonus(
int s,
int char_num, quint8 dexbonus);
666 void setCharLckBonus(
int s,
int char_num, quint8 lckbonus);
667 void setCharLimitLevel(
int s,
int char_num, qint8 limitlevel);
668 void setCharLimitBar(
int s,
int char_num, quint8 limitbar);
669 void setCharName(
int s,
int char_num, QString new_name);
670 void setCharWeapon(
int s,
int char_num, quint8 weapon);
671 void setCharArmor(
int s,
int char_num, quint8 armor);
672 void setCharAccessory(
int s,
int char_num, quint8 accessory);
673 void setCharFlag(
int s,
int char_num,
int flag_num, quint8 flag_value);
674 void setCharLimits(
int s,
int char_num, quint16 new_limits);
675 void setCharKills(
int s,
int char_num, quint16 kills);
676 void setCharTimeLimitUsed(
int s,
int char_num,
int level, quint16 timesused);
677 void setCharCurrentHp(
int s,
int char_num, quint16 curHp);
678 void setCharBaseHp(
int s,
int char_num, quint16 baseHp);
679 void setCharCurrentMp(
int s,
int char_num, quint16 curMp);
680 void setCharBaseMp(
int s,
int char_num, quint16 baseMp);
681 void setCharUnknown(
int s,
int char_num,
int unknown_num, quint8 value);
682 void setCharMaxHp(
int s,
int char_num, quint16 maxHp);
683 void setCharMaxMp(
int s,
int char_num, quint16 maxMp);
684 void setCharCurrentExp(
int s,
int char_num, quint32 exp);
685 void setCharNextExp(
int s,
int char_num, quint32 next);
686 void setCharMateria(
int s,
int who,
int mat_num, quint8
id, qint32 ap);
687 void setCharMateria(
int s,
int who,
int mat_num,
materia mat);
689 QList<FF7CHOCOBO> chocobos(
int s);
690 QList<quint16> chocobosStaminas(
int s);
691 QList<QString> chocobosNames(
int s);
692 QList<bool> chocoboCantMates(
int s);
693 qint8 stablesOwned(
int s);
694 qint8 stablesOccupied(
int s);
695 qint8 stableMask(
int s);
696 void setStablesOwned(
int s, qint8 value);
697 void setStablesOccupied(
int s, qint8 value);
698 void setStableMask(
int s, qint8 value);
700 quint16 chocoStamina(
int s,
int chocoSlot);
701 quint16 chocoSpeed(
int s,
int chocoSlot);
702 quint16 chocoMaxSpeed(
int s,
int chocoSlot);
703 quint16 chocoSprintSpeed(
int s,
int chocoSlot);
704 quint16 chocoMaxSprintSpeed(
int s,
int chocoSlot);
705 quint8 chocoSex(
int s,
int chocoSlot);
706 quint8 chocoType(
int s,
int chocoSlot);
707 quint8 chocoCoop(
int s,
int chocoSlot);
708 quint8 chocoAccel(
int s,
int chocoSlot);
709 quint8 chocoIntelligence(
int s,
int chocoSlot);
710 quint8 chocoRaceswon(
int s,
int chocoSlot);
711 quint8 chocoPCount(
int s,
int chocoSlot);
712 quint8 chocoPersonality(
int s,
int chocoSlot);
713 bool chocoCantMate(
int s,
int chocoSlot);
714 void setChocoStamina(
int s,
int chocoSlot, quint16 stamina);
715 void setChocoSpeed(
int s,
int chocoSlot, quint16 speed);
716 void setChocoMaxSpeed(
int s,
int chocoSlot, quint16 maxspeed);
717 void setChocoSprintSpeed(
int s,
int chocoSlot, quint16 sprintSpeed);
718 void setChocoMaxSprintSpeed(
int s,
int chocoSlot, quint16 maxsprintSpeed);
719 void setChocoSex(
int s,
int chocoSlot, quint8 value);
720 void setChocoType(
int s,
int chocoSlot, quint8 value);
721 void setChocoCoop(
int s,
int chocoSlot, quint8 value);
722 void setChocoAccel(
int s,
int chocoSlot, quint8 value);
723 void setChocoIntelligence(
int s,
int chocoSlot, quint8 value);
724 void setChocoRaceswon(
int s,
int chocoSlot, quint8 value);
725 void setChocoPCount(
int s,
int chocoSlot, quint8 value);
726 void setChocoPersonality(
int s,
int chocoSlot, quint8 value);
727 void setChocoCantMate(
int s,
int chocoSlot,
bool cantMate);
730 int lenFileHeader(
void);
731 int lenCoreSave(
void);
732 int lenSlotHeader(
void);
733 int lenSlotFooter(
void);
735 int numberOfSlots(
void);
736 QString fileName(
void);
737 void setFileModified(
bool,
int s);
738 void setRegion(
int s,
const QString ®ion);
739 bool isFileModified(
void);
740 bool isSlotModified(
int s);
741 bool isSlotEmpty(
int s);
746 QString region(
int s);
749 char psx_block_type(
int s);
750 void setPsx_block_type(
int s,
char block_type);
751 quint8 psx_block_next(
int s);
752 void setPsx_block_next(
int s,
int next);
753 quint8 psx_block_size(
int s);
754 void setPsx_block_size(
int s,
int blockSize);
755 void fix_pc_bytemask(
int s);
757 QByteArray unknown(
int s,
int z);
758 bool setUnknown(
int s,
int z, QByteArray data);
759 quint16 steps(
int s);
760 void setSteps(
int s,
int steps);
761 quint8 churchProgress(
int s);
762 void setChurchProgress(
int s,
int progress);
763 quint8 donProgress(
int s);
764 void setDonProgress(
int s,
int progress);
765 quint16 battlePoints(
int s);
766 void setBattlePoints(
int s, quint16);
768 void setTime(
int s, quint32 new_time);
769 void setDisc(
int s,
int disc);
771 quint16 mainProgress(
int s);
772 void setMainProgress(
int s,
int mProgress);
773 QByteArray keyItems(
int s);
774 bool setKeyItems(
int s, QByteArray data);
775 bool keyItem(
int s,
int keyItem);
776 void setKeyItem(
int s,
int keyItem,
bool pickedUp);
777 bool itemMask1(
int s,
int bit);
778 void setItemMask1(
int s,
int bit,
bool pickedUp);
779 bool bmProgress1(
int s,
int bit);
780 void setBmProgress1(
int s,
int bit,
bool isTrue);
781 void setBmProgress1(
int s,
int value);
782 bool bmProgress2(
int s,
int bit);
783 void setBmProgress2(
int s,
int bit,
bool isTrue);
784 void setBmProgress2(
int s,
int value);
785 bool bmProgress3(
int s,
int bit);
786 void setBmProgress3(
int s,
int bit,
bool isTrue);
787 void setBmProgress3(
int s,
int value);
788 bool midgarTrainFlags(
int s,
int bit);
789 void setMidgarTrainFlags(
int s,
int bit,
bool isTrue);
790 void setMidgarTrainFlags(
int s,
int value);
791 bool turtleParadiseFlyerSeen(
int s,
int flyer);
792 quint8 turtleParadiseFlyersSeen(
int s);
793 void setTurtleParadiseFlyerSeen(
int s,
int flyer,
bool seen);
794 void setTurtleParadiseFlyersSeen(
int s, quint8 flyersSeen);
795 bool startBombingMission(
int s);
796 void setStartBombingMission(
int s,
bool isTrue);
797 quint32 uWeaponHp(
int s);
798 void setUWeaponHp(
int s,
int hp);
799 bool killedEmeraldWeapon(
int s);
800 void setKilledEmeraldWeapon(
int s,
bool isTrue);
801 bool killedRubyWeapon(
int s);
802 void setKilledRubyWeapon(
int s,
bool isTrue);
803 quint8 tutSave(
int s);
804 void setTutSave(
int s,
int value);
805 bool canFightNinjaInForest(
int s);
806 void setCanFightNinjaInForest(
int s,
bool isTrue);
807 quint8 tutSub(
int s);
808 bool tutSub(
int s,
int bit);
809 void setTutSub(
int s,
int bit,
bool isTrue);
810 void setTutSub(
int s,
int value);
816 bool yuffieUnlocked(
int s);
822 void setYuffieUnlocked(
int s,
bool isUnlocked);
828 bool vincentUnlocked(
int s);
834 void setVincentUnlocked(
int s,
bool isUnlocked);
836 bool worldChocobo(
int s,
int bit);
837 void setWorldChocobo(
int s,
int bit,
bool isTrue);
838 bool worldVehicle(
int s,
int bit);
839 void setWorldVehicle(
int s,
int bit,
bool isTrue);
841 quint32 worldCoordsLeader(
int s,
bool firstChunk);
842 int worldCoordsLeaderX(
int s);
843 int worldCoordsLeaderID(
int s);
844 int worldCoordsLeaderAngle(
int s);
845 int worldCoordsLeaderY(
int s);
846 int worldCoordsLeaderZ(
int s);
847 void setWorldCoordsLeader(
int s,
bool firstChunk,
int value);
848 void setWorldCoordsLeaderX(
int s,
int value);
849 void setWorldCoordsLeaderID(
int s,
int value);
850 void setWorldCoordsLeaderAngle(
int s,
int value);
851 void setWorldCoordsLeaderY(
int s,
int value);
852 void setWorldCoordsLeaderZ(
int s,
int value);
853 quint32 worldCoordsTc(
int s,
bool firstChunk);
854 int worldCoordsTcX(
int s);
855 int worldCoordsTcID(
int s);
856 int worldCoordsTcAngle(
int s);
857 int worldCoordsTcY(
int s);
858 int worldCoordsTcZ(
int s);
859 void setWorldCoordsTc(
int s,
bool firstChunk,
int value);
860 void setWorldCoordsTcX(
int s,
int value);
861 void setWorldCoordsTcID(
int s,
int value);
862 void setWorldCoordsTcAngle(
int s,
int value);
863 void setWorldCoordsTcY(
int s,
int value);
864 void setWorldCoordsTcZ(
int s,
int value);
865 quint32 worldCoordsBh(
int s,
bool firstChunk);
866 int worldCoordsBhX(
int s);
867 int worldCoordsBhID(
int s);
868 int worldCoordsBhAngle(
int s);
869 int worldCoordsBhY(
int s);
870 int worldCoordsBhZ(
int s);
871 void setWorldCoordsBh(
int s,
bool firstChunk,
int value);
872 void setWorldCoordsBhX(
int s,
int value);
873 void setWorldCoordsBhID(
int s,
int value);
874 void setWorldCoordsBhAngle(
int s,
int value);
875 void setWorldCoordsBhY(
int s,
int value);
876 void setWorldCoordsBhZ(
int s,
int value);
877 quint32 worldCoordsSub(
int s,
bool firstChunk);
878 int worldCoordsSubX(
int s);
879 int worldCoordsSubID(
int s);
880 int worldCoordsSubAngle(
int s);
881 int worldCoordsSubY(
int s);
882 int worldCoordsSubZ(
int s);
883 void setWorldCoordsSub(
int s,
bool firstChunk,
int value);
884 void setWorldCoordsSubX(
int s,
int value);
885 void setWorldCoordsSubID(
int s,
int value);
886 void setWorldCoordsSubAngle(
int s,
int value);
887 void setWorldCoordsSubY(
int s,
int value);
888 void setWorldCoordsSubZ(
int s,
int value);
889 quint32 worldCoordsWchoco(
int s,
bool firstChunk);
890 int worldCoordsWchocoX(
int s);
891 int worldCoordsWchocoID(
int s);
892 int worldCoordsWchocoAngle(
int s);
893 int worldCoordsWchocoY(
int s);
894 int worldCoordsWchocoZ(
int s);
895 void setWorldCoordsWchoco(
int s,
bool firstChunk,
int value);
896 void setWorldCoordsWchocoX(
int s,
int value);
897 void setWorldCoordsWchocoID(
int s,
int value);
898 void setWorldCoordsWchocoAngle(
int s,
int value);
899 void setWorldCoordsWchocoY(
int s,
int value);
900 void setWorldCoordsWchocoZ(
int s,
int value);
901 quint32 worldCoordsDurw(
int s,
bool firstChunk);
902 int worldCoordsDurwX(
int s);
903 int worldCoordsDurwID(
int s);
904 int worldCoordsDurwAngle(
int s);
905 int worldCoordsDurwY(
int s);
906 int worldCoordsDurwZ(
int s);
907 void setWorldCoordsDurw(
int s,
bool firstChunk,
int value);
908 void setWorldCoordsDurwX(
int s,
int value);
909 void setWorldCoordsDurwID(
int s,
int value);
910 void setWorldCoordsDurwAngle(
int s,
int value);
911 void setWorldCoordsDurwY(
int s,
int value);
912 void setWorldCoordsDurwZ(
int s,
int value);
913 void setSaveNumber(
int s,
int saveNum);
915 bool subMiniGameVictory(
int s);
916 void setSubMiniGameVictory(
int s,
bool won);
923 bool playedPianoOnFlashback(
int s);
930 void setPlayedPianoOnFlashback(
int s,
bool played);
938 quint8 chocoboRating(
int s,
int stable);
947 void setChocoboRating(
int s,
int stable,
int rating);
948 QList<quint8> chocoboRatings(
int s);
955 QString psxDesc(
int s);
964 void setPsxDesc(QString newDesc,
int s);
987 bool isBufferSlotPopulated();
989 void fileChanged(
bool);
1020 QString md5sum(QString fileName, QString UserID);
1022 QString fileblock(
const QString &fileName);
1023 QString filetimestamp(QString fileName);
1024 void checksumSlots();
1025 quint16 ff7Checksum(
int s);
1026 void fix_psv_header(
int s,
int blocks = 1);
1027 void fix_pge_header(
int s);
1028 void fix_pda_header(
int s);
1029 void fix_psx_header(
int s);
1030 void fix_vmp_header(
void);
1031 void fix_vmc_header(
void);
1032 void vmcRegionEval(
int s);
1038 QByteArray _bufferFileHeader;
1039 QByteArray _fileHeader;
1040 bool slotChanged[15];
1041 bool fileHasChanged;
1042 QString buffer_region;
1043 QList<QString> SG_Region_String;
1045 QVector< SubContainer > parseXML(
const QString &fileName,
const QString &metadataPath,
const QString &UserID);
1046 QVector< SubContainer > createMetadata(
const QString &fileName,
const QString &UserID);
1048 inline static const auto allDigetRegEx = QRegularExpression(QStringLiteral(
"^\\d+$"));
1049 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");