- Master/Worldrunable removed
- World Update loop now running on main (which was doing nothing before)
- Processpriority moved to shared
- Added a preliminary thread pool for boost::asio::io_service
Merge 2f8b8e55d9
Quoting original commit log:
This patch fixes 2 issues with the vmap extractor. 1) Incorrectly converts vertex coordinates. 2) Forgets to convert coordinates on triangle indices.
The effects of [1] causes models to be flipped. This isn't very noticeable on most trees as flipping a cylinder results in the same cylinder, but it's very noticeable on any non-symmetrical geometry (which, even includes trees, it's just harder to notice). [2] Didn't seem to be a problem when the coordinates were incorrectly converted, but when applying the correct conversion caused some triangles to be flipped (i.e. facing inwards).
You will need to re-extract vmaps and re-generate mmaps for these changes to take effect.
Fixes#417
Replaced ACE base AutoPtr class with shared_ptr
Note: worldserver currently broken due to MapUpdater threading failure (ACE ofc, what else could it be)
Note: Not exactly sure how shutdown should be handled, currently the queue clears itself out before shutting down
This might need to be changed if the queue should be fully processed before being deleted
Fix a double-delete crash added in c28345e279 caused by copy-constructor copying pointers across different Battleground instances.
Valgrind log:
Invalid read of size 8
at : Battleground::~Battleground() (Battleground.cpp:231)
by : BattlegroundWS::~BattlegroundWS() (BattlegroundWS.cpp:74)
by : BattlegroundWS::~BattlegroundWS() (BattlegroundWS.cpp:74)
by : BattlegroundMgr::Update(unsigned int) (BattlegroundMgr.cpp:103)
by : World::Update(unsigned int) (World.cpp:2067)
Address 0x5675d140 is 0 bytes inside a block of size 24 free'd
at : operator delete(void*) (vg_replace_malloc.c:509)
by : ArenaTeamScore::~ArenaTeamScore() (ArenaScore.h:64)
by : Battleground::~Battleground() (Battleground.cpp:231)
by : BattlegroundWS::~BattlegroundWS() (BattlegroundWS.cpp:74)
by : BattlegroundWS::~BattlegroundWS() (BattlegroundWS.cpp:74)
by : BattlegroundMgr::Update(unsigned int) (BattlegroundMgr.cpp:103)