IDE (Code Editor):
- Supports up to 8 open projects simultaneously
- Reopen most recently used files window (lists up to 20 files)
- Project Templates allow you to save and re-use project settings for later use
- Supports up to 255 source files per project
- Tab support for source files
- Files can be included with the "Source Manager" or with the "#INCLUDE" directive
- "Source Manager" allows you to maintain your source files (Add / Rename / Delete / Export)
- "File Management" allows you to maintain files (eg. media) that are part of you project
- Advanced search and replace
- Customizable Toolbars
- Definable breakpoints and watches
- Exports source code to RTF or HTML
- Print source code
- Customizable margin and gutter
- Optional auto save and backup files
- Customizable editor settings
- Auto indent and un-indent
- Keyword sensitive indent
- Block indent
- Customizable Syntax Highlighting
- Library Paths management
- Source Inspector lists psubs, functions, types, global variables, constants and data lines
- "Messages" displays error messages and search results
- Keyword sensitive help system
- Plug-in interface
Language Data Types:
- True Constants (Integer, Float, String, built In Predefines)
- Global/Local/Static scope
- User Defined Types (UDT)
- Byte, Word, Integer, Float# & UDT Pointers
- Integer, Float#, String$ & UDT Variables
- Integer, Float#, String$ & UDT arrays
- Types support inheritance
- Array Handle (references) (pass arrays in and out of functions and subs.)
- Dynamic Array/Type Handles (Redirect local Arrays at will)
- Optional Explicit Variable Declaration ( Pre-declare your variables)
- True Multi instance Variables as per traditional BASIC ( reuse the same variable/array names as different data types)
- User Defined Functions.
- User Defined Protected Subroutines (i.e. Sub routine with parameter passing & encapsulated static local scope)
- Optional Parameter Support for User Defined Functions & Subs.
- Dynamic Function Calling ( Call function by Name or via index)
- Type List Controls ( ForEach / Next)
- All the popular loop control structures. For/Next, Repeat/Until, While/EndWhile, Do/Loop. As well as optimized conditional loop structures such as Do / DecLoop, Do (Expression)/Loop
& Do / Loop (Expression) variations.
- Select/Case statements. Supports Ranges, expressions, continue cases
- IF/Then with IF/Else/ENDIF and IF/ElseIF/Else/Endif support
- Various none conditional control changes. Goto, Gosub, Exit, ExitFor, ExitDo, ExitRepeat, ExitWhile, Continue
- Conditional ON Variable GOTO & GOSUB. (Featuring Jump Table Support)
- Embedded Data statements.
- ReDim Arrays At RunTime. Resize arrays in real time without loss of data. Supports Integer / Float / String And Typed Arrays
String and Math Support:
- String Engine is completely optimized for runtime performance.
- Supports various Math expression short cuts (Ie ++ , --, +=, -=,/=, *=, &= and more)
- Built in intersection commands (line / circles / box / shapes)
- Standard math operations. Add, Sub, Mult, Div, Powers.
- Binary Operations AND, OR, XOR, NOT, LSR, LSL, ROL, ROR and much more
- Supported Bases Hex, Dec, Binary & Octal
- Swap operations & conditional SwapIfLower,SwapIfHigher operations
Plus, Loads of Built in Math Functions, too many to list
- Right$(), Mid$(),trim$(),lower$()
- SplitToArray(), upper$(), AutoCaps$(),
- Insert$(), Make$(),Flip$(),Replace$(),Instring$(),Pad$()
Command Sets & Libraries:
- Frame Sheet Animation Library - Manage and Play Back image animations.
- Windows Dialog Library - Open Windows standards with ease.
- Windows GUI library - Use Windows/Menus/ GUI Controls etc in your PB application.
- Flash Library - Use Macromedia Flash movies with PB.
- ActiveX and NET Library - Use active X and .Net dll's in PB programs.
- Http Library - Accessing the WEB.
- Ini Library -Command set to read and write Ini files.
- Music & Sound FX - Supports Ogg, Mp3, Wav.
- Midi Out - Library to send messages to the MidiOut ports
- Array Manager Library. - Get Greater Control over your arrays with various copy, sort,
clear, resize, search, fill features.
- DLL library. - Expand PB by using your own external DLL Functions.
- Banks Library - Memory management.
- Support Windowed or full screen displays with view ports
- Extremely fast Image Blitter (Assembly optimized!).
- Sprite Engine. (Rotation, Scaling, Bilinear Filtering, Alpha Channels, Dynamic Tinting, Alpha Blending, Sliding Collision & Pixel and Vector Collision combinations and more)
- Map Engine. (Load, render, animate, manage tiles with ease)
- 2D Worlds + Cameras - Making handling your game world easier with cameras.
- Image Library. - Supporting Image Blur, Fade, Mask, Mirror, Grayscale etc
- Vector Shapes (Draw custom polygon shapes, from Convex, Concave to Complex polygons)
- Print, Text, Center Text, ink/ cls / Dot/ Line / Circle / Ellipse/ Box / Polygons (Tri/Quad - Filled Textured Mapped)
- All vector graphics commands support draw modes (ie. alpha blending, alpha additive, subtractive etc)
- Custom Bitmap & True Type Fonts. (Mix and match them at will)
EXE Format: (not available in Learning Editions or Demos)
- Release.exe (Fastest and smallest exe mode, no error trapping).
- DEBUG.exe's (trap any error numbers/ messages and LINE numbers from the exe)
- User Selectable Icons.
- Custom User Definable Splash Screens.
- Exe's only require Direct X3.0. (So they will run on Windows 95 / Windows 98 / Windows ME / Windows XP / Windows Vista, Windows 7 & Windows 8)
- Extermely Fast compilation times for speedy game development (Over 10000->20000 lines per second!).
- Supports conditional compile time #IF / #IfDef / #IfNdef / #ELSE / #ENDIF.
- Custom Auto Counter for incremental constant assignments (Enumerations)
- Full Hex, Binary and octal Parser support.
- Pre-optimzation of constant expressions.
- The compiler features various logical redundancy optimizations, to reduce calculations to lease number of operations possible.
- Compile time Optimizer supports Type Caching to remove common accesses of the same user defined types.
Run Time Debugger:
- Supports HALT, STEP & TRACE
- STEP & TRACE support auto Speed control.
- Displays/Save Variable and Array states
- Built in print console for debugging information
More coming every day!