diff options
Diffstat (limited to 'pkg/classes/userCmd.go')
| -rw-r--r-- | pkg/classes/userCmd.go | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/pkg/classes/userCmd.go b/pkg/classes/userCmd.go index dc0b56d..14ef4e0 100644 --- a/pkg/classes/userCmd.go +++ b/pkg/classes/userCmd.go | |||
| @@ -2,40 +2,40 @@ package classes | |||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | 4 | "github.com/pektezol/bitreader" |
| 5 | "github.com/pektezol/sdp.go/pkg/writer" | 5 | "github.com/pektezol/sdp.go/pkg/types" |
| 6 | ) | 6 | ) |
| 7 | 7 | ||
| 8 | type UserCmd struct { | 8 | type UserCmd struct { |
| 9 | Cmd uint32 | 9 | Cmd uint32 `json:"cmd"` |
| 10 | Size uint32 | 10 | Size uint32 `json:"size"` |
| 11 | Data UserCmdInfo | 11 | Data UserCmdInfo `json:"data"` |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | type UserCmdInfo struct { | 14 | type UserCmdInfo struct { |
| 15 | CommandNumber uint32 | 15 | CommandNumber uint32 `json:"command_number"` |
| 16 | TickCount uint32 | 16 | TickCount uint32 `json:"tick_count"` |
| 17 | ViewAnglesX float32 | 17 | ViewAnglesX float32 `json:"view_angles_x"` |
| 18 | ViewAnglesY float32 | 18 | ViewAnglesY float32 `json:"view_angles_y"` |
| 19 | ViewAnglesZ float32 | 19 | ViewAnglesZ float32 `json:"view_angles_z"` |
| 20 | ForwardMove float32 | 20 | ForwardMove float32 `json:"forward_move"` |
| 21 | SideMove float32 | 21 | SideMove float32 `json:"side_move"` |
| 22 | UpMove float32 | 22 | UpMove float32 `json:"up_move"` |
| 23 | Buttons uint32 | 23 | Buttons uint32 `json:"buttons"` |
| 24 | Impulse uint8 | 24 | Impulse uint8 `json:"impulse"` |
| 25 | WeaponSelect uint16 | 25 | WeaponSelect uint16 `json:"weapon_select"` |
| 26 | WeaponSubType uint8 | 26 | WeaponSubType uint8 `json:"weapon_sub_type"` |
| 27 | MouseDx uint16 | 27 | MouseDx uint16 `json:"mouse_dx"` |
| 28 | MouseDy uint16 | 28 | MouseDy uint16 `json:"mouse_dy"` |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | func (userCmd *UserCmd) ParseUserCmd(reader *bitreader.Reader) { | 31 | func (userCmd *UserCmd) ParseUserCmd(reader *bitreader.Reader, demo *types.Demo) { |
| 32 | userCmd.Cmd = reader.TryReadUInt32() | 32 | userCmd.Cmd = reader.TryReadUInt32() |
| 33 | userCmd.Size = reader.TryReadUInt32() | 33 | userCmd.Size = reader.TryReadUInt32() |
| 34 | userCmdReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(uint64(userCmd.Size)), true) | 34 | userCmdReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(uint64(userCmd.Size)), true) |
| 35 | userCmd.ParseUserCmdInfo(userCmdReader) | 35 | userCmd.ParseUserCmdInfo(userCmdReader, demo) |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | func (userCmd *UserCmd) ParseUserCmdInfo(reader *bitreader.Reader) { | 38 | func (userCmd *UserCmd) ParseUserCmdInfo(reader *bitreader.Reader, demo *types.Demo) { |
| 39 | if reader.TryReadBool() { | 39 | if reader.TryReadBool() { |
| 40 | userCmd.Data.CommandNumber = reader.TryReadUInt32() | 40 | userCmd.Data.CommandNumber = reader.TryReadUInt32() |
| 41 | } | 41 | } |
| @@ -78,14 +78,14 @@ func (userCmd *UserCmd) ParseUserCmdInfo(reader *bitreader.Reader) { | |||
| 78 | if reader.TryReadBool() { | 78 | if reader.TryReadBool() { |
| 79 | userCmd.Data.MouseDy = reader.TryReadUInt16() | 79 | userCmd.Data.MouseDy = reader.TryReadUInt16() |
| 80 | } | 80 | } |
| 81 | writer.AppendLine("\tCommand Number: %v", userCmd.Data.CommandNumber) | 81 | demo.Writer.AppendLine("\tCommand Number: %v", userCmd.Data.CommandNumber) |
| 82 | writer.AppendLine("\tTick Count: %v", userCmd.Data.TickCount) | 82 | demo.Writer.AppendLine("\tTick Count: %v", userCmd.Data.TickCount) |
| 83 | writer.AppendLine("\tView Angles: %v", []float32{userCmd.Data.ViewAnglesX, userCmd.Data.ViewAnglesY, userCmd.Data.ViewAnglesZ}) | 83 | demo.Writer.AppendLine("\tView Angles: %v", []float32{userCmd.Data.ViewAnglesX, userCmd.Data.ViewAnglesY, userCmd.Data.ViewAnglesZ}) |
| 84 | writer.AppendLine("\tMovement: %v", []float32{userCmd.Data.ForwardMove, userCmd.Data.SideMove, userCmd.Data.UpMove}) | 84 | demo.Writer.AppendLine("\tMovement: %v", []float32{userCmd.Data.ForwardMove, userCmd.Data.SideMove, userCmd.Data.UpMove}) |
| 85 | writer.AppendLine("\tButtons: %v", Buttons(userCmd.Data.Buttons).GetButtons()) | 85 | demo.Writer.AppendLine("\tButtons: %v", Buttons(userCmd.Data.Buttons).GetButtons()) |
| 86 | writer.AppendLine("\tImpulse: %v", userCmd.Data.Impulse) | 86 | demo.Writer.AppendLine("\tImpulse: %v", userCmd.Data.Impulse) |
| 87 | writer.AppendLine("\tWeapon, Subtype: %v, %v", userCmd.Data.WeaponSelect, userCmd.Data.WeaponSubType) | 87 | demo.Writer.AppendLine("\tWeapon, Subtype: %v, %v", userCmd.Data.WeaponSelect, userCmd.Data.WeaponSubType) |
| 88 | writer.AppendLine("\tMouse Dx, Mouse Dy: %v, %v", userCmd.Data.MouseDx, userCmd.Data.MouseDy) | 88 | demo.Writer.AppendLine("\tMouse Dx, Mouse Dy: %v, %v", userCmd.Data.MouseDx, userCmd.Data.MouseDy) |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | func (button Buttons) GetButtons() []string { | 91 | func (button Buttons) GetButtons() []string { |