The game window freezes during window move due to a quirk of the windows windowing system. Although not an issue for single player games, this can cause a disconnect from a netgame through a desync or server time out.
From my experience implementing these sorts of applications: When a window is being resized or moved, the window only receives the events WM_MOVE and WM_RESIZE. Even though the client uses SDL2, the call SDL2_PollEvents infinitely loops because the function is internally a thin wrapper over the Win32 calls GetMessage()TranslateMessage() and DispatchMessage. This in turn causes the event loop to never break.
The simplest way to fix this is to dispatch a game update and draw when the event SDL_WINDOWEVENT_MOVED, SDL_WINDOWEVENT_RESIZED or SDL_WINDOWEVENT_SIZE_CHANGED. Either that, or break when one of these events are fired after processing event handlers. I believe the current version of Saturn lacks this workaround.
The game window freezes during window move due to a quirk of the windows windowing system. Although not an issue for single player games, this can cause a disconnect from a netgame through a desync or server time out.
From my experience implementing these sorts of applications: When a window is being resized or moved, the window only receives the events `WM_MOVE` and `WM_RESIZE`. Even though the client uses SDL2, the call SDL2_PollEvents infinitely loops because the function is internally a thin wrapper over the Win32 calls `GetMessage()` `TranslateMessage()` and `DispatchMessage`. This in turn causes the event loop to never break.
The simplest way to fix this is to dispatch a game update and draw when the event `SDL_WINDOWEVENT_MOVED`, `SDL_WINDOWEVENT_RESIZED` or `SDL_WINDOWEVENT_SIZE_CHANGED`. Either that, or break when one of these events are fired after processing event handlers. I believe the current version of Saturn lacks this workaround.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The game window freezes during window move due to a quirk of the windows windowing system. Although not an issue for single player games, this can cause a disconnect from a netgame through a desync or server time out.
From my experience implementing these sorts of applications: When a window is being resized or moved, the window only receives the events
WM_MOVEandWM_RESIZE. Even though the client uses SDL2, the call SDL2_PollEvents infinitely loops because the function is internally a thin wrapper over the Win32 callsGetMessage()TranslateMessage()andDispatchMessage. This in turn causes the event loop to never break.The simplest way to fix this is to dispatch a game update and draw when the event
SDL_WINDOWEVENT_MOVED,SDL_WINDOWEVENT_RESIZEDorSDL_WINDOWEVENT_SIZE_CHANGED. Either that, or break when one of these events are fired after processing event handlers. I believe the current version of Saturn lacks this workaround.