To not instantly free GUIFormSpec upon close/quit, Game periodically
cleans up the remaining instance on the next frame.
When a new formspec is received and processed after closing the previous formspec
but before the cleanup in Game, the formspec would be closed regardless.
This now re-creates the formspec when the old one is already pending for removal.
* Fix server sound ids being reused to early
* Fix particlespawner id generation
It always returned 0.
Also, now the ids always grow, to make a conflict with ids in lua unlikely.
This improves the reliability when removing and re-adding handles quickly.
Looping through the entire ID range avoids collisions caused by any race condition.
It was determined that this fixes scaling artifacts that can happen with bilinear,
trilinear or anisotropic filtering alone.
Since the previous commit did not bring back the relevant setting, we fix this
shortcoming by just enabling it in all cases where it is known to help.
The second-touch event is passed to the GUIFormSpecMenu::OnEvent() function as a touch event.
There are two types of event for inventory formspec: (1) mouse event and (2) touch event.
The touch event is just a modifier of the mouse event.
Co-authored-by: Gregor Parzefall <82708541+grorp@users.noreply.github.com>
This partially reverts commit d57c936b08.
The reverted commit prevented recognition of key combinations.
It correctly changed a test case to no longer use “KEY_NUMPAD_5”.
Several keyboard layouts use a key combination to input a “+” (e.g. Neo2);
therefore some users could no longer input “+” to increase the view range.
Co-authored-by: savilli <78875209+savilli@users.noreply.github.com>
Before this patch, the symbols were rendered black on dark background.
Previous images were edited like this:
1. The colors were inverted with GIMP's “linear inversion” method.
2. Image files were optimized using “optipng -o7 -zm1-9 -strip all”.
Co-authored-by: ROllerozxa <rollerozxa@voxelmanip.se>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
This in particular fixes incorrect event propagation to menus that
are no longer shown, such as the key change menu when opened within
the settings tab.