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).

About Us | News | Downloads | Athene  |  SDK | DML | Forums | Site Index

Copyright Rocklyte Ltd © 2002-2007.