ff7tk 0.80.25
Work with Final Fantasy 7 game data
FF7Save_Types.h
Go to the documentation of this file.
1/****************************************************************************/
2// copyright 2012 -2020 Chris Rizzitello <sithlord48@gmail.com> //
3// //
4// This file is part of FF7tk //
5// //
6// FF7tk is free software: you can redistribute it and/or modify //
7// it under the terms of the GNU General Public License as published by //
8// the Free Software Foundation, either version 3 of the License, or //
9// (at your option) any later version. //
10// //
11// FF7tk is distributed in the hope that it will be useful, //
12// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14// GNU General Public License for more details. //
15/****************************************************************************/
16
17#ifndef FF7SAVE_TYPES_H
18#define FF7SAVE_TYPES_H
19
20#ifdef _MSC_VER
21# define PACK(structure) \
22 __pragma(pack(push, 1)) \
23 structure \
24 __pragma(pack(pop))
25#elif defined(__MINGW32__)
26#define PACK(structure) structure __attribute__ ((gcc_struct, __packed__))
27#else
28#define PACK(structure) structure Q_PACKED
29#endif
30
31#include <QVector>
32#ifndef ff7tk_export_h
33 #include <ff7tk_export.h>
34#endif
35 #include <Type_FF7CHAR.h>
36#include <Type_FF7CHOCOBO.h>
37//Materia Type is included as part of FF7Char
38/*~~~~~~~~~~~~~~~~~~~~~~~~STRUCT TYPES AND SAVE STRUCT~~~~~~~~~~~~~~~~*/
40struct FF7TK_EXPORT LOVE {
41 qint8 aeris;
42 qint8 tifa;
43 qint8 yuffie;
44 qint8 barret;
45});
46
53struct FF7TK_EXPORT FF7DESC {
54 quint8 level;
55 qint8 party[3];
56 quint8 name[16];
57 quint16 curHP;
58 quint16 maxHP;
59 quint16 curMP;
60 quint16 maxMP;
61 quint32 gil;
62 quint32 time;
63 quint8 location[32];
64});
66struct FF7TK_EXPORT FF7XYT {// size of 7. used for coords
67 qint16 x;
68 qint16 y;
69 quint16 t;
70 quint8 d;
71});
72
81struct FF7TK_EXPORT FF7SLOT {
82 quint16 checksum;
83 quint8 z_1[2];
84 FF7DESC desc;
85 quint8 colors[4][3];
86 FF7CHAR chars[9];
87 qint8 party[3];
88 quint8 z_2[1];
89 quint16 items[320];
90 materia materias[200];
91 materia stolen[48];
92 quint8 z_3[32];
93 quint32 gil;
94 quint32 time;
95 quint8 timer[3];
96 quint8 z_4[13];
97 quint16 mapid;
98 quint16 locationid;
99 quint8 z_5[2];
100 FF7XYT coord;
101 quint8 z_6[3];
102 quint16 mprogress;
103 quint8 z_7[1];
104 LOVE love;
105 quint8 z_8[17];
106 quint16 battles;
107 quint16 runs;
108 quint16 menu_visible;
109 quint16 menu_locked;
110 quint8 z_9[16];
111 quint8 itemsmask_1;
112 quint8 materiacaves;
113 quint8 z_10[14];
114 quint8 keyitems[8];
115 quint8 z_11[8];
116 LOVE b_love;
117 quint8 z_12[1];
118 qint8 pennedchocos[4];
119 quint8 z_13[2];
120 quint8 u_weapon_hp[3];
121 quint8 seenpandora;
122 quint8 z_14[27];
123 quint8 tut_sub;
124 quint8 ruby_emerald;
125 quint8 z_15[2];
126 quint8 world_map_chocobos;
127 quint8 world_map_vehicles;
128 quint8 z_16[38];
129 quint8 condorlosses;
130 quint8 condorwins;
131 quint8 z_17[12];
132 quint16 condorfunds;
133 quint8 z_18[43];
134 quint8 bm_progress1;
135 quint8 bm_progress2;
136 quint8 z_19[38];
137 quint8 f_party[3];
138 quint8 z_20[4];
139 quint8 aeris_church;
140 quint8 z_21[49];
141 quint8 bm_progress3;
142 quint8 z_22[7];
143 quint16 gp;
144 quint8 z_23[4];
145 quint16 battlepoints;
146 quint8 z_24[6];
147 qint8 stables;
148 qint8 stablesoccupied;
149 quint8 z_25[1];
150 qint8 chocobomask;
151 quint8 chocomated;
152 quint8 z_26[40];
153 quint8 yuffieforest;
154 quint8 z_27[28];
155 quint8 donprogress;
156 quint8 z_28[31];
157 quint8 turtleflyers;
158 quint8 z_29[12];
159 quint8 reg_yuffie;
160 quint8 z_30[15];
161 quint8 midgartrainflags;
162 quint8 z_31[64];
163 FF7CHOCOBO chocobos[4];
164 quint8 z_32[13];
165 quint16 BikeHighScore;
166 quint8 SnowUnused;
167 quint32 SnowBegFastTime;
168 quint32 SnowExpFastTime;
169 quint32 SnowCrazyFastTime; quint8 SnowBegScore;
170 quint8 SnowExpScore;
171 quint8 SnowCrazyScore;
172 quint8 Snowtempvar;
173 quint16 coster_2;
174 quint16 coster_3;
175 quint8 z_33[17];
176 quint16 coster_1;
177 quint8 z_34[3];
178 quint8 stablechocorating[6];
179 quint8 z_35[24];
180 qint16 cratersaveMapId;
181 qint16 cratersaveX;
182 qint16 cratersaveY;
183 qint16 cratersaveZ;
184 quint8 z_36[64];
185 qint8 disc;
186 quint8 z_37[1];
187 quint8 intbombing;
188 quint8 z_38[3];
189 quint16 steps;
190 quint8 z_39[22];
191 quint8 field_help;
192 quint8 z_40[1];
193 quint8 chocobonames[6][6];
194 quint16 chocostaminas[6];
195 quint8 reg_vinny;
196 quint8 z_41[23];
197 quint8 location[24];
198 quint8 z_42[5];
199 quint8 tut_save;
200 quint8 z_43[14];
201 quint8 wonsubgame;
202 quint8 z_44[35];
203 quint32 l_world;
204 quint32 l_world2;
205 quint32 wc_world;
206 quint32 wc_world2;
207 quint32 tc_world;
208 quint32 tc_world2;
209 quint32 bh_world;
210 quint32 bh_world2;
211 quint32 sub_world;
212 quint32 sub_world2;
213 quint32 durw_world;
214 quint32 durw_world2;
215 quint16 pole1_x;
216 quint16 pole1_y;
217 quint16 pole2_x;
218 quint16 pole2_y;
219 quint16 pole3_x;
220 quint16 pole3_y;
221 quint8 z_45[236];
222 FF7CHOCOBO choco56[2];
223 quint16 phsallowed;
224 quint16 phsvisible;
225 quint8 z_46[48];
226 quint8 battlespeed;
227 quint8 battlemspeed;
228 quint16 options;
229 quint8 controller_map[16];
230 quint8 fieldmspeed;
231 quint8 z_47[8];
232});
233
235 /* FF7HEADFOOT FORMAT COMPATIBILITY (Vegeta_Ss4) v0.8.3*/
236struct FF7TK_EXPORT FF7HEADFOOT {
237 quint8 sl_header[0x0200]; // [0x0000] Slot Header
238 quint8 sl_footer[0x0D0C]; // [0x0000] Slot Footer
239});
240
241typedef QVector< QString > SubContainer;
242#endif // FF7SAVE_TYPES_H
QVector< QString > SubContainer
Definition: FF7Save_Types.h:241
#define PACK(structure)
Definition: FF7Save_Types.h:28
Character Info in the save game.
a chocobo in save game
Description of savegame used for previews.
Main FF7 Save Data Structure.
materia format saved in materia list or on a character