overlook-csgo 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fcf0c06e00145105279413006bd1728d158ee37
|
4
|
+
data.tar.gz: c792ba22590c13d5d7bd01f30a76978a3e51d8d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b361e37e063e360e9bdc1289eeb2383db1baf565062dd163b816a3856595e99b9d1a84427a38a5c39442bd3812d494429d53871af5c9e6a0a7724f20aac535b7
|
7
|
+
data.tar.gz: d013a62ffe753dd0fd956fbaa9ca25af2b72eb1396a5b1e2e86996245e88620c2e37a870cd262a35b2075c96eee5459607ceef809c98726cb7dd74ff059d2c62
|
data/lib/overlook/csgo/demo.rb
CHANGED
@@ -13,8 +13,9 @@ module Overlook
|
|
13
13
|
|
14
14
|
attr_reader :parser
|
15
15
|
|
16
|
-
def initialize(_parser)
|
16
|
+
def initialize(_parser, parser_config)
|
17
17
|
@parser = _parser
|
18
|
+
@parser_config = parser_config
|
18
19
|
end
|
19
20
|
|
20
21
|
def handle(packet)
|
@@ -24,7 +25,8 @@ module Overlook
|
|
24
25
|
message_type = reader.var_int32
|
25
26
|
message_size = reader.var_int32
|
26
27
|
|
27
|
-
|
28
|
+
handler = handlers[message_type]
|
29
|
+
if handler && handle?(handler)
|
28
30
|
handler.handle(reader.bytes(message_size))
|
29
31
|
else
|
30
32
|
reader.skip(message_size)
|
@@ -38,12 +40,25 @@ module Overlook
|
|
38
40
|
|
39
41
|
def handlers
|
40
42
|
{
|
41
|
-
MessageTypes::USER_MESSAGE_MESSAGE_ID
|
43
|
+
MessageTypes::USER_MESSAGE_MESSAGE_ID => UserMessageMessageHandler.new(parser),
|
42
44
|
MessageTypes::GAME_EVENT_LIST_MESSAGE_ID => GameEventListMessageHandler.new(parser),
|
43
|
-
MessageTypes::GAME_EVENT_MESSAGE_ID
|
44
|
-
MessageTypes::ENCRYPTED_DATA_ID
|
45
|
+
MessageTypes::GAME_EVENT_MESSAGE_ID => GameEventMessageHandler.new(parser),
|
46
|
+
MessageTypes::ENCRYPTED_DATA_ID => EncryptedDataHandler.new(parser),
|
45
47
|
}
|
46
48
|
end
|
49
|
+
|
50
|
+
def handle?(handler)
|
51
|
+
case handler
|
52
|
+
when GameEventListMessageHandler, GameEventMessageHandler
|
53
|
+
@parser_config.parse_game_events?
|
54
|
+
when UserMessageMessageHandler
|
55
|
+
@parser_config.parse_user_messages?
|
56
|
+
when EncryptedDataHandler
|
57
|
+
@parser_config.parse_encrypted_data?
|
58
|
+
else
|
59
|
+
true
|
60
|
+
end
|
61
|
+
end
|
47
62
|
end
|
48
63
|
end
|
49
64
|
end
|
@@ -10,9 +10,11 @@ module Overlook
|
|
10
10
|
InvalidDemo = Class.new(Exception)
|
11
11
|
|
12
12
|
attr_reader :reader
|
13
|
+
attr_reader :parser_config
|
13
14
|
attr_accessor :descriptors
|
14
15
|
|
15
|
-
def initialize(io)
|
16
|
+
def initialize(io, parser_config = ParserConfig.new)
|
17
|
+
@parser_config = parser_config
|
16
18
|
@reader = ByteReader.new(io)
|
17
19
|
@header = nil
|
18
20
|
@descriptors = {}
|
@@ -41,7 +43,7 @@ module Overlook
|
|
41
43
|
end
|
42
44
|
|
43
45
|
def packets
|
44
|
-
packet_handler = PacketHandler.new(self)
|
46
|
+
packet_handler = PacketHandler.new(self, @parser_config)
|
45
47
|
|
46
48
|
loop do
|
47
49
|
command = Command.from_io(reader)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Overlook
|
2
|
+
module Csgo
|
3
|
+
module Demo
|
4
|
+
class ParserConfig
|
5
|
+
attr_reader :parse_game_events,
|
6
|
+
:parse_user_messages,
|
7
|
+
:parse_encrypted_data
|
8
|
+
|
9
|
+
def initialize(options = {})
|
10
|
+
@parse_game_events = options.fetch(:parse_game_events, true)
|
11
|
+
@parse_user_messages = options.fetch(:parse_user_messages, true)
|
12
|
+
@parse_encrypted_data = options.fetch(:parse_encrypted_data, true)
|
13
|
+
end
|
14
|
+
|
15
|
+
def parse_encrypted_data?
|
16
|
+
@parse_encrypted_data
|
17
|
+
end
|
18
|
+
|
19
|
+
def parse_user_messages?
|
20
|
+
@parse_user_messages
|
21
|
+
end
|
22
|
+
|
23
|
+
def parse_game_events?
|
24
|
+
@parse_game_events
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/overlook/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: overlook-csgo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taylor Finnell
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- lib/overlook/csgo/demo/packet_factory.rb
|
171
171
|
- lib/overlook/csgo/demo/packet_handler.rb
|
172
172
|
- lib/overlook/csgo/demo/parser.rb
|
173
|
+
- lib/overlook/csgo/demo/parser_config.rb
|
173
174
|
- lib/overlook/csgo/demo/user_message_message_handler.rb
|
174
175
|
- lib/overlook/csgo/match_info_decoder.rb
|
175
176
|
- lib/overlook/csgo/sharecode_decoder.rb
|