Currently, cars have two major restrictions: Their bounding box always rotates around its center, not around the coordinate origin (0, 0). In addition, turrets also rotate around the vehicle's bounding box center (but can be shifted up with the shift paramter of the sprite). This puts major limitations on the vehicle design. Vehicles differing from the norm have to be made as multiple entities, which adds a lot of lua overhead.
Proposed Change:
- Allow specifying off-center bounding boxes, such as {{-1, -1}, {2, 2}}, whereas all current bounding boxes are centered, such as {{-1, -1}, {1, 1}}. When turning, the vehicle's bounding box rotates around (0, 0).
- Add a turret_position argument to the car prototype, similar to the position argument of burner smoke, which allows the turret to be mounted anywhere on the vehicle and rotate with it.