ChangeSet 8437 / 8439 / 8440

Dec 11, 2007 at 5:25 AM
For future releases with new classes I will be releasing them in a patch for review. This was an acception because I needed to get the missing font content into the build for others.

Here are the changes worth noting:
  • The engine's render camera is now controlled through the camera interface. Having it in the interface will allow us to send messages to switch render cameras, or to do other things to the camera, like cast a ray out from the current camera.
  • Camera's can now cast rays forward, or between the camera's eye and any other point in space.
  • Added two new cameras, similar to what the template had: FixedCamera, and ArcBallCamera. I did test them both somewhat, and they do render properly.
  • Camera interface is now slightly more integral.
  • All camera's now require an entity to attach to. Removing the entity from a scene will result in losing the camera. However we always have a default camera in the sceneManager.

Bugs found:
  • Coordinate system is currently messed up in one way or another. I will be finding the cause of this error and fixing it on my next release.
Dec 11, 2007 at 6:44 AM
Bugs fixed:

  • Coordinate system issue was a pain, and we've come to a consensus it would be beneficial to convert the engine to run on the XNA standard coordinate system (right-handed, Y-up). The newest ChangeSet (8439) should reflect this conversion.
Dec 11, 2007 at 7:00 AM
Bugs fixed: (in 8440)

  • ArcBallCamera and FixedCamera still had some small bugs associated with the coordinate systems. Hopefully they're working fine now.

  • I should mention that there is no longer a QSMatrix or QSVector3 class, they won't be needed now that we have the XNA standard methods.
Dec 11, 2007 at 7:19 AM
Does this contain the items discussed in ChangeSet 8351 or is that coming in later, should we review the current code?
Dec 11, 2007 at 2:22 PM
Just a quick suggestion and I don't know if it matters much right now because I believe that this would be defined better later on in the camera implementation. But when you hold down the left mouse button to move, could you make the cursor lock in place and dissappear? It gets annoying having to pick my mouse up over and over just to move around. If this is something that is unimportant or will be implemented later thats fine though.
Dec 11, 2007 at 2:30 PM
We will need a custom cursor implementation anyway, so that's coming in later.
Dec 11, 2007 at 2:30 PM
Planning on doing just that. I will be saving the cursor position as I hold down the mouse button, then during the camera movement the cursor is locked to the screen's center to keep it inside the window, then upon release I will put the cursor back at the saved position.
Dec 11, 2007 at 4:35 PM

Does this contain the items discussed in ChangeSet 8351 or is that coming in later, should we review the current code?
Dec 11, 2007 at 5:59 PM
Not all of them, I did address some of them though, feel free to review what is there if you'd like, but it certainly didn't address everything mentioned, only what I'd already done before your post. I uploaded this stuff to fix the missing font and correct the coordinate system issues.

All the mentioned issues will be addressed tonight hopefully.
Dec 11, 2007 at 6:14 PM
I'll wait with a review until after a later checkin as I don't have time for multiple reviews.