aboutsummaryrefslogtreecommitdiff
path: root/src/client
AgeCommit message (Collapse)Author
2017-03-22Some performance optimizations (#5424)Loïc Blot
* Some performance optimizations This is globally removing some memory useless copy * use a const ref return on std::string Settings::get to prevent data copy on getters which doesn't need to copy it * pass some stack created strings to static const as they are not modified anywhere * Camera: return nametags per const ref instead of a list pointer, we only need to read it * INodeDefManager: getAll should be a result ref writer instead of a return copy * INodeDefManager: getAlias should return a const std::string ref * Minimap: unroll a Scolor creation in blitMinimapPixersToImageRadar to prvent many variable construct/destruct which are unneeded (we rewrite the content in the loop) * CNodeDefManager::updateAliases: prevent a idef getall copy * Profiler: constness * rollback_interface: create real_name later, and use const ref * MapBlockMesh updateFastFaceRow: unroll TileSpec next_tile, which has a cost of 1.8% CPU due to variable allocation/destruction, * MapBlockMesh updateFastFaceRow: copy next_tile to tile only if it's a different tilespec * MapBlockMesh updateFastFaceRow: use memcpy to copy next_lights to lights to do it in a single cpu operation
2017-02-16Fix a small regression caused by e2ad76f.red-001
2017-02-09No longer auto-generate a 'guest####' player name when name is emptyred-001
You can't join most servers with a 'guest####' player name anyway so it's only logical to remove them.
2017-02-05Prevent SIGFPE on entity tile loading issue. (#5178)Auke Kok
While experimenting with entities I ran into this unresolvable error where the server is sending some texture that the client crashes on. The crash prevents the client from ever reconnecting, resulting in a server that has to use clearobjects. We shouldn't crash but just ignore the object and move on. ``` 0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh", baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744 1744 u32 xscale = scaleto / dim.Width; (gdb) bt #0 0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh", baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744 ``` After reconnecting, the client now can connect without issues and displays an error message: ``` ERROR[Main]: generateImagePart(): Illegal 0 dimension for part_of_name="[applyfiltersformesh", cancelling. ERROR[Main]: generateImage(): Failed to generate "[applyfiltersformesh" ERROR[Main]: Irrlicht: Invalid size of image for OpenGL Texture. ```
2017-01-30Add multiply texture modifiersapier
Allows colorizing of textures using a color multiplication method.
2017-01-23Add hardware node coloring. Includes:Dániel Juhász
- Increase ContentFeatures serialization version - Color property and palettes for nodes - paramtype2 = "color", "colored facedir" or "colored wallmounted"
2017-01-02Added "[sheet" to the texture special commands.Luke Puchner-Hardman
"[sheet:WxH:X,Y" assumes the base image is a tilesheet with W*H tiles on it and crops to the tile at position X,Y. Basically it works like "[verticalframe" but in 2D. For testing, I combined the four default_chest images into one.
2017-01-02Move TileAnimation code to seperate filesfan5
2016-12-26Irrlicht 1.9 supportsfan5
2016-09-15Add an [invert:<mode> texture modifierThomas--S
Inverts the given channels of the base image. Mode may contain the characters "r", "g", "b", "a". Only the channels that are mentioned in the mode string will be inverted.
2016-09-14Allow escaping of texture names when passed as an argument to a modifiersfan5
2016-08-20Also support X11 icon for minetest copies installed via make install (#4407)est31
Fixes #4323.
2016-08-12Add an [opacity:<r> texture modifier. Makes the base image transparent ↵Thomas--S
according to the given ratio. r must be between 0 and 255. 0 means totally transparent. 255 means totally opaque. Useful for texture overlaying.
2016-08-10Add zoom, tweakable with zoom_fov, default key: Z (like optifine)Esteban I. Ruiz Moreno
2016-07-05Finally set a window icon on X11est31
Since the creation of minetest, it had no window icon on X11. Now we have one. The misc/minetest-xorg-icon-128.png file is a rendering of the misc/minetest.svg file with inkscape, created with something like: inkscape -z -e misc/minetest-xorg-icon-128.png -w 128 -h 128 misc/minetest.svg
2016-07-03Remove top left minetest watermarkest31
Move version information into the window caption. On popular player request. Fixes #4209.
2016-06-03Initial Gamepad supportest31
Adds initial ingame gamepad support to minetest. Full Formspec support is not implemented yet and can be added by a later change.
2016-06-03Input related generalisationsest31
* Move key types into own file * Use Generalized input methods in game.cpp
2016-05-31Add colored text (not only colored chat).Ekdohibs
Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
2016-05-31Colored chat working as expected for both freetype and non-freetype builds. ↵TriBlade9
@nerzhul improvements * Add unit tests * Fix coding style * move guiChatConsole.hpp to client/
2016-05-26Tell irrlicht if we handle a key or not.est31
We can remove the function in MtNativeActivity now as it serves precisely that purpose: to tell irrlicht that we handled the esc key. TODO for later: * Perhaps try to find a more performant container than KeyList
2016-05-09Add [resize texture modifier Resizes the texture to the given dimensions.SmallJoker
2016-04-25tile.cpp: Automatically upscale lower resolution textureSmallJoker
2016-04-07Re-add and disable blit_with_interpolate_overlaykwolekr
2016-04-06Fix compiler warnings from "Add an option to colorize to respect the ↵Samuel Sieb
destination alpha" Fix warnings added by commit 01ae43c48009f816f4649fae2f7f6997452aa6cf Fixes #3952
2016-04-03Add an option to colorize to respect the destination alphaSamuel Sieb
Also, rework the colorizing code to be more efficient.
2016-03-19Clean up StrfndShadowNinja
Changes: * Fix indentation. * Pass strings by const reference. * Merge Strfnd and WStrfnd into one class instead of copying them. * Remove trailing spaces. * Fix variable names. * Move to util. * Other miscellaneous style fixes.
2016-03-15Fix two reconnect bugsest31
Fix two bugs related to the reconnect feature introduced by commit 3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7 "Optional reconnect functionality" 1. Set the password to the stored one Before, we have done the reconnect attempt with a cleared password, so using the feature would only work if you had an empty password. Thanks to @orwell96 for reporting the bug. 2. Reset the reconnect_requested flag after its use the_game only writes to the reconect_requested flag if it sets it to true. It never sets it to false. If the flag is not reset after its use, all "reset"s to the main menu will look like the server had requested a reconnect.
2016-02-11v2d & aabbox3d<f32> & sky cleanupsnerzhul
* Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
2016-01-23Fix texture tear issueRealBadAngel
2016-01-09New 3D Mode: PageflipDalai Felinto
The pageflip mode requires a stereo quadbuffer, and a modern graphic card. Patch tested with NVidia 3D Vision. The mini-map is not drawn, but that's what is done for topbottom and sidebyside modes as well. Also most of the time the user would prefer the HUD to be off. That's for the user to decide though, and toggle it manually. Finally, the interocular distance (aka eye separation) is twice as much as the "3d_paralax_strength" settings. I find this a strange design decision. I didn't want to chance this though, since it's how the other 3d modes interpret this settings.
2015-11-02Print --videomodes response to standard output, tooKahrl
2015-10-16Refactor thread utility interfacekwolekr
- Add "thr_" prefix to thread utility functions - Compare threadid_ts in a portable manner, where possible
2015-10-14Refactor loggingShadowNinja
- Add warning log level - Change debug_log_level setting to enumeration string - Map Irrlicht log events to MT log events - Encapsulate log_* functions and global variables into a class, Logger - Unify dstream with standard logging mechanism - Unify core.debug() with standard core.log() script API
2015-08-25Change i++ to ++iDavid Jones
2015-08-23Clean up threadingShadowNinja
* Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
2015-08-20tileable flags are needed also without shaders because of filtersRealBadAngel
2015-08-20Remove use of engine sent texture tiling flags - theyre no longer neededRealBadAngel
2015-08-05Fix tiling issues for PLANTLIKE and FIRELIKE with FSAARealBadAngel
2015-08-02src/client/tile.cpp: Fix reference countingBřetislav Štec
2015-07-23Optional reconnect functionalityest31
Enable the server to request the client to reconnect. This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
2015-07-21Add wielded (and CAOs) shaderRealBadAngel
2015-07-16Fix relief mapping issuesRealBadAngel
2015-07-10Misc. minor fixeskwolekr
2015-07-08Use UTF-8 instead of narrowest31
Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places. Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
2015-07-05Use minetest logging facilities for irrlicht log outputShadowNinja
2015-06-27Add minimap featureRealBadAngel
2015-05-11Make early protocol auth mechanism generic, and add SRPest31
Adds everything needed for SRP (and everything works too), but still deactivated, as protocol v25 init packets aren't final yet. Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25 inside networkprotocol.h.
2015-04-27Revert the upper-case PROJECT_NAME nonsense that was part of #2402sfan5
2015-04-26Fix fast leaves with texture_clean_transparent enabled.Aaron Suen