robmcmullen / omnivore

Hex editor and debugging emulator, sponsored by the Player/Missile Podcast
Mozilla Public License 2.0
53 stars 7 forks source link

fix neighboring data ranges #115

Closed robmcmullen closed 7 years ago

robmcmullen commented 7 years ago

If two data ranges are consecutive, i.e. one ends and the next one starts at the next byte, if the split doesn't happen to be on a boundary it can throw off the alignment. The following is a regulat data block followed by a jumpman harvest block:

        hex 0001a00a
        hex c001a6
        hex 01a6510a550a51 ; enc=$01 x=$a6 y=$51 take=$550a paint=$510a
        hex 0a4c0a510a4c0a ; enc=$0a x=$4c y=$0a take=$0a51 paint=$0a4c

the split should be after the 01a6 in the 2nd line, and that's where the harvest table starts, but the 01a6 is included in the first data block

robmcmullen commented 7 years ago

Fixed with https://github.com/robmcmullen/udis/commit/51eae062fddaade3c60302fb04acb58c04189f63