ABC
1
Hello! This is sort of a replacement/upgrade of my old ROMFS documentation, which was hosted on my website for a bit. It was sorta jank, so I moved it here. If I get something wrong (which I do), comments are enabled, so feel free to make changes. Glad to see other people want to explore and mod this game! (Note: This sheet is not finished, and is primarily focused on ripping/modding- If you'd like to see more in-depth details on game mechanics and info, see one of abarax's spreadsheets linked below.)
2
SPOILER WARNING: Please play the full game before continuing! Thanks
3
Resources/Thanks
4
This spreadsheet, Astral Extractor, Platinum Extractor, and AC2B/B2AC were created by Cabalex, using contributions from abarax, @Luca_BotW, @RTA_kure, and everyone else in the r/AstralChain and Astral Chain Speedrunning Discord servers. Astral Chain and its files are property of Platinum Games and Nintendo.
5
Platinum ExtractorA web-based extractor tool for editing files from various Platinum Games games, written in Svelte. Still a work in progress, so expect bugs and missing features for now.
6
Astral ExtractorA site I made back in 2021 to extract, view, and repack Astral Chain game files. It's a bit buggy now, but it still contains many crucial tools for messing around with the game romfs.
7
AC Quest EditorA rewrite of the quest editor from Astral Extractor that's much more stable and supports more features. You don't even have to have the files dumped to view the game's quests, so check it out if you're interested!
8
Astral Chain Enemy Appearances
Abarax's [insanely helpful] spreadsheet on where and how each enemy appears in the game.
9
Astral Chain v1 Datamine stuff
Abarax's other really helpful spreadsheet, documenting most of the CSV files in core/.
10
Astral Chain Damage Ratios
Another sheet from Abarax, documenting damage done from the player, legion, etc.
11
Astral Chain track order
A detailed spreadsheet by Kobob_KC documenting internal track names in the game.
12
ASTRAL CHAIN: A guide to superclimbA guide by muratyu_201 on how to perform the infamous Superclimb glitch effectively.
13
Bayonetta ToolsSome tools by Kerilk that had already reverse engineered a lot of the game's files (THANK YOU!!)
14
Modding NieR:Automata - A Complete Introduction
Useful NieR Automata guide which mostly also applies to AstralChain2Blender / Blender2AstralChain. Check out niermodding.com too!
15
Astral Chain Rom Hacking BibleMasagrator's initial thread about files in Astral Chain. Also has a 60 FPS mod lower in the thread, but it might be outdated.
16
Astral Chain Save EditingHylianLZ's thread about how some of the save data works.
17
Astral Chain package
Another thread by demonslayerx8 documenting some files.
18
Getting Started Modding
19
You'll need a homebrewed switch or a way to get the files, and you'll probably want an emulator too (for faster testing and 60 fps mod goodness). I only reccomend Yuzu for modding, as Ryujinx's method of LayeredFS mods makes Astral Chain significantly slower to mod. This is because Ryujinx only seems to detect .PKZ files as input for LayeredFS mods, whereas the Switch and Yuzu detect standalone .DAT/.DTT in the folders that matter (e.g. em/, pl/, quest/, etc).
20
For model modding, see AstralChain2Blender/Blender2AstralChain. For everything else, use the Astral Extractor. Then, you can create a LayeredFS mod, which basically a recreation of the folder structure of the game's RomFS, e.g. A mod replacing the Sword Legion would have the folder structure of <mod name>/romfs/em/, where em would contain em00a0.dat and em00a0.dtt.
21
Profit!
22
If something broke along the way or the game refused to load something: For models, try asking on the NieR Modding Discord server, as they can help with most of the issues you'll face (aside from textures). For the Astral Extractor, open an issue on its GitHub page.
23
Terminology
24
QUEST
Case or area data. Can hold enemy data, NPC data, run game tasks and logic, display subtitles, etc.
25
EVENT
Cutscene. Can be skippable or nonskippable; split into "cuts" that are each a set amount of frames long. Major events are in the event/ folder, where non-major events are held in each area's phX/ folder.
26
SubSeqSubtitle sequence (used in events / quests)
27
SUBSPACEAstral Plane.
28
ev0XXX/ev5XXX
Events starting with a 0 are for the male main character. Events starting with a 5 are for the female main character.
29
"xxx0"In Text/ only: Refers to a string of text not played during an event.
30
q0XXX
A quest for hidden or interactable things within an area, like golden slimes, shop vendors, and axe walls.
31
q1XXX
A quest that is responsible for a certain state of an area and the triggers that go alongside it, e.g. Zone 33 in File 01, File 02, File 07, File 08...
32
q2XXXA quest that represents a red case.
33
q3XXXA quest that represents a blue case.
34
q6XXXA quest that represents a red case in the Astral Plane.
35
qcXXX
A quest that is responsible for certain internal logic, and training areas.
36
pXXX numbers
You'll see these numbers all over the game; they're the IDs for the environments. Environment IDs reach as far as event names, config files, etc., and much of the game is based around them.
37
p000 / st0Debug environments no longer in the game :(
38
p100 / st1Zone 36 (Central City, Rayleigh Plaza, etc)Decimal 256
39
p200 / st2Zone 33 Harmony Square, internally "st_city"Decimal 512
40
p240Harmony Square Station / "Ark Transport"Decimal 576
41
p280The area loaded exclusively for Lappy's Balloon Bash.Decimal 640
42
p300 / st3Zone 09 Sector V, internally "st_roof"Decimal 768
43
p400 / st4Zone 32 Ark MallDecimal 1024
44
p500 / st5Ark Sewers / "Water Bureau"Decimal 1280
45
p600 / st6Restricted District ARIDecimal 1536
46
p700 / st7
An area no longer in the game, and only contains "carpark_0", "carpark_5", and "carpark_10".
Decimal 1792
47
p800 / st8Zone 09 Hal's Hideout, internally "st_alley"Decimal 2048
48
p840Zone 30 Maison ForestDecimal 2112
49
p900 / st9Zone 10 Police HQ, internally "st_policestation"Decimal 2302
50
p910HighwayDecimal 2320
51
p920Zone 10 Police HQ (Daytime)Decimal 2336
52
pa00 / staUnused Astral Plane model?Decimal 2560
53
pb01 / stb
Astral Plane. The second term (ssXX) is the part of the Astral Plane the game uses.
Decimal 2816
54
pf00 / stfSkyboxes.Decimal 3840
55
RomFS
56
root.pkzRoot PKZ that holds shader data.
57
ba/Dynamic/interactable props
58
bg/Background props
59
bh/Background props
60
bv/
Controller base vibration data (cutscene vibrations are controlled separately)
61
core/Core configuration files and data about the game.
62
effect/Effects, whether model, texture, or shader-based
63
em/Chimeras, aberrations, bosses, legions, etc.
64
es/Cutscene models and facial animations
65
et/Projectiles and model parts separate from their parent
66
event/Cutscenes.
67
font/Font used by the game (all sheets are the same font?)
68
it/Unused primitives for items (items aren't 3d anymore).
69
miscTex/Miscellaneous textures
70
movie/
High resolution [1600x900] videos, such as cutscenes and the title screen
71
mv/
Lower resolution [320x180] videos, such as in-game video and tutorials
72
ph1/Phase event data
73
ph2/
74
ph3/
75
ph4/
76
ph5/
77
ph6/
78
ph7/
79
ph8/
80
ph9/
81
pha/
82
phb/
83
phf/
84
pl/Player models and accessories
85
quest/Case data (see timeline)
86
sound/The game's main sound bank, with BGM and voice data
87
st1/Game environments.
88
st2/
89
st3/
90
st4/
91
st5/
92
st6/
93
st7/
94
st8/
95
st9/
96
sta/
97
stb/
98
stf/
99
Text/Game text data in PTD (.bin) format.
100
ui/UI elements and data.