ROM Hack Xenoblade Chronicles 2 File Structure

RichardTheKing

Honestly XC2>XC3...
OP
Member
Joined
Mar 18, 2020
Messages
1,045
Trophies
1
Age
26
XP
3,203
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

RichardTheKing

Honestly XC2>XC3...
OP
Member
Joined
Mar 18, 2020
Messages
1,045
Trophies
1
Age
26
XP
3,203
Country
Australia
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.
 

RichardTheKing

Honestly XC2>XC3...
OP
Member
Joined
Mar 18, 2020
Messages
1,045
Trophies
1
Age
26
XP
3,203
Country
Australia
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?
 

FengTimo

New Member
Newbie
Joined
Jun 30, 2023
Messages
4
Trophies
0
Age
21
XP
32
Country
Russia
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...
 

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,275
Trophies
3
XP
12,038
Country
Poland
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.
 

edale

Well-Known Member
Member
Joined
Nov 28, 2020
Messages
161
Trophies
0
Age
39
XP
563
Country
United States
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

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://youtu.be/BkUi1uEdCmk