PureBasic 6.21 is out !

Developed or developing a new product in PureBasic? Tell the world about it.
Fred
Administrator
Administrator
Posts: 18341
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post by Fred »

Quin
Addict
Addict
Posts: 1135
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post by Quin »

Called it. Thanks Fred!
miso
Enthusiast
Enthusiast
Posts: 486
Joined: Sat Oct 21, 2023 4:06 pm
Location: Hungary

Re: PureBasic 6.21 beta 9 is out !

Post 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)
Joubarbe
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: PureBasic 6.21 beta 8 is out !

Post 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).
Quin
Addict
Addict
Posts: 1135
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: PureBasic 6.21 beta 8 is out !

Post 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.
Joubarbe
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: PureBasic 6.21 beta 9 is out !

Post 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 :oops:
miso
Enthusiast
Enthusiast
Posts: 486
Joined: Sat Oct 21, 2023 4:06 pm
Location: Hungary

Re: PureBasic 6.21 beta 9 is out !

Post by miso »

What if with timeout? As Quin specified?

Code: Select all

 event = WaitWindowEvent(1)
I don't think so, but worth a try.
Quin
Addict
Addict
Posts: 1135
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post 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 :oops:
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?
Joubarbe
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: PureBasic 6.21 beta 9 is out !

Post by Joubarbe »

It doesn't work, but thanks for trying! I'm going to look into it more seriously today.
User avatar
marcoagpinto
Addict
Addict
Posts: 1075
Joined: Sun Mar 10, 2013 3:01 pm
Location: Portugal
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post by marcoagpinto »

@Fred !

All my menus images in PNG now appear in 16x16 instead of 32x32 with beta 9.

Both in pull down menus and pop-up menus.

Windows 11.

:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Joubarbe
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: PureBasic 6.21 beta 9 is out !

Post 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
Joubarbe
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: PureBasic 6.21 beta 9 is out !

Post 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!
Fred
Administrator
Administrator
Posts: 18341
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post by Fred »

We will get there... Still better to have the report before going final !
Fred
Administrator
Administrator
Posts: 18341
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: PureBasic 6.21 beta 9 is out !

Post by Fred »

I just pushed a new version for Windows, please download it to test the DrawText() fix
miso
Enthusiast
Enthusiast
Posts: 486
Joined: Sat Oct 21, 2023 4:06 pm
Location: Hungary

Re: PureBasic 6.21 beta 9 is out !

Post by miso »

Thanks. Compiled all my major apps without issues. Drawtext 'feels' better (for my purposes) compared to the previous beta.
Post Reply