Rocklyte SDK Change-Log
VERSION 2004/7
- New CreateLink() filesystem function added for creating symbolic links.
- [Linux] Added a Partition module for hard disk partition management.
- MakeDirectory() bug fixed - not creating all directories if a trailing slash was not present.
- Fixed filesystem failure to approximate files that had multiple dots in them, e.g. MPlayer 1.0.3.install
- Fixed StrCompare() wildcard comparisions.
- Added SelectNone() method to the View class.
- Introduced CRC checking to the Config class so that auto-saving only occurs when data has been changed.
- Added ForbidExpose() and PermitExpose() functions to the Render module.
- The Pointer class now supports button remapping.
VERSION 2004/4
- AccessDrawableSurface() now returns pixel formatting information.
- Added RegisterFD() and DeregisterFD() functions for customising Linux message handling.
- Bitmap class now supports Flush() for the purpose of waiting on the graphics blitter, if the blitter is writing to the bitmap at the time.
- Added a SyncBitmap() function for waiting for the blitter to complete its most recent operation.
- SetCursor() now supports an ACF_NOBUTTONS flag to prevent cursor setting if any mouse buttons are held down.
- Added an RNF_NOFOCUS option to the render class so that you can prevent certain drawables from ever being given the focus.
- New SetCustomCursor() function for defining custom pointer images.
- It is now possible to create bitmaps that have a palette range between 4 and 128 colours.
VERSION 2004/1
- New Athene classes: Button, CheckBox, ComboBox, Dialog, FileDialog, Input, ScrollBar, TabFocus, ToolBar, View, Window. Check out the new manuals for more details.
- The Config class can load multiple files at once if each file is passed as a single location (each file separated with a semi-colon). Also added MergeConfigFile and MergeConfig methods.
- Render objects can now be dynamically centered on either axis through the Align field.
- New FileSystem functions: GetDeviceInfo(), GetFileIcon(), ReadDirectory(), OpenDirectory(), CloseDirectory(), ScanDirectory(), DeleteFile(), SaveObjectToFile()
- The Picture class now supports image caching (PCF_CACHE flag).
- New XML methods: GetXMLContent, SortXML.
- The Font class now supports clipping to individual characters via the CHARCLIP flag.
- The FindFiles class now supports copy, move and delete operations on discovered files.
- New Table methods: HideCell(), ShowCell()
- The Text class no longer supports the tab key, unless the TABKEY flag is specified.
- <if> statements are now supported by the Menu class.
- New String functions: StrDatatype(), StrInsert(). Wildcards are now supported by the StrCompare() function.
- New Kernel function: ListObjects()
- SetFields() function now supports on-the-fly string translations if the TTRANS flag is used.
- The field dictionary has been extended with new field names. Expect field ID conflicts when compiling old source code.
- The Script class now supports a caching option for static scripts.
- New Pointer functions: SetCursor(), RestoreCursor(), SetCursorPos()
VERSION 2003/9
- The Gradient class now supports alpha blending, also added dithering for better representation on 16-bit displays.
- Support for context pointers added to the X11 and Windows releases.
- Implemented XShmImage support for faster graphics throughput in X11.
- GetScreenInfo() now writes out PixelFormat information.
- Added BlitDrawable and BlitSurface methods to the Render class.
- Added CheckVisibility(), AccessBitmapSurface(), ReleaseBitmapSurface(), AccessRenderList() and ReleaseRenderList() functions to the Render module.
- A new semaphore system has been implemented in the object kernel.
- The Compression class now sets correct file dates on decompressed files.
- Added a TitleObject field to the Render class to make it easier to change window titles.
- The StrCalculate() function now detects double-negatives correctly.
- [Linux] The filesystem is now able to delete symbolic links that have been broken.
VERSION 2003/8
- IntToStr() modified so that if the StringSize is < 1, nothing is output.
- Fixed ObjectError() bug; not checking for the Object argument.
- GetScreenInfo() now outputs PixelFormat information.
- Added a WindowTitle field to the Render class to make it easier to change window titles.
- Added a restriction option to the SetCursor() function.
- Added a BufferLength parameter to the AddStream method.
- New Render module functions: BlitDrawable(), AccessRenderList(), ReleaseRenderList(), AccessBitmapSurface() and ReleaseBitmapSurface()
- New Bitmap module functions: BlitSurface()
- An all-new semaphore system has been implemented in the object kernel.
- Added AddMsgHandler() and RemoveMsgHandler() functions to the object kernel.
- The file system module now allows you to change file date/time settings.
- MemoryIDInfo() now returns the memory handle of the host system.
- The Compression class now sets the correct file date on decompressed files.
VERSION 2003/6
- Added an UpdateMessage() function to the kernel.
- Opacity support added to BlitArea().
- Added a SetOpacity method to the Render class.
- Added a Fade class for adding fade effects to window layers.
- Added a timer preservation feature to the SubscribeTimer() function.
- Classes can now hook into the assignment system and act as plugins for assignment resolution.
- Fixed bug in condition testing in the Script class.
- Improvements made to StrCalculate() so that it can handle strings.
- Added 11RATIO and FIT flags to the Image class.
- Fixed RGB colour interpretation bug in the Line class.
- Fixed loading of greyscale PNG images.
VERSION 2003/5
- Introduced the BMF_CLEAR flag for the Bitmap class, Bitmaps no longer automatically clear graphics on initialisation or resizing.
- Added MEM_NOBLOCKING and MEM_FIXED flags to the memory function support.
- Moved the pointer class to the graphics category.
- Bitmap class now supports Lock and Unlock actions.
- ReadFileLong/ReadFileWord are now obsolete and replaced with ReadLE and ReadBE.
- Added a flags argument to StrTranslate().
- The Config class now supports a STRIPQUOTES option.
- Added Focus() support to the Text class.
- Added GetConfigSectionFromIndex() to the Config class.
- Added a Sort method to the Config class.
- The Screen class now supports a SCR_BUFFER flag for video buffer management.
- Added TextX and TextY fields to the Text class.
- The Config class now allows spaces to be used in the config item descriptions.
- Added a GetXMLString() method to the XML class.
- The Text class now manages its dimensions correctly.
- Added a ButtonState field to the pointer class.
- Added a SubscribeActionTags() function to the kernel.
- Added a FontServer class for general font management.
- Added a GetRenderInfo method to the Render class.
- StrTranslate() now supports the '\' character for avoiding character translations.
- "Translate-All" and "ExitOnError" options are now supported in the Script class.
- The Task class now supports unlisted fields.
- [Linux] Fixed confusion in the TestLocation() function when two files shared the same name, e.g. "runscript" and "runscript.exe".
- The OnClick class now supports an IGNOREDOUBLE flag.
- Permission flags in the File class are now fully supported.
- The File class' CopyFile() method now preserves original file permissions.
- The File class now reverts to FL_READ if FL_WRITE cannot access is not available.
- Added a SystemTime() function to the kernel.
- Deleted the TextEditor and TextList classes, superceded by an enhanced Text class.
- Added AlignWidth and AlignHeight fields to the Font class.
- Added a {self} argument to the DML interpreter for referring to the active script object.
- Added save support to the JPEG class.
- Optimised the ResolveFields() function to dramatically cut down on memory reallocation.
- Image class now supports Move() and MoveToPoint() actions and a Background field.
- The File class now supports virtual files in memory (BUFFER flag). Also supports a loop mode for streaming data in a limited amount of space (LOOP flag).
- XML menu information can now be embedded in DML files.
- Added Disable/Enable support to the Music class.
- MP3 class added.
- Audio class revised, now able to recover resources from crashed tasks.
VERSION 2002/9
- The Compression class now compresses empty directories.
- Setting string based fields with non-string data now works.
- Fixed a win32 crash that occurred when resizing windows in a 32-bit screen.
- Added an Audio class to complement the Sound and Music classes.
- The ReallocMemory() function now releases private memory blocks when locks are detected on them.
- The Font->Face field crashed if you sent it a NULL pointer, fixed.
- Added ClearMemory() and CopyMemory() functions to the kernel.
- Fixed the cancellation of double click messages that was caused by pointer movement.
- It is no longer possible to set fields marked as Init-Only after an object has been initialised.
VERSION 2002/8
- Audio support is now available through the Sound and Music classes.
- Fixed a content parsing error in the XML class.
- Added a Procedure field to the Script class for executing sub-procedures.
- A Water effect has been added to the system.
- Three new demos have been added to the Graphical Demos archive.
- Added Frames fields to the Text and Image classes.
- Added an OPF_ERROR option to OpenKernel() so that error codes may be returned.
- The runscript program now accepts compressed script archives as well as a number of new parameters such as -delete and -progonly.
- Applied stress testing to the object kernel to fix multi-tasking errors that occurred under heavy load.
- The Picture class now loads data on initialisation, unless the IMG_QUERY flag has been set.
- The FileSystem module can now load file class extensions when the CLASS: option has been used in the assignments.cfg file.
- Added an FTP class to the system (under beta).
- Kernel function additions: GetResource(), SetResource(), ScanMessages(), Forbid(), Permit().
- The GetMessage() function now supports waiting for specific message types.
- Added a Redimension action to allow resizing on all sides of an object. Supported by the Render and Screen classes.
- Fixed bug in the Render class' UpdateRegion() function that affected drawing around layers in front of render objects.
- Added a UniqueID field to the standard message structure.
- Changed Render class' use of floating point dimensions to integers.
- Added GetUnlistedField support to the XML class.
- Fixed the If class' processing of the Statement field.
- Fixed bad calculation of the ByteWidth variable for planar bitmaps.
- Fixed bug in GenerateMask() method.
- Fixed offset drawing bug when drawing unfilled rectangles.
- Renamed the AddAssign() function to SetAssign()
- Added a Path field to the Task class.
- Updated the Moire, Movement and HelloWorld demos (available from the Rocklyte downloads page).
- The Script class will now terminate its processing if a QUIT message is placed on the local message queue.
- Added an tag to the DML instruction set.
- Added a tag to DML for the creation of unique public objects.
- Fixed Bitmap flipping (loss of pixels on opposite edge).
- Added Forbid() and Permit() functions to the kernel.
- Fixed a crash arising from render buffering that is outside of window borders.
- Modules that fail during initialisation will now be sent Expunge calls.
- Added a listmemory command to the DOS version of Inspector.
- The Pandora Engine binary installation is now automatically installed to the Windows\System32\ directory.
- Increased speed of masked blitting by using the XOR technique.
- Fixed the non-reporting of time-out errors in the WatchPublicMemory() function.
- Fixed bug in support for WaitTime() - not processing messages at regular 1/10 second intervals.
- The user: assignment is now set according to the user's login name.
- Sped up ellipse drawing.
- The Max/Min dimensions set on render objects are now forced on native Win32 windows.
VERSION 2002/4
- Added wildcard matching support to the StrCompare() function.
- It is now possible to set the Size field in File objects' for the purpose of truncating files.
- The Config class' SetUnlistedField action now allows the section name to be defined in the Field parameter.
- Added a Compression class to the archive, supports PKZIP files by default.
- Added Script, Install and Uninstall classes that were previously only available in Athene.
- The MakeDirectory() function now creates multiple directories if necessary to complete the full path.
- If the complete path doesn't exist when creating new files, the precursing directories will now be automatically created by the File class.
- Fixed bug in the Render class' MoveContent method.
- Added Disable and Enable actions to the object kernel.
- The Render class now supports Disable and Enable actions.
- New section in the Pandora SDK Manual on "Distribution and Installation".
- Added approximately 40 commonly used fields to the system field table.
- Fixed graphical problems with the opening of multiple screens.
- Fixed a crash caused by outlined font drawing.
- Added AbsX and AbsY fields to the Render class.
- All references to 'Container' were changed to 'Owner', although future references to the container type will remain backwards compatible.
- The Font class now makes use of a local string buffer to speed up settings to the String field.
- Fixed ResolveLocation(), which was not using the correct code for testing the presence of directories.
- The File class now sets the FL_DIRECTORY flag if it determines that a File object represents a directory.
- Fixed clipping errors in the BlitArea method that occurred when shifting data in a single Bitmap.
- Added a Quit method to the Task class.
- New messaging system implemented to allow better coping under system stress.
- The ProcessMessages() function now checks for task crashes and cleans up after them [Linux].
- Window layers are now deallocated correctly in the event of a crash.
VERSION 2001/12
- The Render class' SaveImage() method now works as documented.
- The navigation in the Pandora Engine HTML manuals has been improved.
- Added a ClassID argument to the SaveImage action.
- Support for saving PNG files has been added.
- Mask class has been removed in favour of simple 1-bit and 8-bit Bitmaps.
- The BlitArea() function now supports alpha blending when it receives 8 bit masks.
- Added a GenerateMask() method to the Bitmap class.
- 256 colour PNG files are now supported.
- Documentation for the Bitmap class has been improved.
- Added XOffset and YOffset fields to the Bitmap class.
- The MaskRGB field has been deleted from the Bitmap class as the ColourRGB field suffices for this purpose.
- The Pen and Bitmap classes now support translucency through new Opacity fields.
- The File class' Size field has been upgraded from 32-bit to 64-bit.
- Added a Timer class to the system.
- Added Buffer and Region fields to the Render class.
- The AttemptExclusive() and FreeExclusive() functions have been renamed to AccessObject() and ReleaseObject() respectively.
- The Config class' AddConfigEntry() method now accepts NULL and zero-length strings.
- Approximate file name matching is now supported by the File class.
- PCX, PNG and JPEG files are now detected by their file headers rather than file extensions.
- File header scanning has improved so that non-ascii bytes can be detected.
- The Head structure has been aligned to 32 bytes so that DOUBLE fields that follow the header are not mis-aligned.
- Added a MoveContent method to the Render class.
VERSION 2001/8
- Added a TabSize field and a ConvertFontCoords() method to the Font class.
- The object initialisation process has been enhanced so that sub-classes will be queried to check whether or not they understand the source data belonging to new objects.
- Introduced two new actions - Clipboard and Refresh.
- Added a Clipboard class (I/O category).
- Discovered that TSTRING and TLARGE were identical values, which caused problems with the stack when calling field based functions. Fixed.
- The user:temp/ directory is now created automatically if it is missing.
- Added a user:config/ directory. Some of the system:config/ files from previous releases have been moved into this new directory.
- AllocMemory() now checks for the existence of reserved memory blocks when MEM_RESERVED is used.
- Fixed a random memory overwrite bug in the FileSystem's AssignList() function.
- Double clicks are now supported correctly.
- Fixed a problem in ProcessMessages() that was causing dead locking and multi-tasking errors.
- Added an XML class (currently in beta testing).
- GetFieldVariable() has been modified so that when retrieving fields that have the FD_OBJECTID flag set, it will automatically add the '#' object identifier to the start of the converted number.
- A CLF_PROMOTECHILDREN flag has been added to the system Class.
- The object kernel now automatically terminates the Pandora Engine when all tasks have been destroyed.
- The contents of the user:default/ directory are now automatically duplicated when new user directories are created.
- The Config class' AddConfigEntry() method now ensures that new items are grouped under their parent section.
VERSION 2001/7
- Crash recovery has been significantly improved.
- A UserFocus field has been added to the Render class.
- A Category field has been added to the System Class.
- Added support for the Rename action to the File class.
- The startup.o header file now supports a --output argument so that executable programs can be told where to output their data.
- StrToInt() now returns a 64-bit integer rather than 32-bit.
- Added an Output field to the Execute and Task classes.
- A string sorting function has been added to the Strings module (StrSort).
- An array building function has been added to the Strings module (StrBuildArray).
- A Mask class has been added to the system. This class is supported by the Bitmap's BlitArea() method so that images can be blitted with masks.
- A bug in the sorting routines for FindObject() and FastFindObject() has been fixed.
- The SendMessage() function now handles a number of new flags.
- Standards and support for event broadcasting have been finalised.
- The Bitmap class now supports the Resize action.
- The default amount of shared memory allocated for the Pandora Engine has been lowered to 1 megabyte.
- The Draw action has been enhanced to accept X, Y, Width and Height arguments (optional).
- The IntToStr() function now accepts 64 bit integers.
- The Variable structure has been simplified so that it works off Large, Double and Pointer based values only.
- The CopyLine() method was removed from the Bitmap class (BlitArea() provides the same functionality).
Copyright Rocklyte Ltd © 2002-2007.
|