--- deliantra/server/common/anim.C 2007/04/12 14:18:04 1.22 +++ deliantra/server/common/anim.C 2007/06/04 13:03:59 1.26 @@ -1,25 +1,25 @@ /* - * CrossFire, A Multiplayer game for X-windows + * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2002-2003 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen + * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team + * Copyright (©) 2002-2003,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * Crossfire TRT is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * The authors can be reached via e-mail at + * You should have received a copy of the GNU General Public License along + * with Crossfire TRT; if not, write to the Free Software Foundation, Inc. 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * The authors can be reached via e-mail to */ /* This file contains animation related code. */ @@ -41,6 +41,9 @@ animation & animation::create (const char *name, uint8 frames, uint8 facings) { + if (animations.size () == MAXANIMNUM) + cleanup ("trying to create new animation, but MAXANIMNUM animations in use."); + animations.push_back (animation ()); animation &anim = animations.back (); @@ -104,7 +107,7 @@ return; } - if (op->head) + if (op->head_ () != op) { dir = op->head->direction; @@ -164,7 +167,7 @@ * as such, disable it for players, as then players would become * visible. */ - else if (op->type != PLAYER && op->arch->clone.flag [FLAG_ALIVE]) + else if (op->type != PLAYER && op->arch->flag [FLAG_ALIVE]) { if (op->face == 0) { @@ -185,7 +188,7 @@ * as such, we call it last, and only call it for the head * piece, and not for the other tail pieces. */ - if (!op->head) + if (op->head_ () == op) update_object (op, UP_OBJ_FACE); }