* busy flag for DynTaskPool needs to be atomic
client SocketMutex is no more static
replaced Client::Delete with a deconstructor
Client::disconnect needs to be atomic
Multiple threads want to know UOClientListener::login_clients size.
CI action which runs with Thread/AddressSanitizer
updated some github actions
* listener client size getter
corrected sanitizer build name
* ubuntu22
* Jobnames
* jobname fix, workaround for ci link error?
* use dos cmd for workaround
* fix also winnopch ci
* more unique job names
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef
Next step should be to split them based on usage, since its currently a bit of include hell...
streamsaver: changed the writer to unique_ptr and move directly into queue
clienttransmit: move transmitdata directly into the queue
itemdesc: removed several external maps, added save_on_exit member
items: added pointer to itemdesc and use it directly
if set to 1 clients keep this listener port even after different gameserver select
Note: actually 1 is the old behaviour and 0 the old behaviour of pol.cfg ListenPort
Added: pol.cfg "UseSingleThreadLogin" 1/0 default 0
if set all prelogin clients are handled inside the listener thread and not inside an extra thread
this will reduce the amount of thread creates and destroys
movement code speedup: instead of storing new Mapshape simply store pointers
reordered some class/structs (data alignment)
Mutex class freebsd compatible
mdump: invalid scope for pointer
some Constructor member reorders for linux
some unsigned < 0 checks removed
some nullpointer checks added
CallOutgoingPacketExportedFunction splitted into critical and noncritical part
npcs now use there boost for movement checks