| Commit message (Collapse) | Author | Age |
|
|
| |
The CSM HUD PR caused some strange behavior including aborts due to parts of it using some slightly hacky code, the event refactor changing how events are processed and a minor oversight.
|
| |
|
|
|
|
|
|
| |
* [CSM] Add basic HUD manipulation.
Workaround for on_connect not working right now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Attempt to add registration confirmation
Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist.
Also tell player about the server and chosen username.
Local game has localhost as IP address of the server.
Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background.
aborted -> connection_aborted
* Rewrite information message text
Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `disconnected_*` boxes are the opposites of the `connect_*` ones,
i.e. when a node has no suitable neighbours on the respective side, the
according disconnected box is drawn.
* disconnected_top
* disconnected_bottom
* disconnected_front
* disconnected_left
* disconnected_back
* disconnected_right
* disconnected (when there is *no* neighbour)
* disconnected_sides (when there are *no* neighbours to the sides)
|
|
|
|
| |
`&vector[0]` is undefined if vector.empty(), causing build failure on MSVC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* CSM fixes: load mods after flavours & add flavour to block mod loading
* Don't permit to load mods twice
* Prepare builtin integrity global algorithm
* Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour
* flag typo fix
* Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove player object property 'can zoom'.
Add player object property 'zoom fov'.
Remove clientside setting for 'zoom fov'.
Object property default is 15 degrees in creative mode, zoom disabled
in survival mode.
Needed due to zoom now loading and/or generating distant world
according to zoom FOV.
Update object properties serialisation version to 3.
|
| |
|
|
|
|
| |
* Move files around
|
|
|
|
| |
* Iitial Haiku support
|
|
|
|
|
| |
This makes it possible to modify the tool capabilities of individual
itemstacks by calling a method on itemstack metadata references.
|
| |
|
|
|
|
|
|
|
|
| |
* Real global textures
* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
|
|
|
|
|
|
| |
In some cases NetworkPacket was created using default constructor and m_data is not properly sized.
This fixed out of bounds memory copy
Also use memcpy instead of std::vector affectation to enhance packet creation
|
|
|
|
| |
* Update clang from 4.0 to 5.0
|
| |
|
|
|
|
|
|
| |
* Add session_t typedef + remove unused functions
u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
|
|
|
|
|
|
|
|
|
|
| |
Implement network communication for channels
* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
|
|
|
| |
Include the header that defines AF_INET and AF_INET6
|
|
|
|
| |
* ServerEnv: Clean up object lifecycle handling
|
|
|
|
|
|
| |
The 'glow' value is added to the ambient light value.
Negative 'glow' disables light's effect on object colour, for faking
self-lighting, UI-style entities, or programmatic colouring in mods.
|
| |
|
|
|
|
| |
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
|
| |
|
|
|
|
| |
This fixes #6373
|
| |
|
|
|
|
|
|
|
|
|
| |
* Implement minetest.register_on_userlimit_check
This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.
Move core part for builtin privileges checks to builtin
|
| |
|
|
|
|
|
|
| |
ConnectionCommand"
This reverts commit 5b04f5e7d231437b534f4cad39da78624d97c584.
|
| |
|
|
|
|
|
|
| |
This can trigger unreproductible crashes due to concurrency problem on SharedBuffers
This fixes #6354
|
|
|
|
|
|
|
|
|
|
| |
* Fix HP transport + some double <-> float problems
TOCLIENT_HP transport u16 hp as a u8, use u16 HP, this prevent HP over 255 to overflow across network
* Fix more double/float problem in serverpackethandler & remove implicit struct type for TileAnimationParams
* Fix connection unittests container
|
|
|
|
|
|
|
| |
* Bump minimal protocol version to 36
Item/Node/TileDef, NodeBox, TileAnimation: Remove old compat code
* Accept future serialisation versions
|
|
|
|
|
|
|
|
|
|
| |
* Refactor clientevent structure
* Move structure outside of client header
* Create client events on heap not stack, this remove the ClientEvent object copy
* Use clientEventHandler to route events
|
|
|
|
|
| |
This should fix #6332
Refcount is not increased due to reference, it can make this refcount incorrect in a multithread context
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move Connection threads to dedicated files + various cleanups
* ConnectionReceiveThread::processPacket now uses function pointer table to route MT packet types
* Various code style fixes
* Code style with clang-format
* Various SharedBuffer copy removal
* SharedBuffer cannot be copied anymore using Buffer
* Fix many SharedBuffer copy (thanks to delete operator)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup network headers
* Move peerhandler to a specific header to reduce compilation times
* Move socket.cpp/h to network folder
* More work
* Network code cleanups
* Move socket.{cpp,h} to network folder
* Move Address object to network/address.{cpp,h}
* Move network exceptions to network/networkexceptions.h
* Client: use unique_ptr for Connection
* Server/ClientIface: use shared_ptr for Connection
* Format fixes
* Remove socket.cpp socket.h from clang-format whitelist
* Also fix NetworkPacket code style & make it under clang-format
|
|
|
|
| |
Of course, this is not ideal solution, but we want our users to be happy in the
first place, right?
|
|
|
|
|
| |
Flag default is true to not change default behaviour.
The existing minimap HUD flag remains the master control for minimap.
|
|
|
|
|
|
|
|
|
|
|
| |
* Modernize source code: last par
* Use empty when needed
* Use emplace_back instead of push_back when needed
* For range-based loops
* Initializers fixes
* constructors, destructors default
* c++ C stl includes
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Code modernization: subfolders
Modernize various code on subfolders client, network, script, threading, unittests, util
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Make connection.cpp readable in a pointed place + typo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Optimize headers (part 2)
* less debug.h in headers
* less remoteplayer.h for everybody
* Cleanup (part 2)
* camera.h: mesh.h
* mapgen.h: mapnode.h
* serverenvironment.h: mapblock.h
* nodedef.h: shader.h
|
| |
|
|
|
|
| |
* Migrate cpp headers to pragma once
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reached (#6258)
* ClientInterface: add a function to verify (correctly) if user limit was reached
CS_HelloSent is a better indicator of active slots than CS_Created, which are session objects created after init packet reception
Switch existing checks to ClientInterface::isUserLimitReached()
Use range-based for loop for getClientIds() used function too
This will fix #6254 (not the memory overhead if init is flooded)
|
|
|
|
| |
* Cleanup various headers to reduce compilation times
|