Craft sprites come from BASEBITS.PCK sprite set (internally saved as SurfaceSet).
SurfaceSets support only sprites with the same width and height for all sprites... otherwise the SurfaceSet's members _width and _height would be meaningless.
The thing is, I've made this change because after testing this approach:
extraSprites:
- type: BASEBITS.PCK
files:
## Vanilla XPZ Craft Sprites Override
262: Resources/Planes/Harvester_Big_Basescape.png
I found out that no part of the sprite was cut, despite it being 44x50 instead of 32x40.
And since sprite wasn't cut, but only incorrectly centered as if it is 32x40 sprite, I used easiest approach to resolve it: is to add offsets to craft that will be using bigger sprites. And to avoid bothering modders with offset calculation, modder only requires to write actual size of the sprite and offsets will be calculated automatically.
This change doesn't look correct to me.
Well, I don't really see another way how to handle it without making code changes excessively complicated.
EDIT: I also checked other
BASEBITS.PCK sprites: 32x40 is only for crafts, 32x32 is for facility basescape tiles.