Page 1 of 6

Wishlist for PureBasic v4.xx - Overview

Posted: Sun Nov 13, 2005 2:18 pm
by va!n
I have tried to collect nearly all posted wishes and discussions from this link , for having a small overview to improve PureBasic v4 ;-)



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 
 
- Better and optimized ASM output

- 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
  
- support For single, double And triple buffering methods

- 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 ;-)

Posted: Sun Nov 13, 2005 2:33 pm
by Polo
You forgot Alpha channel loading with Images :wink:
Very nice list indeed, Fred has a lot of work :twisted:

Posted: Sun Nov 13, 2005 3:25 pm
by Trond
PureBasic already uses 0-terminated strings.

Posted: Sun Nov 13, 2005 3:56 pm
by Dr. Dri
for variables types, 64bits integer could be var.q (like qword)

Dri

Posted: Sun Nov 13, 2005 9:51 pm
by Brice Manuel
I would love to see the 3D side of PB improved and fully supporting the latest version of Ogre, and collision and such things added.

I know I am in a minority who want to use PB for games, but unfortunately PB suffers the same issues all languages do that try to support apps and games, ie, either the app support or game support suffers. In this case, it is the 3D support.

@va!n

Posted: Mon Nov 14, 2005 11:31 am
by nco2k
@va!n
Better SoundLib, like supporting multichannel (mixing), DSP...
and dont forget the ogg stream support.
FlipBuffer() that don't use 100% CPU while it waits to flip the buffer
yes!!

c ya,
nco2k

Posted: Mon Nov 14, 2005 6:34 pm
by Nik
In modern life Network is one of the most important parts it's what makes me talking to you possible and computing fun so PLEEEEEEEEEEAAASE don't forget it Fred :roll:

Posted: Mon Nov 14, 2005 7:28 pm
by va!n
@Polo:
Your wish has been added to the overview, anyway thanks :wink:

@Trond:
About the 0-terminated strings, i only added stuff people discussed and wished...

@Dr.Dri:
64bits integer could be var.q (like qword) << just check ya PM :wink:

@Brice Manuel:
Correct me if i am wrong, but the mainpoint of this has been added to the overview list. 8)

@nco2k
OGG streaming support has been added to (xmas)-overview-wishlist :D

@Nik:
:)

Posted: Mon Nov 14, 2005 7:39 pm
by thefool
..

Posted: Mon Nov 14, 2005 8:00 pm
by Denis
Will it be still a basic language ? :mrgreen:

Posted: Mon Nov 14, 2005 8:40 pm
by Num3
thefool wrote:..
... Too

Posted: Mon Nov 14, 2005 8:47 pm
by thefool
quads :D

Posted: Mon Nov 14, 2005 9:02 pm
by Num3
thefool wrote:quads :D
Stop That !!!

Uh! Uh!

Or i'll kick you in the nads ...

Uh! Uh!

Posted: Mon Nov 14, 2005 11:31 pm
by thefool
hehe :D

quads nads on attack waiting foe the fast cats

erhmm.. sorry i shouldnt be drinking all that :shock:

Posted: Tue Nov 15, 2005 2:31 am
by Kale
Num3 wrote:
thefool wrote:quads :D
Stop That !!!
Uh! Uh!
Or i'll kick you in the nads ...
Uh! Uh!
Do you Have Teepee? Teepee for My Bunghole? uhurrr uhurrrr :wink: