Wishlist for PureBasic v4.xx - Overview

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Wishlist for PureBasic v4.xx - Overview

Post 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 ;-)
Last edited by va!n on Sat Dec 10, 2005 8:17 pm, edited 11 times in total.
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Post by Polo »

You forgot Alpha channel loading with Images :wink:
Very nice list indeed, Fred has a lot of work :twisted:
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post by Trond »

PureBasic already uses 0-terminated strings.
Dr. Dri
Enthusiast
Enthusiast
Posts: 243
Joined: Sat Aug 23, 2003 6:45 pm

Post by Dr. Dri »

for variables types, 64bits integer could be var.q (like qword)

Dri
Brice Manuel

Post 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.
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

@va!n

Post 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
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
Nik
Addict
Addict
Posts: 1017
Joined: Fri May 13, 2005 11:45 pm
Location: Germany
Contact:

Post 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:
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Post 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:
:)
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

..
Last edited by thefool on Mon Nov 14, 2005 8:05 pm, edited 1 time in total.
Denis
Enthusiast
Enthusiast
Posts: 778
Joined: Fri Apr 25, 2003 5:10 pm
Location: Doubs - France

Post by Denis »

Will it be still a basic language ? :mrgreen:
A+
Denis
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

thefool wrote:..
... Too
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

quads :D
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

thefool wrote:quads :D
Stop That !!!

Uh! Uh!

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

Uh! Uh!
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

hehe :D

quads nads on attack waiting foe the fast cats

erhmm.. sorry i shouldnt be drinking all that :shock:
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post 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:
--Kale

Image
Post Reply