9th June 2002
PureBasic V3.20 (Windows) :
WARNING! The window callback behavior have changed and will cause program lock if you used one ! See SetWindowCallback() doc
for more info.
- Added: Cipher library: CRC32Fingerprint(), MD5Fingerprint(), DESFingerprint(), Base64Encoder()
- Added: AddKeyboardShortcut(), RemoveKeyboardShortcut(), SpinGadget(), WebGadget()
- Added: GetMenuItemState(), SetMenuItemState(), MenuHeight()
- Added: KeyboardReleased(), Trim(), Space()
- Added: SelectElement(), LineXY(), GetExtensionPart()
- Added: ! (XOR) and ~ (NOT) bitwise operands
- Added: Protected BASIC keyword
- Added: Shift+Tab keyboard shortcut to cycle gadget back
- Added: Debugger now detects when using a NULL pointer and a division by 0.
- Optimized: 2DDrawing, Keyboard, Mouse, Sound and Sprite libraries (Command splitted) !
- Optimized: Plot() command when used with ScreenOutput() is 40 times faster (DirectX)
- Updated: PokeS() and PeekS() now have an optionnal Length parameter
- Updated: KeyboardPushed() can now have #PB_Key_All as parameter for any pushed keys
- Updated: FileSize() now returns -2 if the file is a directory
- Updated: WindowID() can have an optionnal #Window paramater
- Updated: All gadgets commands (added a 'Flags' optionnal parameter) which allows a full control over their look !
(See the each Gadget doc for more information)
- Updated: Plot(), Line(), Box(), Circle(), Ellipse() have now an optional color parameter.
- Updated: Debugger has some bug fixed. When a program stop, or the debugger quit all is cleaned correctly.
- This allows fullscreen game debugging easier as the screen close down before displaying the error.
- Updated: Sprite library debug routines.
- Changed: Renamed StripLead() and StripTrail() to RTrim() and LTrim() for other BASIC compatibility
- Changed: NetworkClientEvent(), CloseNetworkConnection()
- Changed: CreateToolBar(): added 'WindowID' paramater
- Changed: CreateMenu(): added 'WindowID' parameter
- Changed: NetworkClientEvent() and NetworkServerEvent(): no more 'String' event: could be a possible exploit..
- Changed: OpenWindowedScreen() x,y parameters take in count the window top and left border width.
- Changed: ResizeWindow(), WindowWidth() and WindowHeight() now use inner area width/height to work with new OpenWindow() and skin support
- Removed: AttachToolBar(), DetachToolBar(), AttachMenu(), ReceiveNetworkString()
- Fixed: Frame3DGadget() with other sunken and raised frames
- Fixed: ListViewGadget() events
- Fixed: FileSize()
- Fixed: StopDrawing(), display under win9x got corrupt after lot of calls
- Fixed: Debugger problems..
- Fixed: AddGadgetItem() with ListIconGadget() (-1 position wasn't working)
- Fixed: SpritePixelCollision() with clipped sprites
- Fixed: Possible bug in Random()
- Fixed: SpritePixelCollision(), only (0,0,0) transparent color worked
- Fixed: InitSprite(), InitSound(), InitPalette(), InitKeyboard() don't display system request anymore if DirectX 7+ isn't found.
- Fixed: RemoveGadgetItem() and ClearGadgetItemList when used with PanelGadget()
- Fixed: PathRequester() default path on Win9x systems
- Fixed: @LinkedList() with '.s' type now return correct list element pointer (instead of string pointer)
- Fixed: ReadPreferenceString() was faulty in some cases
- Fixed: Documentation: SaveImage(), ScreenID(), SelectedFontStyle() and SelectedFontColor() were missing