| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
| |
Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues.
Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.
|
|
|
|
|
| |
* Proselytize the network. Use IEEE F32
* Remove unused V2F1000 functions
|
|
|
|
| |
GCC and CLang compilers fail to support full IEC559 compliance required for the test, when certain compiler flags are active. This patch implements a heuristic that checks for the most common flag in GCC and CLang, plues an extra check which GCC disables when it's not compliant, to hopefully catch most cases where it can't run.
|
|
|
|
| |
* Add an activeobject manager to hold active objects
* Add unittests
|
| |
|
| |
|
|
|
|
|
| |
Update Android.mk
Remove 'src/client' from include_directories
|
|
|
| |
The constructor of TestAuthDatabase was called immediately, at a time when the settings weren't initialized properly yet.
|
|
|
|
| |
* Replace auth.txt with SQLite auth database
|
|
|
| |
Use sizeof where applicable for mt_snprintf
|
| |
|
|
|
|
| |
* Server: move shutdown parts to a specific shutdown state object
|
| |
|
|
|
|
|
|
| |
a78659ed0529226ad937f5e241ad72ba93702959
Added more strong unittests on that part to prevent future regression
|
| |
|
|
|
|
| |
Replaces mods and texture pack tabs with a single content tab
|
| |
|
|
|
|
|
|
| |
* Add IrrLicht type aliases
* Add hash for IrrLicht vector
* Add object map
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix many issues reported by clang-tidy
We have many issues in code related to some performance to float <-> double.
Clang-tidy reported it in performance-type-promotion-in-math-fn
I fixed many of them. It's not ready for a promote to blocking
Also fix some value which should be const-ref
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Drop EventManager from GameDef & do some client cleanups
* EventManager is only used by Client. Don't expose it on Server & GameDef for nothing
* Drop Client::event() in favor of direct calls to getEventManager
* Cleanup some event put from new + put to put(new)
* MtEvent: add Type(u8) enum
* This will enhance event performance & ensure stricter type
* Drop MtEvent::checkIs (unused)
* clang-tidy reported fixes
* Code style
* Move event_manager.h to the client directory as it's only used by client
Add EventManager unittests + switch to unordered_map as order is not important here
Drop a unused function
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup sound manager client
* Use some const refs
* Use auto on iterators
* Drop unused parameters
* Move sound_openal.* to client folder
* Move sound.cpp + OnDemandSoundFetcher to client/ folder + reorganize includes properly
|
|
|
|
| |
in test_servermodmanager.cpp
|
|
|
|
|
|
|
|
| |
* Server: delegate mod management & config to ServerModConfiguration (rename it to ServerModManager)
* Use c++11 range based loops
* Add unittests + experimental/default mod as a test case to permit testing mod loading in future tests
|
|
|
|
| |
* Add voxelarea unittests
|
|
|
|
|
|
|
|
|
| |
* Rename IWritableNodeDefManager to NodeDefManager
* Make INodeDefManager functions const
* Use "const *NodeDefManager" instead of "*INodeDefManager"
* Remove unused INodeDefManager class
* Merge NodeDefManager and CNodeDefManager
* Document NodeDefManager
|
|
|
| |
Also remove the unit test that tests the removed algorithms.
|
|
|
|
|
|
|
|
| |
GameRunData::statustext_time to GameUI class
Other enhancements:
* Simplify setStatusText to showStatusText, as it shows the label too (preventing almost every setStatusText to call setStatusTextTime(0)
* Add unittests
|
|
|
|
|
|
|
|
| |
Game::infotext to GameUI class
Other enhancements:
* Drop unused GameRunData::time_of_day
* Little GameUI::update code path optimizations
|
|
|
|
|
|
|
| |
StaticText
Other enhancements:
* C++ friendlyness for addStaticText() -> move to static StaticText::add()
|
|
|
|
|
|
|
|
|
|
| |
Game class is too huge and has too specialization on various subjects, like UI, formspecs, client, renderer. Start to move UI related things to GameUI object and cleanup them
Other improvements:
* updateChat: more performance on error messages by remove string copies
* Initialize all game class members in definition instead of constructor (with nullptr instead of NULL)
* Drop unused Client::show{GameChat,GameHud,Profiler,GameFog}
* Add GameUI unittests
|
|
|
|
|
|
| |
* Add unittests on ActiveObject and BanManager class
This also permit to fix a bug in ban manager setting bans modified when no modification occurs
|
|
|
|
| |
* Move files around
|
|
|
|
|
|
| |
* 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
|
|
|
| |
Debugstacks is not useful, we don't really use it, the DebugStack is not pertinent, gdb and lldb are better if we really want to debug.
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
* Migrate cpp headers to pragma once
|
|
|
|
| |
* Cleanup various headers to reduce compilation times
|
|
|
|
| |
* C++11 cleanup on constructors dir script
|
|
|
|
| |
This reverts commit 599e13e95e81aadb959c9f3715aec9b425ede084.
|
| |
|
| |
|
|
|
|
| |
MacOSX build fix + cleanups
|