Release Notes for Version 4.65

Help Contents Release Notes Release Notes for Version 4.65
Release Notes for Version 4.66 Buglist for version 4.65

Release Notes for Version 4.65

aUCBLogo-4.65 is a port of my UCBlogo version to the OpenGL graphics library. The core has only slightly been changed since the last version (4.64): Two new Warnings have been added, so you can easier port programs from UCBLogo and MSWLogo. They're displayed when a variable has the same name as a proc or a primitive.

Supported platform is still only Windows 9x and newer, where OpenGL exists. Porting aUCBLogo to wxWindows and Linux is on my project list.

New are antialised lines, polygon rendering and texture mapping (with bugs, but nice though).

I have added a reset.lg to reset the interpreter to a known state.

Also new is the (now working) dir (because shell does work better) and dirlg.lg. dirlg is particularly useful for browsing the examples in combination with reset.

I have tried to make all old demos work with the new graphics engine, but the projection matrix functions are still not working (spelltest.lg).

On some graphics cards (i.e. Intel Extreme Graphics) there´s strange OpenGL SwapBuffers() behavior, therefore I have added the command singleBuffer (and to reset: doubleBuffer).

Also, to use the free Crimson Editor, I changed the startup behavior. Now if you call Logo.exe with a xxx.lg file name parameter (logo.exe xxx.lg), then the file will be loaded and the procedure xxx will be executed.

This is cool because so you can write your Logo programs in an editor like Crimson and then execute your program with just one hot key (if you assigning one, which I intensly recommend). The Crimson syntax file in the Crimson subdirectory is of course updated, too. You should copy the /Crimson/ directory to your Crimson Programs directory to enable syntax highlighting.

A MS HTMLHelp file (aUCBLogo.chm) is new in this package. So you can call in Logo the help with F1, and even better, include the .chm in Crimson, so you have the F1 help there, too (using Crimson´s Tools/Conf. User Tools menu to configure).

The comparsion operators now should work, even with strings. If one of the arguments is a number, then the other argument will be converted to a number if possible. If not possible, then a string compare is done.

On converting from MSWLogo or UCBLogo you should replace all dots . to _ because the dot . is the item operator in aUCBLogo. Also, = should be changed to ==, because = is the assignment operator, == is the comparsion operator. But the biggest hurdle are variables which have the same name as a procedure or a primitive. In such a case I mostly rename i.e. a variable "list" to "list_".

Also, I've ported some of the cool CSLS demos to work with aUCBLogo (basic, pascal, diff).

Changed and new primitives are:

< <= == > >=

ArcSin ArcCos radArcSin radArcCos

ignore replace

cd changeDir

doubleBuffer singleBuffer redraw saveSize setSaveSize

BitCopy BitPaste BitLoad BitMakeTransparent bitTrans BitSave

enableLineSmooth enLS disableLineSmooth disLS enablePolySmooth enPS disablePolySmooth disPS enableRoundLineEnds enRLE disableRoundLineEnds disRLE

perspective unperspective setEye setPS

Ellipse fillEllipse fillPie fillRect

reRGBA RGBA HSBA addColors

setXYZ setZ PosXYZ setPosXYZ

DistanceXYZ towardsXYZ

setSpherePos setCylinderPos

Roll leftRoll rightRoll

Orientation setOrientation

PolyEnd PolyStart

Sphere Ellipsoid

setLightPos setLightAmbient setLightDiffuse setLightSpecular

Texture enableTexture enTex disableTexture disTex

new library procedures are:

dir dirlg reset check

axes rotatescene

displaymatrix

BitPasteT has been deleted because now there is BitMakeTransparent, and OpenGL provides Alpha channel support (transparence).

PrintSize, SetPrintSize are deleted, because printing chooses the sizes automatically. And saving is controlled via setSaveSize, saveSize.

movePixel and moveLine are deleted, because there is double buffering.

For questions concerning this special version of good old UCBLogo you may ask Andreas Micheler.

Release Notes for Version 4.66 Buglist for version 4.65