… | |
… | |
99 | } |
99 | } |
100 | |
100 | |
101 | sub enc_U64 { |
101 | sub enc_U64 { |
102 | enc_U32 $_[0] & 0xffffffff; |
102 | enc_U32 $_[0] & 0xffffffff; |
103 | enc_U32 +($_[0] >> 32) & 0xffffffff; |
103 | enc_U32 +($_[0] >> 32) & 0xffffffff; |
|
|
104 | } |
|
|
105 | |
|
|
106 | sub enc_I16 { |
|
|
107 | enc_U16 unpack "S", pack "s", $_[0]; |
104 | } |
108 | } |
105 | |
109 | |
106 | sub enc_I32 { |
110 | sub enc_I32 { |
107 | enc_U32 unpack "I", pack "i", $_[0]; |
111 | enc_U32 unpack "I", pack "i", $_[0]; |
108 | } |
112 | } |
… | |
… | |
187 | |
191 | |
188 | } elsif ($type == 17 || $type == 18) { |
192 | } elsif ($type == 17 || $type == 18) { |
189 | push @r, [score => $type - 17, dec_score16]; |
193 | push @r, [score => $type - 17, dec_score16]; |
190 | |
194 | |
191 | } elsif ($type == 19) { |
195 | } elsif ($type == 19) { |
192 | push @r, [result => dec_result]; |
196 | push @r, [result => dec_result]; # not certain |
193 | |
197 | |
194 | } elsif ($type == 30) { |
198 | } elsif ($type == 30) { |
195 | push @r, [active_player => dec_U8]; |
199 | push @r, [active_player => dec_U8]; |
196 | |
200 | |
197 | } elsif ($type == 0) { # label(?) |
201 | } elsif ($type == 0) { # label(?) |