diff options
Diffstat (limited to 'pkg/classes/sarData.go')
| -rw-r--r-- | pkg/classes/sarData.go | 49 |
1 files changed, 14 insertions, 35 deletions
diff --git a/pkg/classes/sarData.go b/pkg/classes/sarData.go index 27e8a64..9c61304 100644 --- a/pkg/classes/sarData.go +++ b/pkg/classes/sarData.go | |||
| @@ -5,7 +5,6 @@ import ( | |||
| 5 | "fmt" | 5 | "fmt" |
| 6 | 6 | ||
| 7 | "github.com/pektezol/bitreader" | 7 | "github.com/pektezol/bitreader" |
| 8 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 9 | ) | 8 | ) |
| 10 | 9 | ||
| 11 | type SarDataType uint8 | 10 | type SarDataType uint8 |
| @@ -164,7 +163,6 @@ func (sarData *SarData) ParseSarData(reader *bitreader.Reader) (err error) { | |||
| 164 | len = 9 | 163 | len = 9 |
| 165 | } | 164 | } |
| 166 | dataReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(len-1), true) | 165 | dataReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(len-1), true) |
| 167 | writer.AppendLine("\tMessage: %s (%d):", sarData.Type.String(), sarData.Type) | ||
| 168 | switch sarData.Type { | 166 | switch sarData.Type { |
| 169 | case ESarDataTimescaleCheat: | 167 | case ESarDataTimescaleCheat: |
| 170 | sarData.Data, err = parseTimescaleCheatData(dataReader, len) | 168 | sarData.Data, err = parseTimescaleCheatData(dataReader, len) |
| @@ -175,7 +173,6 @@ func (sarData *SarData) ParseSarData(reader *bitreader.Reader) (err error) { | |||
| 175 | sarData.Data = parseInitialCVarData(dataReader) | 173 | sarData.Data = parseInitialCVarData(dataReader) |
| 176 | case ESarDataEntityInputSlot: | 174 | case ESarDataEntityInputSlot: |
| 177 | sarData.Slot = int(dataReader.TryReadBytes(1)) | 175 | sarData.Slot = int(dataReader.TryReadBytes(1)) |
| 178 | writer.AppendLine("\t\tSlot: %d", sarData.Slot) | ||
| 179 | case ESarDataEntityInput: | 176 | case ESarDataEntityInput: |
| 180 | sarData.Data = parseEntityInputData(dataReader) | 177 | sarData.Data = parseEntityInputData(dataReader) |
| 181 | case ESarDataChecksum: | 178 | case ESarDataChecksum: |
| @@ -201,7 +198,7 @@ func (sarData *SarData) ParseSarData(reader *bitreader.Reader) (err error) { | |||
| 201 | if err != nil { | 198 | if err != nil { |
| 202 | sarData.Data = nil | 199 | sarData.Data = nil |
| 203 | } | 200 | } |
| 204 | writer.AppendLine("\t\tSlot: %d", sarData.Slot) | 201 | |
| 205 | case ESarDataPause: | 202 | case ESarDataPause: |
| 206 | sarData.Data, err = parsePauseData(dataReader, len) | 203 | sarData.Data, err = parsePauseData(dataReader, len) |
| 207 | if err != nil { | 204 | if err != nil { |
| @@ -246,7 +243,7 @@ func parseTimescaleCheatData(reader *bitreader.Reader, length uint64) (SarDataTi | |||
| 246 | sarDataTimescaleCheat := SarDataTimescaleCheat{ | 243 | sarDataTimescaleCheat := SarDataTimescaleCheat{ |
| 247 | Timescale: reader.TryReadFloat32(), | 244 | Timescale: reader.TryReadFloat32(), |
| 248 | } | 245 | } |
| 249 | writer.AppendLine("\t\tTimescale: %f", sarDataTimescaleCheat.Timescale) | 246 | |
| 250 | return sarDataTimescaleCheat, nil | 247 | return sarDataTimescaleCheat, nil |
| 251 | } | 248 | } |
| 252 | 249 | ||
| @@ -255,7 +252,7 @@ func parseInitialCVarData(reader *bitreader.Reader) SarDataInitialCVar { | |||
| 255 | CVar: reader.TryReadString(), | 252 | CVar: reader.TryReadString(), |
| 256 | Val: reader.TryReadString(), | 253 | Val: reader.TryReadString(), |
| 257 | } | 254 | } |
| 258 | writer.AppendLine("\t\tCvar: \"%s\" = \"%s\"", sarDataInitialCvar.CVar, sarDataInitialCvar.Val) | 255 | |
| 259 | return sarDataInitialCvar | 256 | return sarDataInitialCvar |
| 260 | } | 257 | } |
| 261 | 258 | ||
| @@ -266,10 +263,7 @@ func parseEntityInputData(reader *bitreader.Reader) SarDataEntityInput { | |||
| 266 | InputName: reader.TryReadString(), | 263 | InputName: reader.TryReadString(), |
| 267 | Parameter: reader.TryReadString(), | 264 | Parameter: reader.TryReadString(), |
| 268 | } | 265 | } |
| 269 | writer.AppendLine("\t\tTarget: %s", sarDataEntityInput.TargetName) | 266 | |
| 270 | writer.AppendLine("\t\tClass: %s", sarDataEntityInput.ClassName) | ||
| 271 | writer.AppendLine("\t\tInput: %s", sarDataEntityInput.InputName) | ||
| 272 | writer.AppendLine("\t\tParameter: %s", sarDataEntityInput.Parameter) | ||
| 273 | return sarDataEntityInput | 267 | return sarDataEntityInput |
| 274 | } | 268 | } |
| 275 | 269 | ||
| @@ -281,8 +275,7 @@ func parseChecksumData(reader *bitreader.Reader, length uint64) (SarDataChecksum | |||
| 281 | DemoSum: reader.TryReadUInt32(), | 275 | DemoSum: reader.TryReadUInt32(), |
| 282 | SarSum: reader.TryReadUInt32(), | 276 | SarSum: reader.TryReadUInt32(), |
| 283 | } | 277 | } |
| 284 | writer.AppendLine("\t\tDemo Checksum: %d", sarDataChecksum.DemoSum) | 278 | |
| 285 | writer.AppendLine("\t\tSAR Checksum: %d", sarDataChecksum.SarSum) | ||
| 286 | return sarDataChecksum, nil | 279 | return sarDataChecksum, nil |
| 287 | } | 280 | } |
| 288 | 281 | ||
| @@ -294,8 +287,7 @@ func parseChecksumV2Data(reader *bitreader.Reader, length uint64) (SarDataChecks | |||
| 294 | SarSum: reader.TryReadUInt32(), | 287 | SarSum: reader.TryReadUInt32(), |
| 295 | Signature: [64]byte(reader.TryReadBytesToSlice(60)), | 288 | Signature: [64]byte(reader.TryReadBytesToSlice(60)), |
| 296 | } | 289 | } |
| 297 | writer.AppendLine("\t\tSAR Checksum: %d", sarDataChecksumV2.SarSum) | 290 | |
| 298 | writer.AppendLine("\t\tSignature: %v", sarDataChecksumV2.Signature) | ||
| 299 | return sarDataChecksumV2, nil | 291 | return sarDataChecksumV2, nil |
| 300 | } | 292 | } |
| 301 | 293 | ||
| @@ -312,10 +304,7 @@ func parsePortalPlacementData(reader *bitreader.Reader, length uint64) (SarDataP | |||
| 312 | Y: reader.TryReadFloat32(), | 304 | Y: reader.TryReadFloat32(), |
| 313 | Z: reader.TryReadFloat32(), | 305 | Z: reader.TryReadFloat32(), |
| 314 | } | 306 | } |
| 315 | writer.AppendLine("\t\tOrange: %t", orange) | 307 | |
| 316 | writer.AppendLine("\t\tX: %f", sarDataPortalPlacement.X) | ||
| 317 | writer.AppendLine("\t\tY: %f", sarDataPortalPlacement.Y) | ||
| 318 | writer.AppendLine("\t\tZ: %f", sarDataPortalPlacement.Z) | ||
| 319 | return sarDataPortalPlacement, slot, nil | 308 | return sarDataPortalPlacement, slot, nil |
| 320 | } | 309 | } |
| 321 | 310 | ||
| @@ -333,7 +322,7 @@ func parsePauseData(reader *bitreader.Reader, length uint64) (SarDataPause, erro | |||
| 333 | sarDataPause := SarDataPause{ | 322 | sarDataPause := SarDataPause{ |
| 334 | PauseTicks: reader.TryReadUInt32(), | 323 | PauseTicks: reader.TryReadUInt32(), |
| 335 | } | 324 | } |
| 336 | writer.AppendLine("\t\tPause Ticks: %d", sarDataPause.PauseTicks) | 325 | |
| 337 | return sarDataPause, nil | 326 | return sarDataPause, nil |
| 338 | } | 327 | } |
| 339 | 328 | ||
| @@ -345,8 +334,7 @@ func parseWaitRunData(reader *bitreader.Reader, length uint64) (SarDataWaitRun, | |||
| 345 | Ticks: int(reader.TryReadUInt32()), | 334 | Ticks: int(reader.TryReadUInt32()), |
| 346 | Cmd: reader.TryReadString(), | 335 | Cmd: reader.TryReadString(), |
| 347 | } | 336 | } |
| 348 | writer.AppendLine("\t\tTicks: %d", sarDataWaitRun.Ticks) | 337 | |
| 349 | writer.AppendLine("\t\tCmd: \"%s\"", sarDataWaitRun.Cmd) | ||
| 350 | return sarDataWaitRun, nil | 338 | return sarDataWaitRun, nil |
| 351 | } | 339 | } |
| 352 | 340 | ||
| @@ -358,8 +346,7 @@ func parseHWaitRunData(reader *bitreader.Reader, length uint64) (SarDataHWaitRun | |||
| 358 | Ticks: int(reader.TryReadUInt32()), | 346 | Ticks: int(reader.TryReadUInt32()), |
| 359 | Cmd: reader.TryReadString(), | 347 | Cmd: reader.TryReadString(), |
| 360 | } | 348 | } |
| 361 | writer.AppendLine("\t\tTicks: %d", sarDataHWaitRun.Ticks) | 349 | |
| 362 | writer.AppendLine("\t\tCmd: \"%s\"", sarDataHWaitRun.Cmd) | ||
| 363 | return sarDataHWaitRun, nil | 350 | return sarDataHWaitRun, nil |
| 364 | } | 351 | } |
| 365 | 352 | ||
| @@ -372,14 +359,12 @@ func parseSpeedrunTimeData(reader *bitreader.Reader, length uint64) (SarDataSpee | |||
| 372 | for splitCount := 0; splitCount < int(numberOfSplits); splitCount++ { | 359 | for splitCount := 0; splitCount < int(numberOfSplits); splitCount++ { |
| 373 | splits[splitCount].Name = reader.TryReadString() | 360 | splits[splitCount].Name = reader.TryReadString() |
| 374 | splits[splitCount].NSegs = reader.TryReadUInt32() | 361 | splits[splitCount].NSegs = reader.TryReadUInt32() |
| 375 | writer.AppendLine("\t\t[%d] Split Name: \"%s\"", splitCount, splits[splitCount].Name) | 362 | |
| 376 | writer.AppendLine("\t\t[%d] Number of Segments: %d", splitCount, splits[splitCount].NSegs) | ||
| 377 | splits[splitCount].Segs = make([]SarDataSpeedrunTimeSegs, splits[splitCount].NSegs) | 363 | splits[splitCount].Segs = make([]SarDataSpeedrunTimeSegs, splits[splitCount].NSegs) |
| 378 | for segCount := 0; segCount < int(splits[splitCount].NSegs); segCount++ { | 364 | for segCount := 0; segCount < int(splits[splitCount].NSegs); segCount++ { |
| 379 | splits[splitCount].Segs[segCount].Name = reader.TryReadString() | 365 | splits[splitCount].Segs[segCount].Name = reader.TryReadString() |
| 380 | splits[splitCount].Segs[segCount].Ticks = reader.TryReadUInt32() | 366 | splits[splitCount].Segs[segCount].Ticks = reader.TryReadUInt32() |
| 381 | writer.AppendLine("\t\t\t[%d] Segment Name: \"%s\"", segCount, splits[splitCount].Segs[segCount].Name) | 367 | |
| 382 | writer.AppendLine("\t\t\t[%d] Segment Ticks: %d", segCount, splits[splitCount].Segs[segCount].Ticks) | ||
| 383 | } | 368 | } |
| 384 | } | 369 | } |
| 385 | return SarDataSpeedrunTime{ | 370 | return SarDataSpeedrunTime{ |
| @@ -401,12 +386,7 @@ func parseTimestampData(reader *bitreader.Reader, length uint64) (SarDataTimesta | |||
| 401 | Minute: timestamp[5], | 386 | Minute: timestamp[5], |
| 402 | Second: timestamp[6], | 387 | Second: timestamp[6], |
| 403 | } | 388 | } |
| 404 | writer.AppendLine("\t\tYear: %d", sarDataTimeStamp.Year) | 389 | |
| 405 | writer.AppendLine("\t\tMonth: %d", sarDataTimeStamp.Month) | ||
| 406 | writer.AppendLine("\t\tDay: %d", sarDataTimeStamp.Day) | ||
| 407 | writer.AppendLine("\t\tHour: %d", sarDataTimeStamp.Hour) | ||
| 408 | writer.AppendLine("\t\tMinute: %d", sarDataTimeStamp.Minute) | ||
| 409 | writer.AppendLine("\t\tSecond: %d", sarDataTimeStamp.Second) | ||
| 410 | return sarDataTimeStamp, nil | 390 | return sarDataTimeStamp, nil |
| 411 | } | 391 | } |
| 412 | 392 | ||
| @@ -418,7 +398,6 @@ func parseFileChecksumData(reader *bitreader.Reader, length uint64) (SarDataFile | |||
| 418 | Sum: reader.TryReadUInt32(), | 398 | Sum: reader.TryReadUInt32(), |
| 419 | Path: reader.TryReadString(), | 399 | Path: reader.TryReadString(), |
| 420 | } | 400 | } |
| 421 | writer.AppendLine("\t\tChecksum: %d", sarDataFileChecksum.Sum) | 401 | |
| 422 | writer.AppendLine("\t\tPath: \"%s\"", sarDataFileChecksum.Path) | ||
| 423 | return sarDataFileChecksum, nil | 402 | return sarDataFileChecksum, nil |
| 424 | } | 403 | } |