-
In-app purchases on iOS! You can now sell products inside your iOS applications, through the Apple AppStore.
We give you a very comfortable Pascal API to do this: TInAppPurchases class in the CastleInAppPurchases unit. And it works 100% for both Apple AppStore (on iOS) and Google Play (on Android), so you can really comfortably develop mobile games with in-app payments. Both “consumables” and “non-consumables” are handled.
-
We have improved the utilities and terminology around FPS (frames-per-second).
-
Read the new documentation about how to show and interpret FPS, it was improved in many ways.
-
You can now display FPS using
Window.Fps.ToString
. It accounts for the fact that we may be sleeping (Window.Fps.WasSleeping
, possible whenWindow.AutoRedisplay = false
), and always looks sensibly. It may show “no frames rendered” or “no need to render all frames”. -
New
--no-limit-fps
command-line option is automatically handled by your games (if you let the build tool to autogenerate the program file, or you explicitly useWindow.ParseParameters
orApplication.ParseStandardParameters
).
-
-
You can now get world transformation of the
TCastleTransform
using the TCastleTransform.WorldTransform and TCastleTransform.WorldInverseTransform methods.While you may not often need to call these methods explicitly, they provide a very important internal feature. Every
TCastleTransform
andTCastleScene
is now fully aware where is it placed with respect to the world, even when it is under a series of transformations. So this makes various things working correctly in all cases of transformations: the physics, X3D Billboard nodes (see e.g Text3D within the wyrd-forest demo). -
New unit CastleDialogStates and new feature MessageOKPushesState allows you to use modal dialogs a TUIState descendants, and thus have easy modal boxes working on all platforms, including iOS. Read the manual for more information about TUIState usage.
-
Some tiny new features: build tool defines
CASTLE_IOS
when compiling for iOS (to easily detect any of the 4 platforms (os/cpu combinations) representing the iOS target), TCastleEdit cooperates with the clipboard (Ctrl+C / Ctrl+X / Ctrl+V work), fix logging long strings (> 4k) on Android, use LazarusocoRenderAtDesignTime
automatically, and probably more:)
I will post some more news soon (hopefully this weekend 🙂 ), about some exciting new plans for the engine. I want to start 2018 with a bang (actually, I want to end 2017 with a bang!), and I want you to know what I’m doing. So, stay tuned for the next post where I will lay out what I’m thinking about 🙂