Commit Graph

50 Commits

Author SHA1 Message Date
est31
c977fbd928 Add list-rings
Adds list-rings, a method to implement item sending between inventories via shift-click.
Nice insider feature: a ring consisting of a single inventory list serves as nice clean-up method.
Also adds them to minimal game, and the standard inventory.
Craft output slots are not supported.
2015-06-16 14:51:26 +02:00
Ilya Zhuravlev
b6387b4e0f Use utf-8 in formspecs 2015-06-13 19:49:55 +02:00
kwolekr
da34a2b33e Replace instances of std::map<std::string, std::string> with StringMap
Also, clean up surrounding code style
Replace by-value parameter passing with const refs when possible
Fix post-increment of iterators
2015-05-19 16:10:49 -04:00
Craig Robbins
de6d5ce2cd Disable double-click -> ESC translation for main menu 2015-03-14 23:41:42 +10:00
ngosang
dd2bb950be Fix Exit to OS button focus in Pause Menu 2015-02-10 21:23:16 +10:00
Loic Blot
a704c04f00 Network Layer 7 rework (Packet handling)
* Move networkcode to a dedicated directory
* Rename clientserver.h to network/networkprotocol.h (Better name) and sanitize some includes
* Create object NetworkPacket
  * It stores command (opcode) and data separated
  * It also stores peer_id
  * Data reading can be done by using a streaming interface
* Change packet routing analysis
  * Remove old conditional analysis
  * Now uses function pointed analysis and add connection state ({Client,Server}::handlers)
  * Connection state permit to categorize condition to handle before analyze packets
  * Create a handler for depreciated messages, instead of duplicating code
2015-02-10 20:04:08 +10:00
Craig Robbins
f6912f4241 Right mouse button behaviour for craft/inventory If right mousebutton clicked once then don't drop single items into slots. If right mouse button has been clicked and held a second time, drop items as the mouse is moved. In the second case (automatically drop/place items as mouse is moved) only auto-drop into blank slots, or slots that contain the same item. 2014-12-04 23:30:53 +10:00
Zefram
d1d6a97b1c Scale form elements consistently
The ratios between the sizes of form elements, including text, is now
fixed, aside from variations caused by rounding.  This makes form layout
almost fully predictable, and particularly independent of player's
screen size.  The proportions of non-text elements are the traditional
proportions.

For compatibility, the way in which element positions and sizes are
specified remains unchanged, in all its baroqueness, with one exception.
The exception is that the position of a label[] element is now defined
in terms of the vertically center of the first line of the label,
rather than the bottom of the first line of the label.  This change
allows a label to be precisely aligned with button text or an edit box,
which are positioned in a centering manner.  Label positioning remains
consistent with the previous system, just more precisely defined.

Make multi-line label[] elements work properly.  Previously the code set
a bounding rectangle assuming that there would be only a single line,
and as a result a multi-line label would be cut somewhere in the middle
of the second line.  Now multi-line labels not only work, but have
guaranteed line spacing relative to inventory slots, to aid alignment.

Incidentally fix tabheader[] elements which were being constrained to
the wrong width.

