Hello
First and foremost, I am glad that you arrived in 2018 without major problems.
What happened since the last blog post? Let me think and crawl through the last commits for you.
We adapted some features in CreatureAIScript and started writing the first draft for a documentation. We will make it available by the end of this month. If you see some important issues with CreatureAIScript and / or the pages on the wiki, let us know.
Use the override specifier if you want to override a virtual function. This specifier will help you, so use it. For more information, see this override specifier.
It was obvious that four different structures for CreatureAISpells are at least three too many. If we want to provide a standard for creature scripts, we should keep things as simple as possible, otherwise people will become confused about what they should and should not use to let their NPCs cast a spell. We combined and replaced these different solutions where it was possible.
After much discussion with Zallios, we were able to come up with 0 warnings with Visual Studio for WotLK and the Cata build on MSVC. Why is that important, you might ask ... well, we're planning to treat warnings as error in the future, to encourage every contributor to write good and clean code. This is just a small step in preventing people from doing stupid things, but in our opinion, it's a good start.
Evairfairy provided a new threading model based on STL. If we want to get rid of some peculiarities in our core, we should replace old custom code with the new STL where it is possible to achieve (better) predictable behavior. The new model has some code and therefore some files replaced. We also started replacing MersenneTwister with an STL implementation in shared / util.
Schnek updated MySQL and OpenSSL to the latest versions. OpenSSL requires Microsoft Visual Studio 2017 (15.5.X) because we want to support the newest compiler.
We still need to split several files to continue multiversion support, but it finally feels like we have done a lot to move on this year with this task.
That was it for now. I hope you have a good start to the year 2018.
Best regards
Zyres
First and foremost, I am glad that you arrived in 2018 without major problems.
What happened since the last blog post? Let me think and crawl through the last commits for you.
We adapted some features in CreatureAIScript and started writing the first draft for a documentation. We will make it available by the end of this month. If you see some important issues with CreatureAIScript and / or the pages on the wiki, let us know.
Use the override specifier if you want to override a virtual function. This specifier will help you, so use it. For more information, see this override specifier.
It was obvious that four different structures for CreatureAISpells are at least three too many. If we want to provide a standard for creature scripts, we should keep things as simple as possible, otherwise people will become confused about what they should and should not use to let their NPCs cast a spell. We combined and replaced these different solutions where it was possible.
After much discussion with Zallios, we were able to come up with 0 warnings with Visual Studio for WotLK and the Cata build on MSVC. Why is that important, you might ask ... well, we're planning to treat warnings as error in the future, to encourage every contributor to write good and clean code. This is just a small step in preventing people from doing stupid things, but in our opinion, it's a good start.
Evairfairy provided a new threading model based on STL. If we want to get rid of some peculiarities in our core, we should replace old custom code with the new STL where it is possible to achieve (better) predictable behavior. The new model has some code and therefore some files replaced. We also started replacing MersenneTwister with an STL implementation in shared / util.
Schnek updated MySQL and OpenSSL to the latest versions. OpenSSL requires Microsoft Visual Studio 2017 (15.5.X) because we want to support the newest compiler.
We still need to split several files to continue multiversion support, but it finally feels like we have done a lot to move on this year with this task.
That was it for now. I hope you have a good start to the year 2018.
Best regards
Zyres