New version of PPL pre-beta 0.8 is now available at http://ppl.arwen.com
- Optimized the loading of the .ppc files. It gained a huge performance boost.
- Optimized the saving of the .ppc files also. Performance is now way better.
- Fixed the PIDE to delete the main .ppc file everytime a modification is made to any of the project files.
- Optimized the collision detection grid system by not allocating memory every time a sprite moves around.
- Fixed ShowModal() function not to move the dialog left position to 4 pixels anymore.
- Greatly optimized the parsing process.
- You can call functions by telling the compiler the number of return values you need.
- Runtime error message now displays the filename where the error occured, even if it's a library.
- Parser now list all the libraries that it compiles in the errorlog.txt file.
- CRC32() function added.
- Fixed global bug with variable optimization when they are pointers to another variable.
- Fixed parser crash when unclosed ).
- Compiler won't generate more than 64 errors at the time.
- Recoded list and structure parameter passing.
- New ReStruct() function to restructure an already defined structure.
- Recoded the list of structure to support one structure type per element in the list.
- When passing pointer parameters (&var$[1]), compiler will give an error.
- Fixed compiler bug when empty array index was used. (Ex: Array$[]).
- Variable names are being validated when created.
- New IsValidVar() function to validate a variable name.
- New SetSpriteTimer(Sprite, Id, Interval, UserValue); KillSpriteTimer(Sprite, Id); PauseSpriteTimer(Sprite, Id, Paused); Paused$ = SpriteTimer(Sprite, Id);
- Fixed ShowModal() not to close the dialog but hide it instead.
- Compiler gives better error messages and they are more uniform.
- Optimized the sprite sorting procedure.
- New string functions: Reverse, SwapCase and Capitalize.
- Fixed the GetItem, SetItem, GetItemIndex and SetItemIndex to support ListBox and ComboBox controls.
- New LimitPPS% global variable to limit the maximum number of process per second and give more processing power to draw frames.
- Fixed NPOS() to return -1 when not found.
- Fullscreen on PC defaults to 16 bits and 60hz refresh rate. However this can be changed with the BitsPerPixel% and Frequency% global variables before initialization of the game api.
- Fixed SO_PIXELCHECK sprites to detect collide with non SO_PIXELCHECK sprites.