[FR] [IT]


This document outlines the new features in FB^3 release 5. You will find the list of bug fixes in a separate document on the CD.

OpenGL Support for Game Writers


You're not going to believe the graphics. Our 3D game engine example shows how to use OpenGL. You can use the arrow keys to move around in this 3D environment..

Press release:
Paris, 07/09/2001
[return to top] Project Manager
Project ManagerYou can now double-click a group name to edit it.

The project manager has a pop-up menu that lets you see functions in files that aren't even open.

New routines have been added for companies sharing the same files in a project. Attempting to save over a locked file produces a warning. A new preference allows you to turn off that warning when desired.

The Project Manager is smart enough to detect alias files that were created in the Finder and to correctly display the title and open the file when double-clicked.

[return to top] OS-X


Our first humble efforts at bringing OS-X applications to FB are underway. We have already completed applications that use the Mac Toolbox runtime. By the next release we hope to be fully compliant.

[return to top] Editor
If you click the name of the function that appears at the top of the window, you will be transported to the beginning of the LOCAL FN.

Divider The function name display located at the top of the editor window updates more quickly and is able to find the correct function name in routines that are up to 300 lines long.

The line separator menu has been expanded to include even more line styles.

The editor now pre-allocates 50K of RAM which is released when memory is critically low.

[return to top] Runtime/Compiler Changes
The new UNS command converts an unsigned long integer to a double float.

You may now print records of any type. Beyond the standard items like RECT, you can add your own special items with OVERRIDE RUNTIME PrintRecType(TheAddr&,theType&) .

We added the toolbox calls for allocating temporary memory.

The PPC assembler now allows access to the floating point registers.

A new routine lets you print to a handle (instead of the screen or a printer). The syntax is PRINT _toBuffer. You can even keep as many as five active buffers open at once.

Toolbox calls can now accept floating point parameters.

Your functions may now use as many as 16 parameters. (The previous limitation was 8 parameters.)

A new preference lets you store bytes and words in RAM instead of registers. It correctly maintains the sign of values which might otherwise be lost.

The BASIC 88 runtime now handles 2-byte scripts and allows a mixture of 1 and 2 byte characters.

[return to top] Debugger
When the debugger is used, the first break at startup is now at the end of the code generated by the project manager. That means you have fewer steps to get to your own code.

Two new commands display a small window at any time from your application. They are DEF DEBUGSTRING and DEF DEBUGNUMBER.

The debugger now displays arrays.

Floating Point registers are now properly displayed in the variables window.

If you hold down the option key while building an application, a line start table is created. This can be used by third party tools like Waverly's disassembler (called Assembly Line) which is included on the CD.

When the "STOP at line ##" message is displayed, FB properly calculates the exact line in the correct file.

[return to top] Apple Events
A new vector (ON APPLEEVENT(class,type)) lets you vector Apple Events just like DIALOG and MENU events.

Use SENDAPPLEEVENT to send messages to other processes.

Use KILL APPLEEVENT to remove any Apple Event handler.

The new GETPROCESSINFO function lets you find what processes are active.

[return to top] Faster, Faster, Faster...
The compiler now caches files and holds them unless memory is needed. This speeds compilation (especially in the case of networked file access).

Non-register floating point math routines are faster by as much as 25%! You can also set up your local functions to store floating point variables in the floating point registers.

Edit field creation is much faster. If you have a window full of fields, you will see about a 500% increase in speed.

The UCASE and LCASE routines are faster than ever.

[return to top] Dynamic Arrays
Don't worry about dimensioning arrays to the largest possible size. Let FB handle memory allocation for you with dynamic arrays. Instead of using a DIM statement, use DYNAMIC or DIM DYNAMIC.

You can delete these arrays and free all memory allocated to them with KILL DYNAMIC.

Dynamic arrays work with a user definable "pad" that minimizes the number of times that the array has to be resized. You can drop this pad and save only essential data (as when you are writing disk files) with COMPRESS DYNAMIC.

New commands for file manipulation have been added. They are: READ DYNAMIC and WRITE DYNAMIC.

You can add your own error messages by overriding FN FBAbortIfError. This routine is called when RAM cannot be allocated to a dynamic array.

[return to top] Database Support
Data Shell lets you create powerful and flexible database-driven applications with FB^3.

A demo and ordering instructions are available on the CD. Look in the Examples folder for the Data Shell.

[return to top] Great new Examples (More than 1500 files!)
Future Paint (Source & application!)
RaytracerRay tracing & anti alias drawing
Data Shell
OpenGL gaming frameworks
YSpeak & ZSpeak (For the speach impaired)
Generate Web Pages
SimpleText to HTML converter
Display Super/Subscript
Unlimited text Viewer
Dissolve & Rainbow Effects

[return to top]


Assembly Line
Waverly Edwards has produced another great utility! Be sure and check out his dissassembler called Assembly Line

  © 2000 Pix&Mix  
  All Rights Reserved

  FutureBASIC is a registered trademark of Staz Software, Inc and is used with permission.