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,307
Trophies
3
XP
12,100
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
162
Trophies
0
Age
39
XP
591
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
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    @mthrnite, Cheetah Girls, the sequel to Action 52's Cheetah Men.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Pokemon Black I played that one a lot
  • K3Nv2 @ K3Nv2:
    Honestly never messed with Pokémon on ds much
  • mthrnite @ mthrnite:
    I played pokemon once, was bored, never tried again
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
    Veho @ Veho: +1