Skip to content

Commit 25de528

Browse files
committed
Fixes #42 Incorrect resource transfer events.
The multiplier needs to have its trailing 4 bits shifted off and should not be used when it has a value of zero (and isn't necessary).
1 parent 8b03fbb commit 25de528

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

sc2reader/readers.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,8 +383,11 @@ def parse_hotkey_event(self, buffer, frames, type, code, pid):
383383
def parse_transfer_event(self, buffer, frames, type, code, pid):
384384
def read_resource(buffer):
385385
block = buffer.read_int(BIG_ENDIAN)
386-
base, multiplier, extension = block >> 8, block & 0xF0, block & 0x0F
387-
return base*multiplier+extension
386+
base, multiplier, extension = block >> 8, block & 0xF0 >> 4, block & 0x0F
387+
if multiplier == 0:
388+
return base+extension
389+
else:
390+
return base*multiplier+extension
388391

389392
target = code >> 4
390393
buffer.skip(1) #Always 84

0 commit comments

Comments
 (0)