summaryrefslogtreecommitdiff
path: root/src/client.cpp
Commit message (Collapse)AuthorAge
* Replace instances of std::map<std::string, std::string> with StringMapkwolekr2015-05-19
| | | | | | Also, clean up surrounding code style Replace by-value parameter passing with const refs when possible Fix post-increment of iterators
* Add texture overridingrubenwardy2015-05-19
|
* Finalize init packets and enable protocol v25est312015-05-16
| | | | This enables srp.
* Make early protocol auth mechanism generic, and add SRPest312015-05-11
| | | | | | | 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.
* Refactor around translatePasswordest312015-04-17
| | | | | | | Change types for passed password from wstring to string, which removes converting back and forth in most cases. Move the narrow_to_wide conversion, where its neccessary, closer to irrlicht. Remove trailing spaces in guiPasswordChange.cpp. Make parameters for translatePassword passed as const reference.
* Schematics: Refactor NodeResolver and add NodeResolveMethodkwolekr2015-04-16
| | | | | | | | | NodeResolver name lists now belong to the NodeResolver object instead of the associated NodeDefManager. In addition to minimizing unnecessary abstraction and overhead, this move permits NodeResolvers to look up nodes that they had previously set pending for resolution. So far, this functionality has been used in the case of schematics for serialization/deserialization.
* Make comments consistent with TOSERVER_INIT -> TOSERVER_INIT_LEGACY renameest312015-04-07
|
* Change screenshot filename to one likely to work on all modern filesystemsCraig Robbins2015-04-06
| | | | Fixes #2603
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | Move debug streams to log.cpp|h Move GUI-related globals to clientlauncher Move g_settings and g_settings_path to settings.cpp|h Move g_menuclouds to clouds.cpp|h Move g_profiler to profiler.cpp|h
* Clean scaling pre-filter for formspec/HUD.Aaron Suen2015-04-01
|
* Connection::Receive(): receive Network Packet instead of SharedBuffer<u8>.Loic Blot2015-03-31
| | | | | | | Because we get a Buffer<u8> from ConnectionEvent, don't convert it to SharedBuffer<u8> and return it to Server/Client::Receive which will convert it to NetworkPacket Instead, put the Buffer<u8> directly to NetworkPacket and return it to packet processing This remove a long existing memory copy Also check the packet size directly into Connection::Receive instead of packet processing
* Change format of screenshot namesCraig Robbins2015-03-31
| | | | | | | | Filename screenshot_ + ISO 8601 format + [-serial] i.e. screenshot_YYYY-MM-DDTHH::MM::SS[-serial].png Serial is added if the filename + timestamp already exists and is in the range 1 to 999
* Clean up and tweak build systemShadowNinja2015-03-27
| | | | | | | | | | | | | | | | * Combine client and server man pages. * Update unit test options and available databases in man page. * Add `--worldname` to man page. * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`. * Disable server build by default on all operating systems. * Make `ENABLE_FREETYPE` not fail if FreeType isn't found. * Enable LevelDB, Redis, and FreeType detection by default. * Remove the `VERSION_PATCH_ORIG` hack. * Add option to search for and use system JSONCPP. * Remove broken LuaJIT version detection. * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`. * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`. * Clean up style of CMake files.
* Change filename of screenshots to something more human readableCraig Robbins2015-03-25
|
* Move client packet generators to dedicated functions for:Loic Blot2015-03-16
| | | | | | | | * TOSERVER_INIT_LEGACY * TOSERVER_DELETEDBLOCKS * TOSERVER_GOTBLOCKS * TOSERVER_REMOVED_SOUNDS Also use a std::vector instead of std::set for TOSERVER_REMOVED_SOUNDS
* Finer progress bar updates when initializing nodesest312015-03-15
| | | | The bar is only drawn when the user will notice a change, which prevents time overheads that this commit would cause, resulting from useless draws.
* client.cpp: typo fix and break; fix to make some compilers happyLoic Blot2015-03-13
|
* Replace NetworkPacket pointers to referencesLoic Blot2015-03-13
|
* Rename some packet and handlers to <packet>_Legacy name for compat layer ↵Loic Blot2015-03-13
| | | | between new network changes and old network clients
* Fix memleak pointed by issue #2439.Loic Blot2015-03-08
| | | | Also change bzero to memset. bzero doesn't work on windows
* Fix unitialized data when creating TOSERVER_INIT packetLoic Blot2015-03-08
|
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Clean up database API and save the local map on an intervalShadowNinja2015-03-06
|
* Performance improvement: Use std::list instead of std::vector for ↵Loic Blot2015-03-05
| | | | | | request_media, Server::getModNames, Environment::m_simple_objects. * Also remove unused Server::m_modspaths
* Remove Queue class which uses std::list and use native std::queueLoic Blot2015-03-05
|
* Fix some memory leaks on packet sending.Loic Blot2015-02-21
|
* Replace std::list by std::vector into timerUpdate callsLoic Blot2015-02-17
|
* Remove old comment from Network Rework Patch 2/4Loic Blot2015-02-17
|
* [Patch 2/4] Network rework: packet writing, sending and cleanupsLoic Blot2015-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NetworkPacket.cpp: * Remove some deprecated functions, we must use streaming interface * m_data converted from u8* to std::vector<u8> * Add an exporter to forge packet to Connection object * implement operator << std::wstring. n * implement operator << std::string * dynamic resize when write packet content. * fix string writing and performances. * create ServerCommandFactory, used by client to get useful informations about packet processing (sending). * Reliability * Transmit channel * Implement putRawString for some ugly char (_INIT packet), and use it. * Many packet read and write migrated * Implement oldForgePacket to interface writing with current connection * fix U8/char/bool writing * fix string writing and performances. * add some missing functions * Use v3s16 read instead of reading x,y,z separately * Add irr::video::SColor support into packets * Add some missing handlers * Add a template function to increase offset * Throw a serialization error on packet reading (must be improved) PacketFactories: * Create ServerCommandFactory, used by client to get useful informations about packet processing (sending). * Create ClientCommandFactory, used by server to get useful informations about packet processing (sending). Client.cpp: * implement NetworkPacket ::Send interface. * Move packet handlers to a dedicated file * Remove Client::Send(SharedBuffer) Server.cpp: * implement NetworkPacket ::Send interface. * Rewrite all packets using NetworkPacket * Move packet handlers to a dedicated file * Remove Server::Send(SharedBuffer) ClientIface.cpp: * Remove sendToAll(SharedBuffer<u8>) Connection.hpp rework: * Remove duplicate include * Remove duplicate negation * Remove a useless variable * Improve code performance by using a m_peers_list instead of scanning m_peers map * Remove Connection::Send(SharedBuffer) * Fix useafterfree into NetworkPacket Sending * Remove unused Connection::sendToAll Test.cpp: * Remove dead code * Update tests to use NetworkPackets Misc: * add new wrappers to Send packets in client, using NetworkPacket * Add NetworkPacket methods for Connection * coding style fix * dead code since changes cleanup * Use v3s16 read instead of reading x,y,z separately in some packets * Use different files to handle packets received by client and server * Cleanup: Remove useless includes ok @Zeno- Tested by @Zeno- @VanessaE and @nerzhul on running servers
* Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins2015-02-11
| | | | | | | setting * Increase performance (client) * Avoid changing a global value to solve a local problem
* Revert "Remove workaround in itemdef.cpp to enable/disable/enable ↵Craig Robbins2015-02-11
| | | | | | "enable_shaders" setting" This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
* Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins2015-02-11
| | | | | | | setting * Increase performance (client) * Avoid changing a global value to solve a local problem
* Network Layer 7 rework (Packet handling)Loic Blot2015-02-10
| | | | | | | | | | | | | | * 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
* Reduce gettext wide/narrow and string/char* conversionsShadowNinja2015-02-05
|
* Fix local map saving when joining a local server from the server tabCraig Robbins2015-01-31
| | | | | | Disables local map saving for all local server types See: https://github.com/minetest/minetest/issues/2024
* Fix memory leaks due to messed up memory handling for particles as well as ↵sapier2015-01-09
| | | | their spawners
* NodeResolver: Perform callback immediately if node registration phase finishedkwolekr2015-01-04
| | | | Also add NodeResolver callbacks on the client
* More consistent progress bar from 0-100 on startupsapier2015-01-02
|
* Fix missing call to std::ostringstream::strShadowNinja2014-12-12
|
* Use std::string::empty() instead of size() where applicableAnton2014-12-12
|
* Fix lighting artifacts (Issue #1887).RealBadAngel2014-12-08
|
* Performance of main client loop up to 2x faster In places, up to 3 times fasterCraig Robbins2014-12-07
| | | | | NOTE 1: This does not mean a 2x increase in framerate. Increase in fps may be up to 1-2fps NOTE 2: This local 'caching' of settings is not optimal and an alternative solution will be worked on after 0.4.11 is released
* Fix node 0,0,0 being highlighted when enable_node_highlighting == falseCraig Robbins2014-12-01
| | | | | Without this patch node 0,0,0 is highlighted when enable_node_highligting is false There is a minor lighting issue remaining, however it seems to be related to a different bug (https://github.com/minetest/minetest/issues/1887)
* Implement proper font handlingsapier2014-11-30
|
* Fix client "double saving" simple singleplayer local mapsCraig Robbins2014-11-26
|
* Add (optional) client-side saving of server map to disksfan52014-11-19
|
* Speed up removing a node (less block mesh updates).RealBadAngel2014-11-08
|
* Recalculate normals for cached meshes.RealBadAngel2014-10-21
| | | | | | Check if mesh is here before adding to meshcollector. Fix deleting the meshes.
* Various uninitialised variable fixesCraig Robbins2014-10-19
| | | | | | sky.cpp: m_bgcolor.getAlpha() was being used before initialised mesh related: m_highlight_mesh_color was being used uninitialised
* Add meshnode drawtype.RealBadAngel2014-10-18
|