Added new type-safe cast functions.

This, when properly used, should get rid of most memory corruption issues,
currently, casting types C-style with no checks leads to some abstract crashing.
Functionality is same as with dynamic_cast<>, but with no RTTI check - so when
casting into invalid type you will receive NULL, and most probably crash.
At the same time, i took the liberty to convert most Player* casts to ToPlayer().
Still needs crapload of casts being moved to new facility.

--HG--
branch : trunk
This commit is contained in:
raczman
2010-03-07 15:20:19 +01:00
parent aeebe57dc0
commit 91b8ee104e
30 changed files with 674 additions and 663 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ void DynamicObject::RemoveFromWorld()
if(Unit *caster = GetCaster())
{
if(caster->GetTypeId() == TYPEID_PLAYER)
((Player*)caster)->SetViewpoint(this, false);
caster->ToPlayer()->SetViewpoint(this, false);
}
else
{