Mixed alltogether laugh

The origin of an entity is 'ent.x', you know. 'ent.vOriginX' is the origin of the rotation in world space. 'ent.vOffsetX' is the offset vector from the rotation origin to the unrotated entity origin. You do not need to change its calculation:
Code:
vec_diff ( ent.vOffsetX, ent.x, ent.vOriginX );