Closed Infernio closed 7 months ago
Initial branch is up at inf-667-starfield
. Search for TODO(SF)
to find all open questions.
The INI file the game made: Documents\My Games\Starfield\StarfieldPrefs.ini - This is also the only .ini file it made.
Location of load order is unknown - no plugins.txt file exists in AppData\Local
Default game language is most likely English but I thought this was largely determined by what region Steam and/or Windows is set to.
Starfield - Voices01.ba2 Starfield - Voices02.ba2 Starfield - VoicesPatch.ba2 Starfield - WwiseSounds01.ba2 Starfield - WwiseSounds02.ba2 Starfield - WwiseSounds03.ba2 Starfield - WwiseSounds04.ba2 Starfield - WwiseSounds05.ba2 Starfield - WwiseSoundsPatch.ba2 Starfield.esm BlueprintShips-Starfield - Localization.ba2 BlueprintShips-Starfield.esm Constellation - Localization.ba2 Constellation - Textures.ba2 Constellation.esm data.bin OldMars - Localization.ba2 OldMars - Textures.ba2 OldMars.esm Starfield - Animations.ba2 Starfield - DensityMaps.ba2 Starfield - FaceAnimation01.ba2 Starfield - FaceAnimation02.ba2 Starfield - FaceAnimation03.ba2 Starfield - FaceAnimation04.ba2 Starfield - FaceAnimationPatch.ba2 Starfield - FaceMeshes.ba2 Starfield - GeneratedTextures.ba2 Starfield - Interface.ba2 Starfield - Localization.ba2 Starfield - LODMeshes.ba2 Starfield - LODMeshesPatch.ba2 Starfield - LODTextures.ba2 Starfield - Materials.ba2 Starfield - Meshes01.ba2 Starfield - Meshes02.ba2 Starfield - MeshesPatch.ba2 Starfield - Misc.ba2 Starfield - Particles.ba2 Starfield - ParticlesTestData.ba2 Starfield - PlanetData.ba2 Starfield - Shaders.ba2 Starfield - ShadersBeta.ba2 Starfield - Terrain01.ba2 Starfield - Terrain02.ba2 Starfield - Terrain03.ba2 Starfield - Terrain04.ba2 Starfield - TerrainPatch.ba2 Starfield - Textures01.ba2 Starfield - Textures02.ba2 Starfield - Textures03.ba2 Starfield - Textures04.ba2 Starfield - Textures05.ba2 Starfield - Textures06.ba2 Starfield - Textures07.ba2 Starfield - Textures08.ba2 Starfield - Textures09.ba2 Starfield - Textures10.ba2 Starfield - Textures11.ba2 Starfield - TexturesPatch.ba2
"video" Folder (yes, it's an all lowecase folder name) in Data which contains:
PowerVision_VoidForm.bk2 ArtifactVision01.bk2 ArtifactVision02.bk2 ArtifactVision03.bk2 ArtifactVision04.bk2 ArtifactVision05.bk2 ArtifactVision06.bk2 ArtifactVision07.bk2 ArtifactVision08.bk2 ArtifactVision09.bk2 BGS_LOGO_1080p_BinkVersion.bk2 EndingVision.bk2 MainMenuLoop.bk2 PowerVision_Alien.bk2 PowerVision_AntiGravField.bk2 PowerVision_CreateVac.bk2 PowerVision_CreatorsPeace.bk2 PowerVision_Earthbound.bk2 PowerVision_Elemental.bk2 PowerVision_Eternal.bk2 PowerVision_GravDash.bk2 PowerVision_GravityWave.bk2 PowerVision_GravityWell.bk2 PowerVision_InnerDemon.bk2 PowerVision_LifeForced.bk2 PowerVision_MoonForm.bk2 PowerVision_ParallelSelf.bk2 PowerVision_ParticleBeam.bk2 PowerVision_PersonalAtmosphere.bk2 PowerVision_PhasedTime.bk2 PowerVision_Precognition.bk2 PowerVision_ReactiveShield.bk2 PowerVision_SenseStar.bk2 PowerVision_SolarFlare.bk2 PowerVision_SunlessSpace.bk2 PowerVision_Supernova.bk2
There is no Starfield.ccc file right now. Unsure of whether one will exist in future or not since Bethesda has not commented on any Creation Club support yet.
Forced loads for everyone:
Starfield.esm BlueprintShips-Starfield.esm
If present these are also being forced to load:
Constellation.esm OldMars.esm
Those last 2 .esm files are preorder and premium copy bonuses so not everyone is going to have them.
Starfield - Misc.ba2 contains all of the scripts, which would unpack into the usual Data\Scripts folder. They're definitely still Papyrus.
No source code is available yet, that won't drop until the CK does.
Extracted the Starfield.ico file - wasn't sure what size you wanted so I grabbed the biggest one that IconViewer would let me.
And the last bit of comment spam for now - the only registry entry actually relevant to the game I could find was in:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 1716740
Not sure what else you'd need from that, but it's the Steam information I assume you were talking about.
Thanks 👍
Is the right fixed order
Starfield.esm
BlueprintShips-Starfield.esm
Constellation.esm
OldMars.esm
?
There is no Starfield.ccc file right now. Unsure of whether one will exist in future or not since Bethesda has not commented on any Creation Club support yet.
The game does look for one.
- Valid BA2 versions seem to be
2
and3
, according to xEdit sources.
Where did whoever wrote this see version 3? I've only spotted 2 so far.
Cross-linking with loot/loot#1882 as I've already got answers to some of the OP's questions written there.
Is the right fixed order
Starfield.esm BlueprintShips-Starfield.esm Constellation.esm OldMars.esm
?
Nope, it's
Starfield.esm Constellation.esm OldMars.esm BlueprintShips-Starfield.esm
(I just figured that out in the last hour)
Also regarding game detection / Linux support, LOOT's got that now implemented using Steam's libraryfolders.vdf and appmanifest files - it was pretty straightforward, except that the app IDs listed in the libraryfolders.vdf is not necessarily up to date (installing doesn't always add it, uninstalling doesn't always remove it), so LOOT instead speculatively tries to open the app manifest files for all supported games in all configured library folders, otherwise you have to tell people to relaunch Steam before you'll see the games (adding or removing library folders also does the job).
Where did whoever wrote this see version 3? I've only spotted 2 so far.
xEdit has this: https://github.com/TES5Edit/TES5Edit/blob/c3f0246f3836888732273611e16754ba7c2e0c65/Core/wbBSArchive.pas#L510-L511
I don't know where the info comes from.
LOOT's got that now implemented using Steam's libraryfolders.vdf and appmanifest files
That is exactly what I'm planning too.
xEdit has this: https://github.com/TES5Edit/TES5Edit/blob/c3f0246f3836888732273611e16754ba7c2e0c65/Core/wbBSArchive.pas#L510-L511
I don't know where the info comes from.
Git blames @ElminsterAU, not sure if @'ing him will notify him but hopefully he'll be able to answer.
I just committed it. Code came from zilav, and initial information from the SkyrimSE RE discord. Works well enough they SF1View doesn't crash when loading the BSA. That's all I can say so far.
I had a look myself and all the Starfield - Textures*.ba2
files and Starfield - LODTextures.ba2
have a version of 3, the others are all version 2.
Are the plugin-name-specific dirs the same (i.e. does meshes/actors/character/facegendata/facegeom and meshes/actors/character/facecustomization have folders with plugin names in them)? Are there new ones?
Those 2 folders don't appear to exist. So no idea if or how they're handling facegen this time.
Does sound/voice/[plugin name]
still exist?
Yes, those files are in the 2 voice BA2 archives.
Are the plugin-name-specific dirs the same (i.e. do sound/voice, meshes/actors/character/facegendata/facegeom and meshes/actors/character/facecustomization have folders with plugin names in them)? Are there new ones? - sound/voice is still a thing, unsure about others.
Face meshes appear to be in
meshes\actors\character\facegendata\facegeom\starfield.esm
There are also face mesh files (.mesh extension) that are present.
Voice and animation files are a different format (no more fuz) but are in the same general dir structure. Same with Terrain and LOD.
I'll confirm textures once the texture BA2 format is conquered.
Interestingly, galaxy/star behaviors and biomes are stored as CSV data under data\space\
Face meshes appear to be in meshes\actors\character\facegendata\facegeom\starfield.esm
Which archive are those in? I didn't see them when I was looking.
Interestingly, galaxy/star behaviors and biomes are stored as CSV data under
data\space\
I'm quite sure these are not used. They are probably the data that at some point has been imported into Starfield.esm, but has been changed there since then.
inf-667-starfield
should be able to launch for Starfield now. I can't exactly test that, so some testing from people who have the game would be appreciated.
Force-pushed the branch. The latest commit on it implements the new Steam detection (and refactors a whole bunch), so Starfield should now get detected automatically without needing to pass -o
, edit bash.ini
, etc.
Central issue for tracking support. This is not about adding Bashed Patch support yet, just the basics for now (like FO4 before #482).
Needed Info
Starfield.ccc
? - noStarfield.ccc
yet, though the game does look for it.plugins.txt
, but it's bugged - the game doesn't create it but does read it, but it also can't even load third-party plugins right now..ba2
&GNRL
vsDX10
is still a thing, according to xEdit sources.2
and3
- general BA2s use version 2, texture BA2s use version 3.esl
files? - yes, but the flag is0x100
, not0x200
sound/voice
,meshes/actors/character/facegendata/facegeom
andmeshes/actors/character/facecustomization
have folders with plugin names in them)? Are there new ones? - there are three:meshes/actors/character/facegendata/facegeom
,sound/voice
andtextures/actors/character/facecustomization/starfield.esm
.Starfield.ini
? - Yup.en
? - Yup.My Games
folder? Is there even aMy Games
folder? - Yes, it has onlyStarfieldPrefs.ini
though.sResourceIndexFileList
,sResourceStartUpArchiveList
,sResourceArchiveList
,sResourceArchiveList2
andsResourceArchiveListBeta
? - latter two don't exist anymore, see https://stepmodifications.org/forum/topic/19019-starfield-default-values-for-all-known-valid-ini-settings/.psc
/.pex
)? What about the folder it's in (scripts
)?.sfs
, seen on many Nexus save uploads.BCPS
zlib-compressed container, save screenshots don't seem to exist anymore, but beyond that the header is similar. There are two unknown bytes after the master list that clearly belong to it (master list size stored in the save is e.g. 82, but we only get 80 bytes by reading regular + ESL masters) - maybe a new overlay plugin block?REFL
andBFCB
/BFCE
).0x001
instead of0x800
)? Does Next Object ID begin at0x001
? - Yes, it appears so.0.96
, according to xEdit sources.GetVATSValue
function with the same quirk as in earlier games? - Unknown, see above.TES4
record, does it work? - Yes.Later Stuff
My Games\Starfield\Data
that takes priority over the game's Data folder0x200
, what the ESL flag used to be) that makes plugins not take up a load order slot, but prevents them from adding new records. Would be really great for unlimited conflict resolution patches! But let's wait until we have confirmation how that works. -> new issue: #668SF1Edit
uses (guessingsf1View
).source/scripts
again.Links
REFL
data and terrain: https://github.com/gibbed/Gibbed.Starfield/tree/main/projects/Gibbed.Starfield.FileFormatsplugins.txt
Enabler: https://www.nexusmods.com/starfield/mods/4157