Commit Graph

1370 Commits

Author SHA1 Message Date
Isabelle COWAN-BERGMAN
532d5b21fd
Add joystick layout for DragonRise GameCube controller (#11467) 2021-10-31 19:17:47 +01:00
sfan5
660e63dbae
Fix item duplication if player dies during interact callback (alternative) (#11662) 2021-10-25 20:30:27 +02:00
sfan5
a78124831f Fix incorrect error message in core.encode_png 2021-10-22 10:55:18 +02:00
sfan5
6de8d77e17 Move instead of copy during content install if possible 2021-10-07 00:20:01 +02:00
sfan5
2b5075f0e2 Move archive extraction in content store to async job 2021-10-07 00:20:01 +02:00
emixa-d
9fab5d594c
Add "MINETEST_MOD_PATH" environment variable (#11515)
This adds an environment variable MINETEST_MOD_PATH.
When it exists, Minetest will look there for mods in addition to ~/.minetest/mods/.
2021-10-07 00:19:41 +02:00
HybridDog
53e126ac49
List only jpg and png as screenshot format options (#11675)
The other formats are no longer supported in Minetest Irrlicht.
2021-10-05 21:54:13 +02:00
Pedro Gimeno
d7e7ade0f6 Add an option -t to force text output in /help
This also improves detection of whether formspecs are available.
2021-10-01 16:22:05 +02:00
Wuzzy
918fbe3ec1
Update builtin locale files (#11650) 2021-09-26 18:04:39 +02:00
Wuzzy
bc7d05581b
Fix several typos in settingtypes.txt (#11623) 2021-09-26 18:04:19 +02:00
TheBrokenRail
3dcf9e963e
Touch UI support for desktop builds (#10729) 2021-09-26 18:04:09 +02:00
sfan5
16a62426d6 Add feature table entry for new dynamic media API 2021-09-19 13:54:06 +02:00
DS
2cefe51d3b
Split vector.new into 3 constructors 2021-09-10 23:16:16 +02:00
sfan5
bbfae0cc67
Dynamic_Add_Media v2 (#11550) 2021-09-09 16:51:35 +02:00
Wuzzy
ff9945dc6e
Fix falling mesh nodes being half size (#11389) 2021-09-01 22:20:57 +02:00
lhofhansl
d1624a5521
Switch MapBlock compression to zstd (#10788)
* Add zstd support.
* Rearrange serialization order
* Compress entire mapblock

Co-authored-by: sfan5 <sfan5@live.de>
2021-08-31 17:32:31 -07:00
sfan5
6a1424f2b1
Async-related script cleanups 2021-08-28 12:15:12 +02:00
Treer
149d8fc8d6
Add group-based tool filtering for node drops (#10141)
Supports both AND and OR requirements, e.g.

 * "a tool that's in any of these groups"
 * "a tool that's in all of these groups"
2021-08-27 20:23:20 +02:00
Lean Rada
d36dca3aba
Optimize vector length calculations (#11549) 2021-08-27 20:22:35 +02:00
Hugues Ross
47c146120a
Add disable_settings to game.conf to get rid of "Enable Damage"/"Creative Mode"/"Host Server" checkboxes (#11524)
This adds support for disable_settings to game.conf. In this you can specify a list of settings that should not be visible in the "local game" (or however it is called nowadays) tab. Enable Damage, Creative Mode and Host Server are supported.

Co-authored-by: Wuzzy <Wuzzy2@mail.ru>
Co-authored-by: Aaron Suen <warr1024@gmail.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-08-12 20:08:12 +02:00
hecks
eefa39e47b
Remove statement semicolons from a lua script 2021-08-09 21:03:18 +02:00
rubenwardy
bee50ca7fa
ContentDB: Add support for package aliases / renaming (#11484) 2021-08-02 20:05:10 +01:00
Wuzzy
e7cd4cfa25
Fix /emergeblocks crashing in debug builds (#11461)
The reason for the bug was an u16 overflow, thus failing the assert. This only happened in Debug build but not in Release builds.
2021-07-31 19:54:40 +02:00
hecks
80d12dbedb
Add a simple PNG image encoder with Lua API (#11485)
* Add a simple PNG image encoder with Lua API
Add ColorSpec to RGBA converter
Make a safety wrapper for the encoder
Create devtest examples

Co-authored-by: hecktest <>
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-29 05:10:10 +02:00
rubenwardy
9c145ba0d8
ContentDB: Add reason to downloads (#10876) 2021-07-27 19:08:49 +02:00
x2048
bf3acbf388
Distribute shadow map update over multiple frames to reduce stutter (#11422)
Reduces stutter and freezes when playing.

 * Maintains double SM and SM Color textures
 * Light frustum update triggers incremental generation of shadow map into secondary 'future' textures.
 * Every incremental update renders a portion of the shadow draw list (split equally).
 * After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen.

Co-authored-by: sfan5 <sfan5@live.de>
2021-07-25 12:36:23 +02:00
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes (#11379) 2021-07-15 21:19:59 +02:00
Wuzzy
6cdb150c8b
Remove hardcoded "You died." message in chat (#11443) 2021-07-12 20:32:27 +02:00
Warr1024
52128ae11e
Add API for mods to hook liquid transformation events (#11405)
Add API for mods to hook liquid transformation events

Without this API, there is no reliable way for mods to be
notified when liquid transform modifies nodes and mods are
forced to poll for changes.  This allows mods to detect
changes to flowing liquid nodes and liquid renewal using
event-driven logic.
2021-07-09 09:08:40 -04:00
hecks
827a7852e2
Remove unsupported video drivers (#11395)
This completely removes any mention of the software and D3D drivers from MT, preventing the user from accidentally attempting to use them. Users who need a software renderer should be asked to install Mesa drivers which offer superior fidelity and performance over the 'burningsvideo' driver.
2021-06-30 20:42:15 +02:00
AFCMS
8cc04e0cb4
Run on_grant and on_revoke callbacks after privs change (#11387)
Callbacks were run too early. This changes the order to call after the privs are updated.
2021-06-30 20:40:45 +02:00
sfan5
72927b73ca Fix spurious shadow enablement in mainmenu
fixes #11394
2021-06-30 17:10:28 +02:00
Wuzzy
63fc728a84
Require 'basic_debug' priv to view gameplay-relevant debug info, require 'debug' priv to view wireframe (#9315)
Fixes #7245.
2021-06-24 21:21:19 +03:00
Wuzzy
7fdbf3f231
Update builtin locale (#11371) 2021-06-21 18:55:55 +01:00
William L. DeRieux IV
9d2e7fc983
Strip carriage returns from lines in settingtypes.txt (#11338)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2021-06-21 18:55:48 +01:00
Wuzzy
b28523bf38
Fix some typos in builtin (#11370) 2021-06-21 17:30:29 +01:00
sfence
b10091be9b
Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
pecksin
1805775f3d
Make chat web links clickable (#11092)
If enabled in minetest.conf, provides colored, clickable (middle-mouse or ctrl-left-mouse) weblinks in chat output, to open the OS' default web browser.
2021-06-20 17:20:24 +02:00
sfan5
edf098db63 Drop --videomodes, fullscreen_bpp and high_precision_fpu settings
These have been pointless for a while.
2021-06-16 17:41:34 +02:00
Wuzzy
dc165fe942
Message for empty list output in /haspriv & /mods (#11149) 2021-06-12 18:48:21 +02:00
benrob0329
fbcf0fab8e
falling.lua - Fix Meshnodes Being Too Big (#11307) 2021-06-12 18:48:14 +02:00
Liso
c47313db65
Shadow mapping render pass (#11244)
Co-authored-by: x2048 <codeforsmile@gmail.com>
2021-06-06 18:51:21 +02:00
DS
8f085e02a1
Add metatables to lua vectors (#11039)
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
sfan5
1bc753f655 Use safe_file_write to save forceloaded blocks 2021-05-30 11:40:14 +02:00
Wuzzy
d7a4479eb3 Fix misleading /shutdown command syntax 2021-05-29 11:45:04 +02:00
Wuzzy
228f1c6770
Fix rotation for falling mesh degrotate nodes (#11159) 2021-04-28 08:38:47 +02:00
Wuzzy
776015c350
Rename “Irrlicht” to “IrrlichtMt” in documentation 2021-04-23 21:37:45 +02:00
sfan5
1da73418cd
Enable cleanTransparent filter for mipmapping and improve its' algorithm (#11145) 2021-04-20 19:50:19 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 (#11074) 2021-04-20 19:50:03 +02:00
benrob0329
a106bfd456
Also return the ObjectRef from minetest.spawn_falling_node() (#11184) 2021-04-13 20:02:43 +02:00
sfan5
0abc1e98ed
Fix server favorites not saving when client/serverlist/ doesn't exist already (#11152) 2021-04-09 22:36:10 +02:00
Wuzzy
a0e7a4a0df Update German builtin translation 2021-04-09 22:34:18 +02:00
Wuzzy
8c7e214875 Update builtin locale files 2021-04-09 22:34:18 +02:00
DS
2332527765
Add vector.to_string and vector.from_string (#10323)
Writing vectors as strings is very common and should belong to `vector.*`. `minetest.pos_to_string` is also too long to write, implies that one should only use it for positions and leaves no spaces after the commas.
2021-04-05 15:55:56 +02:00
sfan5
34888a914e
Sort out cURL timeouts and increase default 2021-04-02 00:19:39 +02:00
Vincent Robinson
3560691c0a
Add math.round and fix vector.round (#10803) 2021-04-02 00:18:58 +02:00
SmallJoker
f4118a4fde
Consistent title bar + render information in mainmenu (#10764) 2021-03-30 21:49:15 +02:00
sfan5
f345d00a43 Add entry in features table for degrotate changes 2021-03-30 14:40:09 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
Emojigit
fde2785fe3
Update language choices in settingtypes.txt (#11124) 2021-03-29 19:58:39 +02:00
Wuzzy
7ad8ca62dc
Clean up various misleading and/or confusing messages and texts related to priv changes (#11126) 2021-03-29 19:57:48 +02:00
sfan5
8d89f5f0cc
Replace fallback font nonsense with automatic per-glyph fallback (#11084) 2021-03-29 19:55:24 +02:00
HybridDog
fc1512cca6
Translate chatcommand delay message and replace minetest with core (#11113) 2021-03-26 20:59:05 +01:00
sfan5
042131d91d
Mainmenu: Improve "Join Game" tab (#11078) 2021-03-20 19:48:25 +01:00
Wuzzy
a8cc3bdb08
Builtin: Translatable join, leave, profiler msgs (#11064) 2021-03-19 21:46:11 +01:00
Zughy
ee2d46dcbe
Builtin: Italian translation (#11038) 2021-03-19 21:45:46 +01:00
HybridDog
88b052cbea
Chatcommands: Show the execution time if the command takes a long time (#10472) 2021-03-13 11:18:25 +01:00
Wuzzy
a21402b38f
Translate builtin into German (server-side) (#11032) 2021-03-08 20:27:48 +01:00
Wuzzy
c48bbfd067
Fix misleading chat messages of /clearobjects (#10690) 2021-03-08 20:27:32 +01:00
Wuzzy
d9b78d6492 Predict failing placement of ignore nodes 2021-03-07 14:26:50 +01:00
Wuzzy
cafad6ac03 Translate builtin (#10693)
This PR is the second attempt to translate builtin.
Server-sent translation files can be added to `builtin/locale/`, whereas client-side translations depend on gettext.
2021-03-05 16:29:48 +01:00
Elias Fleckenstein
c401a06f8a
Make pkgmgr handle modpacks containing modpacks properly
fixes #10550
2021-03-01 12:13:47 +01:00
rubenwardy
b390bd2ea5 pkgmgr: Fix crash when .conf release field is invalid
Fixes #10942
2021-02-28 17:11:41 +00:00
Yaman Qalieh
d51d0d77c4
Allow toggling of texture pack by double clicking 2021-02-24 11:50:19 +01:00
HybridDog
92f4c68c0c
Restructure teleport command code (#9706) 2021-02-24 11:46:39 +01:00
Wuzzy
827224635b
Use "Aux1" key name consistently everywhere 2021-02-24 11:45:30 +01:00
sfan5
35b476c65d Update credits tab and mailmap 2021-02-23 19:40:44 +01:00
Wuzzy
c12e9cdcba
Fail gracefully if main_menu_script has bad value (#10938)
Builtin: Move :close() before dofile
2021-02-19 19:59:48 +01:00
Elias Fleckenstein
b2ab5fd161
Replace deprecated call to add_player_velocity in builtin (#10968) 2021-02-18 14:39:04 +00:00
rubenwardy
f85e9ab925
Add nametag background setting and object property (#10937) 2021-02-17 19:51:28 +00:00
rubenwardy
a8f6befd39
Fix short_description fallback order (#10943) 2021-02-17 18:53:44 +00:00
rubenwardy
4db7fb4a3b Replace 'minetest.' with 'core.' in builtin 2021-02-11 10:18:22 +00:00
rubenwardy
b28749057a Fix crash in tab_online when cURL is disabled 2021-02-09 12:41:11 +00:00
rubenwardy
3a8c37181a
Use consistent temp folder path (#10892) 2021-02-07 15:27:24 +00:00
sfan5
40ad976753 Revise dynamic_add_media API to better accomodate future changes 2021-02-01 23:00:13 +01:00
sfan5
a01a02f7a1 Preserve immortal group for players when damage is disabled 2021-01-31 20:38:12 +01:00
rubenwardy
6e0e0324a4
Fix minetest.dig_node returning true when node isn't diggable (#10890) 2021-01-31 18:49:51 +00:00
sfan5
83229921e5 Rework use_texture_alpha to provide three opaque/clip/blend modes
The change that turns nodeboxes and meshes opaque when possible is kept,
as is the compatibility code that warns modders to adjust their nodedefs.
2021-01-29 17:34:41 +01:00
sfan5
edd8c3c664 Drop never documented 'alpha' property from nodedef
Includes minimal support code for practical reasons.
We'll need it for a slightly different purpose next commit.
2021-01-29 17:34:41 +01:00
rubenwardy
82deed2d7d
ContentDB: Order installed content first (#10864) 2021-01-28 11:24:36 +00:00
Yaman Qalieh
6417f4d314
Fix ESC in error dialog from closing Minetest (#10838) 2021-01-23 21:40:48 +00:00
rubenwardy
67aa75d444
Use JSON for favorites, move server list code to Lua (#10085)
Co-authored-by: sfan5 <sfan5@live.de>
2021-01-22 15:08:57 +00:00
Zughy
8ff209c412
Load system-wide texture packs too (#10791)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2021-01-21 19:01:37 +00:00
Zughy
45ccfe26fb
Removed some obsolete code (#10562)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2021-01-21 18:17:09 +00:00
Zughy
eb8af614a5
Local tab: rename 'Configure' to 'Select Mods' (#10779)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-20 22:32:18 +00:00
rubenwardy
5e6df0e7be ContentDB: Ignore content not installed from ContentDB 2021-01-16 17:51:49 +00:00
JDiaz
08ee9794fb
Implement on_rightclickplayer callback (#10775)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-11 18:03:31 +01:00
Zughy
fcb3ed840a
Sanitize server IP field in mainmenu (#10793) 2021-01-10 20:10:12 +01:00
rubenwardy
edd0836011
ContentDB: Add overwrite dialog when content is already installed (#10768) 2021-01-04 15:18:31 +00:00
hecks
dd5a732fa9
Add on_deactivate callback for luaentities (#10723) 2021-01-02 15:14:29 +01:00
Zughy
92aac69b36
"Browse online content" formspec improvement (#10756) 2021-01-02 15:13:02 +01:00
Zughy
55dba1bc6d
Display Minetest header when menu_last_game value isn't available anymore (#10751) 2020-12-28 13:56:58 +01:00
Lars Mueller
8f72d4b294 Fix minetest.is_nan 2020-12-24 22:07:04 +01:00
rubenwardy
d2bbf13dfe
Add dependency resolution to ContentDB (#9997) 2020-12-23 14:42:18 +00:00
Wuzzy
535557cc2e
Fix fallnode rotation of wallmounted nodebox/mesh (#10643) 2020-12-22 14:54:27 +01:00
Markus
af22dd86e3
Fix some more joystick issues (#10624) 2020-12-19 22:01:05 +01:00
Andrey
5066fe7583
MainMenu: Add clear button and icon for search input (#10363) 2020-12-19 22:00:20 +01:00
rubenwardy
664f5ce960
Add open user data button to main menu (#10579) 2020-12-19 13:27:15 +00:00
Lars
e638056523 Allow configuring block disk and net compression. Change default disk level. 2020-12-15 10:15:25 -08:00
sfan5
07e0b527cf Revert "Increase limit for simultaneous blocks sent per client and the meshgen cache."
This reverts commit 2f6393f49d5ebf21abfaa7bff876b8c0cf4ca191.
2020-12-04 19:06:16 -08:00
HybridDog
e73c5d4585
Fix MSAA stripes (#9247)
This only works when shaders are enabled.
The centroid varying avoids that the textures (which repeat themselves out of bounds) are sampled out of bounds in MSAA.
If MSAA (called FSAA in minetest) is disabled, the centroid keyword does nothing.
2020-12-04 20:16:12 +01:00
sfan5
ecd4f45318 Fix certain connected nodeboxes crashing when falling
fixes #10695
2020-12-04 11:28:45 +01:00
Lars
2f6393f49d Increase limit for simultaneous blocks sent per client and the meshgen cache. 2020-11-16 10:30:52 -08:00
Wuzzy
ee1853e9bc
Fix falling image of torchlike if paramtype2="none" (#10612) 2020-11-15 17:37:09 +01:00
sfan5
61bbdd6807 Copy position for can_dig
fixes #10514
2020-11-12 21:08:26 +01:00
Lars
be8d1d2d99 Increase default emerge queue limits and limit enqueue requests for active blocks. 2020-11-12 09:04:10 -08:00
DS
be3fe161fc
Do not set a default for description in itemdef table (#10559)
* Do not set a default for description in itemdef table

* improve documentation
2020-11-10 21:03:10 +01:00
Lars
aa4d3cb148 Increase defaults for viewing_range, active_object_range and related settings #10597 2020-11-03 15:55:53 -08:00
rubenwardy
89dd05fdf3
Fix segfault in deprecation logging due to tail call, log by default (#10174) 2020-10-31 18:19:23 +00:00
Vitaliy
707c8c1e95
Shaders for Android (GLES 2) (#10506)
Shader support for OpenGL ES 2 devices (Android)

Co-authored-by: sfan5 <sfan5@live.de>
2020-10-25 18:01:03 +01:00
DS
9d370b78da
Add documentation to builtin core.run_callbacks (#10494) 2020-10-21 21:05:32 +01:00
Lars
ed22260822 Remove all bump mapping and parallax occlusion related code. 2020-10-17 13:09:16 -07:00
Paramat
d671102546
Give unnamed world names incrementing numbers. Format 'world<number>' (#10247)
Code created with help from GitHub users sirrobzeroone and pauloue, thank you.
2020-10-13 00:52:53 +01:00
DS
f3ae45b2b2
Add a short_description to be used by mods (#8980) 2020-10-09 19:11:21 +01:00
Hugo Locurcio
aae7d4ff8e
Improve the fsaa setting description (#10279)
See https://github.com/minetest/minetest/issues/8459.
2020-10-06 20:50:20 +02:00
HybridDog
2f4037752b
Add minetest.get_artificial_light and minetest.get_natural_light (#5680)
Add more detailed light detection functions, a function to get the artificial light (torches) and a function to get the sunlight as seen by the player (you can specify timeofday).

Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-10-06 20:49:46 +02:00
rubenwardy
3250b37e32
Deprecate get_player_velocity and add_player_velocity (#10173) 2020-10-04 00:33:45 +01:00
Elijah Duffy
7d3641021b
Lua API: Add register_on_chatcommand to SSM and CSM (#7862)
Allows catching a chatcommand call just after the command and the
parameters are parsed but before its existence is checked and before the
corresponding function is run. Returning `true` from a callback function
will prevent default handling of the command leaving mods to handle the
command manually.
2020-10-03 17:38:08 +01:00
HybridDog
9dc29a75b4
Reduce the FPS when the window is unfocused (#8837) 2020-10-03 17:33:51 +01:00
HybridDog
4b423ee9b1
Chatcommand: Show help message if func returns false without message
#9440
2020-10-03 17:33:43 +01:00
Paramat
a69bc67ce2
Improve layout of main menu 'local' tab (#10366) 2020-09-29 23:37:03 +01:00
tenplus1
34e3ede8ee
Ability to remove minetest.after once set (#10103) 2020-09-23 19:11:56 +02:00
hecks
fcff9f2911
Remove "generate normal maps" feature (#10313)
Erase all traces of normal "generation" from fragment shaders
Remove the "feature" from the engine and default config
Remove any leftover documentation of it
2020-09-14 19:27:25 +02:00
Paramat
4ba5046308
Add 'ores' global mapgen flag (#10276) 2020-09-03 01:28:40 +01:00
Pierre-Yves Rollo
d3d218940b
Fix #10349 game crashing if dropped an item with undefined light_source (#10351) 2020-08-30 15:34:28 +02:00
LoneWolfHT
c18dbadcb8
Fix dropped craftitems/tools not using light_source values (#9438) 2020-08-30 00:02:21 +01:00
DS
28e87ce9d5
Add vector.offset (#10321) 2020-08-29 16:41:29 +01:00
Maksim
788f297595
Android: drop simple MainMenu (#10227)
The default (PC-style) MainMenu works great on Android. Provides access to ContentDB and allows players to create many worlds in a few clicks.
Makes the interface consistent and eliminates player confusion.
2020-08-27 21:46:57 +02:00
Vincent Robinson
47948793c1
Auto focus on OK button in main menu error messages (#10300) 2020-08-23 15:40:34 +02:00
Lars
649211bf27 Allow the ABM time budget to be configurable. 2020-08-18 16:04:32 -07:00
rubenwardy
7242de1d4b
ContentDB: Add Update All and download queuing (#9995) 2020-08-17 19:09:33 +01:00
ANAND
291a6b70d6 Allow binding dig, place actions to keys; remove LMB/RMB hardcoding
Co-authored-by: Sam Caulfield <sam@samcaulfield.com>
2020-08-15 12:19:20 +03:00
Emojigit
abfea69e5f
Change last-login command to show player name in output (#10263) 2020-08-06 19:30:41 +02:00
Paramat
f92a393f6f
Mapgen Flat: Add caverns, disabled by default (#9913)
Add the caverns used in V5, V7, Valleys, Carpathian.
Disabled by default to not be force-enabled in existing worlds.
2020-08-05 05:00:00 +01:00
SmallJoker
aba8c37531 Falling: Fix error caused by missing param2
Falling nodes that were spawned prior the recent falling node changes did not require param2.
Default to param2 = 0 when none is found in the node data.
2020-07-30 19:03:48 +02:00
rubenwardy
f948e2c585 Fix incorrect view URL for games
package.id is a sanitised combination of author and basename, used to
compare remote and local content. Minetest ignores `_game` when comparing
game names, so package.id has `_game` removed. This meant that the wrong
URL was being generated for View.
2020-07-28 17:02:32 +01:00
LoneWolfHT
88ffd64124 Add object crosshair, disable entity selectionboxes by default (#9523)
Adds new object crosshair base pack texture
2020-07-14 19:13:04 +02:00
sfan5
21de17e3b6 Fix ContentDB menu icons not appearing on Windows 2020-07-08 23:37:14 +02:00
NetherEran
7148834440
Some vector functions useful for working with rotations (#9572)
* added vector.rotate

* added vector.forward_from_rotation and vector.up_from_rotation

* added vector.forward_up_to_rotatiton

* fixed some bugs and formatting with vector functions

* shortened name of some new vector functions and added documentation

* made vector.rotate not require a unit vector as axis

* fixed crash with vector.forward_up_to_rot

* renamed new vector functions, made vector.rotate apply a rotation matrix, old vector.rotate is now called vector.rotate_around_axis

* documented vector function changes

* removed some whitespace to appease luacheck

* implemented and fixed optimization of vector.rotate_around_axis by SmallJoker

* added some unit tests for rotation vector functions

* clarified that rotation vectors are in radians and according to the left hand rule

* hopefully appeased luacheck

* renamed rotation_to_horizontal to forward_at_rotation, rotation_to_vertical to up_at_rotation

* handled cases where sin or cos are 0 in rotation vector functions

* added more comments

* clarified documentation of rotation vector functions

* added more unit tests

* changed way in which vector.rotate_around_axis is adjusted for left handed coordinate systems

* made vector.rotate_around_axis actually left handed

* unrolled matrix multiplication

* removed vector.forward_at_rotation and vector.up_at_rotation

* prettified vector.rotate_around_axis, made previous commits not break anything

* removed references to removed vector.forward_at_rotation and vector.up_at_rotation

* removed documentation of removed vector functions

* clarified documentation and fixed styling of rotation vector functions

* restyled comments minorly

* spelling fixes and some hopefully better comments

* allowed 'up' to be missing from vector.directions_to_rotation and removed requirement for unit vectors as arguments

* made vector.rotate_around_axis() right handed again for consistency

* documented previous changes

* made matrix multiplication actually multiply

* renamed vector.directions_to_rotation() to vector.dir_to_rotation()

* optimized a distance comparison

* Fixed potential false positive in unit tests.

Co-authored-by: NetherEran <nethereran@hotmail.com>
2020-06-09 19:38:39 +02:00
Paul Ouellette
b16f841756
LuaItemStack: Add __tostring metamethod (#8785)
* LuaItemStack: Add __tostring metamethod

* Clean up LuaItemStack::checkobject
2020-06-09 19:37:25 +02:00