Lots of new things for developers! 🙂
-
Improvements for iOS application building:
-
Additional attributes in CastleEngineManifest.xml for iOS: team identifier, overriding qualified name and version for iOS, specifying
uses_non_exempt_encryption
. -
Loading music from OggVorbis (using Tremolo customized for iOS).
-
Compilation fixes (workarounds for some FPC problems) to work in release mode.
-
Fixed touch up (mouse up) event. Test multi-touch with our drawing_toy example.
-
-
Fixed Android building from Windows.
-
Large camera API simplification:
In short:
TUniversalCamera
class is now gone. Change the navigation type using the new SceneManager.NavigationType property.Details: I came to a realization that the
TUniversalCamera
class is a needless complication. We now exposeNavigationType
atTCastleAbstractViewport
(ancestor ofTCastleSceneManager
andTCastleViewport
).We also expose methods ExamineCamera and WalkCamera at
TCastleAbstractViewport
. They create the camera instance, and can switch the navigation as requested.So now you can do
SceneManager.NavigationType := ntWalk;
instead of the previous (ugly):
(SceneManager.RequiredCamera as TUniversalCamera).NavigationType := ntWalk;
And instead of
SceneManager.Camera := SceneManager.CreateDefaultCamera; (SceneManager.Camera as TUniversalCamera).NavigationType := ntWalk; (SceneManager.Camera as TUniversalCamera).Walk.MoveSpeed := 10;
now you can do
SceneManager.WalkCamera.MoveSpeed := 10;
This is much simpler, right? 🙂 It’s also safer, without these ugly typecasts.
-
More new stuff!
-
T3D.Visible to easily toggle object visibility, regardless of it’s collisions. This is consistent with T3D.Collides (that controls collisions, regardless of visibility) and T3D.Exists (that controls everything).
-
TCastleImageControl.ProportionalScaling and TProportionalScaling
-
-
And, in case you missed our announcements from 2 weeks ago, our engine is now integrated with an amazing Kraft Physics Engine by Benjamin ‘BeRo’ Rosseaux.
The manual page about physics in Castle Game Engine should be helpful.
The main API point to start reading is the T3DTransform.RigidBody property, and the things it links to: TRigidBody, TCollider and it’s descendants.