V-Gears 0
Free Final Fantasy VII engine.
KernelDataInstaller.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 The V-Gears Team
3 *
4 * This file is part of V-Gears
5 *
6 * V-Gears is free software: you can redistribute it and/or modify it under
7 * terms of the GNU General Public License as published by the Free Software
8 * Foundation, version 3.0 (GPLv3) of the License.
9 *
10 * V-Gears is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#pragma once
17
18#include "common/BinGZipFile.h"
19#include "common/TypeDefine.h"
20#include "Characters.h"
21#include "SaveMap.h"
22
24
25 public:
26
32 KernelDataInstaller(std::string path);
33
38
42 void ReadPrices();
43
49 int ReadCommands();
50
56 void WriteCommands(std::string file_name);
57
63 int ReadAttacks();
64
70 void WriteAttacks(std::string file_name);
71
77 int ReadCharacters();
78
84 void WriteCharacters(std::string file_name);
85
89 void ReadGrowth();
90
96 void WriteGrowth(std::string file_name);
97
103 int ReadItems();
104
110 void WriteItems(std::string file_name);
111
117 int ReadWeapons();
118
124 void WriteWeapons(std::string file_name);
125
131 int ReadArmors();
132
138 void WriteArmors(std::string file_name);
139
145 int ReadAccessories();
146
152 void WriteAccessories(std::string file_name);
153
159 int ReadMateria();
160
166 void WriteMateria(std::string file_name);
167
173 int ReadKeyItems();
174
180 void WriteKeyItems(std::string file_name);
181
187 int ReadSummonNames();
188
194 void WriteSummonNames(std::string file_name);
195
199 void ReadInitialSaveMap();
200
206 void WriteInitialSaveMap(std::string file_name);
207
208 private:
209
211
216
221
226
231
236
241
246
251
256
261
266
271
276
281
286
291
296
301
306
311
316
321
326
331
336
341
346
347
348 };
349
351
355 FIRE = 0,
356
357
362
363
368
369
374
375
380
381
386
387
392
393
398
399
404
405
410
411
416
417
422
423
428
429
434
435
440
441
446 };
447
451 struct Target{
452
460
468
476
484
492
501
508
515 bool random;
516
517 };
518
523
528
533
538
542 RESTORE_NONE = 3
543 };
544
548 enum STATUS{
549
553 DEATH = 0,
554
559
564
569
574
579
584
589
594
599
604
609
614
619
624
629
634
639
644
651
656
661
666
671
676
681
686
691
696
701
706
711 };
712
717
722
726 CURE = 1,
727
734 TOGGLE = 2
735 };
736
741
745 NONE = 0,
746
750 MAGIC = 1,
751
756
760 ITEM = 3,
761
766
770 THROW = 5,
771
775 LIMIT = 6,
776
781
786
791
795 W_ITEM = 10,
796
800 COIN = 11,
801
802
803 };
804
806
810 std::vector<int> status;
811
816
821
822 };
823
832
837
844
849
856
863
869 int id;
870
876 std::string name;
877
883 std::string description;
884
891
897 std::string menu;
898
899 };
900
909
914
921
926
931
938
945
952
959
966
973
984
991
998
1003
1011
1019
1028
1033
1041
1047 int id;
1048
1054 std::string name;
1055
1061 std::string description;
1062
1069
1076
1083
1090
1097
1103 std::vector<int> elements;
1104
1105 };
1106
1114 struct ItemData{
1115
1120
1125
1132
1140
1147
1154
1165
1172
1179
1184
1192
1200
1209
1214
1222
1228 int id;
1229
1235 std::string name;
1236
1242 std::string description;
1243
1250
1257
1264
1271
1278
1285
1292
1299
1305 std::vector<int> elements;
1306
1307 };
1308
1313
1318
1326 SLOT_LINKED = 1
1328
1333
1338
1343 };
1344
1353
1360
1365
1376
1381
1388
1393
1398
1403
1408
1417
1422
1429
1436
1444
1449
1454
1461
1468
1475
1480
1485
1490
1497
1505
1513
1519 int id;
1520
1526 std::string name;
1527
1533 std::string description;
1534
1541
1548
1555
1562
1569
1576
1583
1590
1597
1603 std::vector<u8> equip;
1604
1610 std::vector<StatBonus> stat_bonus;
1611
1617 std::vector<u8> materia_slots;
1618
1624 std::vector<int> elements;
1625
1626 };
1627
1636
1641
1652
1657
1662
1667
1672
1677
1682
1689
1694
1702
1707
1712
1719
1726
1734
1739
1745 int id;
1746
1752 std::string name;
1753
1759 std::string description;
1760
1767
1774
1781
1787 std::vector<u8> equip;
1788
1794 std::vector<StatBonus> stat_bonus;
1795
1801 std::vector<u8> materia_slots;
1802
1808 std::vector<int> elements;
1809
1810 };
1811
1820
1827
1834
1845
1859
1866
1871
1879
1887
1893 int id;
1894
1900 std::string name;
1901
1907 std::string description;
1908
1915
1922
1929
1935 std::vector<u8> equip;
1936
1942 std::vector<StatBonus> stat_bonus;
1943
1949 std::vector<int> elements;
1950
1956 std::vector<int> status;
1957
1958 };
1959
1963 enum class MATERIA_TYPE{
1964
1968 MAGIC = 1,
1969
1973 SUPPORT,
1974
1978 COMMAND,
1979
1983 INDEPENDENT,
1984
1988 SUMMON
1989 };
1990
1997
2001 int str;
2002
2006 int vit;
2007
2011 int mag;
2012
2016 int spr;
2017
2021 int dex;
2022
2026 int lck;
2027
2031 int hp;
2032
2036 int mp;
2037
2042 };
2043
2052
2059
2064
2069
2074
2082
2089
2095 int id;
2096
2102 std::string name;
2103
2109 std::string description;
2110
2116 int type;
2117
2124
2131
2137 std::vector<int> status;
2138
2144 std::vector<int> command;
2145
2151 int attack[6];
2152
2159
2165 std::string ability;
2166
2174 };
2175
2183
2189 int id;
2190
2194 std::string name;
2195
2199 std::string description;
2200 };
2201
2208
2214 int id;
2215
2219 std::string name;
2220 };
2221
2231
2236
2241
2246
2251
2256
2261
2266
2271
2276
2281
2286
2291
2296
2301
2306
2311
2316
2321
2326
2331
2336
2341
2346
2351
2356
2361
2366
2371
2376
2381
2386
2391
2396
2401
2406
2411
2415 int id;
2416
2420 std::string name;
2421
2422 };
2423
2430
2435
2440
2445
2449 CURVE_EXP
2450
2452
2459
2463 int id;
2464
2469
2474
2479
2480 };
2481
2490
2495
2500
2505
2512 };
2513
2520 std::string GetBasicStatName(int id);
2521
2525 std::vector<CommandData> commands_;
2526
2530 std::vector<AttackData> attacks_;
2531
2535 std::vector<CharacterData> characters_;
2536
2538
2542 std::vector<ItemData> items_;
2543
2547 std::vector<WeaponData> weapons_;
2548
2552 std::vector<ArmorData> armors_;
2553
2557 std::vector<AccessoryData> accessories_;
2558
2562 std::vector<MateriaData> materia_;
2563
2567 std::vector<KeyItemData> key_items_;
2568
2572 std::vector<SummonNameData> summon_names_;
2573
2578
2583
2587 std::string exe_path_;
2588
2599
2603 std::string attack_names_[128];
2604
2608 std::string command_names_[128];
2609
2610};
Ogre::uint16 u16
Definition: TypeDefine.h:22
Ogre::uint32 u32
Definition: TypeDefine.h:23
Ogre::uint8 u8
Definition: TypeDefine.h:21
Handles GZip-compressed BIn files.
Definition: BinGZipFile.h:23
Definition: KernelDataInstaller.h:23
int ReadCommands()
Reads the command data from the kernel.
Definition: KernelDataInstaller.cpp:39
MATERIA_TYPE
Types of materia.
Definition: KernelDataInstaller.h:1963
int ReadWeapons()
Reads the weapon info from the kernel.
Definition: KernelDataInstaller.cpp:892
std::string exe_path_
Path to ff7.exe file.
Definition: KernelDataInstaller.h:2587
void ReadGrowth()
Reads growth data from the kernel.
Definition: KernelDataInstaller.cpp:581
void WriteMateria(std::string file_name)
Saves materia data to a Lua script.
Definition: KernelDataInstaller.cpp:1835
void WriteCharacters(std::string file_name)
Saves character data to a Lua script.
Definition: KernelDataInstaller.cpp:479
void WriteItems(std::string file_name)
Saves item data to a Lua script.
Definition: KernelDataInstaller.cpp:847
BinGZipFile kernel_
The kernel file.
Definition: KernelDataInstaller.h:2582
void ReadPrices()
Reads items and materia prices from the executable.
Definition: KernelDataInstaller.cpp:31
int ReadAttacks()
Reads the attack data from the kernel.
Definition: KernelDataInstaller.cpp:169
std::vector< WeaponData > weapons_
Weapons read from the kernel.
Definition: KernelDataInstaller.h:2547
COMMAND_MENU
Menus that must be shown when selecting a command.
Definition: KernelDataInstaller.h:740
@ ITEM
Show item menu.
Definition: KernelDataInstaller.h:760
@ E_SKILL
Show enemy skill menu.
Definition: KernelDataInstaller.h:765
@ LIMIT
Show limit menu.
Definition: KernelDataInstaller.h:775
@ W_MAGIC
Show W-Magic menu.
Definition: KernelDataInstaller.h:785
@ TARGET
No menu, skip to target selection.
Definition: KernelDataInstaller.h:780
@ COIN
Show Coin menu.
Definition: KernelDataInstaller.h:800
@ MAGIC
Show magic menu.
Definition: KernelDataInstaller.h:750
@ THROW
Show throw menu.
Definition: KernelDataInstaller.h:770
@ W_SUMMON
Show W-Summon menu.
Definition: KernelDataInstaller.h:790
@ NONE
No menu, execute command directly, without target selection.
Definition: KernelDataInstaller.h:745
@ W_ITEM
Show W-Item menu.
Definition: KernelDataInstaller.h:795
@ SUMMON
Show summon menu.
Definition: KernelDataInstaller.h:755
std::vector< ItemData > items_
Items read from the kernel.
Definition: KernelDataInstaller.h:2542
std::vector< SummonNameData > summon_names_
Summon names read from the kernel.
Definition: KernelDataInstaller.h:2572
std::string GetBasicStatName(int id)
Retrieves the 3-letter name of a basic stat from it's id.
Definition: KernelDataInstaller.cpp:2375
SLOT_TYPE
Materia slot types.
Definition: KernelDataInstaller.h:1312
@ SLOT_LINKED
A linked slot.
Definition: KernelDataInstaller.h:1326
@ SLOT_UNLINKED
A non linked slot.
Definition: KernelDataInstaller.h:1317
void WriteGrowth(std::string file_name)
Saves growth data to a Lua script.
Definition: KernelDataInstaller.cpp:602
~KernelDataInstaller()
Destructor.
Definition: KernelDataInstaller.cpp:29
ELEMENT
Definition: KernelDataInstaller.h:350
@ HOLY
Holy element.
Definition: KernelDataInstaller.h:403
@ FIRE
Fire element.
Definition: KernelDataInstaller.h:355
@ EARTH
Earth element.
Definition: KernelDataInstaller.h:373
@ SHOUT
Shout element.
Definition: KernelDataInstaller.h:439
@ WIND
Wind element.
Definition: KernelDataInstaller.h:397
@ CUT
Cut element.
Definition: KernelDataInstaller.h:415
@ SHOOT
Shoot element.
Definition: KernelDataInstaller.h:433
@ PUNCH
Punch element.
Definition: KernelDataInstaller.h:427
@ RESTORATIVE
Restorative element.
Definition: KernelDataInstaller.h:409
@ GRAVITY
Gravity element.
Definition: KernelDataInstaller.h:385
@ ICE
Ice element.
Definition: KernelDataInstaller.h:361
@ WATER
Water element.
Definition: KernelDataInstaller.h:391
@ HIDDEN
Hidden element.
Definition: KernelDataInstaller.h:445
@ POISON
Poison element.
Definition: KernelDataInstaller.h:379
@ HIT
Hit element.
Definition: KernelDataInstaller.h:421
@ BOLT
Bolt element.
Definition: KernelDataInstaller.h:367
int ReadMateria()
Reads materia info from the kernel.
Definition: KernelDataInstaller.cpp:1522
STATUS
List of altered status.
Definition: KernelDataInstaller.h:548
@ SADNESS
The character is sad.
Definition: KernelDataInstaller.h:573
@ DUAL
The character has dual status.
Definition: KernelDataInstaller.h:650
@ DEATH_FORCE
The character has deathforce.
Definition: KernelDataInstaller.h:695
@ BERSERK
The character is berserk.
Definition: KernelDataInstaller.h:670
@ SMALL
The character is small.
Definition: KernelDataInstaller.h:613
@ REGEN
The character is regenerating health.
Definition: KernelDataInstaller.h:628
@ PETRIFY
The character is petrified.
Definition: KernelDataInstaller.h:623
@ SLOW
The character is.
Definition: KernelDataInstaller.h:598
@ DUAL_DRAIN
The character has dual drain.
Definition: KernelDataInstaller.h:690
@ SLEEP
The character is asleep.
Definition: KernelDataInstaller.h:563
@ BARRIER
The character has a physical barrier.
Definition: KernelDataInstaller.h:633
@ SLOW_NUMB
The character is going to be petrified.
Definition: KernelDataInstaller.h:618
@ PARALYSIS
The character is paralyzed.
Definition: KernelDataInstaller.h:680
@ DARKNESS
The character is blinded.
Definition: KernelDataInstaller.h:685
@ FROG
The character is a frog.
Definition: KernelDataInstaller.h:608
@ STOP
The character is stopped.
Definition: KernelDataInstaller.h:603
@ PEERLESS
The character is invincible.
Definition: KernelDataInstaller.h:675
@ MANIPULATE
The character is being manipulated.
Definition: KernelDataInstaller.h:665
@ RESIST
The character has resist.
Definition: KernelDataInstaller.h:700
@ IMPRISONED
The character is imprisioned.
Definition: KernelDataInstaller.h:710
@ FURY
The character is furious.
Definition: KernelDataInstaller.h:578
@ CONFU
The character is confused.
Definition: KernelDataInstaller.h:583
@ M_BARRIER
The character has a magical barrier.
Definition: KernelDataInstaller.h:638
@ POISONED
The character is poisoned.
Definition: KernelDataInstaller.h:568
@ LUCKY_GIRL
Cait' Sith lucky girl mode.
Definition: KernelDataInstaller.h:705
@ REFLECT
The character reflects magical attacks.
Definition: KernelDataInstaller.h:643
@ SILENCE
The character is silenced.
Definition: KernelDataInstaller.h:588
@ HASTE
The character is slow.
Definition: KernelDataInstaller.h:593
@ NEAR_DEATH
The character has critical HP.
Definition: KernelDataInstaller.h:558
@ D_SENTENCE
The character has a death sentence.
Definition: KernelDataInstaller.h:660
@ SHIELD
The character has a shield.
Definition: KernelDataInstaller.h:655
@ DEATH
The character is dead.
Definition: KernelDataInstaller.h:553
u32 prices_[416]
Item and materia shop prices.
Definition: KernelDataInstaller.h:2598
void WriteAccessories(std::string file_name)
Saves accessory data to a Lua script.
Definition: KernelDataInstaller.cpp:1483
void WriteInitialSaveMap(std::string file_name)
Saves the initial savemap to a Lua script.
Definition: KernelDataInstaller.cpp:2269
void WriteWeapons(std::string file_name)
Saves weapon data to a Lua script.
Definition: KernelDataInstaller.cpp:1069
std::vector< CharacterData > characters_
Character info read from the kernel.
Definition: KernelDataInstaller.h:2535
KernelDataInstaller(std::string path)
Constructor.
Definition: KernelDataInstaller.cpp:24
void WriteKeyItems(std::string file_name)
Saves key item data to a Lua script.
Definition: KernelDataInstaller.cpp:2099
int ReadCharacters()
Reads character data from the kernel.
Definition: KernelDataInstaller.cpp:415
STAT_CURVE_TYPE
Types of stat curves.
Definition: KernelDataInstaller.h:2429
@ CURVE_EXP
Experience curve.
Definition: KernelDataInstaller.h:2449
@ CURVE_HP
HP curve.
Definition: KernelDataInstaller.h:2439
@ CURVE_MP
MP curve.
Definition: KernelDataInstaller.h:2444
@ CURVE_PRIMARY
Normal curve, used for primary stat.
Definition: KernelDataInstaller.h:2434
int ReadItems()
Reads the items from the kernel.
Definition: KernelDataInstaller.cpp:629
std::vector< AccessoryData > accessories_
Accessories read from the kernel.
Definition: KernelDataInstaller.h:2557
std::vector< ArmorData > armors_
Armors read from the kernel.
Definition: KernelDataInstaller.h:2552
GrowthData growth_
Definition: KernelDataInstaller.h:2537
std::vector< KeyItemData > key_items_
Key items read from the kernel.
Definition: KernelDataInstaller.h:2567
int ReadSummonNames()
Reads summon name info from the kernel.
Definition: KernelDataInstaller.cpp:2111
KERNEL_SECTIONS
Definition: KernelDataInstaller.h:210
@ KERNEL_ACCESSORY_NAMES
Accessory Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:325
@ KERNEL_MATERIA_DESCRIPTIONS
Materia descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:290
@ KERNEL_ARMOR_NAMES
Armor Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:320
@ KERNEL_COMMAND_NAMES
Command Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:300
@ KERNEL_ITEM_DATA
Item data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:235
@ KERNEL_ARMOR_DATA
Armor data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:245
@ KERNEL_WEAPON_NAMES
Weapon Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:315
@ KERNEL_ARMOR_DESCRIPTIONS
Armor descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:280
@ KERNEL_KEY_ITEM_NAMES
Key Item Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:335
@ KERNEL_MATERIA_NAMES
Materia Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:330
@ KERNEL_ATTACK_DESCRIPTIONS
Attack descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:265
@ KERNEL_COMMAND_DESCRIPTIONS
Command descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:260
@ KERNEL_INITIALIZATION_DATA
Initialization data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:230
@ KERNEL_BATTLE_AND_BATTLE_SCREEN_TEXT
Battle and Battle-Screen Text section in KERNEL.BIN.
Definition: KernelDataInstaller.h:340
@ KERNEL_ITEM_NAMES
Item Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:310
@ KERNEL_ATTACK_NAMES
Atack Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:305
@ KERNEL_SUMMON_ATTACK_NAMES
Summon Attack Names section in KERNEL.BIN.
Definition: KernelDataInstaller.h:345
@ KERNEL_COMMAND_DATA
Command data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:215
@ KERNEL_BATTLE_AND_GROWTH_DATA
Battle and growth data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:225
@ KERNEL_KEY_ITEM_DESCRIPTIONS
Key Item descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:295
@ KERNEL_ACCESSORY_DATA
Accessory data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:250
@ KERNEL_ITEM_DESCRIPTIONS
Item descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:270
@ KERNEL_WEAPON_DESCRIPTIONS
Weapon descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:275
@ KERNEL_ACCESSORY_DESCRIPTIONS
Accessory descriptions section in KERNEL.BIN.
Definition: KernelDataInstaller.h:285
@ KERNEL_ATTACK_DATA
Attack data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:220
@ KERNEL_WEAPON_DATA
Weapon data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:240
@ KERNEL_MATERIA_DATA
Materia data section in KERNEL.BIN.
Definition: KernelDataInstaller.h:255
std::string attack_names_[128]
Attack names, required for other sections.
Definition: KernelDataInstaller.h:2603
int ReadKeyItems()
Reads key item info from the kernel.
Definition: KernelDataInstaller.cpp:2027
STATUS_EFFECT
How a status effect modifier attack or item can act.
Definition: KernelDataInstaller.h:716
@ CURE
Cures status changes.
Definition: KernelDataInstaller.h:726
@ INFLICT
Inflicts status changes.
Definition: KernelDataInstaller.h:721
@ TOGGLE
Toggles status changes.
Definition: KernelDataInstaller.h:734
void WriteAttacks(std::string file_name)
Saves command data to a Lua script.
Definition: KernelDataInstaller.cpp:383
std::vector< MateriaData > materia_
Materia read from the kernel.
Definition: KernelDataInstaller.h:2562
void WriteCommands(std::string file_name)
Saves command data to a Lua script.
Definition: KernelDataInstaller.cpp:154
std::string command_names_[128]
Command names, required for other sections.
Definition: KernelDataInstaller.h:2608
RESTORE_TYPE
Determines what an item affects on when used from the menu.
Definition: KernelDataInstaller.h:522
@ RESTORE_NONE
The item is not restorative.
Definition: KernelDataInstaller.h:542
@ RESTORE_STATUS
The item affects a party member or group status.
Definition: KernelDataInstaller.h:537
@ RESTORE_HP
The item affects a party member or group HP.
Definition: KernelDataInstaller.h:527
@ RESTORE_MP
The item affects a party member or group MP.
Definition: KernelDataInstaller.h:532
std::vector< AttackData > attacks_
Attacks read from the kernel.
Definition: KernelDataInstaller.h:2530
int ReadArmors()
Reads the armor info from the kernel.
Definition: KernelDataInstaller.cpp:1121
SaveMap savemap_
The initial savemap structure.
Definition: KernelDataInstaller.h:2577
void WriteSummonNames(std::string file_name)
Saves summon names data to a Lua script.
Definition: KernelDataInstaller.cpp:2150
int ReadAccessories()
Reads the accessory info from the kernel.
Definition: KernelDataInstaller.cpp:1320
void WriteArmors(std::string file_name)
Saves armor data to a Lua script.
Definition: KernelDataInstaller.cpp:1273
void ReadInitialSaveMap()
Reads the initial savemap from the kernel.
Definition: KernelDataInstaller.cpp:2159
std::vector< CommandData > commands_
Items read from the kernel.
Definition: KernelDataInstaller.h:2525
Data for each accessory.
Definition: KernelDataInstaller.h:1819
u16 restrict_raw
Weapon restrictions.
Definition: KernelDataInstaller.h:1886
bool useable_battle
Indicates if the accessory can be used in battle.
Definition: KernelDataInstaller.h:1921
int id
Accessory ID.
Definition: KernelDataInstaller.h:1893
std::vector< u8 > equip
The weapon battle model index.
Definition: KernelDataInstaller.h:1935
u16 equip_raw
Characters that can equip the armor.
Definition: KernelDataInstaller.h:1878
bool sellable
Indicates if the accessory can be sold.
Definition: KernelDataInstaller.h:1914
std::vector< int > status
Statuses the accessory protects against.
Definition: KernelDataInstaller.h:1956
u8 stat_bonus_raw[2]
The amount the raised stats are raised by.
Definition: KernelDataInstaller.h:1833
u8 effect
The special status effect the accesory induces.
Definition: KernelDataInstaller.h:1858
u16 element_raw
Elements the armor protects against.
Definition: KernelDataInstaller.h:1865
std::vector< StatBonus > stat_bonus
Bonus in stats.
Definition: KernelDataInstaller.h:1942
u32 status_raw
The status effect the armor protects against.
Definition: KernelDataInstaller.h:1870
bool useable_menu
Indicates if the accessory can be used in the menu.
Definition: KernelDataInstaller.h:1928
std::string description
Accessory description.
Definition: KernelDataInstaller.h:1907
std::string name
Accessory name.
Definition: KernelDataInstaller.h:1900
std::vector< int > elements
Elements of the accesory.
Definition: KernelDataInstaller.h:1949
u8 element_defense_mode
Elemental resistance mode.
Definition: KernelDataInstaller.h:1844
u8 stat_raw[2]
Stat the weapon raises.
Definition: KernelDataInstaller.h:1826
Data for each armor.
Definition: KernelDataInstaller.h:1635
bool useable_battle
Indicates if the armor can be used in battle.
Definition: KernelDataInstaller.h:1773
u8 evasion
Evasion stat.
Definition: KernelDataInstaller.h:1666
u8 slots_raw[8]
Materia slots.
Definition: KernelDataInstaller.h:1688
u8 status
The status effect the armor protects against.
Definition: KernelDataInstaller.h:1676
std::vector< u8 > equip
The weapon battle model index.
Definition: KernelDataInstaller.h:1787
std::vector< int > elements
Elements of the weapon.
Definition: KernelDataInstaller.h:1808
std::vector< StatBonus > stat_bonus
Bonus in stats.
Definition: KernelDataInstaller.h:1794
u16 unknown_1
Unknown (Always 0XFFFF).
Definition: KernelDataInstaller.h:1681
u8 element_defense_mode
Elemental resistance mode.
Definition: KernelDataInstaller.h:1651
std::string description
Armor description.
Definition: KernelDataInstaller.h:1759
u16 unknown_3
Unknown (Always 0XFFFF).
Definition: KernelDataInstaller.h:1738
int id
Armor ID.
Definition: KernelDataInstaller.h:1745
u8 stat_raw[4]
Stat the weapon raises.
Definition: KernelDataInstaller.h:1718
u16 element_raw
Elements the armor protects agains.
Definition: KernelDataInstaller.h:1706
u8 m_defense
Magic defense stat.
Definition: KernelDataInstaller.h:1661
u8 m_evasion
Magic evasion stat.
Definition: KernelDataInstaller.h:1671
u16 restrict_raw
Weapon restrictions.
Definition: KernelDataInstaller.h:1733
std::vector< u8 > materia_slots
Materia slots.
Definition: KernelDataInstaller.h:1801
u8 defense
Defense stat.
Definition: KernelDataInstaller.h:1656
u16 equip_raw
Characters that can equip the armor.
Definition: KernelDataInstaller.h:1701
u8 stat_bonus_raw[4]
The amount the raised stats are raised by.
Definition: KernelDataInstaller.h:1725
bool useable_menu
Indicates if the armor can be used in the menu.
Definition: KernelDataInstaller.h:1780
u8 growth
Armor materia growth multiplier.
Definition: KernelDataInstaller.h:1693
std::string name
Armor name.
Definition: KernelDataInstaller.h:1752
u16 unknown_2
Unknown (Always 0XFF).
Definition: KernelDataInstaller.h:1711
u8 unknown_0
Unknown (Always 0XFF).
Definition: KernelDataInstaller.h:1640
bool sellable
Indicates if the armor can be sold.
Definition: KernelDataInstaller.h:1766
Data for each attack.
Definition: KernelDataInstaller.h:908
u8 hurt_anim
Index of the animation played by the target when hit.
Definition: KernelDataInstaller.h:925
u8 damage_modifier
The damage modifier.
Definition: KernelDataInstaller.h:1082
u8 additional_effects_mod_raw
Special flags.
Definition: KernelDataInstaller.h:1018
u8 damage_formula
The damage formula.
Definition: KernelDataInstaller.h:1075
u8 effect
Atack effect ID.
Definition: KernelDataInstaller.h:972
u16 camera_single
Camera movement ID for single target.
Definition: KernelDataInstaller.h:951
u8 accuracy
Probability of the attack to land.
Definition: KernelDataInstaller.h:913
u16 camera_multiple
Camera movement ID for multiple target.
Definition: KernelDataInstaller.h:958
u16 element_raw
Information about the item elements.
Definition: KernelDataInstaller.h:1032
u8 impact_effect
Impact effect.
Definition: KernelDataInstaller.h:920
u8 status_change_raw
Information about status change mode and chance.
Definition: KernelDataInstaller.h:1002
int id
Attack ID.
Definition: KernelDataInstaller.h:1047
u8 additional_effects_raw
Special flags.
Definition: KernelDataInstaller.h:1010
std::string name
Attack name.
Definition: KernelDataInstaller.h:1054
RESTORE_TYPE restore_type
What the attack restores when used.
Definition: KernelDataInstaller.h:1089
u8 damage_raw
Damage formula.
Definition: KernelDataInstaller.h:983
u16 mp
MP cost.
Definition: KernelDataInstaller.h:937
u8 target_raw
Targeting mode.
Definition: KernelDataInstaller.h:965
StatusEffect status
Status effects.
Definition: KernelDataInstaller.h:1096
Target target
Target selection mode.
Definition: KernelDataInstaller.h:1068
u16 sound
Impact sound.
Definition: KernelDataInstaller.h:944
std::string description
Attack description.
Definition: KernelDataInstaller.h:1061
u8 unknown
Unknown data.
Definition: KernelDataInstaller.h:930
u8 condition_raw
The restore type.
Definition: KernelDataInstaller.h:997
std::vector< int > elements
Elements of the attack.
Definition: KernelDataInstaller.h:1103
u32 status_raw
Information about what status can be inflicted or cured.
Definition: KernelDataInstaller.h:1027
u8 power
The attack power.
Definition: KernelDataInstaller.h:990
u16 special_raw
Special flags.
Definition: KernelDataInstaller.h:1040
Character data.
Definition: KernelDataInstaller.h:2230
u8 curve_str
Strength stat growth curve.
Definition: KernelDataInstaller.h:2235
u32 limit_3_div
HP divisor for limit level 3.
Definition: KernelDataInstaller.h:2405
u8 curve_mag
Magic stat growth curve.
Definition: KernelDataInstaller.h:2245
std::string name
Character default name.
Definition: KernelDataInstaller.h:2420
u16 limit_3_2_uses
Kills required to unlock limit 3-2.
Definition: KernelDataInstaller.h:2385
u16 limit_3_kills
Kills required to unlock limit level 3.
Definition: KernelDataInstaller.h:2360
u16 limit_2_3_uses
Kills required to unlock limit 2-3.
Definition: KernelDataInstaller.h:2380
u16 limit_1_2_uses
Kills required to unlock limit 1-2.
Definition: KernelDataInstaller.h:2365
u32 limit_2_div
HP divisor for limit level 2.
Definition: KernelDataInstaller.h:2400
u8 limit_4_2
4-2 limit slot command.
Definition: KernelDataInstaller.h:2345
u8 limit_4_1
4-1 limit slot command.
Definition: KernelDataInstaller.h:2340
u8 curve_hp
HP stat growth curve.
Definition: KernelDataInstaller.h:2265
u8 unused_0
Ignored data.
Definition: KernelDataInstaller.h:2280
u8 limit_3_2
3-2 limit slot command.
Definition: KernelDataInstaller.h:2330
u32 limit_4_div
HP divisor for limit level 4.
Definition: KernelDataInstaller.h:2410
u8 limit_4_3
4-3 limit slot command.
Definition: KernelDataInstaller.h:2350
u8 curve_spr
Spirit stat growth curve.
Definition: KernelDataInstaller.h:2250
u8 curve_exp
Experience-for-next-level growth curve.
Definition: KernelDataInstaller.h:2275
u8 curve_lck
Luck stat growth curve.
Definition: KernelDataInstaller.h:2260
u8 initial_level
Starting level.
Definition: KernelDataInstaller.h:2285
u8 limit_3_3
3-3 limit slot command.
Definition: KernelDataInstaller.h:2335
u32 limit_1_div
HP divisor for limit level 1.
Definition: KernelDataInstaller.h:2395
u8 limit_1_1
1-1 limit slot command.
Definition: KernelDataInstaller.h:2295
u8 curve_dex
Dexterity stat growth curve.
Definition: KernelDataInstaller.h:2255
u8 curve_vit
Vitality stat growth curve.
Definition: KernelDataInstaller.h:2240
u16 limit_1_3_uses
Kills required to unlock limit 1-3.
Definition: KernelDataInstaller.h:2370
u8 limit_2_2
2-2 limit slot command.
Definition: KernelDataInstaller.h:2315
u8 limit_2_1
2-1 limit slot command.
Definition: KernelDataInstaller.h:2310
u16 limit_2_2_uses
Kills required to unlock limit 2-2.
Definition: KernelDataInstaller.h:2375
u8 limit_2_3
2-3 limit slot command.
Definition: KernelDataInstaller.h:2320
u8 curve_mp
MP stat growth curve.
Definition: KernelDataInstaller.h:2270
u8 unused_1
Ignored data.
Definition: KernelDataInstaller.h:2290
u8 limit_3_1
3-1 limit slot command.
Definition: KernelDataInstaller.h:2325
u16 limit_3_3_uses
Kills required to unlock limit 3-3.
Definition: KernelDataInstaller.h:2390
u8 limit_1_3
1-3 limit slot command.
Definition: KernelDataInstaller.h:2305
u8 limit_1_2
1-2 limit slot command.
Definition: KernelDataInstaller.h:2300
int id
Character ID.
Definition: KernelDataInstaller.h:2415
u16 limit_2_kills
Kills required to unlock limit level 2.
Definition: KernelDataInstaller.h:2355
Data for each command.
Definition: KernelDataInstaller.h:831
u8 target_raw
Targeting mode.
Definition: KernelDataInstaller.h:843
u8 cursor_action
Cursor action when the command is selected.
Definition: KernelDataInstaller.h:836
int id
Command ID.
Definition: KernelDataInstaller.h:869
std::string menu
Menu name.
Definition: KernelDataInstaller.h:897
u16 camera_multiple
Camera movement ID for multiple target.
Definition: KernelDataInstaller.h:862
std::string name
Command name.
Definition: KernelDataInstaller.h:876
u16 unknown
Unknown data (Always 0XFFFF).
Definition: KernelDataInstaller.h:848
u16 camera_single
Camera movement ID for single target.
Definition: KernelDataInstaller.h:855
std::string description
Command description.
Definition: KernelDataInstaller.h:883
Target target
Target selection mode.
Definition: KernelDataInstaller.h:890
Battle data.
Definition: KernelDataInstaller.h:2489
u8 bonus_hp[12]
Random bonus to HP stat, 12 entries of 1 byte.
Definition: KernelDataInstaller.h:2499
u8 bonus_stat[12]
Random bonus to primary stats, 12 entries of 1 byte.
Definition: KernelDataInstaller.h:2494
StatCurve curves[64]
Stat curves.
Definition: KernelDataInstaller.h:2511
u8 bonus_mp[12]
Random bonus to MP stat, 12 entries of 1 byte.
Definition: KernelDataInstaller.h:2504
Data for each items.
Definition: KernelDataInstaller.h:1114
u8 damage_formula
The damage formula.
Definition: KernelDataInstaller.h:1277
u8 power
The item power.
Definition: KernelDataInstaller.h:1171
bool useable_battle
Indicates if the item can be used in battle.
Definition: KernelDataInstaller.h:1256
bool useable_menu
Indicates if the item can be used in the menu.
Definition: KernelDataInstaller.h:1263
std::string name
Item name.
Definition: KernelDataInstaller.h:1235
u32 unknown_0
Unknown data (Always 0XFFFF).
Definition: KernelDataInstaller.h:1119
u16 restrict_raw
Item restrictions.
Definition: KernelDataInstaller.h:1139
RESTORE_TYPE restore_type
What the item restores when used.
Definition: KernelDataInstaller.h:1291
u32 unknown_1
Unknown data (Always 0XFFFF).
Definition: KernelDataInstaller.h:1124
u8 additional_effects_raw
Special flags.
Definition: KernelDataInstaller.h:1191
Target target
Target selection mode.
Definition: KernelDataInstaller.h:1270
u32 status_raw
Information about what status can be inflicted or cured.
Definition: KernelDataInstaller.h:1208
u8 damage_modifier
The damage modifier.
Definition: KernelDataInstaller.h:1284
u8 target_raw
Targeting mode.
Definition: KernelDataInstaller.h:1146
u16 element_raw
Information about the item elements.
Definition: KernelDataInstaller.h:1213
u8 damage_raw
Damage formula.
Definition: KernelDataInstaller.h:1164
std::string description
Item description.
Definition: KernelDataInstaller.h:1242
std::vector< int > elements
Elements of the item.
Definition: KernelDataInstaller.h:1305
u16 special_raw
Special flags.
Definition: KernelDataInstaller.h:1221
int id
Item ID.
Definition: KernelDataInstaller.h:1228
u8 condition_raw
The restore type.
Definition: KernelDataInstaller.h:1178
u8 effect
Item effect ID.
Definition: KernelDataInstaller.h:1153
u8 status_change_raw
Information about status change mode and chance.
Definition: KernelDataInstaller.h:1183
StatusEffect status
Status effects.
Definition: KernelDataInstaller.h:1298
u16 camera
Camera movement ID.
Definition: KernelDataInstaller.h:1131
u8 additional_effects_mod_raw
Special flags.
Definition: KernelDataInstaller.h:1199
bool sellable
Indicates if the item can be sold.
Definition: KernelDataInstaller.h:1249
Data for each key item.
Definition: KernelDataInstaller.h:2182
int id
Key item ID.
Definition: KernelDataInstaller.h:2189
std::string name
Key item name.
Definition: KernelDataInstaller.h:2194
std::string description
Key item description.
Definition: KernelDataInstaller.h:2199
Data for each materia.
Definition: KernelDataInstaller.h:2051
std::string description
Accessory description.
Definition: KernelDataInstaller.h:2109
std::string name
Accessory name.
Definition: KernelDataInstaller.h:2102
std::string ability
Ability confered by the materia.
Definition: KernelDataInstaller.h:2165
int id
Accessory ID.
Definition: KernelDataInstaller.h:2095
u16 level_up_ap[4]
AP amounts at which the materia levels up.
Definition: KernelDataInstaller.h:2058
int attack[6]
Attacks the materia enables in battle, at each level.
Definition: KernelDataInstaller.h:2151
std::vector< int > status
Statuses the materia inflicts.
Definition: KernelDataInstaller.h:2137
MateriaStatBonus stats
Stat bonuses for equipping the materia.
Definition: KernelDataInstaller.h:2130
int sub_type
Materia type.
Definition: KernelDataInstaller.h:2123
u8 stat_raw
Index of stat modifier.
Definition: KernelDataInstaller.h:2063
u8 element
Materia element.
Definition: KernelDataInstaller.h:2073
u32 status_raw
Status effects.
Definition: KernelDataInstaller.h:2068
int type
Materia type.
Definition: KernelDataInstaller.h:2116
int attack_times[6]
Number of times per battle an attack can be used, per level.
Definition: KernelDataInstaller.h:2158
u8 attribute[6]
Materia attributes.
Definition: KernelDataInstaller.h:2088
std::vector< int > command
Commands the materia enables in battle.
Definition: KernelDataInstaller.h:2144
u8 type_raw
Materia type.
Definition: KernelDataInstaller.h:2081
int ability_parameters[5]
Parameter for the ability, varies per level.
Definition: KernelDataInstaller.h:2173
Stat bonuses given by equipping materia.
Definition: KernelDataInstaller.h:1996
int mag
Magic bonus.
Definition: KernelDataInstaller.h:2011
bool change
Indicates if at least one of the stats is changed by the materia.
Definition: KernelDataInstaller.h:2041
int hp
Max HP bonus.
Definition: KernelDataInstaller.h:2031
int vit
Vitality bonus.
Definition: KernelDataInstaller.h:2006
int spr
Spirit bonus.
Definition: KernelDataInstaller.h:2016
int dex
Dexterity bonus.
Definition: KernelDataInstaller.h:2021
int mp
Max MP bonus.
Definition: KernelDataInstaller.h:2036
int str
Strength bonus.
Definition: KernelDataInstaller.h:2001
int lck
Luck bonus.
Definition: KernelDataInstaller.h:2026
Bonus in stat givven by weapons or armor.
Definition: KernelDataInstaller.h:1332
u8 bonus
Stat value raise.
Definition: KernelDataInstaller.h:1342
u8 stat
ID of the raised stat.
Definition: KernelDataInstaller.h:1337
Stat curve.
Definition: KernelDataInstaller.h:2458
int id
Curve ID.
Definition: KernelDataInstaller.h:2463
u8 base[8]
Curve bases.
Definition: KernelDataInstaller.h:2478
STAT_CURVE_TYPE type
Type of curve.
Definition: KernelDataInstaller.h:2468
u8 gradient[8]
Curve gradients.
Definition: KernelDataInstaller.h:2473
Definition: KernelDataInstaller.h:805
u16 chance
The chance of landing a status effect (out of 63).
Definition: KernelDataInstaller.h:815
STATUS_EFFECT mode
The status change mode.
Definition: KernelDataInstaller.h:820
std::vector< int > status
The list of status to inflict or cure.
Definition: KernelDataInstaller.h:810
List of summon names.
Definition: KernelDataInstaller.h:2207
std::string name
Summon name.
Definition: KernelDataInstaller.h:2219
int id
Summon ID.
Definition: KernelDataInstaller.h:2214
List of target selection options.
Definition: KernelDataInstaller.h:451
bool short_range
The command is short ranged.
Definition: KernelDataInstaller.h:500
bool toggle_multiple
The selection can change between groups and individuals.
Definition: KernelDataInstaller.h:483
bool all_rows
Targets all, enemies and allies.
Definition: KernelDataInstaller.h:507
bool random
The target is random.
Definition: KernelDataInstaller.h:515
bool selection_enabled
The target can be selected.
Definition: KernelDataInstaller.h:459
bool default_enemy
The default target is an enemy.
Definition: KernelDataInstaller.h:467
bool default_multiple
The default target is a group.
Definition: KernelDataInstaller.h:475
bool fixed_row
The target group can be changed.
Definition: KernelDataInstaller.h:491
Data for each weapon.
Definition: KernelDataInstaller.h:1352
u8 status
The status effect the weapon induces.
Definition: KernelDataInstaller.h:1392
u8 growth
Weapon materia growth multiplier.
Definition: KernelDataInstaller.h:1397
int id
Weapon ID.
Definition: KernelDataInstaller.h:1519
u8 unused_0
Effect ID, unused (Always 0XFF).
Definition: KernelDataInstaller.h:1364
u8 stat_raw[4]
Stat the weapon raises.
Definition: KernelDataInstaller.h:1460
std::string description
Weapon description.
Definition: KernelDataInstaller.h:1533
u8 unused_3
Unused data (Always 0XFFFF).
Definition: KernelDataInstaller.h:1453
u8 unused_2
Unused data (Always 0XFF).
Definition: KernelDataInstaller.h:1421
u8 unused_1
Unused data (Always 0XFF).
Definition: KernelDataInstaller.h:1380
u16 special_raw
Special flags.
Definition: KernelDataInstaller.h:1504
u8 animation_index
Attack animation ID.
Definition: KernelDataInstaller.h:1589
u8 sound
Sound effect id for normal hit.
Definition: KernelDataInstaller.h:1479
bool throwable
Indicates if the weapon can be sold.
Definition: KernelDataInstaller.h:1561
u8 damage_raw
Damage formula.
Definition: KernelDataInstaller.h:1375
std::vector< u8 > materia_slots
Materia slots.
Definition: KernelDataInstaller.h:1617
u8 sound_critical
Sound effect id for critical hit.
Definition: KernelDataInstaller.h:1484
bool useable_menu
Indicates if the weapon can be used in the menu.
Definition: KernelDataInstaller.h:1554
u8 model_raw
Weapon battle model.
Definition: KernelDataInstaller.h:1416
std::vector< StatBonus > stat_bonus
Bonus in stats.
Definition: KernelDataInstaller.h:1610
u8 high_sound
Consider it unused.
Definition: KernelDataInstaller.h:1428
u8 model
Weapon model ID.
Definition: KernelDataInstaller.h:1596
u8 sound_miss
Sound effect id for miss hit.
Definition: KernelDataInstaller.h:1489
std::vector< int > elements
Elements of the weapon.
Definition: KernelDataInstaller.h:1624
bool useable_battle
Indicates if the weapon can be used in battle.
Definition: KernelDataInstaller.h:1547
u8 damage_formula
The damage formula.
Definition: KernelDataInstaller.h:1575
u16 restrict_raw
Weapon restrictions.
Definition: KernelDataInstaller.h:1512
Target target
Target selection mode.
Definition: KernelDataInstaller.h:1568
std::string name
Weapon name.
Definition: KernelDataInstaller.h:1526
u8 power
The weapon power.
Definition: KernelDataInstaller.h:1387
u16 element_raw
Weapon element ids.
Definition: KernelDataInstaller.h:1448
bool sellable
Indicates if the weapon can be sold.
Definition: KernelDataInstaller.h:1540
u8 critical
Weapon critical chance.
Definition: KernelDataInstaller.h:1402
u8 target_raw
Targeting mode.
Definition: KernelDataInstaller.h:1359
u8 stat_bonus_raw[4]
The amount the raised stats are raised by.
Definition: KernelDataInstaller.h:1467
u16 camera
Camera movement ID.
Definition: KernelDataInstaller.h:1435
u8 accuracy
Weapon accuracy.
Definition: KernelDataInstaller.h:1407
u16 equip_raw
Characters that can equip the weapon.
Definition: KernelDataInstaller.h:1443
u8 damage_modifier
The damage modifier.
Definition: KernelDataInstaller.h:1582
std::vector< u8 > equip
The weapon battle model index.
Definition: KernelDataInstaller.h:1603
u8 effect
Impcat effect ID.
Definition: KernelDataInstaller.h:1496
u8 slots_raw[8]
Materia slots.
Definition: KernelDataInstaller.h:1474
The structure of a savemap.
Definition: SaveMap.h:23