Given an unusually large form, in variable-size mode, the form rendering
system now chooses a scale that will fit the entire form on the screen,
if that doesn't make elements too small.  Fixed-size forms, including the
main menu, are have their sizes fixed in inch terms.  The fixed size for
fixed-size forms and the preferred and minimum sizes for variable-size
forms all scale according to the gui_scaling parameter.
2014-11-30 17:50:09 +01:00
sapier
dceb9f7d60 Implement proper font handling 2014-11-30 17:50:09 +01:00
kwolekr
f0ae2da89e Fix uninitialized variable warning 2014-10-30 02:53:20 -04:00
Kahrl
b49e5cfc70 Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism 2014-10-24 21:14:48 +02:00
BlockMen
28438bba27 Add [colorize modifier 2014-10-05 16:49:52 +02:00
sruz25
f6321e277b Add inventory right click drag and drop 2014-09-21 15:23:27 -04:00
BlockMen
a020d1b653 Allow taking screenshots of formspecs and move message to chat 2014-09-21 19:15:48 +02:00
sapier
65b8b524c0 Add srollbar formspec element 2014-07-16 15:02:56 +02:00
sapier
1cc40c0a7c Add support for Android 2.3+
There have been plenty of ppl involved in creating this version.
I don't wanna mention names as I'm sure I'd forget someone so I
just tell where help has been done:
- The partial android versions done by various ppl
- Testing on different android devices
- reviewing code (especially the in core changes)
- testing controls
- reviewing texts

A big thank you to everyone helping this to be completed!
2014-06-29 18:17:56 +02:00
sapier
ebf7ea5019 Add formspec api versioning 2014-06-29 12:13:55 +02:00
RealBadAngel
09ba047c01 Add setting for tooltips show delay. 2014-06-25 16:23:05 +02:00
RealBadAngel
27538ecef5 Tooltips rework.
Separate element for tooltips. Delayed showing,
use global color or given ones.
2014-06-24 22:11:47 +02:00
sapier
d4245e6cac Support for scalable font and gui elements
Fix positioning of tabheader in order to be usable for scaling GUIs
WARNING: this changes position of current tabheaders, mods have to adjust!
2014-06-22 00:08:55 +02:00
sapier
65a4630f31 Fix bounding rect for formspec elements label vertlabel and checkboxes 2014-06-18 22:38:29 +02:00
sapier
003634e049 Add support for exiting formspecs by doubleclicking outside 2014-06-12 23:15:05 +02:00
sapier
127f354e7a Fix formspec replacement handling for in game formspecs 2014-04-22 20:59:01 +02:00
BlockMen
e4d1970abf Fix game pause in singleplayer 2014-03-13 14:06:18 +01:00
Selat
7cac34c807 Pass arguments by reference 2014-03-12 17:34:48 -04:00
sapier
a4e2198e41 Replace pause and message menu by formspec ones 2014-03-05 18:44:14 +01:00
Kahrl
8966c16ad2 Add formspec table 2014-01-13 18:11:08 -05:00
BlockMen
25edae00ea Reworked formspecs and kahrl's hexcolor parser 2013-11-03 22:14:37 +01:00
Novatux
0b78889289 Send a on_receive_fields event when formspec is closed, with fields.quit = "true" 2013-11-03 11:53:59 +01:00
Kahrl
3c4734d69a Change mainmenu texture handling + small misc changes
Texture names must now be escaped in formspec elements image[],
background[], image_button[], image_button_exit[].

Instead of special-case handling of texture loading (and unloading
which was missing) in guiFormSpecMenu.cpp, use the newly created
ISimpleTextureSource interface which is a minimal subset of
ITextureSource. There is an implementation of this interface
used by GUIEngine (MenuTextureSource).

Fix an off-by-one bug in unescape_string; it caused requests for a
texture called "\0".
2013-09-11 00:08:56 +02:00
Kahrl
8548bb75b6 GUIFormSpecMenu focus fixes 2013-08-19 15:49:36 +02:00
sapier
09a50d0458 Add translation for main menu
Add engine.gettext() and remove gettext() calls in guiFormspecMenu.cpp
2013-08-17 16:01:43 +02:00
Kahrl
5e312dc40d Don't automatically scroll listbox when selecting an item in the middle 2013-08-16 00:58:03 +02:00
Kahrl
d8337034b5 Formspec textlist: Black Irrlicht magic to detect fake doubleclicks 2013-08-16 00:08:19 +02:00
Kahrl
4e1f50035e Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
sapier
88d43af276 Fix many formspec menu bugs 2013-07-07 19:49:52 -04:00
Sfan5
307c57dcc4 Use hexadecimal RRGGBB instead of colorkeys, rename getColor to parseColor 2013-07-06 10:32:58 +02:00
sapier
967121a34b Replace C++ mainmenu by formspec powered one 2013-07-02 19:58:20 -04:00
Kahrl
d74c377337 Formspec: Don't perform black magic if selected item fits the guess 2013-06-18 01:32:11 +02:00
Ilya Zhuravlev
6a1670dbc3 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
Sfan5
6d0ea26c2d Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam
497ff1ecd6 Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
RealBadAngel
f4b7e1a570 New elements in formspec, item_image and item_image_button.
Fixed also game bug drawing dragged item behind fields, buttons etc.
2012-12-01 20:39:41 +02:00
Jürgen Doser
c1d8eeb70a Make dragged itemstack following the mouse cursor much smoother
by using the cursor coordinates directly, instead of updating them only when a mouse event is seen.
2012-11-30 22:07:30 +02:00
RealBadAngel
8e5167d726 Adding background to Formspec 2012-11-08 19:22:37 +01:00
Perttu Ahola
e1a495ee30 Make inventory GUI do sane things when server-side inventory acts unusually 2012-09-02 22:51:38 +03:00
Perttu Ahola
2ac20982e0 Detached inventories 2012-07-24 20:57:17 +03:00
Perttu Ahola
6dfefaf229 Formspec button_exit[] and image_button_exit[] 2012-07-22 17:40:48 +03:00
Perttu Ahola
4cc98d7add minetest.register_on_player_receive_fields() 2012-07-22 17:40:48 +03:00
darkrose
506203345b Implement formspec 2012-07-22 17:40:41 +03:00