So many contributions: Providing data for HTTP PUT requests, fast toggling Tiled layers visibility, improved C++ library API, XML API for colors in hex, build tool info, FreeBSD fixes

Castle Game Engine on FreeBSD 14

Michalis was busy last week reviewing and merging many Pull Requests to our engine. Thank you everyone for your contributions, and your patience with me (sometimes when I’m busy finishing some other work in CGE, that takes priority, and PRs wait a bit), and keep it coming!

In particular:

  1. We now support providing input data (as a stream) for HTTP requests (like PUT, or POST when TCastleDownload.HttpPostData is not enough), thanks to Vlad (phomm). Use the TCastleDownload.HttpRequestBody and see at examples/network/put_data/put_data.dpr.

  2. We now support fast toggling of Tiled layers visibility thanks to Dennis Spreen. Simple example is part of map_viewer example, just set Boolean like TiledMap.Data.Layers[0].Exists := .... This is the exact method with example code.

    For future plans, see our “New API for Tiled layers” section in the roadmap.

  3. Our deprecated library (for C, C++ applications that want to utilize CGE to display 3D models in any application) was extended to allow configuring input shortcuts thanks to Jan Adamec.

  4. Our XML utilities have been improved to support reading and writing colors as hex values thanks to Eugene Loza.

    There is another big PR from Eugene incoming: Steam support! And more from Eugene: distance field fonts, Bootstrap upgrade, screen effects + blending…

  5. Our build tool can now return more information: FPC paths, project paths thanks to Andrzej Kilijański. This is initial part of our upcoming big feature for VS Code users.

    There’s more from Andrzej as well: new navigation components, optimization for mouse move events, Android improvements…

And finally, we have also fixed CGE on FreeBSD and tested it with latest FreeBSD 14 version. We did it by fixing CastleGL, our dglOpenGL fork, to support FreeBSD. Thanks to Bartosz Jarzyna for reporting!

Thank you everyone for contributing. I hope you enjoy working with our game engine, and please keep it coming, we have big plans to be the best open-source game engine ever! See our roadmap to get inspired. Our features list wants to grow 🙂

3 Likes

Maybe just for completeness: mention POST along with PUT :slight_smile:

1 Like

Good point, I edited the post to say

We now support providing input data (as a stream) for HTTP requests (like PUT, or POST when TCastleDownload.HttpPostData is not enough), thanks to Vlad (phomm). Use the TCastleDownload.HttpRequestBody and see at examples/network/put_data/put_data.dpr.

I admit I emphasize the PUT usage, as this is I think the most common usage, but indeed we should mention it’s for all HTTP methods.

1 Like