Page 1 of 1

PPL 1.1 has been released!

PostPosted: Dec 8, 2006 @ 8:10pm
by kornalius
Pocket Programming Language version 1.1 has just been released.

This version is a big improvement over version 1.0. Many new features have been implemented and numerous bugs have been fixed. Here are some of the new features to expect in 1.1:

- New easy-to-use TCP/IP, Bluetooth and Infrared libraries.
- New simplified database libraries based on the powerful SQLite module and ADO/CE.
- Powerful component viewer to allow fast code navigation.
- Support for .OGG sound format playback.
- Game Level Editor support particles and layers for more advanced game development.
- Major particle engine enhancements, including 28 new particle functions to offer more control.
- New Windows Registry library.
- New and enhanced Package functions.
- Ability to load sprites, surfaces and sound from memory.
- And so much more...

Here is the complete change log:

- Removed all functions from Windows.ppl and moved them to Swapi.ppl library.
- Fixed %c in printf() and sprintf() functions.
- New CacheText() function to optimize truetype font drawing by painting to a sprite.
- New SetSpriteLifeTime() and SpriteLifeTime() functions to set the sprite time to exists in milliseconds.
- New SetSpriteAnimVel() and SpriteAnimVel() functions to set the animation speed relative to velocity.
- Fixed GetText() and SetText() functions to use WM_GETTEXT and WM_SETTEXT messages instead of GetWindowText() and SetWindowText() api functions.
- Added GetDoubleClickTime to Windows.ppl library.
- Changed NewParticle to use particle options.
- New particle options: PO_PHYSIC, PO_FREESPRITE, PO_COLLIDE, PO_DIE, PO_LOOP, PO_ROTATE.
- New particle events: WM_PARTICLELOOP, WM_PARTICLEDIE.
- New Explode() function to split a sprite into multiple sprites.
- Fixed memory leak bug introduced in 1.08.
- Fixed DelSprites() to flag the sprites in the deleted sprites list too.
- Fixed DelSprite() to delete the sprite from memory.
- 28 new particle functions to get and set each particle properties.
- New Simplified Windows Socket API with TCP/IP, Bluetooth and Infrared support.
- PIDE: Allow to change default editor font.
- New AddList() function to add a list to another.
- New ADO database library.
- New AdoTest demo program using the new ADODB.PPL library.
- Get and Set procedures are now supported in all variable types (list, structs, objects...).
- New Console Skeleton code in users menu.
- New Registry.ppl library to access Windows registries.
- New RegistryTest.ppl demo.
- New parameter in MakeEXE() function to force target compilation type.
- New (PIDE) navigation treeview that lists all procs/funcs, variables, includes, classes ...
- New support for particles groups in Game Level Editor.
- Added OnEraseBackground event to common control event list.
- Fixed g_suspend bug when focus on application is lost.
- Fixed bug when SO_CHECKCOLLIDE was not specified.
- Fixed bug in g_shut() when back buffer was still open for drawing.
- ProcessParticles() and RenderParticles() are done automatically by the game engine now.
- New GameParticles() function to override game engine settings for particles processing and rendering.
- New FORCELINK function statement to force the linker not to remove the proc or func.
- Fixed numerous #namespace bugs.
- Fixed Game Level Editor selection of the game map.
- Maximum and minimum frame count in some sprite's functions are checked.
- New SetVar() function to set a variable value by using its name as a string, in the same manner as the GetVar() function.
- New .OGG compressed music file support added.
- New support for #namespace in Visual Form Editor in the PIDE.
- Optimized collision detection and fixed memory leak.
- Fixed evaluation of expression or code bug where file pointers were lost on opened files.
- Sort() function has a case sensitive parameter now.
- Fixed PIDE Visual Form Builder, loader to support any caption values.
- Fixed button color drawing in PIDE Visual Form Builder.
- PIDE, when temporary dialog appears (run,compile), make destination text control focused.
- Fixed error 103 when running a form on the PocketPC more than once.
- Fixed error after compiling or running on the PocketPC and form and then switching target to PC.
- Add Control_Enable, Control_Disable and Control_Enabled functions in Swapi.ppl
- Fixed Arrays in structures used with strings bug.
- Fixed StrToList() and StrToListEx() functions.
- Fixed Form_Repaint, Form_Refresh, Control_Repaint and Control_Refresh functions in swapi.ppl.
- New LoadSpriteFromMem() function to load a sprite image from memory.
- New LoadSoundFromMem() function to load a music or a sound from memory.
- New LoadSurfaceFromMem() function to load an image from memory.
- PIDE, new option to run the PPL runtime IDE.
- PIDE, new option to access the package manager utility.
- Fixed PIDE source code formatter to have better support for ~ & |
- Runtime error when trying to access a private variable outside a class.
- Fixed interpreter to automatically free objects from memory.
- Fixed Cos360, Cos256, Sin360 and Sin256 functions to work even without the GameAPI initialized.
- Fixed IncAngle() and IncAngleRad() functions bug.
- Fixed bug in TDIM().
- Checks range out of bounds for array index values. ex: dim(a$, 10, 10); a$[11, 10] = 10; will give an error in range check mode.
- Fixed debugger on PocketPC.
- Fixed debugger users entry watch window to support namespaces.
- Random() now supports double type values.
- Added support for WM_MOUSEHOVER, WM_MOUSELEAVE and WM_MOUSEACTIVATE in Windows.ppl.
- Added support to run Autorun.ppc file, not just Autorun.ppl.
- Fixed mouse events on sprite to calculate origin positions properly for wParam$ and lParam$.
- Fixed debug when used with form, not saving code properly.
- New ExtractFileFromPackageEx() function.
- Fixed SavePackage to support NULL in Filename and Key parameters.
- New AddFileToPackageEx() function to allow specifying a package file name.
- New support for custom layer in Game Level Editor.
- Fixed Add() to support adding a structure variable to a list.
- Fixed Find() to support FO_NUMERIC properly.
- Fixed bug in Find() field index support.
- Fixed ArrayToList to support strings.
- Fixed ArrayToList to support arrays of custom sizes.
- New compiler error message if a Func or Proc is embedded in another one.
- New IsPointer() function to know if an address is storing a pointer or not.
- New InputBoxDemo.ppl demo for InputBox and InputQuery functions.
- Update InputBox.ppl library file.
- Fixed ShowModal on PC to center form correctly.

You can download PPL 1.1 from http://www.arianesoft.ca/page.php?1