Ignore old entities from 0.3.

This commit is contained in:
Novatux 2015-02-17 15:01:54 +01:00
parent 54487b3e70
commit 24315db6ef
2 changed files with 7 additions and 1 deletions

View File

@ -26,12 +26,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
enum ActiveObjectType {
ACTIVEOBJECT_TYPE_INVALID = 0,
ACTIVEOBJECT_TYPE_TEST = 1,
// Deprecated stuff
ACTIVEOBJECT_TYPE_ITEM = 2,
// Compat layer, migrating objects from 0.3 to 0.4+
ACTIVEOBJECT_TYPE_RAT = 3,
ACTIVEOBJECT_TYPE_OERKKI1 = 4,
ACTIVEOBJECT_TYPE_FIREFLY = 5,
ACTIVEOBJECT_TYPE_MOBV2 = 6,
// End deprecated stuff
ACTIVEOBJECT_TYPE_LUAENTITY = 7,
// Special type, not stored as a static object
ACTIVEOBJECT_TYPE_PLAYER = 100,

View File

@ -46,6 +46,11 @@ ServerActiveObject* ServerActiveObject::create(ActiveObjectType type,
std::map<u16, Factory>::iterator n;
n = m_types.find(type);
if(n == m_types.end()) {
// These are 0.3 entity types, return without error.
if (ACTIVEOBJECT_TYPE_ITEM <= type && type <= ACTIVEOBJECT_TYPE_MOBV2) {
return NULL;
}
// If factory is not found, just return.
dstream<<"WARNING: ServerActiveObject: No factory for type="
<<type<<std::endl;