Recently, I've been looking for a way to reset a Blade's Affinity Chart progress, so I can go through New Game + as though it was a standard New Game, but with the NG+ additions available for extra content and convenience.
However, the game has a check in place to prevent lost Affinity Chart progress, which is known as "Achievement ID" - so just importing a 'blank' Affinity Chart file from an actual NG save doesn't work. If I try that, the Chart just refills upon next booting up the game and checking it in-game, thanks to the internal Achievements.
I've been looking through a NG+ save in the 010 Editor, using x43x61x69's binary template, and while I can find Pyra's Affinity Chart and each node's Achievement ID (struct SDataBlades Blades -> struct gf_SDataBlade Blade[0] -> struct gf_AchievInfo BArtsAchieve[3] -> struct gf_AchievInfo BArtsAchieve[0/1/2] -> struct gf_AchievQuest[5] -> struct gf_AchievQuest[0-4] -> short AchievementID), I cannot find where else it's stored.
There is one more reference to the search term "Achieve" in here, that being "struct FixedVector_TaskAchieve_128 Achievement Tasks", which contains the data XC2Bf2SaveNETThingy also calls Achievement Tasks on the first, Misc, tab. However, I have no idea what any of this does or means; editing it also has no effect on Affinity Chart progress. So this seems to be a bust.
The XC2Bf2SaveNETThingy editor also provides a link to this list of data tables, of which the most applicable tables seem to be this one about FLD_AchievementSets, and this one about a FLD_AchievementList. I don't know who compiled these tables, nor how they compiled them, so I don't know if this data is stored in the save file (bf2savefile.sav) or can be found in a RomFS dump.
Speaking of, I did dump the game's RomFS, except everything save the "movies" is in the .nop file format. I don't know how to open and examine these, either, nor where these tables come into play.
If anyone has any experience datamining games and can help me, I'd really appreciate it; I don't know how to continue from here.
However, the game has a check in place to prevent lost Affinity Chart progress, which is known as "Achievement ID" - so just importing a 'blank' Affinity Chart file from an actual NG save doesn't work. If I try that, the Chart just refills upon next booting up the game and checking it in-game, thanks to the internal Achievements.
I've been looking through a NG+ save in the 010 Editor, using x43x61x69's binary template, and while I can find Pyra's Affinity Chart and each node's Achievement ID (struct SDataBlades Blades -> struct gf_SDataBlade Blade[0] -> struct gf_AchievInfo BArtsAchieve[3] -> struct gf_AchievInfo BArtsAchieve[0/1/2] -> struct gf_AchievQuest[5] -> struct gf_AchievQuest[0-4] -> short AchievementID), I cannot find where else it's stored.
There is one more reference to the search term "Achieve" in here, that being "struct FixedVector_TaskAchieve_128 Achievement Tasks", which contains the data XC2Bf2SaveNETThingy also calls Achievement Tasks on the first, Misc, tab. However, I have no idea what any of this does or means; editing it also has no effect on Affinity Chart progress. So this seems to be a bust.
The XC2Bf2SaveNETThingy editor also provides a link to this list of data tables, of which the most applicable tables seem to be this one about FLD_AchievementSets, and this one about a FLD_AchievementList. I don't know who compiled these tables, nor how they compiled them, so I don't know if this data is stored in the save file (bf2savefile.sav) or can be found in a RomFS dump.
Speaking of, I did dump the game's RomFS, except everything save the "movies" is in the .nop file format. I don't know how to open and examine these, either, nor where these tables come into play.
If anyone has any experience datamining games and can help me, I'd really appreciate it; I don't know how to continue from here.