Seite 1 von 6

PureBasic 4.40 Beta1 released!

Verfasst: 14.08.2009 01:12
von freak
Tag zusammen,

Es ist zwar nicht Montag, es gibt aber trotzdem ein neues PureBasic release zum runterladen. :)

Einige Highlights:
  • 64bit Linux Version
  • Map Library (hash-maps)
  • Unsigned byte/word
  • Alphachannel und Gradient support für 2DDrawing library (nur ImageOutput())
  • 2DDrawing library ist besser crossplatform (Sprite/ScreenOutput() für OpenGL, WindowOutput() für OSX)
  • Projektmanagement in der IDE
  • Besseres AutoComplete
Ein paar Beispiele für die neuen Features gibt es hier:
http://www.purebasic.com/beta/v440_examples.zip

Download account:
http://www.purebasic.com/securedownload ... anguage=DE

Englisher thread:
http://www.purebasic.fr/english/viewtop ... 524#295524

Das komplette Changelog:

Code: Alles auswählen

- Added: Linux x64
- Added: Map Library for hash tables
- Added: 'Threaded' Keyword for thread-local variables
- Added: Structure assignment copies the structure (a.point = b.point)
- Added: ClearStructure(*Pointer, Structure)
- Added: AES to cipher library: AESEncoder(), AESDecoder(), StartAESCipher(), AddCipherBuffer(), FinishCipher()
- Added: Dylib for OS X
- Added: Trim/LTrim/RTrim() got an optional character to trim
- Added: Added #PB_Function, #PB_OSFunction, #PB_Map to Defined()
- Added: ReverseString(String$), InsertString(String$, StringToInsert$, Position), RemoveString(String$, RemoveString$ [, Mode [, StartPosition [, NbOccurences]]])
- Added: Add blob support to databases
- Added: Added peephole optimizer to 64 bit versions to produce better code
- Added: '.a' (ascii) and '.u' (unicode) native type to provide native unsigned byte and word.
- Added: FileBuffersSize(#PB_Default, ...): #PB_Default support change the buffersize to the next opened files
- Added: #PB_URL_Protocol to Get/SetURLPart()
- Added: #PB_Shadow_TextureAdditive
- Added: FTPDirectoryEntryRaw(), FillMemory(Memory, Value, Size [, Type])
- Added: Global, Protected, Threaded, Shared and Static now accept a type to affect all default variable declaration.

- Added: AddWindowTimer(), RemoveWindowTimer(), #PB_Event_Timer, EventTimer()
- Added: #PB_Window_Tool - create tool windows
- Added: StatusBarProgress()
- Added: StatusBarImage() - now supports normal images (not just icons)
- Added: #PB_Checkbox_ThreeState flag to create a 3 state checkbox (state values: #PB_CheckBox_Checked, #PB_CheckBox_Unchecked, #PB_CheckBox_Inbetween)
- Added: ShortcutGadget()

- Added: CreateImageMenu(), CreatePopupImageMenu() for OSX
- Added: Full alphachannel support for all GUI elements that display images 
- Added: Full alphachannel support for Image lib 

- Added: New drawing modes for 2DDrawing in ImageOutput()
   - #PB_2DDrawing_AlphaBlend
   - #PB_2DDrawing_AlphaClip
   - #PB_2DDrawing_AlphaChannel
   - #PB_2DDrawing_Gradient

- Added: LinearGradient(), BoxedGradient(), CircularGradient(), EllipsicalGradient(), ConicalGradient(), 

CurtomGradient()
- Added: GradientColor(), ResetGradientColors()
- Added: DrawAlphaImage() for all outputs on all OS
- Added: DrawAlphaImage() has a new transparency parameter and can be used to draw non-alpha images part transparent

- Added: QuickDraw subsystem for WindowOutput() on OSX
- Added: Sprite/ScreenOutput for OpenGL (all OS)
- Added: DrawingFont() works for SDL output!
- Added: OutputWidth(), OutputHeight(), OutputDepth() for 2DDrawing
- Added: GrabDrawingImage(), DrawRotatedText()
- Added: RGBA(), Alpha()

- Added #PB_PixelFormat_ReversedY - for pixel buffers that are stored upside-down (Windows ImageOutput or OpenGl)
- Removed: #PB_Image_DisplayFormat is now deprecated (value set to 32 to have 32bit as default)

- Added: #PB_OS_Windows_7 for OSVersion()

- Updated: OGRE to 1.6.2, sqlite 3.6.14.2, PCRE to 7.9

- Changed: Call(C)Function(Fast) parameters have been changed from 'Any' to 'Integer'.
- Fixed: Image Decoders are now threadsafe

PureBasic IDE:
- Added: Highlight matching keyword for keyword under cursor (tied to BraceMatching color setting) 
- Added: Edit->Goto matching keyword
- Added: PB_TOOL_Preferences Environment variable for IDE tools
- Added: Theme management to customize menu icons
- Added: New 'Silk' theme based on the Iconsset by Mark James

- Added: Autocomplete scans implicit variable declaration and respects scope
- Added: Structure item autocomplete

- Added: Project Management:
      - Autocomplete for all files within a project (even if not opened)
      - Multiple compiler settings for different compile targets
      - Compile all compile targets at once
      - Per-Project list of last opened files
      - Project ToolsPanel tool for fast access to the project files

- Changed: moved encoding/newline setting from compiler options to file menu


Debugger:
- Improved: greatly improved VariableViewer update speeds
- Added: progressbar display if VariableViewer update takes long
- Added: column sort capability to VariableViewer (Windows Only)
Viel Spaß beim Testen,

Das PureBasic Team

Re: PureBasic 4.40 Beta1 released!

Verfasst: 14.08.2009 01:26
von Kiffi
freak hat geschrieben:Es ist zwar nicht Montag, es gibt aber trotzdem ein neues PureBasic release zum runterladen. :)
Das ist gemein! Ich wollte doch grade ins Bett gehen. :cry: ;-)

