ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/friend.C
(Generate patch)

Comparing deliantra/server/common/friend.C (file contents):
Revision 1.25 by root, Fri Mar 26 01:04:43 2010 UTC vs.
Revision 1.32 by root, Sat Nov 17 23:40:00 2018 UTC

1/* 1/*
2 * This file is part of Deliantra, the Roguelike Realtime MMORPG. 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 * 3 *
4 * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team
4 * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 5 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * Copyright (©) 2002 Mark Wedel & Crossfire Development Team 6 * Copyright (©) 2002 Mark Wedel & Crossfire Development Team
6 * Copyright (©) 1992 Frank Tore Johansen 7 * Copyright (©) 1992 Frank Tore Johansen
7 * 8 *
8 * Deliantra is free software: you can redistribute it and/or modify it under 9 * Deliantra is free software: you can redistribute it and/or modify it under
9 * the terms of the Affero GNU General Public License as published by the 10 * the terms of the Affero GNU General Public License as published by the
10 * Free Software Foundation, either version 3 of the License, or (at your 11 * Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version. 12 * option) any later version.
12 * 13 *
13 * This program is distributed in the hope that it will be useful, 14 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details. 17 * GNU General Public License for more details.
17 * 18 *
18 * You should have received a copy of the Affero GNU General Public License 19 * You should have received a copy of the Affero GNU General Public License
19 * and the GNU General Public License along with this program. If not, see 20 * and the GNU General Public License along with this program. If not, see
20 * <http://www.gnu.org/licenses/>. 21 * <http://www.gnu.org/licenses/>.
21 * 22 *
22 * The authors can be reached via e-mail to <support@deliantra.net> 23 * The authors can be reached via e-mail to <support@deliantra.net>
23 */ 24 */
24 25
25#include <global.h> 26#include <global.h>
26 27
36 objectlink *ol; 37 objectlink *ol;
37 38
38 /* Add some error checking. This shouldn't happen, but the friendly 39 /* Add some error checking. This shouldn't happen, but the friendly
39 * object list usually isn't very long, and remove_friendly_object 40 * object list usually isn't very long, and remove_friendly_object
40 * won't remove it either. Plus, it is easier to put a breakpoint in 41 * won't remove it either. Plus, it is easier to put a breakpoint in
41 * the debugger here and see where the problem is happening. 42 * the debugger here and see where the problem is happening.
42 */ 43 */
43 for (ol = first_friendly_object; ol; ol = ol->next) 44 for (ol = first_friendly_object; ol; ol = ol->next)
44 { 45 {
45 if (ol->ob == op) 46 if (ol->ob == op)
46 { 47 {
61void 62void
62remove_friendly_object (object *op) 63remove_friendly_object (object *op)
63{ 64{
64 objectlink *obj; 65 objectlink *obj;
65 66
66 CLEAR_FLAG (op, FLAG_FRIENDLY); 67 op->clr_flag (FLAG_FRIENDLY);
67 68
68 if (op->type == GOLEM 69 if (op->type == GOLEM
69 && op->owner 70 && op->owner
70 && op->owner->contr 71 && op->owner->contr
71 && op->owner->contr->golem == op) 72 && op->owner->contr->golem == op)
117 int count = 0; 118 int count = 0;
118 119
119 for (obj = first_friendly_object; obj; obj = next) 120 for (obj = first_friendly_object; obj; obj = next)
120 { 121 {
121 next = obj->next; 122 next = obj->next;
122 if (QUERY_FLAG (obj->ob, FLAG_FREED) || !QUERY_FLAG (obj->ob, FLAG_FRIENDLY)) 123 if (obj->ob->flag [FLAG_FREED] || !obj->ob->flag [FLAG_FRIENDLY])
123 { 124 {
124 if (prev) 125 if (prev)
125 prev->next = obj->next; 126 prev->next = obj->next;
126 else 127 else
127 first_friendly_object = obj->next; 128 first_friendly_object = obj->next;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines