- Rename InteractionController->ViewController
- Use Body's flag mechanism to exclude bodies from drawing
- Pave the way for non-ShipView ViewControllers via SetViewController()
Remove all OpenGL 2.x like methods from the renderer API, now the matrix state
is the responsibility of the caller via MatrixTicket / StateTicket.
Still TODO is improving the viewport state tracking, although that should be
rather simple to fix.
- Body::GetTargetIndicatorPosition now returns local-space coordinates
- CameraContext has a getter for parent frame, renamed GetCamFrame to GetTempFrame, added GetCameraOrient/Position
- Implemented matrix4x4 utilities to construct from orient+pos, fast inverse transform for position vectors
- Fixed bug where mouse would be locked if held while docking
- Preliminary work on ShipViewController, made WorldView::shipView an unique_ptr (why didn't I do it that way in the first place?)
- Cleaned up some cruft from WorldView and moved to appropriate locations
- Completely changed the way WorldSpaceToScreenSpace etc. works, now no longer requires camera frame
- Added WorldView::RelSpaceToScreenSpace, meant for pigui to use for displaying e.g. body:GetPositionRelTo(player)
- WorldSpaceToScreenSpace now operates on frame-relative coordinates, use RelSpaceToScreenSpace for player-relative coordinates
* Make FrameId a wrapper over an int, fix crashes
- Cleanup some of the tests, use <cstddef>.
- Fixed a crash in Frame::DeleteCameraFrame()
- Made CameraContext::GetCamFrame() return the invalid frame index when there
is no camera frame
- Fixed a typo related to autosave
Use a dedicated CreateCameraFrame/DeleteCameraFrame for Camera;
Avoid ShipCockpit trying use a CollisionSpace;
Avoid some bugs during creation/deletion of Space;
Remove obsolete code from Pi.cpp;
UpdateOrbitRails is made 'static' and applied on all Frames;
CollideFrame is now part of Frame and applied on all Frames;
CollisionSpace is stored contiguosly and called directly