ROM Hack Xenoblade Chronicles 2 File Structure

  • Thread starter Thread starter RichardTheKing
  • Start date Start date
  • Views Views 8,206
  • Replies Replies 10
  • Likes Likes 1

RichardTheKing

Honestly XC2>XC3...
Member
Joined
Mar 18, 2020
Messages
1,045
Reaction score
2,824
Trophies
1
Age
28
XP
3,226
Country
Australia
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.
 
  • Like
Reactions: greatondeck
Last edited by masagrator,
https://gbatemp.net/threads/xenoblade-chronicles-2-graphics-settings.529436/

Download Xenoblade2set.zip, unpack it, run quickbms.exe, first choose .bms script included in folder, then choose bf2.arh from romfs dump, then choose output folder for files.

Idk how you have missed 10 GB bf2.ard file if you found only nop files.
I was looking in the "stream" folder, which has folders explicitly named "blade" and "event" (and whatever "cs" means) - thus I thought this was where the important stuff's located.
 
https://gbatemp.net/threads/xenoblade-chronicles-2-graphics-settings.529436/

Download Xenoblade2set.zip, unpack it, run quickbms.exe, first choose .bms script included in folder, then choose bf2.arh from romfs dump, then choose output folder for files.

Idk how you have missed 10 GB bf2.ard file if you found only nop files.
Okay, so I copied the bf2.ard file from my romFS dump and opened it with quickbms_4gb_files.exe, using Xenoblade2ard.bms as the BMS script.
However, it resulted in this:

signature of 4 bytes at offset 0x0000000000000000 doesn't match the one
expected by the script:
this one: "xbc1"
78 62 63 31 xbc1
expected: "arh1"
61 72 68 31 arh1
- 0 files found in 0 seconds
coverage file 0 0% 4 11026779714 . offset 0000000000000004
coverage file 1 0% 0 11026779714 . offset 0000000000000000

I...don't know what to do now. Help?
 
Okay, so I copied the bf2.ard file from my romFS dump and opened it with quickbms_4gb_files.exe, using Xenoblade2ard.bms as the BMS script.
However, it resulted in this:



I...don't know what to do now. Help?
I wrote bf2.ARH, not bf2.ARD. both files are needed, but you need to open ARH file.
 
  • Like
Reactions: RichardTheKing
Okay, so I copied the bf2.ard file from my romFS dump and opened it with quickbms_4gb_files.exe, using Xenoblade2ard.bms as the BMS script.
However, it resulted in this:



I...don't know what to do now. Help?
Hello, you have found a solution to this problem?I am facing the same problem as you...
 
Hello, you have found a solution to this problem?I am facing the same problem as you...
For years you can use DLCs titleid to put files without packing them to ard... Ofc this will work only with installed DLC that has romfs included like Japanese audio DLC.
 
Can you share common.data, no changes?
One completely unmodified copy of common.bdat:
https://mega.nz/file/DFhxwY4S#hbsC7raXMAqg-Bnp6yj-c5bcBAg2qDuMj6MLepso5jM

And here's a .bdat editor:
https://github.com/threethan/Xenoblade-Bdat/releases/

Once you've edited the .bdat to your liking, and want to insert it into the game, easiest way would be to grab this mod:
https://gamebanana.com/mods/501628

And replace the common.bdat in that with your modded one, before following the mod's directions to install it.
 

Site & Scene News

Popular threads in this forum