Commit Graph

380 Commits

Author SHA1 Message Date
grorp
fcb4f258f5 GUITable: Scale images with display density / row height () 2024-07-02 20:57:43 +02:00
grorp
3958c19f83 Remove enable_touch special case for C++ menu scaling () 2024-06-30 20:39:36 +02:00
grorp
4c001bd248 Make button sprites (scrollbar arrows) DPI-aware () 2024-06-26 15:25:27 +02:00
l-koehler
fe6da3a16b Disallow formspec debug if the player does not have the debug privilege () 2024-06-17 15:59:49 +02:00
grorp
85878d894a Android: Fix back button sometimes not working as ESC () 2024-06-11 22:37:57 +02:00
grorp
833bb542fc Allow toggling fullscreen without restart and add keybind () 2024-06-02 21:05:16 +02:00
grorp
728f643ea7 Scale C++ menus down to fit the window () 2024-05-24 12:10:46 +02:00
grorp
d5fc040d2d Consistent width for internal scrollbars of formspec elements ()
also: Make sure that very short, wide scrollbars are still usable
2024-05-24 12:10:19 +02:00
sfence
b21a974342 Fix inventory: Quickly picking up item and placing it again no longer works () 2024-05-21 15:38:12 +02:00
Lars Müller
5c187363b2 Fix some clang compiler warnings ()
* 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
sfan5
39fd9b93c3 Introduce proper error handling for file streams 2024-05-14 18:33:08 +02:00
grorp
a8af0c0ca4 Close buttonbars when hiding TouchScreenGUI ()
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
grorp
e0e1d0855d Close formspecs with a single tap outside () 2024-05-09 19:16:08 +02:00
sfan5
59bf1d8cd9 Fix curl compatibility issues with colorize_url ()
Also move the escape code safety check to guiOpenURL.
2024-05-09 11:31:10 +02:00
rubenwardy
3017b0213b Allow quoting hypertext attribute values () 2024-05-05 14:27:17 +02:00
grorp
d7f9da49eb Fix shootline not being updated if press and release happen in the same step () 2024-05-05 13:28:50 +02:00
SmallJoker
f0bb5313d3 Chat console: Prevent input loss on double open 2024-05-03 16:29:33 +02:00
grorp
73dbd2f0ab Smooth scrolling () 2024-04-28 00:14:31 +02:00
SmallJoker
c8a41409d9 HUD: Text element color support () 2024-04-20 20:36:44 +02:00
sfan5
d8190e1c5f Some globals (un-)init fixes 2024-04-20 13:03:42 +02:00
grorp
f2b5c35fa2 TouchScreenGUI dehardcoding refactor () 2024-04-17 15:59:52 +02:00
rubenwardy
b2057a5da7 Hypertext: Fix missing space after single letter word ()
Fixes 
2024-04-16 08:48:16 +01:00
Gregor Parzefall
07fdf7158d Migrate the Android port to SDL2 2024-04-08 20:15:37 +02:00
cx384
3a35db6e67 Turn dos files into unix files 2024-03-31 21:02:47 +02:00
Gregor Parzefall
8935f2af3c Make long tap delay customizable and change default to 400ms 2024-03-30 11:40:50 +01:00
Gregor Parzefall
517f1602aa Re-add "long tap to punch" as a client-side setting 2024-03-30 11:40:50 +01:00
sfan5
6c6e48f006 Move values the mainmenu caches to dedicated files () 2024-03-30 11:06:28 +01:00
rubenwardy
24cc33e704 Add button_url[] and hypertext element to allow mods to open web pages ()
Fixes 
2024-03-24 17:19:23 +00:00
Desour
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
grorp
f07e1026ac Allow sync HTTP fetches to be interrupted to fix hanging ()
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2024-03-12 20:09:43 +01:00
cx384
aaf77025b6 Split up tile.cpp/h 2024-03-03 15:52:05 +01:00
Gregor Parzefall
aac616fcc5 Avoid visible camera jumps because of touchscreen_threshold 2024-03-01 17:11:46 +01:00
Gregor Parzefall
fa0745f7da Adjust touchscreen_sensitivity to display density 2024-03-01 17:11:46 +01:00
Gregor Parzefall
00a3e6bbd7 Touchscreen: Allow camera movement while digging without touch_use_crosshair 2024-03-01 17:11:46 +01:00
sfan5
bb7f57b095 VBO-related optimizations and improvements () 2024-02-29 17:20:57 +01:00
sfan5
13a0e5fb4a Share FpsControl code between game and menu 2024-02-29 17:20:50 +01:00
rubenwardy
b4be483d3e Add support for translating content titles and descriptions () 2024-02-24 19:13:07 +00:00
grorp
57de599a29 Restore pre-5.9.0-dev behavior of touch_use_crosshair=false shootline ()
* 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
David Heidelberg
34286d77c7 Allow toggling touchscreen mode at runtime ()
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
sfan5
6ca214fefc Introduce std::string_view into wider use () 2024-02-17 15:35:33 +01:00
David Heidelberg
eb52a149a0 Enable IPO/LTO by default except for debug builds ()
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
grorp
fbec168e91 Only pause rendering if the Android activity is stopped () 2024-01-27 14:37:00 +01:00
grorp
2b99dabdac Touchscreen: Abort ongoing short taps if touch interaction mode changes () 2024-01-26 23:19:06 +01:00
grorp
404a063fdf Touchscreen: Allow mods to swap the meaning of short and long taps (punch with single tap) ()
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
sfan5
699d1bf27c Use newer IrrlichtMt
now with SDL2
2024-01-19 11:54:40 +01:00
sfan5
1ba26d67bd Remove excessive includes from porting.h 2024-01-14 13:17:53 +01:00
Muhammad Rifqi Priyo Susanto
171f911237 Android: Add selection dialog (drop down/combo box) ()
- 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
grorp
05a53cd330 Touchscreen: Recognize double-taps as double-clicks () 2024-01-05 00:39:40 +01:00
grorp
995c192874 Don't apply gui_scaling & DPI twice to table[] / textlist[] scrollbar () 2024-01-03 21:58:58 +01:00
grorp
32e492837c Support both mouse and touch input in GUIs in a single binary () 2023-12-27 22:37:36 +01:00