Change log, since 1.12 (demo)

BlitzMax Forums/BlitzMax Beginners Area/Change log, since 1.12 (demo)

samnova(Posted 2006) [#1]
I'm currenly considering buying BlitzMax but was wondering how much have been changed/fixed/added since the demo version was created, I saw the change log/histor for 1.22 and it was pretty impressive ;)

Have anyone created a total list of changes since 1.12 till 1.22 ?


H&K(Posted 2006) [#2]
Well I was under the impression that there was a new demo 1.20, so why not download that and look. For my opinion although some things have been added, it mostly now that its not to be concidered beta anymore


samnova(Posted 2006) [#3]
If I under products wants to download then I get following URL

http://www.blitzbasic.com/file/get.php?file=/Products/demos/BlitzMaxDemo112.exe

so version 1.12

Maybe the demo is somewhere else!!!


H&K(Posted 2006) [#4]
You are right see below


Dreamora(Posted 2006) [#5]
only osx is updated ...
Linux has none
Windows is over half a year old and not compatible to current BM


H&K(Posted 2006) [#6]
Thats realy realy stupid of BRL


samnova(Posted 2006) [#7]
This confused me a bit ;)
Update 1.22 was that not for all versions ? Including windows !!!
If yes, then what is not compatible with the latest BM.. changes in the runtime ?


Dreamora(Posted 2006) [#8]
The code won't work with 1.22 as some commands and the GC changed, nor are modules built for 1.12 compatible with 1.16 and later.

And yes the update was for all versions, but the update does not use the regular updates so this has nothing to do with the demo.


xlsior(Posted 2006) [#9]
The next version after 1.12 was 1.14 -- see below for all changes from 1.14 through 1.22.


***** 1.22 Release *****

+ (BCC) Extern type method params now accept default values.

+ (BCC/BRL.AppStub) Fixed Var params nuking debugger.

+ (Docmods) Added Brucey's Import/Include fixeds.

+ (BCC) Fixed debug statement location with ElseIf.

+ (BCC) Changed toker so spaces now allowed in array decls like [,] etc.

+ (BCC) Changed 'ForEach' errors to 'EachIn'.

+ (BRL.Bank) Added Lock/Unlock to replace Buf

+ (BRL.Retro) Cleaned up Mid$

+ (BRL.Blitz) Changed ReadStdin so it can handle any length input

+ (BRL.Blitz) Fixed leak in WriteStdout and WriteStderr

+ (BRL.Blitz) Added LibStartUp stub

+ (BRL.Blitz) Added GCSuspend and GCResume

+ (BRL.Blitz) Added experimental dll support

+ (BRL.Blitz) Added Nan and Inf keyword docs

+ (BRL.Blitz) BCC extern CString fix

+ (BRL.D3D7Max2D) Modified TD3D7Max2DDriver.SetGraphics for new dxgraphics commands

+ (BRL.D3D7Max2D) Fixed BufferedD3D7 vertex color errors

+ (BRL.D3D7Max2D) Changed DrawImage tristrip to trifan to fix subpixel cracking

+ (BRL.Event) Added EVENT_GADGETLOSTFOCUS

+ (BRL.Event) Added EVENT_KEYREPEAT

+ (BRL.EventQueue) Fixed CurrentEvent being retained in queue array

+ (BRL.FileSystem) Rebuild for StdC chmod_ linkage

+ (BRL.GNet) Some doc fixes

+ (BRL.Graphics) Mouse repositioned only in fullscreen mode

+ (BRL.Graphics) Flip mode for attached graphics changed to 0

+ (BRL.Graphics) Fixed softsync period init bug

+ (BRL.Graphics) Fixed softsync routine to prevent overflow

+ (BRL.Graphics) Graphics exceptions now caught

+ (Pub.FreeJoy) Added JoyHit samplejoy fix, thanks to HamishTheHystericalHamster

+ (BRL.JPGLoader) Changed ReadBytes to Read for loader

+ (BRL.JPGLoader) Added SaveJPEG function, thanks to Jeffrey D. Panici for the writefunc `fix'

+ (BRL.KeyCodes) Removed KEY_NUMSLASH from docs

+ (BRL.LinkedList) Changed Reverse to maintain TLink stability

+ (BRL.Map) Finally changed to red/back tree!

+ (BRL.Map) Added procedural interface

+ (BRL.Map) Fixed TMap.Remove:TNode not returning node

+ (BRL.Max2D) Fixed collision bug with non alpha/masked images

+ (BRL.OGGLoader) Fixed reading past end of stream with some short files

+ (BRL.GLGraphics) Added GLDrawPixmp

+ (BRL.GLGraphics) Trapped Win32 WM_CLOSE

+ (BRL.GLGraphics) Added extra check for use of flip sync extensions under Linux

+ (BRL.GLMax2D) Fixed filtered image min filters

+ (BRL.Pixmap) Added _source:Object field

+ (BRL.Stream) Fixed resource leak in CasedFileName

+ (BRL.System) New Linux implementation of OpenURL

+ (BRL.System) RequestFile now adds extension to filename on Windows

+ (BRL.System) Added EVENT_GADGETLOSTFOCUS handling

+ (BRL.System) Added EVENT_KEYREPEAT handling

+ (BRL.System) OpenURL now attempts to fully qualify file / http url supplied

+ (BRL.System) Fixed MacOS RequestFile to respect wild card filter

+ (BRL.System) Fixed mouse hidden by default

+ (BRL.System) Fixed HideMouse causing mouse to disappear when in non-client areas

+ (BRL.System) Fixed Linux MoveMouse to be relative to the origin of the current Graphics window

+ (BRL.TextStream) Modified LoadText to handle stream URLs

+ (BRL.TextStream) Added LoadText, SaveText

+ (BRL.TextStream) Fixed UTF16LE=4

+ (BRL.TextStream) Added TextStream module


***** 1.20 Release *****

+ (BRL.FileSystem) Added CopyDir/CopyFile.

+ (BCC) Fixed export/import of longs.

+ (BRL.Graphics) Fixed soft synced Flip so it doesn't overflow after 4+ hours.

+ (Bank) Added Lock/Unlock semantics to replace the direct buffer access. See LockBank/UnlockBank/TBank.Lock/TBank.Unlock - please use these instead of BankBuf/TBank.Buf in future.

+ (BCC) Fixed Incbin so it doesn't matter where it is in code.

+ (BCC) Tidied up $z and $w again. These can now only be used with extern functions AND function pointers!

+ (BCC) Fixed imports of const Nans/Infs.

+ (BRL.Math) Added IsNan, IsInf

+ (BRL.LinkedList) Added optional CompareFunc parameter to SortList

+ (BRL.Graphics) Added DefaultGraphicsFlags() Function

+ (BRL.Hook) Added Context parameter to RemoveHook function

+ (BRL.MaxGUI) GraphicsFlags removed from CreatePanel, panels now use Graphic's DefaultGraphicsFlags

+ (BRL.MaxGUI) Added range checking on gadget item parameters

+ (BRL.FLTKMaxGUI) Fixed ClearListItems

+ (BRL.FLTKMaxGUI) Fixed some keyboard focus problems

+ (BRL.FLTKMaxGUI) Fixed case sensitive shortcut keys issue with fltk1.1.7

+ (BRL.FLTKMaxGUI) Fixed Canvas depthbuffers

+ (BRL.CocoaMaxGUI) Fixed DisableGadget for TextFields, Sliders and Menus

+ (BRL.CocoaMaxGUI) Stopped TreeViewNode with iconstrip crashing with no icon (icon=-1)

+ (BRL.CocoaMaxGUI) Stopped stepper Slider value from wrapping around

+ (BRL.CocoaMaxGUI) Fixed TextField to scroll single line correctly

+ (BRL.CocoaMaxGUI) Added out of range error checks for TextArea commands

+ (BRL.Win32MaxGUI) Fixed menu problem with new const cstr() implementation

+ (BRL.Win32MaxGUI) Fixed memory leak in cstr() implementation (should be const)

+ (BRL.Win32MaxGUI) TextArea gadgets now use unicode

+ (BRL.Win32MaxGUI) Fixed SLIDER_STEPPER sliders reporting decremented values

+ (BRL.Win32MaxGUI) Fixed GadgetHidden()

+ (BRL.System) Added Linux X11 import to remove glgraphics.mod dependency

+ (Pub.Lua) Moved to Axe.Lua

+ (BCC/BMK etc) Added macos x86 support.

+ (BRL.GNet) Fixed low level send/recv leaks.

+ (BCC) Added $w support for 16 bit wide chars.


***** 1.16 Release *****

+ (BRL.GNet) Now uses Pub.Enet

+ (Pub.ENet) Added.

+ (BCC) Fixed object->ptr conversion causing GC problems.

+ (BRL.Win32MaxGUI) Fixed panels with PANEL_GROUP style client child clipping problem

+ (BRL.Win32MaxGUI) Fixed incorrect index handling for ModifyGadgetItem on combo and list boxes

+ (BRL.System) Fixed win32 clipboard glitches with QS_ALLINPUT bbSystemWait mod

+ (BRL.System) CGSetLocalEventsSuppressionInterval fix for MacOS bbSystemMoveMouse

+ (BRL.Map) Fixed TMap.Remove:TNode(key) not returning node

+ (BRL.CocoaMaxGUI) Fixed NSRequestFont behavior with null default

+ (BRL.CocoaMaxGUI) Fixed Disable on Panel and Canvas NSGadgets

+ (BRL.Win32MaxGUI) Fixed MenuText and SetMenuText crashes

+ (BRL.D3D7Max2D) Fixed lost device from fullscreen tabbing

+ (BRL.D3D7Max2D) Fixed MIPMAPPEDIMAGE flag effect on FILTEREDIMAGE setting

+ (BRL.MaxGui) Fixed some broken examples due to new 1.14 strict rules

+ (BRL.MaxGui) New common maxgui.h header file for use by native drivers

+ (BRL.MaxGui) Documented TEXTAREA_ALL, TEXTAREA_CHARS and TEXTAREA_LINES constants

+ (BRL.MaxGui) TreeView now uses EventExtra to specify node involved

+ (PUB.FreeJoy) Added MacOSX joystick axis Rx,Ry,Rz (JoyR,JoyU,JoyV) and Wheel

+ (BRL.D3D7Max2D) Added flush to BufferedD3D7Max2DDriver for SetBlend and SetViewPort

+ (BRL.Win32MaxGUI) Fixed lost focus during TextArea formatting

+ (BRL.Win32MaxGUI) Fixed ActivateWindow freezing when trying to find first tab stop

***** 1.14 Release *****

+ (BCC) Fixed 'unrelated types' error when comparing extern type objects.

+ (BCC) No more implicit object<->handle conversions in strict mode! Use: HandleToObject and HandleFromObject to perform explicit object<->handle conversion.

+ (BRL.Stream) Readint -> ReadInt!

+ (BCC) Fixed GC bug with auto arrays

+ (BRL.Data) Removed TDataStream.NewObject, modified TDataStream.ReadObject.

+ (BRL.TextStream) Read/Write methods now use pure text (experimental!)

+ (Pub.StdC) Fixed getsockopt

+ (BRL.MaxGui) Query renamed QueryGadget

+ (BCC) Fixed incrementing precolored reg degree regallocator bug.

+ (BRL.Blitz) Removed printf in 'Throw'.

+ (BRL.D3D7Max2D) Replaced texture factor with vertex colors for improved driver compatability

+ (BRL.Win32MaxGui) Fixed vertical trackbar problems with -ve ranges.

+ (Pub.FreeAudio) Fixed freepool sounds Not resetting parameters - thanks To Fetze

+ (Pub.DirectX) Added TnL GUID.

+ (BRL.DXGraphics) Tries TnL device first.

+ (BRL.Win32MaxGui) Fixed SelectedTreeViewNode crash and TreeViewNode GetText method.

+ (BRL.AppStub) Removed unused debugger sources.

+ (BRL.AppStub) Fixed debugger not showing base type info.

+ (BCC) Fixed 'Var expr' causing 'internal error'. 'Var expr' has been removed - use 'expr[0]' instead.

+ (BCC) Fixed SuperStrict int import bug.

+ (BRL.GLGraphics) Changed capture display to capture all displays for MacOS.

+ (BRL.AppStub/BRL.CocoaMaxGui) Fixed missing app menu under latest Tiger.



And the Release notes:


1.22 Release
************

Another maintenance release - various compiler issues fixed.


1.20 Release
************

Mainly a maintenance release - lots of little bug fixes, tidy ups etc.

Added some methods to String: StartsWith, EndsWith and Contains - see strings doc in language reference.


1.18 Release
************

BlitzMax now generates native x86 code on Intel Macs! The tools in 'bin' (compiler, linker etc) are still distributed as PowerPC apps, and rely on Rosetta (Intel Mac PPC emulation layer) to work. They run surprisingly well, but you may want to have a go at recompiling some of these - esp. MaxIDE - for improved performance. Universal binaries and/or cross compiling not yet supported.

Important note: before using the Intel Mac version, you will need to perform a 'rebuild all modules'. This will probably result in several C compiler warnings which you can ignore.

Fixed a bunch of compiler bugs, and added a '$w' type for 16 bit null terminated 'wide char' strings to complement '$z'. Use of these types is now restricted to 'extern' function parameter and return types.

The compiler no longer allows you to create a pointer to an object via VarPtr (this was always supposed to be the case, but somehow it got overlooked!). Therefore, 'Object Ptr' (or ' Ptr' etc) is no longer accepted. This is because there is not any safe way to write to such a pointer without massively confusing garbage collection/detection. It is still legal to convert an object reference to a 'Byte Ptr', but you should be aware the pointer will only be valid while the object remains 'in scope'.

Unicode support improved on Mac and Windows. Most MaxGUI gadgets are now unicode friendly, and the IDE should be too.


1.16 Release
************

Pub.ENet module added.

GNet now uses ENet for low level comms. GNetAccept and all peer functions have gone. GNetAccept now built into GNetSync, and GNetConnect now just returns True/False.


1.14 Release
************

Big change: automatic object/handle conversion has been removed
in Strict mode.

This means code such as...

Local image=LoadImage( "something.png" )

...will need to be changed to...

Local image:TImage=LoadImage( "something.png" )

...in strict mode. Ditto for sounds, channels etc.

This may affect quite a bit of code out there, but I believe it's the right thing to do (we really should have done this much earlier). The automatic object/handle conversion has been the source of a large amount of confusion and, quite probably, memory leaks.

You can now perform explicit object/handle conversion using:

HandleFromObject:Int( obj:Object )
HandleToObject:Object( handle:Int )

The first time you call HandleFromObject, you will receive a unique, per-object integer 'handle'. Subsequent calls to HandleFromObject will return the same per-object handle, and you can use the handle with HandleToObject to recover the original object.

When you are done with the handle, don't forget to Release it or the object will leak. Releasing the handle will also cause any future HandleFromObject calls to return a new handle value.





samnova(Posted 2006) [#10]
Thanks a lot Marc, just what I was looking for.