Page 8 of 12
Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 3:38 pm
by Fred
A few more polishing work before the final, don't hesitate to try it !
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.
Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 3:49 pm
by Quin
Called it. Thanks Fred!
Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 7:50 pm
by miso
Thanks! Compiled and tested all my major projects without issues.
(projects includes SqLite,OGL 2d/3d screens, sprites, controllers, sound engine, music engine, fonts, 2d drawing, filesystem, packs, basic window gadgets)
Re: PureBasic 6.21 beta 8 is out !
Posted: Wed May 07, 2025 8:39 pm
by Joubarbe
diceman wrote: Wed May 07, 2025 1:37 pm
Don't know if helpful (maybe not), but with my game (turn-based dungeon crawler "The Ruins of Calaworm"), and another sideproject (an asteroids-shooter called "Cherry Shift") all is well.

No lags, graphics is rendering fast as ever, also no CPU overload. Working on a (kinda) ancient laptop with Windows 10.
Hope you can figure things out.
Yep, it's weird... What I find really weird is that I cannot ALT-F4 the game. Does BindEvent() work exactly the same as handling events with WaitWindowEvent()? If it's stuck in an event loop, it wouldn't redraw the game at all (as it is a custom event).
Re: PureBasic 6.21 beta 8 is out !
Posted: Wed May 07, 2025 8:58 pm
by Quin
Joubarbe wrote: Wed May 07, 2025 8:39 pm
Yep, it's weird... What I find really weird is that I cannot ALT-F4 the game. Does BindEvent() work exactly the same as handling events with WaitWindowEvent()? If it's stuck in an event loop, it wouldn't redraw the game at all (as it is a custom event).
Yes, it does, or at least is supposed to. I use BindEvent() for all of my apps, my main loop is always Repeat : WaitWindowEvent(1) : ForEver, and then I just BindEvent to #PB_Event_CloseWindow. I have no issues on PB 6.21 beta 9, but I'm writing desktop apps, not games. It should work the same though.
Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 9:17 pm
by Joubarbe
Unfortunately, some events cannot be bound, so my event declaration block looks like this:
Code: Select all
BindGadgetEvent(#CANVAS_MAIN, @OnInput(), #PB_EventType_Input)
BindGadgetEvent(#CANVAS_MAIN, @OnKeyUp(), #PB_EventType_KeyUp)
BindGadgetEvent(#CANVAS_MAIN, @OnKeyDown(), #PB_EventType_KeyDown)
BindGadgetEvent(#CANVAS_MAIN, @OnLeftClick(), #PB_EventType_LeftClick)
BindGadgetEvent(#CANVAS_MAIN, @OnRightClick(), #PB_EventType_RightClick)
BindGadgetEvent(#CANVAS_MAIN, @OnMouseMove(), #PB_EventType_MouseMove)
BindGadgetEvent(#CANVAS_MAIN, @OnMouseWheel(), #PB_EventType_MouseWheel)
BindEvent(#PB_Event_SizeWindow, @OnResize(), #WINDOW_MAIN)
BindEvent(#PB_Event_ActivateWindow, @OnFocus(), #WINDOW_MAIN)
BindEvent(#PB_Event_Timer, @OnTimer(), #WINDOW_MAIN)
BindEvent(#EVENT_REDRAW_TERMINAL, @RenderTerminal())
BindEvent(#EVENT_REDRAW_VIEW, @RenderView())
AddKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_Tab, #EVENT_TAB)
AddKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_Shift | #PB_Shortcut_Tab, #EVENT_SHIFT_TAB)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
CloseTerminal()
Case #PB_Event_Menu
Select EventMenu()
Case #EVENT_TAB
If terminal\no_keyboard_navigation = #False And terminal\active_view\locked = #False
NextView()
EndIf
Case #EVENT_SHIFT_TAB
If terminal\no_keyboard_navigation = #False And terminal\active_view\locked = #False
PreviousView()
EndIf
EndSelect
EndSelect
ForEver
EDIT: Hmm... Maybe they could all go to BindEvent actually

Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 9:22 pm
by miso
What if with timeout? As Quin specified?
I don't think so, but worth a try.
Re: PureBasic 6.21 beta 9 is out !
Posted: Wed May 07, 2025 9:48 pm
by Quin
Joubarbe wrote: Wed May 07, 2025 9:17 pm
Unfortunately, some events cannot be bound, so my event declaration block looks like this:
Code: Select all
BindGadgetEvent(#CANVAS_MAIN, @OnInput(), #PB_EventType_Input)
BindGadgetEvent(#CANVAS_MAIN, @OnKeyUp(), #PB_EventType_KeyUp)
BindGadgetEvent(#CANVAS_MAIN, @OnKeyDown(), #PB_EventType_KeyDown)
BindGadgetEvent(#CANVAS_MAIN, @OnLeftClick(), #PB_EventType_LeftClick)
BindGadgetEvent(#CANVAS_MAIN, @OnRightClick(), #PB_EventType_RightClick)
BindGadgetEvent(#CANVAS_MAIN, @OnMouseMove(), #PB_EventType_MouseMove)
BindGadgetEvent(#CANVAS_MAIN, @OnMouseWheel(), #PB_EventType_MouseWheel)
BindEvent(#PB_Event_SizeWindow, @OnResize(), #WINDOW_MAIN)
BindEvent(#PB_Event_ActivateWindow, @OnFocus(), #WINDOW_MAIN)
BindEvent(#PB_Event_Timer, @OnTimer(), #WINDOW_MAIN)
BindEvent(#EVENT_REDRAW_TERMINAL, @RenderTerminal())
BindEvent(#EVENT_REDRAW_VIEW, @RenderView())
AddKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_Tab, #EVENT_TAB)
AddKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_Shift | #PB_Shortcut_Tab, #EVENT_SHIFT_TAB)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
CloseTerminal()
Case #PB_Event_Menu
Select EventMenu()
Case #EVENT_TAB
If terminal\no_keyboard_navigation = #False And terminal\active_view\locked = #False
NextView()
EndIf
Case #EVENT_SHIFT_TAB
If terminal\no_keyboard_navigation = #False And terminal\active_view\locked = #False
PreviousView()
EndIf
EndSelect
EndSelect
ForEver
EDIT: Hmm... Maybe they could all go to BindEvent actually
You can definitely use BindEvent() for all of these, that's how I do it in my app.
The CPU getting hogged could be because you're not specifying WaitWindowEvent() with a timeout. I've found 1 to work the best, perhaps try that?
Re: PureBasic 6.21 beta 9 is out !
Posted: Thu May 08, 2025 7:28 am
by Joubarbe
It doesn't work, but thanks for trying! I'm going to look into it more seriously today.
Re: PureBasic 6.21 beta 9 is out !
Posted: Thu May 08, 2025 7:45 am
by marcoagpinto
Re: PureBasic 6.21 beta 9 is out !
Posted: Thu May 08, 2025 8:05 am
by Joubarbe
Joubarbe wrote: Thu May 08, 2025 7:28 am
It doesn't work, but thanks for trying! I'm going to look into it more seriously today.
Bug report:
viewtopic.php?t=86886
Re: PureBasic 6.21 beta 9 is out !
Posted: Thu May 08, 2025 9:29 am
by Joubarbe
marcoagpinto wrote: Thu May 08, 2025 7:45 am
...
All my menus images in PNG now appear in 16x16 instead of 32x32 with beta 9.
...
Poor Fred, he's never going to see the end of this update!
Re: PureBasic 6.21 beta 9 is out !
Posted: Thu May 08, 2025 4:29 pm
by Fred
We will get there... Still better to have the report before going final !
Re: PureBasic 6.21 beta 9 is out !
Posted: Fri May 09, 2025 10:55 am
by Fred
I just pushed a new version for Windows, please download it to test the DrawText() fix
Re: PureBasic 6.21 beta 9 is out !
Posted: Fri May 09, 2025 6:22 pm
by miso
Thanks. Compiled all my major apps without issues. Drawtext 'feels' better (for my purposes) compared to the previous beta.