| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
Remove software exception translator function, simplifying exception handler
macros. FatalSystemExceptions are left unhandled.
|
| |
|
|
|
|
|
|
|
| |
at all
Add -Wall to Debug modes for all compilers and -Wabi for non-MSVC
Use /Ox for MSVC Release mode (potentially higher optimization than /O2)
|
|
|
|
| |
This reverts commit 839c4a99cddcacdc19dee42286b7029c4c1e7800.
|
|
|
|
| |
-O1 results in executables that are completely useless for actuall debugging
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
f7d6509 introduces error when no endian.h found in the system.
Since "CHECK_INCLUDE_FILE" returns empty string instead of "0", when
"cmake_config.h" is generated it has "#define CMAKE_HAVE_ENDIAN_H " line.
Later we have "#define HAVE_ENDIAN_H CMAKE_HAVE_ENDIAN_H" in the
"config.h", an thus "HAVE_ENDIAN_H" is also empty sting. Because of
this, "#if HAVE_ENDIAN_H" is incorrect preprocessor directive.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
previous generic method if not (supported for GCC using endian.h, detection done in cmake) write/readARGB8() - just write 32-bit color in one op, instead of 4 1-byte ops cleanup: removed unneeded buffer init for some serialize-out functions use a #define for the fixed point factor in read/writeF1000()
nodemetadata.cpp, nodetimer.cpp
optimzation: simpler deserialize node position method
staticobject.cpp:
cleanup: use util/serialize.h inlines instead of its own de/serialization
serialize.cpp:
minor optimization/cleanup: avoid generation of unneeded string temporary
CMakeLists.txt, cmake_config.h.in: detection of endian.h
config.h: added HAVE_ENDIAN_H
Commits due to feedback squashed
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't create and cache an extruded mesh for every (non-node) item.
Instead use a single one per image resolution.
- For cubic nodes reuse a single wield mesh too
- Improve lighting of the wielded item
- Increase far value of wield mesh scene camera, fixes #1770
- Also includes some minor refactorings of Camera and GenericCAO.
|
|
|
|
| |
blobs
|
| |
|
|
|
|
| |
This also cleans up settings a bit
|
|
|
|
| |
CMake option Update 32-bit buildbot (OpenAL updated, zlib updated) Change build directory for buildbots to '_build' to prevent removal of Android build files Use -win64 suffix for 64-bit Windows builds Fixes #1476
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
back to old order
Revert "Fix library link order"
This reverts commit b743dcb942eb1a88bce2968c08b114058738758b.
|
| |
|
|
|
|
| |
Add (experimental) support for topbottom as well as sidebyside 3d mode
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-add client states to avoid server sending data to uninitialized clients
-don't show uninitialized clients to other players
-propper client disconnect handling
Minor comment fixes in server
Minor bugfixes in connection
-improved peer id calculation
-honor NDEBUG flag
-improved disconnect handling
-increased initial send window
Remove some dead code
|
| |
|
| |
|
|
|
|
| |
because cmake is unable to parse it's own lists properly
|
|
|
|
|
|
|
|
|
|
|
| |
This can solve numerous problems such as:
http://www.cmake.org/Bug/view.php?id=13959
http://www.cmake.org/Bug/view.php?id=14601
If pkg-config or freetype2.pc is not found, then fall back to the
FindFreetype.cmake module logic.
Restrict to UNIX since I only tested it here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move most of the media-related code in client.cpp into a new class
ClientMediaDownloader (clientmedia.cpp, clientmedia.h). Among other
things, this class does the following things:
- Download [remote_server][sha1] instead of [remote_server][name]. This
is to support servers that provide the same file name with different
contents.
- Initially fetch [remote_server]index.mth. This file should follow the
Minetest Hashset format (currently version 1) and contain a list of SHA1
hashes that exist on the server.
- The list of needed SHA1s is uploaded (via HTTP POST) when index.mth is
requested, so servers can optionally narrow down the list to the needs
of the client.
- If index.mth is missing (HTTP response code 404), we enter compat mode,
fetching [remote_server][name] as before this commit.
- remote_server can now contain multiple servers, separated by commas.
The downloader code attempts to split requests between the different
servers, as permitted by each server's index.mth. If one server claims
to have a file but actually doesn't (or something fails), we ask a
different server that also claims to have it.
- As before, when none of the remote servers provide a particular
file, we download it via the conventional method, i.e. using
the minetest protocol: TOSERVER_REQUEST_MEDIA / TOCLIENT_MEDIA.
- Bugfix: Every downloaded file's SHA1 is now verified against the SHA1
announced by the minetest server (before loading it and inserting it
into the file cache).
- Bugfix: Only send TOSERVER_RECEIVED_MEDIA when we actually have all
media. This should fix #863.
|
|
|
|
|
|
|
|
| |
Add curl_parallel_limit setting that will replace media_fetch_threads in
a later commit.
Fix a typo in MutexedQueue::pop_back() that made it impossible to compile
code that used this function. (Noticed this while implementing httpfetch.)
|
| |
|
| |
|
| |
|
| |
|