As discussed in #123 (closed), this merge request changes the
gpart.part anonymous union into a single
long long int id_or_neg_offset.
If this number is positive, then it is the particle ID and the
gpart has no hydro counterpart.
If this number is negative, then it is the offset in the
parts array of this particle's hydro counterpart.