Log in

View Full Version : Pocket Programming Language 1.10 released.


kornalius
12-12-2006, 10:12 PM
ArianeSoft Inc. is proud to announce that Pocket Programming Language version 1.10 has just been released.

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

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


Download PPL 1.10 from : http://www.arianesoft.ca/download.php?view.21

Mirror : http://www.arianesoft.ca/e107_files/downloads/ppl110.exe


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.
- Fixed VelLimitLow and VelLimitHigh in Game Level Editor.
- New SpriteVelLimitLow() and SpriteVelLimitHigh() functions.
- Fixed bugs in Redim().
- PIDE, ability to use namespaces or not in Visual form editor.
- Fixed number of arguments checking in = operator. When used with a$, b$, c$ = "ABC" / 3 it now works.

Godsongz
12-14-2006, 04:44 PM
Are there any good sources out there for example source code in PPL? I've browsed through the forums at http://www.pocketmatrix.com/forums/viewforum.php?f=41&topicdays=0&start=0 but it would be great if there was a repository of code out there somewhere that people could try. I always learn a language faster when I have a lot of existing source code to deconstruct and figure out how it works.