Way too much stuff, I need to commit more often >_<
[tablebottom.git] / tt2 / tabletoptwo_utils.rb
blob8f7ccc97b28b5b7a70ea74aae1612f4f6d005951
1 require 'stringio'
2 require 'stringio_utils'
3 require 'tabletoptwo_msgtypes'
5 module TabletopTwo
7   # String -> (Symbol, [String])
8   #
9   # Unpacks a Tabletop2 message into an array containing one symbol, and an
10   # array of strings
11   def parse_msg(msgstr)
12     strio = StringIO.new(msgstr)
13     return [INTMSGTYPE[strio.getint()], lstr_array_unpack(strio)]
14   end
15   
16   # StringIO -> [String]
17   # 
18   # Unpack an array of LStrs
19   def lstr_array_unpack(strio)
20     return [strio.readlstr()] + lstr_array_unpack(strio) unless strio.eof?
21     return []
22   end
23   
24 end