Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
project:sc2inspector [2011/12/31 10:21] – [Resources] smark | project:sc2inspector [2012/01/02 12:32] – [Project Log] smark | ||
---|---|---|---|
Line 86: | Line 86: | ||
|--- 12 (NumberInVLF) - Unknown | |--- 12 (NumberInVLF) - Unknown | ||
`--- 13 (NumberInVLF) - Unknown</ | `--- 13 (NumberInVLF) - Unknown</ | ||
+ | |||
+ | ==== replay.attributes.events Sample Data ==== | ||
+ | |||
+ | | < | ||
+ | 0x1 - Part | ||
+ | 0x2 - Part | ||
+ | 0x01F4 | ||
+ | 0x1 - Humn | ||
+ | 0x2 - Humn | ||
+ | 0x0BB9 | ||
+ | 0x1 - Zerg | ||
+ | 0x2 - Terr | ||
+ | 0x07DC | ||
+ | 0x1 - T3 | ||
+ | 0x2 - T1 | ||
+ | 0x07E2 | ||
+ | 0x1 - T3 | ||
+ | 0x2 - T4 </ | ||
+ | 0x1 - T1 | ||
+ | 0x2 - T2 | ||
+ | 0x0BBB | ||
+ | 0x1 - 100 | ||
+ | 0x2 - 100 | ||
+ | 0x07D6 | ||
+ | 0x1 - T3 | ||
+ | 0x2 - T4 | ||
+ | 0x07D2 | ||
+ | 0x1 - T2 | ||
+ | 0x2 - T1 | ||
+ | 0x0BBA | ||
+ | 0x1 - tc04 | ||
+ | 0x2 - tc07</ | ||
+ | 0x1 - T1 | ||
+ | 0x2 - T2 | ||
+ | 0x07D4 | ||
+ | 0x1 - T1 | ||
+ | 0x2 - T2 | ||
+ | 0x07D3 | ||
+ | 0x1 - T2 | ||
+ | 0x2 - T2 | ||
+ | 0x0BBC | ||
+ | 0x1 - Medi | ||
+ | 0x2 - Medi | ||
+ | 0x07DB | ||
+ | 0x1 - T1 | ||
+ | 0x2 - T2</ | ||
+ | 0x1 - T1 | ||
+ | 0x2 - T2 | ||
+ | 0x03E8 | ||
+ | 0x10 - Dflt | ||
+ | 0x0BC0 | ||
+ | 0x1 - Obs | ||
+ | 0x2 - Obs | ||
+ | 0x0BC2 | ||
+ | 0x10 - yes | ||
+ | 0x07E1 | ||
+ | 0x1 - T3 | ||
+ | 0x2 - T4 | ||
+ | 0x07D0 | ||
+ | 0x10 - t2</ | ||
+ | 0x10 - Fasr | ||
+ | 0x0BBE | ||
+ | 0x10 - 10 | ||
+ | 0x0BC1 | ||
+ | 0x10 - Priv | ||
+ | 0x03E9 | ||
+ | 0x10 - yes | ||
+ | 0x07D1 | ||
+ | 0x10 - 1v1</ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | |||
===== Project Log ===== | ===== Project Log ===== | ||
+ | === 1/2/2011 @ 05:26 === | ||
+ | Ok so I've been working on this most of the day. I've finished the InitData file as well as the AttributesEvents file! It looks like I'm 100% done with the game metadata about the players. Here's all the information I have: {{: | ||
+ | |||
+ | The attributes.events file has kind of an interesting format. This one bit of code pretty much does all the work: | ||
+ | <code csharp> | ||
+ | uint AttribHeader; | ||
+ | uint AttribId; | ||
+ | int PlayerId; | ||
+ | string AttribVal; | ||
+ | int NumSlots; | ||
+ | for (int i = 0; i < NumAttribs; i++) { | ||
+ | AttribHeader = BinaryReader.ReadUInt32(); | ||
+ | AttribId = BinaryReader.ReadUInt32(); | ||
+ | PlayerId = BinaryReader.ReadByte(); | ||
+ | AttribVal = Conversion.ReverseString(Encoding.Default.GetString(BinaryReader.ReadBytes(4))).Replace(" | ||
+ | if (!AttribDict.ContainsKey(AttribId)) { | ||
+ | AttribDict.Add(AttribId, | ||
+ | } | ||
+ | AttribDict[AttribId].Add(PlayerId, | ||
+ | } | ||
+ | if (NumAttribs == 0) { | ||
+ | throw new Exception(" | ||
+ | }</ | ||
+ | |||
+ | I run that code after I read four bytes from the beginning. It splits everything out into what can be used as a multidimensional associative array. Here's some sample data: [[sc2inspector# | ||
+ | |||
+ | Time to update this table: | ||
+ | |||
+ | ^ Filename ^ Purpose ^ | ||
+ | | replay.details | Contains sometimes inaccurate (?) data about players including their name, RealId, Race, Map name, save time, etc. | | ||
+ | | replay.initData | Contains information about who is playing (names), as well as the Realm, Map hash, and some sort of account identifier. | | ||
+ | | replay.attribute.events | Contains detailed information about the players, their race, difficulty, color, team info, game speed, etc. | | ||
+ | | replay.game.events | Actions | | ||
+ | | replay.message.events | Chat, Ping | | ||
+ | | replay.smartcam.events | Presumably player cameras | | ||
+ | | replay.sync.events | Presumably consistency checks | | ||
+ | |||
+ | |||
+ | Committed r7. | ||
+ | |||
=== 12/31/2011 @ 03:12 === | === 12/31/2011 @ 03:12 === | ||
Ok so I've been slacking on my documentation. I have fully parsed all of the documented fields in the replay.details file. Here is what the output looks like: {{: | Ok so I've been slacking on my documentation. I have fully parsed all of the documented fields in the replay.details file. Here is what the output looks like: {{: | ||
Line 117: | Line 233: | ||
| replay.smartcam.events | Presumably player cameras | | | replay.smartcam.events | Presumably player cameras | | ||
| replay.sync.events | Presumably consistency checks | | | replay.sync.events | Presumably consistency checks | | ||
- | |||
- | |||
=== 12/30/2011 @ 00:39 === | === 12/30/2011 @ 00:39 === |