Eww that's ugly.
I'd do it just like that
Guess you'll have to try around with data types and offsets... I guess it's little endian, though, to save you some trouble