Starfield: name some of the currently-unknwon RACE fields#1244
Merged
Conversation
Only used 4 times in Starfield.esm: - Human -> Humans - Human Corpse -> Human Corpses - Mannequin -> Mannequins - MiniBotA -> minibota
The material-swap-containing structs toward the end of the record are only used with `MannequinRace`. The `MSSS` and `MSSI` subrecords are probably indices pertaining to the `LMSW` specified in `MSSA`, but any more specific info is likely hiding in the `LMSW`'s `REFL`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Identified Fields
SNAM - Plural Name
Only used 4 times in
Starfield.esm:HumanRace,ChildRace, andHumanCrowdRace)HumanCorpseRace)MannequinRace)MiniBotARace)Mannequin Skin Swaps
Only used by
MannequinRace, and only to specify apparent indices into (or flags on?)LMS_Mannequin_SkinSwapreferenced in theMSSA, hence the name.MSSSstands for ("Mannequin Skin Swap Skin"?) or what it is (maybe an index?)MSSIstands for "Mannequin Skin Swap Index"MSSAstands for ("Mannequin Skin Swap Assignment"?)Probably won't be able to glean much more from this one until
REFLs are more fully decoded.Open questions
Leaving these as notes for the next person to take a crack at deciphering these fields (that person may or may not be future me).
Lots of rambling; click to expand
DAT2
Flag: Unknown 46
All
RACEs inStarfield.esmhave it except for the following:SecurityCameraRaceBallisticTurretRaceLaserTurretRaceDoes Unknown 46 mean "not a turret"? Maybe something about being completely stationary?
Flag: Unknown 55
All
RACEs inStarfield.esmhave it except for the following:CritterRaceAutopilotRaceFloaterARaceModelTRaceSecurityCameraRaceBallisticTurretRaceLaserTurretRaceMannequinRaceMiniBotARaceFlyerARaceSwimmerARaceMantaARaceLarvaARaceParasiteARaceNot sure what the commonality here is.
Flag: Unknown 57
Only 3
RACEs have it:TerrormorphRaceParasiteARaceTerrormorphElderRaceProbably has something to do with Terrormorphs.
Flag: Unknown 58
Only
HopperARacehas it."Unknown"s
Offset 52
Always one of two values:
02 00 00 00(HumanRace,HumanCorpseRace,MannequinRace,ChildRace)FF FF FF FF(every otherRACE)Offset 56
Always one of three values:
00 00 00 00(HumanRace,ChildRace)01 00 00 00(HumanCrowdRace)FF FF FF FF(every otherRACE)Offset 60
Always one of two values:
HumanRace,HumanCorpseRace,ChildRace,HumanCrowdRace)RACE)Comment in
wbDefinitionsSF1mentions this "must have to do with unarmed weapon".Offset 76
Known values:
HumanCorpseRace,ModelTRace,BallisticTurretRace,LaserTurretRace,MannequinRace,TerrormorphRace,MantidARace,TerrormorphElderRace)ModelSRace)ModelARace,HopperARace,OctopedeARace,CritterRace,FloaterARace,CCT_DummyRace,MiniBotARace,BipedARace,FlyerARace,QuadrupedCRace,MantaARace,LarvaARace,ParasiteARace,HexapodARace,QuadrupedBRace)HumanRace,AutopilotRace,QuadrupedARace,ChildRace,HumanCrowdRace)SecurityCameraRace)Are these angles in degrees?
Offset 80
Always
00 00 00 00.Offset 84
Known values:
ModelARace,ModelSRace,MantaARace)TerrormorphElderRace)RACEs)Offset 88
Known values:
OctopedeARace,CritterRace,FloaterRace,ModelTRace,SecurityCameraRace,CCT_DummyRace,BallisticTurretRace,LaserTurretRace,MannequinRace,MiniBotARace,LarvaARace,ParasiteARace,HexapodARace)ModelARace,ModelSRace,TerrormorphRace,SwimmerARace,MantaARace,TerrormorphElderRace)HopperARace)HumanRace,AutopilotRace,HumanCorpseRace,FlyerARace,QuadrupedCRace,MantidARace,ChildRace,HumanCrowdRace)QuadrupedARace,QuadrupedBRace)BipedARace)Are these angles in degrees?
Offsets 92 through 116
Always
00 00 00 00.Offset 120
Known values:
SecurityCameraRace,BallisticTurretRace,LaserTurretRace,MannequinRace)RACEs)Offset 124
Always
00 00 00 00.Offset 128
Always
FF FF FF FFOffset 132
Always
00 00.Offset 134
Always
00 00 00 00.Offsets 138 and 139
Always
00.Offsets 160 through 180
Known values:
The following
RACEs have 0.0 for all values:ModelARace,ModelSRace,CritterRace,AutopilotRace,FloaterARace,SecurityCameraRace,BallisticTurretRace,LaserTurretRace,MannequinRace,MiniBotARace,FlyerARace,SwimmerARace,MantaARace,LarvaARace,ParasiteARaceAll other
RACEs have various values here that I'm too tired to document right now ;)Offsets 184 / 188
Known values:
00 00 00 0001 00 00 0002 00 00 0003 00 00 00These are probably integers or flags.
Struct at offset 192
Comment in
wbDefinitionsSF1mentions this is "Same asNPC_->ONA2- Unknown 7. No new findings on my end aside from the fact that one of the floats (at offset 209) is always 0.0.Skeleton Data
The "Unknown"
FLLDis always set toUnknown 0Movement Data Overrides
The only
RACEwith anything defined here isLarvaARace. A couple of the "unknown" values in there are approximately pi; all others are at 1.0 or below.Chargen and Skintones
The "unknown"
NNAMis set forHumanCrowdRace; male hasAB AB AB AB 00 00 00 00 00 00 00 00while female hasAB AB AB AB AB AB AB AB AB AB AB AB. I wonder if this has anything to do with crowd NPCs being clones of one another (once you remove the skinsuits they wear as inventory items)?