PDA

View Full Version : Updates for April 2008



Pyrogine
24-04-2008, 02:22 PM
Features that will be in the upcoming PyroGine SDK 1.1 build:

* Official FontStudio 4.1 support. The problem with large CharArray to support Unicode has been solved by using a sparse array. Also, I got permission to include FS in the PGSDK Distro. To support FS I created a custom font class that you can be used as the basis for deriving your own custom font support for use in PGSDK.

* New database support that allows you to use a local/remote MySQL database and use SQLite3 database for local embedded access. There is even support for threaded MySQL connection/query.

* I enhanced the TPyroStream and TPyroArchive classes so that the end user could create custom Stream and Archive descendants. The problem was that the core PGSDK code is on the DLL side. How do you extend a class in the normal and natural "Delphi way" when it's inside a DLL. There are different ways that you can get at a class inside a DLL in Delphi but they do not allow for easy class extension. I came up with a way that is simple and elegant and works without growing overly complicated. You're extended streams will work with both the low-level API and the high-level OOP framework.

* Added a persistence object framework. Any class that you wish to persist just derive it from TPyroPersisentObject and override the Save and Load methods. These two methods allow you to save and load your object to any TPyroStream descendant. You have methods to register your objects, check if they have been registered and to save and load them to a specified stream.The way we've implemented this persistence framework is light weight, simple and elegant.

* The TPyroNet class has also been extended to support persistences. What this allows is for objects to be able to persist across a network connection. We use a reliable UDP layer in PyroNet with buffering and compression. You can directly send a TPyroPersisentObject across the wire and this object will be deserialized inside the OnReceiveEvent.

* Added to our website bug tracking, support tickets, a wik and more.