overlook-csgo 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
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
|