Paramat [Sun, 3 Jun 2018 23:39:10 +0000 (00:39 +0100)]
Biome dust placement: Improve comments, re-order some lines
Paramat [Sun, 3 Jun 2018 03:41:03 +0000 (04:41 +0100)]
Lua_api.txt: Various improvements (#7402)
Node definition:
Clearly document custom selection box/collision box (collision box
documentation was missing).
Remove incorrect light attenuation statement and duplicated light
source statement.
Nodes:
Document which drawtypes require 'paramtype = "light"' to avoid
appearing black.
Remove incorrect light attenuation statement.
HUD: Remove 'HUD API is experimental' text.
Noise params: Spread of every octave must exceed 1.
Particles and spawners: Document glow values.
Paramat [Sat, 2 Jun 2018 20:28:26 +0000 (21:28 +0100)]
Biomemap: Simplify code of recent commit (#7398)
Paramat [Sat, 2 Jun 2018 02:20:09 +0000 (03:20 +0100)]
Biomemap: Avoid empty biomemap entry to fix failing biome dust (#7393)
'generateBiomes()' constructs the biomemap as it generates biomes.
The biome calculated at first stone surface encountered is added to
the biomemap.
Previously, if no stone surface was encountered in a mapchunk column
the biomemap was left empty for that (x, z) position, causing biome
dust and water surface decoration placement to fail.
If at the base of a mapchunk column the biomemap is empty, add the
currently active biome to the biomemap, or if biome is NULL calculate
it for this position and add it to the biomemap.
Loïc Blot [Thu, 31 May 2018 20:52:08 +0000 (22:52 +0200)]
Fix isNan on setYaw Lua call (#7380)
* Fix isNan on setYaw Lua call
Paramat [Thu, 31 May 2018 02:06:55 +0000 (03:06 +0100)]
Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (#7388)
Only allow river generation to replace c_stone.
This also acts as an optimisation by being placed before canyon shape
calculation.
sfan5 [Wed, 30 May 2018 14:30:44 +0000 (16:30 +0200)]
Update embedded Lua to 5.1.5 (#7387)
Loic Blot [Tue, 29 May 2018 20:22:14 +0000 (22:22 +0200)]
LINT fix
Wuzzy [Tue, 29 May 2018 16:39:37 +0000 (18:39 +0200)]
Rename some keys for clarity (#7384)
otdav33 [Tue, 29 May 2018 16:38:58 +0000 (12:38 -0400)]
Add crossview support (#7361)
you [Tue, 29 May 2018 16:37:51 +0000 (18:37 +0200)]
Tidy up dlg_config_world.lua (#5351)
Move code to pkgmgr
Loic Blot [Tue, 29 May 2018 06:34:09 +0000 (08:34 +0200)]
Fix GameUI flag value regression introduced by
a78659ed0529226ad937f5e241ad72ba93702959
Added more strong unittests on that part to prevent future regression
Midgard [Mon, 28 May 2018 16:00:42 +0000 (16:00 +0000)]
Print error when HOME is not set (#7376)
In some configurations, such as when using the runit supervisor and its
tool chpst, the HOME variable might be unset. This resulted in an
unclear error message that was hard to pin down.
Loïc Blot [Mon, 28 May 2018 13:39:02 +0000 (15:39 +0200)]
Fix more GCC 8.1 warnings 1 master
Fix 3 warnings reported by GCC 8.1 of the following type
```src/client/gameui.cpp:191:43: warning: « void* memset(void*, int, size_t) » effacement d'un objet du type non trivial « struct GameUI::Flags »; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&m_flags, 0, sizeof(GameUI::Flags));
```
Loïc Blot [Mon, 28 May 2018 12:17:19 +0000 (14:17 +0200)]
Fix a -Wcatch-value warning reported by GCC 8.1
```
src/translation.cpp:43:16: warning: interception du type polymorphique « class std::out_of_range » par valeur [-Wcatch-value=]
} catch (std::out_of_range) {
```·
Loic Blot [Mon, 28 May 2018 06:54:57 +0000 (08:54 +0200)]
Remove a useless struct keyword for ObjectProperties
SmallJoker [Sat, 26 May 2018 10:50:44 +0000 (12:50 +0200)]
Formspec verification: Fix show_formspec inside callbacks (#7374)
Paramat [Thu, 24 May 2018 21:20:06 +0000 (22:20 +0100)]
Vein ore: Fix bug caused by changing perlinmap Y size (#7371)
Because vein ore uses 3D noise (all the other ores use 2D noise) the
perlinmap Y size can be different in different mapchunks when close
to the ore Y limits.
Previously this caused bugs in the vein structure because changes in
perlinmap Y size did not recreate the noise objects.
Delete and recreate the noise objects with the new Y size if Y size
has changed.
Paramat [Thu, 24 May 2018 01:52:35 +0000 (02:52 +0100)]
Schematic decorations: Fix placement bug when centred and rotated (#7365)
Previously, the centering caused by the 'place center x/z' flags did
not take rotation into account. So schematics with unequal X and Z
dimensions were incorrectly placed. The bug was hidden for schematics
equal in X and Z dimensions.
Paramat [Sun, 20 May 2018 22:45:53 +0000 (23:45 +0100)]
Dungeons: Fix duplication of y limit parameters (#7359)
you [Sun, 20 May 2018 12:51:50 +0000 (14:51 +0200)]
Fix missing ignore textures (#7326)
Wuzzy [Sun, 20 May 2018 12:51:26 +0000 (14:51 +0200)]
Small usage changes for air and ignore items (#7305)
* Remove “you hacker you!” from node description
* Prevent placement of ignore in builtin
* Prevent giving of "unknown" explicitly
rubenwardy [Sat, 19 May 2018 23:25:17 +0000 (00:25 +0100)]
Add screenshots to online content browser
nanoproject [Fri, 18 May 2018 20:45:14 +0000 (22:45 +0200)]
Player marker on both minimaps (#7350)
rubenwardy [Wed, 16 May 2018 20:52:12 +0000 (21:52 +0100)]
Add updating to online content browser
Paramat [Wed, 16 May 2018 19:49:46 +0000 (20:49 +0100)]
Pointed_thing_to_face_pos: Avoid crash when player is inside a node (#7342)
Avoid crash in some situations when player is inside a node, causing
'above' to equal 'under'.
In this situation return 'under' which is the node position very close
to the face position that would normally be returned.
Wuzzy [Wed, 16 May 2018 17:46:28 +0000 (19:46 +0200)]
Say position of locale dir more clearly in docs (#7338)
SmallJoker [Wed, 16 May 2018 17:36:30 +0000 (19:36 +0200)]
Minimal: Fix HP change crash (#7344)
Lars Hofhansl [Wed, 16 May 2018 01:49:11 +0000 (18:49 -0700)]
Use server's zoom fov for distant world loading.
Paramat [Tue, 15 May 2018 18:35:55 +0000 (19:35 +0100)]
Contributing.md: Various additions and edits (#7309)
Add a new point to encourage discussion before coding. Move the 'ask
before significant coding' suggestion into this.
Edit and extend commit message guidelines. Refer to core dev commit
messages as good examples.
Remove 'short' and 'briefly' from the description guideline to try to
improve description quality.
Larger text for '### A pull-request is considered ..'.
Add a second roadmap link to celeron55's blog roadmap which is the 1st
part of the forum roadmap.
Add full stops to lists.
Consistent text size for '## Donations'.
Muhammad Rifqi Priyo Susanto [Tue, 15 May 2018 14:13:30 +0000 (21:13 +0700)]
Don't show Android edit dialog when tapping read-only field (#7337)
* Don't show Android edit dialog when tapping read-only field
From Lua API, "If the name is empty the textarea is readonly."
SmallJoker [Mon, 14 May 2018 19:03:48 +0000 (21:03 +0200)]
Fix segfault in player migration and crash in log_deprecated
Makes log_deprecated work when triggered from no function
Paramat [Mon, 14 May 2018 18:01:58 +0000 (19:01 +0100)]
Vertical biome blend: Tune PRNG seed for finer detail (#7329)
lhofhansl [Mon, 14 May 2018 10:03:39 +0000 (03:03 -0700)]
Make sure color returns to normal after a damage flash (#7332)
rubenwardy [Sun, 13 May 2018 20:41:02 +0000 (21:41 +0100)]
Update contentdb_url to content.minetest.net
SmallJoker [Sat, 12 May 2018 12:30:52 +0000 (14:30 +0200)]
Camera: Improve subpixel movement (#7319)
SmallJoker [Sat, 12 May 2018 08:55:43 +0000 (10:55 +0200)]
Run detach callbacks on player leave
Correct docs regarding non-nil detaching children
Vincent Glize [Thu, 10 May 2018 11:50:06 +0000 (13:50 +0200)]
Fix crash guiConfirmRegistration quit menu (#7313)
rubenwardy [Tue, 8 May 2018 18:06:55 +0000 (19:06 +0100)]
Fix luajit include not being found
Paramat [Mon, 7 May 2018 02:31:55 +0000 (03:31 +0100)]
Mgv7: Code cleanup (#7299)
SmallJoker [Sat, 5 May 2018 20:37:07 +0000 (22:37 +0200)]
Fix builtin inventory list crash when size = 0 (#7297)
Paramat [Fri, 4 May 2018 17:22:56 +0000 (18:22 +0100)]
Cavegen: Allow small RandomWalk caves to generate beyond mapchunk border
Vincent Glize [Tue, 1 May 2018 17:38:37 +0000 (19:38 +0200)]
Fix invisible chat error messages (#7289)
Kuma_jjw [Mon, 30 Apr 2018 17:15:11 +0000 (02:15 +0900)]
nodedef: Delete two unused method definitions (#7288)
JDCodeIt [Mon, 30 Apr 2018 17:14:28 +0000 (11:14 -0600)]
Global new() or grab() to be managed in constuctor only (#7235 partial) (#7236)
* g_extrusion_mesh_cache new() and grab() to be managed in constuctor only (#7235 partial)
This global was getting grab()-ed by each call to getItemMesh, incrementing its reference count. What was to be the final drop() in the destructor ended up with > 0 reference count, so memory not freed by Irrlicht.
SmallJoker [Mon, 30 Apr 2018 16:43:49 +0000 (18:43 +0200)]
Allow damage for attached objects, add attach/detach callbacks (#6786)
* Allow right-clicking on attached LuaEntities
rubenwardy [Mon, 30 Apr 2018 16:42:51 +0000 (17:42 +0100)]
MetaDataRef: Add contains() and get() (#7214)
Paramat [Sun, 29 Apr 2018 06:20:46 +0000 (07:20 +0100)]
Mapgen caves: Re-order generation to fix cavern bug
Previously, caverns confused tunnel generation causing biome top and filler
nodes to appear in caverns.
Split 'generateCaves()' into 2 functions to separate tunnel and large
randomwalk cave generation.
In each mapgen re-order cave generation to generate tunnels before caverns.
paramat [Thu, 26 Apr 2018 12:21:58 +0000 (13:21 +0100)]
Biome-defined cave liquids: Use faster biome calculation
paramat [Thu, 26 Apr 2018 12:33:12 +0000 (13:33 +0100)]
Biome-defined dungeon nodes: Use faster biome calculation
rubenwardy [Wed, 25 Apr 2018 23:19:05 +0000 (00:19 +0100)]
Fix description wrapping in browse online content
Paramat [Tue, 24 Apr 2018 23:44:49 +0000 (00:44 +0100)]
Dungeons: Mostly fix missing stair nodes
Paramat [Tue, 24 Apr 2018 01:25:51 +0000 (02:25 +0100)]
Mgvalleys: Update settingtypes.txt
Paramat [Tue, 24 Apr 2018 00:34:48 +0000 (01:34 +0100)]
Mgvalleys: Code cleanup
Split some long lines.
Edit comments.
Remove unnecessary comments and unnecessary commented-out code.
Use std::fmax/fmin instead of MYMAX/MYMIN.
Remove scope-limiting braces.
Consistently define literals as floats, except in noise parameters.
Cleanup literals in noise parameters.
Remove unnecessary 'near_cavern' line.
Reduce max spawn y to be consistent with other mapgens.
rubenwardy [Mon, 23 Apr 2018 17:27:00 +0000 (18:27 +0100)]
Move ASCII art to std::cerr, to remove it from logs
Thomas--S [Mon, 23 Apr 2018 17:50:50 +0000 (19:50 +0200)]
Formspecs: Allow setting alpha value for the box[] element
Paramat [Sat, 21 Apr 2018 21:50:36 +0000 (22:50 +0100)]
Mgvalleys: Use shared tunnel / cavern code instead of internal
Caverns first appeared in mgvalleys and were later added to other
mapgens as shared code. Now this shared code can replace mgvalley's
internal cavern code.
Also use shared tunnel code instead of internal code.
Changes to mapgen that will affect existing worlds (mgvalleys is not
stable):
Single lava and water sources not added in tunnels.
Previous caverns are unchanged but an equal number of new ones are
added at a distance from the previous.
From y = -256 to 192 nodes below, where the caverns taper at their
upper limit, they will have a slightly different shape as the taper
is now linear.
Paramat [Sat, 21 Apr 2018 19:35:29 +0000 (20:35 +0100)]
Cave liquids: Use a more precise point for calculating biome
Use the centre point of the route being carved for a more precise match
between cave liquids and biome.
mazocomp [Sat, 21 Apr 2018 19:33:38 +0000 (22:33 +0300)]
Fix i386 bit build at OpenBSD (#7259)
SmallJoker [Sat, 21 Apr 2018 08:17:16 +0000 (10:17 +0200)]
Fix Android build, broken since
87ad4d8
Paramat [Fri, 20 Apr 2018 19:26:30 +0000 (20:26 +0100)]
Node resolver: Make error on fallback optional, disable for mapgen aliases
rubenwardy [Tue, 17 Apr 2018 13:54:50 +0000 (14:54 +0100)]
Add online content repository
Replaces mods and texture pack tabs with a single content tab
SmallJoker [Thu, 19 Apr 2018 16:36:10 +0000 (18:36 +0200)]
Builtin auth handler: Speed up file writing (#7252)
SmallJoker [Wed, 18 Apr 2018 19:26:20 +0000 (21:26 +0200)]
Fix wrong channel number representation in logs (#7205)
Ben Deutsch [Wed, 18 Apr 2018 18:56:01 +0000 (20:56 +0200)]
PlayerSettings struct for player movement code (#7243)
Instead of calling g_settings->getBool("flag") multiple times
during each movement step, the current settings are cached
in a new player object member. Updated via registered callbacks.
Muhammad Rifqi Priyo Susanto [Wed, 18 Apr 2018 18:55:42 +0000 (01:55 +0700)]
Android: Modify touch screen GUI's buttons (#7240)
* Android: Add zoom, minimap, and toggle chat button
Zoom button is put above jump button.
Minimap and toggle chat button are put in settings bar.
* Jump button is rotated down button
* Move three buttons on the right screen higher
Paramat [Tue, 17 Apr 2018 21:25:59 +0000 (22:25 +0100)]
Cavegen: Fix variable typo that broke mgvalleys large cave distribution (#7249)
Fix elusive 5 year old bug that caused mgvalleys large caves to be flat and
limited to mapchunk borders.
Error was fixed 2 years ago in 'CavesV6' but not in 'CavesRandomWalk'.
rubenwardy [Tue, 17 Apr 2018 00:45:32 +0000 (01:45 +0100)]
Add CMakeDoxy* to .gitignore
Paramat [Sun, 15 Apr 2018 20:56:05 +0000 (21:56 +0100)]
FOV: Raise lower limit to avoid zoom-loading of distant world (#7234)
In the client, raise lower limit from 30 to 45 degrees, to avoid server
seeing this as a zoom and loading world beyond the server-set limit.
Add minimum in settingtypes.txt and enforce lower limit when set using
minetest.conf.
In the server, distrust the client-sent FOV if below the heuristic zoom
threshold and use the player object property 'zoom_fov' to check it, to
protect against hacked clients.
Muhammad Rifqi Priyo Susanto [Tue, 10 Apr 2018 20:55:17 +0000 (03:55 +0700)]
Android: Replace movement buttons with joystick (#7126)
* Android: Replace movement buttons with joystick
Replace movement control buttons (arrows at bottom left screen) with virtual joystick.
Joystick has 8 directions (same as keyboard). Basically, just map it to keyboard input.
Joystick applies only on left 1/3 of screen.
Joystick's position can be fixed by enabling fixed_virtual_joystick setting.
Three new images:
(1) placeholder joystick,
(2) joystick container (background), and
(3) joystick cursor.
Remove unused images: movement control buttons (*_arrow.png).
New data type: touch_gui_joystick_move_id
Joystick's fixed position is spaced one button size from bottom and from left of screen.
Remove unused variable: m_joystick_downlocation
sfan5 [Mon, 9 Apr 2018 14:25:57 +0000 (16:25 +0200)]
Fix segfault caused by wrong wgettext()
minduser00 [Tue, 27 Mar 2018 11:49:47 +0000 (11:49 +0000)]
Fix for translating empty strings
Fix for incorrect translation of empty strings
In the key change menu, when a button key not have name an empty string is passed to gettext.
The empty string is reserved for gettext to return de header of the .po file an this is shoved in the button
SmallJoker [Mon, 9 Apr 2018 12:58:35 +0000 (14:58 +0200)]
upright_sprite: Fix texture position for players
Fixes #6471
Paramat [Mon, 9 Apr 2018 01:23:47 +0000 (02:23 +0100)]
Sun colour: Undo colour change. Remove double assignment (#7227)
Commit
5070ca2111dd5b3f333a942059ef2c592de8dc24 changed sun colour by
fixing what seemed to be a code mistake.
Return to the standard colour but comment-out the first assignment of the
double-assignment for performance.
Add a comment to explain.
Paramat [Sat, 7 Apr 2018 21:09:54 +0000 (22:09 +0100)]
Biome API / dungeons: Add biome-defined dungeon nodes
Add new biome fields 'node_dungeon', 'node_dungeon_alt', 'node_dungeon_stair'.
If 'node_dungeon' is not defined dungeons fall back to classic behaviour.
Remove messy and imprecise dungeon material code from 'generateBiomes()'.
Code deciding dungeon materials is now in 'generateDungeons()' and uses the
biome at mapchunk centre for more precision.
Remove hardcoded 'MG_STONE' types as long intended.
Vitaliy [Fri, 6 Apr 2018 14:33:43 +0000 (17:33 +0300)]
Fix SAOM (#7200)
* Bugfix
rubenwardy [Fri, 6 Apr 2018 08:52:29 +0000 (09:52 +0100)]
Add player:get_meta(), deprecate player attributes (#7202)
* Add player:get_meta(), deprecate player attributes
Paramat [Thu, 5 Apr 2018 23:10:16 +0000 (00:10 +0100)]
Mgcarpathian: Fix spawn level calculation (#7212)
Paramat [Thu, 5 Apr 2018 20:52:10 +0000 (21:52 +0100)]
Mgcarpathian: Remove insignificant 'base' noise variation (#7209)
Was only +-1 node over a scale of thousands of nodes.
Replace with 'base_level' parameter value.
Paramat [Thu, 5 Apr 2018 19:15:38 +0000 (20:15 +0100)]
Zoom adjustDist(): Improve variable name (#7208)
Paramat [Thu, 5 Apr 2018 16:21:41 +0000 (17:21 +0100)]
Biome API / cavegen: Add definable cave liquid for a biome (#7192)
Add 'node_cave_liquid' as a new field in biome registration.
If field is absent cave liquids fall back to classic behaviour.
Loïc Blot [Wed, 4 Apr 2018 18:49:42 +0000 (20:49 +0200)]
[clang-tidy] Promote some performance-* as a coding error (#7194)
* Promote performance-type-promotion-in-math-fn as a coding error
* Promote performance-faster-string-find too (which is not problematic currently)
* Same for performance-implicit-cast-in-loop
* Fix remaining tidy points
Loïc Blot [Wed, 4 Apr 2018 08:56:46 +0000 (10:56 +0200)]
Huge LBM lookup performance improvement on mapblock loading (#7195)
* Huge LBM lookup performance improvement on mapblock loading
Loic Blot [Wed, 4 Apr 2018 06:40:21 +0000 (08:40 +0200)]
Fix 5 issues reported by PVS studio
* src/sky.cpp 146 warn V519 The 'suncolor_f.r' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 142, 146.
* src/sky.cpp 147 warn V519 The 'suncolor_f.g' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 143, 147.
* src/sky.cpp 148 warn V519 The 'suncolor_f.b' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 144, 148.
* src/threading/thread.cpp 63 err V730 Not all members of a class are initialized inside the constructor. Consider inspecting: m_thread_obj.
* src/server.cpp 3243 err V595 The 'log' pointer was utilized before it was verified against nullptr. Check lines: 3243, 3258.
Loic Blot [Wed, 4 Apr 2018 05:42:40 +0000 (07:42 +0200)]
Fix last performance-type-promotion-in-math-fn problems
Loïc Blot [Tue, 3 Apr 2018 22:43:08 +0000 (00:43 +0200)]
Optimize a little bit isBlockInSight, adjustDist & collisions (#7193)
* Use constexpr + unroll some calculations to cache definitively some calculations
* Unroll some calls in collision code & use a constref instead of a copy in one occurence
Loic Blot [Tue, 3 Apr 2018 21:05:22 +0000 (23:05 +0200)]
Fix last clang-tidy reported problems for performance-type-promotion-in-math-fn
Based on https://travis-ci.org/minetest/minetest/jobs/
361810382 output
Also fix 2 missing copyright notices
Loic Blot [Tue, 3 Apr 2018 19:58:29 +0000 (21:58 +0200)]
Fix more clang-tidy reported problems for performance-type-promotion-in-math-fn
Based on https://travis-ci.org/minetest/minetest/jobs/
361714253 output
Loïc Blot [Tue, 3 Apr 2018 16:16:17 +0000 (18:16 +0200)]
Fix various clang-tidy reported performance-type-promotion-in-math-fn
SmallJoker [Tue, 3 Apr 2018 09:15:58 +0000 (11:15 +0200)]
Selected ItemStack: Reduce black magic (#6520)
* Selected ItemStack: Reduce black magic
Better button variable value naming
Vitaliy [Tue, 3 Apr 2018 06:23:46 +0000 (09:23 +0300)]
Optimize entity-entity collision (#6587)
* Add IrrLicht type aliases
* Add hash for IrrLicht vector
* Add object map
Loïc Blot [Mon, 2 Apr 2018 21:51:08 +0000 (23:51 +0200)]
Fix many issues reported by clang-tidy (#7189)
* 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
SmallJoker [Sun, 1 Apr 2018 20:50:26 +0000 (22:50 +0200)]
'fix' LINT, use InventoryLocation==
SmallJoker [Sat, 31 Mar 2018 11:47:19 +0000 (13:47 +0200)]
Run callback in IDropAction, refactor function arguments
SmallJoker [Sat, 31 Mar 2018 10:30:43 +0000 (12:30 +0200)]
Add player inventory callbacks
you [Mon, 2 Apr 2018 14:52:07 +0000 (16:52 +0200)]
Formspecs: Use mouse wheel to pick up and deposit single items
Loïc Blot [Sun, 1 Apr 2018 21:57:55 +0000 (23:57 +0200)]
LINT: add clang-tidy step (#6295)
* Implement new travis clang-tidy build step
* This step enable some rules and enforce one rule as error
* This permits to have some C++ quality rules based on clang & clang contributor guidelines
* Fix clang-tidy reported problems on push_back -> emplace_back
you [Sat, 31 Mar 2018 12:48:38 +0000 (14:48 +0200)]
ObjectRef: Add add_velocity() (#3208)
Allow changing the velocity of objects relatively to their current velocity
SmallJoker [Sat, 31 Mar 2018 12:33:54 +0000 (14:33 +0200)]
event.h: Fix import GCC warning caused by
ce87310
Loïc Blot [Fri, 30 Mar 2018 16:32:52 +0000 (18:32 +0200)]
Client eventmanager refactor (#7179)
* 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