
Wishlist for v4.0+ - Overview
- More types for having a perfect basis for developing neverseen-creative 3D(Or any other)-stuff combined together with complex algorithms and perhaps it would be the first choice and quiet tip on universities for start.
Code: Select all
var.b ; 8 bits int
var.w ; 16 bits int
var.l ; 32 bits int
var.q ; 64 bits int
var.ub ; 8 bits unsigned int
var.uw ; 16 bits unsigned int
var.ul ; 32 bits unsigned int
var.uq ; 64 bits unsigned int
var.f ; 32 bits float
var.d ; 64 bits float
var.ld ; 80 bits float (long double) <--- for the huge scientific applications ;)
var.s ; ansi string / character (maybe var.c !?)
var.u ; unicode string / character
- Optimized and complete stuff, like Int64
- speed increment for ASM execution
- Better SoundLib, like supporting multichannel (mixing), DSP...
- Write and create (Compile) Libs in PureBasic (*.lib, a pre-compiled format i.e)
- Strings >64k, maybe StringBufferLength() / SetStringManipulationBufferSize() or at least without any hardlimitation!
- Null terminated strings (+pointers)
- bool-operations (bool.bl, ReadBool, PeekBool, PokeBool etc, True boolean variables)
- Positioning of Terrains and ability to unload
- Working CameraBackColor (asap, i get a headache every time i see RGB(0,255,255) :>
- OGRE for Linux
- Command like FreeID()
- Make it possible To create a hook for each window to separate proc
- BSTR support
- Option Explicit (like VB)
- Compile To dll "filename"
- IDE, simple paste workaround which results in plain text pasting from help For example (easy To do).
- Complexer examples And Better documenation
- Fileversion info in PureBasic.exe
- Native resource support For created exe / dll, also with functions.
- Native Handles instead using only all the ID stuff (maybe optional?)
- having commands like EventwParam(), EventlParam()
- Classes For gadgets = GroupGadgets (For example To hide, colorize block of gadgets)
- Sprite3D For Linux
- Dim(2) -> 0,1 -not 0,1,2
- ability To quote off blocks of text: %/ .. /% , not just line by line
- automatic intidents on editor
- FlipBuffer() that don't use 100% CPU while it waits to flip the buffer
- the help file could be More thecnically detailed, For example how does actually the If Command work? Does it stop testing If the first of all "Or <expression>" is True? Yeah it does, but people might want to know stuff like that. And that LoadSprite(9999,"file") reserve spritememory for all the 9998 sprites you don't use
- supporting variable Step value And Floats as StepValue
- register variables like in C++, register variables are much faster than normal variables because they use one processor memory slot And lack the need To transfer between main memory. using register variables as loop counter can speed the execution up To 15%.
- Collision For zoomed 3d sprites
- stuff like:
Code: Select all
Structure a
b.l
*c.l
EndStructure
Var.a
*var\C=2
- optional parameters For functions
- Allow More than one dimension For fields in structures
- Len() extended To support optional max lenght argument, and If not allready so, Make Len() internaly limit to max PB string length If no max length is given by the programmer.
- matching LenS() For length checking similar in the way of PeekS() seeing as Win32 api lstrlen() is "unsafe" And Len() can't be used on non PB strings)
- To be ablTotMakekeProcedurere Return a.b, b.wC C.l, f.f, j.s
- smaller and more Optimized PureBasic header and code! (even when compiling a=2, the exe is 2560 bytes!)
- Native Event Flags like:
Code: Select all
#PB_EventType_MouseOver (Or MouseIn)*
#PB_EventType_MouseOut (Or MouseLeave)
#PB_EventType_MouseUp
#PB_EventType_MouseDown
#PB_EventType_MouseMove (within gadget)
- Adding CompilerStartASM and CompilerEndASM for ASM blocks
- supporting Including/linking stuff For:
Code: Select all
IncludeLib "file.lib" <- (official lib format like For C/C++)
IncludeObj "file.obj" <- (official obj format like ASM And For C/C++ !?)
IncludeResource "file.res" <- (official resource format)
IncludeScript "file.rc" <- (script, thanks To ts-soft
- Viever for ALL PureBasic structures and all stuff like _PB_Window_ObjectsNumber, _PB_Window_ObjectsArea...
- Small and fast DirectX9 (2d/3d) commands (maybe Option to Select for dx4 / dx7 / dx9 compatibility)
- optional change between creating Win32 and Win64 PE-header, since latest FASM version support it
- scroll lock for the debugger
- comment blocks starting with /* and ending with */
- Allowing a pointer as parameter fFor Restore Command instead a label name, it should be easy To access to any part of the Data, else we must to cross datas using Read Command repeatedly Or use a label for each memory position into the DataSection
- Native 7z pack algo would be great - http://www.7-zip.org/7z.html
- Load and Catch stuff from resource
- better DOCS and complete examples on how to create PureBasic Libs
- Alpha channel loading with Images

- OGG stream support
- Safed thread DX and string stuff

- Some standard basic Keywords like: Abs() for integers, best way two functions: Abs() & AbsF() ... Atan2(), Exp(), Pi() , Sgn() , MOD, NOT, XOR
- Multiline splitting/joining support (seems most voted for this)
- Exp10() - requested via PM by chris319
