Shifting Ability Codes

14 views
Skip to first unread message

Graylin Kim

unread,
Sep 26, 2011, 12:01:45 AM9/26/11
to sc2rea...@googlegroups.com
Its far from conclusive evidence but I spent some time today finding the following sample information.

Patch Num        Ability Bytes          Translated into Bits grouped by 4             Pipes isolate ability-specific bits
==========================================================================================================================
# Mutate to Drone - 0x320200, 0x320100, 0x330100 (Ability codes in patch order)
Patch 1.1.0:    00210b0820023000 - 0000 0000 0010 0001 0000 1011 0000 1000 0010 0000 | 0000 0010 0011 0000 0000 0000
Patch 1.3.3:    00210b0440013200 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0011 0010 0000 0000
Patch 1.4.0:    00210b0440013300 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0011 0011 0000 0000

# Warp in Probe - 0x1e0200, 0x200100, 0x210100 (Ability codes in patch order)
Patch 1.1.0:    00210b0820021e00 - 0000 0000 0010 0001 0000 1011 0000 1000 0010 0000 | 0000 0010 0001 1110 0000 0000
Patch 1.3.3:    00210b0440012000 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0010 0000 0000 0000
Patch 1.4.0:    00210b0440012100 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0010 0001 0000 0000

# Train SCV - 0x0a0200, 0x0c0100, 0x0d0100 (Ability codes in patch order)
Patch 1.1.0:    00210b0820020a00 - 0000 0000 0010 0001 0000 1011 0000 1000 0010 0000 | 0000 0010 0000 1010 0000 0000
Patch 1.3.3:    00210b0440010c00 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0000 1100 0000 0000
Patch 1.4.0:    00210b0440010d00 - 0000 0000 0010 0001 0000 1011 0000 0100 0100 0000 | 0000 0001 0000 1101 0000 0000

Note: Other Patch values were omitted because they didn't appear to have ability code changes.
==========================================================================================================================

From these 3 sample abilities across the range of post 1.1.0 versions it appears the the ability differences are constant adjustments with magnitudes of:

Patch 1.1.0 - 1.3.3: +0x01ff00
Patch 1.3.3 - 1.4.0: +0x010000

In the short term, I think we can use Bas' ability codes and automatically translate them to the replay version in question. I think that its likely that the ability code have never changed and that our parsing is faulty but I've not yet figured out how to change the ability code parsing to produce the right ability code. If someone could shed some light on this that'd be great.

If my guesses are right this should give us pretty comprehensive ability coverage for all versions 1.1.0 and later. Prior to 1.10 is definitely a parser level problem but not a high priority one as far as I am concerned. If someone wants to go all the way back to release the patch would be appreciated.

~Graylin
Reply all
Reply to author
Forward
0 new messages