Commit Graph

689 Commits

Author SHA1 Message Date
Loic Blot 258101a910 refacto: RenderingEngine is now better hidden
* No more access to the singleton instance from everywhere (RenderingEngine::get_instance dropped)
* RenderingEngine::get_timer_time is now non static
* RenderingEngine::draw_menu_scene is now non static
* RenderingEngine::draw_scene is now non static
* RenderingEngine::{initialize,finalize} are now non static
* RenderingEngine::run is now non static
* RenderingEngine::getWindowSize now have a static helper. It was mandatory to hide the global get_instance access
2021-05-03 19:49:19 +02:00
Loic Blot 74125a74d3 refacto: hide mesh_cache inside the rendering engine
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03 19:49:19 +02:00
Loic Blot e0716384d6 refacto: add RenderingEngine::cleanupMeshCache
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-05-03 19:49:19 +02:00
Loic Blot e34d28af9f refacto: rendering engine singleton removal step 1 (filesystem)
Make the RenderingEngine filesystem member non accessible from everywhere

This permits also to determine that some lua code has directly a logic to extract zip file. Move this logic inside client, it's not the lua stack role to perform a such complex operation

Found also another irrlicht <1.8 compat code to remove
2021-05-03 19:49:19 +02:00
Loic Blot bc1888ff21 fix: drop old irrlicht <1.8 compat on Client::loadMedia 2021-05-03 19:49:19 +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
Seth Traverse 16e5b39e1d
Add a key to toggle map block bounds (#11172)
It's often useful to know where the map block boundaries are for doing server admin work and the like.
Adds three modes: single mapblock, range of 5, and disabled.
2021-04-20 19:23:31 +02:00
sfan5 0077982fb7
GLES fixes (#11205)
* Consistently set float precision for GLES

* Enable DPI scaling on Windows+GLES
2021-04-18 16:07:13 +02:00
Wuzzy 4b8209d9a4
Modifying fall damage via armor group (#11080)
Adds a new fall_damage_add_percent armor group which influences the fall damage in addition to the existing node group.
2021-04-11 17:09:37 +02:00
Wuzzy e89e6c8380 Don't reseed stars when changing star count 2021-04-09 22:33:45 +02:00
sfan5 19c283546c Don't apply connection timeout limit to locally hosted servers
fixes #11085
2021-04-05 15:21:43 +02:00
SmallJoker c11208c4b5
Game: Scale damage flash to max HP
The flash intensity is calculated proportionally to the maximal HP.
2021-04-05 13:38:50 +02:00
sfan5 f0bad0e2ba
Reserve vectors before pushing and other code quality changes (#11161) 2021-04-05 13:38:31 +02:00
sfan5 34888a914e
Sort out cURL timeouts and increase default 2021-04-02 00:19:39 +02:00
sfan5 1e4913cd76
Irrlicht support code maintenance 2021-03-31 13:15:47 +02:00
sfan5 0d90ed6d92
Draw items as 2D images (instead of meshes) when possible 2021-03-30 21:50:39 +02:00
SmallJoker f4118a4fde
Consistent title bar + render information in mainmenu (#10764) 2021-03-30 21:49:15 +02:00
Wuzzy 6c9be39db0
Fix wield image of plantlike_rooted (#11067) 2021-03-30 00:27:46 +02:00
Vitaliy 3b78a22371
Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
sfan5 8d89f5f0cc
Replace fallback font nonsense with automatic per-glyph fallback (#11084) 2021-03-29 19:55:24 +02:00
Desour 437d011968 Fix attached-to-object sounds having a higher reference distance 2021-03-23 15:43:40 +01:00
Vitaliy 44ed05ddf0
Restore minimal normal texture support (for minimap shading) 2021-03-21 23:22:22 +01:00
Elias Åström 59a1b53d67
Scale mouse/joystick sensitivity depending on FOV (#11007) 2021-03-19 21:43:01 +01:00
Jean-Patrick Guerrero 285ba74723
GUIScene: Clear depth buffer + replace deprecated clearZBuffer calls 2021-03-16 23:28:16 +01:00
Jean-Patrick Guerrero 66b5c08664 Fix deprecated calls with Irrlicht 1.9 2021-03-16 23:27:15 +01:00
sfan5 051bc9e662 Enable Irrlicht debug logging with --trace 2021-03-12 20:56:02 +01:00
sfan5 1bc85a47cb Avoid unnecessary copies during media/mesh loading 2021-03-12 20:56:02 +01:00
sfan5 cff35cf0b3 Handle mesh load failure without crashing 2021-03-12 20:56:02 +01:00
sfan5 3579dd2186 Restore Irrlicht 1.9 support 2021-03-09 21:53:17 +01:00
sfan5 bf8fb2672e
Use place_param2 client-side for item appearance & prediction (#11024) 2021-03-09 00:56:53 +01:00
sfan5 593d5f4465 Clean up ClientEvent hudadd/hudchange internals 2021-03-06 23:02:10 +01:00
Vitaliy abb0c99a6c Pause animations while game is paused (#10658)
Pauses all mesh animations while game is paused.
2021-03-05 16:30:01 +01:00
hecks 225e69063f
Keep mapblocks in memory if they're in range (#10714)
Some other minor parts of clientmap.cpp have been cleaned up along the way
2021-02-26 21:23:46 +01:00
savilli 3edb1ddb81
Fix hud_change and hud_remove after hud_add (#10997) 2021-02-26 21:21:20 +01:00
Wuzzy 827224635b
Use "Aux1" key name consistently everywhere 2021-02-24 11:45:30 +01:00
sfan5 9b59b2f75d Fix keyWasDown in input handler
This was changed 291a6b70d6 but should have never been done.
2021-02-23 19:41:38 +01:00
SmallJoker bce875fada Minimap: Fix default label translations 2021-02-22 20:25:16 +01:00
Wuzzy e441ab9675
Fix world-aligned node rendering at bottom (#10742) 2021-02-19 19:45:36 +01:00
rubenwardy f85e9ab925
Add nametag background setting and object property (#10937) 2021-02-17 19:51:28 +00:00
sfan5 f018737b06 Fix segfault with invalid texture strings and minimap enabled
closes #10949
2021-02-14 11:28:02 +01:00
Jean-Patrick Guerrero 1d64e6537c Pause menu: Fix segfault on u/down key input 2021-02-08 18:56:51 +01:00
Muhammad Rifqi Priyo Susanto 3ac07ad34d
Fall back to default when rendering mode (3d_mode) is set invalid (#10922) 2021-02-06 13:47:12 +01:00
k.h.lai 2072afb72b
Fix memory leak detected by address sanitizer (#10896) 2021-02-02 20:56:24 +01:00
sfan5 c834d2ab25 Drop wide/narrow conversion functions
The only valid usecase for these is interfacing with OS APIs
that want a locale/OS-specific multibyte encoding.
But they weren't used for that anywhere, instead UTF-8 is pretty
much assumed when it comes to that.
Since these are only a potential source of bugs and do not fulfil
their purpose at all, drop them entirely.
2021-02-02 20:46:08 +01:00
sfan5 fd1c1a755e Readd Client::sendPlayerPos optimization (was part of 81c7f0a)
This reverts commit b49dfa92ce.
2021-01-31 20:38:12 +01:00
SmallJoker 2760371d8e Settings: Purge getDefault, clean FontEngine 2021-01-29 17:32:35 +01:00
Vitaliy ed0882fd58
Include irrlichttypes.h first to work around Irrlicht#433 (#10872)
Fixes the PcgRandom::PcgRandom linker issue, caused by inconsistent data type definition.
2021-01-28 21:25:13 +01:00
rubenwardy 4c76239818
Remove dead code (#10845) 2021-01-22 15:09:26 +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
Wuzzy 7f25823bd4
Allow "liquid" and "flowingliquid" drawtypes even if liquidtype=none (#10737) 2021-01-21 00:51:24 +01:00
sfan5 74762470b2 Fix some minor code issues all over the place 2020-12-24 13:44:54 +01:00
Lars 289425f6bd Minor profiler fixes. 2020-12-23 14:48:08 -08:00
Markus af22dd86e3
Fix some more joystick issues (#10624) 2020-12-19 22:01:05 +01:00
Vitaliy ccbf8029ea
Cleanup shader generation code (#10663)
Shader generation is a mess. This commit cleans some parts up, including dropping remains of HLSL support which was never actually implemented.
2020-12-19 20:57:10 +01:00
Zughy 4d41ed0975
Semi-transparent background for nametags (#10152) 2020-12-14 23:49:30 +01:00
hecks 6d7067fd37
Implement mapblock camera offset correctly (#10702)
Implement mapblock camera offset correctly - reduce client jitter

Co-authored-by: hecktest <>
2020-12-05 15:03:40 -08:00
SmallJoker 3176daee79 Input: Fix on_rightclick called when placing into air 2020-11-29 19:20:45 +01:00
sfan5 868749b4f8 Return star color calculation to what it previously was 2020-11-26 22:17:11 +01:00
numzero 8689e00fca Fix style 2020-11-26 12:49:10 -08:00
numzero c158e20e5b Provide fallback star color for GLES 2 with MT shaders disabled 2020-11-26 12:49:10 -08:00
numzero cdcf7dca7c Sky: support GLES2
IrrLicht built-in shader is broken, have to write my own
2020-11-26 12:49:10 -08:00
numzero be59668f47 Allow missing shaders 2020-11-26 12:49:10 -08:00
numzero d7cf40a0ce Replace TriangleFan as poorly supported 2020-11-26 12:49:10 -08:00
numzero 560627eef8 Reuse seed when updating stars
The only currently relevant parameter is scale which can now be changed
without resetting stars position
2020-11-26 12:49:10 -08:00
numzero 3077afc0a2 Store stars in a single static mesh buffer 2020-11-26 12:49:10 -08:00
numzero 89cc5bf537 Don't evaluate things many times 2020-11-26 12:49:10 -08:00
numzero 095f82692d Batch cloud drawing 2020-11-26 12:49:10 -08:00
Lars 8dc70ebb93 Fix camera panning glitches (partially revert 10489.) 2020-11-25 14:22:36 -08:00
Pierre-Yves Rollo 78273027bf Add sound to press event of some formspecs elements (#10402) 2020-11-23 21:28:25 +01:00
sfan5 b504a1aa4b Fix player sprite visibility in first person
closes #10525
2020-11-12 21:08:26 +01:00
sfan5 c441baa91b Fix overloaded virtual warnings with get/setAttachment() 2020-11-12 21:08:26 +01:00
SmallJoker 68139a28eb
Revert "Replace MyEventReceiver KeyList with std::unordered_set" (#10622)
This reverts commit 787561b29a.
2020-11-12 19:16:02 +01:00
Markus Koch e1142ee57f Joystick: Remap joystick-specific KeyTypes to generic ones
According to the following table:
	* MOUSE_L     -> DIG
	* MOUSE_R     -> PLACE
	* SCROLL_UP   -> HOTBAR_NEXT
	* SCROLL_DOWN -> HOTBAR_PREV

This commit entirely removes the special KeyTypes used for joysticks.

Support for the MOUSE KeyTypes had already been removed in the main
game code without adapting the joystick code, breaking joystick
input. This commit restores joystick functionality.
2020-11-09 11:58:50 +01:00
SmallJoker c940a57a38 ContentCAO: Fix segfault when minimap is disabled 2020-11-08 11:30:16 +01:00
sfan5 627c22c36e Fix integer-string conversion for shaders
closes #10605
2020-11-05 19:34:40 +01:00
Lars Müller e3bd6704a0
Revert "Fix short 180 degree rotation when using set_bone_position (#10405)" (#10534)
This reverts commit 0f98b54aa4.
2020-11-04 21:43:32 +01:00
Lars Müller 2dff3dd03f
Player physics: Ensure larger dtime simulation steps (#10563) 2020-10-29 20:15:46 +01:00
Oblomov a701d24a00
Show RTT in ms with 2 digits of precision (#10573)
If your ping is in seconds, you probably have other problems.
2020-10-29 20:09:59 +01: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
Maksim 5c0a57f606
Fix Media... 0% on loading screen (#9478) 2020-10-21 20:42:40 +01:00
sfan5 c7aa92aaed Fix show_on_minimap default value for local player
fixes #10526
2020-10-20 16:36:05 +02:00
sfan5 660115c1ab
Decouple entity minimap markers from nametags replacing with show_on_minimap property (#10443) 2020-10-19 20:38:15 +02:00
Lars b826e39730 Minor clientmap improvements.
- Avoid calculating isBlockInSight for blocks without meshes.
- Add metric for how many blocks the client has currently loaded.
- Make some variables constant.
2020-10-19 09:31:09 -07:00
Lars 738f624218 Periodically release all mesh HW buffers to avoid an Irrlicht bottleneck. 2020-10-17 13:22:30 -07:00
Lars ed22260822 Remove all bump mapping and parallax occlusion related code. 2020-10-17 13:09:16 -07:00
Lars 521a04222a Avoid drawing invisible blocks on the client. 2020-10-13 09:30:59 -07:00
Zughy a37e96eefc
-Wmem-access only called when GCC > 7 (#10453) 2020-10-06 20:51:27 +02:00
SmallJoker f46509d5e2
Remove unused functions reported by cppcheck (#10463)
Run unused functions reported by cppcheck

This change removes a few (but not all) unused functions.
Some unused helper functions were not removed due to their complexity and potential of future use.
2020-10-05 09:07:33 +02:00
Pierre-Yves Rollo 81c66d6efb Minimap as HUD element with API control
Features:
 * Define Minimap available modes (surface/radar, scale) from Lua, using player:set_minimap_modes()
 * New HUD elements for displaying minimap with custom size and placing
 * New minimap mode for displaying a texture instead of the map
2020-10-04 15:24:34 +02:00
Jordan Snelling 3068853e8a
Add First Person Attachments (#10360)
Fixes some other third person camera specific attachments.
Implements a single new flag for entities to be forced visible in first person mode.
Old mods do not need to be updated to use the new flag and are fully backwards compatible.
2020-10-04 15:10:34 +02:00
Lars Müller 0f98b54aa4
Fix short 180 degree rotation when using set_bone_position (#10405) 2020-10-04 15:09:12 +02:00
HybridDog 9dc29a75b4
Reduce the FPS when the window is unfocused (#8837) 2020-10-03 17:33:51 +01:00
SmallJoker 947466ab28 (se)SerializeString: Include max length in the name
This commit clarifies the maximal length of the serialized strings.
It will avoid accidental use of serializeString() when a larger string can be expected.

Removes unused Wide String serialization functions
2020-10-01 09:52:59 +02:00
Paramat 9bff154cba
Fix horizontal/vertical merging bug of hardware-colored framed glass (#10417)
Previously, the param2-controlled horizontal/vertical merge feature
(which was undocumented and forgotten) was always active, causing
uses of param2 other than "glasslikeliquidlevel" to affect H/V
merging.

Only respect H/V merge bits when paramtype2 = "glasslikeliquidlevel".
H/V merge bits and liquid level bits are designed to be used
simultaneously.
2020-09-24 00:10:50 +01:00
Vincent Robinson 787561b29a
Replace MyEventReceiver KeyList with std::unordered_set (#10419) 2020-09-23 19:12:20 +02:00
Wuzzy 55e2dd911b
Fix chat/infotext overlap if many chat lines (#10399)
Moves the infotext depending on the value of the recent_chat_messages value + 2 additional lines to account for the 2 debug mode lines + 1 additional line as "buffer" for better readability if chat is full.
2020-09-22 18:38:33 +02:00
rubenwardy 9ec75d7765
Clean up server-side translations, remove global variable (#10075) 2020-09-16 14:51:11 +01: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
David CARLIER 62913b872e
Darwin platform build fix (#10376)
the event header seemingly being generic with libevent thus renaming it.
openal and opengl are deprecated on newer mac os releases thus suppressing the build warnings.
2020-09-09 19:12:03 +02:00
Wuzzy b3ace8f197
Scale inventory image for scaled allfaces nodes (#10225)
The inventory image size of the inventory image of nodes with drawtype allfaces (and related) is scaled as well if visual_scale is set (previously, the inventory image size was always the same)
2020-09-04 20:49:50 +02:00
EvidenceB 5c4b560b68
Add compass HUD element (#9312)
Co-authored-by: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Co-authored-by: Pierre-Yves Rollo <dev@pyrollo.com>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-08-29 20:13:30 +02:00
Hugues Ross 9976f36b18
Make bgcolor tint button background images (#9818) 2020-08-29 16:41:19 +01:00
mntmn 44c98089cf
shaders: Fix transparency on GC7000L (#10036)
Workaround for the missing GL_ALPHA_TEST implementation in Mesa (etnaviv driver).
2020-08-25 20:49:51 +02:00
Desour f27cf47779 Properly handle mod-errors in on_shutdown 2020-08-24 19:55:25 +03:00
adrido 3c2890692b
Fix MSVC compiler warnings (#10197) 2020-08-23 15:41:04 +02:00
hecks 5bda36143f
Clean up sound_fade (#10119)
Add proper documentation and correct gain reduction calculations.

Co-authored-by: hecktest <>
2020-08-19 19:26:37 +02: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
Paul Ouellette 542df11bed
Fix GCC class-memaccess warnings (#10239) 2020-08-01 17:25:33 +02:00
sfan5 9bba52c400
content_cao: Support texture animation for upright_sprite (#10020) 2020-07-30 17:39:57 +02:00
SmallJoker e5725dfb8e
Allow starting local server using --go again (#10229) 2020-07-29 23:20:01 +02:00
Lars Müller 470f328216
Revert "Get rid of non-ascii characters in the debug display code (#8821)" (#9828)
This reverts commit 4f9ccd89b3.
2020-07-29 23:17:52 +02:00
Lejo 715a123a33
Add PUT and DELETE request + specific method value to HTTP API (#9909) 2020-07-29 23:16:21 +02:00
Wuzzy ae83edd165
Play place_failed sound if occupied or cannot attach (#9486) 2020-07-27 19:40:33 +02:00
Wuzzy 808fa5ecb3
Improve default inventory+wield images of node drawtypes (#9299) 2020-07-23 19:54:58 +02: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
SmallJoker 4fa1e03f68
Cleanup ClientLauncher structure (#10160)
Remove duplicated variables and unify the startup data into a new (inherited) struct.
2020-07-14 19:10:37 +02:00
v-rob 2bec83eec0
Add FormSpec font styling options (#9763)
* Add FormSpec font styling options

* Change multiplication to stof

* Remove extraneous check
2020-07-12 09:48:50 +02:00
Lars Müller d80def5bbf
Bump animation frame count from u8 to u16 (#10054) 2020-07-10 12:12:19 +02:00
sfan5 c6422e0872
Remove std::shared_ptr use in TileLayer (#10090) 2020-07-10 12:11:44 +02:00
TheTermos ebb721a476 Fix player controls only being applied for the first move 2020-07-07 19:09:23 +02:00
Paramat dc6318b84a
Apply camera smoothing to 'air stepheight' (#10025)
Recent changes to collision code have changed the behaviour of the 'touching_ground'
bool in movement code. This had the effect of disabling camera smoothing when
'air stepheight' occurred when jumping onto a node while pressing forwards against
the node, causing an unpleasant sharp camera movement.

Rewrite the conditions for camera smoothing such that it is applied when jumping.
2020-07-05 23:45:21 +01:00
hecktest 7be082f9a8
Fix bone-attached entities (#10015) 2020-06-26 00:06:29 +02:00
SmallJoker 57df895cf9 ParticleSpawner: Fix crash when attaching to invisible entity 2020-06-19 19:29:47 +02:00
sfan5 495f7198ef content_cao: Fix behavior of legacy "textures" field for wielditems 2020-06-18 19:36:06 +02:00
Danila Shutov 3a6dfda358
Make shading of CAOs optional (#10033) 2020-06-16 20:48:31 +01:00
Lars Müller e7e065f553
Exposing the zoom key to Lua API (#9903)
Co-authored-by: Raul Ferriz <raul.ferriz@gmail.com>
2020-06-13 22:46:20 +02:00
sfan5 2424dfe007
Server pushing media at runtime (#9961) 2020-06-13 19:03:26 +02:00
sfan5 3f0cbbc372 Use multiple light positions for CAO lighting 2020-06-11 21:13:26 +02:00
sfan5 f89794108c content_cao: Do not expire visuals for texture updates 2020-06-11 21:12:36 +02:00
sfan5 80d9e9c183 Fix build error on Ubuntu 16.04 (again) 2020-06-10 11:46:14 +02:00
sfan5 64380cf92e Fix build error on Ubuntu 16.04 2020-06-10 10:58:13 +02:00
Danila Shutov fe3e69eb40
Fix broken coloring of wielditems (#9969)
Fixes a regression that appeared in 5.3.0-dev.
2020-06-09 21:38:09 +02:00
hecktest 09e285f38c
Fix player-to-object attachment teleport bug (#10008)
Fixes two bugs:

 * The camera offset was not applied to an object while detaching, briefly placing the irrlicht matrixnode in world space.
 *  When attaching, the matrixnode's absolute position was evaluated without evaluating the parent first, resulting in zeroed positions.
2020-06-09 19:36:47 +02:00
MoNTE48 b9f618746c TouchScreenGUI: fix some bugs, cleanup 2020-06-09 19:35:25 +02:00
sfan5 0ab580810c Reset touching_ground when in free_move
This corrects local player animation after enabling fly while standing on ground.
2020-06-07 20:45:26 +02:00
Danila Shutov fe1f72ab0a
Recalculate mesh normals for CAOs (#10000) 2020-06-07 18:14:00 +02:00
SmallJoker 8fc9e7eb11 GenericCAO: Fix glow not working since a08d18a 2020-06-07 14:17:32 +02:00
Vitaliy e746607d0f
Restore visual_scale support for nodeboxes (and allfaces) (#9906) 2020-06-06 22:25:18 +02:00
Maksim 7ec0e3df35
Fix HUD scaling (#9721)
This resolves HUD scaling issues on Android and desktops with custom DPI settings.
2020-06-05 21:42:33 +02:00
SmallJoker c1e01bc638
Move shared parameters sending to UnitSAO (#9968)
Better header sorting by topic
Make UnitSAO-specific parameters private
Skip redundant recursive entity sending code (since ~5.2.0)
2020-06-04 19:31:46 +02:00
SmallJoker a08d18acad
ContentCAO: Update light of all attached entities (#9975) 2020-06-01 19:01:47 +02:00
Hugues Ross f849917bbe
imageScaleNNAA: Fix image clipping on rect- instead of image dimensions (#9896)
Fixes GUI scaling filters applied on animated images and 9slice backgrounds.
2020-06-01 15:22:04 +02:00
sfan5 4c8e1c3200 Clean up CAO nametag handling and remove deprecated AO_CMD
AO_CMD_UPDATE_NAMETAG_ATTRIBUTES was deprecated in
9eee3c3f46 (0.4.14)
2020-05-29 22:54:50 +02:00
sfan5 db7c262ee8 content_cao: Do not expire visuals when not necessary
fixes #6572
2020-05-29 22:54:50 +02:00
MoNTE48 34862a6442 Add disable_jump check for the player's feet 2020-05-29 22:53:58 +02:00
sfan5 471e567657 Value copy / allocation optimizations mostly in server, SAO and serialize code 2020-05-27 21:58:40 +02:00
SmallJoker 5311a27523 Silence GCC warning in mapblock_mesh
Fixes following warning:
  warning: ‘waving’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2020-05-25 19:10:23 +02:00
SmallJoker a9b74f4c39
Add chat_font_size setting (#9736)
Default font sizes are used when the setting value is 0 or below (clamped by Settings).
2020-05-24 14:24:13 +02:00
sfan5 f51cf7c68a
Fix two bugs in content_cao
fixes #9889 (backface_culling with visual = "cube")
fixes #9916 (crash with visual = "upright_sprite")
2020-05-24 11:48:51 +02:00
sfan5 9d6e7e48d6 Implement spawning particles with node texture appearance 2020-05-23 22:52:21 +02:00
Awkor 037422fdba
Modernize include guards and add missing ones (#9898) 2020-05-23 13:23:05 +02:00
sfan5 1357ea1da2
Cleanup of particle & particlespawner structures and code (#9893) 2020-05-22 13:23:25 +02:00
Vitaliy 82e4137893
Cache liquid alternative IDs (#8053) 2020-05-20 22:52:10 +01:00
sfan5 c47a680db7 Stop wasting memory on identical textures when texture filtering is disabled 2020-05-20 22:55:51 +02:00
LoneWolfHT 7d3972a504
Add ability to scale HUD text (#9814)
Add 'size' property to HUD text elements that is used for relative font size calculations.
2020-05-19 19:10:39 +02:00
sfan5 52430d34d3 content_mapblock: Move static initialization out of functions 2020-05-17 21:37:01 +02:00
sfan5 be38a44ffe Client: Add sum and average to packetcounter 2020-05-17 21:37:01 +02:00
ANAND c1ce4be756
Make automatic_rotate relative, allow setting rotation (#8468)
automatic_rotate does not make sense if it is absolute. Make it relative.

To avoid bouncing, set_rotation did not update the client when automatic_rotate was set. That's no longer necessary because the new spinning method applies the rotation on top of the current one, and the updates are necessary for set_rotation to actually transform the object.

Co-authored-by: ANAND <ClobberXD@gmail.com>

Co-authored-by: Pedro Gimeno <pgimeno@users.noreply.notabug.org>
2020-05-16 21:42:31 +02:00
sfan5 36d35f2fe3
CSM: Bugfixes to camera:get_pos() and camera:get_fov()
closes #9857
2020-05-14 21:16:45 +02:00
SmallJoker 836dd4a1e4
Add chat_log_level setting (#9223)
Log all higher levels in LogOutputBuffer
Move StreamLogOutput::logRaw to source file like LogOutputBuffer::logRaw for compiling speed
2020-05-14 19:26:15 +02:00
Lars Müller 9ba24f89f5
Damage texture modifier (#9833)
Adds a new object property "damage_texture_modifier"
2020-05-11 21:41:36 +02:00
Wuzzy 6e1372bd89
Add support for statbar “off state” icons (#9462)
This adds support for optional “off state” icons for statbars. “off state icons” can be used to denote the lack of something, like missing hearts or bubbles.

Add "off state" textures to the builtin statbars.

Co-authored-by: SmallJoker <mk939@ymail.com>
2020-05-11 21:40:45 +02:00
TheTermos 7cb53791c3
Color gradient for default and 'regular' type sky (#9502)
* add regular sky gradient

* add regular sky gradient

* Update sky.cpp

* change default day sky colors
2020-05-09 17:14:56 +02:00
Loïc Blot 454dbf83a9
Server class code cleanups (#9769)
* Server::overrideDayNightRatio doesn't require to return bool
There is no sense to sending null player, the caller should send a valid object

* Server::init: make private & cleanup
This function is always called before start() and loads some variables which can be loaded in constructor directly.
Make it private and call it directly in start

* Split Server inventory responsibility to a dedicated object

This splits permit to found various historical issues:
* duplicate lookups on player connection
* sending inventory to non related player when a player connects
* non friendly lookups on detached inventories ownership

This reduce the detached inventory complexity and also increased the
lookup performance in a quite interesting way for servers with thousands
of inventories.
2020-05-07 22:38:41 +02:00
Jozef Behran 4f9ccd89b3
Get rid of non-ascii characters in the debug display code (#8821) 2020-05-06 21:35:18 +02:00
Loïc Blot f1a05d0f71
Fix broken client if openal cannot be opened (#9804) 2020-05-05 08:38:18 +02:00
SmallJoker cad5b987ad Sky API: Rename *_tint to fog_*_tint for consistency 2020-05-05 08:37:04 +02:00
ANAND e0ea87f1f3
set_fov: Add support for time-based transitions (#9705) 2020-05-02 12:52:11 +02:00
theviper121 e1fc72c6f3
Fix UpdateBonePosition() breaking animations (#9577) 2020-04-26 19:32:04 +02:00
sfan5 73180a73da
mapblock_mesh: Optimize a few things (#9713) 2020-04-25 12:39:17 +02:00
Paul Ouellette 49ed0ca00a
Ensure game is shutdown if server throws exception (#9742) 2020-04-25 09:42:18 +02:00
EvidenceB Kidscode cee3c5e73d
Add server side translations capability (#9733)
* Add server side translations capability
2020-04-25 07:20:00 +02:00
SmallJoker ce5b0932f8
Camera: Fix shootline line offsets II (#9730) 2020-04-23 12:16:36 +02:00
Maksim 6ba44d7452
Android: add OpenGL ES 2 support (#9715)
.. and bump gradle to 3.6.3
2020-04-22 20:03:46 +02:00
Danila Shutov cdbe3c5e57
Reuse object_shader for "wielditem" and "item" entity drawtypes (#9537) 2020-04-19 18:47:13 +02:00
SmallJoker 45999b74e6
Camera: Fix shooting line offsets (#9681)
Removes duplicated offset calculations from Game and use whatever the Camera class returns.
This keeps the eye position nicely in sync, and gets rid of duplicated code.
2020-04-16 18:32:07 +02:00
Hugues Ross 5cf6318117
Refactor texture overrides and add new features (#9600)
* Refactor texture overrides, and add new features:

- Texture overrides can support multiple targets in one line
- Texture override files can have comment lines
- Item images/wield images can be overridden

* Formatting changes

* Address soime feedback

- Pass vectors by const reference
- Log syntax errors as warnings
- Remove 'C' prefix from TextureOverrideSource

* Simplify override target checks with an inline helper function

* make linter happy

* Apply feedback suggestions

Co-Authored-By: rubenwardy <rw@rubenwardy.com>

* Remove remaining != 0 checks

* Update copyright notice

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-04-14 20:41:29 +02:00
Wuzzy 7e21b3cd48
Remove sound menu and show proper msgs if sound is off (#9069) 2020-04-13 20:26:54 +02:00
Wuzzy a24d3b3600
Play 'player_jump' when player jumps (#9373) 2020-04-12 00:50:40 +01:00
Lars Müller af2e6a6a10
Improve waypoints and add image variant (#9480) 2020-04-11 22:09:46 +01:00
Hugues Ross f780bae05c
Formspecs: Add state-selection to style elements (#9378) 2020-04-11 21:39:30 +01:00
sfan5 40df3931d8
Implement DPI scaling for Windows (#9586) 2020-04-11 20:03:59 +02:00
Alex fbf74dc524
Use TILE_MATERIAL_ALPHA for use_texture_alpha entity flag (#9639)
Fixes #9637.
2020-04-11 13:45:14 +02:00
sfan5 f105bc8dc2 A few initialization cleanups 2020-04-11 13:12:51 +02:00
Loïc Blot 35e778ee9f
Move clientsimpleobject.h to client folder (#9630)
This file is only called from client folder, retrieve its friends :)
2020-04-10 20:10:51 +02:00
Loïc Blot f648fb76ae
Drop genericobject.{cpp,h} (#9629)
* Drop genericobject.{cpp,h}

This file is not for generic object but for ActiveObject message passing.
Put ownership of the various commands to the right objects and cleanup the related code.

* Protect ServerActiveObject::m_messages_out

* typo fix
2020-04-10 19:49:20 +02:00
TheTermos 3ad5388c6d
Collision various fixes (#9343) 2020-04-08 22:45:05 +02:00
sfan5 de73f989eb
Overall improvements to log messages (#9598)
Hide some unnecessarily verbose ones behind --trace or disable them entirely.
Remove duplicate ones. Improve their contents in some places.
2020-04-08 20:13:23 +02:00
Hugo Locurcio f45ba78a72
Allow relative directories for `screenshot_path`, tweak default path (#9122)
This will likely be more intuitive for users and should play better
with sandboxed distributions such as Flatpak.

In addition, the screenshot directory will now be created if it doesn't
exist already.
2020-04-06 16:54:12 +02:00
Elias Åström 3d6b55d3e9
Fix texture distortion for flowing liquids (#9561)
Previously textures of the side faces on flowing liquid nodes would
become distorted on different axis depending on the liquid level.  This
is because the nodes always had the same texture coordinates, even when
the generated face could have different sizes.  This solves that problem
by adjusting the texture coordinates for the vertices making up the top
of the faces, so the textures will not look compressed for smaller
faces.
2020-04-02 19:24:35 +02:00
ANAND 13b228513e
Ignore near_plane setting on non-Android platforms (#8749)
Camera's near-plane will be hard-coded to 0.1 on all non-Android platforms. The upper-bound of this setting has been reduced to 0.25, as 0.5 is just way too high.
2020-03-28 21:53:55 +01:00
sfan5 04961491c1 Fix crash on wielditem/item entities
bug was introduced in f3032a637c
2020-03-28 12:56:48 +01:00
Danila Shutov f3032a637c
Fix incorrect light updates for wielditem and item visuals (#9540)
An alternative to #9537
2020-03-23 21:57:44 +01:00
Wuzzy 625b100593
Add comments for translators (#9510)
* Add translator comments for "special" strings

* Add translator comments for some "tricky" strings
2020-03-20 09:41:07 +01:00
Danila Shutov 5c1b72544a
Fix entity lighting (#9514)
fixes #9482
2020-03-16 22:58:13 +01:00
Jean-Patrick Guerrero c49575ef97
Improve arm physics (#9485) 2020-03-08 18:21:55 +01:00
Jordan Snelling b9a0626d88
Fix star visilibity and documentation (since 946c03c6)
Fix memory leak (unused allocation)
Fix star rendering
Rename sky color struct
Fix stars on android
Remove extraneous .data() from android star draw
2020-03-08 16:13:36 +01:00
Jordach 946c03c69b set_sky improvements, set_sun, set_moon and set_stars 2020-03-05 20:12:19 +01:00
Warr1024 244121b964
Allow texture modifiers in hotbar textures. (#9271) 2020-02-26 10:26:24 +01:00
Danila Shutov 6958071f49
Basic model shading (#9374) 2020-02-16 20:37:28 +01:00
SmallJoker 4eb3baa51e
StaticText: Reset background on EnrichedString change (#9340)
This also fixes the F6 profiler background color -> now controlled by EnrichedString
2020-02-01 20:41:32 +01:00
sfan5 ace3c76112 Improve core.sound_play with ephemeral sounds and player exclusion 2020-02-01 20:31:41 +01:00
SmallJoker 1892ff3c0d
StaticText/EnrichedString: Styling support (#9187)
* StaticText/EnrichedString: Styling support

* Fix tooltip fg/bgcolor

* Fix default color for substr(), add unittests
2020-01-22 19:09:11 +01:00
Wuzzy 0877587cce Resized torchlike sprite now attaches to surface (#9303) 2020-01-20 19:17:54 +00:00
lhofhansl cea4fd2b27 Increase star count to 1000 and decrease radius slightly (#9307)
* Increase star count to 1000 and decrease radius slightly.
* Adjust star width.
2020-01-16 17:12:34 +01:00
Montandalar 8d75c118d9 Map download: Escape ':' to '_' (#9235)
This is necessary under Windows systems, and direct IPv6 connections.
Windows universally disallows ':' from occuring in filenames.

Other disallowed characters on Windows:

	\ / * ? " < > |

are not relevant to hostnames, IPv4 or IPv6 addresses.

Anyone who has got an existing server map saved on Linux with ':' in
the world save will want to keep that save.
2020-01-11 20:47:34 +01:00
SmallJoker 103d9c5c53 Renaming the function wasn't enough 2019-12-07 15:55:49 +01:00
SmallJoker aa8df112ff Attachments: Fix interpolation from (0,0,0) after detach
GenericCAO::getPosition() did not take the camera offset into account
LocalPlayer attachment cleanup: Use sane getParent() function
Make that getPosition() (GenericCAO and LocalPlayer) always return the absolute position
2019-12-07 15:12:26 +01:00
Pierre-Yves Rollo cf7fda0083 Add z-index management to HUD 2019-12-06 20:31:26 +00:00
SmallJoker f6de86ce4b Fix LocalPlayer-bound sound playback broken by 81c2370 2019-12-05 20:52:30 +01:00
sfan5 0b2f0914cc Improve client-side packet receiving 2019-11-25 20:00:24 +01:00
Lars Hofhansl 60bff1e6cb Waves generated with Perlin-type noise #8994 2019-11-19 19:42:52 -08:00
sfan5 02111e4961 Fix clang-tidy and lint travis checks 2019-11-11 14:06:48 +01:00
sfan5 2c4cf508a9 [CSM] Implement minetest.get_csm_restrictions()
fixes #8068
2019-11-11 14:06:48 +01:00
sfan5 3f271564e0 Run on_item_use CSM callback even if item is not marked usable
Mods may want to to handle item interaction even if the item
is not marked usable (= server-side callback exists).
2019-11-11 14:06:48 +01:00
sfan5 b57dc70769 [CSM] Expose more env functions 2019-11-11 14:06:48 +01:00
sfan5 b0260b5ec8 Refactor CSM restriction code a bit
This also fixes find_node_near restrictions being ineffective.
2019-11-11 14:06:48 +01:00
sfan5 d961ece144 Be lenient with extra slashes for CSM paths 2019-11-09 16:08:38 +01:00
sfan5 7e649f985c Corrections to client_lua_api.txt 2019-11-09 16:08:38 +01:00
sfan5 82a2e02323 Load client mods into memory before execution.
Preperation for server-sent CSM which will eventually need this.
2019-11-09 16:08:38 +01:00
DS 5506e97ed8 Formspec: draw order and clipping for all elements (#8740) 2019-11-07 20:11:01 +01:00
SmallJoker 388ea737f5 Clean up font caching, fix bitmap fonts 2019-11-03 11:45:33 +01:00
Pierre-Yves Rollo 72416a6a1f Formspec: add hypertext element 2019-11-03 11:45:33 +01:00
Warr1024 15b6922ae6 Correction for alpha blending issues in texture mod compositing (#9029) 2019-10-18 19:17:35 +02:00
Paramat f483a1a9b2
Fix isDead()/autoforward crash (#9031)
Crash occurred in singleplayer when leaving a world with
autoforward enabled then re-entering a world.
2019-10-09 19:39:50 +01:00
SmallJoker cbcb9e0b1c ContentCAO: Fix segfault on quit (attached) 2019-10-09 20:03:31 +02:00
ANAND b49dfa92ce Revert Client::sendPlayerPos optimization (part of 81c7f0a) (#9025)
Comment out the if statement that prevents sending TOSERVER_PLAYERPOS if the player is dead.
2019-10-08 20:36:56 +02:00
sfan5 825579b43d Fix upright_sprite lighting when colors are set
fixes #9020
2019-10-06 17:19:42 +02:00
Jacob Lifshay 76032159bd Fix unwanted detaching when damage = 0 2019-10-05 15:45:05 +02:00
SmallJoker 81c2370c8b
Attachments: Fix attachments to temporary removed objects (#8989)
Does not clear the parent's attachment information when the child is deleted locally.
Either it was removed permanently, or just temporary - we don't know, but it's up to the server to send a *detach from child" packet for the parent.
2019-10-02 19:11:27 +02:00
SmallJoker 61e9c1b0dd
Textures: Load base pack only as last fallback (#8974) 2019-09-29 19:57:29 +02:00
ANAND 3799ffd9d5 Move Quicktune code to util/ (#8871) 2019-09-29 13:41:13 +02:00
lhofhansl 5fde69798c
Simple shader fixes. (#8991)
1. Pass current camera offset to shader, so shader have access to the global coordinates
2. Pass animation timer to fragment shader. C++ code is already there, just wasn't declared in the shader
3. Delay animation timer wrap-around (from 100s to about 16 minutes)
2019-09-26 13:57:39 -07:00
SmallJoker 26b39f1eae
Fix some reference counters (memleak) (#8981)
Fix some reference counters (memleak)
Map::dispatchEvent: Allocation safety using references
2019-09-24 19:05:28 +02:00
DS-Minetest cf78e37da3 Move the code for meta formspec into bool Game::nodePlacement(const ItemDefinition &selected_def, 2019-09-22 22:12:49 +02:00
Anand S 47da640d77 Add support for per-player FOV overrides and multipliers 2019-09-19 20:14:16 +02:00
DS-Minetest 0b5c5499ec Trigger on_place in many situations even if prediction failed 2019-09-19 16:36:02 +02:00
Hugo Locurcio 05a7da6279 Improve undersampling settings
The setting now accepts values between 1 and 8 in the
Advanced Settings menu.
Values 0 and 1 now behave the same way (setting it to 1 won't
disable MSAA anymore), so there's no need to expose 0 as a value.

This closes #8939.
2019-09-17 19:06:51 +02:00
SmallJoker 1de4ca1f9d Built-in formspecs: Force version 1 2019-09-14 20:42:54 +02:00
ANAND 8e42a25e57 client.h: Add missing const's 2019-09-14 20:16:55 +02:00
ANAND 16d6ca3937 LocalPlayer: Fix code-style 2019-09-14 20:16:55 +02:00
ANAND eea082ee3f client.cpp: Fix code-style in Client::sendPlayerPos 2019-09-14 20:16:55 +02:00
ANAND e2d6445f2a Fix LocalPlayer::isDead always returning false if player is immortal 2019-09-14 20:16:55 +02:00
ANAND 81c7f0ae04 Send ActiveObjects once right after Init2 2019-09-14 20:16:55 +02:00
SmallJoker 9acd36bf99 Formspecs: Introduce formspec_version to mods 2019-09-14 19:43:08 +02:00
SmallJoker 23677be951 Load CSM environment after the restrictions are known
Safety-guards for CSM callbacks to abort on a bad implementation
Only run callbacks when the mods are loaded (and with it: builtin)

Duplication checks inside constructors
2019-09-14 19:42:25 +02:00
ANAND 095f26a4f8 particles.cpp: Fix code-style
Mainly spacing and pointer placement
2019-08-31 19:05:53 +02:00
ANAND 96762af3ce clientobject.h: Fix code-style 2019-08-31 19:05:53 +02:00
Pedro Gimeno 9543b84970 Fix rotation of attached particlespawner
Co-authored-by: ANAND <ClobberXD@gmail.com>
2019-08-31 19:05:53 +02:00