Danke :allright:

Grüße ... Kiffi

Verfasst: 14.08.2009 03:41
von NicTheQuick
Geil, geil, geil!

Wird heute Mittag mal mit Ubuntu 9.04 64-Bit getestet. :allright:

Besondern gefallen mir auch das Struktur-Kopieren, ClearStructure(), blob-Support, die
Gradienten-Sachen und alle Dinge, die sonst nur Plattform-spezifisch waren.

Verfasst: 14.08.2009 04:36
von jojo1541
hmm in der deutschen Version ist der Projekt-Menüeintrag auf englisch.
und das aes-Besipiel geht nicht, weil beim Befehl AESEncoder ein parameter fehlt.

Aber ansonsten sind die Neuerungen gelungen.. besonders mit den neuen alpha-blending Befehlen kann ich was Anfangen.

Btw: hübsche neue Toolbaricons hat die IDE da.. die sind nicht zufällig aus dem Archiv "famfamfam_silk_icons" geklaut? :lol:

Verfasst: 14.08.2009 07:32
von Little John
Das komplette Changelog
Enthält interessante Dinge, vielen Dank! :allright:

Gruß, Little John

Verfasst: 14.08.2009 09:06
von tmjuk
Wochenende ist gerettet :allright:

Torsten

Verfasst: 14.08.2009 09:17
von Franky
Super, keine Speicherlecks bei Strings mehr :)

Wer nicht weiß, was ich meine:

Code: Alles auswählen

Structure test
  txt.s[600]
EndStructure 
Repeat
    *Pointer.test=AllocateMemory(SizeOf(test))
    For a=0 To 599
          *Pointer\txt[a]="Ein Test"
    Next
    ;ClearStructure(*Pointer,test)
    For a=0 To 599
          *Pointer\txt[a]=""
    Next
    FreeMemory(*Pointer)
ForEver 
Starten und schnell zum Computerladen rennen, um mehr RAM zu kaufen ;)


Aber n Fehler hab ich bei dem Code trotzdem gefunden <)

Code: Alles auswählen

    ClearStructure(*Pointer)
gibt
Syntax Error[/code]
statt
Wrong number of parameters
Kleinvieh macht auch Mist :twisted:

Und für DrawrotatedText send ich hiermit mal ne Virtuelle Europalette mit Merci-Schokoladen rüber :allright:

Verfasst: 14.08.2009 11:15
von dige
Freak!!! Die neue IDE rockt! Das ist der Tag aller Tage ... an dem ich mich
wahrscheinlich von jaPBe verabschiede und zum Original zurück kehre :D

Verfasst: 14.08.2009 11:20
von Thorium
Endlich Unsigned Variablen. Nach so langer Zeit sind sie tatsächlich wahr geworden. Ich kanns noch garnicht glauben. :mrgreen:

Hoffe da folgen bald noch Unsigned Long und Quad.

Verfasst: 14.08.2009 11:40
von Joel
OJA! Die neue IDE ist ja echt cool!

Sehr schönes neuen PB

Hoffentlich kommt bald ein neuer Visual Designer!