Hi all! I am happy to announce that BGT version 1.2 is now available for download! Aside from introducing joystick support which has been a long requested feature, this is also a very important security upgrade for several reasons. I recommend all of you to recompile your existing games with this version as soon as you can. Now, let's have a peak at the change log as always:
Version 1.2 (revision 1): * Modified the internal encryption key scheme to be considerably more secure. IMPORTANT! The encryption functions are not backwards compatible. You will not be able to decrypt any data encrypted with earlier revisions of BGT, using this version. These measures were taken to make it harder for hackers to steal keys from memory dumps. * Updated the script interpreter to the latest version which fixes some more bugs found by users, and adds the following features: 1. A method called reserve to the array object which is useful for optimizing performance because it preallocates memory for future elements. 2. A method called is_empty to the string, the array and the dictionary objects which sometimes is a more efficient shortcut than checking the length. 3. A method called get_size to the string, the array and the dictionary objects. In the two former cases, get_size is the same as the length method. 4. Some great optimizations to the array methods that call user defined functions internally, such as find and sort_ascending/sort_descending. * Added joystick support. * Added some new functions to perform script code profiling. * Added an instance object that allows you to ensure that only one copy of your game is running (thanks Damien). * Aded a function called set_error_output which enables you to have internal engine errors automatically printed to a file throughout the execution of the program, along with some other information such as the script call stack when the error happened. * Added a method called get_headers to the http object that retrieves only the headers from a given location on an http server (thanks Nikola). * Added two functions (set_sound_master_volume and get_sound_master_volume) to adjust the volume of the entire sound output in a given game. * Added two functions (screen_reader_set_library_path and screen_reader_unload_library) which provide you with more control over how BGT uses the dll files for System Access and NVDA (sponsored by Lukás Hosnedl). * Added an optional parameter to the input_box function to fill the box with some initial text (thanks Claudio). * Added a global script property called SCRIPT_EXECUTABLE which retrieves the full path to the program (sponsored by Lukás Hosnedl). * The set_sound_decryption_key method now opens the default audio device implicitly if a device isn't already open. * Reduced the size of precompiled game executables a little more. * The maximum stack size has been increased from 2000 to 10000 functions. * Updated the performance optimization tutorial with a section on reserving memory in arrays. * Added support for progress bars with beeps to the audio_form include class (thanks Christopher). * Added an optional parameter to the non-extended play methods in the sound pool class, to allow these to create persistent sounds as well (thanks Ryan). * Added support for multiselection enabled listboxes in the audio_form include class (Thanks Damien). * Added several new methods and constants for retrieving, setting and managing control information in the audio_form include class (Thanks Damien). * Added support for additional keys such as right control and NumPad Enter to be used in the audio_form class (Thanks Damien). * Improved several speech and keyboard behaviors in the audio_form class (Thanks Damien). * Changed a behavior in the audio_form so that now only one progress bar in the form may be flagged as global (Thanks Damien). * Changed the name of the redist/screen-readers directory to redist/screen_readers, as it was originally supposed to be. * Fixed a crash in the load_from_memory method of the sound object if invalid input is given (thanks Nikola). * Fixed a bug that would cause sound cloning to be performed incorrectly if a file with the same name was loaded both from a pack file and from disk. * Fixed a bug in the write method of the logger class where a file would still be written to even if the log was empty (Thanks Damien). * Fixed a bug in the logger class that caused line breaks not to be written correctly (Thanks Damien). * Fixed several crashes in the audio_form class (Thanks Damien). * Fixed a bug in the audio_form include class where the cursor of a listbox would reset if adding an item to a list (Thanks Damien). * fixed a bug in the audio_form class whereby the set_tts_object method would fail if the form was active (Thanks Damien). * Fixed a bug in the audio_form class that pasted multiline text into a single line field (Thanks Damien). * Notice: Failed to document the additional parameters in the create_button method in the audio_form include class (thanks Damien). * Fixed a few typos in the language tutorial (thanks Marc and Michael). I hope you will find this release useful, and feel free to send me your thoughts and feedback! Kind regards, Philip Bennefall --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://mail.audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gamers@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.