1
0
mirror of https://github.com/minetest/minetest.git synced 2025-07-03 16:30:24 +02:00
Commit Graph

371 Commits

Author SHA1 Message Date
5c187363b2 Fix some clang compiler warnings (#14654)
* Fix some clang compiler warnings

* Get rid of sdl_supports_primary_selection

* Fix draw2DImage hiding overloaded virtual function
2024-05-15 19:56:25 +02:00
39fd9b93c3 Introduce proper error handling for file streams 2024-05-14 18:33:08 +02:00
a8af0c0ca4 Close buttonbars when hiding TouchScreenGUI (#14630)
To open the inventory or the pause menu, you first need to open the buttonbar
containing the respective button. Before this commit, the buttonbar is still
open after closing the menu, so you have to tap twice before you can continue
playing. After this commit, the buttonbar is already closed after closing the
menu, so you only have to tap once before you can continue playing.
2024-05-10 18:54:22 +02:00
e0e1d0855d Close formspecs with a single tap outside (#14605) 2024-05-09 19:16:08 +02:00
59bf1d8cd9 Fix curl compatibility issues with colorize_url (#14615)
Also move the escape code safety check to guiOpenURL.
2024-05-09 11:31:10 +02:00
3017b0213b Allow quoting hypertext attribute values (#14550) 2024-05-05 14:27:17 +02:00
d7f9da49eb Fix shootline not being updated if press and release happen in the same step (#14606) 2024-05-05 13:28:50 +02:00
f0bb5313d3 Chat console: Prevent input loss on double open 2024-05-03 16:29:33 +02:00
73dbd2f0ab Smooth scrolling (#14562) 2024-04-28 00:14:31 +02:00
c8a41409d9 HUD: Text element color support (#14558) 2024-04-20 20:36:44 +02:00
d8190e1c5f Some globals (un-)init fixes 2024-04-20 13:03:42 +02:00
f2b5c35fa2 TouchScreenGUI dehardcoding refactor (#14472) 2024-04-17 15:59:52 +02:00
b2057a5da7 Hypertext: Fix missing space after single letter word (#14551)
Fixes #11727
2024-04-16 08:48:16 +01:00
07fdf7158d Migrate the Android port to SDL2 2024-04-08 20:15:37 +02:00
3a35db6e67 Turn dos files into unix files 2024-03-31 21:02:47 +02:00
8935f2af3c Make long tap delay customizable and change default to 400ms 2024-03-30 11:40:50 +01:00
517f1602aa Re-add "long tap to punch" as a client-side setting 2024-03-30 11:40:50 +01:00
6c6e48f006 Move values the mainmenu caches to dedicated files (#14433) 2024-03-30 11:06:28 +01:00
24cc33e704 Add button_url[] and hypertext element to allow mods to open web pages (#13825)
Fixes #12500
2024-03-24 17:19:23 +00:00
751ede516b ProfilerGraph: Increase buffer size for min/max formatting
Fixes values being cut off, e.g. "1.0000e+06" to "1.0000e+0".
2024-03-20 15:28:37 +01:00
f07e1026ac Allow sync HTTP fetches to be interrupted to fix hanging (#14412)
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2024-03-12 20:09:43 +01:00
aaf77025b6 Split up tile.cpp/h 2024-03-03 15:52:05 +01:00
aac616fcc5 Avoid visible camera jumps because of touchscreen_threshold 2024-03-01 17:11:46 +01:00
fa0745f7da Adjust touchscreen_sensitivity to display density 2024-03-01 17:11:46 +01:00
00a3e6bbd7 Touchscreen: Allow camera movement while digging without touch_use_crosshair 2024-03-01 17:11:46 +01:00
bb7f57b095 VBO-related optimizations and improvements (#14395) 2024-02-29 17:20:57 +01:00
13a0e5fb4a Share FpsControl code between game and menu 2024-02-29 17:20:50 +01:00
b4be483d3e Add support for translating content titles and descriptions (#12208) 2024-02-24 19:13:07 +00:00
57de599a29 Restore pre-5.9.0-dev behavior of touch_use_crosshair=false shootline (#14389)
* Fix incorrect shootline after releasing pointer if touch_use_crosshair=false

This happened because Android reuses pointer IDs.
Also includes a refactor to merge "m_known_ids" and "m_pointer_pos".

* Restore pre-5.9.0-dev behavior of shootline when !m_has_move_id
2024-02-24 13:12:53 +01:00
34286d77c7 Allow toggling touchscreen mode at runtime (#14075)
Signed-off-by: David Heidelberg <david@ixit.cz>
Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2024-02-22 15:44:49 +00:00
6ca214fefc Introduce std::string_view into wider use (#14368) 2024-02-17 15:35:33 +01:00
eb52a149a0 Enable IPO/LTO by default except for debug builds (#14198)
Test case:

```
$ cmake . -DRUN_IN_PLACE=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_SERVER=TRUE -DENABLE_TOUCH=FALSE

         minetest minetestserver
W/o LTO:      13M           7.3M
W/  LTO:      11M           5.9M
difference:   15%            19%
```

Also fixes various compiler warnings resulting from compilation using LTO.

---------

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-02-09 00:01:12 +01:00
fbec168e91 Only pause rendering if the Android activity is stopped (#14211) 2024-01-27 14:37:00 +01:00
2b99dabdac Touchscreen: Abort ongoing short taps if touch interaction mode changes (#14305) 2024-01-26 23:19:06 +01:00
404a063fdf Touchscreen: Allow mods to swap the meaning of short and long taps (punch with single tap) (#14087)
This works through a new field "touch_interaction" in item definitions.
The two most important use cases are:
 - Punching players/entities with short tap instead of long tap (enabled by default)
 - Making items usable that require holding the place button (e.g. bows and shields in MC-like games)
2024-01-21 17:44:08 +01:00
699d1bf27c Use newer IrrlichtMt
now with SDL2
2024-01-19 11:54:40 +01:00
1ba26d67bd Remove excessive includes from porting.h 2024-01-14 13:17:53 +01:00
171f911237 Android: Add selection dialog (drop down/combo box) (#13814)
- The handling of IGUIComboBox uses the new setAndSendSelected() method.
- getDialogState() is now getInputDialogState() and returns the state of the input dialog.
- getLastDialogType() is added and returns current/last shown dialog's type.
- getInputDialogState() now returns an enum instead of int.
- getAndroidUIInput() now returns void instead of bool.
- New data types (enum) are added:
  (1) GameActivity.DialogType (Java) and porting::AndroidDialogType (C++)
  (2) GameActivity.DialogState (Java) and porting::AndroidDialogState (C++)
- When showing a text input dialog, there is no custom accept button text any more.
- showDialog()/showDialogUI() for text input is now showTextInputDialog()/showTextInputDialogUI().
- showInputDialog()/showDialogUI() for text input is now showTextInputDialog()/showTextInputDialogUI().
- getDialogValue()/getInputDialogValue() is now getDialogMessage()/getInputDialogMessage().


Co-authored-by: Gregor Parzefall <82708541+grorp@users.noreply.github.com>
2024-01-07 19:00:04 +07:00
05a53cd330 Touchscreen: Recognize double-taps as double-clicks (#14187) 2024-01-05 00:39:40 +01:00
995c192874 Don't apply gui_scaling & DPI twice to table[] / textlist[] scrollbar (#14206) 2024-01-03 21:58:58 +01:00
32e492837c Support both mouse and touch input in GUIs in a single binary (#14146) 2023-12-27 22:37:36 +01:00
04dc4a10f0 Fix TouchScreenGUI ignoring server-sent pitch changes 2023-12-20 21:24:10 +01:00
3b346fd3c9 Fix touch input on Linux
The code relied on touch IDs being consecutive. This is true on Android, but not on Linux.
Therefore, touch input on Linux was broken since 53886dcdb5.
2023-12-20 21:22:15 +01:00
00d9d96e48 Android: Pause rendering while the app is paused (#14058) 2023-12-19 20:18:28 +01:00
da832a295e Delete clang-format files and comments (#14079) 2023-12-15 10:23:44 +01:00
55fafb7d25 Add sound volume when unfocused setting (#14083)
This adds a new setting to set sound volume multiplier when Minetest window is unfocused/inactive (sound_volume_unfocused, located in Settings > Graphics and Audio > Audio > Volume when unfocused).

If the window is not focused, the sound volume will be multiplied by sound_volume_unfocused setting. The sound volume will be set back to sound_volume again when the window is focused.
2023-12-10 19:11:39 +01:00
321bcf5c44 GUIFormspecMenu: Fix race condition between quit event and cleanup in Game (#14010)
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.
2023-12-10 19:09:51 +01:00
047520d91e Inventory: Add remaining items into the source slot directly (#14021)
Remaining items are added into the source slot directly when left-dragging over the source slot.
2023-12-03 15:00:07 +07:00
53886dcdb5 Formspec: Pass the second-touch event as is (#13872)
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>
2023-11-28 07:00:07 +07:00
771da80bbb Make it possible again to see item tooltips on Android (#14029)
This change is a quick fix so that item tooltips show again on Android.
2023-11-25 17:07:07 +01:00