# June / July bag of improvements: better Unicode utils (TCastleStringIterator and more), VS Code important fix, Docker image upgrades, new example screen\_resolution\_change...

**URL:** https://forum.castle-engine.io/t/june-july-bag-of-improvements-better-unicode-utils-tcastlestringiterator-and-more-vs-code-important-fix-docker-image-upgrades-new-example-screen-resolution-change/1269
**Category:** News
**Created:** [July 15, 2024, 3:27pm UTC](https://forum.castle-engine.io/t/june-july-bag-of-improvements-better-unicode-utils-tcastlestringiterator-and-more-vs-code-important-fix-docker-image-upgrades-new-example-screen-resolution-change/1269 "2024-07-15T15:27:00Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [July 15, 2024, 3:27pm UTC](https://forum.castle-engine.io/t/june-july-bag-of-improvements-better-unicode-utils-tcastlestringiterator-and-more-vs-code-important-fix-docker-image-upgrades-new-example-screen-resolution-change/1269/1 "2024-07-15T15:27:00Z")

</div>

| [![Cat with jetpack from Sketchfab - https://sketchfab.com/3d-models/jetpack-cat-6838f7599617408485cd055cd0ce5182](https://forum.castle-engine.io/uploads/default/original/2X/f/fade820d8748cbd847d69cab126355df37ae094b.png)](https://castle-engine.io/wp/wp-content/uploads/2024/07/cat_jetpack-1.png "Cat with jetpack from Sketchfab - https://sketchfab.com/3d-models/jetpack-cat-6838f7599617408485cd055cd0ce5182") |

We work intensively on the engine! Here’s a list of smaller engine improvements / fixes done recently. (For [bigger improvements, see all the recent news — we have a lot of new stuff](https://castle-engine.io/wp/).)

1. New simple API in our `CastleUnicode` unit: `TCastleStringIterator`, `UnicodeCharToString`, `UnicodeCharToReadableString`, `StringWithHtmlEntities`. All with auto-tests. All following our general rule that [when used with FPC, we follow default Lazarus conventions: `String` is `AnsiString` and it holds UTF-8; when used with Delphi, we follow default Delphi conventions: `String` is `UnicodeString` and it holds UTF-16](https://castle-engine.io/coding_conventions#strings_unicode).

2. We’ve made important fix to our [VS Code extension](https://castle-engine.io/vscode) last month: we now pass engine path properly to the LSP when the engine path has been configured as VS Code extension setting.

3. I wrote a small page [documenting how overloading Pascal works, with or without the `oveload` keyword](https://github.com/michaliskambi/modern-pascal-introduction/wiki/Overloading-in-Pascal,-with-or-without-the-%22overload%22-keyword%3F).

4. Optimized DPROJ size when your project has huge number of data files (we still need to list them all, for Delphi non-Windows targets, see [Data files deployment (applies to all non-Windows platforms with Delphi)](https://castle-engine.io/delphi_linux#data_files_deployment), but the DPROJ shouldn’t be that big anymore).

5. New example [examples/user\_interface/screen\_resolution\_change](https://github.com/castle-engine/castle-engine/tree/master/examples/user_interface/screen_resolution_change) showing how to use `Application.TryVideoChange` to change the monitor physical resolution. Along with a [README that warns when it may not be the best idea](https://github.com/castle-engine/castle-engine/tree/master/examples/user_interface/screen_resolution_change) 🙂 Using [UI scaling](https://castle-engine.io/manual_castle_settings.php) is our first recommendation to make a game that adjusts to arbitrary user screen size.

6. You can now drag and drop [Tiled maps](https://castle-engine.io/tiled_maps) on the viewport.

7. [Docker image upgrades](https://castle-engine.io/docker):

8. We now warn if it seems you _mix_ 2 engine versions. 

9. _Nothing done:_ We have been testing switching FPC optimization in _release_ builds from -O2 or -O3. Sadly, it creates bugs in Aarch64, so we reverted back to -O2.

I don’t have a perfect image to illustrate this post. Attaching a screenshot showing how to display a [cat with a jetpack](https://sketchfab.com/3d-models/jetpack-cat-6838f7599617408485cd055cd0ce5182) instead :), because we can.

Do you like what we do? We appreciate [your support on Patreon!](https://www.patreon.com/castleengine)
