Commit Graph

247 Commits

Author SHA1 Message Date
Vanessa Dannenberg
5ea0208ffe Multiple related changes to string handling
1) Convert most formspec elements to use string.format(), when the
result would be more readable, or less messy, or at least makes the line
shorter, assuming it looked like it really needed it to begin with.

2) Convert all long `foo..","..bar..";"..baz..bleh..` types of excessive
string concatenation into tables that then get concated only once, when
their containing functions return the final formspec string.

3) In some places in the code, such tables were already being used, and
were named "formspec", while others were named "fs".  I settled on just
one name, "formspec", as it's more readable, if longer.

4) There was a mix of styles of adding items to those tables:

* Some places used line after line of `t[#t + 1] = foo/bar/baz`.
* Others places used the form `t[1] = foo, t[2] = bar, ...`.
* Still others used the form `t[n] = foo, t[n+1] = bar...`,
  with `n` being increased or reset every so often.

Most of them should now be of the third form, with a few of the second.
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
694553e68b use local "ui" to reference "unified_inventory", where practical
(makes code shorter, easier to read and write)
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
2d200eb9ae Ditto for bags. 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
b3077898a7 make waypoints explicitly reference full-style vars
(since it does not support lite mode)
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
5a8a75f43b put style-specific settings in their own tables
and switch between them directly, instead of copy-and-modify.
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
0c05f06fa8 "Please continue to use string.format here to avoid messy code"
Derp :-)
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
c3679eaf7b fix indent 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
23a089f174 remove a used-only-once variable 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
82bc2d3f95 use string.format() to create the standard_inv variables
do it just once, after the lite mode settings are applied
(if applicable)
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
603b5d1d4e get rid of uninv global
make all uses of it back into `unified_inventory.`
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
eb4cf5bf47 increase spacing around the text above the items page
("Filter:" and its search key, and the page or "No matches)
Adjust main and page flipping buttons' positions to compensate
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
97960c552b increase size and tweak position of "give/to grid" buttons
and make them vary in pos with lite vs full mode
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
81d6a1e796 shift the craft grid and guide down a bit
to make more room for the result string
(and shift the result string down a hair to follow)
2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
de575a6513 9-slice the background image 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
7a0a44037a remove a couple of unused variables 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
cc93288a6b bump minimum version to 5.4.0 2021-03-09 15:04:11 -05:00
Vanessa Dannenberg
167dddaa84 Convert over to formspec version 4
I recreated the original layout as best as practical, but by necessity
there are a few minor positioning changes, since the underlying
hard-wired inventory slots are square now and image positioning is now
scaled by exactly 1.250 in both dimensions (as opposed to roughly 1.25
by 1.16).

Backstage, I also needed to fix the aspect ratios of the various
inventory slot elements.  That meant redesigning the single-slot image
from scratch.  It was already blurry/grainy and a little ugly, and
trying to alter it would have only made it worse.

The slot image is now exactly 56x56 pixels square, set on a 64x64
canvas, so there's a 4 pixel empty space around the edges. The full
256px .xcf workfile is included in the UI folder.

I've re-tiled all slot/inv images from the new single slot.

I also re-rendered the trash can icon from it since it was blurry and
oddly-sized. I couldn't find the original upstream image, so since
they're free, I used one of my Linux system's icons which happens to
resemble it.

I also removed a couple more improper uses of `background[]` where
`image[]` is more appropriate.

There are tons of minor tweaks throughout the code to re-align
everything, and I had to rewrite a few sections to avoid code
duplication and to allow for a little more flexibility (mainly to make
"lite" mode look right).
2021-03-09 15:04:11 -05:00
SmallJoker
d1a4396fbe
Fix bags backwards compatibility breakage since 4403b69 (#167) 2021-03-09 11:12:50 +01:00
Vanessa Dannenberg
fbbf786caf Tweak spacing between bags page top row and bag's inv 2021-03-01 18:57:50 +01:00
Vanessa Dannenberg
ae124b02c2 Tweak trash can icon 2021-03-01 18:57:50 +01:00
Vanessa Dannenberg
ebd1d1f245 Improve consistency of inventory (and alike) imagery
In a number of places, background[] is misused to place the
inventory backdrop images.  Where appropriate, image[] is used
instead, so that "ui_form_bg.png" actually serves as the one
and only true background image.

In so doing, I was able to remake the bag inventory images,
making them only big as is actually needed to hold 1, 2, or 3
rows of inventory slots.

This, in turn, allows a standardized main inventory image to
occupy the lower part of the window, which allows for
consistent inventory image positioning and sizing from one
page to another.

I also removed ui_misc_form.png.  Nothing in UI uses it, and
any external mods that used it can just use the standard
inventory and its background.

Lastly, I reduced the background image to 512x384 px.  It was
unnecessarily large before, considering it has no real detail.

The larger inventory images are all 512px wide, and multiples
of 64px in height.  Before, they were oddly sized.
2021-03-01 18:57:50 +01:00
IFRFSX
0f756a5d33
Update translation for zh_CN and zh_TW (#161) 2020-12-15 19:17:10 +01:00
Louis Royer
341a438267
Search items by English and translated description (#156)
This works only with Minetest version >= 5.3.0, nothing is changed for
older versions.
2020-07-15 20:21:06 +02:00
SmallJoker
d86592841e Remove unused 0.4.x files, multiline description 2020-07-11 19:51:42 +02:00
Maksim
f25426911d
Fix teleport sounds when teleport fails (#155) 2020-07-10 21:58:45 +02:00
David Leal
04b2edceb4
LuaCheck: Add hb as a global (#154)
`hb` global is from HudBars by Wuzzy2.
2020-06-06 13:09:08 +02:00
SmallJoker
5a24e9f6fc Fix item name position, also for hudbars 2020-06-05 21:30:53 +02:00
CarlosBarrazaE
eb96c89b5d
Update the Spanish language (#144)
Complete missing translations; error corrections.

Co-authored-by: David Leal <halfpacho@gmail.com>
2020-05-01 18:15:08 +02:00
David Leal
606ba6a1a3
Add GitHub workflow (#149) 2020-03-25 18:46:35 +01:00
SmallJoker
c0bd9977be Modernize. Bags: use strings 2020-03-21 18:57:53 +01:00
IFRFSX
26e0e41593
Improve traditional Chinese zh_TW (#143) 2020-02-12 19:14:22 +01:00
IFRFSX
a89245c41b
Add traditional Chinese translation (#142) 2020-02-02 16:24:57 +01:00
IFRFSX
f5c982cc85 Add Chinese Translation (#141) 2020-01-15 13:02:48 +01:00
Hamlet
05f7430216 Add Italian l10n (#140) 2019-11-21 18:59:48 +01:00
Andrey Kozlovskiy
ca6d9a10df Implement new crafting algorithm (#132)
* Implement new crafting algorithm

* Take craft width into account when creating craft index
* Fix moving logic, correctly check for empty stacks
* Return early when there's not enough items for craft
* Bound match_count with smallest stack_max value, take from inventory only if needed
* Continue if item can't be moved to the current position.
* Fix metadata loss and. Improve placement for some corner cases.
* Drop items from oversized stacks on the ground
* Place items exactly as displayed in the guide
* One source list one destination. Try to take from destination list first
2019-10-26 17:22:33 +02:00
Wuzzy
4a1414bacc Convert *.po files to *.tr files
This script was used, together with manual fixing:

https://gitlab.com/4w/xtend/blob/master/xtend_default/tools/convert_po_file_to_tr_file/convert_po_file_to_tr_file.lua
2019-10-17 21:05:08 +02:00
Wuzzy
8e74a80e91 Translation: Fix parameter symbols 2019-10-17 21:05:08 +02:00
Wuzzy
5327261718 Move to MT 5.0.0 translation system 2019-10-17 21:05:08 +02:00
SmallJoker
04b1cb9e7d Fix error on invalid item_button_ fields
Also reduce the player inventory sending by one. If a formspec is sent, it'll also take the newest known search text
2019-08-02 16:39:43 +02:00
SmallJoker
774674d0f5 README: Add features and link to mod contents
+LICENSE.txt
2019-06-16 11:14:08 +02:00
Panquesito7
4403b696be Replace deprecated functions with newer ones (#131)
These commits makes more compatibility with MT/MTG 5.0.0+ versions.
However, these commits breaks compatibility with the 0.4-series.
2019-06-16 10:26:40 +02:00
MoNTE48
a70ffb1509 Compress textures (-61 KB!) 2019-05-31 17:30:24 +02:00
Scott Horvath
86d2a11643 Allow all players to view items regardless of 'creative' priv
This allows any player to see usages of items found
even if item does not have explicit
recipies themselves.
(ex: default:papyrus, found/grown in wild, can be made into paper)
2019-05-28 21:30:55 +02:00
Emiel van Rooijen
16babc54f3 Add no_prepend[] by default 2019-03-31 12:19:08 +02:00
SmallJoker
4d5e883629 Add mod_api.txt documentation 2019-03-31 11:30:22 +02:00
SmallJoker
b871ccfc41 Use table.concat to build formspecs, style cleanups 2019-03-31 11:29:10 +02:00
SmallJoker
e9b4b52dc1 Biggest stacks first, smallest as late as possible
Split stacks ~evenly
Fast skip occupied slots
2019-03-30 22:53:36 +01:00
SmallJoker
bcb96d6caf Improve craftguide_craft() speed: Move stacks 2019-03-30 22:53:36 +01:00
SmallJoker
850ee9cbc0 Improve callback execution, add giveme guards 2019-02-17 15:14:38 +01:00
SmallJoker
54abad72f0 Add item tooltips with mod name
Inspired by #118, @Quent42340
2018-12-12 20:20:11 +01:00