January News – Android uninstall, list devices, fix for Android 15; query texture RGBA color from Pascal; IFC and web progress; set default platform; fix for bundled FPC + VS Code

Posted on

Castle Model Viewer Mobile - Dungeon in Examine Mode
Castle Game Engine displaying IFC model with walls and windows
FreeCAD displaying the same IFC model with walls and windows
  1. You can now easily uninstall Android application or list available Android devices (connnected using USB, paired using Wi-Fi, or running emulated devices).

    Use the new editor menu items in “Run -> Android -> …”.

    Or use the command-line build tool like castle-engine uninstall or castle-engine devices. See the uninstall docs and devices docs.

    The castle-engine devices is a wrapper around adb devices, it also is consistent with flutter devices. The castle-engine uninstall is a wrapper around adb uninstall.

    Note: We recommend to use Android Studio to pair Android devices over Wi-Fi and to manage emulated devices.

  2. Fix for Android 15 (on some devices).

    We uncovered a critical problem on Google Pixel 6a after upgrade to Android 15. It looks like Android 15 bug, namely: argv on this device just contains invalid pointers. This was causing applications made using our engine to crash, as we initialize Parameters.

    Workarounded now. Gory details in this commit and this comment with logs.

  3. Updated Android applications, like Castle Model Viewer for Mobile, will be available soon.

    They will be released by our new Castle Game Engine account on Google Play.

    New Google verification process forced us to create a new Google Play account… otherwise Google decided it would publish exact Michalis’ private home address for the whole Internet. ( Why? Because the account had payments enabled, even though we never used them, all our apps are free, no in-app purchases, no ads. But Google things they “may earn money” and their decision is irreversible, so says their support and recommended us to make a new account. Thank you for not doxing me, Google. )

  4. We introduced TAbstractTextureNode.Color to query texture contents from Pascal code. This is useful e.g. to perform ray-casts that go through transparent texture pixels, see this forum thread.

  5. We are working intensively on IFC support in our engine. January improvements include:

  6. Work on the web target also continues.

    We have cleaned up various code and merged all the work into the engine master branch. So it’s all safely integrated with the rest of the engine work.

  7. You can override the default project platform of the project. While the documentation is now part of the “web target”, it’s a general feature unrelated to web. You can make any target (like web, or Android, or anything else) the default for all the engine commands.

    The default platform set this way is recorded in a file CastleProjectLocalSettings.json, which is a serialized TCastleProjectLocalSettings class. It affects both the editor and command-line build tool usage.

    You can change the default platform by editing this JSON file, or using the menu item “”Run → Platforms → Save Chosen Platform As Default (in Project Local Settings)” in the editor.

  8. FPC has solved an issue of unnecessary warnings/notes when using Generics.Collections. Not everything is perfect but it’s a great step forward, addressing the issue in most common cases.

    In response, We have adjusted the warnings/notes hidden by our engine config, to hide less things when being built by the latest FPC 3.3.1 version. This is great, it means you may get some new useful warnings from FPC 3.3.1, because we no longer have to hide the “flood” of unnecessary warnings/notes emitted previously for every Generics.Collections usage.

  9. A small new feature is TCircle2DNode.RadiusY which allows to make ellipses (not necessarily proper circle) using the X3D node TCircle2DNode. Test X3D file is here.

  10. We have just pushed an important fix to how our “bundled FPC” (distributed with CGE downloads, so that you don’t need to install FPC) cooperates with the build tool. We had a bug previously, that in particular affected usage from our VS Code extension – you could experience errors like Generics.Collections not found.

    Note: At the moment of posting this, this fix is still building. It will be available in downloads in a few hours, once the commit “Find fpc-cge first, because our “bundled FPC” may be on $PATH” disappears from this page.

Finally, we’d like to thank everyone who supports us! Your support on Patreon and other places matters and it allows us to develop all the features you see above. Thank you and have fun!

Start the discussion at Castle Game Engine Forum