Page 2 of 2

Re: Wishlist for PB 7.0 :)

Posted: Wed Jan 21, 2026 9:51 pm
by idle
unsigned types
structures byval for params and returns so it's compatible with c, libs like chipmunk, raylib, miniaudio
defaults for structures and fill

Code: Select all

Procedure.vec2 VecScale(a.vec2,mag.f)  
    ;a by val , returns vec2 by val 
    define result.vec2  
    result\x  = a\x * mag
    result\y =  a\y * mag
   if mag <> 0   
      procedureReturn result 
   else 
     procedureReturn = {1.0,1.0}  ;default fill 
   endif            
EndProcedure  

mVec.vec2 = VecScale(a,0.5) 

;Defaults for structures 
structure foo 
  a.i = 123 
  b.s = "foo" 
  ar.i[10] = {1,2,3,4,5,6,7,8,9,10} 
EndStructure 

;fill arrays like c  
dim gA.Vec2() = {1,1,2,2,3,3,4,4,5,5}

Re: Wishlist for PB 7.0 :)

Posted: Wed Jan 21, 2026 10:16 pm
by r-i-v-e-r
idle wrote: Wed Jan 21, 2026 9:51 pm structures byval for params and returns so it's compatible with c, libs like chipmunk, raylib, miniaudio
+1000, so much this. I was actually writing a reply to IceSoft's structures by pointer request as you posted this.

Returning/receiving structures by-value C ABI style would be an incredible boon for me.

In order to interface w/ some Objective-C APIs, structures must be returned in this way. At present, this means I have to manually copy results into RAX/RDX/XMM/D0~D3 registers accordingly using inline ASM/C, which is pretty arduous. Though I've built helpers to deal w/ pretty much any case now, it'd be amazing to have this feature in-built so it's less clunky/fragile.

Re: Wishlist for PB 7.0 :)

Posted: Wed Jan 21, 2026 10:21 pm
by miso
idle wrote: Wed Jan 21, 2026 9:51 pm unsigned types
structures byval for params and returns so it's compatible with c, libs like chipmunk, raylib, miniaudio
defaults for structures and fill

Code: Select all

Procedure.vec2 VecScale(a.vec2,mag.f)  
    ;a by val , returns vec2 by val 
    define result.vec2  
    result\x  = a\x * mag
    result\y =  a\y * mag
   if mag <> 0   
      procedureReturn result 
   else 
     procedureReturn = {1.0,1.0}  ;default fill 
   endif            
EndProcedure  

mVec.vec2 = VecScale(a,0.5) 

;Defaults for structures 
structure foo 
  a.i = 123 
  b.s = "foo" 
  ar.i[10] = {1,2,3,4,5,6,7,8,9,10} 
EndStructure 

;fill arrays like c  
dim gA.Vec2() = {1,1,2,2,3,3,4,4,5,5}
also +1 from me, those are handy

Re: Wishlist for PB 7.0 :)

Posted: Wed Jan 21, 2026 11:10 pm
by threedslider
miso wrote: Wed Jan 21, 2026 10:21 pm
idle wrote: Wed Jan 21, 2026 9:51 pm unsigned types
structures byval for params and returns so it's compatible with c, libs like chipmunk, raylib, miniaudio
defaults for structures and fill

Code: Select all

Procedure.vec2 VecScale(a.vec2,mag.f)  
    ;a by val , returns vec2 by val 
    define result.vec2  
    result\x  = a\x * mag
    result\y =  a\y * mag
   if mag <> 0   
      procedureReturn result 
   else 
     procedureReturn = {1.0,1.0}  ;default fill 
   endif            
EndProcedure  

mVec.vec2 = VecScale(a,0.5) 

;Defaults for structures 
structure foo 
  a.i = 123 
  b.s = "foo" 
  ar.i[10] = {1,2,3,4,5,6,7,8,9,10} 
EndStructure 

;fill arrays like c  
dim gA.Vec2() = {1,1,2,2,3,3,4,4,5,5}
also +1 from me, those are handy
Woot ! Yeah, +100 for me as well :mrgreen:

Re: Wishlist for PB 7.0 :)

Posted: Thu Jan 22, 2026 8:58 am
by Nudgy
I am a simple man:

- Procedure declarations made optional (if not in modules)
- OS-agnostic paths for the include functions, so that it doesn't matter if I use / or \ for relative paths and don't have to use too many constants for this (like in FreeBasic)

Re: Wishlist for PB 7.0 :)

Posted: Thu Jan 22, 2026 9:10 am
by miso
Nudgy wrote: Thu Jan 22, 2026 8:58 am I am a simple man:

- Procedure declarations made optional (if not in modules)
- OS-agnostic paths for the include functions, so that it doesn't matter if I use / or \ for relative paths and don't have to use too many constants for this (like in FreeBasic)
+1

Re: Wishlist for PB 7.0 :)

Posted: Sun Jan 25, 2026 4:20 pm
by miso
+1 For more unsigned native variables already mentioned by some. Particularly the missing 4 and 8 bytes long ones. Unsigned long, quad.

Re: Wishlist for PB 7.0 :)

Posted: Sun Jan 25, 2026 5:28 pm
by skywalk
We're getting fast strings BEFORE v7.0 :shock:

Re: Wishlist for PB 7.0 :)

Posted: Sun Jan 25, 2026 8:10 pm
by IceSoft
skywalk wrote: Sun Jan 25, 2026 5:28 pm We're getting fast strings BEFORE v7.0 :shock:
Why should we wait?

Re: Wishlist for PB 7.0 :)

Posted: Sun Jan 25, 2026 9:20 pm
by susan
In the IDE, be able to set a Breakpoint by a click in the left margin and/or add the Breakpoint command to the right-click pop-up menu.

Re: Wishlist for PB 7.0 :)

Posted: Sun Jan 25, 2026 11:07 pm
by Drone
susan wrote: Sun Jan 25, 2026 9:20 pm In the IDE, be able to set a Breakpoint by a click in the left margin and/or add the Breakpoint command to the right-click pop-up menu.
You can. Press Alt + Left mouse button on left margin or F9

Re: Wishlist for PB 7.0 :)

Posted: Mon Jan 26, 2026 7:05 am
by susan
Drone wrote: Sun Jan 25, 2026 11:07 pm You can. Press Alt + Left mouse button on left margin or F9
I knew about F9 since it's labelled in the menu, but Alt+Left click is much easier for the way I use the IDE, thank you!

Re: Wishlist for PB 7.0 :)

Posted: Mon Jan 26, 2026 7:39 am
by Cezary
It may be worth reminding this:

viewtopic.php?p=640651#p640651